[cpl-plugin-sinfo] 02/05: Remove unneeded API documentation
Ole Streicher
olebole-guest at moszumanska.debian.org
Tue Dec 3 08:57:23 UTC 2013
This is an automated email from the git hooks/post-receive script.
olebole-guest pushed a commit to branch debian
in repository cpl-plugin-sinfo.
commit dce81d3ac8155423d1e401a5cd26da7c81462e1e
Author: Ole Streicher <debian at liska.ath.cx>
Date: Tue Dec 3 09:39:57 2013 +0100
Remove unneeded API documentation
---
html/bc_s.png | Bin 680 -> 0 bytes
html/bdwn.png | Bin 147 -> 0 bytes
html/closed.png | Bin 132 -> 0 bytes
html/dir_5817a01c6dda84cccc27ae90d5d981a9.html | 343 -
html/dir_9dbeae34d65cadb5c6915b8c80494485.html | 95 -
html/dir_b351cdfeb4656d7d168dc72b273024e7.html | 92 -
html/doxygen.css | 1156 ----
html/doxygen.png | Bin 3779 -> 0 bytes
html/dynsections.js | 78 -
html/files.html | 424 --
html/ftv2blank.png | Bin 86 -> 0 bytes
html/ftv2cl.png | Bin 453 -> 0 bytes
html/ftv2doc.png | Bin 746 -> 0 bytes
html/ftv2folderclosed.png | Bin 616 -> 0 bytes
html/ftv2folderopen.png | Bin 597 -> 0 bytes
html/ftv2lastnode.png | Bin 86 -> 0 bytes
html/ftv2link.png | Bin 746 -> 0 bytes
html/ftv2mlastnode.png | Bin 246 -> 0 bytes
html/ftv2mnode.png | Bin 246 -> 0 bytes
html/ftv2mo.png | Bin 403 -> 0 bytes
html/ftv2node.png | Bin 86 -> 0 bytes
html/ftv2ns.png | Bin 388 -> 0 bytes
html/ftv2plastnode.png | Bin 229 -> 0 bytes
html/ftv2pnode.png | Bin 229 -> 0 bytes
html/ftv2splitbar.png | Bin 314 -> 0 bytes
html/ftv2vertline.png | Bin 86 -> 0 bytes
html/group__irplib__calib.html | 390 --
html/group__irplib__cat.html | 278 -
html/group__irplib__distortion.html | 43 -
html/group__irplib__flat.html | 150 -
html/group__irplib__framelist.html | 1031 ---
html/group__irplib__oddeven.html | 127 -
html/group__irplib__plugin.html | 45 -
html/group__irplib__polynomial.html | 268 -
html/group__irplib__ppm.html | 143 -
html/group__irplib__slitpos.html | 109 -
html/group__irplib__spectrum.html | 190 -
html/group__irplib__stdstar.html | 623 --
html/group__irplib__strehl.html | 43 -
html/group__irplib__utils.html | 1316 ----
html/group__irplib__wavecal.html | 976 ---
html/group__irplib__wcs.html | 43 -
html/group__irplib__wlxcorr.html | 45 -
html/group__sinfo__absolute.html | 43 -
html/group__sinfo__absolute__utils.html | 44 -
html/group__sinfo__bad__pix__search.html | 172 -
html/group__sinfo__balance.html | 44 -
html/group__sinfo__baryvel.html | 45 -
html/group__sinfo__boltzmann.html | 515 --
html/group__sinfo__coltilt.html | 44 -
html/group__sinfo__companion.html | 44 -
html/group__sinfo__cube__construct.html | 44 -
html/group__sinfo__dark__cfg.html | 44 -
html/group__sinfo__detlin.html | 44 -
html/group__sinfo__dfs.html | 44 -
html/group__sinfo__distortion.html | 43 -
html/group__sinfo__dump.html | 44 -
html/group__sinfo__error.html | 258 -
html/group__sinfo__finddist__cfg.html | 44 -
html/group__sinfo__fit.html | 44 -
html/group__sinfo__flat__cfg.html | 44 -
html/group__sinfo__flat__ini__file.html | 44 -
html/group__sinfo__focus.html | 44 -
html/group__sinfo__function__1d.html | 44 -
html/group__sinfo__globals.html | 44 -
html/group__sinfo__image__ops.html | 44 -
html/group__sinfo__img__noise.html | 43 -
html/group__sinfo__lamp__cfg.html | 44 -
html/group__sinfo__lamp__spec__config.html | 44 -
html/group__sinfo__msg.html | 562 --
html/group__sinfo__new__bezier.html | 44 -
html/group__sinfo__new__cube__ops.html | 44 -
html/group__sinfo__new__resampling.html | 44 -
html/group__sinfo__new__slit__pos.html | 44 -
html/group__sinfo__pfits.html | 44 -
html/group__sinfo__pro__save.html | 44 -
html/group__sinfo__produc__config.html | 44 -
html/group__sinfo__qr__companion.html | 44 -
html/group__sinfo__rec__detlin.html | 81 -
html/group__sinfo__rec__distortion.html | 82 -
html/group__sinfo__rec__jitter.html | 84 -
html/group__sinfo__rec__lingain.html | 43 -
html/group__sinfo__rec__mdark.html | 82 -
html/group__sinfo__rec__mflat.html | 82 -
html/group__sinfo__rec__objnod.html | 81 -
html/group__sinfo__rec__psf.html | 81 -
html/group__sinfo__rec__pupil.html | 81 -
html/group__sinfo__rec__stdstar.html | 81 -
html/group__sinfo__rec__utils.html | 43 -
html/group__sinfo__rec__wavecal.html | 82 -
html/group__sinfo__recipes.html | 44 -
html/group__sinfo__remove__crh__single.html | 44 -
html/group__sinfo__shift__images.html | 44 -
html/group__sinfo__skycor__config.html | 45 -
html/group__sinfo__spectrum__ops.html | 44 -
html/group__sinfo__step__distortion.html | 43 -
html/group__sinfo__step__jitter.html | 43 -
html/group__sinfo__step__objnod.html | 43 -
html/group__sinfo__step__psf.html | 43 -
html/group__sinfo__step__stdstar.html | 43 -
html/group__sinfo__tilt__cfg.html | 44 -
html/group__sinfo__time.html | 44 -
html/group__sinfo__tpl__dfs.html | 44 -
html/group__sinfo__tpl__utils.html | 43 -
html/group__sinfo__utilities.html | 44 -
html/group__sinfo__utils.html | 44 -
html/group__sinfo__utils__wrappers.html | 44 -
html/group__sinfo__utl__bp__mask__add.html | 44 -
html/group__sinfo__utl__cube2ima.html | 82 -
html/group__sinfo__utl__cube2spectrum.html | 82 -
html/group__sinfo__utl__cube__arith.html | 82 -
html/group__sinfo__utl__cube__combine.html | 82 -
html/group__sinfo__utl__cube__create.html | 81 -
html/group__sinfo__utl__cube__test.html | 81 -
html/group__sinfo__utl__eff.html | 81 -
html/group__sinfo__utl__illumcorr.html | 44 -
html/group__sinfo__utl__ima__arith.html | 81 -
html/group__sinfo__utl__ima__cube__ks__test.html | 81 -
html/group__sinfo__utl__ima__gauss.html | 81 -
html/group__sinfo__utl__ima__line__corr.html | 81 -
html/group__sinfo__utl__remove__crh__single.html | 81 -
html/group__sinfo__utl__skycor.html | 81 -
html/group__sinfo__utl__skymap.html | 81 -
...info__utl__spectrum__divide__by__blackbody.html | 82 -
...p__sinfo__utl__spectrum__wavelength__shift.html | 82 -
html/group__sinfo__utl__stdstars.html | 43 -
html/group__sinfo__utl__table__ex.html | 81 -
html/group__sinfo__utl__table__test.html | 43 -
html/group__spiffi__general__config.html | 44 -
html/index.html | 49 -
html/irplib__calib_8c_source.html | 634 --
html/irplib__calib_8h_source.html | 96 -
html/irplib__cat_8c_source.html | 446 --
html/irplib__cat_8h_source.html | 104 -
html/irplib__distortion_8c_source.html | 1298 ----
html/irplib__distortion_8h_source.html | 91 -
html/irplib__flat_8c_source.html | 373 --
html/irplib__flat_8h_source.html | 87 -
html/irplib__framelist_8c_source.html | 1002 ---
html/irplib__framelist_8h_source.html | 154 -
html/irplib__hist_8c_source.html | 397 --
html/irplib__hist_8h_source.html | 140 -
html/irplib__ksigma__clip_8c_source.html | 254 -
html/irplib__ksigma__clip_8h_source.html | 99 -
html/irplib__ksigma__clip__body_8h_source.html | 154 -
html/irplib__match__cats_8c_source.html | 232 -
html/irplib__match__cats_8h_source.html | 93 -
html/irplib__mkmaster_8c_source.html | 516 --
html/irplib__mkmaster_8h_source.html | 100 -
html/irplib__oddeven_8c_source.html | 344 -
html/irplib__oddeven_8h_source.html | 87 -
html/irplib__plugin_8c_source.html | 1074 ----
html/irplib__plugin_8h_source.html | 140 -
html/irplib__polynomial_8c_source.html | 1282 ----
html/irplib__polynomial_8h_source.html | 117 -
html/irplib__ppm_8c_source.html | 500 --
html/irplib__ppm_8h_source.html | 87 -
html/irplib__slitpos_8c_source.html | 541 --
html/irplib__slitpos_8h_source.html | 86 -
html/irplib__spectrum_8c_source.html | 600 --
html/irplib__spectrum_8h_source.html | 106 -
html/irplib__stdstar_8c_source.html | 761 ---
html/irplib__stdstar_8h_source.html | 127 -
html/irplib__strehl_8c_source.html | 708 ---
html/irplib__strehl_8h_source.html | 122 -
html/irplib__utils_8c_source.html | 1301 ----
html/irplib__utils_8h_source.html | 551 --
html/irplib__wavecal_8c_source.html | 1576 -----
html/irplib__wavecal_8h_source.html | 225 -
html/irplib__wavecal__impl_8h_source.html | 103 -
html/irplib__wcs_8c_source.html | 342 -
html/irplib__wcs_8h_source.html | 113 -
html/irplib__wlxcorr_8c_source.html | 1133 ----
html/irplib__wlxcorr_8h_source.html | 120 -
html/jquery.js | 8 -
html/modules.html | 150 -
html/nav_f.png | Bin 153 -> 0 bytes
html/nav_g.png | Bin 108 -> 0 bytes
html/nav_h.png | Bin 98 -> 0 bytes
html/open.png | Bin 123 -> 0 bytes
html/recipes_2sinfo__utl__cube2ima_8c_source.html | 232 -
...cipes_2sinfo__utl__cube2spectrum_8c_source.html | 306 -
...recipes_2sinfo__utl__cube__arith_8c_source.html | 248 -
...cipes_2sinfo__utl__cube__combine_8c_source.html | 265 -
..._spectrum__divide__by__blackbody_8c_source.html | 223 -
...utl__spectrum__wavelength__shift_8c_source.html | 238 -
html/sinfo__absolute_8c_source.html | 3245 ----------
html/sinfo__absolute_8h_source.html | 186 -
html/sinfo__atmo__disp_8c_source.html | 375 --
html/sinfo__atmo__disp_8h_source.html | 117 -
html/sinfo__bad__cfg_8c_source.html | 102 -
html/sinfo__bad__cfg_8h_source.html | 158 -
html/sinfo__bad__ini_8h_source.html | 102 -
html/sinfo__baddist__ini__by__cpl_8c_source.html | 302 -
html/sinfo__baddist__ini__by__cpl_8h_source.html | 103 -
html/sinfo__badnorm__ini__by__cpl_8c_source.html | 326 -
html/sinfo__badnorm__ini__by__cpl_8h_source.html | 97 -
html/sinfo__badsky__cfg_8c_source.html | 100 -
html/sinfo__badsky__cfg_8h_source.html | 154 -
html/sinfo__badsky__ini__by__cpl_8c_source.html | 291 -
html/sinfo__badsky__ini__by__cpl_8h_source.html | 97 -
html/sinfo__balance_8c_source.html | 177 -
html/sinfo__baryvel_8c_source.html | 1072 ----
html/sinfo__baryvel_8h_source.html | 108 -
html/sinfo__boltzmann_8c_source.html | 2323 -------
html/sinfo__bp__config_8c_source.html | 109 -
html/sinfo__bp__config_8h_source.html | 84 -
html/sinfo__bp__dist__config_8c_source.html | 301 -
html/sinfo__bp__dist__config_8h_source.html | 88 -
html/sinfo__bp__lin_8c_source.html | 400 --
html/sinfo__bp__lin_8h_source.html | 98 -
html/sinfo__bp__lin__config_8c_source.html | 176 -
html/sinfo__bp__lin__config_8h_source.html | 84 -
html/sinfo__bp__noise_8c_source.html | 182 -
html/sinfo__bp__noise_8h_source.html | 98 -
html/sinfo__bp__noise__config_8c_source.html | 145 -
html/sinfo__bp__noise__config_8h_source.html | 84 -
html/sinfo__bp__norm_8c_source.html | 400 --
html/sinfo__bp__norm_8h_source.html | 101 -
html/sinfo__bp__norm__config_8c_source.html | 302 -
html/sinfo__bp__norm__config_8h_source.html | 88 -
html/sinfo__bp__sky__config_8c_source.html | 312 -
html/sinfo__bp__sky__config_8h_source.html | 85 -
html/sinfo__coltilt_8c_source.html | 1160 ----
html/sinfo__coltilt_8h_source.html | 149 -
html/sinfo__companion_8c_source.html | 85 -
html/sinfo__compare__tags_8h_source.html | 75 -
html/sinfo__cpl__size_8h_source.html | 64 -
html/sinfo__cube__construct_8c_source.html | 3299 ----------
html/sinfo__cube__construct_8h_source.html | 183 -
html/sinfo__cubecreate__ini_8h_source.html | 92 -
html/sinfo__dark__cfg_8c_source.html | 100 -
html/sinfo__dark__cfg_8h_source.html | 140 -
html/sinfo__dark__config_8c_source.html | 246 -
html/sinfo__dark__config_8h_source.html | 83 -
html/sinfo__dark__ini_8h_source.html | 94 -
html/sinfo__dark__ini__by__cpl_8c_source.html | 290 -
html/sinfo__dark__ini__by__cpl_8h_source.html | 94 -
html/sinfo__define__opt_8h_source.html | 76 -
html/sinfo__detlin_8c_source.html | 1157 ----
html/sinfo__detlin_8h_source.html | 164 -
html/sinfo__detlin__cfg_8c_source.html | 98 -
html/sinfo__detlin__cfg_8h_source.html | 134 -
html/sinfo__detlin__ini_8h_source.html | 95 -
html/sinfo__detlin__ini__by__cpl_8c_source.html | 265 -
html/sinfo__detlin__ini__by__cpl_8h_source.html | 96 -
html/sinfo__detnoise__cfg_8c_source.html | 100 -
html/sinfo__detnoise__cfg_8h_source.html | 123 -
html/sinfo__detnoise__ini_8h_source.html | 98 -
html/sinfo__detnoise__ini__by__cpl_8c_source.html | 230 -
html/sinfo__detnoise__ini__by__cpl_8h_source.html | 97 -
html/sinfo__dfs_8c_source.html | 4251 -------------
html/sinfo__dfs_8h_source.html | 99 -
html/sinfo__distortion_8c_source.html | 1544 -----
html/sinfo__distortion_8h_source.html | 122 -
html/sinfo__distortion__config_8c_source.html | 584 --
html/sinfo__distortion__config_8h_source.html | 79 -
html/sinfo__dump_8c_source.html | 411 --
html/sinfo__dump_8h_source.html | 131 -
html/sinfo__error_8h_source.html | 170 -
html/sinfo__fft__base_8c_source.html | 222 -
html/sinfo__fft__base_8h_source.html | 109 -
html/sinfo__file__handling_8c_source.html | 97 -
html/sinfo__file__handling_8h_source.html | 75 -
html/sinfo__finddist__cfg_8c_source.html | 99 -
html/sinfo__finddist__cfg_8h_source.html | 189 -
html/sinfo__finddist__ini_8h_source.html | 94 -
html/sinfo__finddist__ini__by__cpl_8c_source.html | 490 --
html/sinfo__finddist__ini__by__cpl_8h_source.html | 94 -
html/sinfo__fit_8c_source.html | 419 --
html/sinfo__fit_8h_source.html | 85 -
html/sinfo__fit__curve_8c_source.html | 177 -
html/sinfo__fit__curve_8h_source.html | 104 -
html/sinfo__flat__cfg_8c_source.html | 101 -
html/sinfo__flat__cfg_8h_source.html | 191 -
html/sinfo__flat__ini_8c_source.html | 593 --
html/sinfo__flat__ini_8h_source.html | 95 -
html/sinfo__flat__ini__by__cpl_8c_source.html | 499 --
html/sinfo__flat__ini__by__cpl_8h_source.html | 100 -
html/sinfo__focus_8c_source.html | 1404 -----
html/sinfo__focus_8h_source.html | 139 -
html/sinfo__focus__cfg_8c_source.html | 100 -
html/sinfo__focus__cfg_8h_source.html | 168 -
...fo__focus__determination__config_8c_source.html | 337 -
...fo__focus__determination__config_8h_source.html | 83 -
html/sinfo__focus__ini_8h_source.html | 96 -
html/sinfo__focus__ini__by__cpl_8c_source.html | 320 -
html/sinfo__focus__ini__by__cpl_8h_source.html | 94 -
html/sinfo__function__1d_8c_source.html | 755 ---
html/sinfo__function__1d_8h_source.html | 185 -
html/sinfo__functions_8h_source.html | 320 -
html/sinfo__general__config_8c_source.html | 138 -
html/sinfo__general__config_8h_source.html | 84 -
html/sinfo__globals_8c_source.html | 216 -
html/sinfo__globals_8h_source.html | 233 -
html/sinfo__hidden_8h_source.html | 159 -
html/sinfo__image__ops_8c_source.html | 3148 ----------
html/sinfo__image__ops_8h_source.html | 226 -
html/sinfo__img__noise_8c_source.html | 171 -
html/sinfo__ipow_8c_source.html | 114 -
html/sinfo__ipow_8h_source.html | 89 -
html/sinfo__irplib__cpl__wrp_8h_source.html | 101 -
html/sinfo__key__names_8h_source.html | 275 -
html/sinfo__lamp__cfg_8c_source.html | 100 -
html/sinfo__lamp__cfg_8h_source.html | 127 -
html/sinfo__lamp__flats__config_8c_source.html | 409 --
html/sinfo__lamp__flats__config_8h_source.html | 86 -
...nfo__lamp__flats__hidden__config_8c_source.html | 123 -
...nfo__lamp__flats__hidden__config_8h_source.html | 86 -
html/sinfo__lamp__ini_8c_source.html | 395 --
html/sinfo__lamp__ini_8h_source.html | 94 -
html/sinfo__lamp__ini__by__cpl_8c_source.html | 239 -
html/sinfo__lamp__ini__by__cpl_8h_source.html | 92 -
html/sinfo__lamp__spec__config_8c_source.html | 165 -
html/sinfo__lamp__spec__config_8h_source.html | 82 -
html/sinfo__local__types_8h_source.html | 178 -
html/sinfo__matrix_8c_source.html | 360 --
html/sinfo__matrix_8h_source.html | 154 -
html/sinfo__median_8c_source.html | 278 -
html/sinfo__median_8h_source.html | 134 -
html/sinfo__merge_8c_source.html | 1016 ---
html/sinfo__merge_8h_source.html | 124 -
html/sinfo__msg_8c_source.html | 278 -
html/sinfo__msg_8h_source.html | 150 -
html/sinfo__new__add__bp__map_8c_source.html | 317 -
html/sinfo__new__add__bp__map_8h_source.html | 102 -
html/sinfo__new__bezier_8c_source.html | 1576 -----
html/sinfo__new__bezier_8h_source.html | 230 -
html/sinfo__new__cube__ops_8c_source.html | 5055 ---------------
html/sinfo__new__cube__ops_8h_source.html | 347 --
html/sinfo__new__cubes__build_8c_source.html | 960 ---
html/sinfo__new__cubes__build_8h_source.html | 122 -
html/sinfo__new__cubes__coadd_8c_source.html | 680 --
html/sinfo__new__cubes__coadd_8h_source.html | 117 -
html/sinfo__new__dark_8c_source.html | 756 ---
html/sinfo__new__dark_8h_source.html | 111 -
html/sinfo__new__find__distortions_8c_source.html | 797 ---
html/sinfo__new__find__distortions_8h_source.html | 112 -
html/sinfo__new__lamp__flats_8c_source.html | 1048 ----
html/sinfo__new__lamp__flats_8h_source.html | 124 -
html/sinfo__new__nst_8c_source.html | 429 --
html/sinfo__new__nst_8h_source.html | 134 -
html/sinfo__new__objnod_8c_source.html | 915 ---
html/sinfo__new__objnod_8h_source.html | 117 -
...o__new__prepare__stacked__frames_8c_source.html | 1446 -----
...o__new__prepare__stacked__frames_8h_source.html | 128 -
html/sinfo__new__psf_8c_source.html | 2548 --------
html/sinfo__new__psf_8h_source.html | 202 -
html/sinfo__new__resampling_8c_source.html | 483 --
html/sinfo__new__resampling_8h_source.html | 166 -
html/sinfo__new__slit__pos_8c_source.html | 765 ---
html/sinfo__new__slit__pos_8h_source.html | 177 -
html/sinfo__new__stdstar_8c_source.html | 699 ---
html/sinfo__new__stdstar_8h_source.html | 115 -
html/sinfo__new__wave__cal__slit2_8c_source.html | 894 ---
html/sinfo__new__wave__cal__slit2_8h_source.html | 180 -
...info__north__south__test__config_8c_source.html | 195 -
...info__north__south__test__config_8h_source.html | 81 -
html/sinfo__ns__cfg_8c_source.html | 121 -
html/sinfo__ns__cfg_8h_source.html | 151 -
html/sinfo__ns__ini_8h_source.html | 98 -
html/sinfo__ns__ini__by__cpl_8c_source.html | 391 --
html/sinfo__ns__ini__by__cpl_8h_source.html | 98 -
html/sinfo__object__cfg_8c_source.html | 122 -
html/sinfo__object__cfg_8h_source.html | 193 -
html/sinfo__object__ini_8h_source.html | 94 -
html/sinfo__objnod__config_8c_source.html | 445 --
html/sinfo__objnod__config_8h_source.html | 79 -
html/sinfo__objnod__ini__by__cpl_8c_source.html | 452 --
html/sinfo__objnod__ini__by__cpl_8h_source.html | 96 -
html/sinfo__objspider__config_8c_source.html | 345 -
html/sinfo__objspider__config_8h_source.html | 80 -
html/sinfo__objspider__ini__by__cpl_8c_source.html | 425 --
html/sinfo__objspider__ini__by__cpl_8h_source.html | 94 -
html/sinfo__pfits_8c_source.html | 774 ---
html/sinfo__pfits_8h_source.html | 174 -
html/sinfo__pixel__handling_8c_source.html | 167 -
html/sinfo__pixel__handling_8h_source.html | 92 -
html/sinfo__poly2d_8c_source.html | 103 -
html/sinfo__poly2d_8h_source.html | 121 -
...prepare__stacked__frames__config_8c_source.html | 390 --
...prepare__stacked__frames__config_8h_source.html | 80 -
html/sinfo__pro__save_8c_source.html | 1080 ----
html/sinfo__pro__save_8h_source.html | 259 -
html/sinfo__pro__types_8h_source.html | 238 -
html/sinfo__product__config_8c_source.html | 112 -
html/sinfo__product__config_8h_source.html | 84 -
html/sinfo__psf__cfg_8c_source.html | 119 -
html/sinfo__psf__cfg_8h_source.html | 139 -
html/sinfo__psf__config_8c_source.html | 105 -
html/sinfo__psf__config_8h_source.html | 79 -
html/sinfo__psf__ini_8h_source.html | 94 -
html/sinfo__psf__ini__by__cpl_8c_source.html | 236 -
html/sinfo__psf__ini__by__cpl_8h_source.html | 90 -
html/sinfo__qr_8c_source.html | 308 -
html/sinfo__raw__types_8h_source.html | 160 -
html/sinfo__rec__detlin_8c_source.html | 299 -
html/sinfo__rec__distortion_8c_source.html | 859 ---
html/sinfo__rec__jitter_8c_source.html | 397 --
html/sinfo__rec__lingain_8c_source.html | 214 -
html/sinfo__rec__mdark_8c_source.html | 455 --
html/sinfo__rec__mdark__detmon_8c_source.html | 134 -
html/sinfo__rec__mflat_8c_source.html | 327 -
html/sinfo__rec__objnod_8c_source.html | 330 -
html/sinfo__rec__psf_8c_source.html | 338 -
html/sinfo__rec__pupil_8c_source.html | 311 -
html/sinfo__rec__stdstar_8c_source.html | 347 --
html/sinfo__rec__utils_8c_source.html | 1412 -----
html/sinfo__rec__utils_8h_source.html | 155 -
html/sinfo__rec__wavecal_8c_source.html | 460 --
html/sinfo__recipes_8c_source.html | 1288 ----
html/sinfo__recipes_8h_source.html | 194 -
html/sinfo__ref__types_8h_source.html | 93 -
html/sinfo__remove__crh__single_8c_source.html | 514 --
html/sinfo__remove__crh__single_8h_source.html | 54 -
html/sinfo__resampling_8c_source.html | 320 -
html/sinfo__resampling_8h_source.html | 132 -
html/sinfo__shift__images_8c_source.html | 780 ---
html/sinfo__shift__images_8h_source.html | 128 -
html/sinfo__skycor_8c_source.html | 6572 --------------------
html/sinfo__skycor_8h_source.html | 154 -
html/sinfo__skycor__config_8c_source.html | 256 -
html/sinfo__skycor__config_8h_source.html | 84 -
html/sinfo__solve__poly__root_8c_source.html | 168 -
html/sinfo__solve__poly__root_8h_source.html | 124 -
html/sinfo__spectrum__ops_8c_source.html | 2451 --------
html/sinfo__spectrum__ops_8h_source.html | 241 -
html/sinfo__spiffi__types_8h_source.html | 199 -
html/sinfo__stack__cfg_8c_source.html | 106 -
html/sinfo__stack__cfg_8h_source.html | 210 -
html/sinfo__stack__ini_8h_source.html | 118 -
html/sinfo__stack__ini__by__cpl_8c_source.html | 675 --
html/sinfo__stack__ini__by__cpl_8h_source.html | 104 -
html/sinfo__stacked__hidden__config_8c_source.html | 117 -
html/sinfo__stacked__hidden__config_8h_source.html | 80 -
html/sinfo__standard__star__config_8c_source.html | 187 -
html/sinfo__standard__star__config_8h_source.html | 80 -
html/sinfo__standstar__cfg_8c_source.html | 123 -
html/sinfo__standstar__cfg_8h_source.html | 182 -
html/sinfo__standstar__ini_8h_source.html | 109 -
html/sinfo__standstar__ini__by__cpl_8c_source.html | 279 -
html/sinfo__standstar__ini__by__cpl_8h_source.html | 109 -
html/sinfo__star__index_8c_source.html | 369 --
html/sinfo__star__index_8h_source.html | 109 -
html/sinfo__step__distortion_8c_source.html | 349 --
html/sinfo__step__jitter_8c_source.html | 397 --
html/sinfo__step__objnod_8c_source.html | 214 -
html/sinfo__step__psf_8c_source.html | 228 -
html/sinfo__step__stdstar_8c_source.html | 313 -
html/sinfo__svd_8c_source.html | 472 --
html/sinfo__svd_8h_source.html | 131 -
html/sinfo__tilt__cfg_8c_source.html | 122 -
html/sinfo__tilt__cfg_8h_source.html | 136 -
html/sinfo__tilt__ini_8h_source.html | 99 -
html/sinfo__time_8c_source.html | 232 -
html/sinfo__time_8h_source.html | 84 -
html/sinfo__tpl__dfs_8c_source.html | 273 -
html/sinfo__tpl__dfs_8h_source.html | 121 -
html/sinfo__tpl__utils_8c_source.html | 192 -
html/sinfo__tpl__utils_8h_source.html | 112 -
html/sinfo__utilities_8c_source.html | 1106 ----
html/sinfo__utilities_8h_source.html | 261 -
html/sinfo__utilities__scired_8c_source.html | 1900 ------
html/sinfo__utilities__scired_8h_source.html | 193 -
html/sinfo__utils_8c_source.html | 159 -
html/sinfo__utils_8h_source.html | 146 -
html/sinfo__utils__wrappers_8c_source.html | 366 --
html/sinfo__utils__wrappers_8h_source.html | 131 -
html/sinfo__utl__bp__mask__add_8c_source.html | 283 -
html/sinfo__utl__cube2ima_8h_source.html | 89 -
html/sinfo__utl__cube2spectrum_8h_source.html | 91 -
html/sinfo__utl__cube__arith_8h_source.html | 90 -
html/sinfo__utl__cube__combine_8h_source.html | 90 -
html/sinfo__utl__cube__create_8c_source.html | 682 --
html/sinfo__utl__cube__test_8c_source.html | 288 -
html/sinfo__utl__eff_8c_source.html | 310 -
html/sinfo__utl__efficiency_8c_source.html | 706 ---
html/sinfo__utl__efficiency_8h_source.html | 138 -
html/sinfo__utl__illumcorr_8c_source.html | 1976 ------
html/sinfo__utl__ima__arith_8c_source.html | 434 --
.../sinfo__utl__ima__cube__ks__test_8c_source.html | 906 ---
html/sinfo__utl__ima__gauss_8c_source.html | 466 --
html/sinfo__utl__ima__line__corr_8c_source.html | 352 --
html/sinfo__utl__line__oh__select_8c_source.html | 308 -
.../sinfo__utl__remove__crh__single_8c_source.html | 462 --
html/sinfo__utl__seds_8c_source.html | 315 -
html/sinfo__utl__skycor_8c_source.html | 370 --
html/sinfo__utl__skymap_8c_source.html | 452 --
..._spectrum__divide__by__blackbody_8h_source.html | 93 -
...utl__spectrum__wavelength__shift_8h_source.html | 92 -
html/sinfo__utl__stdstars_8c_source.html | 314 -
html/sinfo__utl__table__ex_8c_source.html | 362 --
html/sinfo__utl__table__test_8c_source.html | 1164 ----
html/sinfo__vltPort_8h_source.html | 148 -
html/sinfo__wave__calibration_8c_source.html | 2669 --------
html/sinfo__wave__calibration_8h_source.html | 216 -
html/sinfo__wavecal_8c_source.html | 3621 -----------
html/sinfo__wavecal_8h_source.html | 201 -
html/sinfo__wavecal__cfg_8c_source.html | 120 -
html/sinfo__wavecal__cfg_8h_source.html | 204 -
html/sinfo__wavecal__config_8c_source.html | 465 --
html/sinfo__wavecal__config_8h_source.html | 79 -
html/sinfo__wavecal__ini_8h_source.html | 96 -
html/sinfo__wavecal__ini__by__cpl_8c_source.html | 576 --
html/sinfo__wavecal__ini__by__cpl_8h_source.html | 92 -
html/sinfo__wcal__functions_8c_source.html | 453 --
html/sinfo__wcal__functions_8h_source.html | 115 -
html/sinfoni_2sinfo__utl__cube2ima_8c_source.html | 277 -
...nfoni_2sinfo__utl__cube2spectrum_8c_source.html | 520 --
...sinfoni_2sinfo__utl__cube__arith_8c_source.html | 364 --
...nfoni_2sinfo__utl__cube__combine_8c_source.html | 412 --
..._spectrum__divide__by__blackbody_8c_source.html | 193 -
...utl__spectrum__wavelength__shift_8c_source.html | 221 -
html/tab_a.png | Bin 142 -> 0 bytes
html/tab_b.png | Bin 167 -> 0 bytes
html/tab_h.png | Bin 192 -> 0 bytes
html/tab_s.png | Bin 184 -> 0 bytes
html/tabs.css | 59 -
518 files changed, 163401 deletions(-)
diff --git a/html/bc_s.png b/html/bc_s.png
deleted file mode 100644
index 25e3beb..0000000
Binary files a/html/bc_s.png and /dev/null differ
diff --git a/html/bdwn.png b/html/bdwn.png
deleted file mode 100644
index 940a0b9..0000000
Binary files a/html/bdwn.png and /dev/null differ
diff --git a/html/closed.png b/html/closed.png
deleted file mode 100644
index 98cc2c9..0000000
Binary files a/html/closed.png and /dev/null differ
diff --git a/html/dir_5817a01c6dda84cccc27ae90d5d981a9.html b/html/dir_5817a01c6dda84cccc27ae90d5d981a9.html
deleted file mode 100644
index 3c1df35..0000000
--- a/html/dir_5817a01c6dda84cccc27ae90d5d981a9.html
+++ /dev/null
@@ -1,343 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: /scratch/data2/sinfoni/releases/pub/2.4.0/sinfop/sinfoni/ Directory Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfoni Directory Reference</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="files"></a>
-Files</h2></td></tr>
-<tr class="memitem:sinfo__absolute_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_absolute.c</b> <a href="sinfo__absolute_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__absolute_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_absolute.h</b> <a href="sinfo__absolute_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__atmo__disp_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_atmo_disp.c</b> <a href="sinfo__atmo__disp_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__atmo__disp_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_atmo_disp.h</b> <a href="sinfo__atmo__disp_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__bad__cfg_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_bad_cfg.c</b> <a href="sinfo__bad__cfg_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__bad__cfg_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_bad_cfg.h</b> <a href="sinfo__bad__cfg_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__bad__ini_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_bad_ini.h</b> <a href="sinfo__bad__ini_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__baddist__ini__by__cpl_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_baddist_ini_by_cpl.c</b> <a href="sinfo__baddist__ini__by__cpl_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__baddist__ini__by__cpl_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_baddist_ini_by_cpl.h</b> <a href="sinfo__baddist__ini__by__cpl_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__badnorm__ini__by__cpl_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_badnorm_ini_by_cpl.c</b> <a href="sinfo__badnorm__ini__by__cpl_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__badnorm__ini__by__cpl_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_badnorm_ini_by_cpl.h</b> <a href="sinfo__badnorm__ini__by__cpl_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__badsky__cfg_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_badsky_cfg.c</b> <a href="sinfo__badsky__cfg_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__badsky__cfg_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_badsky_cfg.h</b> <a href="sinfo__badsky__cfg_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__badsky__ini__by__cpl_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_badsky_ini_by_cpl.c</b> <a href="sinfo__badsky__ini__by__cpl_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__badsky__ini__by__cpl_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_badsky_ini_by_cpl.h</b> <a href="sinfo__badsky__ini__by__cpl_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__balance_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_balance.c</b> <a href="sinfo__balance_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__baryvel_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_baryvel.c</b> <a href="sinfo__baryvel_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__baryvel_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_baryvel.h</b> <a href="sinfo__baryvel_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__boltzmann_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_boltzmann.c</b> <a href="sinfo__boltzmann_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__bp__config_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_bp_config.c</b> <a href="sinfo__bp__config_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__bp__config_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_bp_config.h</b> <a href="sinfo__bp__config_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__bp__dist__config_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_bp_dist_config.c</b> <a href="sinfo__bp__dist__config_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__bp__dist__config_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_bp_dist_config.h</b> <a href="sinfo__bp__dist__config_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__bp__lin_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_bp_lin.c</b> <a href="sinfo__bp__lin_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__bp__lin_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_bp_lin.h</b> <a href="sinfo__bp__lin_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__bp__lin__config_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_bp_lin_config.c</b> <a href="sinfo__bp__lin__config_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__bp__lin__config_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_bp_lin_config.h</b> <a href="sinfo__bp__lin__config_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__bp__noise_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_bp_noise.c</b> <a href="sinfo__bp__noise_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__bp__noise_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_bp_noise.h</b> <a href="sinfo__bp__noise_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__bp__noise__config_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_bp_noise_config.c</b> <a href="sinfo__bp__noise__config_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__bp__noise__config_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_bp_noise_config.h</b> <a href="sinfo__bp__noise__config_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__bp__norm_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_bp_norm.c</b> <a href="sinfo__bp__norm_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__bp__norm_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_bp_norm.h</b> <a href="sinfo__bp__norm_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__bp__norm__config_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_bp_norm_config.c</b> <a href="sinfo__bp__norm__config_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__bp__norm__config_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_bp_norm_config.h</b> <a href="sinfo__bp__norm__config_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__bp__sky__config_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_bp_sky_config.c</b> <a href="sinfo__bp__sky__config_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__bp__sky__config_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_bp_sky_config.h</b> <a href="sinfo__bp__sky__config_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__coltilt_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_coltilt.c</b> <a href="sinfo__coltilt_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__coltilt_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_coltilt.h</b> <a href="sinfo__coltilt_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__companion_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_companion.c</b> <a href="sinfo__companion_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__compare__tags_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_compare_tags.h</b> <a href="sinfo__compare__tags_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__cpl__size_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_cpl_size.h</b> <a href="sinfo__cpl__size_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__cube__construct_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_cube_construct.c</b> <a href="sinfo__cube__construct_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__cube__construct_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_cube_construct.h</b> <a href="sinfo__cube__construct_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__cubecreate__ini_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_cubecreate_ini.h</b> <a href="sinfo__cubecreate__ini_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__dark__cfg_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_dark_cfg.c</b> <a href="sinfo__dark__cfg_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__dark__cfg_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_dark_cfg.h</b> <a href="sinfo__dark__cfg_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__dark__config_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_dark_config.c</b> <a href="sinfo__dark__config_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__dark__config_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_dark_config.h</b> <a href="sinfo__dark__config_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__dark__ini_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_dark_ini.h</b> <a href="sinfo__dark__ini_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__dark__ini__by__cpl_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_dark_ini_by_cpl.c</b> <a href="sinfo__dark__ini__by__cpl_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__dark__ini__by__cpl_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_dark_ini_by_cpl.h</b> <a href="sinfo__dark__ini__by__cpl_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__define__opt_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_define_opt.h</b> <a href="sinfo__define__opt_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__detlin_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_detlin.c</b> <a href="sinfo__detlin_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__detlin_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_detlin.h</b> <a href="sinfo__detlin_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__detlin__cfg_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_detlin_cfg.c</b> <a href="sinfo__detlin__cfg_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__detlin__cfg_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_detlin_cfg.h</b> <a href="sinfo__detlin__cfg_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__detlin__ini_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_detlin_ini.h</b> <a href="sinfo__detlin__ini_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__detlin__ini__by__cpl_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_detlin_ini_by_cpl.c</b> <a href="sinfo__detlin__ini__by__cpl_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__detlin__ini__by__cpl_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_detlin_ini_by_cpl.h</b> <a href="sinfo__detlin__ini__by__cpl_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__detnoise__cfg_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_detnoise_cfg.c</b> <a href="sinfo__detnoise__cfg_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__detnoise__cfg_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_detnoise_cfg.h</b> <a href="sinfo__detnoise__cfg_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__detnoise__ini_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_detnoise_ini.h</b> <a href="sinfo__detnoise__ini_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__detnoise__ini__by__cpl_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_detnoise_ini_by_cpl.c</b> <a href="sinfo__detnoise__ini__by__cpl_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__detnoise__ini__by__cpl_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_detnoise_ini_by_cpl.h</b> <a href="sinfo__detnoise__ini__by__cpl_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__dfs_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_dfs.c</b> <a href="sinfo__dfs_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__dfs_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_dfs.h</b> <a href="sinfo__dfs_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__distortion_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_distortion.c</b> <a href="sinfo__distortion_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__distortion_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_distortion.h</b> <a href="sinfo__distortion_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__distortion__config_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_distortion_config.c</b> <a href="sinfo__distortion__config_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__distortion__config_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_distortion_config.h</b> <a href="sinfo__distortion__config_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__dump_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_dump.c</b> <a href="sinfo__dump_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__dump_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_dump.h</b> <a href="sinfo__dump_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__error_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_error.h</b> <a href="sinfo__error_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__fft__base_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_fft_base.c</b> <a href="sinfo__fft__base_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__fft__base_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_fft_base.h</b> <a href="sinfo__fft__base_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__file__handling_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_file_handling.c</b> <a href="sinfo__file__handling_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__file__handling_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_file_handling.h</b> <a href="sinfo__file__handling_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__finddist__cfg_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_finddist_cfg.c</b> <a href="sinfo__finddist__cfg_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__finddist__cfg_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_finddist_cfg.h</b> <a href="sinfo__finddist__cfg_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__finddist__ini_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_finddist_ini.h</b> <a href="sinfo__finddist__ini_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__finddist__ini__by__cpl_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_finddist_ini_by_cpl.c</b> <a href="sinfo__finddist__ini__by__cpl_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__finddist__ini__by__cpl_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_finddist_ini_by_cpl.h</b> <a href="sinfo__finddist__ini__by__cpl_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__fit_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_fit.c</b> <a href="sinfo__fit_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__fit_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_fit.h</b> <a href="sinfo__fit_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__fit__curve_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_fit_curve.c</b> <a href="sinfo__fit__curve_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__fit__curve_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_fit_curve.h</b> <a href="sinfo__fit__curve_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__flat__cfg_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_flat_cfg.c</b> <a href="sinfo__flat__cfg_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__flat__cfg_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_flat_cfg.h</b> <a href="sinfo__flat__cfg_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__flat__ini_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_flat_ini.c</b> <a href="sinfo__flat__ini_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__flat__ini_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_flat_ini.h</b> <a href="sinfo__flat__ini_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__flat__ini__by__cpl_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_flat_ini_by_cpl.c</b> <a href="sinfo__flat__ini__by__cpl_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__flat__ini__by__cpl_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_flat_ini_by_cpl.h</b> <a href="sinfo__flat__ini__by__cpl_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__focus_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_focus.c</b> <a href="sinfo__focus_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__focus_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_focus.h</b> <a href="sinfo__focus_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__focus__cfg_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_focus_cfg.c</b> <a href="sinfo__focus__cfg_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__focus__cfg_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_focus_cfg.h</b> <a href="sinfo__focus__cfg_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__focus__determination__config_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_focus_determination_config.c</b> <a href="sinfo__focus__determination__config_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__focus__determination__config_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_focus_determination_config.h</b> <a href="sinfo__focus__determination__config_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__focus__ini_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_focus_ini.h</b> <a href="sinfo__focus__ini_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__focus__ini__by__cpl_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_focus_ini_by_cpl.c</b> <a href="sinfo__focus__ini__by__cpl_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__focus__ini__by__cpl_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_focus_ini_by_cpl.h</b> <a href="sinfo__focus__ini__by__cpl_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__function__1d_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_function_1d.c</b> <a href="sinfo__function__1d_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__function__1d_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_function_1d.h</b> <a href="sinfo__function__1d_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__functions_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_functions.h</b> <a href="sinfo__functions_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__general__config_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_general_config.c</b> <a href="sinfo__general__config_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__general__config_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_general_config.h</b> <a href="sinfo__general__config_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__globals_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_globals.c</b> <a href="sinfo__globals_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__globals_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_globals.h</b> <a href="sinfo__globals_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__hidden_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_hidden.h</b> <a href="sinfo__hidden_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__image__ops_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_image_ops.c</b> <a href="sinfo__image__ops_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__image__ops_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_image_ops.h</b> <a href="sinfo__image__ops_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__ipow_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_ipow.c</b> <a href="sinfo__ipow_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__ipow_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_ipow.h</b> <a href="sinfo__ipow_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__irplib__cpl__wrp_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_irplib_cpl_wrp.h</b> <a href="sinfo__irplib__cpl__wrp_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__key__names_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_key_names.h</b> <a href="sinfo__key__names_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__lamp__cfg_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_lamp_cfg.c</b> <a href="sinfo__lamp__cfg_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__lamp__cfg_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_lamp_cfg.h</b> <a href="sinfo__lamp__cfg_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__lamp__flats__config_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_lamp_flats_config.c</b> <a href="sinfo__lamp__flats__config_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__lamp__flats__config_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_lamp_flats_config.h</b> <a href="sinfo__lamp__flats__config_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__lamp__flats__hidden__config_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_lamp_flats_hidden_config.c</b> <a href="sinfo__lamp__flats__hidden__config_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__lamp__flats__hidden__config_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_lamp_flats_hidden_config.h</b> <a href="sinfo__lamp__flats__hidden__config_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__lamp__ini_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_lamp_ini.c</b> <a href="sinfo__lamp__ini_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__lamp__ini_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_lamp_ini.h</b> <a href="sinfo__lamp__ini_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__lamp__ini__by__cpl_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_lamp_ini_by_cpl.c</b> <a href="sinfo__lamp__ini__by__cpl_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__lamp__ini__by__cpl_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_lamp_ini_by_cpl.h</b> <a href="sinfo__lamp__ini__by__cpl_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__lamp__spec__config_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_lamp_spec_config.c</b> <a href="sinfo__lamp__spec__config_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__lamp__spec__config_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_lamp_spec_config.h</b> <a href="sinfo__lamp__spec__config_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__local__types_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_local_types.h</b> <a href="sinfo__local__types_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__matrix_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_matrix.c</b> <a href="sinfo__matrix_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__matrix_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_matrix.h</b> <a href="sinfo__matrix_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__median_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_median.c</b> <a href="sinfo__median_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__median_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_median.h</b> <a href="sinfo__median_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__merge_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_merge.c</b> <a href="sinfo__merge_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__merge_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_merge.h</b> <a href="sinfo__merge_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__msg_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_msg.c</b> <a href="sinfo__msg_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__msg_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_msg.h</b> <a href="sinfo__msg_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__add__bp__map_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_add_bp_map.c</b> <a href="sinfo__new__add__bp__map_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__add__bp__map_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_add_bp_map.h</b> <a href="sinfo__new__add__bp__map_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__bezier_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_bezier.c</b> <a href="sinfo__new__bezier_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__bezier_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_bezier.h</b> <a href="sinfo__new__bezier_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__cube__ops_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_cube_ops.c</b> <a href="sinfo__new__cube__ops_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__cube__ops_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_cube_ops.h</b> <a href="sinfo__new__cube__ops_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__cubes__build_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_cubes_build.c</b> <a href="sinfo__new__cubes__build_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__cubes__build_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_cubes_build.h</b> <a href="sinfo__new__cubes__build_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__cubes__coadd_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_cubes_coadd.c</b> <a href="sinfo__new__cubes__coadd_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__cubes__coadd_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_cubes_coadd.h</b> <a href="sinfo__new__cubes__coadd_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__dark_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_dark.c</b> <a href="sinfo__new__dark_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__dark_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_dark.h</b> <a href="sinfo__new__dark_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__find__distortions_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_find_distortions.c</b> <a href="sinfo__new__find__distortions_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__find__distortions_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_find_distortions.h</b> <a href="sinfo__new__find__distortions_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__lamp__flats_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_lamp_flats.c</b> <a href="sinfo__new__lamp__flats_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__lamp__flats_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_lamp_flats.h</b> <a href="sinfo__new__lamp__flats_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__nst_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_nst.c</b> <a href="sinfo__new__nst_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__nst_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_nst.h</b> <a href="sinfo__new__nst_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__objnod_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_objnod.c</b> <a href="sinfo__new__objnod_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__objnod_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_objnod.h</b> <a href="sinfo__new__objnod_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__prepare__stacked__frames_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_prepare_stacked_frames.c</b> <a href="sinfo__new__prepare__stacked__frames_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__prepare__stacked__frames_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_prepare_stacked_frames.h</b> <a href="sinfo__new__prepare__stacked__frames_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__psf_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_psf.c</b> <a href="sinfo__new__psf_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__psf_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_psf.h</b> <a href="sinfo__new__psf_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__resampling_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_resampling.c</b> <a href="sinfo__new__resampling_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__resampling_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_resampling.h</b> <a href="sinfo__new__resampling_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__slit__pos_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_slit_pos.c</b> <a href="sinfo__new__slit__pos_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__slit__pos_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_slit_pos.h</b> <a href="sinfo__new__slit__pos_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__stdstar_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_stdstar.c</b> <a href="sinfo__new__stdstar_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__stdstar_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_stdstar.h</b> <a href="sinfo__new__stdstar_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__wave__cal__slit2_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_wave_cal_slit2.c</b> <a href="sinfo__new__wave__cal__slit2_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__new__wave__cal__slit2_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_new_wave_cal_slit2.h</b> <a href="sinfo__new__wave__cal__slit2_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__north__south__test__config_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_north_south_test_config.c</b> <a href="sinfo__north__south__test__config_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__north__south__test__config_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_north_south_test_config.h</b> <a href="sinfo__north__south__test__config_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__ns__cfg_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_ns_cfg.c</b> <a href="sinfo__ns__cfg_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__ns__cfg_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_ns_cfg.h</b> <a href="sinfo__ns__cfg_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__ns__ini_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_ns_ini.h</b> <a href="sinfo__ns__ini_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__ns__ini__by__cpl_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_ns_ini_by_cpl.c</b> <a href="sinfo__ns__ini__by__cpl_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__ns__ini__by__cpl_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_ns_ini_by_cpl.h</b> <a href="sinfo__ns__ini__by__cpl_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__object__cfg_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_object_cfg.c</b> <a href="sinfo__object__cfg_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__object__cfg_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_object_cfg.h</b> <a href="sinfo__object__cfg_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__object__ini_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_object_ini.h</b> <a href="sinfo__object__ini_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__objnod__config_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_objnod_config.c</b> <a href="sinfo__objnod__config_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__objnod__config_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_objnod_config.h</b> <a href="sinfo__objnod__config_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__objnod__ini__by__cpl_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_objnod_ini_by_cpl.c</b> <a href="sinfo__objnod__ini__by__cpl_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__objnod__ini__by__cpl_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_objnod_ini_by_cpl.h</b> <a href="sinfo__objnod__ini__by__cpl_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__objspider__config_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_objspider_config.c</b> <a href="sinfo__objspider__config_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__objspider__config_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_objspider_config.h</b> <a href="sinfo__objspider__config_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__objspider__ini__by__cpl_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_objspider_ini_by_cpl.c</b> <a href="sinfo__objspider__ini__by__cpl_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__objspider__ini__by__cpl_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_objspider_ini_by_cpl.h</b> <a href="sinfo__objspider__ini__by__cpl_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__pfits_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_pfits.c</b> <a href="sinfo__pfits_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__pfits_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_pfits.h</b> <a href="sinfo__pfits_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__pixel__handling_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_pixel_handling.c</b> <a href="sinfo__pixel__handling_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__pixel__handling_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_pixel_handling.h</b> <a href="sinfo__pixel__handling_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__poly2d_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_poly2d.c</b> <a href="sinfo__poly2d_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__poly2d_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_poly2d.h</b> <a href="sinfo__poly2d_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__prepare__stacked__frames__config_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_prepare_stacked_frames_config.c</b> <a href="sinfo__prepare__stacked__frames__config_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__prepare__stacked__frames__config_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_prepare_stacked_frames_config.h</b> <a href="sinfo__prepare__stacked__frames__config_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__pro__save_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_pro_save.c</b> <a href="sinfo__pro__save_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__pro__save_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_pro_save.h</b> <a href="sinfo__pro__save_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__pro__types_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_pro_types.h</b> <a href="sinfo__pro__types_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__product__config_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_product_config.c</b> <a href="sinfo__product__config_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__product__config_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_product_config.h</b> <a href="sinfo__product__config_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__psf__cfg_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_psf_cfg.c</b> <a href="sinfo__psf__cfg_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__psf__cfg_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_psf_cfg.h</b> <a href="sinfo__psf__cfg_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__psf__config_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_psf_config.c</b> <a href="sinfo__psf__config_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__psf__config_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_psf_config.h</b> <a href="sinfo__psf__config_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__psf__ini_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_psf_ini.h</b> <a href="sinfo__psf__ini_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__psf__ini__by__cpl_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_psf_ini_by_cpl.c</b> <a href="sinfo__psf__ini__by__cpl_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__psf__ini__by__cpl_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_psf_ini_by_cpl.h</b> <a href="sinfo__psf__ini__by__cpl_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__qr_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_qr.c</b> <a href="sinfo__qr_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__raw__types_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_raw_types.h</b> <a href="sinfo__raw__types_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__rec__utils_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_rec_utils.c</b> <a href="sinfo__rec__utils_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__rec__utils_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_rec_utils.h</b> <a href="sinfo__rec__utils_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__recipes_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_recipes.c</b> <a href="sinfo__recipes_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__recipes_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_recipes.h</b> <a href="sinfo__recipes_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__ref__types_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_ref_types.h</b> <a href="sinfo__ref__types_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__remove__crh__single_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_remove_crh_single.c</b> <a href="sinfo__remove__crh__single_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__remove__crh__single_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_remove_crh_single.h</b> <a href="sinfo__remove__crh__single_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__resampling_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_resampling.c</b> <a href="sinfo__resampling_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__resampling_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_resampling.h</b> <a href="sinfo__resampling_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__shift__images_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_shift_images.c</b> <a href="sinfo__shift__images_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__shift__images_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_shift_images.h</b> <a href="sinfo__shift__images_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__skycor_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_skycor.c</b> <a href="sinfo__skycor_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__skycor_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_skycor.h</b> <a href="sinfo__skycor_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__skycor__config_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_skycor_config.c</b> <a href="sinfo__skycor__config_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__skycor__config_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_skycor_config.h</b> <a href="sinfo__skycor__config_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__solve__poly__root_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_solve_poly_root.c</b> <a href="sinfo__solve__poly__root_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__solve__poly__root_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_solve_poly_root.h</b> <a href="sinfo__solve__poly__root_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__spectrum__ops_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_spectrum_ops.c</b> <a href="sinfo__spectrum__ops_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__spectrum__ops_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_spectrum_ops.h</b> <a href="sinfo__spectrum__ops_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__spiffi__types_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_spiffi_types.h</b> <a href="sinfo__spiffi__types_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__stack__cfg_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_stack_cfg.c</b> <a href="sinfo__stack__cfg_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__stack__cfg_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_stack_cfg.h</b> <a href="sinfo__stack__cfg_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__stack__ini_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_stack_ini.h</b> <a href="sinfo__stack__ini_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__stack__ini__by__cpl_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_stack_ini_by_cpl.c</b> <a href="sinfo__stack__ini__by__cpl_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__stack__ini__by__cpl_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_stack_ini_by_cpl.h</b> <a href="sinfo__stack__ini__by__cpl_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__stacked__hidden__config_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_stacked_hidden_config.c</b> <a href="sinfo__stacked__hidden__config_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__stacked__hidden__config_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_stacked_hidden_config.h</b> <a href="sinfo__stacked__hidden__config_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__standard__star__config_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_standard_star_config.c</b> <a href="sinfo__standard__star__config_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__standard__star__config_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_standard_star_config.h</b> <a href="sinfo__standard__star__config_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__standstar__cfg_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_standstar_cfg.c</b> <a href="sinfo__standstar__cfg_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__standstar__cfg_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_standstar_cfg.h</b> <a href="sinfo__standstar__cfg_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__standstar__ini_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_standstar_ini.h</b> <a href="sinfo__standstar__ini_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__standstar__ini__by__cpl_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_standstar_ini_by_cpl.c</b> <a href="sinfo__standstar__ini__by__cpl_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__standstar__ini__by__cpl_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_standstar_ini_by_cpl.h</b> <a href="sinfo__standstar__ini__by__cpl_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__star__index_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_star_index.c</b> <a href="sinfo__star__index_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__star__index_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_star_index.h</b> <a href="sinfo__star__index_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__svd_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_svd.c</b> <a href="sinfo__svd_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__svd_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_svd.h</b> <a href="sinfo__svd_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__tilt__cfg_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_tilt_cfg.c</b> <a href="sinfo__tilt__cfg_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__tilt__cfg_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_tilt_cfg.h</b> <a href="sinfo__tilt__cfg_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__tilt__ini_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_tilt_ini.h</b> <a href="sinfo__tilt__ini_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__time_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_time.c</b> <a href="sinfo__time_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__time_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_time.h</b> <a href="sinfo__time_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__tpl__dfs_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_tpl_dfs.c</b> <a href="sinfo__tpl__dfs_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__tpl__dfs_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_tpl_dfs.h</b> <a href="sinfo__tpl__dfs_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__tpl__utils_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_tpl_utils.c</b> <a href="sinfo__tpl__utils_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__tpl__utils_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_tpl_utils.h</b> <a href="sinfo__tpl__utils_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utilities_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utilities.c</b> <a href="sinfo__utilities_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utilities_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utilities.h</b> <a href="sinfo__utilities_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utilities__scired_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utilities_scired.c</b> <a href="sinfo__utilities__scired_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utilities__scired_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utilities_scired.h</b> <a href="sinfo__utilities__scired_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utils_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utils.c</b> <a href="sinfo__utils_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utils_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utils.h</b> <a href="sinfo__utils_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utils__wrappers_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utils_wrappers.c</b> <a href="sinfo__utils__wrappers_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utils__wrappers_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utils_wrappers.h</b> <a href="sinfo__utils__wrappers_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfoni_2sinfo__utl__cube2ima_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfoni/sinfo_utl_cube2ima.c</b> <a href="sinfoni_2sinfo__utl__cube2ima_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utl__cube2ima_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utl_cube2ima.h</b> <a href="sinfo__utl__cube2ima_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfoni_2sinfo__utl__cube2spectrum_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfoni/sinfo_utl_cube2spectrum.c</b> <a href="sinfoni_2sinfo__utl__cube2spectrum_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utl__cube2spectrum_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utl_cube2spectrum.h</b> <a href="sinfo__utl__cube2spectrum_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfoni_2sinfo__utl__cube__arith_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfoni/sinfo_utl_cube_arith.c</b> <a href="sinfoni_2sinfo__utl__cube__arith_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utl__cube__arith_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utl_cube_arith.h</b> <a href="sinfo__utl__cube__arith_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfoni_2sinfo__utl__cube__combine_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfoni/sinfo_utl_cube_combine.c</b> <a href="sinfoni_2sinfo__utl__cube__combine_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utl__cube__combine_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utl_cube_combine.h</b> <a href="sinfo__utl__cube__combine_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utl__efficiency_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utl_efficiency.c</b> <a href="sinfo__utl__efficiency_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utl__efficiency_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utl_efficiency.h</b> <a href="sinfo__utl__efficiency_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfoni_2sinfo__utl__spectrum__divide__by__blackbody_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfoni/sinfo_utl_spectrum_divide_by_blackbody.c</b> <a href="sinfoni_2sinfo__utl__spectrum__divide__by__blackbody_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utl__spectrum__divide__by__blackbody_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utl_spectrum_divide_by_blackbody.h</b> <a href="sinfo__utl__spectrum__divide__by__blackbody_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfoni_2sinfo__utl__spectrum__wavelength__shift_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfoni/sinfo_utl_spectrum_wavelength_shift.c</b> <a href="sinfoni_2sinfo__utl__spectrum__wavelength__shift_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utl__spectrum__wavelength__shift_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utl_spectrum_wavelength_shift.h</b> <a href="sinfo__utl__spectrum__wavelength__shift_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__vltPort_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_vltPort.h</b> <a href="sinfo__vltPort_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__wave__calibration_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_wave_calibration.c</b> <a href="sinfo__wave__calibration_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__wave__calibration_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_wave_calibration.h</b> <a href="sinfo__wave__calibration_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__wavecal_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_wavecal.c</b> <a href="sinfo__wavecal_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__wavecal_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_wavecal.h</b> <a href="sinfo__wavecal_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__wavecal__cfg_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_wavecal_cfg.c</b> <a href="sinfo__wavecal__cfg_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__wavecal__cfg_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_wavecal_cfg.h</b> <a href="sinfo__wavecal__cfg_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__wavecal__config_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_wavecal_config.c</b> <a href="sinfo__wavecal__config_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__wavecal__config_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_wavecal_config.h</b> <a href="sinfo__wavecal__config_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__wavecal__ini_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_wavecal_ini.h</b> <a href="sinfo__wavecal__ini_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__wavecal__ini__by__cpl_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_wavecal_ini_by_cpl.c</b> <a href="sinfo__wavecal__ini__by__cpl_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__wavecal__ini__by__cpl_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_wavecal_ini_by_cpl.h</b> <a href="sinfo__wavecal__ini__by__cpl_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__wcal__functions_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_wcal_functions.c</b> <a href="sinfo__wcal__functions_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__wcal__functions_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_wcal_functions.h</b> <a href="sinfo__wcal__functions_8h_source.html">[code]</a></td></tr>
-</table>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/dir_9dbeae34d65cadb5c6915b8c80494485.html b/html/dir_9dbeae34d65cadb5c6915b8c80494485.html
deleted file mode 100644
index 04fb6f4..0000000
--- a/html/dir_9dbeae34d65cadb5c6915b8c80494485.html
+++ /dev/null
@@ -1,95 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: /scratch/data2/sinfoni/releases/pub/2.4.0/sinfop/irplib/ Directory Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib Directory Reference</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="files"></a>
-Files</h2></td></tr>
-<tr class="memitem:irplib__calib_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_calib.c</b> <a href="irplib__calib_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__calib_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_calib.h</b> <a href="irplib__calib_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__cat_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_cat.c</b> <a href="irplib__cat_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__cat_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_cat.h</b> <a href="irplib__cat_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__distortion_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_distortion.c</b> <a href="irplib__distortion_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__distortion_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_distortion.h</b> <a href="irplib__distortion_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__flat_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_flat.c</b> <a href="irplib__flat_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__flat_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_flat.h</b> <a href="irplib__flat_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__framelist_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_framelist.c</b> <a href="irplib__framelist_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__framelist_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_framelist.h</b> <a href="irplib__framelist_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__hist_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_hist.c</b> <a href="irplib__hist_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__hist_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_hist.h</b> <a href="irplib__hist_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__ksigma__clip_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_ksigma_clip.c</b> <a href="irplib__ksigma__clip_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__ksigma__clip_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_ksigma_clip.h</b> <a href="irplib__ksigma__clip_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__ksigma__clip__body_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_ksigma_clip_body.h</b> <a href="irplib__ksigma__clip__body_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__match__cats_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_match_cats.c</b> <a href="irplib__match__cats_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__match__cats_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_match_cats.h</b> <a href="irplib__match__cats_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__mkmaster_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_mkmaster.c</b> <a href="irplib__mkmaster_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__mkmaster_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_mkmaster.h</b> <a href="irplib__mkmaster_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__oddeven_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_oddeven.c</b> <a href="irplib__oddeven_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__oddeven_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_oddeven.h</b> <a href="irplib__oddeven_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__plugin_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_plugin.c</b> <a href="irplib__plugin_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__plugin_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_plugin.h</b> <a href="irplib__plugin_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__polynomial_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_polynomial.c</b> <a href="irplib__polynomial_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__polynomial_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_polynomial.h</b> <a href="irplib__polynomial_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__ppm_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_ppm.c</b> <a href="irplib__ppm_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__ppm_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_ppm.h</b> <a href="irplib__ppm_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__slitpos_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_slitpos.c</b> <a href="irplib__slitpos_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__slitpos_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_slitpos.h</b> <a href="irplib__slitpos_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__spectrum_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_spectrum.c</b> <a href="irplib__spectrum_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__spectrum_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_spectrum.h</b> <a href="irplib__spectrum_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__stdstar_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_stdstar.c</b> <a href="irplib__stdstar_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__stdstar_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_stdstar.h</b> <a href="irplib__stdstar_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__strehl_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_strehl.c</b> <a href="irplib__strehl_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__strehl_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_strehl.h</b> <a href="irplib__strehl_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__utils_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_utils.c</b> <a href="irplib__utils_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__utils_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_utils.h</b> <a href="irplib__utils_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__wavecal_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_wavecal.c</b> <a href="irplib__wavecal_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__wavecal_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_wavecal.h</b> <a href="irplib__wavecal_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__wavecal__impl_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_wavecal_impl.h</b> <a href="irplib__wavecal__impl_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__wcs_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_wcs.c</b> <a href="irplib__wcs_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__wcs_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_wcs.h</b> <a href="irplib__wcs_8h_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__wlxcorr_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_wlxcorr.c</b> <a href="irplib__wlxcorr_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:irplib__wlxcorr_8h"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>irplib_wlxcorr.h</b> <a href="irplib__wlxcorr_8h_source.html">[code]</a></td></tr>
-</table>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/dir_b351cdfeb4656d7d168dc72b273024e7.html b/html/dir_b351cdfeb4656d7d168dc72b273024e7.html
deleted file mode 100644
index 9fde09a..0000000
--- a/html/dir_b351cdfeb4656d7d168dc72b273024e7.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: /scratch/data2/sinfoni/releases/pub/2.4.0/sinfop/recipes/ Directory Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">recipes Directory Reference</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="files"></a>
-Files</h2></td></tr>
-<tr class="memitem:sinfo__img__noise_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_img_noise.c</b> <a href="sinfo__img__noise_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__rec__detlin_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_rec_detlin.c</b> <a href="sinfo__rec__detlin_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__rec__distortion_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_rec_distortion.c</b> <a href="sinfo__rec__distortion_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__rec__jitter_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_rec_jitter.c</b> <a href="sinfo__rec__jitter_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__rec__lingain_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_rec_lingain.c</b> <a href="sinfo__rec__lingain_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__rec__mdark_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_rec_mdark.c</b> <a href="sinfo__rec__mdark_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__rec__mdark__detmon_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_rec_mdark_detmon.c</b> <a href="sinfo__rec__mdark__detmon_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__rec__mflat_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_rec_mflat.c</b> <a href="sinfo__rec__mflat_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__rec__objnod_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_rec_objnod.c</b> <a href="sinfo__rec__objnod_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__rec__psf_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_rec_psf.c</b> <a href="sinfo__rec__psf_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__rec__pupil_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_rec_pupil.c</b> <a href="sinfo__rec__pupil_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__rec__stdstar_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_rec_stdstar.c</b> <a href="sinfo__rec__stdstar_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__rec__wavecal_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_rec_wavecal.c</b> <a href="sinfo__rec__wavecal_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__step__distortion_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_step_distortion.c</b> <a href="sinfo__step__distortion_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__step__jitter_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_step_jitter.c</b> <a href="sinfo__step__jitter_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__step__objnod_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_step_objnod.c</b> <a href="sinfo__step__objnod_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__step__psf_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_step_psf.c</b> <a href="sinfo__step__psf_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__step__stdstar_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_step_stdstar.c</b> <a href="sinfo__step__stdstar_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utl__bp__mask__add_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utl_bp_mask_add.c</b> <a href="sinfo__utl__bp__mask__add_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:recipes_2sinfo__utl__cube2ima_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>recipes/sinfo_utl_cube2ima.c</b> <a href="recipes_2sinfo__utl__cube2ima_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:recipes_2sinfo__utl__cube2spectrum_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>recipes/sinfo_utl_cube2spectrum.c</b> <a href="recipes_2sinfo__utl__cube2spectrum_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:recipes_2sinfo__utl__cube__arith_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>recipes/sinfo_utl_cube_arith.c</b> <a href="recipes_2sinfo__utl__cube__arith_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:recipes_2sinfo__utl__cube__combine_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>recipes/sinfo_utl_cube_combine.c</b> <a href="recipes_2sinfo__utl__cube__combine_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utl__cube__create_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utl_cube_create.c</b> <a href="sinfo__utl__cube__create_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utl__cube__test_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utl_cube_test.c</b> <a href="sinfo__utl__cube__test_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utl__eff_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utl_eff.c</b> <a href="sinfo__utl__eff_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utl__illumcorr_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utl_illumcorr.c</b> <a href="sinfo__utl__illumcorr_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utl__ima__arith_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utl_ima_arith.c</b> <a href="sinfo__utl__ima__arith_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utl__ima__cube__ks__test_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utl_ima_cube_ks_test.c</b> <a href="sinfo__utl__ima__cube__ks__test_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utl__ima__gauss_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utl_ima_gauss.c</b> <a href="sinfo__utl__ima__gauss_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utl__ima__line__corr_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utl_ima_line_corr.c</b> <a href="sinfo__utl__ima__line__corr_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utl__line__oh__select_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utl_line_oh_select.c</b> <a href="sinfo__utl__line__oh__select_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utl__remove__crh__single_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utl_remove_crh_single.c</b> <a href="sinfo__utl__remove__crh__single_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utl__seds_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utl_seds.c</b> <a href="sinfo__utl__seds_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utl__skycor_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utl_skycor.c</b> <a href="sinfo__utl__skycor_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utl__skymap_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utl_skymap.c</b> <a href="sinfo__utl__skymap_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:recipes_2sinfo__utl__spectrum__divide__by__blackbody_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>recipes/sinfo_utl_spectrum_divide_by_blackbody.c</b> <a href="recipes_2sinfo__utl__spectrum__divide__by__blackbody_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:recipes_2sinfo__utl__spectrum__wavelength__shift_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>recipes/sinfo_utl_spectrum_wavelength_shift.c</b> <a href="recipes_2sinfo__utl__spectrum__wavelength__shift_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utl__stdstars_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utl_stdstars.c</b> <a href="sinfo__utl__stdstars_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utl__table__ex_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utl_table_ex.c</b> <a href="sinfo__utl__table__ex_8c_source.html">[code]</a></td></tr>
-<tr class="memitem:sinfo__utl__table__test_8c"><td class="memItemLeft" align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><b>sinfo_utl_table_test.c</b> <a href="sinfo__utl__table__test_8c_source.html">[code]</a></td></tr>
-</table>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/doxygen.css b/html/doxygen.css
deleted file mode 100644
index 8589450..0000000
--- a/html/doxygen.css
+++ /dev/null
@@ -1,1156 +0,0 @@
-/* The standard CSS for doxygen */
-
-body, table, div, p, dl {
- font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
- font-size: 13px;
- line-height: 1.3;
-}
-
-/* @group Heading Levels */
-
-h1 {
- font-size: 150%;
-}
-
-.title {
- font-size: 150%;
- font-weight: bold;
- margin: 10px 2px;
-}
-
-h2 {
- font-size: 120%;
-}
-
-h3 {
- font-size: 100%;
-}
-
-h1, h2, h3, h4, h5, h6 {
- -webkit-transition: text-shadow 0.5s linear;
- -moz-transition: text-shadow 0.5s linear;
- -ms-transition: text-shadow 0.5s linear;
- -o-transition: text-shadow 0.5s linear;
- transition: text-shadow 0.5s linear;
- margin-right: 15px;
-}
-
-h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
- text-shadow: 0 0 15px cyan;
-}
-
-dt {
- font-weight: bold;
-}
-
-div.multicol {
- -moz-column-gap: 1em;
- -webkit-column-gap: 1em;
- -moz-column-count: 3;
- -webkit-column-count: 3;
-}
-
-p.startli, p.startdd, p.starttd {
- margin-top: 2px;
-}
-
-p.endli {
- margin-bottom: 0px;
-}
-
-p.enddd {
- margin-bottom: 4px;
-}
-
-p.endtd {
- margin-bottom: 2px;
-}
-
-/* @end */
-
-caption {
- font-weight: bold;
-}
-
-span.legend {
- font-size: 70%;
- text-align: center;
-}
-
-h3.version {
- font-size: 90%;
- text-align: center;
-}
-
-div.qindex, div.navtab{
- background-color: #EBEFF6;
- border: 1px solid #A3B4D7;
- text-align: center;
-}
-
-div.qindex, div.navpath {
- width: 100%;
- line-height: 140%;
-}
-
-div.navtab {
- margin-right: 15px;
-}
-
-/* @group Link Styling */
-
-a {
- color: #3D578C;
- font-weight: normal;
- text-decoration: none;
-}
-
-.contents a:visited {
- color: #4665A2;
-}
-
-a:hover {
- text-decoration: underline;
-}
-
-a.qindex {
- font-weight: bold;
-}
-
-a.qindexHL {
- font-weight: bold;
- background-color: #9CAFD4;
- color: #ffffff;
- border: 1px double #869DCA;
-}
-
-.contents a.qindexHL:visited {
- color: #ffffff;
-}
-
-a.el {
- font-weight: bold;
-}
-
-a.elRef {
-}
-
-a.code, a.code:visited {
- color: #4665A2;
-}
-
-a.codeRef, a.codeRef:visited {
- color: #4665A2;
-}
-
-/* @end */
-
-dl.el {
- margin-left: -1cm;
-}
-
-pre.fragment {
- border: 1px solid #C4CFE5;
- background-color: #FBFCFD;
- padding: 4px 6px;
- margin: 4px 8px 4px 2px;
- overflow: auto;
- word-wrap: break-word;
- font-size: 9pt;
- line-height: 125%;
- font-family: monospace, fixed;
- font-size: 105%;
-}
-
-div.fragment {
- padding: 4px;
- margin: 4px;
- background-color: #FBFCFD;
- border: 1px solid #C4CFE5;
-}
-
-div.line {
- font-family: monospace, fixed;
- font-size: 13px;
- min-height: 13px;
- line-height: 1.0;
- text-wrap: unrestricted;
- white-space: -moz-pre-wrap; /* Moz */
- white-space: -pre-wrap; /* Opera 4-6 */
- white-space: -o-pre-wrap; /* Opera 7 */
- white-space: pre-wrap; /* CSS3 */
- word-wrap: break-word; /* IE 5.5+ */
- text-indent: -53px;
- padding-left: 53px;
- padding-bottom: 0px;
- margin: 0px;
- -webkit-transition-property: background-color, box-shadow;
- -webkit-transition-duration: 0.5s;
- -moz-transition-property: background-color, box-shadow;
- -moz-transition-duration: 0.5s;
- -ms-transition-property: background-color, box-shadow;
- -ms-transition-duration: 0.5s;
- -o-transition-property: background-color, box-shadow;
- -o-transition-duration: 0.5s;
- transition-property: background-color, box-shadow;
- transition-duration: 0.5s;
-}
-
-div.line.glow {
- background-color: cyan;
- box-shadow: 0 0 10px cyan;
-}
-
-
-span.lineno {
- padding-right: 4px;
- text-align: right;
- border-right: 2px solid #0F0;
- background-color: #E8E8E8;
- white-space: pre;
-}
-span.lineno a {
- background-color: #D8D8D8;
-}
-
-span.lineno a:hover {
- background-color: #C8C8C8;
-}
-
-div.ah {
- background-color: black;
- font-weight: bold;
- color: #ffffff;
- margin-bottom: 3px;
- margin-top: 3px;
- padding: 0.2em;
- border: solid thin #333;
- border-radius: 0.5em;
- -webkit-border-radius: .5em;
- -moz-border-radius: .5em;
- box-shadow: 2px 2px 3px #999;
- -webkit-box-shadow: 2px 2px 3px #999;
- -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
- background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
-}
-
-div.groupHeader {
- margin-left: 16px;
- margin-top: 12px;
- font-weight: bold;
-}
-
-div.groupText {
- margin-left: 16px;
- font-style: italic;
-}
-
-body {
- background-color: white;
- color: black;
- margin: 0;
-}
-
-div.contents {
- margin-top: 10px;
- margin-left: 12px;
- margin-right: 8px;
-}
-
-td.indexkey {
- background-color: #EBEFF6;
- font-weight: bold;
- border: 1px solid #C4CFE5;
- margin: 2px 0px 2px 0;
- padding: 2px 10px;
- white-space: nowrap;
- vertical-align: top;
-}
-
-td.indexvalue {
- background-color: #EBEFF6;
- border: 1px solid #C4CFE5;
- padding: 2px 10px;
- margin: 2px 0px;
-}
-
-tr.memlist {
- background-color: #EEF1F7;
-}
-
-p.formulaDsp {
- text-align: center;
-}
-
-img.formulaDsp {
-
-}
-
-img.formulaInl {
- vertical-align: middle;
-}
-
-div.center {
- text-align: center;
- margin-top: 0px;
- margin-bottom: 0px;
- padding: 0px;
-}
-
-div.center img {
- border: 0px;
-}
-
-address.footer {
- text-align: right;
- padding-right: 12px;
-}
-
-img.footer {
- border: 0px;
- vertical-align: middle;
-}
-
-/* @group Code Colorization */
-
-span.keyword {
- color: #008000
-}
-
-span.keywordtype {
- color: #604020
-}
-
-span.keywordflow {
- color: #e08000
-}
-
-span.comment {
- color: #800000
-}
-
-span.preprocessor {
- color: #806020
-}
-
-span.stringliteral {
- color: #002080
-}
-
-span.charliteral {
- color: #008080
-}
-
-span.vhdldigit {
- color: #ff00ff
-}
-
-span.vhdlchar {
- color: #000000
-}
-
-span.vhdlkeyword {
- color: #700070
-}
-
-span.vhdllogic {
- color: #ff0000
-}
-
-blockquote {
- background-color: #F7F8FB;
- border-left: 2px solid #9CAFD4;
- margin: 0 24px 0 4px;
- padding: 0 12px 0 16px;
-}
-
-/* @end */
-
-/*
-.search {
- color: #003399;
- font-weight: bold;
-}
-
-form.search {
- margin-bottom: 0px;
- margin-top: 0px;
-}
-
-input.search {
- font-size: 75%;
- color: #000080;
- font-weight: normal;
- background-color: #e8eef2;
-}
-*/
-
-td.tiny {
- font-size: 75%;
-}
-
-.dirtab {
- padding: 4px;
- border-collapse: collapse;
- border: 1px solid #A3B4D7;
-}
-
-th.dirtab {
- background: #EBEFF6;
- font-weight: bold;
-}
-
-hr {
- height: 0px;
- border: none;
- border-top: 1px solid #4A6AAA;
-}
-
-hr.footer {
- height: 1px;
-}
-
-/* @group Member Descriptions */
-
-table.memberdecls {
- border-spacing: 0px;
- padding: 0px;
-}
-
-.memberdecls td {
- -webkit-transition-property: background-color, box-shadow;
- -webkit-transition-duration: 0.5s;
- -moz-transition-property: background-color, box-shadow;
- -moz-transition-duration: 0.5s;
- -ms-transition-property: background-color, box-shadow;
- -ms-transition-duration: 0.5s;
- -o-transition-property: background-color, box-shadow;
- -o-transition-duration: 0.5s;
- transition-property: background-color, box-shadow;
- transition-duration: 0.5s;
-}
-
-.memberdecls td.glow {
- background-color: cyan;
- box-shadow: 0 0 15px cyan;
-}
-
-.mdescLeft, .mdescRight,
-.memItemLeft, .memItemRight,
-.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
- background-color: #F9FAFC;
- border: none;
- margin: 4px;
- padding: 1px 0 0 8px;
-}
-
-.mdescLeft, .mdescRight {
- padding: 0px 8px 4px 8px;
- color: #555;
-}
-
-.memItemLeft, .memItemRight, .memTemplParams {
- border-top: 1px solid #C4CFE5;
-}
-
-.memItemLeft, .memTemplItemLeft {
- white-space: nowrap;
-}
-
-.memItemRight {
- width: 100%;
-}
-
-.memTemplParams {
- color: #4665A2;
- white-space: nowrap;
-}
-
-/* @end */
-
-/* @group Member Details */
-
-/* Styles for detailed member documentation */
-
-.memtemplate {
- font-size: 80%;
- color: #4665A2;
- font-weight: normal;
- margin-left: 9px;
-}
-
-.memnav {
- background-color: #EBEFF6;
- border: 1px solid #A3B4D7;
- text-align: center;
- margin: 2px;
- margin-right: 15px;
- padding: 2px;
-}
-
-.mempage {
- width: 100%;
-}
-
-.memitem {
- padding: 0;
- margin-bottom: 10px;
- margin-right: 5px;
- -webkit-transition: box-shadow 0.5s linear;
- -moz-transition: box-shadow 0.5s linear;
- -ms-transition: box-shadow 0.5s linear;
- -o-transition: box-shadow 0.5s linear;
- transition: box-shadow 0.5s linear;
- display: table !important;
- width: 100%;
-}
-
-.memitem.glow {
- box-shadow: 0 0 15px cyan;
-}
-
-.memname {
- font-weight: bold;
- margin-left: 6px;
-}
-
-.memname td {
- vertical-align: bottom;
-}
-
-.memproto, dl.reflist dt {
- border-top: 1px solid #A8B8D9;
- border-left: 1px solid #A8B8D9;
- border-right: 1px solid #A8B8D9;
- padding: 6px 0px 6px 0px;
- color: #253555;
- font-weight: bold;
- text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
- background-image:url('nav_f.png');
- background-repeat:repeat-x;
- background-color: #E2E8F2;
- /* opera specific markup */
- box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
- border-top-right-radius: 4px;
- border-top-left-radius: 4px;
- /* firefox specific markup */
- -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
- -moz-border-radius-topright: 4px;
- -moz-border-radius-topleft: 4px;
- /* webkit specific markup */
- -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
- -webkit-border-top-right-radius: 4px;
- -webkit-border-top-left-radius: 4px;
-
-}
-
-.memdoc, dl.reflist dd {
- border-bottom: 1px solid #A8B8D9;
- border-left: 1px solid #A8B8D9;
- border-right: 1px solid #A8B8D9;
- padding: 6px 10px 2px 10px;
- background-color: #FBFCFD;
- border-top-width: 0;
- background-image:url('nav_g.png');
- background-repeat:repeat-x;
- background-color: #FFFFFF;
- /* opera specific markup */
- border-bottom-left-radius: 4px;
- border-bottom-right-radius: 4px;
- box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
- /* firefox specific markup */
- -moz-border-radius-bottomleft: 4px;
- -moz-border-radius-bottomright: 4px;
- -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
- /* webkit specific markup */
- -webkit-border-bottom-left-radius: 4px;
- -webkit-border-bottom-right-radius: 4px;
- -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-}
-
-dl.reflist dt {
- padding: 5px;
-}
-
-dl.reflist dd {
- margin: 0px 0px 10px 0px;
- padding: 5px;
-}
-
-.paramkey {
- text-align: right;
-}
-
-.paramtype {
- white-space: nowrap;
-}
-
-.paramname {
- color: #602020;
- white-space: nowrap;
-}
-.paramname em {
- font-style: normal;
-}
-.paramname code {
- line-height: 14px;
-}
-
-.params, .retval, .exception, .tparams {
- margin-left: 0px;
- padding-left: 0px;
-}
-
-.params .paramname, .retval .paramname {
- font-weight: bold;
- vertical-align: top;
-}
-
-.params .paramtype {
- font-style: italic;
- vertical-align: top;
-}
-
-.params .paramdir {
- font-family: "courier new",courier,monospace;
- vertical-align: top;
-}
-
-table.mlabels {
- border-spacing: 0px;
-}
-
-td.mlabels-left {
- width: 100%;
- padding: 0px;
-}
-
-td.mlabels-right {
- vertical-align: bottom;
- padding: 0px;
- white-space: nowrap;
-}
-
-span.mlabels {
- margin-left: 8px;
-}
-
-span.mlabel {
- background-color: #728DC1;
- border-top:1px solid #5373B4;
- border-left:1px solid #5373B4;
- border-right:1px solid #C4CFE5;
- border-bottom:1px solid #C4CFE5;
- text-shadow: none;
- color: white;
- margin-right: 4px;
- padding: 2px 3px;
- border-radius: 3px;
- font-size: 7pt;
- white-space: nowrap;
-}
-
-
-
-/* @end */
-
-/* these are for tree view when not used as main index */
-
-div.directory {
- margin: 10px 0px;
- border-top: 1px solid #A8B8D9;
- border-bottom: 1px solid #A8B8D9;
- width: 100%;
-}
-
-.directory table {
- border-collapse:collapse;
-}
-
-.directory td {
- margin: 0px;
- padding: 0px;
- vertical-align: top;
-}
-
-.directory td.entry {
- white-space: nowrap;
- padding-right: 6px;
-}
-
-.directory td.entry a {
- outline:none;
-}
-
-.directory td.entry a img {
- border: none;
-}
-
-.directory td.desc {
- width: 100%;
- padding-left: 6px;
- padding-right: 6px;
- border-left: 1px solid rgba(0,0,0,0.05);
-}
-
-.directory tr.even {
- padding-left: 6px;
- background-color: #F7F8FB;
-}
-
-.directory img {
- vertical-align: -30%;
-}
-
-.directory .levels {
- white-space: nowrap;
- width: 100%;
- text-align: right;
- font-size: 9pt;
-}
-
-.directory .levels span {
- cursor: pointer;
- padding-left: 2px;
- padding-right: 2px;
- color: #3D578C;
-}
-
-div.dynheader {
- margin-top: 8px;
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-
-address {
- font-style: normal;
- color: #2A3D61;
-}
-
-table.doxtable {
- border-collapse:collapse;
- margin-top: 4px;
- margin-bottom: 4px;
-}
-
-table.doxtable td, table.doxtable th {
- border: 1px solid #2D4068;
- padding: 3px 7px 2px;
-}
-
-table.doxtable th {
- background-color: #374F7F;
- color: #FFFFFF;
- font-size: 110%;
- padding-bottom: 4px;
- padding-top: 5px;
-}
-
-table.fieldtable {
- width: 100%;
- margin-bottom: 10px;
- border: 1px solid #A8B8D9;
- border-spacing: 0px;
- -moz-border-radius: 4px;
- -webkit-border-radius: 4px;
- border-radius: 4px;
- -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
- -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
- box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
-}
-
-.fieldtable td, .fieldtable th {
- padding: 3px 7px 2px;
-}
-
-.fieldtable td.fieldtype, .fieldtable td.fieldname {
- white-space: nowrap;
- border-right: 1px solid #A8B8D9;
- border-bottom: 1px solid #A8B8D9;
- vertical-align: top;
-}
-
-.fieldtable td.fielddoc {
- border-bottom: 1px solid #A8B8D9;
- width: 100%;
-}
-
-.fieldtable tr:last-child td {
- border-bottom: none;
-}
-
-.fieldtable th {
- background-image:url('nav_f.png');
- background-repeat:repeat-x;
- background-color: #E2E8F2;
- font-size: 90%;
- color: #253555;
- padding-bottom: 4px;
- padding-top: 5px;
- text-align:left;
- -moz-border-radius-topleft: 4px;
- -moz-border-radius-topright: 4px;
- -webkit-border-top-left-radius: 4px;
- -webkit-border-top-right-radius: 4px;
- border-top-left-radius: 4px;
- border-top-right-radius: 4px;
- border-bottom: 1px solid #A8B8D9;
-}
-
-
-.tabsearch {
- top: 0px;
- left: 10px;
- height: 36px;
- background-image: url('tab_b.png');
- z-index: 101;
- overflow: hidden;
- font-size: 13px;
-}
-
-.navpath ul
-{
- font-size: 11px;
- background-image:url('tab_b.png');
- background-repeat:repeat-x;
- height:30px;
- line-height:30px;
- color:#8AA0CC;
- border:solid 1px #C2CDE4;
- overflow:hidden;
- margin:0px;
- padding:0px;
-}
-
-.navpath li
-{
- list-style-type:none;
- float:left;
- padding-left:10px;
- padding-right:15px;
- background-image:url('bc_s.png');
- background-repeat:no-repeat;
- background-position:right;
- color:#364D7C;
-}
-
-.navpath li.navelem a
-{
- height:32px;
- display:block;
- text-decoration: none;
- outline: none;
-}
-
-.navpath li.navelem a:hover
-{
- color:#6884BD;
-}
-
-.navpath li.footer
-{
- list-style-type:none;
- float:right;
- padding-left:10px;
- padding-right:15px;
- background-image:none;
- background-repeat:no-repeat;
- background-position:right;
- color:#364D7C;
- font-size: 8pt;
-}
-
-
-div.summary
-{
- float: right;
- font-size: 8pt;
- padding-right: 5px;
- width: 50%;
- text-align: right;
-}
-
-div.summary a
-{
- white-space: nowrap;
-}
-
-div.ingroups
-{
- font-size: 8pt;
- width: 50%;
- text-align: left;
-}
-
-div.ingroups a
-{
- white-space: nowrap;
-}
-
-div.header
-{
- background-image:url('nav_h.png');
- background-repeat:repeat-x;
- background-color: #F9FAFC;
- margin: 0px;
- border-bottom: 1px solid #C4CFE5;
-}
-
-div.headertitle
-{
- padding: 5px 5px 5px 7px;
-}
-
-dl
-{
- padding: 0 0 0 10px;
-}
-
-/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */
-dl.section
-{
- margin-left: 0px;
- padding-left: 0px;
-}
-
-dl.note
-{
- margin-left:-7px;
- padding-left: 3px;
- border-left:4px solid;
- border-color: #D0C000;
-}
-
-dl.warning, dl.attention
-{
- margin-left:-7px;
- padding-left: 3px;
- border-left:4px solid;
- border-color: #FF0000;
-}
-
-dl.pre, dl.post, dl.invariant
-{
- margin-left:-7px;
- padding-left: 3px;
- border-left:4px solid;
- border-color: #00D000;
-}
-
-dl.deprecated
-{
- margin-left:-7px;
- padding-left: 3px;
- border-left:4px solid;
- border-color: #505050;
-}
-
-dl.todo
-{
- margin-left:-7px;
- padding-left: 3px;
- border-left:4px solid;
- border-color: #00C0E0;
-}
-
-dl.test
-{
- margin-left:-7px;
- padding-left: 3px;
- border-left:4px solid;
- border-color: #3030E0;
-}
-
-dl.bug
-{
- margin-left:-7px;
- padding-left: 3px;
- border-left:4px solid;
- border-color: #C08050;
-}
-
-dl.section dd {
- margin-bottom: 6px;
-}
-
-
-#projectlogo
-{
- text-align: center;
- vertical-align: bottom;
- border-collapse: separate;
-}
-
-#projectlogo img
-{
- border: 0px none;
-}
-
-#projectname
-{
- font: 300% Tahoma, Arial,sans-serif;
- margin: 0px;
- padding: 2px 0px;
-}
-
-#projectbrief
-{
- font: 120% Tahoma, Arial,sans-serif;
- margin: 0px;
- padding: 0px;
-}
-
-#projectnumber
-{
- font: 50% Tahoma, Arial,sans-serif;
- margin: 0px;
- padding: 0px;
-}
-
-#titlearea
-{
- padding: 0px;
- margin: 0px;
- width: 100%;
- border-bottom: 1px solid #5373B4;
-}
-
-.image
-{
- text-align: center;
-}
-
-.dotgraph
-{
- text-align: center;
-}
-
-.mscgraph
-{
- text-align: center;
-}
-
-.caption
-{
- font-weight: bold;
-}
-
-div.zoom
-{
- border: 1px solid #90A5CE;
-}
-
-dl.citelist {
- margin-bottom:50px;
-}
-
-dl.citelist dt {
- color:#334975;
- float:left;
- font-weight:bold;
- margin-right:10px;
- padding:5px;
-}
-
-dl.citelist dd {
- margin:2px 0;
- padding:5px 0;
-}
-
-div.toc {
- padding: 14px 25px;
- background-color: #F4F6FA;
- border: 1px solid #D8DFEE;
- border-radius: 7px 7px 7px 7px;
- float: right;
- height: auto;
- margin: 0 20px 10px 10px;
- width: 200px;
-}
-
-div.toc li {
- background: url("bdwn.png") no-repeat scroll 0 5px transparent;
- font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
- margin-top: 5px;
- padding-left: 10px;
- padding-top: 2px;
-}
-
-div.toc h3 {
- font: bold 12px/1.2 Arial,FreeSans,sans-serif;
- color: #4665A2;
- border-bottom: 0 none;
- margin: 0;
-}
-
-div.toc ul {
- list-style: none outside none;
- border: medium none;
- padding: 0px;
-}
-
-div.toc li.level1 {
- margin-left: 0px;
-}
-
-div.toc li.level2 {
- margin-left: 15px;
-}
-
-div.toc li.level3 {
- margin-left: 30px;
-}
-
-div.toc li.level4 {
- margin-left: 45px;
-}
-
-.inherit_header {
- font-weight: bold;
- color: gray;
- cursor: pointer;
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-
-.inherit_header td {
- padding: 6px 0px 2px 5px;
-}
-
-.inherit {
- display: none;
-}
-
-tr.heading h2 {
- margin-top: 12px;
- margin-bottom: 4px;
-}
-
- at media print
-{
- #top { display: none; }
- #side-nav { display: none; }
- #nav-path { display: none; }
- body { overflow:visible; }
- h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
- .summary { display: none; }
- .memitem { page-break-inside: avoid; }
- #doc-content
- {
- margin-left:0 !important;
- height:auto !important;
- width:auto !important;
- overflow:inherit;
- display:inline;
- }
-}
-
diff --git a/html/doxygen.png b/html/doxygen.png
deleted file mode 100644
index 3ff17d8..0000000
Binary files a/html/doxygen.png and /dev/null differ
diff --git a/html/dynsections.js b/html/dynsections.js
deleted file mode 100644
index 116542f..0000000
--- a/html/dynsections.js
+++ /dev/null
@@ -1,78 +0,0 @@
-function toggleVisibility(linkObj)
-{
- var base = $(linkObj).attr('id');
- var summary = $('#'+base+'-summary');
- var content = $('#'+base+'-content');
- var trigger = $('#'+base+'-trigger');
- var src=$(trigger).attr('src');
- if (content.is(':visible')===true) {
- content.hide();
- summary.show();
- $(linkObj).addClass('closed').removeClass('opened');
- $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
- } else {
- content.show();
- summary.hide();
- $(linkObj).removeClass('closed').addClass('opened');
- $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
- }
- return false;
-}
-
-function updateStripes()
-{
- $('table.directory tr').
- removeClass('even').filter(':visible:even').addClass('even');
-}
-function toggleLevel(level)
-{
- $('table.directory tr').each(function(){
- var l = this.id.split('_').length-1;
- var i = $('#img'+this.id.substring(3));
- var a = $('#arr'+this.id.substring(3));
- if (l<level+1) {
- i.attr('src','ftv2folderopen.png');
- a.attr('src','ftv2mnode.png');
- $(this).show();
- } else if (l==level+1) {
- i.attr('src','ftv2folderclosed.png');
- a.attr('src','ftv2pnode.png');
- $(this).show();
- } else {
- $(this).hide();
- }
- });
- updateStripes();
-}
-function toggleFolder(id)
-{
- var n = $('[id^=row_'+id+']');
- var i = $('[id^=img_'+id+']');
- var a = $('[id^=arr_'+id+']');
- var c = n.slice(1);
- if (c.filter(':first').is(':visible')===true) {
- i.attr('src','ftv2folderclosed.png');
- a.attr('src','ftv2pnode.png');
- c.hide();
- } else {
- i.attr('src','ftv2folderopen.png');
- a.attr('src','ftv2mnode.png');
- c.show();
- }
- updateStripes();
-}
-
-function toggleInherit(id)
-{
- var rows = $('tr.inherit.'+id);
- var img = $('tr.inherit_header.'+id+' img');
- var src = $(img).attr('src');
- if (rows.filter(':first').is(':visible')===true) {
- rows.css('display','none');
- $(img).attr('src',src.substring(0,src.length-8)+'closed.png');
- } else {
- rows.css('display','table-row'); // using show() causes jump in firefox
- $(img).attr('src',src.substring(0,src.length-10)+'open.png');
- }
-}
-
diff --git a/html/files.html b/html/files.html
deleted file mode 100644
index 68d3c72..0000000
--- a/html/files.html
+++ /dev/null
@@ -1,424 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: File List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">File List</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory">
-<table class="directory">
-<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__calib_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_calib.c</b></td><td class="desc"></td></tr>
-<tr id="row_1_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__calib_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_calib.h</b></td><td class="desc"></td></tr>
-<tr id="row_2_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__cat_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_cat.c</b></td><td class="desc"></td></tr>
-<tr id="row_3_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__cat_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_cat.h</b></td><td class="desc"></td></tr>
-<tr id="row_4_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__distortion_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_distortion.c</b></td><td class="desc"></td></tr>
-<tr id="row_5_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__distortion_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_distortion.h</b></td><td class="desc"></td></tr>
-<tr id="row_6_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__flat_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_flat.c</b></td><td class="desc"></td></tr>
-<tr id="row_7_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__flat_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_flat.h</b></td><td class="desc"></td></tr>
-<tr id="row_8_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__framelist_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_framelist.c</b></td><td class="desc"></td></tr>
-<tr id="row_9_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__framelist_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_framelist.h</b></td><td class="desc"></td></tr>
-<tr id="row_10_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__hist_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_hist.c</b></td><td class="desc"></td></tr>
-<tr id="row_11_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__hist_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_hist.h</b></td><td class="desc"></td></tr>
-<tr id="row_12_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__ksigma__clip_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_ksigma_clip.c</b></td><td class="desc"></td></tr>
-<tr id="row_13_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__ksigma__clip_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_ksigma_clip.h</b></td><td class="desc"></td></tr>
-<tr id="row_14_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__ksigma__clip__body_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_ksigma_clip_body.h</b></td><td class="desc"></td></tr>
-<tr id="row_15_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__match__cats_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_match_cats.c</b></td><td class="desc"></td></tr>
-<tr id="row_16_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__match__cats_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_match_cats.h</b></td><td class="desc"></td></tr>
-<tr id="row_17_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__mkmaster_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_mkmaster.c</b></td><td class="desc"></td></tr>
-<tr id="row_18_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__mkmaster_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_mkmaster.h</b></td><td class="desc"></td></tr>
-<tr id="row_19_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__oddeven_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_oddeven.c</b></td><td class="desc"></td></tr>
-<tr id="row_20_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__oddeven_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_oddeven.h</b></td><td class="desc"></td></tr>
-<tr id="row_21_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__plugin_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_plugin.c</b></td><td class="desc"></td></tr>
-<tr id="row_22_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__plugin_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_plugin.h</b></td><td class="desc"></td></tr>
-<tr id="row_23_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__polynomial_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_polynomial.c</b></td><td class="desc"></td></tr>
-<tr id="row_24_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__polynomial_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_polynomial.h</b></td><td class="desc"></td></tr>
-<tr id="row_25_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__ppm_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_ppm.c</b></td><td class="desc"></td></tr>
-<tr id="row_26_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__ppm_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_ppm.h</b></td><td class="desc"></td></tr>
-<tr id="row_27_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__slitpos_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_slitpos.c</b></td><td class="desc"></td></tr>
-<tr id="row_28_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__slitpos_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_slitpos.h</b></td><td class="desc"></td></tr>
-<tr id="row_29_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__spectrum_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_spectrum.c</b></td><td class="desc"></td></tr>
-<tr id="row_30_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__spectrum_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_spectrum.h</b></td><td class="desc"></td></tr>
-<tr id="row_31_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__stdstar_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_stdstar.c</b></td><td class="desc"></td></tr>
-<tr id="row_32_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__stdstar_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_stdstar.h</b></td><td class="desc"></td></tr>
-<tr id="row_33_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__strehl_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_strehl.c</b></td><td class="desc"></td></tr>
-<tr id="row_34_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__strehl_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_strehl.h</b></td><td class="desc"></td></tr>
-<tr id="row_35_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__utils_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_utils.c</b></td><td class="desc"></td></tr>
-<tr id="row_36_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__utils_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_utils.h</b></td><td class="desc"></td></tr>
-<tr id="row_37_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__wavecal_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_wavecal.c</b></td><td class="desc"></td></tr>
-<tr id="row_38_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__wavecal_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_wavecal.h</b></td><td class="desc"></td></tr>
-<tr id="row_39_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__wavecal__impl_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_wavecal_impl.h</b></td><td class="desc"></td></tr>
-<tr id="row_40_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__wcs_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_wcs.c</b></td><td class="desc"></td></tr>
-<tr id="row_41_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__wcs_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_wcs.h</b></td><td class="desc"></td></tr>
-<tr id="row_42_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__wlxcorr_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_wlxcorr.c</b></td><td class="desc"></td></tr>
-<tr id="row_43_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="irplib__wlxcorr_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>irplib_wlxcorr.h</b></td><td class="desc"></td></tr>
-<tr id="row_44_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__absolute_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_absolute.c</b></td><td class="desc"></td></tr>
-<tr id="row_45_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__absolute_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_absolute.h</b></td><td class="desc"></td></tr>
-<tr id="row_46_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__atmo__disp_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_atmo_disp.c</b></td><td class="desc"></td></tr>
-<tr id="row_47_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__atmo__disp_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_atmo_disp.h</b></td><td class="desc"></td></tr>
-<tr id="row_48_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__bad__cfg_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_bad_cfg.c</b></td><td class="desc"></td></tr>
-<tr id="row_49_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__bad__cfg_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_bad_cfg.h</b></td><td class="desc"></td></tr>
-<tr id="row_50_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__bad__ini_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_bad_ini.h</b></td><td class="desc"></td></tr>
-<tr id="row_51_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__baddist__ini__by__cpl_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_baddist_ini_by_cpl.c</b></td><td class="desc"></td></tr>
-<tr id="row_52_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__baddist__ini__by__cpl_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_baddist_ini_by_cpl.h</b></td><td class="desc"></td></tr>
-<tr id="row_53_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__badnorm__ini__by__cpl_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_badnorm_ini_by_cpl.c</b></td><td class="desc"></td></tr>
-<tr id="row_54_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__badnorm__ini__by__cpl_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_badnorm_ini_by_cpl.h</b></td><td class="desc"></td></tr>
-<tr id="row_55_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__badsky__cfg_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_badsky_cfg.c</b></td><td class="desc"></td></tr>
-<tr id="row_56_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__badsky__cfg_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_badsky_cfg.h</b></td><td class="desc"></td></tr>
-<tr id="row_57_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__badsky__ini__by__cpl_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_badsky_ini_by_cpl.c</b></td><td class="desc"></td></tr>
-<tr id="row_58_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__badsky__ini__by__cpl_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_badsky_ini_by_cpl.h</b></td><td class="desc"></td></tr>
-<tr id="row_59_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__balance_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_balance.c</b></td><td class="desc"></td></tr>
-<tr id="row_60_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__baryvel_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_baryvel.c</b></td><td class="desc"></td></tr>
-<tr id="row_61_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__baryvel_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_baryvel.h</b></td><td class="desc"></td></tr>
-<tr id="row_62_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__boltzmann_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_boltzmann.c</b></td><td class="desc"></td></tr>
-<tr id="row_63_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__bp__config_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_bp_config.c</b></td><td class="desc"></td></tr>
-<tr id="row_64_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__bp__config_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_bp_config.h</b></td><td class="desc"></td></tr>
-<tr id="row_65_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__bp__dist__config_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_bp_dist_config.c</b></td><td class="desc"></td></tr>
-<tr id="row_66_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__bp__dist__config_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_bp_dist_config.h</b></td><td class="desc"></td></tr>
-<tr id="row_67_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__bp__lin_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_bp_lin.c</b></td><td class="desc"></td></tr>
-<tr id="row_68_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__bp__lin_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_bp_lin.h</b></td><td class="desc"></td></tr>
-<tr id="row_69_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__bp__lin__config_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_bp_lin_config.c</b></td><td class="desc"></td></tr>
-<tr id="row_70_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__bp__lin__config_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_bp_lin_config.h</b></td><td class="desc"></td></tr>
-<tr id="row_71_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__bp__noise_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_bp_noise.c</b></td><td class="desc"></td></tr>
-<tr id="row_72_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__bp__noise_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_bp_noise.h</b></td><td class="desc"></td></tr>
-<tr id="row_73_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__bp__noise__config_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_bp_noise_config.c</b></td><td class="desc"></td></tr>
-<tr id="row_74_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__bp__noise__config_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_bp_noise_config.h</b></td><td class="desc"></td></tr>
-<tr id="row_75_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__bp__norm_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_bp_norm.c</b></td><td class="desc"></td></tr>
-<tr id="row_76_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__bp__norm_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_bp_norm.h</b></td><td class="desc"></td></tr>
-<tr id="row_77_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__bp__norm__config_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_bp_norm_config.c</b></td><td class="desc"></td></tr>
-<tr id="row_78_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__bp__norm__config_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_bp_norm_config.h</b></td><td class="desc"></td></tr>
-<tr id="row_79_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__bp__sky__config_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_bp_sky_config.c</b></td><td class="desc"></td></tr>
-<tr id="row_80_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__bp__sky__config_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_bp_sky_config.h</b></td><td class="desc"></td></tr>
-<tr id="row_81_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__coltilt_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_coltilt.c</b></td><td class="desc"></td></tr>
-<tr id="row_82_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__coltilt_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_coltilt.h</b></td><td class="desc"></td></tr>
-<tr id="row_83_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__companion_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_companion.c</b></td><td class="desc"></td></tr>
-<tr id="row_84_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__compare__tags_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_compare_tags.h</b></td><td class="desc"></td></tr>
-<tr id="row_85_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__cpl__size_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_cpl_size.h</b></td><td class="desc"></td></tr>
-<tr id="row_86_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__cube__construct_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_cube_construct.c</b></td><td class="desc"></td></tr>
-<tr id="row_87_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__cube__construct_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_cube_construct.h</b></td><td class="desc"></td></tr>
-<tr id="row_88_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__cubecreate__ini_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_cubecreate_ini.h</b></td><td class="desc"></td></tr>
-<tr id="row_89_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__dark__cfg_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_dark_cfg.c</b></td><td class="desc"></td></tr>
-<tr id="row_90_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__dark__cfg_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_dark_cfg.h</b></td><td class="desc"></td></tr>
-<tr id="row_91_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__dark__config_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_dark_config.c</b></td><td class="desc"></td></tr>
-<tr id="row_92_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__dark__config_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_dark_config.h</b></td><td class="desc"></td></tr>
-<tr id="row_93_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__dark__ini_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_dark_ini.h</b></td><td class="desc"></td></tr>
-<tr id="row_94_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__dark__ini__by__cpl_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_dark_ini_by_cpl.c</b></td><td class="desc"></td></tr>
-<tr id="row_95_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__dark__ini__by__cpl_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_dark_ini_by_cpl.h</b></td><td class="desc"></td></tr>
-<tr id="row_96_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__define__opt_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_define_opt.h</b></td><td class="desc"></td></tr>
-<tr id="row_97_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__detlin_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_detlin.c</b></td><td class="desc"></td></tr>
-<tr id="row_98_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__detlin_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_detlin.h</b></td><td class="desc"></td></tr>
-<tr id="row_99_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__detlin__cfg_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_detlin_cfg.c</b></td><td class="desc"></td></tr>
-<tr id="row_100_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__detlin__cfg_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_detlin_cfg.h</b></td><td class="desc"></td></tr>
-<tr id="row_101_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__detlin__ini_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_detlin_ini.h</b></td><td class="desc"></td></tr>
-<tr id="row_102_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__detlin__ini__by__cpl_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_detlin_ini_by_cpl.c</b></td><td class="desc"></td></tr>
-<tr id="row_103_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__detlin__ini__by__cpl_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_detlin_ini_by_cpl.h</b></td><td class="desc"></td></tr>
-<tr id="row_104_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__detnoise__cfg_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_detnoise_cfg.c</b></td><td class="desc"></td></tr>
-<tr id="row_105_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__detnoise__cfg_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_detnoise_cfg.h</b></td><td class="desc"></td></tr>
-<tr id="row_106_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__detnoise__ini_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_detnoise_ini.h</b></td><td class="desc"></td></tr>
-<tr id="row_107_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__detnoise__ini__by__cpl_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_detnoise_ini_by_cpl.c</b></td><td class="desc"></td></tr>
-<tr id="row_108_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__detnoise__ini__by__cpl_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_detnoise_ini_by_cpl.h</b></td><td class="desc"></td></tr>
-<tr id="row_109_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__dfs_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_dfs.c</b></td><td class="desc"></td></tr>
-<tr id="row_110_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__dfs_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_dfs.h</b></td><td class="desc"></td></tr>
-<tr id="row_111_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__distortion_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_distortion.c</b></td><td class="desc"></td></tr>
-<tr id="row_112_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__distortion_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_distortion.h</b></td><td class="desc"></td></tr>
-<tr id="row_113_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__distortion__config_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_distortion_config.c</b></td><td class="desc"></td></tr>
-<tr id="row_114_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__distortion__config_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_distortion_config.h</b></td><td class="desc"></td></tr>
-<tr id="row_115_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__dump_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_dump.c</b></td><td class="desc"></td></tr>
-<tr id="row_116_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__dump_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_dump.h</b></td><td class="desc"></td></tr>
-<tr id="row_117_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__error_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_error.h</b></td><td class="desc"></td></tr>
-<tr id="row_118_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__fft__base_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_fft_base.c</b></td><td class="desc"></td></tr>
-<tr id="row_119_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__fft__base_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_fft_base.h</b></td><td class="desc"></td></tr>
-<tr id="row_120_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__file__handling_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_file_handling.c</b></td><td class="desc"></td></tr>
-<tr id="row_121_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__file__handling_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_file_handling.h</b></td><td class="desc"></td></tr>
-<tr id="row_122_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__finddist__cfg_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_finddist_cfg.c</b></td><td class="desc"></td></tr>
-<tr id="row_123_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__finddist__cfg_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_finddist_cfg.h</b></td><td class="desc"></td></tr>
-<tr id="row_124_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__finddist__ini_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_finddist_ini.h</b></td><td class="desc"></td></tr>
-<tr id="row_125_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__finddist__ini__by__cpl_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_finddist_ini_by_cpl.c</b></td><td class="desc"></td></tr>
-<tr id="row_126_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__finddist__ini__by__cpl_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_finddist_ini_by_cpl.h</b></td><td class="desc"></td></tr>
-<tr id="row_127_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__fit_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_fit.c</b></td><td class="desc"></td></tr>
-<tr id="row_128_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__fit_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_fit.h</b></td><td class="desc"></td></tr>
-<tr id="row_129_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__fit__curve_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_fit_curve.c</b></td><td class="desc"></td></tr>
-<tr id="row_130_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__fit__curve_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_fit_curve.h</b></td><td class="desc"></td></tr>
-<tr id="row_131_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__flat__cfg_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_flat_cfg.c</b></td><td class="desc"></td></tr>
-<tr id="row_132_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__flat__cfg_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_flat_cfg.h</b></td><td class="desc"></td></tr>
-<tr id="row_133_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__flat__ini_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_flat_ini.c</b></td><td class="desc"></td></tr>
-<tr id="row_134_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__flat__ini_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_flat_ini.h</b></td><td class="desc"></td></tr>
-<tr id="row_135_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__flat__ini__by__cpl_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_flat_ini_by_cpl.c</b></td><td class="desc"></td></tr>
-<tr id="row_136_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__flat__ini__by__cpl_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_flat_ini_by_cpl.h</b></td><td class="desc"></td></tr>
-<tr id="row_137_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__focus_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_focus.c</b></td><td class="desc"></td></tr>
-<tr id="row_138_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__focus_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_focus.h</b></td><td class="desc"></td></tr>
-<tr id="row_139_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__focus__cfg_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_focus_cfg.c</b></td><td class="desc"></td></tr>
-<tr id="row_140_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__focus__cfg_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_focus_cfg.h</b></td><td class="desc"></td></tr>
-<tr id="row_141_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__focus__determination__config_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_focus_determination_config.c</b></td><td class="desc"></td></tr>
-<tr id="row_142_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__focus__determination__config_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_focus_determination_config.h</b></td><td class="desc"></td></tr>
-<tr id="row_143_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__focus__ini_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_focus_ini.h</b></td><td class="desc"></td></tr>
-<tr id="row_144_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__focus__ini__by__cpl_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_focus_ini_by_cpl.c</b></td><td class="desc"></td></tr>
-<tr id="row_145_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__focus__ini__by__cpl_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_focus_ini_by_cpl.h</b></td><td class="desc"></td></tr>
-<tr id="row_146_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__function__1d_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_function_1d.c</b></td><td class="desc"></td></tr>
-<tr id="row_147_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__function__1d_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_function_1d.h</b></td><td class="desc"></td></tr>
-<tr id="row_148_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__functions_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_functions.h</b></td><td class="desc"></td></tr>
-<tr id="row_149_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__general__config_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_general_config.c</b></td><td class="desc"></td></tr>
-<tr id="row_150_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__general__config_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_general_config.h</b></td><td class="desc"></td></tr>
-<tr id="row_151_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__globals_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_globals.c</b></td><td class="desc"></td></tr>
-<tr id="row_152_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__globals_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_globals.h</b></td><td class="desc"></td></tr>
-<tr id="row_153_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__hidden_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_hidden.h</b></td><td class="desc"></td></tr>
-<tr id="row_154_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__image__ops_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_image_ops.c</b></td><td class="desc"></td></tr>
-<tr id="row_155_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__image__ops_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_image_ops.h</b></td><td class="desc"></td></tr>
-<tr id="row_156_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__img__noise_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_img_noise.c</b></td><td class="desc"></td></tr>
-<tr id="row_157_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__ipow_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_ipow.c</b></td><td class="desc"></td></tr>
-<tr id="row_158_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__ipow_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_ipow.h</b></td><td class="desc"></td></tr>
-<tr id="row_159_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__irplib__cpl__wrp_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_irplib_cpl_wrp.h</b></td><td class="desc"></td></tr>
-<tr id="row_160_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__key__names_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_key_names.h</b></td><td class="desc"></td></tr>
-<tr id="row_161_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__lamp__cfg_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_lamp_cfg.c</b></td><td class="desc"></td></tr>
-<tr id="row_162_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__lamp__cfg_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_lamp_cfg.h</b></td><td class="desc"></td></tr>
-<tr id="row_163_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__lamp__flats__config_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_lamp_flats_config.c</b></td><td class="desc"></td></tr>
-<tr id="row_164_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__lamp__flats__config_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_lamp_flats_config.h</b></td><td class="desc"></td></tr>
-<tr id="row_165_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__lamp__flats__hidden__config_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_lamp_flats_hidden_config.c</b></td><td class="desc"></td></tr>
-<tr id="row_166_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__lamp__flats__hidden__config_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_lamp_flats_hidden_config.h</b></td><td class="desc"></td></tr>
-<tr id="row_167_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__lamp__ini_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_lamp_ini.c</b></td><td class="desc"></td></tr>
-<tr id="row_168_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__lamp__ini_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_lamp_ini.h</b></td><td class="desc"></td></tr>
-<tr id="row_169_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__lamp__ini__by__cpl_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_lamp_ini_by_cpl.c</b></td><td class="desc"></td></tr>
-<tr id="row_170_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__lamp__ini__by__cpl_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_lamp_ini_by_cpl.h</b></td><td class="desc"></td></tr>
-<tr id="row_171_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__lamp__spec__config_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_lamp_spec_config.c</b></td><td class="desc"></td></tr>
-<tr id="row_172_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__lamp__spec__config_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_lamp_spec_config.h</b></td><td class="desc"></td></tr>
-<tr id="row_173_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__local__types_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_local_types.h</b></td><td class="desc"></td></tr>
-<tr id="row_174_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__matrix_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_matrix.c</b></td><td class="desc"></td></tr>
-<tr id="row_175_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__matrix_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_matrix.h</b></td><td class="desc"></td></tr>
-<tr id="row_176_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__median_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_median.c</b></td><td class="desc"></td></tr>
-<tr id="row_177_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__median_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_median.h</b></td><td class="desc"></td></tr>
-<tr id="row_178_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__merge_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_merge.c</b></td><td class="desc"></td></tr>
-<tr id="row_179_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__merge_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_merge.h</b></td><td class="desc"></td></tr>
-<tr id="row_180_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__msg_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_msg.c</b></td><td class="desc"></td></tr>
-<tr id="row_181_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__msg_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_msg.h</b></td><td class="desc"></td></tr>
-<tr id="row_182_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__add__bp__map_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_add_bp_map.c</b></td><td class="desc"></td></tr>
-<tr id="row_183_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__add__bp__map_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_add_bp_map.h</b></td><td class="desc"></td></tr>
-<tr id="row_184_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__bezier_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_bezier.c</b></td><td class="desc"></td></tr>
-<tr id="row_185_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__bezier_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_bezier.h</b></td><td class="desc"></td></tr>
-<tr id="row_186_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__cube__ops_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_cube_ops.c</b></td><td class="desc"></td></tr>
-<tr id="row_187_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__cube__ops_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_cube_ops.h</b></td><td class="desc"></td></tr>
-<tr id="row_188_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__cubes__build_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_cubes_build.c</b></td><td class="desc"></td></tr>
-<tr id="row_189_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__cubes__build_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_cubes_build.h</b></td><td class="desc"></td></tr>
-<tr id="row_190_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__cubes__coadd_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_cubes_coadd.c</b></td><td class="desc"></td></tr>
-<tr id="row_191_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__cubes__coadd_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_cubes_coadd.h</b></td><td class="desc"></td></tr>
-<tr id="row_192_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__dark_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_dark.c</b></td><td class="desc"></td></tr>
-<tr id="row_193_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__dark_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_dark.h</b></td><td class="desc"></td></tr>
-<tr id="row_194_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__find__distortions_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_find_distortions.c</b></td><td class="desc"></td></tr>
-<tr id="row_195_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__find__distortions_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_find_distortions.h</b></td><td class="desc"></td></tr>
-<tr id="row_196_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__lamp__flats_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_lamp_flats.c</b></td><td class="desc"></td></tr>
-<tr id="row_197_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__lamp__flats_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_lamp_flats.h</b></td><td class="desc"></td></tr>
-<tr id="row_198_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__nst_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_nst.c</b></td><td class="desc"></td></tr>
-<tr id="row_199_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__nst_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_nst.h</b></td><td class="desc"></td></tr>
-<tr id="row_200_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__objnod_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_objnod.c</b></td><td class="desc"></td></tr>
-<tr id="row_201_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__objnod_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_objnod.h</b></td><td class="desc"></td></tr>
-<tr id="row_202_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__prepare__stacked__frames_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_prepare_stacked_frames.c</b></td><td class="desc"></td></tr>
-<tr id="row_203_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__prepare__stacked__frames_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_prepare_stacked_frames.h</b></td><td class="desc"></td></tr>
-<tr id="row_204_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__psf_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_psf.c</b></td><td class="desc"></td></tr>
-<tr id="row_205_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__psf_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_psf.h</b></td><td class="desc"></td></tr>
-<tr id="row_206_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__resampling_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_resampling.c</b></td><td class="desc"></td></tr>
-<tr id="row_207_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__resampling_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_resampling.h</b></td><td class="desc"></td></tr>
-<tr id="row_208_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__slit__pos_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_slit_pos.c</b></td><td class="desc"></td></tr>
-<tr id="row_209_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__slit__pos_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_slit_pos.h</b></td><td class="desc"></td></tr>
-<tr id="row_210_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__stdstar_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_stdstar.c</b></td><td class="desc"></td></tr>
-<tr id="row_211_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__stdstar_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_stdstar.h</b></td><td class="desc"></td></tr>
-<tr id="row_212_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__wave__cal__slit2_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_wave_cal_slit2.c</b></td><td class="desc"></td></tr>
-<tr id="row_213_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__new__wave__cal__slit2_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_new_wave_cal_slit2.h</b></td><td class="desc"></td></tr>
-<tr id="row_214_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__north__south__test__config_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_north_south_test_config.c</b></td><td class="desc"></td></tr>
-<tr id="row_215_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__north__south__test__config_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_north_south_test_config.h</b></td><td class="desc"></td></tr>
-<tr id="row_216_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__ns__cfg_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_ns_cfg.c</b></td><td class="desc"></td></tr>
-<tr id="row_217_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__ns__cfg_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_ns_cfg.h</b></td><td class="desc"></td></tr>
-<tr id="row_218_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__ns__ini_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_ns_ini.h</b></td><td class="desc"></td></tr>
-<tr id="row_219_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__ns__ini__by__cpl_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_ns_ini_by_cpl.c</b></td><td class="desc"></td></tr>
-<tr id="row_220_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__ns__ini__by__cpl_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_ns_ini_by_cpl.h</b></td><td class="desc"></td></tr>
-<tr id="row_221_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__object__cfg_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_object_cfg.c</b></td><td class="desc"></td></tr>
-<tr id="row_222_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__object__cfg_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_object_cfg.h</b></td><td class="desc"></td></tr>
-<tr id="row_223_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__object__ini_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_object_ini.h</b></td><td class="desc"></td></tr>
-<tr id="row_224_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__objnod__config_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_objnod_config.c</b></td><td class="desc"></td></tr>
-<tr id="row_225_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__objnod__config_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_objnod_config.h</b></td><td class="desc"></td></tr>
-<tr id="row_226_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__objnod__ini__by__cpl_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_objnod_ini_by_cpl.c</b></td><td class="desc"></td></tr>
-<tr id="row_227_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__objnod__ini__by__cpl_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_objnod_ini_by_cpl.h</b></td><td class="desc"></td></tr>
-<tr id="row_228_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__objspider__config_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_objspider_config.c</b></td><td class="desc"></td></tr>
-<tr id="row_229_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__objspider__config_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_objspider_config.h</b></td><td class="desc"></td></tr>
-<tr id="row_230_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__objspider__ini__by__cpl_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_objspider_ini_by_cpl.c</b></td><td class="desc"></td></tr>
-<tr id="row_231_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__objspider__ini__by__cpl_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_objspider_ini_by_cpl.h</b></td><td class="desc"></td></tr>
-<tr id="row_232_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__pfits_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_pfits.c</b></td><td class="desc"></td></tr>
-<tr id="row_233_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__pfits_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_pfits.h</b></td><td class="desc"></td></tr>
-<tr id="row_234_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__pixel__handling_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_pixel_handling.c</b></td><td class="desc"></td></tr>
-<tr id="row_235_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__pixel__handling_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_pixel_handling.h</b></td><td class="desc"></td></tr>
-<tr id="row_236_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__poly2d_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_poly2d.c</b></td><td class="desc"></td></tr>
-<tr id="row_237_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__poly2d_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_poly2d.h</b></td><td class="desc"></td></tr>
-<tr id="row_238_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__prepare__stacked__frames__config_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_prepare_stacked_frames_config.c</b></td><td class="desc"></td></tr>
-<tr id="row_239_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__prepare__stacked__frames__config_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_prepare_stacked_frames_config.h</b></td><td class="desc"></td></tr>
-<tr id="row_240_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__pro__save_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_pro_save.c</b></td><td class="desc"></td></tr>
-<tr id="row_241_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__pro__save_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_pro_save.h</b></td><td class="desc"></td></tr>
-<tr id="row_242_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__pro__types_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_pro_types.h</b></td><td class="desc"></td></tr>
-<tr id="row_243_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__product__config_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_product_config.c</b></td><td class="desc"></td></tr>
-<tr id="row_244_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__product__config_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_product_config.h</b></td><td class="desc"></td></tr>
-<tr id="row_245_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__psf__cfg_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_psf_cfg.c</b></td><td class="desc"></td></tr>
-<tr id="row_246_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__psf__cfg_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_psf_cfg.h</b></td><td class="desc"></td></tr>
-<tr id="row_247_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__psf__config_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_psf_config.c</b></td><td class="desc"></td></tr>
-<tr id="row_248_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__psf__config_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_psf_config.h</b></td><td class="desc"></td></tr>
-<tr id="row_249_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__psf__ini_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_psf_ini.h</b></td><td class="desc"></td></tr>
-<tr id="row_250_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__psf__ini__by__cpl_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_psf_ini_by_cpl.c</b></td><td class="desc"></td></tr>
-<tr id="row_251_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__psf__ini__by__cpl_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_psf_ini_by_cpl.h</b></td><td class="desc"></td></tr>
-<tr id="row_252_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__qr_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_qr.c</b></td><td class="desc"></td></tr>
-<tr id="row_253_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__raw__types_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_raw_types.h</b></td><td class="desc"></td></tr>
-<tr id="row_254_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__rec__detlin_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_rec_detlin.c</b></td><td class="desc"></td></tr>
-<tr id="row_255_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__rec__distortion_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_rec_distortion.c</b></td><td class="desc"></td></tr>
-<tr id="row_256_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__rec__jitter_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_rec_jitter.c</b></td><td class="desc"></td></tr>
-<tr id="row_257_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__rec__lingain_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_rec_lingain.c</b></td><td class="desc"></td></tr>
-<tr id="row_258_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__rec__mdark_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_rec_mdark.c</b></td><td class="desc"></td></tr>
-<tr id="row_259_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__rec__mdark__detmon_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_rec_mdark_detmon.c</b></td><td class="desc"></td></tr>
-<tr id="row_260_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__rec__mflat_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_rec_mflat.c</b></td><td class="desc"></td></tr>
-<tr id="row_261_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__rec__objnod_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_rec_objnod.c</b></td><td class="desc"></td></tr>
-<tr id="row_262_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__rec__psf_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_rec_psf.c</b></td><td class="desc"></td></tr>
-<tr id="row_263_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__rec__pupil_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_rec_pupil.c</b></td><td class="desc"></td></tr>
-<tr id="row_264_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__rec__stdstar_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_rec_stdstar.c</b></td><td class="desc"></td></tr>
-<tr id="row_265_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__rec__utils_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_rec_utils.c</b></td><td class="desc"></td></tr>
-<tr id="row_266_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__rec__utils_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_rec_utils.h</b></td><td class="desc"></td></tr>
-<tr id="row_267_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__rec__wavecal_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_rec_wavecal.c</b></td><td class="desc"></td></tr>
-<tr id="row_268_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__recipes_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_recipes.c</b></td><td class="desc"></td></tr>
-<tr id="row_269_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__recipes_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_recipes.h</b></td><td class="desc"></td></tr>
-<tr id="row_270_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__ref__types_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_ref_types.h</b></td><td class="desc"></td></tr>
-<tr id="row_271_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__remove__crh__single_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_remove_crh_single.c</b></td><td class="desc"></td></tr>
-<tr id="row_272_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__remove__crh__single_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_remove_crh_single.h</b></td><td class="desc"></td></tr>
-<tr id="row_273_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__resampling_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_resampling.c</b></td><td class="desc"></td></tr>
-<tr id="row_274_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__resampling_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_resampling.h</b></td><td class="desc"></td></tr>
-<tr id="row_275_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__shift__images_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_shift_images.c</b></td><td class="desc"></td></tr>
-<tr id="row_276_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__shift__images_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_shift_images.h</b></td><td class="desc"></td></tr>
-<tr id="row_277_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__skycor_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_skycor.c</b></td><td class="desc"></td></tr>
-<tr id="row_278_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__skycor_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_skycor.h</b></td><td class="desc"></td></tr>
-<tr id="row_279_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__skycor__config_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_skycor_config.c</b></td><td class="desc"></td></tr>
-<tr id="row_280_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__skycor__config_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_skycor_config.h</b></td><td class="desc"></td></tr>
-<tr id="row_281_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__solve__poly__root_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_solve_poly_root.c</b></td><td class="desc"></td></tr>
-<tr id="row_282_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__solve__poly__root_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_solve_poly_root.h</b></td><td class="desc"></td></tr>
-<tr id="row_283_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__spectrum__ops_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_spectrum_ops.c</b></td><td class="desc"></td></tr>
-<tr id="row_284_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__spectrum__ops_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_spectrum_ops.h</b></td><td class="desc"></td></tr>
-<tr id="row_285_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__spiffi__types_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_spiffi_types.h</b></td><td class="desc"></td></tr>
-<tr id="row_286_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__stack__cfg_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_stack_cfg.c</b></td><td class="desc"></td></tr>
-<tr id="row_287_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__stack__cfg_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_stack_cfg.h</b></td><td class="desc"></td></tr>
-<tr id="row_288_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__stack__ini_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_stack_ini.h</b></td><td class="desc"></td></tr>
-<tr id="row_289_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__stack__ini__by__cpl_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_stack_ini_by_cpl.c</b></td><td class="desc"></td></tr>
-<tr id="row_290_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__stack__ini__by__cpl_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_stack_ini_by_cpl.h</b></td><td class="desc"></td></tr>
-<tr id="row_291_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__stacked__hidden__config_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_stacked_hidden_config.c</b></td><td class="desc"></td></tr>
-<tr id="row_292_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__stacked__hidden__config_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_stacked_hidden_config.h</b></td><td class="desc"></td></tr>
-<tr id="row_293_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__standard__star__config_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_standard_star_config.c</b></td><td class="desc"></td></tr>
-<tr id="row_294_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__standard__star__config_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_standard_star_config.h</b></td><td class="desc"></td></tr>
-<tr id="row_295_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__standstar__cfg_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_standstar_cfg.c</b></td><td class="desc"></td></tr>
-<tr id="row_296_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__standstar__cfg_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_standstar_cfg.h</b></td><td class="desc"></td></tr>
-<tr id="row_297_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__standstar__ini_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_standstar_ini.h</b></td><td class="desc"></td></tr>
-<tr id="row_298_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__standstar__ini__by__cpl_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_standstar_ini_by_cpl.c</b></td><td class="desc"></td></tr>
-<tr id="row_299_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__standstar__ini__by__cpl_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_standstar_ini_by_cpl.h</b></td><td class="desc"></td></tr>
-<tr id="row_300_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__star__index_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_star_index.c</b></td><td class="desc"></td></tr>
-<tr id="row_301_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__star__index_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_star_index.h</b></td><td class="desc"></td></tr>
-<tr id="row_302_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__step__distortion_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_step_distortion.c</b></td><td class="desc"></td></tr>
-<tr id="row_303_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__step__jitter_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_step_jitter.c</b></td><td class="desc"></td></tr>
-<tr id="row_304_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__step__objnod_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_step_objnod.c</b></td><td class="desc"></td></tr>
-<tr id="row_305_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__step__psf_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_step_psf.c</b></td><td class="desc"></td></tr>
-<tr id="row_306_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__step__stdstar_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_step_stdstar.c</b></td><td class="desc"></td></tr>
-<tr id="row_307_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__svd_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_svd.c</b></td><td class="desc"></td></tr>
-<tr id="row_308_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__svd_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_svd.h</b></td><td class="desc"></td></tr>
-<tr id="row_309_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__tilt__cfg_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_tilt_cfg.c</b></td><td class="desc"></td></tr>
-<tr id="row_310_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__tilt__cfg_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_tilt_cfg.h</b></td><td class="desc"></td></tr>
-<tr id="row_311_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__tilt__ini_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_tilt_ini.h</b></td><td class="desc"></td></tr>
-<tr id="row_312_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__time_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_time.c</b></td><td class="desc"></td></tr>
-<tr id="row_313_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__time_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_time.h</b></td><td class="desc"></td></tr>
-<tr id="row_314_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__tpl__dfs_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_tpl_dfs.c</b></td><td class="desc"></td></tr>
-<tr id="row_315_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__tpl__dfs_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_tpl_dfs.h</b></td><td class="desc"></td></tr>
-<tr id="row_316_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__tpl__utils_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_tpl_utils.c</b></td><td class="desc"></td></tr>
-<tr id="row_317_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__tpl__utils_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_tpl_utils.h</b></td><td class="desc"></td></tr>
-<tr id="row_318_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utilities_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utilities.c</b></td><td class="desc"></td></tr>
-<tr id="row_319_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utilities_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utilities.h</b></td><td class="desc"></td></tr>
-<tr id="row_320_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utilities__scired_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utilities_scired.c</b></td><td class="desc"></td></tr>
-<tr id="row_321_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utilities__scired_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utilities_scired.h</b></td><td class="desc"></td></tr>
-<tr id="row_322_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utils_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utils.c</b></td><td class="desc"></td></tr>
-<tr id="row_323_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utils_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utils.h</b></td><td class="desc"></td></tr>
-<tr id="row_324_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utils__wrappers_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utils_wrappers.c</b></td><td class="desc"></td></tr>
-<tr id="row_325_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utils__wrappers_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utils_wrappers.h</b></td><td class="desc"></td></tr>
-<tr id="row_326_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utl__bp__mask__add_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utl_bp_mask_add.c</b></td><td class="desc"></td></tr>
-<tr id="row_327_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfoni_2sinfo__utl__cube2ima_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfoni/sinfo_utl_cube2ima.c</b></td><td class="desc"></td></tr>
-<tr id="row_328_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="recipes_2sinfo__utl__cube2ima_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>recipes/sinfo_utl_cube2ima.c</b></td><td class="desc"></td></tr>
-<tr id="row_329_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utl__cube2ima_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utl_cube2ima.h</b></td><td class="desc"></td></tr>
-<tr id="row_330_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfoni_2sinfo__utl__cube2spectrum_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfoni/sinfo_utl_cube2spectrum.c</b></td><td class="desc"></td></tr>
-<tr id="row_331_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="recipes_2sinfo__utl__cube2spectrum_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>recipes/sinfo_utl_cube2spectrum.c</b></td><td class="desc"></td></tr>
-<tr id="row_332_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utl__cube2spectrum_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utl_cube2spectrum.h</b></td><td class="desc"></td></tr>
-<tr id="row_333_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfoni_2sinfo__utl__cube__arith_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfoni/sinfo_utl_cube_arith.c</b></td><td class="desc"></td></tr>
-<tr id="row_334_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="recipes_2sinfo__utl__cube__arith_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>recipes/sinfo_utl_cube_arith.c</b></td><td class="desc"></td></tr>
-<tr id="row_335_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utl__cube__arith_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utl_cube_arith.h</b></td><td class="desc"></td></tr>
-<tr id="row_336_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfoni_2sinfo__utl__cube__combine_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfoni/sinfo_utl_cube_combine.c</b></td><td class="desc"></td></tr>
-<tr id="row_337_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="recipes_2sinfo__utl__cube__combine_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>recipes/sinfo_utl_cube_combine.c</b></td><td class="desc"></td></tr>
-<tr id="row_338_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utl__cube__combine_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utl_cube_combine.h</b></td><td class="desc"></td></tr>
-<tr id="row_339_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utl__cube__create_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utl_cube_create.c</b></td><td class="desc"></td></tr>
-<tr id="row_340_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utl__cube__test_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utl_cube_test.c</b></td><td class="desc"></td></tr>
-<tr id="row_341_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utl__eff_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utl_eff.c</b></td><td class="desc"></td></tr>
-<tr id="row_342_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utl__efficiency_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utl_efficiency.c</b></td><td class="desc"></td></tr>
-<tr id="row_343_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utl__efficiency_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utl_efficiency.h</b></td><td class="desc"></td></tr>
-<tr id="row_344_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utl__illumcorr_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utl_illumcorr.c</b></td><td class="desc"></td></tr>
-<tr id="row_345_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utl__ima__arith_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utl_ima_arith.c</b></td><td class="desc"></td></tr>
-<tr id="row_346_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utl__ima__cube__ks__test_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utl_ima_cube_ks_test.c</b></td><td class="desc"></td></tr>
-<tr id="row_347_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utl__ima__gauss_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utl_ima_gauss.c</b></td><td class="desc"></td></tr>
-<tr id="row_348_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utl__ima__line__corr_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utl_ima_line_corr.c</b></td><td class="desc"></td></tr>
-<tr id="row_349_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utl__line__oh__select_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utl_line_oh_select.c</b></td><td class="desc"></td></tr>
-<tr id="row_350_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utl__remove__crh__single_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utl_remove_crh_single.c</b></td><td class="desc"></td></tr>
-<tr id="row_351_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utl__seds_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utl_seds.c</b></td><td class="desc"></td></tr>
-<tr id="row_352_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utl__skycor_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utl_skycor.c</b></td><td class="desc"></td></tr>
-<tr id="row_353_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utl__skymap_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utl_skymap.c</b></td><td class="desc"></td></tr>
-<tr id="row_354_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfoni_2sinfo__utl__spectrum__divide__by__blackbody_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfoni/sinfo_utl_spectrum_divide_by_blackbody.c</b></td><td class="desc"></td></tr>
-<tr id="row_355_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="recipes_2sinfo__utl__spectrum__divide__by__blackbody_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>recipes/sinfo_utl_spectrum_divide_by_blackbody.c</b></td><td class="desc"></td></tr>
-<tr id="row_356_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utl__spectrum__divide__by__blackbody_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utl_spectrum_divide_by_blackbody.h</b></td><td class="desc"></td></tr>
-<tr id="row_357_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfoni_2sinfo__utl__spectrum__wavelength__shift_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfoni/sinfo_utl_spectrum_wavelength_shift.c</b></td><td class="desc"></td></tr>
-<tr id="row_358_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="recipes_2sinfo__utl__spectrum__wavelength__shift_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>recipes/sinfo_utl_spectrum_wavelength_shift.c</b></td><td class="desc"></td></tr>
-<tr id="row_359_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utl__spectrum__wavelength__shift_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utl_spectrum_wavelength_shift.h</b></td><td class="desc"></td></tr>
-<tr id="row_360_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utl__stdstars_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utl_stdstars.c</b></td><td class="desc"></td></tr>
-<tr id="row_361_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utl__table__ex_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utl_table_ex.c</b></td><td class="desc"></td></tr>
-<tr id="row_362_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__utl__table__test_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_utl_table_test.c</b></td><td class="desc"></td></tr>
-<tr id="row_363_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__vltPort_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_vltPort.h</b></td><td class="desc"></td></tr>
-<tr id="row_364_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__wave__calibration_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_wave_calibration.c</b></td><td class="desc"></td></tr>
-<tr id="row_365_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__wave__calibration_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_wave_calibration.h</b></td><td class="desc"></td></tr>
-<tr id="row_366_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__wavecal_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_wavecal.c</b></td><td class="desc"></td></tr>
-<tr id="row_367_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__wavecal_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_wavecal.h</b></td><td class="desc"></td></tr>
-<tr id="row_368_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__wavecal__cfg_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_wavecal_cfg.c</b></td><td class="desc"></td></tr>
-<tr id="row_369_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__wavecal__cfg_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_wavecal_cfg.h</b></td><td class="desc"></td></tr>
-<tr id="row_370_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__wavecal__config_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_wavecal_config.c</b></td><td class="desc"></td></tr>
-<tr id="row_371_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__wavecal__config_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_wavecal_config.h</b></td><td class="desc"></td></tr>
-<tr id="row_372_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__wavecal__ini_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_wavecal_ini.h</b></td><td class="desc"></td></tr>
-<tr id="row_373_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__wavecal__ini__by__cpl_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_wavecal_ini_by_cpl.c</b></td><td class="desc"></td></tr>
-<tr id="row_374_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__wavecal__ini__by__cpl_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_wavecal_ini_by_cpl.h</b></td><td class="desc"></td></tr>
-<tr id="row_375_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="sinfo__wcal__functions_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_wcal_functions.c</b></td><td class="desc"></td></tr>
-<tr id="row_376_" class="even"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a href="sinfo__wcal__functions_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>sinfo_wcal_functions.h</b></td><td class="desc"></td></tr>
-</table>
-</div><!-- directory -->
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/ftv2blank.png b/html/ftv2blank.png
deleted file mode 100644
index 63c605b..0000000
Binary files a/html/ftv2blank.png and /dev/null differ
diff --git a/html/ftv2cl.png b/html/ftv2cl.png
deleted file mode 100644
index 132f657..0000000
Binary files a/html/ftv2cl.png and /dev/null differ
diff --git a/html/ftv2doc.png b/html/ftv2doc.png
deleted file mode 100644
index 17edabf..0000000
Binary files a/html/ftv2doc.png and /dev/null differ
diff --git a/html/ftv2folderclosed.png b/html/ftv2folderclosed.png
deleted file mode 100644
index bb8ab35..0000000
Binary files a/html/ftv2folderclosed.png and /dev/null differ
diff --git a/html/ftv2folderopen.png b/html/ftv2folderopen.png
deleted file mode 100644
index d6c7f67..0000000
Binary files a/html/ftv2folderopen.png and /dev/null differ
diff --git a/html/ftv2lastnode.png b/html/ftv2lastnode.png
deleted file mode 100644
index 63c605b..0000000
Binary files a/html/ftv2lastnode.png and /dev/null differ
diff --git a/html/ftv2link.png b/html/ftv2link.png
deleted file mode 100644
index 17edabf..0000000
Binary files a/html/ftv2link.png and /dev/null differ
diff --git a/html/ftv2mlastnode.png b/html/ftv2mlastnode.png
deleted file mode 100644
index 0b63f6d..0000000
Binary files a/html/ftv2mlastnode.png and /dev/null differ
diff --git a/html/ftv2mnode.png b/html/ftv2mnode.png
deleted file mode 100644
index 0b63f6d..0000000
Binary files a/html/ftv2mnode.png and /dev/null differ
diff --git a/html/ftv2mo.png b/html/ftv2mo.png
deleted file mode 100644
index 4bfb80f..0000000
Binary files a/html/ftv2mo.png and /dev/null differ
diff --git a/html/ftv2node.png b/html/ftv2node.png
deleted file mode 100644
index 63c605b..0000000
Binary files a/html/ftv2node.png and /dev/null differ
diff --git a/html/ftv2ns.png b/html/ftv2ns.png
deleted file mode 100644
index 72e3d71..0000000
Binary files a/html/ftv2ns.png and /dev/null differ
diff --git a/html/ftv2plastnode.png b/html/ftv2plastnode.png
deleted file mode 100644
index c6ee22f..0000000
Binary files a/html/ftv2plastnode.png and /dev/null differ
diff --git a/html/ftv2pnode.png b/html/ftv2pnode.png
deleted file mode 100644
index c6ee22f..0000000
Binary files a/html/ftv2pnode.png and /dev/null differ
diff --git a/html/ftv2splitbar.png b/html/ftv2splitbar.png
deleted file mode 100644
index fe895f2..0000000
Binary files a/html/ftv2splitbar.png and /dev/null differ
diff --git a/html/ftv2vertline.png b/html/ftv2vertline.png
deleted file mode 100644
index 63c605b..0000000
Binary files a/html/ftv2vertline.png and /dev/null differ
diff --git a/html/group__irplib__calib.html b/html/group__irplib__calib.html
deleted file mode 100644
index 4b11a9f..0000000
--- a/html/group__irplib__calib.html
+++ /dev/null
@@ -1,390 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Functions for calibrations</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Functions for calibrations</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga98c9970b59c6b7919f531829f6f5dab9"><td class="memItemLeft" align="right" valign="top">cpl_table * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__calib.html#ga98c9970b59c6b7919f531829f6f5dab9">irplib_compute_gain</a> (cpl_frameset *son, cpl_frameset *sof, int *zone, const int kappa, const int nclip)</td></tr>
-<tr class="memdesc:ga98c9970b59c6b7919f531829f6f5dab9"><td class="mdescLeft"> </td><td class="mdescRight">Computes the detector's gain. <a href="#ga98c9970b59c6b7919f531829f6f5dab9"></a><br/></td></tr>
-<tr class="memitem:gadefee4e970a548c25bcbb42797778a2a"><td class="memItemLeft" align="right" valign="top">cpl_table * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__calib.html#gadefee4e970a548c25bcbb42797778a2a">irplib_compute_linearity</a> (cpl_frameset *son, cpl_frameset *sof)</td></tr>
-<tr class="memdesc:gadefee4e970a548c25bcbb42797778a2a"><td class="mdescLeft"> </td><td class="mdescRight">Computes the detector's linearity. <a href="#gadefee4e970a548c25bcbb42797778a2a"></a><br/></td></tr>
-<tr class="memitem:gae9b762625dbd2c31c1b59cfd8c15fd90"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__calib.html#gae9b762625dbd2c31c1b59cfd8c15fd90">irplib_detlin_correct</a> (cpl_imagelist *ilist, const char *detlin_a, const char *detlin_b, const char *detlin_c)</td></tr>
-<tr class="memdesc:gae9b762625dbd2c31c1b59cfd8c15fd90"><td class="mdescLeft"> </td><td class="mdescRight">Apply the detector linearity correction. <a href="#gae9b762625dbd2c31c1b59cfd8c15fd90"></a><br/></td></tr>
-<tr class="memitem:gae650a3e54e1aff329b1b5ee356bcdbde"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__calib.html#gae650a3e54e1aff329b1b5ee356bcdbde">irplib_flat_dark_bpm_calib</a> (cpl_imagelist *ilist, const char *flat, const char *dark, const char *bpm)</td></tr>
-<tr class="memdesc:gae650a3e54e1aff329b1b5ee356bcdbde"><td class="mdescLeft"> </td><td class="mdescRight">Apply the calibration to the frames. <a href="#gae650a3e54e1aff329b1b5ee356bcdbde"></a><br/></td></tr>
-<tr class="memitem:gae11ebd9b30a6c781265ba2e5af87722b"><td class="memItemLeft" align="right" valign="top">cpl_image * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__calib.html#gae11ebd9b30a6c781265ba2e5af87722b">irplib_mkmaster_mean</a> (cpl_imagelist *images, const double kappa, const int nclip, const double tolerance, const double klow, const double khigh, const int niter)</td></tr>
-<tr class="memdesc:gae11ebd9b30a6c781265ba2e5af87722b"><td class="mdescLeft"> </td><td class="mdescRight">Computes master frame by clean stack mean of the input imagelist. <a href="#gae11ebd9b30a6c781265ba2e5af87722b"></a><br/></td></tr>
-<tr class="memitem:ga31157521720077a762a43644a503bbf2"><td class="memItemLeft" align="right" valign="top">cpl_image * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__calib.html#ga31157521720077a762a43644a503bbf2">irplib_mkmaster_median</a> (cpl_imagelist *images, const double kappa, const int nclip, const double tolerance)</td></tr>
-<tr class="memdesc:ga31157521720077a762a43644a503bbf2"><td class="mdescLeft"> </td><td class="mdescRight">Computes master frame by clean stack median of the input imagelist. <a href="#ga31157521720077a762a43644a503bbf2"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga98c9970b59c6b7919f531829f6f5dab9"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_table* irplib_compute_gain </td>
- <td>(</td>
- <td class="paramtype">cpl_frameset * </td>
- <td class="paramname"><em>son</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_frameset * </td>
- <td class="paramname"><em>sof</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int * </td>
- <td class="paramname"><em>zone</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const int </td>
- <td class="paramname"><em>kappa</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const int </td>
- <td class="paramname"><em>nclip</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Computes the detector's gain. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">son</td><td>the input frameset of linearity on-flat fields </td></tr>
- <tr><td class="paramname">sof</td><td>the input frameset of linearity off-flat fields </td></tr>
- <tr><td class="paramname">zone</td><td>pointer to an integer array with locations (llx,lly,urx,ury) of region where a clean mean and noise are computed </td></tr>
- <tr><td class="paramname">kappa</td><td>value of kappa in kappa-sigma clipping </td></tr>
- <tr><td class="paramname">nclip</td><td>number of kappa-sigma clipping iterations</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>pointer to a table containing single gain evaluations </dd></dl>
-<dl class="section note"><dt>Note:</dt><dd>: #1 input frames need to have defined FITS keyword EXPTIME #2 input frames need to have defined FITS keyword DIT </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__calib_8c_source.html#l00191">191</a> of file <a class="el" href="irplib__calib_8c_source.html">irplib_calib.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gadefee4e970a548c25bcbb42797778a2a"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_table* irplib_compute_linearity </td>
- <td>(</td>
- <td class="paramtype">cpl_frameset * </td>
- <td class="paramname"><em>son</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_frameset * </td>
- <td class="paramname"><em>sof</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Computes the detector's linearity. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">son</td><td>the input frameset of linearity on flat fields </td></tr>
- <tr><td class="paramname">sof</td><td>the input frameset of linearity off flat fields </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>pointer to a table containing linearity evaluations </dd></dl>
-<dl class="section note"><dt>Note:</dt><dd>: #2 input frames need to have defined FITS keyword EXPTIME #3 input frames need to have defined FITS keyword DIT </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__calib_8c_source.html#l00372">372</a> of file <a class="el" href="irplib__calib_8c_source.html">irplib_calib.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gae9b762625dbd2c31c1b59cfd8c15fd90"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int irplib_detlin_correct </td>
- <td>(</td>
- <td class="paramtype">cpl_imagelist * </td>
- <td class="paramname"><em>ilist</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>detlin_a</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>detlin_b</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>detlin_c</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Apply the detector linearity correction. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">ilist</td><td>the input image list </td></tr>
- <tr><td class="paramname">detlin_a</td><td>the a coeffs </td></tr>
- <tr><td class="paramname">detlin_b</td><td>the b coeffs </td></tr>
- <tr><td class="paramname">detlin_c</td><td>the c coeffs </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if everything is ok, -1 otherwise </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__calib_8c_source.html#l00493">493</a> of file <a class="el" href="irplib__calib_8c_source.html">irplib_calib.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gae650a3e54e1aff329b1b5ee356bcdbde"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int irplib_flat_dark_bpm_calib </td>
- <td>(</td>
- <td class="paramtype">cpl_imagelist * </td>
- <td class="paramname"><em>ilist</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>flat</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>dark</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>bpm</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Apply the calibration to the frames. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">ilist</td><td>the input image list </td></tr>
- <tr><td class="paramname">flat</td><td>the flat field </td></tr>
- <tr><td class="paramname">dark</td><td>the dark </td></tr>
- <tr><td class="paramname">bpm</td><td>the bad pixels map </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if everything is ok, -1 otherwise </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__calib_8c_source.html#l00578">578</a> of file <a class="el" href="irplib__calib_8c_source.html">irplib_calib.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gae11ebd9b30a6c781265ba2e5af87722b"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_image* irplib_mkmaster_mean </td>
- <td>(</td>
- <td class="paramtype">cpl_imagelist * </td>
- <td class="paramname"><em>images</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const double </td>
- <td class="paramname"><em>kappa</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const int </td>
- <td class="paramname"><em>nclip</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const double </td>
- <td class="paramname"><em>tolerance</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const double </td>
- <td class="paramname"><em>klow</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const double </td>
- <td class="paramname"><em>khigh</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const int </td>
- <td class="paramname"><em>niter</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Computes master frame by clean stack mean of the input imagelist. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">images</td><td>input imagelist </td></tr>
- <tr><td class="paramname">kappa</td><td>value for kappa-sigma clip </td></tr>
- <tr><td class="paramname">nclip</td><td>Number of clipping iterations </td></tr>
- <tr><td class="paramname">tolerance</td><td>tolerance on range between two successive clip iterations</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>master image</dd></dl>
-<p>The returned image must be deallocated. </p>
-
-<p>Definition at line <a class="el" href="irplib__mkmaster_8c_source.html#l00313">313</a> of file <a class="el" href="irplib__mkmaster_8c_source.html">irplib_mkmaster.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga31157521720077a762a43644a503bbf2"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_image* irplib_mkmaster_median </td>
- <td>(</td>
- <td class="paramtype">cpl_imagelist * </td>
- <td class="paramname"><em>images</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const double </td>
- <td class="paramname"><em>kappa</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const int </td>
- <td class="paramname"><em>nclip</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const double </td>
- <td class="paramname"><em>tolerance</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Computes master frame by clean stack median of the input imagelist. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">images</td><td>input imagelist </td></tr>
- <tr><td class="paramname">kappa</td><td>value for kappa-sigma clip </td></tr>
- <tr><td class="paramname">nclip</td><td>Number of clipping iterations </td></tr>
- <tr><td class="paramname">tolerance</td><td>tolerance on range between two successive clip iterations</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>master image</dd></dl>
-<p>The returned image must be deallocated. </p>
-
-<p>Definition at line <a class="el" href="irplib__mkmaster_8c_source.html#l00352">352</a> of file <a class="el" href="irplib__mkmaster_8c_source.html">irplib_mkmaster.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__irplib__cat.html b/html/group__irplib__cat.html
deleted file mode 100644
index fdab88b..0000000
--- a/html/group__irplib__cat.html
+++ /dev/null
@@ -1,278 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Functions for accessing catalogues</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Functions for accessing catalogues</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga8dd2b5e6b7bc4a7ea3f2b275882aa200"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__cat.html#ga8dd2b5e6b7bc4a7ea3f2b275882aa200">irplib_2mass_get_catpars</a> (const cpl_frame *master_index, char **catpath, char **catname)</td></tr>
-<tr class="memdesc:ga8dd2b5e6b7bc4a7ea3f2b275882aa200"><td class="mdescLeft"> </td><td class="mdescRight">Find the name of the standard catalogue being used and its location. <a href="#ga8dd2b5e6b7bc4a7ea3f2b275882aa200"></a><br/></td></tr>
-<tr class="memitem:ga2289fa88ec0498a2930291b1d51a46af"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__cat.html#ga2289fa88ec0498a2930291b1d51a46af">irplib_cat_get_image_limits</a> (const cpl_wcs *wcs, float ext_search, double *ra1, double *ra2, double *dec1, double *dec2)</td></tr>
-<tr class="memdesc:ga2289fa88ec0498a2930291b1d51a46af"><td class="mdescLeft"> </td><td class="mdescRight">Get coverage in ra, dec of a frame. <a href="#ga2289fa88ec0498a2930291b1d51a46af"></a><br/></td></tr>
-<tr class="memitem:ga7fdafd757d33d4096270027912a89cf6"><td class="memItemLeft" align="right" valign="top">cpl_table * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__cat.html#ga7fdafd757d33d4096270027912a89cf6">irplib_2mass_extract</a> (char *path, float ramin, float ramax, float decmin, float decmax)</td></tr>
-<tr class="memdesc:ga7fdafd757d33d4096270027912a89cf6"><td class="mdescLeft"> </td><td class="mdescRight">Extract standards from the 2mass catalogue. <a href="#ga7fdafd757d33d4096270027912a89cf6"></a><br/></td></tr>
-<tr class="memitem:gaf3dbc2180a59e7187674707510205afe"><td class="memItemLeft" align="right" valign="top">cpl_table * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__cat.html#gaf3dbc2180a59e7187674707510205afe">irplib_match_cat_pairs</a> (cpl_table **catalogues, int ncats, int(*binary_match_condition)(cpl_table *catalogue1, cpl_table *catalogue2, intiobj1, intiobj2))</td></tr>
-<tr class="memdesc:gaf3dbc2180a59e7187674707510205afe"><td class="mdescLeft"> </td><td class="mdescRight">Finds all the objects that appear at least in some of the catalogues. <a href="#gaf3dbc2180a59e7187674707510205afe"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga7fdafd757d33d4096270027912a89cf6"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_table* irplib_2mass_extract </td>
- <td>(</td>
- <td class="paramtype">char * </td>
- <td class="paramname"><em>path</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">float </td>
- <td class="paramname"><em>ramin</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">float </td>
- <td class="paramname"><em>ramax</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">float </td>
- <td class="paramname"><em>decmin</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">float </td>
- <td class="paramname"><em>decmax</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Extract standards from the 2mass catalogue. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">path</td><td>The full path to the catalogue FITS files and index. </td></tr>
- <tr><td class="paramname">ramin1</td><td>The minimum RA, this can be negative in the case the area wraps around the equinox. </td></tr>
- <tr><td class="paramname">ramax1</td><td>The maximum RA </td></tr>
- <tr><td class="paramname">decmin</td><td>The minimum Declination </td></tr>
- <tr><td class="paramname">decmax</td><td>The maximum Declination </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>A table structure with the extracted catalogue objects</dd></dl>
-<p>The FITS tables containing the 2mass psc catalogue are searched to find all of the objects within an input equatorial area. Deals with the sigularity at the equinox, but not at the poles. </p>
-
-<p>Definition at line <a class="el" href="irplib__cat_8c_source.html#l00280">280</a> of file <a class="el" href="irplib__cat_8c_source.html">irplib_cat.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga8dd2b5e6b7bc4a7ea3f2b275882aa200"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int irplib_2mass_get_catpars </td>
- <td>(</td>
- <td class="paramtype">const cpl_frame * </td>
- <td class="paramname"><em>master_index</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char ** </td>
- <td class="paramname"><em>catpath</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char ** </td>
- <td class="paramname"><em>catname</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Find the name of the standard catalogue being used and its location. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">index</td><td>The frame for the index FITS file </td></tr>
- <tr><td class="paramname">catpath</td><td>The full path to the catalgoue FITS files </td></tr>
- <tr><td class="paramname">catname</td><td>The name of the catalogue </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE if sucess CPL_ERROR_FILE_IO if the file does not exist or the header cannot be read.</dd></dl>
-<p>Find the name of the standard catalogue being used and its location. The former should be in a header keyword in the specified FITS file. The latter is the full path of the FITS file. Both values need to be deallocated when you're finished with them. </p>
-
-<p>Definition at line <a class="el" href="irplib__cat_8c_source.html#l00075">75</a> of file <a class="el" href="irplib__cat_8c_source.html">irplib_cat.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga2289fa88ec0498a2930291b1d51a46af"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_cat_get_image_limits </td>
- <td>(</td>
- <td class="paramtype">const cpl_wcs * </td>
- <td class="paramname"><em>wcs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">float </td>
- <td class="paramname"><em>ext_search</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double * </td>
- <td class="paramname"><em>ra1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double * </td>
- <td class="paramname"><em>ra2</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double * </td>
- <td class="paramname"><em>dec1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double * </td>
- <td class="paramname"><em>dec2</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Get coverage in ra, dec of a frame. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">plist</td><td>Input property list </td></tr>
- <tr><td class="paramname">ext_search</td><td>Factor for an extra box search. </td></tr>
- <tr><td class="paramname">ra1</td><td>Lower RA </td></tr>
- <tr><td class="paramname">ra2</td><td>Upper RA </td></tr>
- <tr><td class="paramname">dec1</td><td>Lower Dec </td></tr>
- <tr><td class="paramname">dec2</td><td>Upper Dec </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE if sucess. CPL_ERROR_DATA_NOT_FOUND if wcs is not valid</dd></dl>
-<p>Given a WCS solution this routine works out the min and max equatorial coordinates covered by the image. </p>
-
-<p>Definition at line <a class="el" href="irplib__cat_8c_source.html#l00154">154</a> of file <a class="el" href="irplib__cat_8c_source.html">irplib_cat.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gaf3dbc2180a59e7187674707510205afe"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_table* irplib_match_cat_pairs </td>
- <td>(</td>
- <td class="paramtype">cpl_table ** </td>
- <td class="paramname"><em>catalogues</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>ncats</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int(*)(cpl_table *catalogue1, cpl_table *catalogue2, intiobj1, intiobj2) </td>
- <td class="paramname"><em>binary_match_condition</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Finds all the objects that appear at least in some of the catalogues. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">catalogues</td><td>All the catalogues </td></tr>
- <tr><td class="paramname">ncats</td><td>Number of catalogues </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>The matching table if sucess, NULL otherwise.</dd></dl>
-<p>Implementation notes:</p>
-<p>cat_indexing_order tells you in which order the catalogues are being iterated. For example cat_indexing_order[2] gives the index of the catalogue that is being iterated in the 3rd postion. </p>
-
-<p>Definition at line <a class="el" href="irplib__match__cats_8c_source.html#l00126">126</a> of file <a class="el" href="irplib__match__cats_8c_source.html">irplib_match_cats.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__irplib__distortion.html b/html/group__irplib__distortion.html
deleted file mode 100644
index 66d4bd3..0000000
--- a/html/group__irplib__distortion.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Distortion correction functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Distortion correction functions</div> </div>
-</div><!--header-->
-<div class="contents">
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__irplib__flat.html b/html/group__irplib__flat.html
deleted file mode 100644
index 88cd3e9..0000000
--- a/html/group__irplib__flat.html
+++ /dev/null
@@ -1,150 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Functions for flatfielding</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Functions for flatfielding</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:gaf9bd48348cc91bb66304697b4c7aa58e"><td class="memItemLeft" align="right" valign="top">cpl_imagelist * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__flat.html#gaf9bd48348cc91bb66304697b4c7aa58e">irplib_flat_fit_set</a> (cpl_imagelist *raw, int mode)</td></tr>
-<tr class="memdesc:gaf9bd48348cc91bb66304697b4c7aa58e"><td class="mdescLeft"> </td><td class="mdescRight">Compute a flat-field out of a set of exposures. <a href="#gaf9bd48348cc91bb66304697b4c7aa58e"></a><br/></td></tr>
-<tr class="memitem:ga3e3e3bd45aef34e38758e1f2528d7c91"><td class="memItemLeft" align="right" valign="top">double * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__flat.html#ga3e3e3bd45aef34e38758e1f2528d7c91">irplib_flat_fit_slope_robust</a> (double *x, double *y, int np)</td></tr>
-<tr class="memdesc:ga3e3e3bd45aef34e38758e1f2528d7c91"><td class="mdescLeft"> </td><td class="mdescRight">Fit a slope to a list of points (robust fit). <a href="#ga3e3e3bd45aef34e38758e1f2528d7c91"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="gaf9bd48348cc91bb66304697b4c7aa58e"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_imagelist* irplib_flat_fit_set </td>
- <td>(</td>
- <td class="paramtype">cpl_imagelist * </td>
- <td class="paramname"><em>raw</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>mode</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Compute a flat-field out of a set of exposures. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">raw</td><td>Input image set </td></tr>
- <tr><td class="paramname">mode</td><td>0 for proportional, 1 for robust fit </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>1 newly allocated set of 2 or 3 images</dd></dl>
-<p>The input is assumed to be a cube containing planes of different intensities (usually increasing or decreasing). Typical inputs are: twilight data sets, halogen lamp, or skies of different airmasses in the thermal regime.</p>
-<p>The input image list must be of type float.</p>
-<p>In robust mode, the output is a set of 3 images. The first image contains a regression map, i.e. for each pixel position on the detector, a curve is plotted of the pixel intensity in each plane against the median intensity of the plane. A slope is fit, and the gain factor is stored into this first image.</p>
-<p>The second image contains the y-intercepts of the slope fit. It is usually good to check it out in case of failures.</p>
-<p>The third image contains the sum of squared errors for each fit. The fit is using a robust least-squares criterion rejecting outliers. This is the algorithm to use with big telescopes like the VLT, which collect so much light that objects are actually seen in the twilight sky.</p>
-<p>In proportional mode, the output is a set of 2 images. The first image contains a regression map. The second image contains the sum of squared errors for each fit. </p>
-
-<p>Definition at line <a class="el" href="irplib__flat_8c_source.html#l00087">87</a> of file <a class="el" href="irplib__flat_8c_source.html">irplib_flat.c</a>.</p>
-
-<p>References <a class="el" href="irplib__flat_8c_source.html#l00191">irplib_flat_fit_slope_robust()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga3e3e3bd45aef34e38758e1f2528d7c91"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">double* irplib_flat_fit_slope_robust </td>
- <td>(</td>
- <td class="paramtype">double * </td>
- <td class="paramname"><em>x</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double * </td>
- <td class="paramname"><em>y</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>np</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Fit a slope to a list of points (robust fit). </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">x</td><td>x coordinates </td></tr>
- <tr><td class="paramname">y</td><td>y coordinates </td></tr>
- <tr><td class="paramname">np</td><td>number of points </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>Pointer to newly allocated array of 3 doubles.</dd></dl>
-<p>The slope to fit has the following kind of equation: y = c[0] + c[1] * x</p>
-<p>The returned coefficients are defined as: c[0] is the y-intercept. c[1] is the slope. c[2] is the median squared error of the fit. This is a very robust slope fit. It tolerates up to 50% of outliers in input. </p>
-
-<p>Definition at line <a class="el" href="irplib__flat_8c_source.html#l00191">191</a> of file <a class="el" href="irplib__flat_8c_source.html">irplib_flat.c</a>.</p>
-
-<p>Referenced by <a class="el" href="irplib__flat_8c_source.html#l00087">irplib_flat_fit_set()</a>, and <a class="el" href="irplib__slitpos_8c_source.html#l00119">irplib_slitpos_analysis()</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__irplib__framelist.html b/html/group__irplib__framelist.html
deleted file mode 100644
index a89650a..0000000
--- a/html/group__irplib__framelist.html
+++ /dev/null
@@ -1,1031 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Lists of frames with properties.</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Lists of frames with properties.</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga5b86add048651f73424d2542a04946a0"><td class="memItemLeft" align="right" valign="top">irplib_framelist * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__framelist.html#ga5b86add048651f73424d2542a04946a0">irplib_framelist_new</a> (void)</td></tr>
-<tr class="memdesc:ga5b86add048651f73424d2542a04946a0"><td class="mdescLeft"> </td><td class="mdescRight">Create an empty framelist. <a href="#ga5b86add048651f73424d2542a04946a0"></a><br/></td></tr>
-<tr class="memitem:ga7a5159e9d27ef277df3fb55b331aaf26"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__framelist.html#ga7a5159e9d27ef277df3fb55b331aaf26">irplib_framelist_delete</a> (irplib_framelist *self)</td></tr>
-<tr class="memdesc:ga7a5159e9d27ef277df3fb55b331aaf26"><td class="mdescLeft"> </td><td class="mdescRight">Deallocate an irplib_framelist with its frames and properties. <a href="#ga7a5159e9d27ef277df3fb55b331aaf26"></a><br/></td></tr>
-<tr class="memitem:ga30cbfd003c6e6a6a42e610442f0b1bd1"><td class="memItemLeft" align="right" valign="top">irplib_framelist * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__framelist.html#ga30cbfd003c6e6a6a42e610442f0b1bd1">irplib_framelist_cast</a> (const cpl_frameset *frameset)</td></tr>
-<tr class="memdesc:ga30cbfd003c6e6a6a42e610442f0b1bd1"><td class="mdescLeft"> </td><td class="mdescRight">Create an irplib_framelist from a cpl_framelist. <a href="#ga30cbfd003c6e6a6a42e610442f0b1bd1"></a><br/></td></tr>
-<tr class="memitem:gabeedce2770a1bc06c26c0891a41aa174"><td class="memItemLeft" align="right" valign="top">cpl_frameset * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__framelist.html#gabeedce2770a1bc06c26c0891a41aa174">irplib_frameset_cast</a> (const irplib_framelist *self)</td></tr>
-<tr class="memdesc:gabeedce2770a1bc06c26c0891a41aa174"><td class="mdescLeft"> </td><td class="mdescRight">Create a CPL frameset from an irplib_framelist. <a href="#gabeedce2770a1bc06c26c0891a41aa174"></a><br/></td></tr>
-<tr class="memitem:ga86d6746d1c19356417815f7df04c3396"><td class="memItemLeft" align="right" valign="top">irplib_framelist * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__framelist.html#ga86d6746d1c19356417815f7df04c3396">irplib_framelist_extract</a> (const irplib_framelist *self, const char *tag)</td></tr>
-<tr class="memdesc:ga86d6746d1c19356417815f7df04c3396"><td class="mdescLeft"> </td><td class="mdescRight">Extract the frames with the given tag from a framelist. <a href="#ga86d6746d1c19356417815f7df04c3396"></a><br/></td></tr>
-<tr class="memitem:gace77e5ae75183a22a0e5af9dd9018b01"><td class="memItemLeft" align="right" valign="top">irplib_framelist * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__framelist.html#gace77e5ae75183a22a0e5af9dd9018b01">irplib_framelist_extract_regexp</a> (const irplib_framelist *self, const char *regexp, cpl_boolean invert)</td></tr>
-<tr class="memdesc:gace77e5ae75183a22a0e5af9dd9018b01"><td class="mdescLeft"> </td><td class="mdescRight">Extract the frames with the given tag from a framelist. <a href="#gace77e5ae75183a22a0e5af9dd9018b01"></a><br/></td></tr>
-<tr class="memitem:ga2518fce55112b5008cb119a126e593d7"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__framelist.html#ga2518fce55112b5008cb119a126e593d7">irplib_framelist_get_size</a> (const irplib_framelist *self)</td></tr>
-<tr class="memdesc:ga2518fce55112b5008cb119a126e593d7"><td class="mdescLeft"> </td><td class="mdescRight">Get the size of a framelist. <a href="#ga2518fce55112b5008cb119a126e593d7"></a><br/></td></tr>
-<tr class="memitem:gaba8797bbb8394f5574cd88b2f1984387"><td class="memItemLeft" align="right" valign="top">cpl_frame * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__framelist.html#gaba8797bbb8394f5574cd88b2f1984387">irplib_framelist_get</a> (irplib_framelist *self, int pos)</td></tr>
-<tr class="memdesc:gaba8797bbb8394f5574cd88b2f1984387"><td class="mdescLeft"> </td><td class="mdescRight">Get the specified frame from the framelist. <a href="#gaba8797bbb8394f5574cd88b2f1984387"></a><br/></td></tr>
-<tr class="memitem:ga93d8f903729ea4b6fcb3eca85935716f"><td class="memItemLeft" align="right" valign="top">const cpl_frame * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__framelist.html#ga93d8f903729ea4b6fcb3eca85935716f">irplib_framelist_get_const</a> (const irplib_framelist *self, int pos)</td></tr>
-<tr class="memdesc:ga93d8f903729ea4b6fcb3eca85935716f"><td class="mdescLeft"> </td><td class="mdescRight">Get the specified frame from the framelist. <a href="#ga93d8f903729ea4b6fcb3eca85935716f"></a><br/></td></tr>
-<tr class="memitem:gada2c2e3f530a6dff763402eefceb5600"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__framelist.html#gada2c2e3f530a6dff763402eefceb5600">irplib_framelist_set_propertylist</a> (irplib_framelist *self, int pos, const cpl_propertylist *list)</td></tr>
-<tr class="memdesc:gada2c2e3f530a6dff763402eefceb5600"><td class="mdescLeft"> </td><td class="mdescRight">Duplicate a propertylist to the specified position in the framelist. <a href="#gada2c2e3f530a6dff763402eefceb5600"></a><br/></td></tr>
-<tr class="memitem:gab4858b1e9164f3a6cffcf40270f89032"><td class="memItemLeft" align="right" valign="top">cpl_propertylist * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__framelist.html#gab4858b1e9164f3a6cffcf40270f89032">irplib_framelist_get_propertylist</a> (irplib_framelist *self, int pos)</td></tr>
-<tr class="memdesc:gab4858b1e9164f3a6cffcf40270f89032"><td class="mdescLeft"> </td><td class="mdescRight">Get the propertylist of the specified frame in the framelist. <a href="#gab4858b1e9164f3a6cffcf40270f89032"></a><br/></td></tr>
-<tr class="memitem:ga7700dadcf17db5b86409e6cef233af4c"><td class="memItemLeft" align="right" valign="top">const cpl_propertylist * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__framelist.html#ga7700dadcf17db5b86409e6cef233af4c">irplib_framelist_get_propertylist_const</a> (const irplib_framelist *self, int pos)</td></tr>
-<tr class="memdesc:ga7700dadcf17db5b86409e6cef233af4c"><td class="mdescLeft"> </td><td class="mdescRight">Get the propertylist of the specified frame in the framelist. <a href="#ga7700dadcf17db5b86409e6cef233af4c"></a><br/></td></tr>
-<tr class="memitem:ga6ce5701e84915514975d09e0100c6005"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__framelist.html#ga6ce5701e84915514975d09e0100c6005">irplib_framelist_load_propertylist</a> (irplib_framelist *self, int pos, int ind, const char *regexp, cpl_boolean invert)</td></tr>
-<tr class="memdesc:ga6ce5701e84915514975d09e0100c6005"><td class="mdescLeft"> </td><td class="mdescRight">Load the propertylist of the specified frame in the framelist. <a href="#ga6ce5701e84915514975d09e0100c6005"></a><br/></td></tr>
-<tr class="memitem:gaf9204681e0b6aa2d952c974dcbd8729d"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__framelist.html#gaf9204681e0b6aa2d952c974dcbd8729d">irplib_framelist_load_propertylist_all</a> (irplib_framelist *self, int ind, const char *regexp, cpl_boolean invert)</td></tr>
-<tr class="memdesc:gaf9204681e0b6aa2d952c974dcbd8729d"><td class="mdescLeft"> </td><td class="mdescRight">Load the propertylists of all frames in the framelist. <a href="#gaf9204681e0b6aa2d952c974dcbd8729d"></a><br/></td></tr>
-<tr class="memitem:gab11bb60e44dea926cd50ee80c7fbbd14"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__framelist.html#gab11bb60e44dea926cd50ee80c7fbbd14">irplib_framelist_set_tag_all</a> (irplib_framelist *self, const char *tag)</td></tr>
-<tr class="memdesc:gab11bb60e44dea926cd50ee80c7fbbd14"><td class="mdescLeft"> </td><td class="mdescRight">Set the tag of all frames in the list. <a href="#gab11bb60e44dea926cd50ee80c7fbbd14"></a><br/></td></tr>
-<tr class="memitem:ga37e730f5627b4a0c7a81014f62421879"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__framelist.html#ga37e730f5627b4a0c7a81014f62421879">irplib_framelist_set</a> (irplib_framelist *self, cpl_frame *frame, int pos)</td></tr>
-<tr class="memdesc:ga37e730f5627b4a0c7a81014f62421879"><td class="mdescLeft"> </td><td class="mdescRight">Add a frame to a framelist. <a href="#ga37e730f5627b4a0c7a81014f62421879"></a><br/></td></tr>
-<tr class="memitem:gac66ea3ad4fc98c171f8b840229fe54ce"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__framelist.html#gac66ea3ad4fc98c171f8b840229fe54ce">irplib_framelist_erase</a> (irplib_framelist *self, int pos)</td></tr>
-<tr class="memdesc:gac66ea3ad4fc98c171f8b840229fe54ce"><td class="mdescLeft"> </td><td class="mdescRight">Erase a frame from a framelist and delete it and its propertylist. <a href="#gac66ea3ad4fc98c171f8b840229fe54ce"></a><br/></td></tr>
-<tr class="memitem:ga771f14f97f80a9bd7176d323999c9bce"><td class="memItemLeft" align="right" valign="top">cpl_frame * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__framelist.html#ga771f14f97f80a9bd7176d323999c9bce">irplib_framelist_unset</a> (irplib_framelist *self, int pos, cpl_propertylist **plist)</td></tr>
-<tr class="memdesc:ga771f14f97f80a9bd7176d323999c9bce"><td class="mdescLeft"> </td><td class="mdescRight">Erase a frame from a framelist and return it to the caller. <a href="#ga771f14f97f80a9bd7176d323999c9bce"></a><br/></td></tr>
-<tr class="memitem:ga900ea254d9b2a2e4e3957360bbae4deb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__framelist.html#ga900ea254d9b2a2e4e3957360bbae4deb">irplib_framelist_empty</a> (irplib_framelist *self)</td></tr>
-<tr class="memdesc:ga900ea254d9b2a2e4e3957360bbae4deb"><td class="mdescLeft"> </td><td class="mdescRight">Erase all frames from a framelist. <a href="#ga900ea254d9b2a2e4e3957360bbae4deb"></a><br/></td></tr>
-<tr class="memitem:gafed15e9e259ebad923b710f5eb0196ac"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__framelist.html#gafed15e9e259ebad923b710f5eb0196ac">irplib_framelist_contains</a> (const irplib_framelist *self, const char *key, cpl_type type, cpl_boolean is_equal, double fp_tol)</td></tr>
-<tr class="memdesc:gafed15e9e259ebad923b710f5eb0196ac"><td class="mdescLeft"> </td><td class="mdescRight">Verify that a property is present for all frames. <a href="#gafed15e9e259ebad923b710f5eb0196ac"></a><br/></td></tr>
-<tr class="memitem:ga0ff6c5e3b778c607544ca04ca3fb9e94"><td class="memItemLeft" align="right" valign="top">cpl_imagelist * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__framelist.html#ga0ff6c5e3b778c607544ca04ca3fb9e94">irplib_imagelist_load_framelist</a> (const irplib_framelist *self, cpl_type pixeltype, int planenum, int extnum)</td></tr>
-<tr class="memdesc:ga0ff6c5e3b778c607544ca04ca3fb9e94"><td class="mdescLeft"> </td><td class="mdescRight">Load an imagelist from a framelist. <a href="#ga0ff6c5e3b778c607544ca04ca3fb9e94"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<p>This module implements a container type for frames and their propertylists. It differs from the cpl_frameset in these ways: 1) A propertylist can be associated to each frame 2) Access by index is a O(1)-operation 3) It can not be corrupted due to caching bugs (e.g. DFS02731).</p>
-<dl class="section user"><dt>Synopsis:</dt><dd><div class="fragment"><div class="line"><span class="preprocessor"> #include <irplib_framelist.h></span></div>
-</div><!-- fragment --></dd></dl>
-<dl class="section user"><dt>Example:</dt><dd><div class="fragment"><div class="line"> <span class="keyword">static</span> <span class="keywordtype">int</span> rrecipe(cpl_frameset * frameset)</div>
-<div class="line"> {</div>
-<div class="line"> <span class="comment">// Error handling omitted for brevity</span></div>
-<div class="line"></div>
-<div class="line"> irplib_framelist * allframes = <a class="code" href="group__irplib__framelist.html#ga30cbfd003c6e6a6a42e610442f0b1bd1" title="Create an irplib_framelist from a cpl_framelist.">irplib_framelist_cast</a>(frameset);</div>
-<div class="line"></div>
-<div class="line"> <span class="comment">// Get raw frames of either type</span></div>
-<div class="line"> irplib_framelist * rawframes = <a class="code" href="group__irplib__framelist.html#gace77e5ae75183a22a0e5af9dd9018b01" title="Extract the frames with the given tag from a framelist.">irplib_framelist_extract_regexp</a>(allframes,</div>
-<div class="line"> <span class="stringliteral">"^("</span></div>
-<div class="line"> RAW_TYPE1 <span class="stringliteral">"|"</span></div>
-<div class="line"> RAW_TYPE2 <span class="stringliteral">")$"</span>,</div>
-<div class="line"> CPL_FALSE);</div>
-<div class="line"></div>
-<div class="line"> <span class="comment">// Load the list of images</span></div>
-<div class="line"> cpl_imagelist * ilist = <a class="code" href="group__irplib__framelist.html#ga0ff6c5e3b778c607544ca04ca3fb9e94" title="Load an imagelist from a framelist.">irplib_imagelist_load_framelist</a>(rawframes,</div>
-<div class="line"> CPL_TYPE_FLOAT,</div>
-<div class="line"> 0, 0);</div>
-<div class="line"></div>
-<div class="line"> <span class="keyword">const</span> cpl_propertylist * plist;</div>
-<div class="line"></div>
-<div class="line"> <span class="comment">// A regular expression of the FITS cards needed by this recipe</span></div>
-<div class="line"> <span class="keyword">const</span> <span class="keywordtype">char</span> cards[] = <span class="stringliteral">"^(RA|DEC|EXPTIME)$"</span>;</div>
-<div class="line"> <span class="keywordtype">double</span> ra, dec;</div>
-<div class="line"></div>
-<div class="line"></div>
-<div class="line"> <span class="comment">// Load the specified FITS cards for all raw frames</span></div>
-<div class="line"> <a class="code" href="group__irplib__framelist.html#gaf9204681e0b6aa2d952c974dcbd8729d" title="Load the propertylists of all frames in the framelist.">irplib_framelist_load_propertylist_all</a>(rawframes, 0, cards, CPL_FALSE));</div>
-<div class="line"></div>
-<div class="line"></div>
-<div class="line"> <span class="comment">// Verify the presence and uniformity of the FITS cards</span></div>
-<div class="line"> <span class="keywordflow">if</span> (<a class="code" href="group__irplib__framelist.html#gafed15e9e259ebad923b710f5eb0196ac" title="Verify that a property is present for all frames.">irplib_framelist_contains</a>(rawframes, <span class="stringliteral">"RA"</span>,</div>
-<div class="line"> CPL_TYPE_DOUBLE, CPL_TRUE, 1e-5)) {</div>
-<div class="line"> <span class="comment">// RA is missing in one or more headers</span></div>
-<div class="line"> <span class="comment">// - or it varies by more than 1e-5</span></div>
-<div class="line"> }</div>
-<div class="line"></div>
-<div class="line"> <span class="keywordflow">if</span> (<a class="code" href="group__irplib__framelist.html#gafed15e9e259ebad923b710f5eb0196ac" title="Verify that a property is present for all frames.">irplib_framelist_contains</a>(rawframes, <span class="stringliteral">"DEC"</span>,</div>
-<div class="line"> CPL_TYPE_DOUBLE, CPL_TRUE, 1e-5)) {</div>
-<div class="line"> <span class="comment">// DEC is missing in one or more headers</span></div>
-<div class="line"> <span class="comment">// - or it varies by more than 1e-5</span></div>
-<div class="line"> }</div>
-<div class="line"></div>
-<div class="line"> <span class="comment">// Process the FITS cards </span></div>
-<div class="line"> plist = <a class="code" href="group__irplib__framelist.html#ga7700dadcf17db5b86409e6cef233af4c" title="Get the propertylist of the specified frame in the framelist.">irplib_framelist_get_propertylist_const</a>(rawframes, 0);</div>
-<div class="line"></div>
-<div class="line"> ra = cpl_propertylist_get_double(plist, <span class="stringliteral">"RA"</span>);</div>
-<div class="line"> dec = cpl_propertylist_get_double(plist, <span class="stringliteral">"DEC"</span>);</div>
-<div class="line"></div>
-<div class="line"> <span class="comment">// Object deallocation</span></div>
-<div class="line"> <a class="code" href="group__irplib__framelist.html#ga7a5159e9d27ef277df3fb55b331aaf26" title="Deallocate an irplib_framelist with its frames and properties.">irplib_framelist_delete</a>(allframes);</div>
-<div class="line"> <a class="code" href="group__irplib__framelist.html#ga7a5159e9d27ef277df3fb55b331aaf26" title="Deallocate an irplib_framelist with its frames and properties.">irplib_framelist_delete</a>(rawframes);</div>
-<div class="line"> cpl_imagelist_delete(ilist);</div>
-<div class="line"></div>
-<div class="line"> <span class="keywordflow">return</span> 0;</div>
-<div class="line"></div>
-<div class="line"> }</div>
-</div><!-- fragment --> </dd></dl>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga30cbfd003c6e6a6a42e610442f0b1bd1"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">irplib_framelist* irplib_framelist_cast </td>
- <td>(</td>
- <td class="paramtype">const cpl_frameset * </td>
- <td class="paramname"><em>frameset</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Create an irplib_framelist from a cpl_framelist. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">frameset</td><td>The cpl_frameset </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>1 newly allocated irplib_framelist or NULL on error </dd></dl>
-<dl class="section note"><dt>Note:</dt><dd>The returned irplib_framelist must be deallocated using <a class="el" href="group__irplib__framelist.html#ga7a5159e9d27ef277df3fb55b331aaf26" title="Deallocate an irplib_framelist with its frames and properties.">irplib_framelist_delete()</a> </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__framelist_8c_source.html#l00209">209</a> of file <a class="el" href="irplib__framelist_8c_source.html">irplib_framelist.c</a>.</p>
-
-<p>References <a class="el" href="irplib__framelist_8c_source.html#l00178">irplib_framelist_new()</a>, and <a class="el" href="irplib__framelist_8c_source.html#l00714">irplib_framelist_set()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gafed15e9e259ebad923b710f5eb0196ac"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_framelist_contains </td>
- <td>(</td>
- <td class="paramtype">const irplib_framelist * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>key</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_type </td>
- <td class="paramname"><em>type</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_boolean </td>
- <td class="paramname"><em>is_equal</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>fp_tol</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Verify that a property is present for all frames. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The framelist to verify </td></tr>
- <tr><td class="paramname">key</td><td>Property that must be present for all the frames </td></tr>
- <tr><td class="paramname">type</td><td>The type the property must have, or CPL_TYPE_INVALID </td></tr>
- <tr><td class="paramname">is_equal</td><td>If true, the value must be identical for all keys </td></tr>
- <tr><td class="paramname">fp_tol</td><td>The non-negative tolerance for floating point comparison </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE or the relevant CPL error code </dd></dl>
-<dl class="section note"><dt>Note:</dt><dd>It is allowed for a frame to have a NULL propertylist, in which case no check is performed. If type is CPL_TYPE_INVALID the check for a specific type is disabled. However, with is_equal true, all properties must nevertheless have the same type. fp_tol is used only when is_equal is true and the type is (explicitly or implicitly) CPL_TYPE_FLOAT or CPL_TYPE_DOUBLE.</dd></dl>
-<p>To verify the presence of the MJD-OBS keyword: </p>
-<div class="fragment"><div class="line"> <a class="code" href="group__irplib__framelist.html#gafed15e9e259ebad923b710f5eb0196ac" title="Verify that a property is present for all frames.">irplib_framelist_contains</a>(myframes, <span class="stringliteral">"MJD-OBS"</span>, CPL_TYPE_INVALID,</div>
-<div class="line"> CPL_FALSE, 0.0);</div>
-</div><!-- fragment --><p>To verify that the EXPTIME is identical to within 0.1 millisecond: </p>
-<div class="fragment"><div class="line"> <a class="code" href="group__irplib__framelist.html#gafed15e9e259ebad923b710f5eb0196ac" title="Verify that a property is present for all frames.">irplib_framelist_contains</a>(myframes, <span class="stringliteral">"EXPTIME"</span>, CPL_TYPE_INVALID,</div>
-<div class="line"> CPL_TRUE, 0.0001);</div>
-</div><!-- fragment --><p>To verify that the keyword "ESO INS LAMP ST" is of type boolean and that it has the same value for all frames: </p>
-<div class="fragment"><div class="line"> <a class="code" href="group__irplib__framelist.html#gafed15e9e259ebad923b710f5eb0196ac" title="Verify that a property is present for all frames.">irplib_framelist_contains</a>(myframes, <span class="stringliteral">"ESO INS LAMP ST"</span>, CPL_TYPE_BOOL,</div>
-<div class="line"> CPL_TRUE, 0.0);</div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="irplib__framelist_8c_source.html#l00909">909</a> of file <a class="el" href="irplib__framelist_8c_source.html">irplib_framelist.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga7a5159e9d27ef277df3fb55b331aaf26"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void irplib_framelist_delete </td>
- <td>(</td>
- <td class="paramtype">irplib_framelist * </td>
- <td class="paramname"><em>self</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Deallocate an irplib_framelist with its frames and properties. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>the framelist </td></tr>
- </table>
- </dd>
-</dl>
-
-<p>Definition at line <a class="el" href="irplib__framelist_8c_source.html#l00191">191</a> of file <a class="el" href="irplib__framelist_8c_source.html">irplib_framelist.c</a>.</p>
-
-<p>References <a class="el" href="irplib__framelist_8c_source.html#l00849">irplib_framelist_empty()</a>.</p>
-
-<p>Referenced by <a class="el" href="irplib__framelist_8c_source.html#l00290">irplib_framelist_extract()</a>, and <a class="el" href="irplib__framelist_8c_source.html#l00360">irplib_framelist_extract_regexp()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga900ea254d9b2a2e4e3957360bbae4deb"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void irplib_framelist_empty </td>
- <td>(</td>
- <td class="paramtype">irplib_framelist * </td>
- <td class="paramname"><em>self</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Erase all frames from a framelist. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The framelist to modify, or NULL </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE or the relevant CPL error code </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__framelist_8c_source.html#l00849">849</a> of file <a class="el" href="irplib__framelist_8c_source.html">irplib_framelist.c</a>.</p>
-
-<p>Referenced by <a class="el" href="irplib__framelist_8c_source.html#l00191">irplib_framelist_delete()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gac66ea3ad4fc98c171f8b840229fe54ce"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_framelist_erase </td>
- <td>(</td>
- <td class="paramtype">irplib_framelist * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>pos</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Erase a frame from a framelist and delete it and its propertylist. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The non-empty framelist to modify </td></tr>
- <tr><td class="paramname">pos</td><td>position of frame to delete (0 for first). </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE or the relevant CPL error code </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__framelist_8c_source.html#l00753">753</a> of file <a class="el" href="irplib__framelist_8c_source.html">irplib_framelist.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga86d6746d1c19356417815f7df04c3396"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">irplib_framelist* irplib_framelist_extract </td>
- <td>(</td>
- <td class="paramtype">const irplib_framelist * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>tag</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Extract the frames with the given tag from a framelist. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>A non-empty framelist </td></tr>
- <tr><td class="paramname">tag</td><td>The frame tag to search for. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>The newly created framelist or NULL on error </dd></dl>
-<dl class="section see"><dt>See also:</dt><dd>cpl_frameset_find </dd></dl>
-<dl class="section note"><dt>Note:</dt><dd>Any propertylists of the extracted frames are also extracted. It is an error if no matching frames are found, in which case an error is set. </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__framelist_8c_source.html#l00290">290</a> of file <a class="el" href="irplib__framelist_8c_source.html">irplib_framelist.c</a>.</p>
-
-<p>References <a class="el" href="irplib__framelist_8c_source.html#l00191">irplib_framelist_delete()</a>, <a class="el" href="irplib__framelist_8c_source.html#l00178">irplib_framelist_new()</a>, and <a class="el" href="irplib__framelist_8c_source.html#l00714">irplib_framelist_set()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gace77e5ae75183a22a0e5af9dd9018b01"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">irplib_framelist* irplib_framelist_extract_regexp </td>
- <td>(</td>
- <td class="paramtype">const irplib_framelist * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>regexp</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_boolean </td>
- <td class="paramname"><em>invert</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Extract the frames with the given tag from a framelist. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>A non-empty framelist </td></tr>
- <tr><td class="paramname">regexp</td><td>The regular expression of frame tag(s) to search for. </td></tr>
- <tr><td class="paramname">invert</td><td>Boolean to invert the sense of the pattern matching. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>The newly created framelist or NULL on error </dd></dl>
-<dl class="section see"><dt>See also:</dt><dd><a class="el" href="group__irplib__framelist.html#ga86d6746d1c19356417815f7df04c3396" title="Extract the frames with the given tag from a framelist.">irplib_framelist_extract</a> </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__framelist_8c_source.html#l00360">360</a> of file <a class="el" href="irplib__framelist_8c_source.html">irplib_framelist.c</a>.</p>
-
-<p>References <a class="el" href="irplib__framelist_8c_source.html#l00191">irplib_framelist_delete()</a>, <a class="el" href="irplib__framelist_8c_source.html#l00178">irplib_framelist_new()</a>, and <a class="el" href="irplib__framelist_8c_source.html#l00714">irplib_framelist_set()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gaba8797bbb8394f5574cd88b2f1984387"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_frame* irplib_framelist_get </td>
- <td>(</td>
- <td class="paramtype">irplib_framelist * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>pos</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Get the specified frame from the framelist. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The framelist </td></tr>
- <tr><td class="paramname">pos</td><td>position (0 for first) </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>The frame or NULL on error </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__framelist_8c_source.html#l00456">456</a> of file <a class="el" href="irplib__framelist_8c_source.html">irplib_framelist.c</a>.</p>
-
-<p>References <a class="el" href="irplib__framelist_8c_source.html#l00473">irplib_framelist_get_const()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga93d8f903729ea4b6fcb3eca85935716f"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const cpl_frame* irplib_framelist_get_const </td>
- <td>(</td>
- <td class="paramtype">const irplib_framelist * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>pos</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Get the specified frame from the framelist. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The framelist </td></tr>
- <tr><td class="paramname">pos</td><td>position (0 for first) </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>The frame or NULL on error </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__framelist_8c_source.html#l00473">473</a> of file <a class="el" href="irplib__framelist_8c_source.html">irplib_framelist.c</a>.</p>
-
-<p>Referenced by <a class="el" href="irplib__framelist_8c_source.html#l00456">irplib_framelist_get()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gab4858b1e9164f3a6cffcf40270f89032"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_propertylist* irplib_framelist_get_propertylist </td>
- <td>(</td>
- <td class="paramtype">irplib_framelist * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>pos</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Get the propertylist of the specified frame in the framelist. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The framelist </td></tr>
- <tr><td class="paramname">pos</td><td>position (0 for first) </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>The propertylist or NULL on error </dd></dl>
-<dl class="section note"><dt>Note:</dt><dd>The propertylist must first be created, for example with irplib_framelist_load_propertylist(self, pos, ...), otherwise an error occurs. </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__framelist_8c_source.html#l00529">529</a> of file <a class="el" href="irplib__framelist_8c_source.html">irplib_framelist.c</a>.</p>
-
-<p>References <a class="el" href="irplib__framelist_8c_source.html#l00552">irplib_framelist_get_propertylist_const()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga7700dadcf17db5b86409e6cef233af4c"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const cpl_propertylist* irplib_framelist_get_propertylist_const </td>
- <td>(</td>
- <td class="paramtype">const irplib_framelist * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>pos</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Get the propertylist of the specified frame in the framelist. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The framelist </td></tr>
- <tr><td class="paramname">pos</td><td>position (0 for first) </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>The propertylist or NULL on error </dd></dl>
-<dl class="section note"><dt>Note:</dt><dd>The propertylist must first be created, for example with irplib_framelist_load_propertylist(self, pos, ...), otherwise an error occurs. </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__framelist_8c_source.html#l00552">552</a> of file <a class="el" href="irplib__framelist_8c_source.html">irplib_framelist.c</a>.</p>
-
-<p>Referenced by <a class="el" href="irplib__framelist_8c_source.html#l00529">irplib_framelist_get_propertylist()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga2518fce55112b5008cb119a126e593d7"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int irplib_framelist_get_size </td>
- <td>(</td>
- <td class="paramtype">const irplib_framelist * </td>
- <td class="paramname"><em>self</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Get the size of a framelist. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The framelist </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>The size or a negative number on error </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__framelist_8c_source.html#l00438">438</a> of file <a class="el" href="irplib__framelist_8c_source.html">irplib_framelist.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga6ce5701e84915514975d09e0100c6005"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_framelist_load_propertylist </td>
- <td>(</td>
- <td class="paramtype">irplib_framelist * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>pos</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>ind</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>regexp</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_boolean </td>
- <td class="paramname"><em>invert</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Load the propertylist of the specified frame in the framelist. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The framelist to modify </td></tr>
- <tr><td class="paramname">pos</td><td>position (0 for first). </td></tr>
- <tr><td class="paramname">ind</td><td>The index of the date set to read </td></tr>
- <tr><td class="paramname">regexp</td><td>The regular expression of properties to load </td></tr>
- <tr><td class="paramname">invert</td><td>Boolean to invert the sense of the pattern matching. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE or the relevant CPL error code </dd></dl>
-<dl class="section see"><dt>See also:</dt><dd>cpl_propertylist_load_regexp() </dd></dl>
-<dl class="section note"><dt>Note:</dt><dd>Use a regexp of ".?" to load all properties. If a propertylist already exists it is deleted and replaced by the new one. </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__framelist_8c_source.html#l00583">583</a> of file <a class="el" href="irplib__framelist_8c_source.html">irplib_framelist.c</a>.</p>
-
-<p>Referenced by <a class="el" href="irplib__framelist_8c_source.html#l00638">irplib_framelist_load_propertylist_all()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gaf9204681e0b6aa2d952c974dcbd8729d"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_framelist_load_propertylist_all </td>
- <td>(</td>
- <td class="paramtype">irplib_framelist * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>ind</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>regexp</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_boolean </td>
- <td class="paramname"><em>invert</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Load the propertylists of all frames in the framelist. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The framelist to modify </td></tr>
- <tr><td class="paramname">ind</td><td>The index of the date set to read </td></tr>
- <tr><td class="paramname">regexp</td><td>The regular expression of properties to load </td></tr>
- <tr><td class="paramname">invert</td><td>Boolean to invert the sense of the pattern matching. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE or the relevant CPL error code </dd></dl>
-<dl class="section see"><dt>See also:</dt><dd><a class="el" href="group__irplib__framelist.html#ga6ce5701e84915514975d09e0100c6005" title="Load the propertylist of the specified frame in the framelist.">irplib_framelist_load_propertylist()</a> </dd></dl>
-<dl class="section note"><dt>Note:</dt><dd>Use a regexp of "" to load all properties. If a frame already has a propertylist, it is not modified (and no propertylist is loaded for that frame). </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__framelist_8c_source.html#l00638">638</a> of file <a class="el" href="irplib__framelist_8c_source.html">irplib_framelist.c</a>.</p>
-
-<p>References <a class="el" href="irplib__framelist_8c_source.html#l00583">irplib_framelist_load_propertylist()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga5b86add048651f73424d2542a04946a0"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">irplib_framelist* irplib_framelist_new </td>
- <td>(</td>
- <td class="paramtype">void </td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Create an empty framelist. </p>
-<dl class="section return"><dt>Returns:</dt><dd>1 newly allocated irplib_framelist </dd></dl>
-<dl class="section note"><dt>Note:</dt><dd>The returned irplib_framelist must be deallocated using <a class="el" href="group__irplib__framelist.html#ga7a5159e9d27ef277df3fb55b331aaf26" title="Deallocate an irplib_framelist with its frames and properties.">irplib_framelist_delete()</a> </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__framelist_8c_source.html#l00178">178</a> of file <a class="el" href="irplib__framelist_8c_source.html">irplib_framelist.c</a>.</p>
-
-<p>Referenced by <a class="el" href="irplib__framelist_8c_source.html#l00209">irplib_framelist_cast()</a>, <a class="el" href="irplib__framelist_8c_source.html#l00290">irplib_framelist_extract()</a>, and <a class="el" href="irplib__framelist_8c_source.html#l00360">irplib_framelist_extract_regexp()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga37e730f5627b4a0c7a81014f62421879"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_framelist_set </td>
- <td>(</td>
- <td class="paramtype">irplib_framelist * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_frame * </td>
- <td class="paramname"><em>frame</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>pos</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Add a frame to a framelist. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The framelist to modify </td></tr>
- <tr><td class="paramname">frame</td><td>The frame to insert into the framelist </td></tr>
- <tr><td class="paramname">pos</td><td>position (0 for first). </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE or the relevant CPL error code </dd></dl>
-<dl class="section note"><dt>Note:</dt><dd>It is an error to call cpl_frame_delete() on a frame that is inserted in a framelist.</dd></dl>
-<p>It is allowed to specify the position equal to the size of the list. This will increment the size of the list. </p>
-
-<p>Definition at line <a class="el" href="irplib__framelist_8c_source.html#l00714">714</a> of file <a class="el" href="irplib__framelist_8c_source.html">irplib_framelist.c</a>.</p>
-
-<p>Referenced by <a class="el" href="irplib__framelist_8c_source.html#l00209">irplib_framelist_cast()</a>, <a class="el" href="irplib__framelist_8c_source.html#l00290">irplib_framelist_extract()</a>, and <a class="el" href="irplib__framelist_8c_source.html#l00360">irplib_framelist_extract_regexp()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gada2c2e3f530a6dff763402eefceb5600"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_framelist_set_propertylist </td>
- <td>(</td>
- <td class="paramtype">irplib_framelist * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>pos</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_propertylist * </td>
- <td class="paramname"><em>list</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Duplicate a propertylist to the specified position in the framelist. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The framelist to modify </td></tr>
- <tr><td class="paramname">pos</td><td>position (0 for first). </td></tr>
- <tr><td class="paramname">list</td><td>The propertylist to copy </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE or the relevant CPL error code </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__framelist_8c_source.html#l00496">496</a> of file <a class="el" href="irplib__framelist_8c_source.html">irplib_framelist.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gab11bb60e44dea926cd50ee80c7fbbd14"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_framelist_set_tag_all </td>
- <td>(</td>
- <td class="paramtype">irplib_framelist * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>tag</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Set the tag of all frames in the list. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The framelist to modify </td></tr>
- <tr><td class="paramname">tag</td><td>The new tag of the frames </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE or the relevant <em>cpl_error_code</em> </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__framelist_8c_source.html#l00682">682</a> of file <a class="el" href="irplib__framelist_8c_source.html">irplib_framelist.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga771f14f97f80a9bd7176d323999c9bce"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_frame* irplib_framelist_unset </td>
- <td>(</td>
- <td class="paramtype">irplib_framelist * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>pos</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_propertylist ** </td>
- <td class="paramname"><em>plist</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Erase a frame from a framelist and return it to the caller. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The non-empty framelist to modify </td></tr>
- <tr><td class="paramname">pos</td><td>position of frame to delete (0 for first). </td></tr>
- <tr><td class="paramname">plist</td><td>Pointer to a propertylist or NULL </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE or the relevant CPL error code</dd></dl>
-<p>The specified frame is removed from the framelist and its size is decreased by one. The frame is returned to the caller. The caller may also retrieve the propertylist of the frame by passing a non-NULL pointer. On success this may point to NULL, if a propertylist was not created for the frame. If the caller passes a NULL-pointer for the propertylist, the propertylist is deallocated. </p>
-
-<p>Definition at line <a class="el" href="irplib__framelist_8c_source.html#l00803">803</a> of file <a class="el" href="irplib__framelist_8c_source.html">irplib_framelist.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gabeedce2770a1bc06c26c0891a41aa174"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_frameset* irplib_frameset_cast </td>
- <td>(</td>
- <td class="paramtype">const irplib_framelist * </td>
- <td class="paramname"><em>self</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Create a CPL frameset from an irplib_framelist. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The framelist </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>1 newly allocated cpl_frameset or NULL on error </dd></dl>
-<dl class="section note"><dt>Note:</dt><dd>The returned cpl_frameset must be deallocated using cpl_frameset_delete() </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__framelist_8c_source.html#l00251">251</a> of file <a class="el" href="irplib__framelist_8c_source.html">irplib_framelist.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga0ff6c5e3b778c607544ca04ca3fb9e94"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_imagelist* irplib_imagelist_load_framelist </td>
- <td>(</td>
- <td class="paramtype">const irplib_framelist * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_type </td>
- <td class="paramname"><em>pixeltype</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>planenum</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>extnum</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Load an imagelist from a framelist. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The framelist </td></tr>
- <tr><td class="paramname">pixeltype</td><td>The required type of the pixels in the images </td></tr>
- <tr><td class="paramname">planenum</td><td>The (non-negative ) plane number </td></tr>
- <tr><td class="paramname">extnum</td><td>The non-negative extension (0 for primary data unit) </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>The loaded list of images or NULL on error. </dd></dl>
-<dl class="section see"><dt>See also:</dt><dd>cpl_image_load() </dd></dl>
-<dl class="section note"><dt>Note:</dt><dd>The returned cpl_imagelist must be deallocated using cpl_imagelist_delete() </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__framelist_8c_source.html#l01052">1052</a> of file <a class="el" href="irplib__framelist_8c_source.html">irplib_framelist.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__irplib__oddeven.html b/html/group__irplib__oddeven.html
deleted file mode 100644
index 42cc2a6..0000000
--- a/html/group__irplib__oddeven.html
+++ /dev/null
@@ -1,127 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Odd/Even column effect correction</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Odd/Even column effect correction</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:gade0423dfae726cc1ffec66a24e376505"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__oddeven.html#gade0423dfae726cc1ffec66a24e376505">irplib_oddeven_monitor</a> (const cpl_image *in, int iquad, double *r_even)</td></tr>
-<tr class="memdesc:gade0423dfae726cc1ffec66a24e376505"><td class="mdescLeft"> </td><td class="mdescRight">Estimate the odd/even rate in an image quadrant. <a href="#gade0423dfae726cc1ffec66a24e376505"></a><br/></td></tr>
-<tr class="memitem:ga7f7dafc1436a0aa2617048e1ada84e95"><td class="memItemLeft" align="right" valign="top">cpl_image * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__oddeven.html#ga7f7dafc1436a0aa2617048e1ada84e95">irplib_oddeven_correct</a> (const cpl_image *in)</td></tr>
-<tr class="memdesc:ga7f7dafc1436a0aa2617048e1ada84e95"><td class="mdescLeft"> </td><td class="mdescRight">Correct the odd/even in an image. <a href="#ga7f7dafc1436a0aa2617048e1ada84e95"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga7f7dafc1436a0aa2617048e1ada84e95"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_image* irplib_oddeven_correct </td>
- <td>(</td>
- <td class="paramtype">const cpl_image * </td>
- <td class="paramname"><em>in</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Correct the odd/even in an image. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">in</td><td>the inpute image </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>the corrected image or NULL on error case </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__oddeven_8c_source.html#l00152">152</a> of file <a class="el" href="irplib__oddeven_8c_source.html">irplib_oddeven.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gade0423dfae726cc1ffec66a24e376505"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int irplib_oddeven_monitor </td>
- <td>(</td>
- <td class="paramtype">const cpl_image * </td>
- <td class="paramname"><em>in</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>iquad</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double * </td>
- <td class="paramname"><em>r_even</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Estimate the odd/even rate in an image quadrant. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">in</td><td>the inpute image </td></tr>
- <tr><td class="paramname">iquad</td><td>the quadrant (ll=1, lr=2, ul=3, ur=4, all=0) </td></tr>
- <tr><td class="paramname">r_even</td><td>the median of even columns / median of all columns </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if ok, -1 otherwise </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__oddeven_8c_source.html#l00065">65</a> of file <a class="el" href="irplib__oddeven_8c_source.html">irplib_oddeven.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__irplib__plugin.html b/html/group__irplib__plugin.html
deleted file mode 100644
index bb84398..0000000
--- a/html/group__irplib__plugin.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Irplib plugin functionality</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Irplib plugin functionality</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>This module provides a macro and a unit test function for <em>irplib_plugin</em>.</p>
-<div class="fragment"><div class="line"><span class="preprocessor"> #include "irplib_plugin.h"</span></div>
-</div><!-- fragment --> </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__irplib__polynomial.html b/html/group__irplib__polynomial.html
deleted file mode 100644
index 63922ee..0000000
--- a/html/group__irplib__polynomial.html
+++ /dev/null
@@ -1,268 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: 1D-Polynomial roots</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">1D-Polynomial roots</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga90e13f05c9addc584f154279681d1853"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__polynomial.html#ga90e13f05c9addc584f154279681d1853">irplib_polynomial_add</a> (cpl_polynomial *self, const cpl_polynomial *first, const cpl_polynomial *second)</td></tr>
-<tr class="memdesc:ga90e13f05c9addc584f154279681d1853"><td class="mdescLeft"> </td><td class="mdescRight">Add two polynomials of the same dimension. <a href="#ga90e13f05c9addc584f154279681d1853"></a><br/></td></tr>
-<tr class="memitem:ga0e83ae3c9e7accb70fdfe1aca030e084"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__polynomial.html#ga0e83ae3c9e7accb70fdfe1aca030e084">irplib_polynomial_subtract</a> (cpl_polynomial *self, const cpl_polynomial *first, const cpl_polynomial *second)</td></tr>
-<tr class="memdesc:ga0e83ae3c9e7accb70fdfe1aca030e084"><td class="mdescLeft"> </td><td class="mdescRight">Subtract two polynomials of the same dimension. <a href="#ga0e83ae3c9e7accb70fdfe1aca030e084"></a><br/></td></tr>
-<tr class="memitem:ga55c030413e6ef112753b280ad5213786"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__polynomial.html#ga55c030413e6ef112753b280ad5213786">irplib_polynomial_multiply_scalar</a> (cpl_polynomial *self, const cpl_polynomial *other, double factor)</td></tr>
-<tr class="memdesc:ga55c030413e6ef112753b280ad5213786"><td class="mdescLeft"> </td><td class="mdescRight">Multiply a polynomial with a scalar. <a href="#ga55c030413e6ef112753b280ad5213786"></a><br/></td></tr>
-<tr class="memitem:ga87e84d69eadbde803fce3c3cbdedf385"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__polynomial.html#ga87e84d69eadbde803fce3c3cbdedf385">irplib_polynomial_solve_1d_all</a> (const cpl_polynomial *self, cpl_vector *roots, cpl_size *preal)</td></tr>
-<tr class="memdesc:ga87e84d69eadbde803fce3c3cbdedf385"><td class="mdescLeft"> </td><td class="mdescRight">Compute all n roots of p(x) = 0, where p(x) is of degree n, n > 0. <a href="#ga87e84d69eadbde803fce3c3cbdedf385"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga90e13f05c9addc584f154279681d1853"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_polynomial_add </td>
- <td>(</td>
- <td class="paramtype">cpl_polynomial * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_polynomial * </td>
- <td class="paramname"><em>first</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_polynomial * </td>
- <td class="paramname"><em>second</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Add two polynomials of the same dimension. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The polynomial to hold the result </td></tr>
- <tr><td class="paramname">first</td><td>The 1st polynomial to add </td></tr>
- <tr><td class="paramname">second</td><td>The 2nd polynomial to add </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE or the relevant CPL error code </dd></dl>
-<dl class="section note"><dt>Note:</dt><dd>self may be passed also as first and/or second</dd></dl>
-<p>Possible CPL error code set in this function:</p>
-<ul>
-<li>CPL_ERROR_NULL_INPUT if an input pointer is NULL</li>
-<li>CPL_ERROR_INCOMPATIBLE_INPUT if the polynomials do not have identical dimensions</li>
-<li>CPL_ERROR_UNSUPPORTED_MODE if the dimension is not 1 (FIXME) </li>
-</ul>
-
-<p>Definition at line <a class="el" href="irplib__polynomial_8c_source.html#l00134">134</a> of file <a class="el" href="irplib__polynomial_8c_source.html">irplib_polynomial.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga55c030413e6ef112753b280ad5213786"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_polynomial_multiply_scalar </td>
- <td>(</td>
- <td class="paramtype">cpl_polynomial * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_polynomial * </td>
- <td class="paramname"><em>other</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>factor</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Multiply a polynomial with a scalar. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The polynomial to hold the result </td></tr>
- <tr><td class="paramname">other</td><td>The polynomial to scale, may equal self </td></tr>
- <tr><td class="paramname">factor</td><td>The factor to multiply with </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE or the relevant CPL error code</dd></dl>
-<p>Possible CPL error code set in this function:</p>
-<ul>
-<li>CPL_ERROR_NULL_INPUT if an input pointer is NULL</li>
-<li>CPL_ERROR_UNSUPPORTED_MODE if the dimension is not 1 (FIXME) </li>
-</ul>
-
-<p>Definition at line <a class="el" href="irplib__polynomial_8c_source.html#l00253">253</a> of file <a class="el" href="irplib__polynomial_8c_source.html">irplib_polynomial.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga87e84d69eadbde803fce3c3cbdedf385"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_polynomial_solve_1d_all </td>
- <td>(</td>
- <td class="paramtype">const cpl_polynomial * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_vector * </td>
- <td class="paramname"><em>roots</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_size * </td>
- <td class="paramname"><em>preal</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Compute all n roots of p(x) = 0, where p(x) is of degree n, n > 0. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The 1D-polynomial </td></tr>
- <tr><td class="paramname">roots</td><td>A pre-allocated vector of length n to hold the roots </td></tr>
- <tr><td class="paramname">preal</td><td>The number of real roots found, or undefined on error </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE or the relevant CPL error code</dd></dl>
-<p>The *preal real roots are stored first in ascending order, then follows for each pair of complex conjugate roots, the real and imaginary parts of the root in the positive imaginary half-plane, for example for a 3rd degree polynomial with 1 real root, the roots are represented as: x0 = v0 x1 = v1 + i v2 x2 = v1 - i v2, where v0, v1, v2 are the elements of the roots vector.</p>
-<p>Possible CPL error code set in this function:</p>
-<ul>
-<li>CPL_ERROR_NULL_INPUT if an input pointer is NULL</li>
-<li>CPL_ERROR_INVALID_TYPE if the polynomial has the wrong dimension</li>
-<li>CPL_ERROR_DATA_NOT_FOUND if the polynomial does not have a degree of at least 1.</li>
-<li>CPL_ERROR_INCOMPATIBLE_INPUT if the roots vector does not have length n</li>
-<li>CPL_ERROR_DIVISION_BY_ZERO if a division by zero occurs (n > 4)</li>
-<li>CPL_ERROR_CONTINUE if the algorithm does not converge (n > 4) </li>
-</ul>
-
-<p>Definition at line <a class="el" href="irplib__polynomial_8c_source.html#l00310">310</a> of file <a class="el" href="irplib__polynomial_8c_source.html">irplib_polynomial.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga0e83ae3c9e7accb70fdfe1aca030e084"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_polynomial_subtract </td>
- <td>(</td>
- <td class="paramtype">cpl_polynomial * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_polynomial * </td>
- <td class="paramname"><em>first</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_polynomial * </td>
- <td class="paramname"><em>second</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Subtract two polynomials of the same dimension. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The polynomial to hold the result </td></tr>
- <tr><td class="paramname">first</td><td>The polynomial to subtract from </td></tr>
- <tr><td class="paramname">second</td><td>The polynomial to subtract </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE or the relevant CPL error code </dd></dl>
-<dl class="section note"><dt>Note:</dt><dd>self may be passed also as first and/or second</dd></dl>
-<p>Possible CPL error code set in this function:</p>
-<ul>
-<li>CPL_ERROR_NULL_INPUT if an input pointer is NULL</li>
-<li>CPL_ERROR_INCOMPATIBLE_INPUT if the polynomials do not have identical dimensions</li>
-<li>CPL_ERROR_UNSUPPORTED_MODE if the dimension is not 1 (FIXME) </li>
-</ul>
-
-<p>Definition at line <a class="el" href="irplib__polynomial_8c_source.html#l00195">195</a> of file <a class="el" href="irplib__polynomial_8c_source.html">irplib_polynomial.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__irplib__ppm.html b/html/group__irplib__ppm.html
deleted file mode 100644
index db7aa20..0000000
--- a/html/group__irplib__ppm.html
+++ /dev/null
@@ -1,143 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Point pattern matching</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Point pattern matching</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga9b49569fb0bd55977b533407c1ad956d"><td class="memItemLeft" align="right" valign="top">cpl_polynomial * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__ppm.html#ga9b49569fb0bd55977b533407c1ad956d">irplib_ppm_engine</a> (const cpl_vector *spectrum, const cpl_bivector *lines_catalog, const cpl_polynomial *poly_init, double slitw, double fwhm, double thresh, int degree, int doplot, cpl_table **tab_infos)</td></tr>
-<tr class="memdesc:ga9b49569fb0bd55977b533407c1ad956d"><td class="mdescLeft"> </td><td class="mdescRight">The Wavelength Calibration using PPM. <a href="#ga9b49569fb0bd55977b533407c1ad956d"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga9b49569fb0bd55977b533407c1ad956d"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_polynomial* irplib_ppm_engine </td>
- <td>(</td>
- <td class="paramtype">const cpl_vector * </td>
- <td class="paramname"><em>spectrum</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_bivector * </td>
- <td class="paramname"><em>lines_catalog</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_polynomial * </td>
- <td class="paramname"><em>poly_init</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>slitw</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>fwhm</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>thresh</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>degree</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>doplot</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_table ** </td>
- <td class="paramname"><em>tab_infos</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>The Wavelength Calibration using PPM. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">spectrum</td><td>The spectrum vector </td></tr>
- <tr><td class="paramname">lines_catalog</td><td>The lines catalog </td></tr>
- <tr><td class="paramname">poly_init</td><td>Polynomial with the initial guess </td></tr>
- <tr><td class="paramname">slitw</td><td>The slit width </td></tr>
- <tr><td class="paramname">fwhm</td><td>The spectral FWHM [pixel] </td></tr>
- <tr><td class="paramname">thresh</td><td>The threshold for lines detection </td></tr>
- <tr><td class="paramname">degree</td><td>The polynomial degree </td></tr>
- <tr><td class="paramname">doplot</td><td>Plotting level (zero for none) </td></tr>
- <tr><td class="paramname">tab_infos</td><td>The computed solution table or NULL (computed) </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>the polynomial solution or NULL in error case</dd></dl>
-<p>The returned table must be deallocated with cpl_table_delete(). The returned polynomial must be deallocated with cpl_polynomial_delete(). </p>
-
-<p>Definition at line <a class="el" href="irplib__ppm_8c_source.html#l00084">84</a> of file <a class="el" href="irplib__ppm_8c_source.html">irplib_ppm.c</a>.</p>
-
-<p>References <a class="el" href="irplib__spectrum_8c_source.html#l00273">irplib_spectrum_detect_peaks()</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__irplib__slitpos.html b/html/group__irplib__slitpos.html
deleted file mode 100644
index ecb0d3d..0000000
--- a/html/group__irplib__slitpos.html
+++ /dev/null
@@ -1,109 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Functions for slit position</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Functions for slit position</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga632b21eccf3d4bb48426cdd23f321cba"><td class="memItemLeft" align="right" valign="top">cpl_table * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__slitpos.html#ga632b21eccf3d4bb48426cdd23f321cba">irplib_slitpos_analysis</a> (const cpl_image *imslit, int slit_max_width, double *slit_flux)</td></tr>
-<tr class="memdesc:ga632b21eccf3d4bb48426cdd23f321cba"><td class="mdescLeft"> </td><td class="mdescRight">Detect the slit position, detect its ends, extract a thin image containing only the slit and find its edges. <a href="#ga632b21eccf3d4bb48426cdd23f321cba"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga632b21eccf3d4bb48426cdd23f321cba"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_table* irplib_slitpos_analysis </td>
- <td>(</td>
- <td class="paramtype">const cpl_image * </td>
- <td class="paramname"><em>imslit</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>slit_max_width</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double * </td>
- <td class="paramname"><em>slit_flux</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Detect the slit position, detect its ends, extract a thin image containing only the slit and find its edges. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">imslit</td><td>Input image with a vertical slit </td></tr>
- <tr><td class="paramname">slit_max_width</td><td>Maximum slit width </td></tr>
- <tr><td class="paramname">slit_flux</td><td>Some of the pixels values of the slit </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>the table with the slit position or NULL on error</dd></dl>
-<p>On success the created table contains rows of four columns labeled: "SLIT_Y" (int) "SLIT_LEFT" (double) "SLIT_CENTER" (double) "SLIT_RIGHT" (double)</p>
-<p>This function returns a table with 3 columns:</p>
-<ul>
-<li>Left or Lower edge of the slit</li>
-<li>Center of the slit</li>
-<li>Right or Upper edge of the slit</li>
-</ul>
-<p>Additionally, the slit flux is computed. The passed slit_flux pointer parameter can be NULL. In error case, its value is undefined.</p>
-<p>NB: Coordinates use FITS convention. </p>
-
-<p>Definition at line <a class="el" href="irplib__slitpos_8c_source.html#l00119">119</a> of file <a class="el" href="irplib__slitpos_8c_source.html">irplib_slitpos.c</a>.</p>
-
-<p>References <a class="el" href="irplib__flat_8c_source.html#l00191">irplib_flat_fit_slope_robust()</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__irplib__spectrum.html b/html/group__irplib__spectrum.html
deleted file mode 100644
index 7775886..0000000
--- a/html/group__irplib__spectrum.html
+++ /dev/null
@@ -1,190 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Functions for LSS spectra</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Functions for LSS spectra</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga9ac928ba9a48e864b56e921c970638c0"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__spectrum.html#ga9ac928ba9a48e864b56e921c970638c0">irplib_spectrum_find_brightest</a> (const cpl_image *in, int offset, spec_shadows shadows, double min_bright, int orient, double *pos)</td></tr>
-<tr class="memdesc:ga9ac928ba9a48e864b56e921c970638c0"><td class="mdescLeft"> </td><td class="mdescRight">Finds the brightest spectrum in an image. <a href="#ga9ac928ba9a48e864b56e921c970638c0"></a><br/></td></tr>
-<tr class="memitem:ga1885902c29d7383674c85e2c3d935961"><td class="memItemLeft" align="right" valign="top">cpl_vector * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__spectrum.html#ga1885902c29d7383674c85e2c3d935961">irplib_spectrum_detect_peaks</a> (const cpl_vector *in, int fwhm, double sigma, int display, cpl_vector **fwhms_out, cpl_vector **areas_out)</td></tr>
-<tr class="memdesc:ga1885902c29d7383674c85e2c3d935961"><td class="mdescLeft"> </td><td class="mdescRight">Detect the brightest features in a spectrum. <a href="#ga1885902c29d7383674c85e2c3d935961"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga1885902c29d7383674c85e2c3d935961"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_vector* irplib_spectrum_detect_peaks </td>
- <td>(</td>
- <td class="paramtype">const cpl_vector * </td>
- <td class="paramname"><em>in</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>fwhm</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>sigma</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>display</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_vector ** </td>
- <td class="paramname"><em>fwhms_out</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_vector ** </td>
- <td class="paramname"><em>areas_out</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Detect the brightest features in a spectrum. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">in</td><td>the spectrum </td></tr>
- <tr><td class="paramname">fwhm</td><td>the FWHM used for the lines convolution </td></tr>
- <tr><td class="paramname">display</td><td>the flag to display </td></tr>
- <tr><td class="paramname">fwhms</td><td>the fwhms of the detected lines </td></tr>
- <tr><td class="paramname">areas</td><td>the areas under the detected lines </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>The bright lines positions or NULL in error case</dd></dl>
-<p>The lines positions are in pixels (first pixel is 1) </p>
-
-<p>Definition at line <a class="el" href="irplib__spectrum_8c_source.html#l00273">273</a> of file <a class="el" href="irplib__spectrum_8c_source.html">irplib_spectrum.c</a>.</p>
-
-<p>Referenced by <a class="el" href="irplib__ppm_8c_source.html#l00084">irplib_ppm_engine()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga9ac928ba9a48e864b56e921c970638c0"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int irplib_spectrum_find_brightest </td>
- <td>(</td>
- <td class="paramtype">const cpl_image * </td>
- <td class="paramname"><em>in</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>offset</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">spec_shadows </td>
- <td class="paramname"><em>shadows</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>min_bright</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>orient</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double * </td>
- <td class="paramname"><em>pos</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Finds the brightest spectrum in an image. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">in</td><td>spectral image with spectra </td></tr>
- <tr><td class="paramname">offset</td><td>the diff. between pos. and neg. spectra </td></tr>
- <tr><td class="paramname">shadows</td><td>the spectral shadows </td></tr>
- <tr><td class="paramname">min_bright</td><td>min. bright. required for a spectrum </td></tr>
- <tr><td class="paramname">orient</td><td>1 for vertical spec. 0 for horizontal ones </td></tr>
- <tr><td class="paramname">pos</td><td>the computed spectrum position (1->npix) </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>int 0 if ok, -1 in error case</dd></dl>
-<p>Finds the brightest spectrum in an image by collapsing the image orthogonally to the spectrum orientation. Spectra are assumed to be horizontal for orient==0, vertical for 1 </p>
-
-<p>Definition at line <a class="el" href="irplib__spectrum_8c_source.html#l00093">93</a> of file <a class="el" href="irplib__spectrum_8c_source.html">irplib_spectrum.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__irplib__stdstar.html b/html/group__irplib__stdstar.html
deleted file mode 100644
index e9dcd12..0000000
--- a/html/group__irplib__stdstar.html
+++ /dev/null
@@ -1,623 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Functions for standard stars</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Functions for standard stars</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:gac18c92be3d3c96ba57804b074a2abb7d"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__stdstar.html#gac18c92be3d3c96ba57804b074a2abb7d">irplib_stdstar_write_catalogs</a> (cpl_frameset *set_in, const cpl_frameset *set_raw, const char *recipe_name, const char *pro_cat, const char *pro_type, const char *package_name, const char *ins_name, cpl_table *(*convert_ascii_table)( [...]
-<tr class="memdesc:gac18c92be3d3c96ba57804b074a2abb7d"><td class="mdescLeft"> </td><td class="mdescRight">Write the ASCII catalogs as FITS files. <a href="#gac18c92be3d3c96ba57804b074a2abb7d"></a><br/></td></tr>
-<tr class="memitem:ga1690bd84c24e905e384b8f725bf7aff1"><td class="memItemLeft" align="right" valign="top">cpl_table * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__stdstar.html#ga1690bd84c24e905e384b8f725bf7aff1">irplib_stdstar_load_catalog</a> (const char *filename, const char *ext_name)</td></tr>
-<tr class="memdesc:ga1690bd84c24e905e384b8f725bf7aff1"><td class="mdescLeft"> </td><td class="mdescRight">Load the FITS catalog in a table. <a href="#ga1690bd84c24e905e384b8f725bf7aff1"></a><br/></td></tr>
-<tr class="memitem:ga2dbe2031bf6d669778dca42f6c343efc"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__stdstar.html#ga2dbe2031bf6d669778dca42f6c343efc">irplib_stdstar_check_columns_exist</a> (const cpl_table *catal)</td></tr>
-<tr class="memdesc:ga2dbe2031bf6d669778dca42f6c343efc"><td class="mdescLeft"> </td><td class="mdescRight">Check that the table has the relevant columns of a stdstar table. <a href="#ga2dbe2031bf6d669778dca42f6c343efc"></a><br/></td></tr>
-<tr class="memitem:ga080e06303f3f83a91959ac01381dc4e8"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__stdstar.html#ga080e06303f3f83a91959ac01381dc4e8">irplib_stdstar_select_stars_dist</a> (cpl_table *cat, double ra, double dec, double dist)</td></tr>
-<tr class="memdesc:ga080e06303f3f83a91959ac01381dc4e8"><td class="mdescLeft"> </td><td class="mdescRight">Select the stars that are within a given distance. <a href="#ga080e06303f3f83a91959ac01381dc4e8"></a><br/></td></tr>
-<tr class="memitem:ga28316d8f0619bdbd0040b1f56799e7ab"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__stdstar.html#ga28316d8f0619bdbd0040b1f56799e7ab">irplib_stdstar_select_stars_mag</a> (cpl_table *cat, const char *mag_colname)</td></tr>
-<tr class="memdesc:ga28316d8f0619bdbd0040b1f56799e7ab"><td class="mdescLeft"> </td><td class="mdescRight">Select the stars that have a known magnitude. <a href="#ga28316d8f0619bdbd0040b1f56799e7ab"></a><br/></td></tr>
-<tr class="memitem:ga36b4c90fd548dd0c00afe97b17a558e5"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__stdstar.html#ga36b4c90fd548dd0c00afe97b17a558e5">irplib_stdstar_find_closest</a> (const cpl_table *cat, double ra, double dec)</td></tr>
-<tr class="memdesc:ga36b4c90fd548dd0c00afe97b17a558e5"><td class="mdescLeft"> </td><td class="mdescRight">Find the closest star. <a href="#ga36b4c90fd548dd0c00afe97b17a558e5"></a><br/></td></tr>
-<tr class="memitem:ga4d69ae957de04b1769ac225f12834027"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__stdstar.html#ga4d69ae957de04b1769ac225f12834027">irplib_stdstar_find_star</a> (const char *catfile, double ra, double dec, const char *band, const char *catname, double *mag, char **name, char **type, char **usedcatname, double *star_ra, double *star_dec, double dist_am)</td></tr>
-<tr class="memdesc:ga4d69ae957de04b1769ac225f12834027"><td class="mdescLeft"> </td><td class="mdescRight">Find the closest star to ra, dec in the catalog. <a href="#ga4d69ae957de04b1769ac225f12834027"></a><br/></td></tr>
-<tr class="memitem:ga93b46d8ac857a0d0fdc781b56a91a8ba"><td class="memItemLeft" align="right" valign="top">cpl_vector * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__stdstar.html#ga93b46d8ac857a0d0fdc781b56a91a8ba">irplib_stdstar_get_conversion</a> (const cpl_bivector *spec, double dit, double surface, double gain, double mag)</td></tr>
-<tr class="memdesc:ga93b46d8ac857a0d0fdc781b56a91a8ba"><td class="mdescLeft"> </td><td class="mdescRight">Get the conversion. <a href="#ga93b46d8ac857a0d0fdc781b56a91a8ba"></a><br/></td></tr>
-<tr class="memitem:ga6e68e6a9d0bbb41ef717234b9f289dab"><td class="memItemLeft" align="right" valign="top">cpl_vector * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__stdstar.html#ga6e68e6a9d0bbb41ef717234b9f289dab">irplib_stdstar_get_mag_zero</a> (const cpl_bivector *sed, const cpl_vector *waves, double cent_wl)</td></tr>
-<tr class="memdesc:ga6e68e6a9d0bbb41ef717234b9f289dab"><td class="mdescLeft"> </td><td class="mdescRight">Get the 0 magnitude spectrum. <a href="#ga6e68e6a9d0bbb41ef717234b9f289dab"></a><br/></td></tr>
-<tr class="memitem:gabbad67ff18cb901914caa9e864969dea"><td class="memItemLeft" align="right" valign="top">cpl_bivector * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__stdstar.html#gabbad67ff18cb901914caa9e864969dea">irplib_stdstar_get_sed</a> (const char *seds_file, const char *sptype)</td></tr>
-<tr class="memdesc:gabbad67ff18cb901914caa9e864969dea"><td class="mdescLeft"> </td><td class="mdescRight">Get the SED. <a href="#gabbad67ff18cb901914caa9e864969dea"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga2dbe2031bf6d669778dca42f6c343efc"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_stdstar_check_columns_exist </td>
- <td>(</td>
- <td class="paramtype">const cpl_table * </td>
- <td class="paramname"><em>catal</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Check that the table has the relevant columns of a stdstar table. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">catal</td><td>Table with the catalogue </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE if the table has all the mandatory columns, a proper error code otherwise</dd></dl>
-<p>The table is checked for the presence of the mandatory keywords </p>
-
-<p>Definition at line <a class="el" href="irplib__stdstar_8c_source.html#l00300">300</a> of file <a class="el" href="irplib__stdstar_8c_source.html">irplib_stdstar.c</a>.</p>
-
-<p>Referenced by <a class="el" href="irplib__stdstar_8c_source.html#l00501">irplib_stdstar_find_star()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga36b4c90fd548dd0c00afe97b17a558e5"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int irplib_stdstar_find_closest </td>
- <td>(</td>
- <td class="paramtype">const cpl_table * </td>
- <td class="paramname"><em>cat</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>ra</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>dec</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Find the closest star. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">cat</td><td>the catalog </td></tr>
- <tr><td class="paramname">ra</td><td>RA pos </td></tr>
- <tr><td class="paramname">dec</td><td>DEC pos </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>the index of the star in the table or -1 in error case</dd></dl>
-<p>Returns the index of the star that is closest to (ra,dec) </p>
-
-<p>Definition at line <a class="el" href="irplib__stdstar_8c_source.html#l00433">433</a> of file <a class="el" href="irplib__stdstar_8c_source.html">irplib_stdstar.c</a>.</p>
-
-<p>Referenced by <a class="el" href="irplib__stdstar_8c_source.html#l00501">irplib_stdstar_find_star()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga4d69ae957de04b1769ac225f12834027"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_stdstar_find_star </td>
- <td>(</td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>catfile</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>ra</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>dec</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>band</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>catname</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double * </td>
- <td class="paramname"><em>mag</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char ** </td>
- <td class="paramname"><em>name</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char ** </td>
- <td class="paramname"><em>type</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char ** </td>
- <td class="paramname"><em>usedcatname</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double * </td>
- <td class="paramname"><em>star_ra</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double * </td>
- <td class="paramname"><em>star_dec</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>dist_am</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Find the closest star to ra, dec in the catalog. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">catfile</td><td>the catalog file name </td></tr>
- <tr><td class="paramname">ra</td><td>RA pos where to search </td></tr>
- <tr><td class="paramname">dec</td><td>DEC pos where to search </td></tr>
- <tr><td class="paramname">band</td><td>the band name </td></tr>
- <tr><td class="paramname">catname</td><td>the searched catalog name </td></tr>
- <tr><td class="paramname">mag</td><td>the computed magnitude (output) </td></tr>
- <tr><td class="paramname">name</td><td>the star name (output) </td></tr>
- <tr><td class="paramname">type</td><td>the star type (output) </td></tr>
- <tr><td class="paramname">star_ra</td><td>the star RA from the catalog (output) </td></tr>
- <tr><td class="paramname">star_dec</td><td>the star DEC from the catalog (output) </td></tr>
- <tr><td class="paramname">dist_am</td><td>the distance in arc minutes </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE if ok or else the relevant CPL error code</dd></dl>
-<p>The closest star to ra, dec with defined magnitude is search in all the catalogues included in catfile. If catname is "all", all the catalogs are searched at once. The output pointers can be NULL if one is not interested in them. </p>
-
-<p>Definition at line <a class="el" href="irplib__stdstar_8c_source.html#l00501">501</a> of file <a class="el" href="irplib__stdstar_8c_source.html">irplib_stdstar.c</a>.</p>
-
-<p>References <a class="el" href="irplib__stdstar_8c_source.html#l00300">irplib_stdstar_check_columns_exist()</a>, <a class="el" href="irplib__stdstar_8c_source.html#l00433">irplib_stdstar_find_closest()</a>, <a class="el" href="irplib__stdstar_8c_source.html#l00195">irplib_stdstar_load_catalog()</a>, <a class="el" href="irplib__stdstar_8c_source.html#l00348">irplib_stdstar_select_stars_dist()</a>, and <a class="el" href="irplib__stdstar_8c_source.html#l00397">irplib_stdstar_select_stars [...]
-
-</div>
-</div>
-<a class="anchor" id="ga93b46d8ac857a0d0fdc781b56a91a8ba"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_vector* irplib_stdstar_get_conversion </td>
- <td>(</td>
- <td class="paramtype">const cpl_bivector * </td>
- <td class="paramname"><em>spec</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>dit</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>surface</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>gain</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>mag</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Get the conversion. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">spec</td><td>the extracted spectrum </td></tr>
- <tr><td class="paramname">dit</td><td>the DIT (in sec) </td></tr>
- <tr><td class="paramname">surface</td><td>the surface of the miror (in sq cm) </td></tr>
- <tr><td class="paramname">gain</td><td>the gain of the instrument (ISAAC=4.5, SINFONI=2.42) </td></tr>
- <tr><td class="paramname">mag</td><td>the star magnitude </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>the newly allocated conversion or NULL in error case</dd></dl>
-<p>conversion(wave) = (spec * gain * 10^(mag/2.5) * h * c) / (dit * surface * dispersion * wave) </p>
-
-<p>Definition at line <a class="el" href="irplib__stdstar_8c_source.html#l00609">609</a> of file <a class="el" href="irplib__stdstar_8c_source.html">irplib_stdstar.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga6e68e6a9d0bbb41ef717234b9f289dab"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_vector* irplib_stdstar_get_mag_zero </td>
- <td>(</td>
- <td class="paramtype">const cpl_bivector * </td>
- <td class="paramname"><em>sed</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_vector * </td>
- <td class="paramname"><em>waves</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>cent_wl</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Get the 0 magnitude spectrum. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">sed</td><td>the SED in angstroms / ergs/s/cm^2/Angstrom </td></tr>
- <tr><td class="paramname">waves</td><td>the wavelengths in angstroms </td></tr>
- <tr><td class="paramname">cent_wl</td><td>the central wavelength in microns </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>the newly allocated spectrum or NULL in error case </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__stdstar_8c_source.html#l00668">668</a> of file <a class="el" href="irplib__stdstar_8c_source.html">irplib_stdstar.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gabbad67ff18cb901914caa9e864969dea"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_bivector* irplib_stdstar_get_sed </td>
- <td>(</td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>seds_file</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>sptype</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Get the SED. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">seds_file</td><td>the table file name </td></tr>
- <tr><td class="paramname">sptype</td><td>the requested spectral type </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>the newly allocated SED or NULL in error case</dd></dl>
-<p>wavelength in Angstroms SED in </p>
-
-<p>Definition at line <a class="el" href="irplib__stdstar_8c_source.html#l00773">773</a> of file <a class="el" href="irplib__stdstar_8c_source.html">irplib_stdstar.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga1690bd84c24e905e384b8f725bf7aff1"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_table* irplib_stdstar_load_catalog </td>
- <td>(</td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>filename</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>ext_name</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Load the FITS catalog in a table. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">filename</td><td>Name of the FITS catalog </td></tr>
- <tr><td class="paramname">ext_name</td><td>Name of the catalog or "all" </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>The newly allocated table orNULL in error case.</dd></dl>
-<p>The table is loaded from the specified extension. If "all" is specified, all extension with the same columns as the first one are loaded and put together in the returned table.</p>
-<p>The returned table must be de allocated with cpl_table_delete(). </p>
-
-<p>Definition at line <a class="el" href="irplib__stdstar_8c_source.html#l00195">195</a> of file <a class="el" href="irplib__stdstar_8c_source.html">irplib_stdstar.c</a>.</p>
-
-<p>Referenced by <a class="el" href="irplib__stdstar_8c_source.html#l00501">irplib_stdstar_find_star()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga080e06303f3f83a91959ac01381dc4e8"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int irplib_stdstar_select_stars_dist </td>
- <td>(</td>
- <td class="paramtype">cpl_table * </td>
- <td class="paramname"><em>cat</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>ra</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>dec</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>dist</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Select the stars that are within a given distance. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">cat</td><td>the catalog </td></tr>
- <tr><td class="paramname">ra</td><td>RA pos </td></tr>
- <tr><td class="paramname">dec</td><td>DEC pos </td></tr>
- <tr><td class="paramname">dist</td><td>the distancw </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if ok, -1 in error case</dd></dl>
-<p>The stars that are within not further than dist from ra,dec are selected in the table. </p>
-
-<p>Definition at line <a class="el" href="irplib__stdstar_8c_source.html#l00348">348</a> of file <a class="el" href="irplib__stdstar_8c_source.html">irplib_stdstar.c</a>.</p>
-
-<p>Referenced by <a class="el" href="irplib__stdstar_8c_source.html#l00501">irplib_stdstar_find_star()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga28316d8f0619bdbd0040b1f56799e7ab"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int irplib_stdstar_select_stars_mag </td>
- <td>(</td>
- <td class="paramtype">cpl_table * </td>
- <td class="paramname"><em>cat</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>mag_colname</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Select the stars that have a known magnitude. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">cat</td><td>the catalog </td></tr>
- <tr><td class="paramname">mag_colname</td><td>the column name with the searched magnitude </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if ok, -1 in error case</dd></dl>
-<p>The stars whose magnitude in the mag band is known are selected in the table. </p>
-
-<p>Definition at line <a class="el" href="irplib__stdstar_8c_source.html#l00397">397</a> of file <a class="el" href="irplib__stdstar_8c_source.html">irplib_stdstar.c</a>.</p>
-
-<p>Referenced by <a class="el" href="irplib__stdstar_8c_source.html#l00501">irplib_stdstar_find_star()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gac18c92be3d3c96ba57804b074a2abb7d"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_stdstar_write_catalogs </td>
- <td>(</td>
- <td class="paramtype">cpl_frameset * </td>
- <td class="paramname"><em>set_in</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_frameset * </td>
- <td class="paramname"><em>set_raw</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>recipe_name</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>pro_cat</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>pro_type</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>package_name</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>ins_name</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_table *(*)(const char *) </td>
- <td class="paramname"><em>convert_ascii_table</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Write the ASCII catalogs as FITS files. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">set_in</td><td>Input frameset where the product is registered </td></tr>
- <tr><td class="paramname">set_raw</td><td>Set of ASCII catalogs </td></tr>
- <tr><td class="paramname">recipe_name</td><td>Recipe name </td></tr>
- <tr><td class="paramname">pro_cat</td><td>PRO.CATG </td></tr>
- <tr><td class="paramname">pro_type</td><td>PRO.TYPE </td></tr>
- <tr><td class="paramname">package_name</td><td>Usually PACKAGE "/" PACKAGE_VERSION </td></tr>
- <tr><td class="paramname">ins_name</td><td>Instrument name </td></tr>
- <tr><td class="paramname">convert_ascii_table</td><td>Conversion function </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE if ok or else the relevant CPL error code</dd></dl>
-<p>Every catalog will be written in a different extension, where EXTNAME is the name of the catalog ASCII file name.</p>
-<p>The conversion ascii -> cpl_table is done by convert_ascii_table() and should be defined in each instrument </p>
-
-<p>Definition at line <a class="el" href="irplib__stdstar_8c_source.html#l00089">89</a> of file <a class="el" href="irplib__stdstar_8c_source.html">irplib_stdstar.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__irplib__strehl.html b/html/group__irplib__strehl.html
deleted file mode 100644
index d7f43ce..0000000
--- a/html/group__irplib__strehl.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Functions to compute the Strehl</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Functions to compute the Strehl</div> </div>
-</div><!--header-->
-<div class="contents">
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__irplib__utils.html b/html/group__irplib__utils.html
deleted file mode 100644
index 875803a..0000000
--- a/html/group__irplib__utils.html
+++ /dev/null
@@ -1,1316 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Miscellaneous Utilities</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Miscellaneous Utilities</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga6b29dac884b62ab52f43dd670d4d8386"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__utils.html#ga6b29dac884b62ab52f43dd670d4d8386">irplib_errorstate_dump_warning</a> (unsigned self, unsigned first, unsigned last)</td></tr>
-<tr class="memdesc:ga6b29dac884b62ab52f43dd670d4d8386"><td class="mdescLeft"> </td><td class="mdescRight">Dump a single CPL error at the CPL warning level. <a href="#ga6b29dac884b62ab52f43dd670d4d8386"></a><br/></td></tr>
-<tr class="memitem:ga901ff52a1c9dcdfcf2d2632d31064bdb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__utils.html#ga901ff52a1c9dcdfcf2d2632d31064bdb">irplib_errorstate_dump_info</a> (unsigned self, unsigned first, unsigned last)</td></tr>
-<tr class="memdesc:ga901ff52a1c9dcdfcf2d2632d31064bdb"><td class="mdescLeft"> </td><td class="mdescRight">Dump a single CPL error at the CPL info level. <a href="#ga901ff52a1c9dcdfcf2d2632d31064bdb"></a><br/></td></tr>
-<tr class="memitem:ga26c6209e5df98978e2922a15b47b47d1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__utils.html#ga26c6209e5df98978e2922a15b47b47d1">irplib_errorstate_dump_debug</a> (unsigned self, unsigned first, unsigned last)</td></tr>
-<tr class="memdesc:ga26c6209e5df98978e2922a15b47b47d1"><td class="mdescLeft"> </td><td class="mdescRight">Dump a single CPL error at the CPL debug level. <a href="#ga26c6209e5df98978e2922a15b47b47d1"></a><br/></td></tr>
-<tr class="memitem:ga346842d722834a2e6221ff2d86314b7e"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__utils.html#ga346842d722834a2e6221ff2d86314b7e">irplib_dfs_save_image</a> (cpl_frameset *allframes, const cpl_parameterlist *parlist, const cpl_frameset *usedframes, const cpl_image *image, cpl_type_bpp bpp, const char *recipe, const char *procat, const cpl_propertylist *applist, const [...]
-<tr class="memdesc:ga346842d722834a2e6221ff2d86314b7e"><td class="mdescLeft"> </td><td class="mdescRight">Save an image as a DFS-compliant pipeline product. <a href="#ga346842d722834a2e6221ff2d86314b7e"></a><br/></td></tr>
-<tr class="memitem:ga4dc12f321e7aeb5e67ff19f815bfd7b7"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__utils.html#ga4dc12f321e7aeb5e67ff19f815bfd7b7">irplib_dfs_save_propertylist</a> (cpl_frameset *allframes, const cpl_parameterlist *parlist, const cpl_frameset *usedframes, const char *recipe, const char *procat, const cpl_propertylist *applist, const char *remregexp, const char *pipe_ [...]
-<tr class="memdesc:ga4dc12f321e7aeb5e67ff19f815bfd7b7"><td class="mdescLeft"> </td><td class="mdescRight">Save a propertylist as a DFS-compliant pipeline product. <a href="#ga4dc12f321e7aeb5e67ff19f815bfd7b7"></a><br/></td></tr>
-<tr class="memitem:ga66f7adc9e165b4e934e3d57a700f55c1"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__utils.html#ga66f7adc9e165b4e934e3d57a700f55c1">irplib_dfs_save_imagelist</a> (cpl_frameset *allframes, const cpl_parameterlist *parlist, const cpl_frameset *usedframes, const cpl_imagelist *imagelist, cpl_type_bpp bpp, const char *recipe, const char *procat, const cpl_propertylist *ap [...]
-<tr class="memdesc:ga66f7adc9e165b4e934e3d57a700f55c1"><td class="mdescLeft"> </td><td class="mdescRight">Save an imagelist as a DFS-compliant pipeline product. <a href="#ga66f7adc9e165b4e934e3d57a700f55c1"></a><br/></td></tr>
-<tr class="memitem:ga62a91f8630af11164547c168660b2ade"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__utils.html#ga62a91f8630af11164547c168660b2ade">irplib_dfs_save_table</a> (cpl_frameset *allframes, const cpl_parameterlist *parlist, const cpl_frameset *usedframes, const cpl_table *table, const cpl_propertylist *tablelist, const char *recipe, const char *procat, const cpl_propertylis [...]
-<tr class="memdesc:ga62a91f8630af11164547c168660b2ade"><td class="mdescLeft"> </td><td class="mdescRight">Save a table as a DFS-compliant pipeline product. <a href="#ga62a91f8630af11164547c168660b2ade"></a><br/></td></tr>
-<tr class="memitem:ga1fd7c2f4c00014049b0bf4bf6814b451"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__utils.html#ga1fd7c2f4c00014049b0bf4bf6814b451">irplib_dfs_save_image_</a> (cpl_frameset *allframes, cpl_propertylist *header, const cpl_parameterlist *parlist, const cpl_frameset *usedframes, const cpl_frame *inherit, const cpl_image *image, cpl_type type, const char *recipe, const cp [...]
-<tr class="memdesc:ga1fd7c2f4c00014049b0bf4bf6814b451"><td class="mdescLeft"> </td><td class="mdescRight">Save an image as a DFS-compliant pipeline product. <a href="#ga1fd7c2f4c00014049b0bf4bf6814b451"></a><br/></td></tr>
-<tr class="memitem:ga832676f36ecd647b77f4bb373b2d1954"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__utils.html#ga832676f36ecd647b77f4bb373b2d1954">irplib_image_split</a> (const cpl_image *self, cpl_image *im_low, cpl_image *im_mid, cpl_image *im_high, double th_low, cpl_boolean isleq_low, double th_high, cpl_boolean isgeq_high, double alt_low, double alt_high, cpl_boolean isbad_low, [...]
-<tr class="memdesc:ga832676f36ecd647b77f4bb373b2d1954"><td class="mdescLeft"> </td><td class="mdescRight">Split the values in an image in three according to two thresholds. <a href="#ga832676f36ecd647b77f4bb373b2d1954"></a><br/></td></tr>
-<tr class="memitem:ga3d1a791b5dc870770611c7dbf60d02df"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__utils.html#ga3d1a791b5dc870770611c7dbf60d02df">irplib_dfs_table_convert</a> (cpl_table *self, cpl_frameset *allframes, const cpl_frameset *useframes, int maxlinelen, char commentchar, const char *product_name, const char *procatg, const cpl_parameterlist *parlist, const char *recipe_n [...]
-<tr class="memdesc:ga3d1a791b5dc870770611c7dbf60d02df"><td class="mdescLeft"> </td><td class="mdescRight">Create a DFS product with one table from one or more (ASCII) file(s) <a href="#ga3d1a791b5dc870770611c7dbf60d02df"></a><br/></td></tr>
-<tr class="memitem:ga59a68df1795523d4f7653875bd9fc01d"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__utils.html#ga59a68df1795523d4f7653875bd9fc01d">irplib_table_read_from_frameset</a> (cpl_table *self, const cpl_frameset *useframes, int maxlinelen, char commentchar, const cpl_parameterlist *parlist, cpl_boolean(*table_set_row)(cpl_table *, const char *, int, const cpl_frame *, const [...]
-<tr class="memdesc:ga59a68df1795523d4f7653875bd9fc01d"><td class="mdescLeft"> </td><td class="mdescRight">Set the rows of a table with data from one or more (ASCII) files. <a href="#ga59a68df1795523d4f7653875bd9fc01d"></a><br/></td></tr>
-<tr class="memitem:gaf9d392144014e2363054bc3f83c8e47e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e">irplib_reset</a> (void)</td></tr>
-<tr class="memdesc:gaf9d392144014e2363054bc3f83c8e47e"><td class="mdescLeft"> </td><td class="mdescRight">Reset IRPLIB state. <a href="#gaf9d392144014e2363054bc3f83c8e47e"></a><br/></td></tr>
-<tr class="memitem:gae13f0d6b24ade506a99ac9c4bb09efde"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__utils.html#gae13f0d6b24ade506a99ac9c4bb09efde">irplib_compare_tags</a> (cpl_frame *frame1, cpl_frame *frame2)</td></tr>
-<tr class="memdesc:gae13f0d6b24ade506a99ac9c4bb09efde"><td class="mdescLeft"> </td><td class="mdescRight">Comparison function to identify different input frames. <a href="#gae13f0d6b24ade506a99ac9c4bb09efde"></a><br/></td></tr>
-<tr class="memitem:ga9fe4dca85dee68061114e26fdc72a134"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__utils.html#ga9fe4dca85dee68061114e26fdc72a134">irplib_frameset_find_file</a> (const cpl_frameset *self, const char *tag)</td></tr>
-<tr class="memdesc:ga9fe4dca85dee68061114e26fdc72a134"><td class="mdescLeft"> </td><td class="mdescRight">Find the filename with the given tag in a frame set. <a href="#ga9fe4dca85dee68061114e26fdc72a134"></a><br/></td></tr>
-<tr class="memitem:ga5b20a00f315410b49b1db1dd2417fe68"><td class="memItemLeft" align="right" valign="top">const cpl_frame * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__utils.html#ga5b20a00f315410b49b1db1dd2417fe68">irplib_frameset_get_first_from_group</a> (const cpl_frameset *self, cpl_frame_group group)</td></tr>
-<tr class="memdesc:ga5b20a00f315410b49b1db1dd2417fe68"><td class="mdescLeft"> </td><td class="mdescRight">Find the first frame belonging to the given group. <a href="#ga5b20a00f315410b49b1db1dd2417fe68"></a><br/></td></tr>
-<tr class="memitem:gac568c70a57ef8610f5fedc9f1943a3a1"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__utils.html#gac568c70a57ef8610f5fedc9f1943a3a1">irplib_apertures_find_max_flux</a> (const cpl_apertures *self, int *ind, int nfind)</td></tr>
-<tr class="memdesc:gac568c70a57ef8610f5fedc9f1943a3a1"><td class="mdescLeft"> </td><td class="mdescRight">Find the aperture(s) with the greatest flux. <a href="#gac568c70a57ef8610f5fedc9f1943a3a1"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="gac568c70a57ef8610f5fedc9f1943a3a1"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_apertures_find_max_flux </td>
- <td>(</td>
- <td class="paramtype">const cpl_apertures * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int * </td>
- <td class="paramname"><em>ind</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>nfind</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Find the aperture(s) with the greatest flux. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The aperture object </td></tr>
- <tr><td class="paramname">ind</td><td>The aperture-indices in order of decreasing flux </td></tr>
- <tr><td class="paramname">nfind</td><td>Number of indices to find </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE or the relevant <em>cpl_error_code</em> on error</dd></dl>
-<p>nfind must be at least 1 and at most the size of the aperture object.</p>
-<p>The ind array must be able to hold (at least) nfind integers. On success the first nfind elements of ind point to indices of the aperture object.</p>
-<p>To find the single ind of the aperture with the maximum flux use simply: int ind; irplib_apertures_find_max_flux(self, &ind, 1); </p>
-
-<p>Definition at line <a class="el" href="irplib__utils_8c_source.html#l01248">1248</a> of file <a class="el" href="irplib__utils_8c_source.html">irplib_utils.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gae13f0d6b24ade506a99ac9c4bb09efde"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int irplib_compare_tags </td>
- <td>(</td>
- <td class="paramtype">cpl_frame * </td>
- <td class="paramname"><em>frame1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_frame * </td>
- <td class="paramname"><em>frame2</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Comparison function to identify different input frames. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">frame1</td><td>first frame </td></tr>
- <tr><td class="paramname">frame2</td><td>second frame </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if frame1!=frame2, 1 if frame1==frame2, -1 in error case </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__utils_8c_source.html#l01147">1147</a> of file <a class="el" href="irplib__utils_8c_source.html">irplib_utils.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga346842d722834a2e6221ff2d86314b7e"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_dfs_save_image </td>
- <td>(</td>
- <td class="paramtype">cpl_frameset * </td>
- <td class="paramname"><em>allframes</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_parameterlist * </td>
- <td class="paramname"><em>parlist</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_frameset * </td>
- <td class="paramname"><em>usedframes</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_image * </td>
- <td class="paramname"><em>image</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_type_bpp </td>
- <td class="paramname"><em>bpp</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>recipe</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>procat</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_propertylist * </td>
- <td class="paramname"><em>applist</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>remregexp</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>pipe_id</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>filename</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Save an image as a DFS-compliant pipeline product. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">allframes</td><td>The list of input frames for the recipe </td></tr>
- <tr><td class="paramname">parlist</td><td>The list of input parameters </td></tr>
- <tr><td class="paramname">usedframes</td><td>The list of raw/calibration frames used for this product </td></tr>
- <tr><td class="paramname">image</td><td>The image to be saved </td></tr>
- <tr><td class="paramname">bpp</td><td>Bits per pixel </td></tr>
- <tr><td class="paramname">recipe</td><td>The recipe name </td></tr>
- <tr><td class="paramname">procat</td><td>The product category tag </td></tr>
- <tr><td class="paramname">applist</td><td>Optional propertylist to append to primary header or NULL </td></tr>
- <tr><td class="paramname">remregexp</td><td>Optional regexp of properties not to put in main header </td></tr>
- <tr><td class="paramname">pipe_id</td><td>PACKAGE "/" PACKAGE_VERSION </td></tr>
- <tr><td class="paramname">filename</td><td>Filename of created product </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section note"><dt>Note:</dt><dd>The image may be NULL in which case only the header information is saved but passing a NULL image is deprecated, use cpl_dfs_save_propertylist(). </dd>
-<dd>
-remregexp may be NULL </dd></dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE or the relevant CPL error code on error </dd></dl>
-<dl class="section see"><dt>See also:</dt><dd>cpl_dfs_save_image(). </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__utils_8c_source.html#l00208">208</a> of file <a class="el" href="irplib__utils_8c_source.html">irplib_utils.c</a>.</p>
-
-<p>References <a class="el" href="irplib__utils_8c_source.html#l00411">irplib_dfs_save_image_()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga1fd7c2f4c00014049b0bf4bf6814b451"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_dfs_save_image_ </td>
- <td>(</td>
- <td class="paramtype">cpl_frameset * </td>
- <td class="paramname"><em>allframes</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_propertylist * </td>
- <td class="paramname"><em>header</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_parameterlist * </td>
- <td class="paramname"><em>parlist</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_frameset * </td>
- <td class="paramname"><em>usedframes</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_frame * </td>
- <td class="paramname"><em>inherit</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_image * </td>
- <td class="paramname"><em>image</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_type </td>
- <td class="paramname"><em>type</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>recipe</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_propertylist * </td>
- <td class="paramname"><em>applist</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>remregexp</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>pipe_id</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>filename</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Save an image as a DFS-compliant pipeline product. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">allframes</td><td>The list of input frames for the recipe </td></tr>
- <tr><td class="paramname">header</td><td>NULL, or filled with properties written to product header </td></tr>
- <tr><td class="paramname">parlist</td><td>The list of input parameters </td></tr>
- <tr><td class="paramname">usedframes</td><td>The list of raw/calibration frames used for this product </td></tr>
- <tr><td class="paramname">inherit</td><td>NULL or product frames inherit their header from this frame </td></tr>
- <tr><td class="paramname">image</td><td>The image to be saved </td></tr>
- <tr><td class="paramname">type</td><td>The type used to represent the data in the file </td></tr>
- <tr><td class="paramname">recipe</td><td>The recipe name </td></tr>
- <tr><td class="paramname">applist</td><td>Propertylist to append to primary header, w. PRO.CATG </td></tr>
- <tr><td class="paramname">remregexp</td><td>Optional regexp of properties not to put in main header </td></tr>
- <tr><td class="paramname">pipe_id</td><td>PACKAGE "/" PACKAGE_VERSION </td></tr>
- <tr><td class="paramname">filename</td><td>Filename of created product </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section note"><dt>Note:</dt><dd>The image may be NULL in which case only the header information is saved but passing a NULL image is deprecated, use cpl_dfs_save_propertylist(). </dd>
-<dd>
-remregexp may be NULL </dd>
-<dd>
-applist must contain a string-property with key CPL_DFS_PRO_CATG </dd>
-<dd>
-On success and iff header is non-NULL, it will be emptied and then filled with the properties written to the primary header of the product </dd></dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE or the relevant CPL error code on error </dd></dl>
-<dl class="section see"><dt>See also:</dt><dd>cpl_dfs_save_image() </dd></dl>
-<dl class="section note"><dt>Note:</dt><dd>applist is copied with cpl_propertylist_copy_property_regexp() instead pf cpl_propertylist_append() </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__utils_8c_source.html#l00411">411</a> of file <a class="el" href="irplib__utils_8c_source.html">irplib_utils.c</a>.</p>
-
-<p>Referenced by <a class="el" href="irplib__utils_8c_source.html#l00208">irplib_dfs_save_image()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga66f7adc9e165b4e934e3d57a700f55c1"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_dfs_save_imagelist </td>
- <td>(</td>
- <td class="paramtype">cpl_frameset * </td>
- <td class="paramname"><em>allframes</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_parameterlist * </td>
- <td class="paramname"><em>parlist</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_frameset * </td>
- <td class="paramname"><em>usedframes</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_imagelist * </td>
- <td class="paramname"><em>imagelist</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_type_bpp </td>
- <td class="paramname"><em>bpp</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>recipe</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>procat</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_propertylist * </td>
- <td class="paramname"><em>applist</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>remregexp</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>pipe_id</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>filename</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Save an imagelist as a DFS-compliant pipeline product. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">allframes</td><td>The list of input frames for the recipe </td></tr>
- <tr><td class="paramname">parlist</td><td>The list of input parameters </td></tr>
- <tr><td class="paramname">usedframes</td><td>The list of raw/calibration frames used for this product </td></tr>
- <tr><td class="paramname">imagelist</td><td>The imagelist to be saved </td></tr>
- <tr><td class="paramname">bpp</td><td>Bits per pixel </td></tr>
- <tr><td class="paramname">recipe</td><td>The recipe name </td></tr>
- <tr><td class="paramname">procat</td><td>The product category tag </td></tr>
- <tr><td class="paramname">applist</td><td>Optional propertylist to append to primary header or NULL </td></tr>
- <tr><td class="paramname">remregexp</td><td>Optional regexp of properties not to put in main header </td></tr>
- <tr><td class="paramname">pipe_id</td><td>PACKAGE "/" PACKAGE_VERSION </td></tr>
- <tr><td class="paramname">filename</td><td>Filename of created product </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section note"><dt>Note:</dt><dd>remregexp may be NULL </dd></dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE or the relevant CPL error code on error </dd></dl>
-<dl class="section see"><dt>See also:</dt><dd>cpl_dfs_save_imagelist(). </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__utils_8c_source.html#l00303">303</a> of file <a class="el" href="irplib__utils_8c_source.html">irplib_utils.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga4dc12f321e7aeb5e67ff19f815bfd7b7"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_dfs_save_propertylist </td>
- <td>(</td>
- <td class="paramtype">cpl_frameset * </td>
- <td class="paramname"><em>allframes</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_parameterlist * </td>
- <td class="paramname"><em>parlist</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_frameset * </td>
- <td class="paramname"><em>usedframes</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>recipe</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>procat</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_propertylist * </td>
- <td class="paramname"><em>applist</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>remregexp</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>pipe_id</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>filename</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Save a propertylist as a DFS-compliant pipeline product. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">allframes</td><td>The list of input frames for the recipe </td></tr>
- <tr><td class="paramname">parlist</td><td>The list of input parameters </td></tr>
- <tr><td class="paramname">usedframes</td><td>The list of raw/calibration frames used for this product </td></tr>
- <tr><td class="paramname">recipe</td><td>The recipe name </td></tr>
- <tr><td class="paramname">procat</td><td>The product category tag </td></tr>
- <tr><td class="paramname">applist</td><td>Optional propertylist to append to primary header or NULL </td></tr>
- <tr><td class="paramname">remregexp</td><td>Optional regexp of properties not to put in main header </td></tr>
- <tr><td class="paramname">pipe_id</td><td>PACKAGE "/" PACKAGE_VERSION </td></tr>
- <tr><td class="paramname">filename</td><td>Filename of created product </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section note"><dt>Note:</dt><dd>remregexp may be NULL </dd></dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE or the relevant CPL error code on error </dd></dl>
-<dl class="section see"><dt>See also:</dt><dd>cpl_dfs_save_propertylist(). </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__utils_8c_source.html#l00256">256</a> of file <a class="el" href="irplib__utils_8c_source.html">irplib_utils.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga62a91f8630af11164547c168660b2ade"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_dfs_save_table </td>
- <td>(</td>
- <td class="paramtype">cpl_frameset * </td>
- <td class="paramname"><em>allframes</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_parameterlist * </td>
- <td class="paramname"><em>parlist</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_frameset * </td>
- <td class="paramname"><em>usedframes</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_table * </td>
- <td class="paramname"><em>table</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_propertylist * </td>
- <td class="paramname"><em>tablelist</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>recipe</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>procat</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_propertylist * </td>
- <td class="paramname"><em>applist</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>remregexp</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>pipe_id</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>filename</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Save a table as a DFS-compliant pipeline product. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">allframes</td><td>The list of input frames for the recipe </td></tr>
- <tr><td class="paramname">parlist</td><td>The list of input parameters </td></tr>
- <tr><td class="paramname">usedframes</td><td>The list of raw/calibration frames used for this product </td></tr>
- <tr><td class="paramname">table</td><td>The table to be saved </td></tr>
- <tr><td class="paramname">tablelist</td><td>Optional propertylist to use in table extension or NULL </td></tr>
- <tr><td class="paramname">recipe</td><td>The recipe name </td></tr>
- <tr><td class="paramname">procat</td><td>The product category tag </td></tr>
- <tr><td class="paramname">applist</td><td>Optional propertylist to append to primary header or NULL </td></tr>
- <tr><td class="paramname">remregexp</td><td>Optional regexp of properties not to put in main header </td></tr>
- <tr><td class="paramname">pipe_id</td><td>PACKAGE "/" PACKAGE_VERSION </td></tr>
- <tr><td class="paramname">filename</td><td>Filename of created product </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE or the relevant CPL error code on error </dd></dl>
-<dl class="section see"><dt>See also:</dt><dd>cpl_dfs_save_table(). </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__utils_8c_source.html#l00351">351</a> of file <a class="el" href="irplib__utils_8c_source.html">irplib_utils.c</a>.</p>
-
-<p>Referenced by <a class="el" href="irplib__utils_8c_source.html#l00860">irplib_dfs_table_convert()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga3d1a791b5dc870770611c7dbf60d02df"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_dfs_table_convert </td>
- <td>(</td>
- <td class="paramtype">cpl_table * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_frameset * </td>
- <td class="paramname"><em>allframes</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_frameset * </td>
- <td class="paramname"><em>useframes</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>maxlinelen</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char </td>
- <td class="paramname"><em>commentchar</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>product_name</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>procatg</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_parameterlist * </td>
- <td class="paramname"><em>parlist</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>recipe_name</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_propertylist * </td>
- <td class="paramname"><em>mainlist</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_propertylist * </td>
- <td class="paramname"><em>extlist</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>remregexp</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>instrume</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>pipe_id</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_boolean(*)(cpl_table *, const char *, int, const cpl_frame *, const cpl_parameterlist *) </td>
- <td class="paramname"><em>table_set_row</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_error_code(*)(cpl_table *, const cpl_frameset *, const cpl_parameterlist *) </td>
- <td class="paramname"><em>table_check</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Create a DFS product with one table from one or more (ASCII) file(s) </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>Table with labels (and units) but no row data </td></tr>
- <tr><td class="paramname">allframes</td><td>The list of input frames for the recipe </td></tr>
- <tr><td class="paramname">useframes</td><td>The frames to process for the product </td></tr>
- <tr><td class="paramname">maxlinelen</td><td>The maximum line length in the input file(s) </td></tr>
- <tr><td class="paramname">commentchar</td><td>Skip lines that start with this character, e.g. '#' </td></tr>
- <tr><td class="paramname">product_name</td><td>The name of the created FITS table product or NULL </td></tr>
- <tr><td class="paramname">procatg</td><td>The PROCATG of the created FITS table product </td></tr>
- <tr><td class="paramname">parlist</td><td>The list of input parameters </td></tr>
- <tr><td class="paramname">recipe_name</td><td>The name of the calling recipe </td></tr>
- <tr><td class="paramname">mainlist</td><td>Optional propertylist to append to main header or NULL </td></tr>
- <tr><td class="paramname">extlist</td><td>Optional propertylist to append to ext. header or NULL </td></tr>
- <tr><td class="paramname">remregexp</td><td>Optional regexp of properties not to put in main header </td></tr>
- <tr><td class="paramname">instrume</td><td>The value to use for the INSTRUME key, uppercase PACKAGE </td></tr>
- <tr><td class="paramname">pipe_id</td><td>PACKAGE "/" PACKAGE_VERSION </td></tr>
- <tr><td class="paramname">table_set_row</td><td>Caller-defined function to insert one row in the table </td></tr>
- <tr><td class="paramname">table_check</td><td>Optional caller-defined function to check table or NULL </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE or the relevant CPL error code on error </dd></dl>
-<dl class="section see"><dt>See also:</dt><dd><a class="el" href="group__irplib__utils.html#ga59a68df1795523d4f7653875bd9fc01d" title="Set the rows of a table with data from one or more (ASCII) files.">irplib_table_read_from_frameset()</a>, cpl_dfs_save_table() </dd></dl>
-<dl class="section note"><dt>Note:</dt><dd>If product_name is NULL, the product will be named <recipe_name>.fits.</dd></dl>
-<dl class="section user"><dt>Example (error handling omitted for brevity):</dt><dd><div class="fragment"><div class="line"> <span class="keyword">extern</span> cpl_boolean my_table_set_row(cpl_table *, <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keywordtype">int</span>,</div>
-<div class="line"> <span class="keyword">const</span> cpl_frame *,</div>
-<div class="line"> <span class="keyword">const</span> cpl_parameterlist *);</div>
-<div class="line"> <span class="keyword">extern</span> cpl_error_code my_table_check(cpl_table *,</div>
-<div class="line"> <span class="keyword">const</span> cpl_frameset *,</div>
-<div class="line"> <span class="keyword">const</span> cpl_parameterlist *);</div>
-<div class="line"> <span class="keyword">const</span> <span class="keywordtype">int</span> expected_rows = 42;</div>
-<div class="line"> cpl_table * <span class="keyword">self</span> = cpl_table_new(expected_rows);</div>
-<div class="line"></div>
-<div class="line"> cpl_table_new_column(<span class="keyword">self</span>, <span class="stringliteral">"MYLABEL1"</span>, CPL_TYPE_STRING);</div>
-<div class="line"> cpl_table_new_column(<span class="keyword">self</span>, <span class="stringliteral">"MYLABEL2"</span>, CPL_TYPE_DOUBLE);</div>
-<div class="line"> cpl_table_set_column_unit(<span class="keyword">self</span>, <span class="stringliteral">"MYLABEL2"</span>, <span class="stringliteral">"Some_SI_Unit"</span>);</div>
-<div class="line"></div>
-<div class="line"> <a class="code" href="group__irplib__utils.html#ga3d1a791b5dc870770611c7dbf60d02df" title="Create a DFS product with one table from one or more (ASCII) file(s)">irplib_dfs_table_convert</a>(<span class="keyword">self</span>, allframes, useframes, 1024, <span class="charliteral">'#'</span>, NULL,</div>
-<div class="line"> <span class="stringliteral">"MYPROCATG"</span>, parlist, <span class="stringliteral">"myrecipe"</span>, NULL, NULL,</div>
-<div class="line"> NULL, <span class="stringliteral">"MYINSTRUME"</span>, PACKAGE <span class="stringliteral">"/"</span> PACKAGE_VERSION,</div>
-<div class="line"> my_table_set_row, my_table_check);</div>
-<div class="line"></div>
-<div class="line"> cpl_table_delete(<span class="keyword">self</span>);</div>
-</div><!-- fragment --> </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__utils_8c_source.html#l00860">860</a> of file <a class="el" href="irplib__utils_8c_source.html">irplib_utils.c</a>.</p>
-
-<p>References <a class="el" href="irplib__utils_8c_source.html#l00351">irplib_dfs_save_table()</a>, and <a class="el" href="irplib__utils_8c_source.html#l00989">irplib_table_read_from_frameset()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga26c6209e5df98978e2922a15b47b47d1"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void irplib_errorstate_dump_debug </td>
- <td>(</td>
- <td class="paramtype">unsigned </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">unsigned </td>
- <td class="paramname"><em>first</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">unsigned </td>
- <td class="paramname"><em>last</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Dump a single CPL error at the CPL debug level. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The number of the current error to be dumped </td></tr>
- <tr><td class="paramname">first</td><td>The number of the first error to be dumped </td></tr>
- <tr><td class="paramname">last</td><td>The number of the last error to be dumped </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>void </dd></dl>
-<dl class="section see"><dt>See also:</dt><dd>cpl_errorstate_dump_one </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__utils_8c_source.html#l00177">177</a> of file <a class="el" href="irplib__utils_8c_source.html">irplib_utils.c</a>.</p>
-
-<p>Referenced by <a class="el" href="irplib__wavecal_8c_source.html#l01496">irplib_polynomial_find_1d_from_correlation_all()</a>, and <a class="el" href="irplib__wavecal_8c_source.html#l01046">irplib_vector_fill_line_spectrum_model()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga901ff52a1c9dcdfcf2d2632d31064bdb"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void irplib_errorstate_dump_info </td>
- <td>(</td>
- <td class="paramtype">unsigned </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">unsigned </td>
- <td class="paramname"><em>first</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">unsigned </td>
- <td class="paramname"><em>last</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Dump a single CPL error at the CPL info level. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The number of the current error to be dumped </td></tr>
- <tr><td class="paramname">first</td><td>The number of the first error to be dumped </td></tr>
- <tr><td class="paramname">last</td><td>The number of the last error to be dumped </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>void </dd></dl>
-<dl class="section see"><dt>See also:</dt><dd>cpl_errorstate_dump_one </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__utils_8c_source.html#l00157">157</a> of file <a class="el" href="irplib__utils_8c_source.html">irplib_utils.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga6b29dac884b62ab52f43dd670d4d8386"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void irplib_errorstate_dump_warning </td>
- <td>(</td>
- <td class="paramtype">unsigned </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">unsigned </td>
- <td class="paramname"><em>first</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">unsigned </td>
- <td class="paramname"><em>last</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Dump a single CPL error at the CPL warning level. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The number of the current error to be dumped </td></tr>
- <tr><td class="paramname">first</td><td>The number of the first error to be dumped </td></tr>
- <tr><td class="paramname">last</td><td>The number of the last error to be dumped </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>void </dd></dl>
-<dl class="section see"><dt>See also:</dt><dd>cpl_errorstate_dump_one</dd></dl>
-<p>FIXME: Move this function to the CPL errorstate module. </p>
-
-<p>Definition at line <a class="el" href="irplib__utils_8c_source.html#l00130">130</a> of file <a class="el" href="irplib__utils_8c_source.html">irplib_utils.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga9fe4dca85dee68061114e26fdc72a134"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const char* irplib_frameset_find_file </td>
- <td>(</td>
- <td class="paramtype">const cpl_frameset * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>tag</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Find the filename with the given tag in a frame set. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>A frame set. </td></tr>
- <tr><td class="paramname">tag</td><td>The frame tag to search for. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>The filename or NULL if none found and on error. </dd></dl>
-<dl class="section see"><dt>See also:</dt><dd>cpl_frameset_find </dd></dl>
-<dl class="section note"><dt>Note:</dt><dd>If called with a CPL error code, the location will be updated and NULL returned.</dd></dl>
-<p>NULL is returned and no error code set if the tag is not found.</p>
-<p>If the file is not unique, the name of the first one is returned and with a warning. </p>
-
-<p>Definition at line <a class="el" href="irplib__utils_8c_source.html#l01183">1183</a> of file <a class="el" href="irplib__utils_8c_source.html">irplib_utils.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga5b20a00f315410b49b1db1dd2417fe68"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const cpl_frame* irplib_frameset_get_first_from_group </td>
- <td>(</td>
- <td class="paramtype">const cpl_frameset * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_frame_group </td>
- <td class="paramname"><em>group</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Find the first frame belonging to the given group. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The frameset </td></tr>
- <tr><td class="paramname">group</td><td>The group attribute </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>The first frame belonging to the given group, or <code>NULL</code> if no such frame was found. The function returns <code>NULL</code> if an error occurs and sets the appropriate error code. </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__utils_8c_source.html#l01214">1214</a> of file <a class="el" href="irplib__utils_8c_source.html">irplib_utils.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga832676f36ecd647b77f4bb373b2d1954"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_image_split </td>
- <td>(</td>
- <td class="paramtype">const cpl_image * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_image * </td>
- <td class="paramname"><em>im_low</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_image * </td>
- <td class="paramname"><em>im_mid</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_image * </td>
- <td class="paramname"><em>im_high</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>th_low</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_boolean </td>
- <td class="paramname"><em>isleq_low</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>th_high</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_boolean </td>
- <td class="paramname"><em>isgeq_high</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>alt_low</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>alt_high</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_boolean </td>
- <td class="paramname"><em>isbad_low</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_boolean </td>
- <td class="paramname"><em>isbad_mid</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_boolean </td>
- <td class="paramname"><em>isbad_high</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Split the values in an image in three according to two thresholds. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The image to split </td></tr>
- <tr><td class="paramname">im_low</td><td>If non-NULL low-valued pixels are assigned to this image </td></tr>
- <tr><td class="paramname">im_mid</td><td>If non-NULL middle-valued pixels are assigned to this image </td></tr>
- <tr><td class="paramname">im_high</td><td>If non-NULL high-valued pixels are assigned to this image </td></tr>
- <tr><td class="paramname">th_low</td><td>The lower threshold </td></tr>
- <tr><td class="paramname">isleq_low</td><td>Ift true use less than or equal </td></tr>
- <tr><td class="paramname">th_high</td><td>The upper threshold, must be at least th_low </td></tr>
- <tr><td class="paramname">isgeq_high</td><td>Iff true use greater than or equal </td></tr>
- <tr><td class="paramname">alt_low</td><td>Assign this value when the pixel value is not low </td></tr>
- <tr><td class="paramname">alt_high</td><td>Assign this value, when the pixel value is not high </td></tr>
- <tr><td class="paramname">isbad_low</td><td>Flag non-low pixels as bad </td></tr>
- <tr><td class="paramname">isbad_mid</td><td>Flag non-mid pixels as bad </td></tr>
- <tr><td class="paramname">isbad_high</td><td>Flag non-high pixels as bad </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE or the relevant CPL error code on error </dd></dl>
-<dl class="section note"><dt>Note:</dt><dd>At least one output image must be non-NULL; all non-NULL images must be of identical size, but may be of any pixel-type. self may be passed as one of the output images for an in-place split.</dd></dl>
-<p>FIXME: This function is way too slow and perhaps over-engineered...</p>
-<p>A split in two is achieved with th_low equal th_high (in this case there is little reason for im_mid to be non-NULL).</p>
-<p>All pixel values in the output images are reset, as well as their bad pixels maps.</p>
-<p>If an input pixel-value is flagged as bad, then the receiving pixel in the output image is flagged as well.</p>
-<dl class="section user"><dt>The same image may be passed more than once which allows a split</dt><dd>into one image with the mid-valued pixels and another with both the low and high-valued pixels, i.e. <div class="fragment"><div class="line"> <a class="code" href="group__irplib__utils.html#ga832676f36ecd647b77f4bb373b2d1954" title="Split the values in an image in three according to two thresholds.">irplib_image_split</a>(source, dest, im_mid, dest,</div>
-<div class="line"> th_low, isleq_low, th_high, isgeq_high,</div>
-<div class="line"> alt_low, alt_high,</div>
-<div class="line"> isbad_low, isbad_mid, isbad_high);</div>
-</div><!-- fragment --></dd></dl>
-<dl class="section user"><dt>These two calls are equivalent:</dt><dd><div class="fragment"><div class="line"> cpl_image_threshold(img, th_low, th_high, alt_low, alt_high);</div>
-</div><!-- fragment --></dd></dl>
-<div class="fragment"><div class="line"> <a class="code" href="group__irplib__utils.html#ga832676f36ecd647b77f4bb373b2d1954" title="Split the values in an image in three according to two thresholds.">irplib_image_split</a>(img, NULL, img, NULL,</div>
-<div class="line"> th_low, CPL_TRUE, th_high, CPL_TRUE,</div>
-<div class="line"> alt_low, alt_high, dontcare, CPL_FALSE, dontcare);</div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="irplib__utils_8c_source.html#l00665">665</a> of file <a class="el" href="irplib__utils_8c_source.html">irplib_utils.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gaf9d392144014e2363054bc3f83c8e47e"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void irplib_reset </td>
- <td>(</td>
- <td class="paramtype">void </td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Reset IRPLIB state. </p>
-<p>This function resets all static memory used by IRPLIB to a well-defined, initial state.</p>
-<p>The function should be called (during initialization) by any application using static memory facilities in IRPLIB.</p>
-<p>Currently, this function does nothing. </p>
-
-<p>Definition at line <a class="el" href="irplib__utils_8c_source.html#l01134">1134</a> of file <a class="el" href="irplib__utils_8c_source.html">irplib_utils.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga59a68df1795523d4f7653875bd9fc01d"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_table_read_from_frameset </td>
- <td>(</td>
- <td class="paramtype">cpl_table * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_frameset * </td>
- <td class="paramname"><em>useframes</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>maxlinelen</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char </td>
- <td class="paramname"><em>commentchar</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_parameterlist * </td>
- <td class="paramname"><em>parlist</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_boolean(*)(cpl_table *, const char *, int, const cpl_frame *, const cpl_parameterlist *) </td>
- <td class="paramname"><em>table_set_row</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Set the rows of a table with data from one or more (ASCII) files. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>Table with labels (and units) but no row data </td></tr>
- <tr><td class="paramname">useframes</td><td>The frames to process for the table </td></tr>
- <tr><td class="paramname">maxlinelen</td><td>The maximum line length in the input file(s) </td></tr>
- <tr><td class="paramname">commentchar</td><td>Skip lines that start with this character, e.g. '#' </td></tr>
- <tr><td class="paramname">parlist</td><td>The list of input parameters </td></tr>
- <tr><td class="paramname">table_set_row</td><td>Caller-defined function to insert one row in the table </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE or the relevant CPL error code on error</dd></dl>
-<p>table_set_row() is a function that sets the specified row in a table</p>
-<ul>
-<li>it may optionally include a check of the line for consistency. An integer is passed to table_set_row() to indicate which row to set. Instead of setting the row table_set_row() may decide to discard the data. Iff the row was set, table_set_row() should return CPL_TRUE.</li>
-</ul>
-<p>It needs to know: 1) How to parse the lines - each line is read with fgets(). 2) For each column: type/format (lg/s/d) + label</p>
-<p>During a succesful call self will have rows added or removed to exactly match the number of lines converted. Any a priori knowledge about the expected number of converted rows can be used in the creation of the table (to reduce memory reallocation overhead). On error the number of rows in self is undefined.</p>
-<dl class="section user"><dt>Example (error handling omitted for brevity):</dt><dd><div class="fragment"><div class="line"> <span class="keyword">extern</span> cpl_boolean my_table_set_row(cpl_table *, <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keywordtype">int</span>,</div>
-<div class="line"> <span class="keyword">const</span> cpl_frame *,</div>
-<div class="line"> <span class="keyword">const</span> cpl_parameterlist *);</div>
-<div class="line"> <span class="keyword">const</span> <span class="keywordtype">int</span> expected_rows = 42;</div>
-<div class="line"> cpl_table * <span class="keyword">self</span> = cpl_table_new(expected_rows);</div>
-<div class="line"></div>
-<div class="line"> cpl_table_new_column(<span class="keyword">self</span>, <span class="stringliteral">"MYLABEL1"</span>, CPL_TYPE_STRING);</div>
-<div class="line"> cpl_table_new_column(<span class="keyword">self</span>, <span class="stringliteral">"MYLABEL2"</span>, CPL_TYPE_DOUBLE);</div>
-<div class="line"> cpl_table_set_column_unit(<span class="keyword">self</span>, <span class="stringliteral">"MYLABEL2"</span>, <span class="stringliteral">"Some_SI_Unit"</span>);</div>
-<div class="line"></div>
-<div class="line"> <a class="code" href="group__irplib__utils.html#ga59a68df1795523d4f7653875bd9fc01d" title="Set the rows of a table with data from one or more (ASCII) files.">irplib_table_read_from_frameset</a>(<span class="keyword">self</span>, useframes, 1024, <span class="charliteral">'#'</span>, parlist,</div>
-<div class="line"> my_table_set_row);</div>
-<div class="line"></div>
-<div class="line"> <span class="comment">// Use self...</span></div>
-<div class="line"></div>
-<div class="line"> cpl_table_delete(<span class="keyword">self</span>);</div>
-</div><!-- fragment --> </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__utils_8c_source.html#l00989">989</a> of file <a class="el" href="irplib__utils_8c_source.html">irplib_utils.c</a>.</p>
-
-<p>Referenced by <a class="el" href="irplib__utils_8c_source.html#l00860">irplib_dfs_table_convert()</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__irplib__wavecal.html b/html/group__irplib__wavecal.html
deleted file mode 100644
index 0331aa3..0000000
--- a/html/group__irplib__wavecal.html
+++ /dev/null
@@ -1,976 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Spectro functionality</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Spectro functionality</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga03d7f038adc7e18e7a9071581fa47a25"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__wavecal.html#ga03d7f038adc7e18e7a9071581fa47a25">irplib_bivector_count_positive</a> (const cpl_bivector *self, double x_min, double x_max)</td></tr>
-<tr class="memdesc:ga03d7f038adc7e18e7a9071581fa47a25"><td class="mdescLeft"> </td><td class="mdescRight">Count the positive Y-entries in a given X-range. <a href="#ga03d7f038adc7e18e7a9071581fa47a25"></a><br/></td></tr>
-<tr class="memitem:ga2dd3251367e2ee8b8bd5ce080e9f31bb"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__wavecal.html#ga2dd3251367e2ee8b8bd5ce080e9f31bb">irplib_polynomial_fit_2d_dispersion</a> (cpl_polynomial *self, const cpl_image *imgwave, int fitdeg, double *presid)</td></tr>
-<tr class="memdesc:ga2dd3251367e2ee8b8bd5ce080e9f31bb"><td class="mdescLeft"> </td><td class="mdescRight">Fit a 2D-dispersion from an image of wavelengths. <a href="#ga2dd3251367e2ee8b8bd5ce080e9f31bb"></a><br/></td></tr>
-<tr class="memitem:ga8f49c4927c50a461288e8f19720dff86"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__wavecal.html#ga8f49c4927c50a461288e8f19720dff86">irplib_polynomial_find_1d_from_correlation</a> (cpl_polynomial *self, int maxdeg, const cpl_vector *obs, irplib_base_spectrum_model *model, cpl_error_code(*filler)(cpl_vector *, const cpl_polynomial *, irplib_base_spectrum_model *), dou [...]
-<tr class="memdesc:ga8f49c4927c50a461288e8f19720dff86"><td class="mdescLeft"> </td><td class="mdescRight">Modify self by maximizing the cross-correlation. <a href="#ga8f49c4927c50a461288e8f19720dff86"></a><br/></td></tr>
-<tr class="memitem:ga1d49cb7f85fc246c8fdf38625c769f7a"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__wavecal.html#ga1d49cb7f85fc246c8fdf38625c769f7a">irplib_vector_fill_line_spectrum</a> (cpl_vector *self, const cpl_polynomial *disp, irplib_base_spectrum_model *lsslamp)</td></tr>
-<tr class="memdesc:ga1d49cb7f85fc246c8fdf38625c769f7a"><td class="mdescLeft"> </td><td class="mdescRight">Generate a 1D spectrum from a model and a dispersion relation. <a href="#ga1d49cb7f85fc246c8fdf38625c769f7a"></a><br/></td></tr>
-<tr class="memitem:gad22539bf83d1b08d845ed5f618a4009f"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__wavecal.html#gad22539bf83d1b08d845ed5f618a4009f">irplib_vector_fill_logline_spectrum</a> (cpl_vector *self, const cpl_polynomial *disp, irplib_base_spectrum_model *lsslamp)</td></tr>
-<tr class="memdesc:gad22539bf83d1b08d845ed5f618a4009f"><td class="mdescLeft"> </td><td class="mdescRight">Generate a 1D spectrum from a model and a dispersion relation. <a href="#gad22539bf83d1b08d845ed5f618a4009f"></a><br/></td></tr>
-<tr class="memitem:ga6a463d7816b4164fdd23a4df2805cc95"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__wavecal.html#ga6a463d7816b4164fdd23a4df2805cc95">irplib_vector_fill_line_spectrum_fast</a> (cpl_vector *self, const cpl_polynomial *disp, irplib_base_spectrum_model *lsslamp)</td></tr>
-<tr class="memdesc:ga6a463d7816b4164fdd23a4df2805cc95"><td class="mdescLeft"> </td><td class="mdescRight">Generate a 1D spectrum from a model and a dispersion relation. <a href="#ga6a463d7816b4164fdd23a4df2805cc95"></a><br/></td></tr>
-<tr class="memitem:ga75a85320c74d1088eeaeec97974d793c"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__wavecal.html#ga75a85320c74d1088eeaeec97974d793c">irplib_vector_fill_logline_spectrum_fast</a> (cpl_vector *self, const cpl_polynomial *disp, irplib_base_spectrum_model *lsslamp)</td></tr>
-<tr class="memdesc:ga75a85320c74d1088eeaeec97974d793c"><td class="mdescLeft"> </td><td class="mdescRight">Generate a 1D spectrum from a model and a dispersion relation. <a href="#ga75a85320c74d1088eeaeec97974d793c"></a><br/></td></tr>
-<tr class="memitem:ga7bac402a4e2c60f7646f1e655a66833d"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__wavecal.html#ga7bac402a4e2c60f7646f1e655a66833d">irplib_plot_spectrum_and_model</a> (const cpl_vector *self, const cpl_polynomial *disp1d, irplib_base_spectrum_model *model, cpl_error_code(*filler)(cpl_vector *, const cpl_polynomial *, irplib_base_spectrum_model *))</td></tr>
-<tr class="memdesc:ga7bac402a4e2c60f7646f1e655a66833d"><td class="mdescLeft"> </td><td class="mdescRight">Plot a 1D spectrum and one from a model. <a href="#ga7bac402a4e2c60f7646f1e655a66833d"></a><br/></td></tr>
-<tr class="memitem:ga260740bf1f3fc364b301519eab3249a6"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__wavecal.html#ga260740bf1f3fc364b301519eab3249a6">irplib_bivector_find_shift_from_correlation</a> (cpl_bivector *self, const cpl_polynomial *disp, const cpl_vector *obs, irplib_base_spectrum_model *model, cpl_error_code(*filler)(cpl_vector *, const cpl_polynomial *, irplib_base_spectru [...]
-<tr class="memdesc:ga260740bf1f3fc364b301519eab3249a6"><td class="mdescLeft"> </td><td class="mdescRight">Find shift(s) that maximizes (locally) the cross-correlation. <a href="#ga260740bf1f3fc364b301519eab3249a6"></a><br/></td></tr>
-<tr class="memitem:gadf93655e2c7c0d5df23e2e3de66d0b56"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__wavecal.html#gadf93655e2c7c0d5df23e2e3de66d0b56">irplib_polynomial_shift_1d_from_correlation</a> (cpl_polynomial *self, const cpl_vector *obs, irplib_base_spectrum_model *model, cpl_error_code(*filler)(cpl_vector *, const cpl_polynomial *, irplib_base_spectrum_model *), int hsize, cpl [...]
-<tr class="memdesc:gadf93655e2c7c0d5df23e2e3de66d0b56"><td class="mdescLeft"> </td><td class="mdescRight">Shift self by the amount that maximizes the cross-correlation. <a href="#gadf93655e2c7c0d5df23e2e3de66d0b56"></a><br/></td></tr>
-<tr class="memitem:ga8a65755ca17c9fa0b69ceb128f544761"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__wavecal.html#ga8a65755ca17c9fa0b69ceb128f544761">irplib_vector_fill_line_spectrum_model</a> (cpl_vector *self, cpl_vector *linepix, cpl_vector *erftmp, const cpl_polynomial *disp, const cpl_bivector *lines, double wslit, double wfwhm, double xtrunc, int hsize, cpl_boolean dofast, cpl_ [...]
-<tr class="memdesc:ga8a65755ca17c9fa0b69ceb128f544761"><td class="mdescLeft"> </td><td class="mdescRight">Generate a 1D spectrum from (arc) lines and a dispersion relation. <a href="#ga8a65755ca17c9fa0b69ceb128f544761"></a><br/></td></tr>
-<tr class="memitem:ga2da9c21054a19322705de2d4f48d1d3f"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__wavecal.html#ga2da9c21054a19322705de2d4f48d1d3f">irplib_erf_antideriv</a> (double x, double sigma)</td></tr>
-<tr class="memdesc:ga2da9c21054a19322705de2d4f48d1d3f"><td class="mdescLeft"> </td><td class="mdescRight">The antiderivative of erx(x/sigma/sqrt(2)) with respect to x. <a href="#ga2da9c21054a19322705de2d4f48d1d3f"></a><br/></td></tr>
-<tr class="memitem:ga7e782bcb7ec0e638a93dba628916a7a8"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__irplib__wavecal.html#ga7e782bcb7ec0e638a93dba628916a7a8">irplib_polynomial_find_1d_from_correlation_all</a> (cpl_polynomial *self, int maxdeg, const cpl_vector *obs, int nmaxima, int linelim, irplib_base_spectrum_model *model, cpl_error_code(*filler)(cpl_vector *, const cpl_polynomial *, irpl [...]
-<tr class="memdesc:ga7e782bcb7ec0e638a93dba628916a7a8"><td class="mdescLeft"> </td><td class="mdescRight">Modify self by maximizing the cross-correlation across all maxima. <a href="#ga7e782bcb7ec0e638a93dba628916a7a8"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga03d7f038adc7e18e7a9071581fa47a25"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int irplib_bivector_count_positive </td>
- <td>(</td>
- <td class="paramtype">const cpl_bivector * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>x_min</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>x_max</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Count the positive Y-entries in a given X-range. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>Bivector with increasing X-entries </td></tr>
- <tr><td class="paramname">x_min</td><td>minimum X-entry </td></tr>
- <tr><td class="paramname">x_max</td><td>maximum X-entry </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>the number of matching entries, or negative on error </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__wavecal_8c_source.html#l00127">127</a> of file <a class="el" href="irplib__wavecal_8c_source.html">irplib_wavecal.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga260740bf1f3fc364b301519eab3249a6"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_bivector_find_shift_from_correlation </td>
- <td>(</td>
- <td class="paramtype">cpl_bivector * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_polynomial * </td>
- <td class="paramname"><em>disp</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_vector * </td>
- <td class="paramname"><em>obs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">irplib_base_spectrum_model * </td>
- <td class="paramname"><em>model</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_error_code(*)(cpl_vector *, const cpl_polynomial *, irplib_base_spectrum_model *) </td>
- <td class="paramname"><em>filler</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>hsize</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_boolean </td>
- <td class="paramname"><em>doplot</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double * </td>
- <td class="paramname"><em>pxc</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Find shift(s) that maximizes (locally) the cross-correlation. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>list of shifts that maximizes the cross-correlation (locally) </td></tr>
- <tr><td class="paramname">disp</td><td>1D-Dispersion relation, at least of degree 1 </td></tr>
- <tr><td class="paramname">obs</td><td>The observed spectrum to correlate against </td></tr>
- <tr><td class="paramname">model</td><td>Pointer to model parameters </td></tr>
- <tr><td class="paramname">filler</td><td>The function to fill the model spectrum </td></tr>
- <tr><td class="paramname">hsize</td><td>Half the search-distance, hsize > 0 [pixel] </td></tr>
- <tr><td class="paramname">doplot</td><td>Plot the cross-correlation as a function of pixel shift </td></tr>
- <tr><td class="paramname">pxc</td><td>Iff non-NULL, set *pxc to cross-correlation on success </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE on success, otherwise the relevant CPL error code </dd></dl>
-<dl class="section note"><dt>Note:</dt><dd>On success, self will be resized to fit the number of shifts.</dd></dl>
-<p>The shifts are listed in order of decreasing cross-correlation. If pxc is non-NULL, *pxc will be set to the cross-correlation at shift 0.</p>
-<p>The shifts may include the extrema -hsize and hsize. </p>
-
-<p>Definition at line <a class="el" href="irplib__wavecal_8c_source.html#l00759">759</a> of file <a class="el" href="irplib__wavecal_8c_source.html">irplib_wavecal.c</a>.</p>
-
-<p>Referenced by <a class="el" href="irplib__wavecal_8c_source.html#l01496">irplib_polynomial_find_1d_from_correlation_all()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga2da9c21054a19322705de2d4f48d1d3f"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">double irplib_erf_antideriv </td>
- <td>(</td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>x</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>sigma</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>The antiderivative of erx(x/sigma/sqrt(2)) with respect to x. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">x</td><td>x </td></tr>
- <tr><td class="paramname">sigma</td><td>sigma </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>The antiderivative </dd></dl>
-<dl class="section note"><dt>Note:</dt><dd>This function is even. </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__wavecal_8c_source.html#l01363">1363</a> of file <a class="el" href="irplib__wavecal_8c_source.html">irplib_wavecal.c</a>.</p>
-
-<p>Referenced by <a class="el" href="irplib__wavecal_8c_source.html#l01046">irplib_vector_fill_line_spectrum_model()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga7bac402a4e2c60f7646f1e655a66833d"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_plot_spectrum_and_model </td>
- <td>(</td>
- <td class="paramtype">const cpl_vector * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_polynomial * </td>
- <td class="paramname"><em>disp1d</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">irplib_base_spectrum_model * </td>
- <td class="paramname"><em>model</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_error_code(*)(cpl_vector *, const cpl_polynomial *, irplib_base_spectrum_model *) </td>
- <td class="paramname"><em>filler</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Plot a 1D spectrum and one from a model. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>Vector with observed spectrum </td></tr>
- <tr><td class="paramname">disp1d</td><td>1D-Dispersion relation, at least of degree 1 </td></tr>
- <tr><td class="paramname">model</td><td>Pointer to model parameters </td></tr>
- <tr><td class="paramname">filler</td><td>The function to fill the model spectrum </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE on success, otherwise the relevant CPL error code </dd></dl>
-<dl class="section see"><dt>See also:</dt><dd><a class="el" href="group__irplib__wavecal.html#ga1d49cb7f85fc246c8fdf38625c769f7a" title="Generate a 1D spectrum from a model and a dispersion relation.">irplib_vector_fill_line_spectrum()</a> </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__wavecal_8c_source.html#l00672">672</a> of file <a class="el" href="irplib__wavecal_8c_source.html">irplib_wavecal.c</a>.</p>
-
-<p>Referenced by <a class="el" href="irplib__wavecal_8c_source.html#l01496">irplib_polynomial_find_1d_from_correlation_all()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga8f49c4927c50a461288e8f19720dff86"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_polynomial_find_1d_from_correlation </td>
- <td>(</td>
- <td class="paramtype">cpl_polynomial * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>maxdeg</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_vector * </td>
- <td class="paramname"><em>obs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">irplib_base_spectrum_model * </td>
- <td class="paramname"><em>model</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_error_code(*)(cpl_vector *, const cpl_polynomial *, irplib_base_spectrum_model *) </td>
- <td class="paramname"><em>filler</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>pixtol</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>pixstep</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>hsize</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>maxite</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double * </td>
- <td class="paramname"><em>pxc</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Modify self by maximizing the cross-correlation. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>1D-Dispersion relation to modify, at least of degree 1 </td></tr>
- <tr><td class="paramname">maxdeg</td><td>Maximize the cross-correlation by modifying maxdeg degree </td></tr>
- <tr><td class="paramname">obs</td><td>The observed spectrum to correlate against </td></tr>
- <tr><td class="paramname">model</td><td>The model of the lines/OTF etc. </td></tr>
- <tr><td class="paramname">filler</td><td>The function to fill the model spectrum </td></tr>
- <tr><td class="paramname">pixtol</td><td>The (positive) dispersion tolerance, e.g. 1e-6 </td></tr>
- <tr><td class="paramname">pixstep</td><td>The step length used in the maximization, e.g. 0.5 [pixel] </td></tr>
- <tr><td class="paramname">hsize</td><td>Half the search-distance to ensure a global-maximum, hsize >= 0 </td></tr>
- <tr><td class="paramname">maxite</td><td>Maximum number of iterations, e.g. 100 * maxdeg </td></tr>
- <tr><td class="paramname">pxc</td><td>On sucess, *pxc is the cross-correlation </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE on success, otherwise the relevant CPL error code </dd></dl>
-<dl class="section note"><dt>Note:</dt><dd>Fails with CPL_ERROR_UNSUPPORTED_MODE if compiled without GSL. self must be increasing in the interval from 1 to the length of obs. </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__wavecal_8c_source.html#l00244">244</a> of file <a class="el" href="irplib__wavecal_8c_source.html">irplib_wavecal.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga7e782bcb7ec0e638a93dba628916a7a8"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_polynomial_find_1d_from_correlation_all </td>
- <td>(</td>
- <td class="paramtype">cpl_polynomial * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>maxdeg</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_vector * </td>
- <td class="paramname"><em>obs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>nmaxima</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>linelim</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">irplib_base_spectrum_model * </td>
- <td class="paramname"><em>model</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_error_code(*)(cpl_vector *, const cpl_polynomial *, irplib_base_spectrum_model *) </td>
- <td class="paramname"><em>filler</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>pixtol</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>pixstep</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>hsize</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>maxite</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>maxfail</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>maxcont</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_boolean </td>
- <td class="paramname"><em>doplot</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double * </td>
- <td class="paramname"><em>pxc</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Modify self by maximizing the cross-correlation across all maxima. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>1D-Dispersion relation to modify, at least of degree 1 </td></tr>
- <tr><td class="paramname">maxdeg</td><td>Maximize the cross-correlation by modifying maxdeg degree </td></tr>
- <tr><td class="paramname">obs</td><td>The observed spectrum to correlate against </td></tr>
- <tr><td class="paramname">nmaxima</td><td>Number of local maxima to try (0 for all, 1 for global only) </td></tr>
- <tr><td class="paramname">linelim</td><td>Maximum number of lines allowed in iterative refinement </td></tr>
- <tr><td class="paramname">model</td><td>The model of the lines/OTF etc. </td></tr>
- <tr><td class="paramname">filler</td><td>The function to fill the model spectrum </td></tr>
- <tr><td class="paramname">pixtol</td><td>The (positive) dispersion tolerance, e.g. 1e-6 </td></tr>
- <tr><td class="paramname">pixstep</td><td>The step length used in the maximization, e.g. 0.5 [pixel] </td></tr>
- <tr><td class="paramname">hsize</td><td>Half the search-distance to ensure a global-maximum, hsize >= 0 </td></tr>
- <tr><td class="paramname">maxite</td><td>Maximum number of iterations, e.g. 100 * maxdeg </td></tr>
- <tr><td class="paramname">maxfail</td><td>Number of retries on failure </td></tr>
- <tr><td class="paramname">maxcont</td><td>Number of retries on non-convergence </td></tr>
- <tr><td class="paramname">doplot</td><td>Plot the cross-correlation as a function of pixel shift </td></tr>
- <tr><td class="paramname">pxc</td><td>On success, *pxc is the cross-correlation </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE on success, otherwise the relevant CPL error code </dd></dl>
-<dl class="section note"><dt>Note:</dt><dd>Fails with CPL_ERROR_UNSUPPORTED_MODE if compiled without GSL. self must be increasing in the interval from 1 to the length of obs. </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__wavecal_8c_source.html#l01496">1496</a> of file <a class="el" href="irplib__wavecal_8c_source.html">irplib_wavecal.c</a>.</p>
-
-<p>References <a class="el" href="irplib__wavecal_8c_source.html#l00759">irplib_bivector_find_shift_from_correlation()</a>, <a class="el" href="irplib__utils_8c_source.html#l00177">irplib_errorstate_dump_debug()</a>, and <a class="el" href="irplib__wavecal_8c_source.html#l00672">irplib_plot_spectrum_and_model()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga2dd3251367e2ee8b8bd5ce080e9f31bb"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_polynomial_fit_2d_dispersion </td>
- <td>(</td>
- <td class="paramtype">cpl_polynomial * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_image * </td>
- <td class="paramname"><em>imgwave</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>fitdeg</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double * </td>
- <td class="paramname"><em>presid</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Fit a 2D-dispersion from an image of wavelengths. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>2D-polynomial to hold fit </td></tr>
- <tr><td class="paramname">imgwave</td><td>Image map of wavelengths, any pixeltype </td></tr>
- <tr><td class="paramname">fitdeg</td><td>Degree of fit </td></tr>
- <tr><td class="paramname">presid</td><td>On success, points to fitting residual </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE on success, otherwise the relevant CPL error code </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__wavecal_8c_source.html#l00160">160</a> of file <a class="el" href="irplib__wavecal_8c_source.html">irplib_wavecal.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gadf93655e2c7c0d5df23e2e3de66d0b56"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_polynomial_shift_1d_from_correlation </td>
- <td>(</td>
- <td class="paramtype">cpl_polynomial * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_vector * </td>
- <td class="paramname"><em>obs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">irplib_base_spectrum_model * </td>
- <td class="paramname"><em>model</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_error_code(*)(cpl_vector *, const cpl_polynomial *, irplib_base_spectrum_model *) </td>
- <td class="paramname"><em>filler</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>hsize</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_boolean </td>
- <td class="paramname"><em>doplot</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double * </td>
- <td class="paramname"><em>pxc</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Shift self by the amount that maximizes the cross-correlation. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>1D-Dispersion relation to shift, at least of degree 1 </td></tr>
- <tr><td class="paramname">obs</td><td>The observed spectrum to correlate against </td></tr>
- <tr><td class="paramname">model</td><td>Pointer to model parameters </td></tr>
- <tr><td class="paramname">filler</td><td>The function to fill the model spectrum </td></tr>
- <tr><td class="paramname">hsize</td><td>Half the search-distance, hsize > 0 [pixel] </td></tr>
- <tr><td class="paramname">doplot</td><td>Plot the cross-correlation as a function of pixel shift </td></tr>
- <tr><td class="paramname">pxc</td><td>Iff non-NULL, set *pxc to cross-correlation on success </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE on success, otherwise the relevant CPL error code </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__wavecal_8c_source.html#l00936">936</a> of file <a class="el" href="irplib__wavecal_8c_source.html">irplib_wavecal.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga1d49cb7f85fc246c8fdf38625c769f7a"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_vector_fill_line_spectrum </td>
- <td>(</td>
- <td class="paramtype">cpl_vector * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_polynomial * </td>
- <td class="paramname"><em>disp</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">irplib_base_spectrum_model * </td>
- <td class="paramname"><em>lsslamp</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Generate a 1D spectrum from a model and a dispersion relation. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>Vector to fill with spectrum </td></tr>
- <tr><td class="paramname">disp</td><td>1D-Dispersion relation, at least of degree 1 </td></tr>
- <tr><td class="paramname">lsslamp</td><td>Pointer to irplib_line_spectrum_model struct </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE on success, otherwise the relevant CPL error code</dd></dl>
-<p>The model comprises these elements: </p>
-<div class="fragment"><div class="line"> <span class="keywordtype">double</span> wslit; <span class="comment">// Slit Width</span></div>
-<div class="line"> <span class="keywordtype">double</span> wfwhm; <span class="comment">// FWHM of transfer function</span></div>
-<div class="line"> <span class="keywordtype">double</span> xtrunc; <span class="comment">// Truncate transfer function beyond xtrunc, xtrunc > 0</span></div>
-<div class="line"> <span class="keyword">const</span> cpl_bivector * lines; <span class="comment">// Catalogue of intensities, with</span></div>
-<div class="line"> <span class="comment">// increasing X-vector elements</span></div>
-<div class="line"> cpl_vector * linepix; <span class="comment">// NULL, or temporary work-space of size</span></div>
-<div class="line"> <span class="comment">// equal to the lines bivector</span></div>
-<div class="line"> <span class="comment">// - should be uninitialized to zero</span></div>
-<div class="line"> cpl_size cost; <span class="comment">// Will be incremented for each call</span></div>
-<div class="line"> cpl_size xcost; <span class="comment">// Will be incremented for each OK call</span></div>
-</div><!-- fragment --><p>The units of the X-values of the lines is assumed to be the same as that of disp, the units of wslit, wfwhm and xtrunc are assumed to be the same as the input unit of disp(), the units of self will be that of the Y-values of the lines. </p>
-
-<p>Definition at line <a class="el" href="irplib__wavecal_8c_source.html#l00494">494</a> of file <a class="el" href="irplib__wavecal_8c_source.html">irplib_wavecal.c</a>.</p>
-
-<p>References <a class="el" href="irplib__wavecal_8c_source.html#l01046">irplib_vector_fill_line_spectrum_model()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga6a463d7816b4164fdd23a4df2805cc95"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_vector_fill_line_spectrum_fast </td>
- <td>(</td>
- <td class="paramtype">cpl_vector * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_polynomial * </td>
- <td class="paramname"><em>disp</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">irplib_base_spectrum_model * </td>
- <td class="paramname"><em>lsslamp</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Generate a 1D spectrum from a model and a dispersion relation. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>Vector to fill with spectrum </td></tr>
- <tr><td class="paramname">disp</td><td>1D-Dispersion relation, at least of degree 1 </td></tr>
- <tr><td class="paramname">lsslamp</td><td>Pointer to irplib_line_spectrum_model struct </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE on success, otherwise the relevant CPL error code </dd></dl>
-<dl class="section see"><dt>See also:</dt><dd><a class="el" href="group__irplib__wavecal.html#ga1d49cb7f85fc246c8fdf38625c769f7a" title="Generate a 1D spectrum from a model and a dispersion relation.">irplib_vector_fill_line_spectrum()</a></dd></dl>
-<p>Complexity reduced from O(nw) to O(n + w), where n is number of lines and truncation width [pixel] of the line. </p>
-
-<p>Definition at line <a class="el" href="irplib__wavecal_8c_source.html#l00585">585</a> of file <a class="el" href="irplib__wavecal_8c_source.html">irplib_wavecal.c</a>.</p>
-
-<p>References <a class="el" href="irplib__wavecal_8c_source.html#l01046">irplib_vector_fill_line_spectrum_model()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga8a65755ca17c9fa0b69ceb128f544761"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_vector_fill_line_spectrum_model </td>
- <td>(</td>
- <td class="paramtype">cpl_vector * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_vector * </td>
- <td class="paramname"><em>linepix</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_vector * </td>
- <td class="paramname"><em>erftmp</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_polynomial * </td>
- <td class="paramname"><em>disp</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_bivector * </td>
- <td class="paramname"><em>lines</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>wslit</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>wfwhm</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>xtrunc</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>hsize</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_boolean </td>
- <td class="paramname"><em>dofast</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_boolean </td>
- <td class="paramname"><em>dolog</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">cpl_size * </td>
- <td class="paramname"><em>pulines</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Generate a 1D spectrum from (arc) lines and a dispersion relation. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>Vector to fill with spectrum </td></tr>
- <tr><td class="paramname">linepix</td><td>Vector to update with best guess of line pixel position </td></tr>
- <tr><td class="paramname">disp</td><td>1D-Dispersion relation, at least of degree 1 </td></tr>
- <tr><td class="paramname">lines</td><td>Catalogue of lines, with increasing wavelengths </td></tr>
- <tr><td class="paramname">wslit</td><td>Positive width of the slit </td></tr>
- <tr><td class="paramname">wfwhm</td><td>Positive FWHM of the transfer function </td></tr>
- <tr><td class="paramname">xtrunc</td><td>Truncate the line profile beyond distance xtrunc, xtrunc > 0 </td></tr>
- <tr><td class="paramname">hsize</td><td>The 1st intensity in self will be disp(1-hsize), hsize >= 0 </td></tr>
- <tr><td class="paramname">dofast</td><td>Iff true compose profile from pairs of two integer-placed </td></tr>
- <tr><td class="paramname">dolog</td><td>Iff true log(1+I) is used for the (positive) intensities </td></tr>
- <tr><td class="paramname">pulines</td><td>Iff non-NULL, number of lines used, on success </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE on success, otherwise the relevant CPL error code </dd></dl>
-<dl class="section see"><dt>See also:</dt><dd><a class="el" href="group__irplib__wavecal.html#ga1d49cb7f85fc246c8fdf38625c769f7a" title="Generate a 1D spectrum from a model and a dispersion relation.">irplib_vector_fill_line_spectrum()</a> </dd></dl>
-<dl class="section note"><dt>Note:</dt><dd>This function is supposed to be called via <a class="el" href="group__irplib__wavecal.html#ga1d49cb7f85fc246c8fdf38625c769f7a" title="Generate a 1D spectrum from a model and a dispersion relation.">irplib_vector_fill_line_spectrum()</a>. </dd></dl>
-
-<p>Definition at line <a class="el" href="irplib__wavecal_8c_source.html#l01046">1046</a> of file <a class="el" href="irplib__wavecal_8c_source.html">irplib_wavecal.c</a>.</p>
-
-<p>References <a class="el" href="irplib__wavecal_8c_source.html#l01363">irplib_erf_antideriv()</a>, and <a class="el" href="irplib__utils_8c_source.html#l00177">irplib_errorstate_dump_debug()</a>.</p>
-
-<p>Referenced by <a class="el" href="irplib__wavecal_8c_source.html#l00494">irplib_vector_fill_line_spectrum()</a>, <a class="el" href="irplib__wavecal_8c_source.html#l00585">irplib_vector_fill_line_spectrum_fast()</a>, <a class="el" href="irplib__wavecal_8c_source.html#l00539">irplib_vector_fill_logline_spectrum()</a>, and <a class="el" href="irplib__wavecal_8c_source.html#l00630">irplib_vector_fill_logline_spectrum_fast()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gad22539bf83d1b08d845ed5f618a4009f"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_vector_fill_logline_spectrum </td>
- <td>(</td>
- <td class="paramtype">cpl_vector * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_polynomial * </td>
- <td class="paramname"><em>disp</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">irplib_base_spectrum_model * </td>
- <td class="paramname"><em>lsslamp</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Generate a 1D spectrum from a model and a dispersion relation. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>Vector to fill with spectrum </td></tr>
- <tr><td class="paramname">disp</td><td>1D-Dispersion relation, at least of degree 1 </td></tr>
- <tr><td class="paramname">lsslamp</td><td>Pointer to irplib_line_spectrum_model struct </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE on success, otherwise the relevant CPL error code </dd></dl>
-<dl class="section note"><dt>Note:</dt><dd>The logarithm is taken on the intensities </dd></dl>
-<dl class="section see"><dt>See also:</dt><dd><a class="el" href="group__irplib__wavecal.html#ga1d49cb7f85fc246c8fdf38625c769f7a" title="Generate a 1D spectrum from a model and a dispersion relation.">irplib_vector_fill_line_spectrum</a></dd></dl>
-<p>log(1+I) is used for the (positive) intensities </p>
-
-<p>Definition at line <a class="el" href="irplib__wavecal_8c_source.html#l00539">539</a> of file <a class="el" href="irplib__wavecal_8c_source.html">irplib_wavecal.c</a>.</p>
-
-<p>References <a class="el" href="irplib__wavecal_8c_source.html#l01046">irplib_vector_fill_line_spectrum_model()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga75a85320c74d1088eeaeec97974d793c"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">cpl_error_code irplib_vector_fill_logline_spectrum_fast </td>
- <td>(</td>
- <td class="paramtype">cpl_vector * </td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const cpl_polynomial * </td>
- <td class="paramname"><em>disp</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">irplib_base_spectrum_model * </td>
- <td class="paramname"><em>lsslamp</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Generate a 1D spectrum from a model and a dispersion relation. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>Vector to fill with spectrum </td></tr>
- <tr><td class="paramname">disp</td><td>1D-Dispersion relation, at least of degree 1 </td></tr>
- <tr><td class="paramname">lsslamp</td><td>Pointer to irplib_line_spectrum_model struct </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>CPL_ERROR_NONE on success, otherwise the relevant CPL error code </dd></dl>
-<dl class="section note"><dt>Note:</dt><dd>The logarithm is taken on the intensities </dd></dl>
-<dl class="section see"><dt>See also:</dt><dd><a class="el" href="group__irplib__wavecal.html#ga6a463d7816b4164fdd23a4df2805cc95" title="Generate a 1D spectrum from a model and a dispersion relation.">irplib_vector_fill_line_spectrum_fast()</a></dd></dl>
-<p>log(1+I) is used for the (positive) intensities </p>
-
-<p>Definition at line <a class="el" href="irplib__wavecal_8c_source.html#l00630">630</a> of file <a class="el" href="irplib__wavecal_8c_source.html">irplib_wavecal.c</a>.</p>
-
-<p>References <a class="el" href="irplib__wavecal_8c_source.html#l01046">irplib_vector_fill_line_spectrum_model()</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__irplib__wcs.html b/html/group__irplib__wcs.html
deleted file mode 100644
index c718263..0000000
--- a/html/group__irplib__wcs.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Functions related to WCS</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Functions related to WCS</div> </div>
-</div><!--header-->
-<div class="contents">
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__irplib__wlxcorr.html b/html/group__irplib__wlxcorr.html
deleted file mode 100644
index 29427c9..0000000
--- a/html/group__irplib__wlxcorr.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Wavelength Cross correlation w. plotting</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Wavelength Cross correlation w. plotting</div> </div>
-</div><!--header-->
-<div class="contents">
-<dl class="section user"><dt>Synopsis:</dt><dd><div class="fragment"><div class="line"><span class="preprocessor"> #include "irplib_wlxcorr.h"</span></div>
-</div><!-- fragment --> </dd></dl>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__absolute.html b/html/group__sinfo__absolute.html
deleted file mode 100644
index d763a8c..0000000
--- a/html/group__sinfo__absolute.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Sinfo_absolute</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Sinfo_absolute</div> </div>
-</div><!--header-->
-<div class="contents">
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__absolute__utils.html b/html/group__sinfo__absolute__utils.html
deleted file mode 100644
index e8b1fca..0000000
--- a/html/group__sinfo__absolute__utils.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: routines to determine the absolute positions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">routines to determine the absolute positions</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>of the slitlets out of an emission line frame </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__bad__pix__search.html b/html/group__sinfo__bad__pix__search.html
deleted file mode 100644
index c60343a..0000000
--- a/html/group__sinfo__bad__pix__search.html
+++ /dev/null
@@ -1,172 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Bad Pixel Search</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Bad Pixel Search</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga4f320ea65a00f127ece79fd2c6416a15"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__bad__pix__search.html#ga4f320ea65a00f127ece79fd2c6416a15">sinfo_bp_dist_config_add</a> (cpl_parameterlist *list)</td></tr>
-<tr class="memdesc:ga4f320ea65a00f127ece79fd2c6416a15"><td class="mdescLeft"> </td><td class="mdescRight">Adds parameters for the spectrum extraction. <a href="#ga4f320ea65a00f127ece79fd2c6416a15"></a><br/></td></tr>
-<tr class="memitem:gaa86bb476f2328523607038df849c2beb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__bad__pix__search.html#gaa86bb476f2328523607038df849c2beb">sinfo_bp_noise_config_add</a> (cpl_parameterlist *list)</td></tr>
-<tr class="memdesc:gaa86bb476f2328523607038df849c2beb"><td class="mdescLeft"> </td><td class="mdescRight">Adds parameters for the spectrum extraction. <a href="#gaa86bb476f2328523607038df849c2beb"></a><br/></td></tr>
-<tr class="memitem:ga6f49eed82217a86089ff7f23465ae3e0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__bad__pix__search.html#ga6f49eed82217a86089ff7f23465ae3e0">sinfo_bp_norm_config_add</a> (cpl_parameterlist *list)</td></tr>
-<tr class="memdesc:ga6f49eed82217a86089ff7f23465ae3e0"><td class="mdescLeft"> </td><td class="mdescRight">Adds parameters for the spectrum extraction. <a href="#ga6f49eed82217a86089ff7f23465ae3e0"></a><br/></td></tr>
-<tr class="memitem:gaba8d9bda2f23ab3e4218598434a3ceeb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__bad__pix__search.html#gaba8d9bda2f23ab3e4218598434a3ceeb">sinfo_bp_sky_config_add</a> (cpl_parameterlist *list)</td></tr>
-<tr class="memdesc:gaba8d9bda2f23ab3e4218598434a3ceeb"><td class="mdescLeft"> </td><td class="mdescRight">Adds parameters for the spectrum extraction. <a href="#gaba8d9bda2f23ab3e4218598434a3ceeb"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<p>TBD </p>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga4f320ea65a00f127ece79fd2c6416a15"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void sinfo_bp_dist_config_add </td>
- <td>(</td>
- <td class="paramtype">cpl_parameterlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Adds parameters for the spectrum extraction. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>Parameter list to which parameters are added.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>Nothing.</dd></dl>
-<p>TBD </p>
-
-<p>Definition at line <a class="el" href="sinfo__bp__dist__config_8c_source.html#l00055">55</a> of file <a class="el" href="sinfo__bp__dist__config_8c_source.html">sinfo_bp_dist_config.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gaa86bb476f2328523607038df849c2beb"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void sinfo_bp_noise_config_add </td>
- <td>(</td>
- <td class="paramtype">cpl_parameterlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Adds parameters for the spectrum extraction. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>Parameter list to which parameters are added.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>Nothing.</dd></dl>
-<p>TBD </p>
-
-<p>Definition at line <a class="el" href="sinfo__bp__noise__config_8c_source.html#l00055">55</a> of file <a class="el" href="sinfo__bp__noise__config_8c_source.html">sinfo_bp_noise_config.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga6f49eed82217a86089ff7f23465ae3e0"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void sinfo_bp_norm_config_add </td>
- <td>(</td>
- <td class="paramtype">cpl_parameterlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Adds parameters for the spectrum extraction. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>Parameter list to which parameters are added.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>Nothing.</dd></dl>
-<p>TBD </p>
-
-<p>Definition at line <a class="el" href="sinfo__bp__norm__config_8c_source.html#l00055">55</a> of file <a class="el" href="sinfo__bp__norm__config_8c_source.html">sinfo_bp_norm_config.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gaba8d9bda2f23ab3e4218598434a3ceeb"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void sinfo_bp_sky_config_add </td>
- <td>(</td>
- <td class="paramtype">cpl_parameterlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Adds parameters for the spectrum extraction. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>Parameter list to which parameters are added.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>Nothing.</dd></dl>
-<p>TBD </p>
-
-<p>Definition at line <a class="el" href="sinfo__bp__sky__config_8c_source.html#l00055">55</a> of file <a class="el" href="sinfo__bp__sky__config_8c_source.html">sinfo_bp_sky_config.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__balance.html b/html/group__sinfo__balance.html
deleted file mode 100644
index dbfbeac..0000000
--- a/html/group__sinfo__balance.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: To be removed</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">To be removed</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__baryvel.html b/html/group__sinfo__baryvel.html
deleted file mode 100644
index f2bfd41..0000000
--- a/html/group__sinfo__baryvel.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Velocity correction</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Velocity correction</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>Compute barycentric, heliocentric velocity corrections</p>
-<p>The code in this source file is a 1-to-1 translation of MIDAS COMPUT/BARYCOR as defined in /prim/general/src/compxy.for (only the necessary parts were translated). The code is not meant to be particularly readable/maintainable. To understand the computation the best starting point is probably P. Stumpff, A&A Suppl. Ser. 41, pp. 1-8 (1980) </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__boltzmann.html b/html/group__sinfo__boltzmann.html
deleted file mode 100644
index eb4228f..0000000
--- a/html/group__sinfo__boltzmann.html
+++ /dev/null
@@ -1,515 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Boltzmann function operations</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Boltzmann function operations</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga858ad4d37da835f1ff4740d0f23920c1"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__boltzmann.html#ga858ad4d37da835f1ff4740d0f23920c1">sinfo_new_boltz</a> (float *xdat, float *parlist)</td></tr>
-<tr class="memdesc:ga858ad4d37da835f1ff4740d0f23920c1"><td class="mdescLeft"> </td><td class="mdescRight">calculates the value of a Boltzmann function with parameters parlist at the position xdat <a href="#ga858ad4d37da835f1ff4740d0f23920c1"></a><br/></td></tr>
-<tr class="memitem:ga72b3c6f0c971fb402bd68c8d0fcf5e30"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__boltzmann.html#ga72b3c6f0c971fb402bd68c8d0fcf5e30">sinfo_new_boltz_deriv</a> (float *xdat, float *parlist, float *dervs)</td></tr>
-<tr class="memdesc:ga72b3c6f0c971fb402bd68c8d0fcf5e30"><td class="mdescLeft"> </td><td class="mdescRight">calculates the partial derivatives for a Boltzmann function with parameters parlist at position xdat <a href="#ga72b3c6f0c971fb402bd68c8d0fcf5e30"></a><br/></td></tr>
-<tr class="memitem:ga7e03e34851f7c367ab3827c58e8c81c5"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__boltzmann.html#ga7e03e34851f7c367ab3827c58e8c81c5">sinfo_new_lsqfit</a> (float *xdat, int *xdim, float *ydat, float *wdat, int *ndat, float *fpar, float *epar, int *mpar, int *npar, float *tol, int *its, float *lab)</td></tr>
-<tr class="memdesc:ga7e03e34851f7c367ab3827c58e8c81c5"><td class="mdescLeft"> </td><td class="mdescRight">makes a least-squares fit of a function to a set of data points. <a href="#ga7e03e34851f7c367ab3827c58e8c81c5"></a><br/></td></tr>
-<tr class="memitem:gab3549f7bb876fb4091ba3c0bd64d267d"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__boltzmann.html#gab3549f7bb876fb4091ba3c0bd64d267d">sinfo_new_fit_slits_boltz</a> (cpl_image *lineImage, FitParams **par, float **slit_pos, int box_length, float y_box, float diff_tol)</td></tr>
-<tr class="memdesc:gab3549f7bb876fb4091ba3c0bd64d267d"><td class="mdescLeft"> </td><td class="mdescRight">fits the beginning and end position of the slitlets by using non-linear least square fitting of a Boltzmann function fits a Boltzmann function to the slitlet edges exposed and indicated by the brightest emission lines. <a href="#gab3549f7bb876fb4091ba3c0bd64d267d"></a><br/></td></tr>
-<tr class="memitem:gafe44b4032a5b85ff4b88bf7518793b21"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__boltzmann.html#gafe44b4032a5b85ff4b88bf7518793b21">sinfo_new_fit_slits_boltz_single_line</a> (cpl_image *lineImage, float **slit_pos, int box_length, float y_box, int low_pos, int high_pos)</td></tr>
-<tr class="memdesc:gafe44b4032a5b85ff4b88bf7518793b21"><td class="mdescLeft"> </td><td class="mdescRight">fits the beginning and end position of the slitlets by using non-linear least square fitting of a Boltzmann function <a href="#gafe44b4032a5b85ff4b88bf7518793b21"></a><br/></td></tr>
-<tr class="memitem:ga1851d695a240ae0d23d20657f02867bb"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__boltzmann.html#ga1851d695a240ae0d23d20657f02867bb">sinfo_new_fit_slits_boltz_with_estimate</a> (cpl_image *lineImage, float **slit_pos, int box_length, float y_box, float diff_tol, int low_pos, int high_pos)</td></tr>
-<tr class="memdesc:ga1851d695a240ae0d23d20657f02867bb"><td class="mdescLeft"> </td><td class="mdescRight">its the beginning and end position of the slitlets by using non-linear least square fitting of a Boltzmann function <a href="#ga1851d695a240ae0d23d20657f02867bb"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<p>TBD </p>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga858ad4d37da835f1ff4740d0f23920c1"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">float sinfo_new_boltz </td>
- <td>(</td>
- <td class="paramtype">float * </td>
- <td class="paramname"><em>xdat</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">float * </td>
- <td class="paramname"><em>parlist</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>calculates the value of a Boltzmann function with parameters parlist at the position xdat </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">xdat</td><td>position array </td></tr>
- <tr><td class="paramname">parlist</td><td>parameter list <pre class="fragment"> The parameters are:
- # parlist(0): background1
- # parlist(1): background2
- # parlist(2): central position
- # parlist(3): width
-</pre> </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>function value of a Boltzmann function that is y = (parlist(0) - parlist(1)) / (1+exp((x-parlist(2))/parlist(3))) + parlist(1) </dd></dl>
-
-<p>Definition at line <a class="el" href="sinfo__boltzmann_8c_source.html#l00245">245</a> of file <a class="el" href="sinfo__boltzmann_8c_source.html">sinfo_boltzmann.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga72b3c6f0c971fb402bd68c8d0fcf5e30"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void sinfo_new_boltz_deriv </td>
- <td>(</td>
- <td class="paramtype">float * </td>
- <td class="paramname"><em>xdat</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">float * </td>
- <td class="paramname"><em>parlist</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">float * </td>
- <td class="paramname"><em>dervs</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>calculates the partial derivatives for a Boltzmann function with parameters parlist at position xdat </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">xdat</td><td>position array xdat </td></tr>
- <tr><td class="paramname">parlist</td><td>parameter list <h1>The parameters are:</h1>
-</td></tr>
- </table>
- </dd>
-</dl>
-<h1>parlist(0): background1</h1>
-<h1>parlist(1): background2</h1>
-<h1>parlist(2): central position</h1>
-<h1>parlist(3): width</h1>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">dervs</td><td>derivative value of a Boltzmann function at\ position xdat: dervs <h1>dervs[0]: partial derivative by background1</h1>
-</td></tr>
- </table>
- </dd>
-</dl>
-<h1>dervs[1]: partial derivative by background2</h1>
-<h1>dervs[2]: partial derivative by central position</h1>
-<h1>dervs[3]: partial derivative by the width</h1>
-<dl class="section return"><dt>Returns:</dt><dd>nothing, void </dd></dl>
-
-<p>Definition at line <a class="el" href="sinfo__boltzmann_8c_source.html#l00278">278</a> of file <a class="el" href="sinfo__boltzmann_8c_source.html">sinfo_boltzmann.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gab3549f7bb876fb4091ba3c0bd64d267d"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int sinfo_new_fit_slits_boltz </td>
- <td>(</td>
- <td class="paramtype">cpl_image * </td>
- <td class="paramname"><em>lineImage</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">FitParams ** </td>
- <td class="paramname"><em>par</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">float ** </td>
- <td class="paramname"><em>slit_pos</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>box_length</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">float </td>
- <td class="paramname"><em>y_box</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">float </td>
- <td class="paramname"><em>diff_tol</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>fits the beginning and end position of the slitlets by using non-linear least square fitting of a Boltzmann function fits a Boltzmann function to the slitlet edges exposed and indicated by the brightest emission lines. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">lineImage,:</td><td>emission line frame </td></tr>
- <tr><td class="paramname">par,:</td><td>fit parameter data structure of fitted lines </td></tr>
- <tr><td class="paramname">slit_pos,:</td><td>allocated dummy array for the slitlet positions [32][2] </td></tr>
- <tr><td class="paramname">box_length,:</td><td>pixel length of the row box within the fit is done </td></tr>
- <tr><td class="paramname">y_box,:</td><td>small box in spectral direction within the slitlet may lie. </td></tr>
- <tr><td class="paramname">diff_tol,:</td><td>maximum tolerable difference of the resulting fit position with respect to the expected position. If difference is greater the expected position is taken. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>slit_pos: beginning and end position of the slitlets to sub-pixel accuracy <h1>0 if it worked,</h1>
-</dd></dl>
-<h1>-1 if there was no line image given,</h1>
-<h1>-2 if there were no line fit parameters given,</h1>
-<h1>-3 if there was no dummy array for the slit positions</h1>
-<h1>allocated</h1>
-<h1>-4 if the given box length is impossible</h1>
-<h1>-5 if the given y box length is impossible</h1>
-<h1>-6 if the given difference tolerance is too small</h1>
-<h1>-7 if there were no emission lines found in the first</h1>
-<p>image columns </p>
-<h1>-8 if not all slitlets could be found</h1>
-<p>fits the beginning and end position of the slitlets by using non-linear least square fitting of a Boltzmann function fits a Boltzmann function to the slitlet edges exposed and indicated by the brightest emission lines. To achieve this, the fit parameters are used to find the brightest emission line and to get its position for each column. The least squares fit is done by using a box smaller than the size of two slitlets —————————&m [...]
-
-<p>Definition at line <a class="el" href="sinfo__boltzmann_8c_source.html#l00865">865</a> of file <a class="el" href="sinfo__boltzmann_8c_source.html">sinfo_boltzmann.c</a>.</p>
-
-<p>References <a class="el" href="sinfo__msg_8h_source.html#l00069">sinfo_msg_error</a>, <a class="el" href="sinfo__msg_8h_source.html#l00093">sinfo_msg_warning</a>, and <a class="el" href="sinfo__boltzmann_8c_source.html#l00627">sinfo_new_lsqfit()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gafe44b4032a5b85ff4b88bf7518793b21"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int sinfo_new_fit_slits_boltz_single_line </td>
- <td>(</td>
- <td class="paramtype">cpl_image * </td>
- <td class="paramname"><em>lineImage</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">float ** </td>
- <td class="paramname"><em>slit_pos</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>box_length</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">float </td>
- <td class="paramname"><em>y_box</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>low_pos</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>high_pos</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>fits the beginning and end position of the slitlets by using non-linear least square fitting of a Boltzmann function </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">lineImage</td><td>emission line frame </td></tr>
- <tr><td class="paramname">slit_pos</td><td>allocated dummy array for the slitlet positions [min32][2] </td></tr>
- <tr><td class="paramname">box_length</td><td>pixel length of the row box within the fit is done </td></tr>
- <tr><td class="paramname">y_box,:</td><td>small box in spectral direction within the slitlet may lie. </td></tr>
- <tr><td class="paramname">low_pos</td><td>pixel positions in spectral direction between which the line should be located. </td></tr>
- <tr><td class="paramname">high_pos</td><td>pixel positions in spectral direction between which the line should be located. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>slit_pos: beginning and end position of the slitlets to sub-pixel accuracy <h1>0 if it worked,</h1>
-</dd></dl>
-<h1>-1 if it failed,</h1>
-<p>fits the beginning and end position of the slitlets by using non-linear least square fitting of a Boltzmann function fits a Boltzmann function to the slitlet edges exposed and indicated by the brightest emission lines. The slitlet is searched with user given positions. The least squares fit is done by using a box smaller than the size of two slitlets </p>
-
-<p>Definition at line <a class="el" href="sinfo__boltzmann_8c_source.html#l01620">1620</a> of file <a class="el" href="sinfo__boltzmann_8c_source.html">sinfo_boltzmann.c</a>.</p>
-
-<p>References <a class="el" href="sinfo__msg_8h_source.html#l00069">sinfo_msg_error</a>, <a class="el" href="sinfo__msg_8h_source.html#l00093">sinfo_msg_warning</a>, and <a class="el" href="sinfo__boltzmann_8c_source.html#l00627">sinfo_new_lsqfit()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga1851d695a240ae0d23d20657f02867bb"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int sinfo_new_fit_slits_boltz_with_estimate </td>
- <td>(</td>
- <td class="paramtype">cpl_image * </td>
- <td class="paramname"><em>lineImage</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">float ** </td>
- <td class="paramname"><em>slit_pos</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>box_length</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">float </td>
- <td class="paramname"><em>y_box</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">float </td>
- <td class="paramname"><em>diff_tol</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>low_pos</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>high_pos</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>its the beginning and end position of the slitlets by using non-linear least square fitting of a Boltzmann function </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">lineImage</td><td>emission line frame </td></tr>
- <tr><td class="paramname">slit_pos</td><td>estimation array for the slitlet positions [min32][2] </td></tr>
- <tr><td class="paramname">box_length</td><td>pixel length of the row box within the fit is done </td></tr>
- <tr><td class="paramname">y_box</td><td>small box in spectral direction within the slitlet may lie. </td></tr>
- <tr><td class="paramname">diff_tol</td><td>tolerance on slitlets position </td></tr>
- <tr><td class="paramname">low_pos</td><td>pixel positions in spectral direction between which the line should be located. </td></tr>
- <tr><td class="paramname">high_pos</td><td>pixel positions in spectral direction between which the line should be located.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>slit_pos beginning and end position of the slitlets to sub-pixel accuracy <h1>0 if it worked,</h1>
-</dd></dl>
-<h1>-1 if it failed,</h1>
-<dl class="section note"><dt>Note:</dt><dd>fits the beginning and end position of the slitlets by using non-linear least square fitting of a Boltzmann function fits a Boltzmann function to the slitlet edges exposed and indicated by the brightest emission lines. The slitlet is searched within user given positions. The least squares fit is done by using a box smaller than the size of two slitlets </dd></dl>
-
-<p>Definition at line <a class="el" href="sinfo__boltzmann_8c_source.html#l02164">2164</a> of file <a class="el" href="sinfo__boltzmann_8c_source.html">sinfo_boltzmann.c</a>.</p>
-
-<p>References <a class="el" href="sinfo__msg_8h_source.html#l00069">sinfo_msg_error</a>, <a class="el" href="sinfo__msg_8h_source.html#l00093">sinfo_msg_warning</a>, and <a class="el" href="sinfo__boltzmann_8c_source.html#l00627">sinfo_new_lsqfit()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga7e03e34851f7c367ab3827c58e8c81c5"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int sinfo_new_lsqfit </td>
- <td>(</td>
- <td class="paramtype">float * </td>
- <td class="paramname"><em>xdat</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int * </td>
- <td class="paramname"><em>xdim</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">float * </td>
- <td class="paramname"><em>ydat</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">float * </td>
- <td class="paramname"><em>wdat</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int * </td>
- <td class="paramname"><em>ndat</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">float * </td>
- <td class="paramname"><em>fpar</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">float * </td>
- <td class="paramname"><em>epar</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int * </td>
- <td class="paramname"><em>mpar</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int * </td>
- <td class="paramname"><em>npar</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">float * </td>
- <td class="paramname"><em>tol</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int * </td>
- <td class="paramname"><em>its</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">float * </td>
- <td class="paramname"><em>lab</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>makes a least-squares fit of a function to a set of data points. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">xdat,:</td><td>position, coordinates of data points. xdat is 2 dimensional: XDAT ( XDIM, NDAT ) </td></tr>
- <tr><td class="paramname">xdim,:</td><td>dimension of fit </td></tr>
- <tr><td class="paramname">ydat,:</td><td>data points </td></tr>
- <tr><td class="paramname">wdat,:</td><td>weights for data points </td></tr>
- <tr><td class="paramname">ndat,:</td><td>number of data points </td></tr>
- <tr><td class="paramname">fpar,:</td><td>on input contains initial estimates of the parameters for non-linear fits, on output the fitted parameters. </td></tr>
- <tr><td class="paramname">epar,:</td><td>contains estimates of the errors in fitted parameters </td></tr>
- <tr><td class="paramname">mpar,:</td><td>logical mask telling which parameters are free (non-zero) and which parameters are fixed (0) </td></tr>
- <tr><td class="paramname">npar,:</td><td>number of function parameters ( free + fixed ) </td></tr>
- <tr><td class="paramname">tol,:</td><td>relative tolerance. sinfo_lsqfit stops when successive iterations fail to produce a decrement in reduced chi-squared less than tol. If tol is less than the minimum tolerance possible, tol will be set to this value. This means that maximum accuracy can be obtained by setting tol = 0.0. </td></tr>
- <tr><td class="paramname">its,:</td><td>maximum number of iterations </td></tr>
- <tr><td class="paramname">lab,:</td><td>mixing parameter, lab determines the initial weight of steepest descent method relative to the Taylor method lab should be a small value (i.e. 0.01). lab can only be zero when the partial derivatives are independent of the parameters. In fact in this case lab should be exactly equal to zero. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>number of iterations needed to achieve convergence according to tol. When this number is negative, the fitting was not continued because a fatal error occurred: <h1>-1 too many free parameters, maximum is 32</h1>
-</dd></dl>
-<h1>-2 no free parameters</h1>
-<h1>-3 not enough degrees of freedom</h1>
-<h1>-4 maximum number of iterations too small to obtain</h1>
-<p>a solution which satisfies tol. </p>
-<h1>-5 diagonal of sinfo_matrix contains elements which</h1>
-<p>are zero </p>
-<h1>-6 determinant of the coefficient sinfo_matrix is zero</h1>
-<h1>-7 square root of a negative number</h1>
-<p>The method used is described in: Marquardt, J.Soc.Ind.Appl.Math. 11. 431 (1963). This method is a mixture of the steepest descent method and the Taylor method. </p>
-
-<p>Definition at line <a class="el" href="sinfo__boltzmann_8c_source.html#l00627">627</a> of file <a class="el" href="sinfo__boltzmann_8c_source.html">sinfo_boltzmann.c</a>.</p>
-
-<p>Referenced by <a class="el" href="sinfo__boltzmann_8c_source.html#l00865">sinfo_new_fit_slits_boltz()</a>, <a class="el" href="sinfo__boltzmann_8c_source.html#l01620">sinfo_new_fit_slits_boltz_single_line()</a>, and <a class="el" href="sinfo__boltzmann_8c_source.html#l02164">sinfo_new_fit_slits_boltz_with_estimate()</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__coltilt.html b/html/group__sinfo__coltilt.html
deleted file mode 100644
index 742d809..0000000
--- a/html/group__sinfo__coltilt.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Column tilt computation</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Column tilt computation</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__companion.html b/html/group__sinfo__companion.html
deleted file mode 100644
index dbfbeac..0000000
--- a/html/group__sinfo__companion.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: To be removed</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">To be removed</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__cube__construct.html b/html/group__sinfo__cube__construct.html
deleted file mode 100644
index d0d8c30..0000000
--- a/html/group__sinfo__cube__construct.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Cube generation functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Cube generation functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__dark__cfg.html b/html/group__sinfo__dark__cfg.html
deleted file mode 100644
index bdadd05..0000000
--- a/html/group__sinfo__dark__cfg.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Dark manipulation functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Dark manipulation functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__detlin.html b/html/group__sinfo__detlin.html
deleted file mode 100644
index f52b011..0000000
--- a/html/group__sinfo__detlin.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Detector Linearity Determination Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Detector Linearity Determination Functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__dfs.html b/html/group__sinfo__dfs.html
deleted file mode 100644
index 2cf257f..0000000
--- a/html/group__sinfo__dfs.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: DFS related Utilities</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">DFS related Utilities</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__distortion.html b/html/group__sinfo__distortion.html
deleted file mode 100644
index 66d4bd3..0000000
--- a/html/group__sinfo__distortion.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Distortion correction functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Distortion correction functions</div> </div>
-</div><!--header-->
-<div class="contents">
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__dump.html b/html/group__sinfo__dump.html
deleted file mode 100644
index ec3e37e..0000000
--- a/html/group__sinfo__dump.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Print CPL objects</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Print CPL objects</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>Functions that enables dumping (using CPL's messaging system) some otherwise non-dumpable CPL objects </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__error.html b/html/group__sinfo__error.html
deleted file mode 100644
index 55507fc..0000000
--- a/html/group__sinfo__error.html
+++ /dev/null
@@ -1,258 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Error handling</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Error handling</div> </div>
-</div><!--header-->
-<div class="contents">
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<p>This error handling module extends CPL's error handler by adding error tracing and automatic memory deallocation in case of an error. Like in CPL the current error state is indicated by the <code>cpl_error_code</code> (returned by the function <code>cpl_error_get_code()</code> ).</p>
-<p>The error tracing makes it possible to see where (source file, function name, line number) an error first occured, as well as the sequence of function calls preceding the error. A typical output looks like: </p>
-<div class="fragment"><div class="line"> An error occured, dumping error trace:</div>
-<div class="line"> </div>
-<div class="line"> Wavelength calibration did not converge. After 13 iterations the RMS was </div>
-<div class="line"> 0.300812 pixels. Try to improve</div>
-<div class="line"> the initial guess solution (The iterative process did not converge)</div>
-<div class="line"> in [3]sinfo_wavecal_identify() at sinfo_wavecal_identify.c :101</div>
-<div class="line"> </div>
-<div class="line"> Could not calibrate orders</div>
-<div class="line"> in [2]sinfo_wavecal_process_chip() at sinfo_wavecal.c :426</div>
-<div class="line"> </div>
-<div class="line"> Wavelength calibration failed</div>
-<div class="line"> in [1]sinfo_wavecal() at sinfo_wavecal.c :679</div>
-</div><!-- fragment --><p>However, the main motivation of this extension is to simplify the error checking and handling. A single line of source code</p>
-<div class="fragment"><div class="line"> check( dispersion_relation = sinfo_wavecal_identify(linetable[window-1],</div>
-<div class="line"> line_refer,</div>
-<div class="line"> initial_dispersion, </div>
-<div class="line"> WAVECAL_MODE, DEGREE, </div>
-<div class="line"> TOLERANCE, ALPHA, </div>
-<div class="line"> MAXERROR),</div>
-<div class="line"> <span class="stringliteral">"Could not calibrate orders"</span>);</div>
-</div><!-- fragment --><p>has the same effect as</p>
-<div class="fragment"><div class="line"> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"> cpl_msg_error(cpl_func, </div>
-<div class="line"> <span class="stringliteral">"An unexpected error (%s) has occurred "</span></div>
-<div class="line"> <span class="stringliteral">"in %s() at %-15s :%-3d"</span>,</div>
-<div class="line"> cpl_error_get_message(),</div>
-<div class="line"> cpl_func,</div>
-<div class="line"> __FILE__,</div>
-<div class="line"> __LINE__);</div>
-<div class="line"> sinfo_free_image(&spectrum);</div>
-<div class="line"> sinfo_free_image(&cropped_image);</div>
-<div class="line"> sinfo_free_image(&debug_image);</div>
-<div class="line"> sinfo_free_cpl(&relative_order);</div>
-<div class="line"> polynomial_delete(&initial_dispersion);</div>
-<div class="line"> polynomial_delete(&dispersion_relation);</div>
-<div class="line"> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"> }</div>
-<div class="line"></div>
-<div class="line"> dispersion_relation = sinfo_wavecal_identify(linetable[window-1],</div>
-<div class="line"> line_refer,</div>
-<div class="line"> initial_dispersion, </div>
-<div class="line"> WAVECAL_MODE, DEGREE, </div>
-<div class="line"> TOLERANCE, ALPHA, MAXERROR);</div>
-<div class="line"></div>
-<div class="line"> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"> cpl_msg_error(cpl_func, <span class="stringliteral">"ERROR: Could not calibrate orders (%s) in %s() </span></div>
-<div class="line"><span class="stringliteral"> at %-15s :%-3d"</span>,</div>
-<div class="line"> cpl_error_get_message(),</div>
-<div class="line"> cpl_func,</div>
-<div class="line"> __FILE__,</div>
-<div class="line"> __LINE__);</div>
-<div class="line"> sinfo_free_image(&spectrum);</div>
-<div class="line"> sinfo_free_image(&cropped_image);</div>
-<div class="line"> sinfo_free_image(&debug_image);</div>
-<div class="line"> sinfo_free_cpl(&relative_order);</div>
-<div class="line"> polynomial_delete(&initial_dispersion);</div>
-<div class="line"> polynomial_delete(&dispersion_relation);</div>
-<div class="line"> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"> }</div>
-</div><!-- fragment --><p>This of course makes the source code more compact and hence easier to read (and maintain) and allows for intensive error checking with minimal effort.</p>
-<p>Additionally, editing the <code>check()</code> macro (described below) allows for debugging/tracing information at every function entry and exit.</p>
-<dl class="section user"><dt>Usage</dt><dd></dd></dl>
-<p>New errors are set with the macros <code>assure()</code> and <code>passure()</code>, and sub-functions that might set a <code>cpl_error_code</code> are checked using the macros <code>check()</code> and <code>pcheck()</code> . The function <code>_sinfo_error_set()</code> should never be called directly. These macros check if an error occured and, if so, jumps to the <code>cleanup</code> label which must be defined at the end of each function. After the <code>cleanup</code> label every [...]
-<p>At the very end of a recipe the error state should be checked and <code>sinfo_error_dump()</code> called on error: </p>
-<div class="fragment"><div class="line"> <span class="keywordflow">if</span> ( cpl_error_get_code() != CPL_ERROR_NONE )</div>
-<div class="line"> {</div>
-<div class="line"> sinfo_error_dump(cpl_func);</div>
-<div class="line"> }</div>
-</div><!-- fragment --><p>When using this scheme:</p>
-<ul>
-<li>There should be only one <code>return</code> statement per function (after the <code>cleanup</code> label).</li>
-</ul>
-<ul>
-<li>All pointers to dynamically allocated memory must be declared at the beginning of a function.</li>
-</ul>
-<ul>
-<li>Pointers must be initialized to NULL (which is a good idea anyway).</li>
-</ul>
-<ul>
-<li>Pointers must be set to NULL when they are not used (which is a good idea anyway).</li>
-</ul>
-<p>Consider the example</p>
-<div class="fragment"><div class="line"> <span class="keywordtype">int</span> function_name(...)</div>
-<div class="line"> {</div>
-<div class="line"> cpl_image * image = NULL;</div>
-<div class="line"> cpl_image * another_image; / * Wrong: Pointer must be initialized </div>
-<div class="line"> to NULL. On cleanup, </div>
-<div class="line"> cpl_image_delete() will try </div>
-<div class="line"> to deallocate whatever</div>
-<div class="line"> this pointer points to. If </div>
-<div class="line"> the pointer is NULL,</div>
-<div class="line"> the deallocator function </div>
-<div class="line"> will do nothing. * /</div>
-<div class="line"> :</div>
-<div class="line"> :</div>
-<div class="line"></div>
-<div class="line"> {</div>
-<div class="line"> cpl_object * <span class="keywordtype">object</span> = NULL; / * Wrong: Pointer must be declared at </div>
-<div class="line"> the beginning of a <span class="keyword">function</span>.</div>
-<div class="line"> This <span class="keywordtype">object</span> will not be </div>
-<div class="line"> deallocated, <span class="keywordflow">if</span> the following</div>
-<div class="line"> check() fails. * /</div>
-<div class="line"> </div>
-<div class="line"> <span class="keywordtype">object</span> = cpl_object_new();</div>
-<div class="line"></div>
-<div class="line"> :</div>
-<div class="line"> :</div>
-<div class="line"> </div>
-<div class="line"> check( ... );</div>
-<div class="line"></div>
-<div class="line"> :</div>
-<div class="line"> :</div>
-<div class="line"></div>
-<div class="line"> cpl_object_delete(<span class="keywordtype">object</span>); / * Wrong: The pointer must be set to </div>
-<div class="line"> NULL after deallocation, or</div>
-<div class="line"> the following assure() might</div>
-<div class="line"> cause the already </div>
-<div class="line"> deallocated <span class="keywordtype">object</span></div>
-<div class="line"> to be deallocated again. * /</div>
-<div class="line"> :</div>
-<div class="line"> :</div>
-<div class="line"> </div>
-<div class="line"> assure( ... );</div>
-<div class="line"></div>
-<div class="line"> return 7; / * Wrong: Only one exit point per </div>
-<div class="line"> function. * /</div>
-<div class="line"></div>
-<div class="line"> }</div>
-<div class="line"> </div>
-<div class="line"> :</div>
-<div class="line"> :</div>
-<div class="line"></div>
-<div class="line"> cleanup:</div>
-<div class="line"> cpl_image_delete(image);</div>
-<div class="line"> cpl_image_delete(another_image);</div>
-<div class="line"></div>
-<div class="line"> return 7;</div>
-<div class="line"> }</div>
-</div><!-- fragment --><p>This is easily fixed:</p>
-<div class="fragment"><div class="line"> <span class="keywordtype">int</span> function_name(...)</div>
-<div class="line"> {</div>
-<div class="line"> cpl_image * image = NULL; / * All pointers are declared at </div>
-<div class="line"> the beginning * /</div>
-<div class="line"> cpl_image * another_image = NULL; / * of the <span class="keyword">function</span> an initialized </div>
-<div class="line"> to NULL. * /</div>
-<div class="line"> cpl_object * <span class="keywordtype">object</span> = NULL;</div>
-<div class="line"></div>
-<div class="line"> :</div>
-<div class="line"> :</div>
-<div class="line"></div>
-<div class="line"> {</div>
-<div class="line"></div>
-<div class="line"> <span class="keywordtype">object</span> = cpl_object_new();</div>
-<div class="line"></div>
-<div class="line"> :</div>
-<div class="line"> :</div>
-<div class="line"> </div>
-<div class="line"> check( ... );</div>
-<div class="line"></div>
-<div class="line"> :</div>
-<div class="line"> :</div>
-<div class="line"></div>
-<div class="line"> sinfo_free_object(&<span class="keywordtype">object</span>); / * The <span class="keywordtype">object</span> is deallocated </div>
-<div class="line"> and the pointer <span class="keyword">set</span> to </div>
-<div class="line"> NULL. * /</div>
-<div class="line"></div>
-<div class="line"> :</div>
-<div class="line"> :</div>
-<div class="line"> </div>
-<div class="line"> assure( ... );</div>
-<div class="line"></div>
-<div class="line"> }</div>
-<div class="line"> </div>
-<div class="line"> :</div>
-<div class="line"> :</div>
-<div class="line"></div>
-<div class="line"> cleanup:</div>
-<div class="line"> sinfo_free_image (&image); / * All objects are </div>
-<div class="line"> deallocated here. * /</div>
-<div class="line"> sinfo_free_image (&another_image);</div>
-<div class="line"> sinfo_free_object(&<span class="keywordtype">object</span>);</div>
-<div class="line"></div>
-<div class="line"> <span class="keywordflow">return</span> 7; / * This is the only exit point of </div>
-<div class="line"> the <span class="keyword">function</span>. * /</div>
-<div class="line"> }</div>
-</div><!-- fragment --><p>(Note that <code>sinfo_free_image()</code> et al. can be used instead of <code>cpl_image_delete()</code> et al. as a way to ensure that a pointer is always set to NULL after deallocation).</p>
-<dl class="section user"><dt>Recovering from an error</dt><dd></dd></dl>
-<p>To recover from an error, call <code>sinfo_error_reset()</code>, not <code>cpl_error_reset()</code>. Example:</p>
-<div class="fragment"><div class="line"> n = cpl_table_get_nrow(t);</div>
-<div class="line"> <span class="keywordflow">if</span> (cpl_error_get_code() == CPL_ERROR_NULL_INPUT) / * This error code is </div>
-<div class="line"> <span class="keyword">set</span> <span class="keywordflow">if</span> <span class="charliteral">'t'</span> is NULL.</div>
-<div class="line"> /</div>
-<div class="line"> {</div>
-<div class="line"> / * Recover from <span class="keyword">this</span> error * /</div>
-<div class="line"></div>
-<div class="line"> sinfo_error_reset();</div>
-<div class="line"> n = -3;</div>
-<div class="line"> }</div>
-<div class="line"> <span class="keywordflow">else</span> / * Also check <span class="keywordflow">for</span> unexpected errors * /</div>
-<div class="line"> {</div>
-<div class="line"> assure( cpl_error_get_code() == CPL_ERROR_NONE, cpl_error_get_code(), </div>
-<div class="line"> <span class="stringliteral">"Error reading table size"</span>);</div>
-<div class="line"> }</div>
-</div><!-- fragment --><p>However, error recovery is usually best avoided, and the functionality above is better written as:</p>
-<div class="fragment"><div class="line"> <span class="keywordflow">if</span> (t != NULL)</div>
-<div class="line"> {</div>
-<div class="line"> check( n = cpl_table_get_nrow(t), <span class="stringliteral">"Error reading table size"</span>);</div>
-<div class="line"> }</div>
-<div class="line"> <span class="keywordflow">else</span></div>
-<div class="line"> {</div>
-<div class="line"> n = -3;</div>
-<div class="line"> }</div>
-</div><!-- fragment --> </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__finddist__cfg.html b/html/group__sinfo__finddist__cfg.html
deleted file mode 100644
index fd4de8a..0000000
--- a/html/group__sinfo__finddist__cfg.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: functions to determine slitlets distances</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">functions to determine slitlets distances</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__fit.html b/html/group__sinfo__fit.html
deleted file mode 100644
index 68dcb28..0000000
--- a/html/group__sinfo__fit.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Fit functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Fit functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__flat__cfg.html b/html/group__sinfo__flat__cfg.html
deleted file mode 100644
index cfa4064..0000000
--- a/html/group__sinfo__flat__cfg.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Flat manipulation functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Flat manipulation functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__flat__ini__file.html b/html/group__sinfo__flat__ini__file.html
deleted file mode 100644
index cfa4064..0000000
--- a/html/group__sinfo__flat__ini__file.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Flat manipulation functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Flat manipulation functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__focus.html b/html/group__sinfo__focus.html
deleted file mode 100644
index 34b86c6..0000000
--- a/html/group__sinfo__focus.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Focus determination functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Focus determination functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__function__1d.html b/html/group__sinfo__function__1d.html
deleted file mode 100644
index fcb6147..0000000
--- a/html/group__sinfo__function__1d.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: 1d functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">1d functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__globals.html b/html/group__sinfo__globals.html
deleted file mode 100644
index d1419ab..0000000
--- a/html/group__sinfo__globals.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: global functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">global functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__image__ops.html b/html/group__sinfo__image__ops.html
deleted file mode 100644
index 43a1f3a..0000000
--- a/html/group__sinfo__image__ops.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Image operations</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Image operations</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__img__noise.html b/html/group__sinfo__img__noise.html
deleted file mode 100644
index 9c5d000..0000000
--- a/html/group__sinfo__img__noise.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to determine detector noise</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Recipe to determine detector noise</div> </div>
-</div><!--header-->
-<div class="contents">
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__lamp__cfg.html b/html/group__sinfo__lamp__cfg.html
deleted file mode 100644
index 3f924b3..0000000
--- a/html/group__sinfo__lamp__cfg.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Flat frame manipulation functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Flat frame manipulation functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__lamp__spec__config.html b/html/group__sinfo__lamp__spec__config.html
deleted file mode 100644
index 8bee5e4..0000000
--- a/html/group__sinfo__lamp__spec__config.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Spectroscopic flats manipulation</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Spectroscopic flats manipulation</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__msg.html b/html/group__sinfo__msg.html
deleted file mode 100644
index 0fdd09f..0000000
--- a/html/group__sinfo__msg.html
+++ /dev/null
@@ -1,562 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Messaging</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#define-members">Macros</a> |
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Messaging</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:ga207c781e45c0904f20faa13fdf08c789"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789">sinfo_msg_error</a>(...) cpl_msg_error(cpl_func, __VA_ARGS__)</td></tr>
-<tr class="memdesc:ga207c781e45c0904f20faa13fdf08c789"><td class="mdescLeft"> </td><td class="mdescRight">Print an error message. <a href="#ga207c781e45c0904f20faa13fdf08c789"></a><br/></td></tr>
-<tr class="memitem:ga75cab6805099905b3b101f660a907f37"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__msg.html#ga75cab6805099905b3b101f660a907f37">sinfo_msg_progress</a>(i, iter,...) cpl_msg_progress(cpl_func, (i), (iter), __VA_ARGS__)</td></tr>
-<tr class="memdesc:ga75cab6805099905b3b101f660a907f37"><td class="mdescLeft"> </td><td class="mdescRight">Print a progress message. <a href="#ga75cab6805099905b3b101f660a907f37"></a><br/></td></tr>
-<tr class="memitem:ga885dfc1c23dbdf3ea2051b42341a52a6"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6">sinfo_msg_warning</a>(...) <a class="el" href="group__sinfo__msg.html#ga905c39fd148a95c77ea1335aa9441b28">sinfo_msg_warning_macro</a>(cpl_func, __VA_ARGS__)</td></tr>
-<tr class="memdesc:ga885dfc1c23dbdf3ea2051b42341a52a6"><td class="mdescLeft"> </td><td class="mdescRight">Print an warning message. <a href="#ga885dfc1c23dbdf3ea2051b42341a52a6"></a><br/></td></tr>
-<tr class="memitem:ga5011f548e1cbc15d52154469a63343c8"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8">sinfo_msg_debug</a>(...) cpl_msg_debug(cpl_func, __VA_ARGS__)</td></tr>
-<tr class="memdesc:ga5011f548e1cbc15d52154469a63343c8"><td class="mdescLeft"> </td><td class="mdescRight">Print a debug message. <a href="#ga5011f548e1cbc15d52154469a63343c8"></a><br/></td></tr>
-<tr class="memitem:gaa6da02902135556d8517de4c05b7a1a6"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__msg.html#gaa6da02902135556d8517de4c05b7a1a6">sinfo_msg_low</a>(...)</td></tr>
-<tr class="memdesc:gaa6da02902135556d8517de4c05b7a1a6"><td class="mdescLeft"> </td><td class="mdescRight">Print a message on a lower message level. <a href="#gaa6da02902135556d8517de4c05b7a1a6"></a><br/></td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga639b5d352f0518db6cc346c0737484cc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__msg.html#ga639b5d352f0518db6cc346c0737484cc">sinfo_msg_init</a> (int outlevel, const char *dom)</td></tr>
-<tr class="memdesc:ga639b5d352f0518db6cc346c0737484cc"><td class="mdescLeft"> </td><td class="mdescRight">Initialize messaging. <a href="#ga639b5d352f0518db6cc346c0737484cc"></a><br/></td></tr>
-<tr class="memitem:gad9c8f46542015d0c93094c337a557d5e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__msg.html#gad9c8f46542015d0c93094c337a557d5e">sinfo_msg_set_level</a> (int olevel)</td></tr>
-<tr class="memdesc:gad9c8f46542015d0c93094c337a557d5e"><td class="mdescLeft"> </td><td class="mdescRight">Set output level. <a href="#gad9c8f46542015d0c93094c337a557d5e"></a><br/></td></tr>
-<tr class="memitem:ga15d005a10b6dac6031d611eecdce129a"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__msg.html#ga15d005a10b6dac6031d611eecdce129a">sinfo_msg_get_domain</a> (void)</td></tr>
-<tr class="memdesc:ga15d005a10b6dac6031d611eecdce129a"><td class="mdescLeft"> </td><td class="mdescRight">Get current message domain. <a href="#ga15d005a10b6dac6031d611eecdce129a"></a><br/></td></tr>
-<tr class="memitem:ga5671e5e7722c35d9d174772c80013ad5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__msg.html#ga5671e5e7722c35d9d174772c80013ad5">sinfo_msg_set_domain</a> (const char *d)</td></tr>
-<tr class="memdesc:ga5671e5e7722c35d9d174772c80013ad5"><td class="mdescLeft"> </td><td class="mdescRight">Set message domain. <a href="#ga5671e5e7722c35d9d174772c80013ad5"></a><br/></td></tr>
-<tr class="memitem:gacccff4e78e5f14f06b2c06686a0e19e1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__msg.html#gacccff4e78e5f14f06b2c06686a0e19e1">sinfo_msg_macro</a> (const char *fct, const char *format,...)</td></tr>
-<tr class="memdesc:gacccff4e78e5f14f06b2c06686a0e19e1"><td class="mdescLeft"> </td><td class="mdescRight">Print a message on 'info' or 'debug' level. <a href="#gacccff4e78e5f14f06b2c06686a0e19e1"></a><br/></td></tr>
-<tr class="memitem:ga905c39fd148a95c77ea1335aa9441b28"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__msg.html#ga905c39fd148a95c77ea1335aa9441b28">sinfo_msg_warning_macro</a> (const char *fct, const char *format,...)</td></tr>
-<tr class="memdesc:ga905c39fd148a95c77ea1335aa9441b28"><td class="mdescLeft"> </td><td class="mdescRight">Print a warning message. <a href="#ga905c39fd148a95c77ea1335aa9441b28"></a><br/></td></tr>
-<tr class="memitem:ga819ca13f95340688515071106d88af30"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__msg.html#ga819ca13f95340688515071106d88af30">sinfo_msg_get_warnings</a> (void)</td></tr>
-<tr class="memdesc:ga819ca13f95340688515071106d88af30"><td class="mdescLeft"> </td><td class="mdescRight">Get number of warnings printed so far. <a href="#ga819ca13f95340688515071106d88af30"></a><br/></td></tr>
-<tr class="memitem:gac95702d684d815593ec1516082c0071a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__msg.html#gac95702d684d815593ec1516082c0071a">sinfo_msg_add_warnings</a> (int n)</td></tr>
-<tr class="memdesc:gac95702d684d815593ec1516082c0071a"><td class="mdescLeft"> </td><td class="mdescRight">Accumulate warnings. <a href="#gac95702d684d815593ec1516082c0071a"></a><br/></td></tr>
-<tr class="memitem:gae0f3e727182610d92efdb755f1da6788"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__msg.html#gae0f3e727182610d92efdb755f1da6788">sinfo_msg_softer_macro</a> (const char *fct)</td></tr>
-<tr class="memdesc:gae0f3e727182610d92efdb755f1da6788"><td class="mdescLeft"> </td><td class="mdescRight">Decrease message level. <a href="#gae0f3e727182610d92efdb755f1da6788"></a><br/></td></tr>
-<tr class="memitem:ga38ac31ae7cb0ce5c792486fd3c9478e6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__msg.html#ga38ac31ae7cb0ce5c792486fd3c9478e6">sinfo_msg_louder_macro</a> (const char *fct)</td></tr>
-<tr class="memdesc:ga38ac31ae7cb0ce5c792486fd3c9478e6"><td class="mdescLeft"> </td><td class="mdescRight">Increase message level. <a href="#ga38ac31ae7cb0ce5c792486fd3c9478e6"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<p>CPL's info message level is expanded to a set of relative message level. The functions sinfo_msg_louder() and sinfo_msg_softer() are used to turn up/down the message level (instead of setting the verbosity to an absolute level) These two functions should be used consistently, so that the level is always the same on function exit as on function entry.</p>
-<p>These functions never fail, but print warnings if called inconsistently. </p>
-<hr/><h2>Macro Definition Documentation</h2>
-<a class="anchor" id="ga5011f548e1cbc15d52154469a63343c8"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">#define sinfo_msg_debug</td>
- <td>(</td>
- <td class="paramtype"> </td>
- <td class="paramname"><em>...</em></td><td>)</td>
- <td> cpl_msg_debug(cpl_func, __VA_ARGS__)</td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Print a debug message. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">...</td><td>Message to print</td></tr>
- </table>
- </dd>
-</dl>
-<p>This function is used instead of <code>cpl_msg_debug()</code>, and saves the user from typing the calling function name. </p>
-
-<p>Definition at line <a class="el" href="sinfo__msg_8h_source.html#l00103">103</a> of file <a class="el" href="sinfo__msg_8h_source.html">sinfo_msg.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga207c781e45c0904f20faa13fdf08c789"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">#define sinfo_msg_error</td>
- <td>(</td>
- <td class="paramtype"> </td>
- <td class="paramname"><em>...</em></td><td>)</td>
- <td> cpl_msg_error(cpl_func, __VA_ARGS__)</td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Print an error message. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">...</td><td>Message to print</td></tr>
- </table>
- </dd>
-</dl>
-<p>This function is used instead of <code>cpl_msg_error()</code>, and saves the user from typing the calling function name. </p>
-
-<p>Definition at line <a class="el" href="sinfo__msg_8h_source.html#l00069">69</a> of file <a class="el" href="sinfo__msg_8h_source.html">sinfo_msg.h</a>.</p>
-
-<p>Referenced by <a class="el" href="sinfo__boltzmann_8c_source.html#l00865">sinfo_new_fit_slits_boltz()</a>, <a class="el" href="sinfo__boltzmann_8c_source.html#l01620">sinfo_new_fit_slits_boltz_single_line()</a>, and <a class="el" href="sinfo__boltzmann_8c_source.html#l02164">sinfo_new_fit_slits_boltz_with_estimate()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gaa6da02902135556d8517de4c05b7a1a6"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">#define sinfo_msg_low</td>
- <td>(</td>
- <td class="paramtype"> </td>
- <td class="paramname"><em>...</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> { \</div>
-<div class="line"> sinfo_msg_softer(); \</div>
-<div class="line"> sinfo_msg(__VA_ARGS__); \</div>
-<div class="line"> sinfo_msg_louder(); \</div>
-<div class="line"> } <span class="keywordflow">while</span> (FALSE)</div>
-</div><!-- fragment -->
-<p>Print a message on a lower message level. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">...</td><td>Message to print </td></tr>
- </table>
- </dd>
-</dl>
-
-<p>Definition at line <a class="el" href="sinfo__msg_8h_source.html#l00111">111</a> of file <a class="el" href="sinfo__msg_8h_source.html">sinfo_msg.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga75cab6805099905b3b101f660a907f37"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">#define sinfo_msg_progress</td>
- <td>(</td>
- <td class="paramtype"> </td>
- <td class="paramname">i, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"> </td>
- <td class="paramname">iter, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"> </td>
- <td class="paramname"><em>...</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td> cpl_msg_progress(cpl_func, (i), (iter), __VA_ARGS__)</td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Print a progress message. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">i</td><td>See <code>cpl_msg_progress()</code> </td></tr>
- <tr><td class="paramname">iter</td><td>See <code>cpl_msg_progress()</code> </td></tr>
- <tr><td class="paramname">...</td><td>Message to print</td></tr>
- </table>
- </dd>
-</dl>
-<p>This function is used instead of <code>cpl_msg_progress()</code>, and saves the user from typing the calling function name. </p>
-
-<p>Definition at line <a class="el" href="sinfo__msg_8h_source.html#l00082">82</a> of file <a class="el" href="sinfo__msg_8h_source.html">sinfo_msg.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga885dfc1c23dbdf3ea2051b42341a52a6"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">#define sinfo_msg_warning</td>
- <td>(</td>
- <td class="paramtype"> </td>
- <td class="paramname"><em>...</em></td><td>)</td>
- <td> <a class="el" href="group__sinfo__msg.html#ga905c39fd148a95c77ea1335aa9441b28">sinfo_msg_warning_macro</a>(cpl_func, __VA_ARGS__)</td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Print an warning message. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">...</td><td>Message to print</td></tr>
- </table>
- </dd>
-</dl>
-<p>This function is used instead of <code>cpl_msg_warning()</code>, and saves the user from typing the calling function name. </p>
-
-<p>Definition at line <a class="el" href="sinfo__msg_8h_source.html#l00093">93</a> of file <a class="el" href="sinfo__msg_8h_source.html">sinfo_msg.h</a>.</p>
-
-<p>Referenced by <a class="el" href="sinfo__msg_8c_source.html#l00175">sinfo_msg_louder_macro()</a>, <a class="el" href="sinfo__boltzmann_8c_source.html#l00865">sinfo_new_fit_slits_boltz()</a>, <a class="el" href="sinfo__boltzmann_8c_source.html#l01620">sinfo_new_fit_slits_boltz_single_line()</a>, and <a class="el" href="sinfo__boltzmann_8c_source.html#l02164">sinfo_new_fit_slits_boltz_with_estimate()</a>.</p>
-
-</div>
-</div>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="gac95702d684d815593ec1516082c0071a"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void sinfo_msg_add_warnings </td>
- <td>(</td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>n</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Accumulate warnings. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">n</td><td>Number of warnings to add</td></tr>
- </table>
- </dd>
-</dl>
-<p>The (internal) number of warnings (returned by <code><a class="el" href="group__sinfo__msg.html#ga819ca13f95340688515071106d88af30" title="Get number of warnings printed so far.">sinfo_msg_get_warnings()</a></code>) is increased by <em>n</em>, but without actually printing any warnings. </p>
-
-<p>Definition at line <a class="el" href="sinfo__msg_8c_source.html#l00265">265</a> of file <a class="el" href="sinfo__msg_8c_source.html">sinfo_msg.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga15d005a10b6dac6031d611eecdce129a"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const char* sinfo_msg_get_domain </td>
- <td>(</td>
- <td class="paramtype">void </td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Get current message domain. </p>
-<dl class="section return"><dt>Returns:</dt><dd>The current message domain set by <code><a class="el" href="group__sinfo__msg.html#ga639b5d352f0518db6cc346c0737484cc" title="Initialize messaging.">sinfo_msg_init()</a></code> or <code><a class="el" href="group__sinfo__msg.html#ga5671e5e7722c35d9d174772c80013ad5" title="Set message domain.">sinfo_msg_set_domain()</a></code>. </dd></dl>
-
-<p>Definition at line <a class="el" href="sinfo__msg_8c_source.html#l00308">308</a> of file <a class="el" href="sinfo__msg_8c_source.html">sinfo_msg.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga819ca13f95340688515071106d88af30"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int sinfo_msg_get_warnings </td>
- <td>(</td>
- <td class="paramtype">void </td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Get number of warnings printed so far. </p>
-<dl class="section return"><dt>Returns:</dt><dd>Number of warnings since initialization of messaging </dd></dl>
-
-<p>Definition at line <a class="el" href="sinfo__msg_8c_source.html#l00250">250</a> of file <a class="el" href="sinfo__msg_8c_source.html">sinfo_msg.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga639b5d352f0518db6cc346c0737484cc"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void sinfo_msg_init </td>
- <td>(</td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>olevel</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>dom</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Initialize messaging. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">olevel</td><td>The output level </td></tr>
- <tr><td class="paramname">dom</td><td>The message domain</td></tr>
- </table>
- </dd>
-</dl>
-<p>Only messages at levels 0 (most important) to <em>outlevel</em> are printed as 'info'. Messages at levels above <em>outlevel</em> are printed as 'debug'.</p>
-<p>Therefore, set <em>outlevel</em> = 0 to print fewest messages. Increase <em>outlevel</em> to increase verbosity.</p>
-<p>To print all messages as 'info' set <em>outlevel</em> to the special value -1 (which has the effect of infinity). </p>
-
-<p>Definition at line <a class="el" href="sinfo__msg_8c_source.html#l00100">100</a> of file <a class="el" href="sinfo__msg_8c_source.html">sinfo_msg.c</a>.</p>
-
-<p>References <a class="el" href="sinfo__msg_8c_source.html#l00319">sinfo_msg_set_domain()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga38ac31ae7cb0ce5c792486fd3c9478e6"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void sinfo_msg_louder_macro </td>
- <td>(</td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>fctid</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Increase message level. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">fctid</td><td>Identity of calling function</td></tr>
- </table>
- </dd>
-</dl>
-<p>Don't call this function directly, use <code>sinfo_msg_louder()</code>. </p>
-
-<p>Definition at line <a class="el" href="sinfo__msg_8c_source.html#l00175">175</a> of file <a class="el" href="sinfo__msg_8c_source.html">sinfo_msg.c</a>.</p>
-
-<p>References <a class="el" href="sinfo__msg_8h_source.html#l00093">sinfo_msg_warning</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gacccff4e78e5f14f06b2c06686a0e19e1"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void sinfo_msg_macro </td>
- <td>(</td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>fct</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>format</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"> </td>
- <td class="paramname"><em>...</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Print a message on 'info' or 'debug' level. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">fct</td><td>Identity of calling function </td></tr>
- <tr><td class="paramname">format</td><td>A printf()-like format string</td></tr>
- </table>
- </dd>
-</dl>
-<p>Don't call this function directly, use <code>sinfo_msg()</code>.</p>
-<p>If the current level (which might be equal to the current depth of the function call-tree) is less than the output level, the message printed on the 'info' level, otherwise it is printed on the 'debug' level. </p>
-
-<p>Definition at line <a class="el" href="sinfo__msg_8c_source.html#l00218">218</a> of file <a class="el" href="sinfo__msg_8c_source.html">sinfo_msg.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga5671e5e7722c35d9d174772c80013ad5"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void sinfo_msg_set_domain </td>
- <td>(</td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>d</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Set message domain. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">d</td><td>The new message domain </td></tr>
- </table>
- </dd>
-</dl>
-
-<p>Definition at line <a class="el" href="sinfo__msg_8c_source.html#l00319">319</a> of file <a class="el" href="sinfo__msg_8c_source.html">sinfo_msg.c</a>.</p>
-
-<p>Referenced by <a class="el" href="sinfo__msg_8c_source.html#l00100">sinfo_msg_init()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gad9c8f46542015d0c93094c337a557d5e"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void sinfo_msg_set_level </td>
- <td>(</td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>olevel</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Set output level. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">olevel</td><td>The output level</td></tr>
- </table>
- </dd>
-</dl>
-<p>See <code><a class="el" href="group__sinfo__msg.html#ga639b5d352f0518db6cc346c0737484cc" title="Initialize messaging.">sinfo_msg_init()</a></code> . </p>
-
-<p>Definition at line <a class="el" href="sinfo__msg_8c_source.html#l00138">138</a> of file <a class="el" href="sinfo__msg_8c_source.html">sinfo_msg.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gae0f3e727182610d92efdb755f1da6788"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void sinfo_msg_softer_macro </td>
- <td>(</td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>fctid</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Decrease message level. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">fctid</td><td>Identity of calling function</td></tr>
- </table>
- </dd>
-</dl>
-<p>Don't call this function directly, use <code>sinfo_msg_softer()</code>. </p>
-
-<p>Definition at line <a class="el" href="sinfo__msg_8c_source.html#l00152">152</a> of file <a class="el" href="sinfo__msg_8c_source.html">sinfo_msg.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga905c39fd148a95c77ea1335aa9441b28"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void sinfo_msg_warning_macro </td>
- <td>(</td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>fct</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>format</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"> </td>
- <td class="paramname"><em>...</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Print a warning message. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">fct</td><td>Identity of calling function </td></tr>
- <tr><td class="paramname">format</td><td>A printf()-like format string</td></tr>
- </table>
- </dd>
-</dl>
-<p>Don't call this function directly, use <code><a class="el" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning()</a></code>.</p>
-<p>This function is used instead of <code>cpl_msg_warning()</code>, and saves the user from typing the calling function name.</p>
-<p>Additionally, record is kept on the total number of warnings printed (see <code><a class="el" href="group__sinfo__msg.html#ga819ca13f95340688515071106d88af30" title="Get number of warnings printed so far.">sinfo_msg_get_warnings()</a></code>). </p>
-
-<p>Definition at line <a class="el" href="sinfo__msg_8c_source.html#l00286">286</a> of file <a class="el" href="sinfo__msg_8c_source.html">sinfo_msg.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__new__bezier.html b/html/group__sinfo__new__bezier.html
deleted file mode 100644
index 20f89a7..0000000
--- a/html/group__sinfo__new__bezier.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Bezier Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Bezier Functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__new__cube__ops.html b/html/group__sinfo__new__cube__ops.html
deleted file mode 100644
index c6fa7a9..0000000
--- a/html/group__sinfo__new__cube__ops.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Cube operations</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Cube operations</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__new__resampling.html b/html/group__sinfo__new__resampling.html
deleted file mode 100644
index d0343be..0000000
--- a/html/group__sinfo__new__resampling.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Image resampling</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Image resampling</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__new__slit__pos.html b/html/group__sinfo__new__slit__pos.html
deleted file mode 100644
index eb17db1..0000000
--- a/html/group__sinfo__new__slit__pos.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Slitlets position determination</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Slitlets position determination</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__pfits.html b/html/group__sinfo__pfits.html
deleted file mode 100644
index b5b48ee..0000000
--- a/html/group__sinfo__pfits.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: In/Out on propertylist cards</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">In/Out on propertylist cards</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__pro__save.html b/html/group__sinfo__pro__save.html
deleted file mode 100644
index 2439363..0000000
--- a/html/group__sinfo__pro__save.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Functions to save a product</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Functions to save a product</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__produc__config.html b/html/group__sinfo__produc__config.html
deleted file mode 100644
index f6e5329..0000000
--- a/html/group__sinfo__produc__config.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: .c Pipeline products configurations</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">.c Pipeline products configurations</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__qr__companion.html b/html/group__sinfo__qr__companion.html
deleted file mode 100644
index 78ef7d5..0000000
--- a/html/group__sinfo__qr__companion.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: functions for polynomial solution</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">functions for polynomial solution</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__rec__detlin.html b/html/group__sinfo__rec__detlin.html
deleted file mode 100644
index 3f74c4c..0000000
--- a/html/group__sinfo__rec__detlin.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to determine detector linearity</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Recipe to determine detector linearity</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693">cpl_plugin_get_info</a> (cpl_pluginlist *list)</td></tr>
-<tr class="memdesc:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="mdescLeft"> </td><td class="mdescRight">Build the list of available plugins, for this module. <a href="#ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int cpl_plugin_get_info </td>
- <td>(</td>
- <td class="paramtype">cpl_pluginlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Build the list of available plugins, for this module. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>the plugin list </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if everything is ok, -1 otherwise</dd></dl>
-<p>Create the recipe instance and make it available to the application using the interface. This function is exported. </p>
-
-<p>Definition at line <a class="el" href="sinfo__rec__detlin_8c_source.html#l00121">121</a> of file <a class="el" href="sinfo__rec__detlin_8c_source.html">sinfo_rec_detlin.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__rec__distortion.html b/html/group__sinfo__rec__distortion.html
deleted file mode 100644
index 38b387b..0000000
--- a/html/group__sinfo__rec__distortion.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to compute optical distortions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Recipe to compute optical distortions</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__rec__distortion.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693">cpl_plugin_get_info</a> (cpl_pluginlist *list)</td></tr>
-<tr class="memdesc:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="mdescLeft"> </td><td class="mdescRight">Build the list of available plugins, for this module. <a href="#ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<p>TBD </p>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int cpl_plugin_get_info </td>
- <td>(</td>
- <td class="paramtype">cpl_pluginlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Build the list of available plugins, for this module. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>the plugin list </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if everything is ok, -1 otherwise</dd></dl>
-<p>Create the recipe instance and make it available to the application using the interface. This function is exported. </p>
-
-<p>Definition at line <a class="el" href="sinfo__rec__distortion_8c_source.html#l00149">149</a> of file <a class="el" href="sinfo__rec__distortion_8c_source.html">sinfo_rec_distortion.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__rec__jitter.html b/html/group__sinfo__rec__jitter.html
deleted file mode 100644
index ca67199..0000000
--- a/html/group__sinfo__rec__jitter.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to reduce science, PSF, telluric standards</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Recipe to reduce science, PSF, telluric standards</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__rec__jitter.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693">cpl_plugin_get_info</a> (cpl_pluginlist *list)</td></tr>
-<tr class="memdesc:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="mdescLeft"> </td><td class="mdescRight">Build the list of available plugins, for this module. <a href="#ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<p>TBD</p>
-<p>configuration</p>
-<p>TBD </p>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int cpl_plugin_get_info </td>
- <td>(</td>
- <td class="paramtype">cpl_pluginlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Build the list of available plugins, for this module. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>the plugin list </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if everything is ok, -1 otherwise</dd></dl>
-<p>Create the recipe instance and make it available to the application using the interface. This function is exported. </p>
-
-<p>Definition at line <a class="el" href="sinfo__rec__jitter_8c_source.html#l00152">152</a> of file <a class="el" href="sinfo__rec__jitter_8c_source.html">sinfo_rec_jitter.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__rec__lingain.html b/html/group__sinfo__rec__lingain.html
deleted file mode 100644
index 7244280..0000000
--- a/html/group__sinfo__rec__lingain.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to monitor detector's linearity and gain</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Recipe to monitor detector's linearity and gain</div> </div>
-</div><!--header-->
-<div class="contents">
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__rec__mdark.html b/html/group__sinfo__rec__mdark.html
deleted file mode 100644
index c312b51..0000000
--- a/html/group__sinfo__rec__mdark.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to compute master dark</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Recipe to compute master dark</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__rec__mdark.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693">cpl_plugin_get_info</a> (cpl_pluginlist *list)</td></tr>
-<tr class="memdesc:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="mdescLeft"> </td><td class="mdescRight">Build the list of available plugins, for this module. <a href="#ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<p>TBD </p>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int cpl_plugin_get_info </td>
- <td>(</td>
- <td class="paramtype">cpl_pluginlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Build the list of available plugins, for this module. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>the plugin list </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if everything is ok, -1 otherwise</dd></dl>
-<p>Create the recipe instance and make it available to the application using the interface. This function is exported. </p>
-
-<p>Definition at line <a class="el" href="sinfo__rec__mdark_8c_source.html#l00113">113</a> of file <a class="el" href="sinfo__rec__mdark_8c_source.html">sinfo_rec_mdark.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__rec__mflat.html b/html/group__sinfo__rec__mflat.html
deleted file mode 100644
index bc0ef8f..0000000
--- a/html/group__sinfo__rec__mflat.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to compute master flat</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Recipe to compute master flat</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__rec__mflat.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693">cpl_plugin_get_info</a> (cpl_pluginlist *list)</td></tr>
-<tr class="memdesc:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="mdescLeft"> </td><td class="mdescRight">Build the list of available plugins, for this module. <a href="#ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<p>TBD </p>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int cpl_plugin_get_info </td>
- <td>(</td>
- <td class="paramtype">cpl_pluginlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Build the list of available plugins, for this module. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>the plugin list </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if everything is ok, -1 otherwise</dd></dl>
-<p>Create the recipe instance and make it available to the application using the interface. This function is exported. </p>
-
-<p>Definition at line <a class="el" href="sinfo__rec__mflat_8c_source.html#l00113">113</a> of file <a class="el" href="sinfo__rec__mflat_8c_source.html">sinfo_rec_mflat.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__rec__objnod.html b/html/group__sinfo__rec__objnod.html
deleted file mode 100644
index a447e9f..0000000
--- a/html/group__sinfo__rec__objnod.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to reduce science data</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Recipe to reduce science data</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__rec__objnod.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693">cpl_plugin_get_info</a> (cpl_pluginlist *list)</td></tr>
-<tr class="memdesc:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="mdescLeft"> </td><td class="mdescRight">Build the list of available plugins, for this module. <a href="#ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int cpl_plugin_get_info </td>
- <td>(</td>
- <td class="paramtype">cpl_pluginlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Build the list of available plugins, for this module. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>the plugin list </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if everything is ok, -1 otherwise</dd></dl>
-<p>Create the recipe instance and make it available to the application using the interface. This function is exported. </p>
-
-<p>Definition at line <a class="el" href="sinfo__rec__objnod_8c_source.html#l00147">147</a> of file <a class="el" href="sinfo__rec__objnod_8c_source.html">sinfo_rec_objnod.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__rec__psf.html b/html/group__sinfo__rec__psf.html
deleted file mode 100644
index 457003b..0000000
--- a/html/group__sinfo__rec__psf.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to reduce PSF standard star data</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Recipe to reduce PSF standard star data</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__rec__psf.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693">cpl_plugin_get_info</a> (cpl_pluginlist *list)</td></tr>
-<tr class="memdesc:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="mdescLeft"> </td><td class="mdescRight">Build the list of available plugins, for this module. <a href="#ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int cpl_plugin_get_info </td>
- <td>(</td>
- <td class="paramtype">cpl_pluginlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Build the list of available plugins, for this module. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>the plugin list </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if everything is ok, -1 otherwise</dd></dl>
-<p>Create the recipe instance and make it available to the application using the interface. This function is exported. </p>
-
-<p>Definition at line <a class="el" href="sinfo__rec__psf_8c_source.html#l00146">146</a> of file <a class="el" href="sinfo__rec__psf_8c_source.html">sinfo_rec_psf.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__rec__pupil.html b/html/group__sinfo__rec__pupil.html
deleted file mode 100644
index cee4a63..0000000
--- a/html/group__sinfo__rec__pupil.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to reduce pupil data</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Recipe to reduce pupil data</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__rec__pupil.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693">cpl_plugin_get_info</a> (cpl_pluginlist *list)</td></tr>
-<tr class="memdesc:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="mdescLeft"> </td><td class="mdescRight">Build the list of available plugins, for this module. <a href="#ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int cpl_plugin_get_info </td>
- <td>(</td>
- <td class="paramtype">cpl_pluginlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Build the list of available plugins, for this module. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>the plugin list </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if everything is ok, -1 otherwise</dd></dl>
-<p>Create the recipe instance and make it available to the application using the interface. This function is exported. </p>
-
-<p>Definition at line <a class="el" href="sinfo__rec__pupil_8c_source.html#l00137">137</a> of file <a class="el" href="sinfo__rec__pupil_8c_source.html">sinfo_rec_pupil.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__rec__stdstar.html b/html/group__sinfo__rec__stdstar.html
deleted file mode 100644
index 8219fd9..0000000
--- a/html/group__sinfo__rec__stdstar.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to reduce telluric standard star data</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Recipe to reduce telluric standard star data</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__rec__stdstar.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693">cpl_plugin_get_info</a> (cpl_pluginlist *list)</td></tr>
-<tr class="memdesc:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="mdescLeft"> </td><td class="mdescRight">Build the list of available plugins, for this module. <a href="#ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int cpl_plugin_get_info </td>
- <td>(</td>
- <td class="paramtype">cpl_pluginlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Build the list of available plugins, for this module. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>the plugin list </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if everything is ok, -1 otherwise</dd></dl>
-<p>Create the recipe instance and make it available to the application using the interface. This function is exported. </p>
-
-<p>Definition at line <a class="el" href="sinfo__rec__stdstar_8c_source.html#l00149">149</a> of file <a class="el" href="sinfo__rec__stdstar_8c_source.html">sinfo_rec_stdstar.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__rec__utils.html b/html/group__sinfo__rec__utils.html
deleted file mode 100644
index f6ba95e..0000000
--- a/html/group__sinfo__rec__utils.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe utilities</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Recipe utilities</div> </div>
-</div><!--header-->
-<div class="contents">
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__rec__wavecal.html b/html/group__sinfo__rec__wavecal.html
deleted file mode 100644
index b7fcddd..0000000
--- a/html/group__sinfo__rec__wavecal.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to reduce arc lamp data</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Recipe to reduce arc lamp data</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__rec__wavecal.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693">cpl_plugin_get_info</a> (cpl_pluginlist *list)</td></tr>
-<tr class="memdesc:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="mdescLeft"> </td><td class="mdescRight">Build the list of available plugins, for this module. <a href="#ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<p>TBD </p>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int cpl_plugin_get_info </td>
- <td>(</td>
- <td class="paramtype">cpl_pluginlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Build the list of available plugins, for this module. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>the plugin list </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if everything is ok, -1 otherwise</dd></dl>
-<p>Create the recipe instance and make it available to the application using the interface. This function is exported. </p>
-
-<p>Definition at line <a class="el" href="sinfo__rec__wavecal_8c_source.html#l00146">146</a> of file <a class="el" href="sinfo__rec__wavecal_8c_source.html">sinfo_rec_wavecal.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__recipes.html b/html/group__sinfo__recipes.html
deleted file mode 100644
index 64360ab..0000000
--- a/html/group__sinfo__recipes.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe utilities</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Recipe utilities</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__remove__crh__single.html b/html/group__sinfo__remove__crh__single.html
deleted file mode 100644
index e4be8d5..0000000
--- a/html/group__sinfo__remove__crh__single.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Remove Cosmic Rays single (sinfo_remove_crh_single)</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Remove Cosmic Rays single (sinfo_remove_crh_single)</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>Suppress Cosmic Rays by analysing on files </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__shift__images.html b/html/group__sinfo__shift__images.html
deleted file mode 100644
index 8046323..0000000
--- a/html/group__sinfo__shift__images.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Functions to shift images</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Functions to shift images</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__skycor__config.html b/html/group__sinfo__skycor__config.html
deleted file mode 100644
index ccfb3a0..0000000
--- a/html/group__sinfo__skycor__config.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Sky residuals corrections configuration</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Sky residuals corrections configuration</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>parameters</p>
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__spectrum__ops.html b/html/group__sinfo__spectrum__ops.html
deleted file mode 100644
index dd0110f..0000000
--- a/html/group__sinfo__spectrum__ops.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Operations on spectra</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Operations on spectra</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__step__distortion.html b/html/group__sinfo__step__distortion.html
deleted file mode 100644
index 7db33ac..0000000
--- a/html/group__sinfo__step__distortion.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to compute optical distortions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Recipe to compute optical distortions</div> </div>
-</div><!--header-->
-<div class="contents">
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__step__jitter.html b/html/group__sinfo__step__jitter.html
deleted file mode 100644
index 912de04..0000000
--- a/html/group__sinfo__step__jitter.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to reduce science, PSF or telluric standard data</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Recipe to reduce science, PSF or telluric standard data</div> </div>
-</div><!--header-->
-<div class="contents">
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__step__objnod.html b/html/group__sinfo__step__objnod.html
deleted file mode 100644
index d264487..0000000
--- a/html/group__sinfo__step__objnod.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to reduce science data</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Recipe to reduce science data</div> </div>
-</div><!--header-->
-<div class="contents">
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__step__psf.html b/html/group__sinfo__step__psf.html
deleted file mode 100644
index 0d4ad2e..0000000
--- a/html/group__sinfo__step__psf.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to reduce PSF data</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Recipe to reduce PSF data</div> </div>
-</div><!--header-->
-<div class="contents">
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__step__stdstar.html b/html/group__sinfo__step__stdstar.html
deleted file mode 100644
index 536e50b..0000000
--- a/html/group__sinfo__step__stdstar.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to reduce telluric standard data</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Recipe to reduce telluric standard data</div> </div>
-</div><!--header-->
-<div class="contents">
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__tilt__cfg.html b/html/group__sinfo__tilt__cfg.html
deleted file mode 100644
index ad4ec55..0000000
--- a/html/group__sinfo__tilt__cfg.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: tilt computation</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">tilt computation</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__time.html b/html/group__sinfo__time.html
deleted file mode 100644
index c5559e5..0000000
--- a/html/group__sinfo__time.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Get date/time, possibly in ISO8601 format</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Get date/time, possibly in ISO8601 format</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>This module contains various utilities to get the current date/time, and possibly format it according to the ISO 8601 format. </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__tpl__dfs.html b/html/group__sinfo__tpl__dfs.html
deleted file mode 100644
index c2c393c..0000000
--- a/html/group__sinfo__tpl__dfs.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: DFS related functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">DFS related functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__tpl__utils.html b/html/group__sinfo__tpl__utils.html
deleted file mode 100644
index 272b781..0000000
--- a/html/group__sinfo__tpl__utils.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Miscellaneous Utilities</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Miscellaneous Utilities</div> </div>
-</div><!--header-->
-<div class="contents">
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__utilities.html b/html/group__sinfo__utilities.html
deleted file mode 100644
index c0a4ac3..0000000
--- a/html/group__sinfo__utilities.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: utilities</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">utilities</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__utils.html b/html/group__sinfo__utils.html
deleted file mode 100644
index d01aad9..0000000
--- a/html/group__sinfo__utils.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Utility functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Utility functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>This module contains various functions that are shared between multiple recipes </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__utils__wrappers.html b/html/group__sinfo__utils__wrappers.html
deleted file mode 100644
index 429e7d6..0000000
--- a/html/group__sinfo__utils__wrappers.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Utility functions (wrappers)</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Utility functions (wrappers)</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>This module contains wrapper functions, convenience functions and simple extensions of CPL functions. </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__utl__bp__mask__add.html b/html/group__sinfo__utl__bp__mask__add.html
deleted file mode 100644
index c51e97d..0000000
--- a/html/group__sinfo__utl__bp__mask__add.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to coadd bad pixel masks</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Recipe to coadd bad pixel masks</div> </div>
-</div><!--header-->
-<div class="contents">
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__utl__cube2ima.html b/html/group__sinfo__utl__cube2ima.html
deleted file mode 100644
index 897d6ac..0000000
--- a/html/group__sinfo__utl__cube2ima.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to collapse a cube in an image</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Recipe to collapse a cube in an image</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__utl__cube2ima.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693">cpl_plugin_get_info</a> (cpl_pluginlist *list)</td></tr>
-<tr class="memdesc:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="mdescLeft"> </td><td class="mdescRight">Build the list of available plugins, for this module. <a href="#ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<p>TBD </p>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int cpl_plugin_get_info </td>
- <td>(</td>
- <td class="paramtype">cpl_pluginlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Build the list of available plugins, for this module. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>the plugin list </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if everything is ok</dd></dl>
-<p>This function is exported. </p>
-
-<p>Definition at line <a class="el" href="recipes_2sinfo__utl__cube2ima_8c_source.html#l00088">88</a> of file <a class="el" href="recipes_2sinfo__utl__cube2ima_8c_source.html">recipes/sinfo_utl_cube2ima.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__utl__cube2spectrum.html b/html/group__sinfo__utl__cube2spectrum.html
deleted file mode 100644
index 3be60f0..0000000
--- a/html/group__sinfo__utl__cube2spectrum.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to collapse a cube in a spectrum</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Recipe to collapse a cube in a spectrum</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__utl__cube2spectrum.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693">cpl_plugin_get_info</a> (cpl_pluginlist *list)</td></tr>
-<tr class="memdesc:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="mdescLeft"> </td><td class="mdescRight">Build the list of available plugins, for this module. <a href="#ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<p>TBD </p>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int cpl_plugin_get_info </td>
- <td>(</td>
- <td class="paramtype">cpl_pluginlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Build the list of available plugins, for this module. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>the plugin list </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if everything is ok</dd></dl>
-<p>This function is exported. </p>
-
-<p>Definition at line <a class="el" href="recipes_2sinfo__utl__cube2spectrum_8c_source.html#l00090">90</a> of file <a class="el" href="recipes_2sinfo__utl__cube2spectrum_8c_source.html">recipes/sinfo_utl_cube2spectrum.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__utl__cube__arith.html b/html/group__sinfo__utl__cube__arith.html
deleted file mode 100644
index 6340060..0000000
--- a/html/group__sinfo__utl__cube__arith.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe for cube arithmetics</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Recipe for cube arithmetics</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__utl__cube__arith.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693">cpl_plugin_get_info</a> (cpl_pluginlist *list)</td></tr>
-<tr class="memdesc:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="mdescLeft"> </td><td class="mdescRight">Build the list of available plugins, for this module. <a href="#ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<p>TBD </p>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int cpl_plugin_get_info </td>
- <td>(</td>
- <td class="paramtype">cpl_pluginlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Build the list of available plugins, for this module. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>the plugin list </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if everything is ok</dd></dl>
-<p>This function is exported. </p>
-
-<p>Definition at line <a class="el" href="recipes_2sinfo__utl__cube__arith_8c_source.html#l00101">101</a> of file <a class="el" href="recipes_2sinfo__utl__cube__arith_8c_source.html">recipes/sinfo_utl_cube_arith.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__utl__cube__combine.html b/html/group__sinfo__utl__cube__combine.html
deleted file mode 100644
index 0dbbae1..0000000
--- a/html/group__sinfo__utl__cube__combine.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to coadd cubes</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Recipe to coadd cubes</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__utl__cube__combine.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693">cpl_plugin_get_info</a> (cpl_pluginlist *list)</td></tr>
-<tr class="memdesc:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="mdescLeft"> </td><td class="mdescRight">Build the list of available plugins, for this module. <a href="#ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<p>TBD </p>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int cpl_plugin_get_info </td>
- <td>(</td>
- <td class="paramtype">cpl_pluginlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Build the list of available plugins, for this module. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>the plugin list </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if everything is ok</dd></dl>
-<p>This function is exported. </p>
-
-<p>Definition at line <a class="el" href="recipes_2sinfo__utl__cube__combine_8c_source.html#l00094">94</a> of file <a class="el" href="recipes_2sinfo__utl__cube__combine_8c_source.html">recipes/sinfo_utl_cube_combine.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__utl__cube__create.html b/html/group__sinfo__utl__cube__create.html
deleted file mode 100644
index fa8abe1..0000000
--- a/html/group__sinfo__utl__cube__create.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to coadd cubes</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Recipe to coadd cubes</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__utl__cube__create.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693">cpl_plugin_get_info</a> (cpl_pluginlist *list)</td></tr>
-<tr class="memdesc:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="mdescLeft"> </td><td class="mdescRight">Build the list of available plugins, for this module. <a href="#ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int cpl_plugin_get_info </td>
- <td>(</td>
- <td class="paramtype">cpl_pluginlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Build the list of available plugins, for this module. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>the plugin list </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if everything is ok</dd></dl>
-<p>This function is exported. </p>
-
-<p>Definition at line <a class="el" href="sinfo__utl__cube__create_8c_source.html#l00104">104</a> of file <a class="el" href="sinfo__utl__cube__create_8c_source.html">sinfo_utl_cube_create.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__utl__cube__test.html b/html/group__sinfo__utl__cube__test.html
deleted file mode 100644
index 8eb6a78..0000000
--- a/html/group__sinfo__utl__cube__test.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to test cube operations</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Recipe to test cube operations</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__utl__cube__test.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693">cpl_plugin_get_info</a> (cpl_pluginlist *list)</td></tr>
-<tr class="memdesc:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="mdescLeft"> </td><td class="mdescRight">Build the list of available plugins, for this module. <a href="#ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int cpl_plugin_get_info </td>
- <td>(</td>
- <td class="paramtype">cpl_pluginlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Build the list of available plugins, for this module. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>the plugin list </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if everything is ok</dd></dl>
-<p>This function is exported. </p>
-
-<p>Definition at line <a class="el" href="sinfo__utl__cube__test_8c_source.html#l00088">88</a> of file <a class="el" href="sinfo__utl__cube__test_8c_source.html">sinfo_utl_cube_test.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__utl__eff.html b/html/group__sinfo__utl__eff.html
deleted file mode 100644
index daffcf5..0000000
--- a/html/group__sinfo__utl__eff.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to do operations on an image</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Recipe to do operations on an image</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__utl__eff.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693">cpl_plugin_get_info</a> (cpl_pluginlist *list)</td></tr>
-<tr class="memdesc:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="mdescLeft"> </td><td class="mdescRight">Build the list of available plugins, for this module. <a href="#ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int cpl_plugin_get_info </td>
- <td>(</td>
- <td class="paramtype">cpl_pluginlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Build the list of available plugins, for this module. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>the plugin list </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if everything is ok</dd></dl>
-<p>This function is exported. </p>
-
-<p>Definition at line <a class="el" href="sinfo__utl__eff_8c_source.html#l00116">116</a> of file <a class="el" href="sinfo__utl__eff_8c_source.html">sinfo_utl_eff.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__utl__illumcorr.html b/html/group__sinfo__utl__illumcorr.html
deleted file mode 100644
index dfa5416..0000000
--- a/html/group__sinfo__utl__illumcorr.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to correct for slitlet illumination</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Recipe to correct for slitlet illumination</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>disomogeneities </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__utl__ima__arith.html b/html/group__sinfo__utl__ima__arith.html
deleted file mode 100644
index 760127c..0000000
--- a/html/group__sinfo__utl__ima__arith.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to do operations on an image</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Recipe to do operations on an image</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__utl__ima__arith.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693">cpl_plugin_get_info</a> (cpl_pluginlist *list)</td></tr>
-<tr class="memdesc:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="mdescLeft"> </td><td class="mdescRight">Build the list of available plugins, for this module. <a href="#ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int cpl_plugin_get_info </td>
- <td>(</td>
- <td class="paramtype">cpl_pluginlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Build the list of available plugins, for this module. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>the plugin list </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if everything is ok</dd></dl>
-<p>This function is exported. </p>
-
-<p>Definition at line <a class="el" href="sinfo__utl__ima__arith_8c_source.html#l00097">97</a> of file <a class="el" href="sinfo__utl__ima__arith_8c_source.html">sinfo_utl_ima_arith.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__utl__ima__cube__ks__test.html b/html/group__sinfo__utl__ima__cube__ks__test.html
deleted file mode 100644
index ed5722b..0000000
--- a/html/group__sinfo__utl__ima__cube__ks__test.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to do operations on an image</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Recipe to do operations on an image</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__utl__ima__cube__ks__test.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693">cpl_plugin_get_info</a> (cpl_pluginlist *list)</td></tr>
-<tr class="memdesc:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="mdescLeft"> </td><td class="mdescRight">Build the list of available plugins, for this module. <a href="#ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int cpl_plugin_get_info </td>
- <td>(</td>
- <td class="paramtype">cpl_pluginlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Build the list of available plugins, for this module. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>the plugin list </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if everything is ok</dd></dl>
-<p>This function is exported. </p>
-
-<p>Definition at line <a class="el" href="sinfo__utl__ima__cube__ks__test_8c_source.html#l00170">170</a> of file <a class="el" href="sinfo__utl__ima__cube__ks__test_8c_source.html">sinfo_utl_ima_cube_ks_test.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__utl__ima__gauss.html b/html/group__sinfo__utl__ima__gauss.html
deleted file mode 100644
index 06d1d3f..0000000
--- a/html/group__sinfo__utl__ima__gauss.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to do operations on an image</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Recipe to do operations on an image</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__utl__ima__gauss.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693">cpl_plugin_get_info</a> (cpl_pluginlist *list)</td></tr>
-<tr class="memdesc:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="mdescLeft"> </td><td class="mdescRight">Build the list of available plugins, for this module. <a href="#ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int cpl_plugin_get_info </td>
- <td>(</td>
- <td class="paramtype">cpl_pluginlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Build the list of available plugins, for this module. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>the plugin list </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if everything is ok</dd></dl>
-<p>This function is exported. </p>
-
-<p>Definition at line <a class="el" href="sinfo__utl__ima__gauss_8c_source.html#l00103">103</a> of file <a class="el" href="sinfo__utl__ima__gauss_8c_source.html">sinfo_utl_ima_gauss.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__utl__ima__line__corr.html b/html/group__sinfo__utl__ima__line__corr.html
deleted file mode 100644
index afdf614..0000000
--- a/html/group__sinfo__utl__ima__line__corr.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to do operations on an image</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Recipe to do operations on an image</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__utl__ima__line__corr.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693">cpl_plugin_get_info</a> (cpl_pluginlist *list)</td></tr>
-<tr class="memdesc:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="mdescLeft"> </td><td class="mdescRight">Build the list of available plugins, for this module. <a href="#ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int cpl_plugin_get_info </td>
- <td>(</td>
- <td class="paramtype">cpl_pluginlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Build the list of available plugins, for this module. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>the plugin list </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if everything is ok</dd></dl>
-<p>This function is exported. </p>
-
-<p>Definition at line <a class="el" href="sinfo__utl__ima__line__corr_8c_source.html#l00096">96</a> of file <a class="el" href="sinfo__utl__ima__line__corr_8c_source.html">sinfo_utl_ima_line_corr.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__utl__remove__crh__single.html b/html/group__sinfo__utl__remove__crh__single.html
deleted file mode 100644
index 40f7f53..0000000
--- a/html/group__sinfo__utl__remove__crh__single.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to remove CRHs from an image</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Recipe to remove CRHs from an image</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__utl__remove__crh__single.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693">cpl_plugin_get_info</a> (cpl_pluginlist *list)</td></tr>
-<tr class="memdesc:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="mdescLeft"> </td><td class="mdescRight">Build the list of available plugins, for this module. <a href="#ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int cpl_plugin_get_info </td>
- <td>(</td>
- <td class="paramtype">cpl_pluginlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Build the list of available plugins, for this module. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>the plugin list </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if everything is ok</dd></dl>
-<p>This function is exported. </p>
-
-<p>Definition at line <a class="el" href="sinfo__utl__remove__crh__single_8c_source.html#l00097">97</a> of file <a class="el" href="sinfo__utl__remove__crh__single_8c_source.html">sinfo_utl_remove_crh_single.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__utl__skycor.html b/html/group__sinfo__utl__skycor.html
deleted file mode 100644
index a22a6f2..0000000
--- a/html/group__sinfo__utl__skycor.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to correct sky residuals on science cubes</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Recipe to correct sky residuals on science cubes</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__utl__skycor.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693">cpl_plugin_get_info</a> (cpl_pluginlist *list)</td></tr>
-<tr class="memdesc:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="mdescLeft"> </td><td class="mdescRight">Build the list of available plugins, for this module. <a href="#ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int cpl_plugin_get_info </td>
- <td>(</td>
- <td class="paramtype">cpl_pluginlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Build the list of available plugins, for this module. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>the plugin list </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if everything is ok</dd></dl>
-<p>This function is exported. </p>
-
-<p>Definition at line <a class="el" href="sinfo__utl__skycor_8c_source.html#l00091">91</a> of file <a class="el" href="sinfo__utl__skycor_8c_source.html">sinfo_utl_skycor.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__utl__skymap.html b/html/group__sinfo__utl__skymap.html
deleted file mode 100644
index e295e86..0000000
--- a/html/group__sinfo__utl__skymap.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to generate a sky map for SINFONI SRTD</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Recipe to generate a sky map for SINFONI SRTD</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__utl__skymap.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693">cpl_plugin_get_info</a> (cpl_pluginlist *list)</td></tr>
-<tr class="memdesc:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="mdescLeft"> </td><td class="mdescRight">Build the list of available plugins, for this module. <a href="#ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int cpl_plugin_get_info </td>
- <td>(</td>
- <td class="paramtype">cpl_pluginlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Build the list of available plugins, for this module. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>the plugin list </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if everything is ok</dd></dl>
-<p>This function is exported. </p>
-
-<p>Definition at line <a class="el" href="sinfo__utl__skymap_8c_source.html#l00092">92</a> of file <a class="el" href="sinfo__utl__skymap_8c_source.html">sinfo_utl_skymap.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__utl__spectrum__divide__by__blackbody.html b/html/group__sinfo__utl__spectrum__divide__by__blackbody.html
deleted file mode 100644
index e30bc82..0000000
--- a/html/group__sinfo__utl__spectrum__divide__by__blackbody.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to correct a spectrum from the blackbody thermal emission</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Recipe to correct a spectrum from the blackbody thermal emission</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__utl__spectrum__divide__by__blackbody.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693">cpl_plugin_get_info</a> (cpl_pluginlist *list)</td></tr>
-<tr class="memdesc:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="mdescLeft"> </td><td class="mdescRight">Build the list of available plugins, for this module. <a href="#ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<p>TBD </p>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int cpl_plugin_get_info </td>
- <td>(</td>
- <td class="paramtype">cpl_pluginlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Build the list of available plugins, for this module. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>the plugin list </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if everything is ok</dd></dl>
-<p>This function is exported. </p>
-
-<p>Definition at line <a class="el" href="recipes_2sinfo__utl__spectrum__divide__by__blackbody_8c_source.html#l00097">97</a> of file <a class="el" href="recipes_2sinfo__utl__spectrum__divide__by__blackbody_8c_source.html">recipes/sinfo_utl_spectrum_divide_by_blackbody.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__utl__spectrum__wavelength__shift.html b/html/group__sinfo__utl__spectrum__wavelength__shift.html
deleted file mode 100644
index 3f1d8c1..0000000
--- a/html/group__sinfo__utl__spectrum__wavelength__shift.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to shift a spectrum in wavelength</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Recipe to shift a spectrum in wavelength</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__utl__spectrum__wavelength__shift.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693">cpl_plugin_get_info</a> (cpl_pluginlist *list)</td></tr>
-<tr class="memdesc:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="mdescLeft"> </td><td class="mdescRight">Build the list of available plugins, for this module. <a href="#ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<p>TBD </p>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int cpl_plugin_get_info </td>
- <td>(</td>
- <td class="paramtype">cpl_pluginlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Build the list of available plugins, for this module. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>the plugin list </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if everything is ok</dd></dl>
-<p>This function is exported. </p>
-
-<p>Definition at line <a class="el" href="recipes_2sinfo__utl__spectrum__wavelength__shift_8c_source.html#l00097">97</a> of file <a class="el" href="recipes_2sinfo__utl__spectrum__wavelength__shift_8c_source.html">recipes/sinfo_utl_spectrum_wavelength_shift.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__utl__stdstars.html b/html/group__sinfo__utl__stdstars.html
deleted file mode 100644
index 4bd84aa..0000000
--- a/html/group__sinfo__utl__stdstars.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to generate standard stars catalogs</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Recipe to generate standard stars catalogs</div> </div>
-</div><!--header-->
-<div class="contents">
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__utl__table__ex.html b/html/group__sinfo__utl__table__ex.html
deleted file mode 100644
index b897302..0000000
--- a/html/group__sinfo__utl__table__ex.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Recipe to do operations on an image</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">Recipe to do operations on an image</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sinfo__utl__table__ex.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693">cpl_plugin_get_info</a> (cpl_pluginlist *list)</td></tr>
-<tr class="memdesc:ga31d1fccd4cd15b1c1f3c5edc8cb18693"><td class="mdescLeft"> </td><td class="mdescRight">Build the list of available plugins, for this module. <a href="#ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a><br/></td></tr>
-</table>
-<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ga31d1fccd4cd15b1c1f3c5edc8cb18693"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int cpl_plugin_get_info </td>
- <td>(</td>
- <td class="paramtype">cpl_pluginlist * </td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Build the list of available plugins, for this module. </p>
-<dl class="params"><dt>Parameters:</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>the plugin list </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns:</dt><dd>0 if everything is ok</dd></dl>
-<p>This function is exported. </p>
-
-<p>Definition at line <a class="el" href="sinfo__utl__table__ex_8c_source.html#l00101">101</a> of file <a class="el" href="sinfo__utl__table__ex_8c_source.html">sinfo_utl_table_ex.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__sinfo__utl__table__test.html b/html/group__sinfo__utl__table__test.html
deleted file mode 100644
index 1c6bb02..0000000
--- a/html/group__sinfo__utl__table__test.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Utility to test column table shift</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Utility to test column table shift</div> </div>
-</div><!--header-->
-<div class="contents">
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__spiffi__general__config.html b/html/group__spiffi__general__config.html
deleted file mode 100644
index e934d77..0000000
--- a/html/group__spiffi__general__config.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: General configuration parameters</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">General configuration parameters</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>TBD </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/index.html b/html/index.html
deleted file mode 100644
index 00c06b9..0000000
--- a/html/index.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Main Page</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">SINFONI Pipeline Reference Manual Documentation</div> </div>
-</div><!--header-->
-<div class="contents">
-<ul><li><a href="index.html"><span>Main Page</span></a>
-</li><li><a href="modules.html"><span>Modules</span></a>
-</li><li><a href="files.html"><span>Files</span></a>
-<ul><li><a href="files.html"><span>File List</span></a>
-</li></ul>
-</li></ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__calib_8c_source.html b/html/irplib__calib_8c_source.html
deleted file mode 100644
index e7c6246..0000000
--- a/html/irplib__calib_8c_source.html
+++ /dev/null
@@ -1,634 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_calib.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_calib.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_calib.c,v 1.19 2013/03/01 10:26:22 llundin Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: llundin $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2013/03/01 10:26:22 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.19 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "irplib_calib.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keyword">static</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> irplib_get_clean_mean_window(cpl_image* img, </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keyword">const</span> <span class="keywordtype">int</span> llx, </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keyword">const</span> <span class="keywordtype">int</span> lly, </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">const</span> <span class="keywordtype">int</span> urx, <span class="keywordtype">int</span> ury, </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">const</span> <span class="keywordtype">int</span> kappa, </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nclip, </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keywordtype">double</span>* clean_mean, </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keywordtype">double</span>* clean_stdev);</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#if defined CPL_VERSION_CODE && CPL_VERSION_CODE >= CPL_VERSION(6, 3, 0)</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_FRAMESET_GET cpl_frameset_get_position</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor"></span><span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor"></span><span class="comment">/* Remove this branch once CPL versions less than 6.3 are no longer supported */</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#define IRPLIB_FRAMESET_GET cpl_frameset_get_frame</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keyword">static</span> <span class="keywordtype">double</span> irplib_pfits_get_dit(<span class="keyword">const</span> cpl_propertylist * plist);</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keyword">static</span> <span class="keywordtype">double</span> irplib_pfits_get_exp_time(<span class="keyword">const</span> cpl_propertylist* plist);</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">static</span> <span class="keywordtype">double</span> irplib_pfits_get_dit(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> {</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"ESO DET DIT"</span>);</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> }</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keyword">static</span> <span class="keywordtype">double</span> irplib_pfits_get_exp_time(<span class="keyword">const</span> cpl_propertylist* plist)</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> {</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"EXPTIME"</span>);</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> }</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keyword">static</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> irplib_get_clean_mean_window(cpl_image* img, </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keyword">const</span> <span class="keywordtype">int</span> llx, </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keyword">const</span> <span class="keywordtype">int</span> lly, </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keyword">const</span> <span class="keywordtype">int</span> urx, <span class="keywordtype">int</span> ury, </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keyword">const</span> <span class="keywordtype">int</span> kappa, </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nclip, </div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">double</span>* clean_mean, </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">double</span>* clean_stdev)</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> {</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keywordtype">double</span> mean=0;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">double</span> stdev=0;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordtype">double</span> threshold=0;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordtype">double</span> lo_cut=0;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordtype">double</span> hi_cut=0;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> cpl_mask* mask=NULL;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> cpl_image* tmp=NULL;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> cpl_stats* stats=NULL;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> tmp=cpl_image_extract(img,llx,lly,urx,ury);</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> cpl_image_accept_all(tmp);</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordflow">for</span>(i=0;i<nclip;i++) {</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> cpl_stats_delete(stats);</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> stats = cpl_stats_new_from_image(tmp, CPL_STATS_MEAN | CPL_STATS_STDEV);</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> mean = cpl_stats_get_mean(stats);</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> stdev = cpl_stats_get_stdev(stats);</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> threshold=kappa*stdev;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> lo_cut=mean-threshold;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> hi_cut=mean+threshold;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> cpl_image_accept_all(tmp);</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> mask=cpl_mask_threshold_image_create(tmp,lo_cut,hi_cut);</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> cpl_mask_not(mask);</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> cpl_image_reject_from_mask(tmp,mask);</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> cpl_mask_delete(mask);</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> }</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> *clean_mean=mean;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> *clean_stdev=stdev;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> cpl_image_delete(tmp);</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> cpl_stats_delete(stats);</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> }</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> cpl_table* </div>
-<div class="line"><a name="l00191"></a><span class="lineno"><a class="code" href="group__irplib__calib.html#ga98c9970b59c6b7919f531829f6f5dab9"> 191</a></span> <a class="code" href="group__irplib__calib.html#ga98c9970b59c6b7919f531829f6f5dab9" title="Computes the detector's gain.">irplib_compute_gain</a>(</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> cpl_frameset* son, </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordtype">int</span>* zone, </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keyword">const</span> <span class="keywordtype">int</span> kappa,</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nclip)</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> {</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> cpl_frame* frm=NULL;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> cpl_image* img_on1=NULL;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> cpl_image* img_on2=NULL;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> cpl_image* img_on_dif=NULL;</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> cpl_image* img_of1=NULL;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> cpl_image* img_of2=NULL;</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> cpl_image* img_of_dif=NULL;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> cpl_table* res_tbl=NULL;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> cpl_vector* dit_on=NULL;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> cpl_vector* dit_of=NULL;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> cpl_vector* exptime_on=NULL;</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> cpl_vector* exptime_of=NULL;</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="keywordtype">int</span> non=0;</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keywordtype">int</span> nof=0;</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keywordtype">int</span> nfr=0;</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keywordtype">int</span> llx;</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordtype">int</span> lly;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keywordtype">int</span> urx;</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="keywordtype">int</span> ury;</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keywordtype">double</span> avg_on1=0;</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keywordtype">double</span> avg_on2=0;</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keywordtype">double</span> avg_of1=0;</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordtype">double</span> avg_of2=0;</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordtype">double</span> avg_on_dif=0;</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keywordtype">double</span> avg_of_dif=0;</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordtype">double</span> std=0;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordtype">double</span> sig_on_dif=0;</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordtype">double</span> sig_of_dif=0;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name=NULL;</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="keywordtype">int</span> m=0;</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordtype">double</span> gain=0;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordtype">double</span> dit_ref=0;</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordtype">double</span> dit_tmp=0;</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keywordtype">double</span> exptime_ref=0;</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordtype">double</span> exptime_tmp=0;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> non = cpl_frameset_get_size(son);</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> nof = cpl_frameset_get_size(sof);</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> nfr = (non <= nof) ? non : nof;</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> dit_on=cpl_vector_new(nfr);</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> dit_of=cpl_vector_new(nfr); </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> exptime_on=cpl_vector_new(nfr);</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> exptime_of=cpl_vector_new(nfr);</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordflow">for</span>(i=0;i<nfr;i++) {</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> frm=IRPLIB_FRAMESET_GET(son,i);</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> name=cpl_frame_get_filename(frm);</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> plist=cpl_propertylist_load(name,0);</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> dit_ref=irplib_pfits_get_dit(plist);</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> exptime_ref=(double)irplib_pfits_get_exp_time(plist);</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> cpl_propertylist_delete(plist);</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> cpl_vector_set(dit_on,i,dit_ref);</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> cpl_vector_set(exptime_on,i,exptime_ref);</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> frm=IRPLIB_FRAMESET_GET(sof,i);</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> name=cpl_frame_get_filename(frm);</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> plist=cpl_propertylist_load(name,0);</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> dit_ref=irplib_pfits_get_dit(plist);</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> exptime_ref=(double)irplib_pfits_get_exp_time(plist);</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> cpl_propertylist_delete(plist);</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> cpl_vector_set(dit_of,i,dit_ref);</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> cpl_vector_set(exptime_of,i,exptime_ref);</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> }</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> llx=zone[0];</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> lly=zone[1];</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> urx=zone[2];</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> ury=zone[3];</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> res_tbl=cpl_table_new(nfr);</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> cpl_table_new_column(res_tbl,<span class="stringliteral">"adu"</span>, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> cpl_table_new_column(res_tbl,<span class="stringliteral">"gain"</span>, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="keywordflow">for</span>(i=0;i<nfr;i++) {</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> frm=IRPLIB_FRAMESET_GET(son,i);</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> name=cpl_frame_get_filename(frm);</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> img_on1=cpl_image_load(name,CPL_TYPE_FLOAT,0,0);</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> frm=IRPLIB_FRAMESET_GET(sof,i);</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> name=cpl_frame_get_filename(frm);</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> img_of1=cpl_image_load(name,CPL_TYPE_FLOAT,0,0);</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> dit_ref=cpl_vector_get(dit_on,i);</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> exptime_ref=cpl_vector_get(exptime_on,i);</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keywordflow">for</span>(m=0;m<nfr; m++) {</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="keywordflow">if</span>(m != i) {</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> frm=IRPLIB_FRAMESET_GET(son,m);</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> name=cpl_frame_get_filename(frm);</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> dit_tmp=cpl_vector_get(dit_on,m);</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> exptime_tmp=cpl_vector_get(exptime_on,m);</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="keywordflow">if</span>(dit_tmp == dit_ref && exptime_tmp == exptime_ref) {</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> img_on2=cpl_image_load(name,CPL_TYPE_FLOAT,0,0);</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> frm=IRPLIB_FRAMESET_GET(sof,m);</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> name=cpl_frame_get_filename(frm);</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> img_of2=cpl_image_load(name,CPL_TYPE_FLOAT,0,0);</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> img_on_dif=cpl_image_subtract_create(img_on1,img_on2);</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> img_of_dif=cpl_image_subtract_create(img_of1,img_of2);</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> irplib_get_clean_mean_window(img_on1,llx,lly,urx,ury,kappa,</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> nclip,&avg_on1,&std);</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> irplib_get_clean_mean_window(img_on2,llx,lly,urx,ury,kappa,</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> nclip,&avg_on2,&std);</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> irplib_get_clean_mean_window(img_of1,llx,lly,urx,ury,kappa,</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> nclip,&avg_of1,&std);</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> irplib_get_clean_mean_window(img_of2,llx,lly,urx,ury,kappa,</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> nclip,&avg_of2,&std);</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> irplib_get_clean_mean_window(img_on_dif,llx,lly,urx,ury,kappa,</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> nclip,&avg_on_dif,&sig_on_dif);</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> irplib_get_clean_mean_window(img_of_dif,llx,lly,urx,ury,kappa,</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> nclip,&avg_of_dif,&sig_of_dif);</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> cpl_image_delete(img_on2);</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> cpl_image_delete(img_of2);</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> cpl_image_delete(img_on_dif);</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> cpl_image_delete(img_of_dif);</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> gain=((avg_on1+avg_on2)-(avg_of1+avg_of2))/</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> ((sig_on_dif*sig_on_dif)-(sig_of_dif*sig_of_dif));</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> cpl_table_set_double(res_tbl,<span class="stringliteral">"gain"</span>,m,gain);</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> cpl_table_set_double(res_tbl,<span class="stringliteral">"adu"</span>,m,</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> ((avg_on1+avg_on2)/2-(avg_of1+avg_of2)/2));</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> }</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> }</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> }</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> cpl_image_delete(img_on1);</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> cpl_image_delete(img_of1);</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> }</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> </div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> cpl_vector_delete(dit_on);</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> cpl_vector_delete(dit_of);</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> cpl_vector_delete(exptime_on);</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> cpl_vector_delete(exptime_of);</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="keywordflow">return</span> res_tbl;</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> </div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> }</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> </div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="comment">/* --------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> </div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div>
-<div class="line"><a name="l00372"></a><span class="lineno"><a class="code" href="group__irplib__calib.html#gadefee4e970a548c25bcbb42797778a2a"> 372</a></span> cpl_table* <a class="code" href="group__irplib__calib.html#gadefee4e970a548c25bcbb42797778a2a" title="Computes the detector's linearity.">irplib_compute_linearity</a>(cpl_frameset* son, cpl_frameset* sof)</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> {</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> </div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> cpl_frame* frm=NULL;</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="keywordtype">int</span>* status=0;</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="keywordtype">int</span> non=0;</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="keywordtype">int</span> nof=0;</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="keywordtype">int</span> nfr=0;</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="keywordtype">double</span> med_on=0;</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="keywordtype">double</span> avg_on=0;</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="keywordtype">double</span> med_of=0;</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="keywordtype">double</span> avg_of=0;</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="keywordtype">double</span> med_dit=0;</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="keywordtype">double</span> avg_dit=0;</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> </div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="keywordtype">double</span> med=0;</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="keywordtype">double</span> avg=0;</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> </div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name=NULL;</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> cpl_image* img=NULL;</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> cpl_vector* vec_adl=NULL;</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> cpl_vector* vec_dit=NULL;</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> cpl_vector* vec_avg=NULL;</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> cpl_vector* vec_med=NULL;</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> cpl_vector* vec_avg_dit=NULL;</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> cpl_vector* vec_med_dit=NULL;</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> </div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="keywordtype">double</span> dit=0;</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> cpl_table* lin_tbl=NULL;</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> </div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> </div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> non = cpl_frameset_get_size(son);</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> nof = cpl_frameset_get_size(sof);</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> nfr = (non <= nof) ? non : nof;</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> </div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> lin_tbl=cpl_table_new(nfr);</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> cpl_table_new_column(lin_tbl,<span class="stringliteral">"med"</span>, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> cpl_table_new_column(lin_tbl,<span class="stringliteral">"avg"</span>, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> cpl_table_new_column(lin_tbl,<span class="stringliteral">"med_dit"</span>, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> cpl_table_new_column(lin_tbl,<span class="stringliteral">"avg_dit"</span>, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> cpl_table_new_column(lin_tbl,<span class="stringliteral">"dit"</span>, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> vec_med=cpl_vector_new(nfr);</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> vec_avg=cpl_vector_new(nfr);</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> vec_med_dit=cpl_vector_new(nfr);</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> vec_avg_dit=cpl_vector_new(nfr);</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> vec_dit=cpl_vector_new(nfr);</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> vec_adl=cpl_vector_new(nfr);</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="keywordflow">for</span>(i=0;i<nfr;i++) {</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> frm=IRPLIB_FRAMESET_GET(son,i);</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> name=cpl_frame_get_filename(frm);</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> img=cpl_image_load(name,CPL_TYPE_FLOAT,0,0);</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> med_on=cpl_image_get_median(img);</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> avg_on=cpl_image_get_mean(img);</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> cpl_image_delete(img);</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> frm=IRPLIB_FRAMESET_GET(sof,i);</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> name=cpl_frame_get_filename(frm);</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> img=cpl_image_load(name,CPL_TYPE_FLOAT,0,0);</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> med_of=cpl_image_get_median(img);</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> avg_of=cpl_image_get_mean(img);</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> cpl_image_delete(img);</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> med=med_on-med_of;</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> avg=avg_on-avg_of;</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> plist=cpl_propertylist_load(name,0);</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> dit=(double)irplib_pfits_get_dit(plist);</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> cpl_propertylist_delete(plist);</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> avg_dit=avg/dit;</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> med_dit=med/dit;</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> </div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> cpl_vector_set(vec_dit,i,dit);</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> cpl_vector_set(vec_avg,i,avg);</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> cpl_vector_set(vec_med,i,med);</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> cpl_vector_set(vec_avg_dit,i,avg_dit);</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> cpl_vector_set(vec_med_dit,i,med_dit);</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> </div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> </div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> cpl_table_set_double(lin_tbl,<span class="stringliteral">"dit"</span>,i,dit);</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> cpl_table_set_double(lin_tbl,<span class="stringliteral">"med"</span>,i,med);</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> cpl_table_set_double(lin_tbl,<span class="stringliteral">"avg"</span>,i,avg);</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> cpl_table_set_double(lin_tbl,<span class="stringliteral">"med_dit"</span>,i,med_dit);</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> cpl_table_set_double(lin_tbl,<span class="stringliteral">"avg_dit"</span>,i,avg_dit);</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> </div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> }</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> cpl_table_new_column(lin_tbl,<span class="stringliteral">"adl"</span>, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> med_dit=cpl_vector_get_mean(vec_med_dit);</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> avg_dit=cpl_vector_get_mean(vec_avg_dit);</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> </div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <span class="keywordflow">for</span>(i=0;i<nfr;i++) {</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> dit = cpl_table_get_double(lin_tbl,<span class="stringliteral">"dit"</span>,i,status);</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> cpl_vector_set(vec_adl,i,dit*med_dit);</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> cpl_table_set_double(lin_tbl,<span class="stringliteral">"adl"</span>,i,dit*med_dit);</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> }</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> </div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> </div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> cpl_vector_delete(vec_dit);</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> cpl_vector_delete(vec_adl);</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> cpl_vector_delete(vec_avg);</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> cpl_vector_delete(vec_med);</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> cpl_vector_delete(vec_avg_dit);</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> cpl_vector_delete(vec_med_dit);</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> </div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> </div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="keywordflow">return</span> lin_tbl;</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> </div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> }</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> </div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> </div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00493"></a><span class="lineno"><a class="code" href="group__irplib__calib.html#gae9b762625dbd2c31c1b59cfd8c15fd90"> 493</a></span> <span class="keywordtype">int</span> <a class="code" href="group__irplib__calib.html#gae9b762625dbd2c31c1b59cfd8c15fd90" title="Apply the detector linearity correction.">irplib_detlin_correct</a>(</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> cpl_imagelist * ilist,</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * detlin_a,</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * detlin_b,</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * detlin_c)</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> {</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> cpl_image * ima ;</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> cpl_image * imb ;</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> cpl_image * imc ;</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="keywordtype">float</span> * pima ;</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="keywordtype">float</span> * pimb ;</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="keywordtype">float</span> * pimc ;</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="keywordtype">float</span> * pdata ;</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="keywordtype">int</span> nx, ny, ni ; </div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="keywordtype">double</span> coeff_1, coeff_2, val ;</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> <span class="keywordtype">int</span> i, j ;</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> </div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <span class="keywordflow">if</span> (!ilist || !detlin_a || !detlin_b || !detlin_c) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> </div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="comment">/* Load the 3 coeffs images */</span></div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> ima = cpl_image_load(detlin_a, CPL_TYPE_FLOAT, 0, 0) ;</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> imb = cpl_image_load(detlin_b, CPL_TYPE_FLOAT, 0, 0) ;</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> imc = cpl_image_load(detlin_c, CPL_TYPE_FLOAT, 0, 0) ;</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <span class="keywordflow">if</span> (!ima || !imb || !imc) {</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot load the detlin images"</span>) ;</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> <span class="keywordflow">if</span> (ima) cpl_image_delete(ima) ;</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> <span class="keywordflow">if</span> (imb) cpl_image_delete(imb) ;</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="keywordflow">if</span> (imc) cpl_image_delete(imc) ;</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> }</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> pima = cpl_image_get_data_float(ima) ;</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> pimb = cpl_image_get_data_float(imb) ;</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> pimc = cpl_image_get_data_float(imc) ;</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> </div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> <span class="comment">/* Test sizes */</span></div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> nx = cpl_image_get_size_x(cpl_imagelist_get(ilist, 0)) ;</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> ny = cpl_image_get_size_y(cpl_imagelist_get(ilist, 0)) ;</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> ni = cpl_imagelist_get_size(ilist) ;</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> <span class="keywordflow">if</span> ((cpl_image_get_size_x(ima) != nx) ||</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> (cpl_image_get_size_x(imb) != nx) ||</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> (cpl_image_get_size_x(imc) != nx) ||</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> (cpl_image_get_size_y(ima) != ny) ||</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> (cpl_image_get_size_y(imb) != ny) ||</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> (cpl_image_get_size_y(imc) != ny)) {</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Incompatible sizes"</span>) ;</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> cpl_image_delete(ima) ;</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> cpl_image_delete(imb) ;</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> cpl_image_delete(imc) ;</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> }</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> </div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> <span class="comment">/* Loop on pixels */</span></div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="keywordflow">for</span> (i=0 ; i<nx*ny ; i++) {</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="comment">/* Compute the coefficients */</span></div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <span class="keywordflow">if</span> (fabs(pima[i]) < 1e-30) {</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> coeff_1 = coeff_2 = (double)0.0 ;</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> coeff_1 = (double)pimb[i] / (<span class="keywordtype">double</span>)pima[i] ;</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> coeff_2 = (double)pimc[i] / (<span class="keywordtype">double</span>)pima[i] ;</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> }</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <span class="comment">/* Correct this pixel in each plane */</span></div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> <span class="keywordflow">for</span> (j=0 ; j<ni ; j++) {</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> pdata = cpl_image_get_data_float(cpl_imagelist_get(ilist, j)) ;</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> val = (double)pdata[i] ;</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> pdata[i]=(float)(val+coeff_1*val*val+coeff_2*val*val*val) ;</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> }</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> }</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="comment">/* Free and return */</span></div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> cpl_image_delete(ima) ;</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> cpl_image_delete(imb) ;</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> cpl_image_delete(imc) ;</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> }</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> </div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00578"></a><span class="lineno"><a class="code" href="group__irplib__calib.html#gae650a3e54e1aff329b1b5ee356bcdbde"> 578</a></span> <span class="keywordtype">int</span> <a class="code" href="group__irplib__calib.html#gae650a3e54e1aff329b1b5ee356bcdbde" title="Apply the calibration to the frames.">irplib_flat_dark_bpm_calib</a>(</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> cpl_imagelist * ilist,</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * flat,</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * dark,</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * bpm)</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> {</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> cpl_image * dark_image ;</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> cpl_image * flat_image ;</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> cpl_mask * bpm_im_bin ;</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> cpl_image * bpm_im_int ;</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> </div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> <span class="keywordflow">if</span> (ilist == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> </div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> <span class="comment">/* Dark correction */</span></div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> <span class="keywordflow">if</span> (dark != NULL) {</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> cpl_msg_info(cpl_func, <span class="stringliteral">"Subtract the dark to the images"</span>) ;</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> <span class="comment">/* Load the dark image */</span></div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="keywordflow">if</span> ((dark_image = cpl_image_load(dark, CPL_TYPE_FLOAT, 0, 0)) == NULL) {</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot load the dark %s"</span>, dark) ;</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> }</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="comment">/* Apply the dark correction to the images */</span></div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> <span class="keywordflow">if</span> (cpl_imagelist_subtract_image(ilist, dark_image)!=CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot apply the dark to the images"</span>) ;</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> cpl_image_delete(dark_image) ;</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> }</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> cpl_image_delete(dark_image) ;</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> }</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> </div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> <span class="comment">/* Flat-field correction */</span></div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> <span class="keywordflow">if</span> (flat != NULL) {</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> cpl_msg_info(cpl_func, <span class="stringliteral">"Divide the images by the flatfield"</span>) ;</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="comment">/* Load the flat image */</span></div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <span class="keywordflow">if</span> ((flat_image = cpl_image_load(flat, CPL_TYPE_FLOAT, 0, 0)) == NULL) {</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot load the flat field %s"</span>, flat) ;</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> }</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="comment">/* Apply the flatfield correction to the images */</span></div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="keywordflow">if</span> (cpl_imagelist_divide_image(ilist, flat_image)!=CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot apply the flatfield to the images"</span>) ;</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> cpl_image_delete(flat_image) ;</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> }</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> cpl_image_delete(flat_image) ;</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> }</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> </div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> <span class="comment">/* Correct the bad pixels if requested */</span></div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> <span class="keywordflow">if</span> (bpm != NULL) {</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> cpl_msg_info(cpl_func, <span class="stringliteral">"Correct the bad pixels in the images"</span>) ;</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="comment">/* Load the bad pixels image */</span></div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="keywordflow">if</span> ((bpm_im_int = cpl_image_load(bpm, CPL_TYPE_INT, 0, 0)) == NULL) {</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot load the bad pixel map %s"</span>, bpm) ;</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> }</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> <span class="comment">/* Convert the map from integer to binary */</span></div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> bpm_im_bin = cpl_mask_threshold_image_create(bpm_im_int, -0.5, 0.5) ;</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> cpl_mask_not(bpm_im_bin) ;</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> cpl_image_delete(bpm_im_int) ;</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> <span class="comment">/* Apply the bad pixels cleaning */</span></div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="keywordflow">for</span> (i=0 ; i<cpl_imagelist_get_size(ilist) ; i++) {</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> cpl_image_reject_from_mask(cpl_imagelist_get(ilist, i), bpm_im_bin);</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> <span class="keywordflow">if</span> (cpl_detector_interpolate_rejected(</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> cpl_imagelist_get(ilist, i)) != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot clean the bad pixels in obj %d"</span>,</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> i+1);</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> cpl_mask_delete(bpm_im_bin) ;</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> }</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> }</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> cpl_mask_delete(bpm_im_bin) ;</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> }</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> </div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> }</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__calib_8h_source.html b/html/irplib__calib_8h_source.html
deleted file mode 100644
index 235313d..0000000
--- a/html/irplib__calib_8h_source.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_calib.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_calib.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_calib.h,v 1.8 2007/02/12 10:34:51 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2007/02/12 10:34:51 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.8 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef IRPLIB_CALIB_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_CALIB_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> cpl_table*</div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <a class="code" href="group__irplib__calib.html#ga98c9970b59c6b7919f531829f6f5dab9" title="Computes the detector's gain.">irplib_compute_gain</a>(</div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> cpl_frameset* son, </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keywordtype">int</span>* zone1, </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keyword">const</span> <span class="keywordtype">int</span> kappa1,</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nclip1);</div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> cpl_table* <a class="code" href="group__irplib__calib.html#gadefee4e970a548c25bcbb42797778a2a" title="Computes the detector's linearity.">irplib_compute_linearity</a>(cpl_frameset* son, cpl_frameset* sof);</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keywordtype">int</span> <a class="code" href="group__irplib__calib.html#gae650a3e54e1aff329b1b5ee356bcdbde" title="Apply the calibration to the frames.">irplib_flat_dark_bpm_calib</a>(cpl_imagelist *, <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *);</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keywordtype">int</span> <a class="code" href="group__irplib__calib.html#gae9b762625dbd2c31c1b59cfd8c15fd90" title="Apply the detector linearity correction.">irplib_detlin_correct</a>(cpl_imagelist *, <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *);</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__cat_8c_source.html b/html/irplib__cat_8c_source.html
deleted file mode 100644
index 75a904a..0000000
--- a/html/irplib__cat_8c_source.html
+++ /dev/null
@@ -1,446 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_cat.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_cat.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_cat.c,v 1.10 2009/12/01 12:34:25 cgarcia Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: cgarcia $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2009/12/01 12:34:25 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.10 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <libgen.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "irplib_cat.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "irplib_wcs.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#define FILENAME_SZBUF 1024</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">int</span> <a class="code" href="group__irplib__cat.html#ga8dd2b5e6b7bc4a7ea3f2b275882aa200" title="Find the name of the standard catalogue being used and its location.">irplib_2mass_get_catpars</a></div>
-<div class="line"><a name="l00075"></a><span class="lineno"><a class="code" href="group__irplib__cat.html#ga8dd2b5e6b7bc4a7ea3f2b275882aa200"> 75</a></span> (<span class="keyword">const</span> cpl_frame * master_index,</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">char</span> ** catpath,</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">char</span> ** catname)</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> {</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> cpl_propertylist * p;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * unk = <span class="stringliteral">"unknown"</span>;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">char</span> * fname;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">int</span> status = CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">/* Initialise a few things */</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> *catpath = NULL;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> *catname = NULL;</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment">/* First get the full path to the index file and make sure it exists */</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> fname = cpl_strdup(cpl_frame_get_filename(master_index));</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordflow">if</span> (access((<span class="keyword">const</span> <span class="keywordtype">char</span> *)fname,R_OK) != 0)</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> {</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> cpl_msg_error(__func__,<span class="stringliteral">"Can't access index file %s"</span>,fname);</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> cpl_free(fname);</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">return</span> CPL_ERROR_FILE_IO;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> }</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> *catpath = cpl_strdup(dirname(fname));</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment">/* Try to load the propertylist. If it is not possible signal a fatal</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"> error since this probably means the whole file is messed up */</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keywordflow">if</span> ((p = cpl_propertylist_load(cpl_frame_get_filename(master_index),0)) == NULL)</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> {</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> cpl_msg_error(__func__,<span class="stringliteral">"Can't load index file header %s"</span>,fname);</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> cpl_free(*catpath);</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> cpl_free(fname);</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordflow">return</span> CPL_ERROR_FILE_IO;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> }</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment">/* If there is a catalogue name in the header then send it back. If there</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment"> isn't then give a default name and send a warning */</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordflow">if</span> (cpl_propertylist_has(p,<span class="stringliteral">"CATNAME"</span>))</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> {</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> *catname = cpl_strdup(cpl_propertylist_get_string(p,<span class="stringliteral">"CATNAME"</span>));</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> status = CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> *catname = cpl_strdup(unk);</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> cpl_msg_warning(__func__,<span class="stringliteral">"Property CATNAME not in index file header %s"</span>,</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> fname);</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> }</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment">/* Free and return */</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> cpl_free(fname);</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> cpl_propertylist_delete(p);</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordflow">return</span>(status);</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> }</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> cpl_error_code <a class="code" href="group__irplib__cat.html#ga2289fa88ec0498a2930291b1d51a46af" title="Get coverage in ra, dec of a frame.">irplib_cat_get_image_limits</a></div>
-<div class="line"><a name="l00154"></a><span class="lineno"><a class="code" href="group__irplib__cat.html#ga2289fa88ec0498a2930291b1d51a46af"> 154</a></span> (<span class="keyword">const</span> cpl_wcs * wcs,</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordtype">float</span> ext_search,</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordtype">double</span> * ra1,</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordtype">double</span> * ra2,</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordtype">double</span> * dec1,</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordtype">double</span> * dec2)</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> {</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keywordtype">double</span> ra;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordtype">double</span> dec;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordtype">double</span> x;</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="keywordtype">double</span> y;</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keywordtype">double</span> dra;</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordtype">double</span> ddec;</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordtype">double</span> min_4q;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordtype">double</span> max_1q;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keywordtype">int</span> first_quad;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordtype">int</span> fourth_quad;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keyword">const</span> <span class="keywordtype">int</span> * naxes;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordtype">long</span> i;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordtype">long</span> j;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keyword">const</span> cpl_array * a;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment">/* Initialise these in case of failure later*/</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> *ra1 = 0.0;</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> *ra2 = 0.0;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> *dec1 = 0.0;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> *dec2 = 0.0;</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment">/* Grab the WCS info from the property list */</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keywordflow">if</span> (wcs == NULL)</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">return</span> CPL_ERROR_DATA_NOT_FOUND;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment">/* Get the size of the data array */</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> a = cpl_wcs_get_image_dims(wcs);</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">if</span>(a == NULL)</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">return</span> CPL_ERROR_ILLEGAL_INPUT;</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> naxes = cpl_array_get_data_int_const(a);</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment">/* Find the RA and Dec limits of the image */</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> *ra1 = 370.0;</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> *ra2 = -370.0;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> *dec1 = 95.0;</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> *dec2 = -95.0;</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> first_quad = 0;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> fourth_quad = 0;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> min_4q = 370.0;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> max_1q = 0.0;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keywordflow">for</span> (j = 1; j < naxes[1]; j += 10) {</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> y = (double)j;</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keywordflow">for</span> (i = 1; i < naxes[0]; i += 10) {</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> x = (double)i;</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> irplib_wcs_xytoradec(wcs,x,y,&ra,&dec);</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keywordflow">if</span> (ra >= 0.0 && ra <= 90.0) {</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> first_quad = 1;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keywordflow">if</span>(ra > max_1q)</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> max_1q = ra;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ra >= 270.0 && ra <= 360.0) {</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> fourth_quad = 1;</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordflow">if</span>(ra - 360.0 < min_4q)</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> min_4q = ra - 360.0;</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> }</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keywordflow">if</span>(ra < *ra1)</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> *ra1 = ra;</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keywordflow">if</span>(ra > *ra2)</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> *ra2 = ra;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keywordflow">if</span>(dec < *dec1)</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> *dec1 = dec;</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keywordflow">if</span>(dec > *dec2)</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> *dec2 = dec;</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> }</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> }</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="comment">/* Now have a look to see if you had RA values in both the first and</span></div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="comment"> fourth quadrants. If you have, then make the minimum RA a negative</span></div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="comment"> value. This will be the signal to the caller that you have the</span></div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="comment"> wraparound... */</span></div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordflow">if</span> (first_quad && fourth_quad) {</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> *ra1 = min_4q;</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> *ra2 = max_1q;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> }</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="comment">/* Pad out search a bit */</span></div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordflow">if</span> (ext_search)</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> {</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> dra = 0.5*ext_search*(*ra2 - *ra1);</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> *ra1 -= dra;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> *ra2 += dra;</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> ddec = 0.5*ext_search*(*dec2 - *dec1);</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> *dec1 -= ddec;</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> *dec2 += ddec;</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> }</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="comment">/* Exit */</span></div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> }</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> cpl_table * <a class="code" href="group__irplib__cat.html#ga7fdafd757d33d4096270027912a89cf6" title="Extract standards from the 2mass catalogue.">irplib_2mass_extract</a></div>
-<div class="line"><a name="l00280"></a><span class="lineno"><a class="code" href="group__irplib__cat.html#ga7fdafd757d33d4096270027912a89cf6"> 280</a></span> (<span class="keywordtype">char</span> *path,</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="keywordtype">float</span> ramin,</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="keywordtype">float</span> ramax,</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keywordtype">float</span> decmin,</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="keywordtype">float</span> decmax)</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> {</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> cpl_table *t,*s;</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> cpl_table *out;</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="keywordtype">int</span> i,nrows,start,finish,first_index,last_index,irow,init,j;</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="keywordtype">int</span> first_index_ra,last_index_ra,wrap,iwrap;</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="keywordtype">float</span> dectest,ratest,ramin_wrap,ramax_wrap;</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="keywordtype">char</span> fullname[FILENAME_SZBUF];</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> cpl_array *a;</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *deccol[] = {<span class="stringliteral">"Dec"</span>};</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> cpl_propertylist *p;</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="comment">/* Create an output table */</span></div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> out = cpl_table_new(0);</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> init = 1;</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="comment">/* Create a cpl array */</span></div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="comment">/* deccol will NOT be modified */</span></div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> a = cpl_array_wrap_string((<span class="keywordtype">char</span> **)deccol,1);</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="comment">/* Is there a wrap around problem? */</span></div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> wrap = (ramin < 0.0 && ramax > 0.0) ? 2 : 1;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="comment">/* Loop for each query. If there is a wrap around problem then we need 2</span></div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="comment"> queries. If not, then we only need 1 */</span></div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> </div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="keywordflow">for</span> (iwrap = 0; iwrap < wrap; iwrap++) {</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="keywordflow">if</span> (wrap == 2) {</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="keywordflow">if</span> (iwrap == 0) {</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> ramin_wrap = ramin + 360.0;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> ramax_wrap = 360.0;</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> ramin_wrap = 0.000001;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> ramax_wrap = ramax;</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> }</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> ramin_wrap = ramin;</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> ramax_wrap = ramax;</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> }</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="comment">/* Find out where in the index to look */</span></div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> </div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> first_index_ra = (int)ramin_wrap;</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> last_index_ra = (int)ramax_wrap;</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="keywordflow">if</span>(last_index_ra > 359)</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> last_index_ra = 359;</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="comment">/* Look at the min and max RA and decide which files need to be</span></div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="comment"> opened. */</span></div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> </div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="keywordflow">for</span> (i = first_index_ra; i <= last_index_ra; i++)</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> {</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> </div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="comment">/* Ok, we've found one that needs opening. Read the file with</span></div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="comment"> the relevant CPL call */</span></div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> (void)snprintf(fullname,FILENAME_SZBUF,<span class="stringliteral">"%s/npsc%03d.fits"</span>,path,i);</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="comment">/* Read the propertylist so that you know how many rows there</span></div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="comment"> are in the table */</span></div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> </div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> p = cpl_propertylist_load(fullname,1);</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="keywordflow">if</span> (p == NULL)</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> {</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> cpl_error_set_message_macro(__func__,CPL_ERROR_DATA_NOT_FOUND,</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> __FILE__, __LINE__, <span class="stringliteral">"2mass file %s missing"</span>,fullname);</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> cpl_table_delete(out);</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> cpl_array_unwrap(a);</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="keywordflow">return</span>(NULL);</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> }</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> nrows = cpl_propertylist_get_int(p, <span class="stringliteral">"NAXIS2"</span>);</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> cpl_propertylist_delete(p);</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="comment">/* Load various rows until you find the Dec range that you</span></div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="comment"> have specified. First the minimum Dec */</span></div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> </div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> start = 0;</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> finish = nrows;</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> first_index = nrows/2;</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="keywordflow">while</span> (finish - start >= 2)</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> {</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> t = cpl_table_load_window(fullname, 1, 0, a, first_index, 1);</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> dectest = cpl_table_get_float(t, <span class="stringliteral">"Dec"</span>, 0, NULL);</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> cpl_table_delete(t);</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="keywordflow">if</span> (dectest < decmin)</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> {</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> start = first_index;</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> first_index = (first_index + finish)/2;</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> }</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> {</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> finish = first_index;</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> first_index = (first_index + start)/2;</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> }</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> }</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="comment">/* Load various rows until you find the Dec range that you</span></div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="comment"> have specified. Now the maximum Dec */</span></div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> start = first_index;</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> finish = nrows;</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> last_index = start + (finish - start)/2;</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keywordflow">while</span> (finish - start >= 2)</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> {</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> t = cpl_table_load_window(fullname, 1, 0, a, last_index, 1);</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> dectest = cpl_table_get_float(t, <span class="stringliteral">"Dec"</span>, 0, NULL);</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> cpl_table_delete(t);</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="keywordflow">if</span> (dectest < decmax)</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> {</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> start = last_index;</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> last_index = (last_index + finish)/2;</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> }</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> {</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> finish = last_index;</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> last_index = (last_index + start)/2;</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> }</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> }</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="keywordflow">if</span> (last_index < first_index)</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> last_index = first_index;</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="comment">/* Ok now now load all the rows in the relevant dec limits */</span></div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> </div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> nrows = last_index - first_index + 1;</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="keywordflow">if</span> ((t = cpl_table_load_window(fullname, 1, 0, NULL, first_index,</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> nrows)) == NULL)</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> {</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> cpl_error_set_message_macro(__func__,CPL_ERROR_DATA_NOT_FOUND,</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> __FILE__, __LINE__, <span class="stringliteral">"Error in subset of 2mass file %s "</span>,</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> fullname);</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> cpl_table_delete(out);</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> cpl_array_unwrap(a);</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="keywordflow">return</span> (NULL);</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> }</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> cpl_table_unselect_all(t);</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> </div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="comment">/* Right, we now know what range of rows to search. Go through</span></div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="comment"> these and pick the ones that are in the correct range of RA.</span></div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="comment"> If a row qualifies, then 'select' it. */</span></div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> </div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="keywordflow">for</span> (j = 0; j < nrows; j++)</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> {</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> ratest = cpl_table_get_float(t, <span class="stringliteral">"RA"</span>, j, NULL);</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE)</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> {</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> cpl_error_set_message_macro(__func__,CPL_ERROR_DATA_NOT_FOUND,</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> __FILE__, __LINE__, <span class="stringliteral">"No RA column in 2mass file %s"</span>,</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> fullname);</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> cpl_table_delete(t);</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> cpl_array_unwrap(a);</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> cpl_table_delete(out);</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <span class="keywordflow">return</span> (NULL);</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> }</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="keywordflow">if</span> (ratest >= ramin_wrap && ratest <= ramax_wrap)</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> cpl_table_select_row(t, j);</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> }</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> </div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="comment">/* Extract the rows that have been selected now and append them</span></div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="comment"> onto the output table */</span></div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> </div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> s = cpl_table_extract_selected(t);</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="keywordflow">if</span> (init == 1)</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> {</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> cpl_table_copy_structure(out, t);</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> init = 0;</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> }</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> irow = cpl_table_get_nrow(out) + 1;</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> cpl_table_insert(out, s, irow);</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> </div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="comment">/* Tidy up */</span></div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> </div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> cpl_table_delete(t);</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> cpl_table_delete(s);</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> }</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> }</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> </div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <span class="comment">/* Ok, now just return the table and get out of here */</span></div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> </div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> cpl_array_unwrap(a);</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="keywordflow">return</span>(out);</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__cat_8h_source.html b/html/irplib__cat_8h_source.html
deleted file mode 100644
index 00b83c9..0000000
--- a/html/irplib__cat_8h_source.html
+++ /dev/null
@@ -1,104 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_cat.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_cat.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_cat.h,v 1.5 2009/12/16 14:49:52 cgarcia Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: cgarcia $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2009/12/16 14:49:52 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.5 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef IRPLIB_CAT_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_CAT_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keywordtype">int</span> <a class="code" href="group__irplib__cat.html#ga8dd2b5e6b7bc4a7ea3f2b275882aa200" title="Find the name of the standard catalogue being used and its location.">irplib_2mass_get_catpars</a></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> (<span class="keyword">const</span> cpl_frame *master_index,</div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keywordtype">char</span> **catpath,</div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keywordtype">char</span> **catname);</div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> cpl_table * <a class="code" href="group__irplib__cat.html#ga7fdafd757d33d4096270027912a89cf6" title="Extract standards from the 2mass catalogue.">irplib_2mass_extract</a></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> (<span class="keywordtype">char</span> *path,</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keywordtype">float</span> ramin,</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keywordtype">float</span> ramax,</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keywordtype">float</span> decmin,</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keywordtype">float</span> decmax);</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> cpl_error_code <a class="code" href="group__irplib__cat.html#ga2289fa88ec0498a2930291b1d51a46af" title="Get coverage in ra, dec of a frame.">irplib_cat_get_image_limits</a></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> (<span class="keyword">const</span> cpl_wcs * wcs,</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">float</span> ext_search,</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">double</span> * ra1,</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">double</span> * ra2,</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">double</span> * dec1,</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">double</span> * dec2);</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__distortion_8c_source.html b/html/irplib__distortion_8c_source.html
deleted file mode 100644
index 475a520..0000000
--- a/html/irplib__distortion_8c_source.html
+++ /dev/null
@@ -1,1298 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_distortion.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_distortion.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_distortion.c,v 1.52 2013/01/29 08:43:33 jtaylor Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: jtaylor $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2013/01/29 08:43:33 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.52 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/* TEMPORARY SUPPORT OF CPL 5.x */</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#ifndef CPL_SIZE_FORMAT</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor"></span><span class="preprocessor">#define CPL_SIZE_FORMAT "d"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor"></span><span class="preprocessor">#define cpl_size int</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#if defined CPL_VERSION_CODE && CPL_VERSION_CODE <= CPL_VERSION(5, 92, 0)</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor"></span><span class="preprocessor">#define cpl_apertures_get_pos_x cpl_apertures_get_max_x</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">/* END TEMPORARY SUPPORT OF CPL 5.x */</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include "irplib_distortion.h"</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#include "irplib_flat.h"</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include "irplib_utils.h"</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include "irplib_polynomial.h"</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include <float.h></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> Define</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#define IRPLIB_MAX(A,B) ((A) > (B) ? (A) : (B))</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_MIN(A,B) ((A) < (B) ? (A) : (B))</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#define ARC_MINGOODPIX 100</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor"></span><span class="preprocessor">#define ARC_MINARCLENFACT 2.0</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor"></span><span class="preprocessor">#define ARC_MINNBARCS 4</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor"></span><span class="preprocessor">#define ARC_RANGE_FACT 3.0</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor"></span><span class="preprocessor">#define ARC_WINDOWSIZE 32</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor">#define TRESH_MEDIAN_MIN 0.0</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor"></span><span class="preprocessor">#define TRESH_SIGMA_MAX 200.0</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keyword">static</span> cpl_apertures * irplib_distortion_detect_arcs(cpl_image *,</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> cpl_image **, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">double</span>, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>);</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keyword">static</span> cpl_error_code irplib_distortion_fill_border(cpl_image *, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keyword">static</span> <span class="keywordtype">int</span> irplib_distortion_threshold1d(cpl_image *, <span class="keywordtype">double</span>, cpl_image *, </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">static</span> cpl_error_code irplib_distortion_purge_arcs(cpl_apertures **, cpl_image *,</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keyword">const</span> cpl_image *, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keyword">static</span> cpl_error_code irplib_distortion_fill_arc_positions(cpl_bivector *,</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> cpl_vector *,</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keyword">const</span> cpl_image *,</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keyword">const</span> cpl_image *,</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keyword">const</span> cpl_apertures *);</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keyword">static</span> <span class="keywordtype">double</span> irplib_distortion_get_row_centroid(<span class="keyword">const</span> cpl_image *,</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keyword">const</span> cpl_image *, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>);</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keyword">static</span> <span class="keywordtype">int</span> irplib_distortion_sub_hor_lowpass(cpl_image *, <span class="keywordtype">int</span>);</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keyword">static</span> cpl_image * irplib_distortion_remove_ramp(<span class="keyword">const</span> cpl_image *);</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keyword">static</span> cpl_error_code irplib_image_filter_background_line(cpl_image *,</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keyword">const</span> cpl_image *, <span class="keywordtype">int</span>, cpl_boolean) ;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keyword">static</span> cpl_error_code irplib_polynomial_fit_2d(cpl_polynomial *,</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keyword">const</span> cpl_bivector *,</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keyword">const</span> cpl_vector *, <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keywordtype">double</span>, <span class="keywordtype">double</span> *);</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keyword">static</span> cpl_matrix * irplib_matrix_product_normal_create(<span class="keyword">const</span> cpl_matrix *);</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> cpl_polynomial * irplib_distortion_estimate(</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keyword">const</span> cpl_image * org,</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keywordtype">int</span> xmin,</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordtype">int</span> ymin,</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordtype">int</span> xmax,</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordtype">int</span> ymax,</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordtype">int</span> auto_ramp_sub,</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordtype">int</span> arc_sat,</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keywordtype">int</span> max_arc_width,</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keywordtype">double</span> kappa,</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordtype">int</span> degree,</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> cpl_apertures ** arcs)</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> {</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> cpl_image * local_im;</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> cpl_image * filtered;</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> cpl_image * label_image;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordtype">double</span> rightmost, leftmost;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> cpl_bivector * grid;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> cpl_vector * values_to_fit;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keywordtype">int</span> n_arcs;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> cpl_polynomial * poly2d;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordtype">double</span> mse = 0.0;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nx = cpl_image_get_size_x(org);</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ny = cpl_image_get_size_y(org);</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_arc_range = (int)(nx / ARC_RANGE_FACT);</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment">/* Check entries */</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> cpl_ensure(org != NULL, CPL_ERROR_NULL_INPUT, NULL);</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> cpl_ensure(kappa >= 0.0, CPL_ERROR_ILLEGAL_INPUT, NULL);</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> cpl_ensure(max_arc_width > 0, CPL_ERROR_ILLEGAL_INPUT, NULL);</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment">/* The background may vary strongly along the vertical line. */</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment">/* Detect and rm background with a 1+2*max_arc_width x 1 median filter */</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> filtered = cpl_image_new(nx, ny, cpl_image_get_type(org));</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> irplib_image_filter_background_line(filtered, org, max_arc_width, CPL_TRUE);</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keywordflow">if</span> (auto_ramp_sub) {</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> local_im = irplib_distortion_remove_ramp(filtered);</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> cpl_image_delete(filtered);</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> local_im = filtered;</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> }</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> cpl_error_ensure(local_im != NULL, cpl_error_get_code(),</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keywordflow">return</span>(NULL), <span class="stringliteral">"Cannot clean the image"</span>);</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment">/* Detect the arcs in the input image */</span></div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> *arcs = irplib_distortion_detect_arcs(local_im, &label_image, arc_sat,</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> max_arc_width, kappa, xmin, ymin,</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> xmax, ymax);</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keywordflow">if</span> (*arcs == NULL) {</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> cpl_image_delete(local_im);</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> cpl_error_set_message(cpl_func, CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="stringliteral">"Cannot detect the arcs"</span>);</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> }</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> n_arcs = cpl_apertures_get_size(*arcs);</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> cpl_msg_info(cpl_func, <span class="stringliteral">"%d detected arcs"</span>, n_arcs);</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="comment">/* Check that the arcs are not concentrated in the same zone */</span></div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> rightmost = leftmost = cpl_apertures_get_pos_x(*arcs, 1);</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="keywordflow">for</span> (i=1; i<n_arcs; i++) {</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keywordflow">if</span> (cpl_apertures_get_pos_x(*arcs, i+1) < leftmost)</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> leftmost = cpl_apertures_get_pos_x(*arcs, i+1);</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keywordflow">if</span> (cpl_apertures_get_pos_x(*arcs, i+1) > rightmost)</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> rightmost = cpl_apertures_get_pos_x(*arcs, i+1);</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> }</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="keywordflow">if</span> ((<span class="keywordtype">int</span>)(rightmost-leftmost) < min_arc_range) {</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="preprocessor">#if defined CPL_HAVE_VA_ARGS && CPL_HAVE_VA_ARGS != 0</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="preprocessor"></span> cpl_error_set_message(cpl_func, CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="stringliteral">"too narrow range (%g-%g)<%d"</span>,</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> rightmost, leftmost, min_arc_range);</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="preprocessor"></span> cpl_error_set_message(cpl_func, CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="stringliteral">"too narrow range"</span>);</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="preprocessor"></span> cpl_apertures_delete(*arcs);</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> cpl_image_delete(local_im);</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> cpl_image_delete(label_image);</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> *arcs = NULL;</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> }</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="comment">/* Create a 2-D deformation grid with detected arcs */</span></div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> cpl_msg_info(cpl_func, <span class="stringliteral">"Create deformation grid"</span>);</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> grid = cpl_bivector_new(n_arcs * ny);</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> values_to_fit = cpl_vector_new(n_arcs * ny);</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="keywordflow">if</span> (irplib_distortion_fill_arc_positions(grid, values_to_fit, local_im,</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> label_image, *arcs)){</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> cpl_error_set_message(cpl_func, CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="stringliteral">"cannot get arcs positions"</span>);</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> cpl_apertures_delete(*arcs);</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> cpl_image_delete(local_im);</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> cpl_image_delete(label_image);</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> *arcs = NULL;</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> }</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> cpl_image_delete(label_image);</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> cpl_image_delete(local_im);</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="comment">/* Apply the fitting */</span></div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> poly2d = cpl_polynomial_new(2);</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keywordflow">if</span> (irplib_polynomial_fit_2d(poly2d, grid, values_to_fit, degree,</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> 0.5*(ny+1), &mse)) {</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> cpl_error_set_message(cpl_func, CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="stringliteral">"cannot apply the 2d fit"</span>);</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> cpl_bivector_delete(grid);</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> cpl_vector_delete(values_to_fit);</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> cpl_apertures_delete(*arcs);</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> *arcs = NULL;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> }</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> cpl_msg_info(cpl_func, </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="stringliteral">"Fitted a %d. degree 2D-polynomial to %"</span>CPL_SIZE_FORMAT<span class="stringliteral">" points "</span></div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="stringliteral">"with mean-square error: %g"</span>, degree,</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> cpl_vector_get_size(values_to_fit), mse);</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="comment">/* Free and return */</span></div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> cpl_bivector_delete(grid);</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> cpl_vector_delete(values_to_fit);</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keywordflow">return</span> poly2d;</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> }</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="keyword">static</span> cpl_apertures * irplib_distortion_detect_arcs(</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> cpl_image * im,</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> cpl_image ** label_im,</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keywordtype">int</span> arc_sat,</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="keywordtype">int</span> max_arc_width,</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="keywordtype">double</span> kappa,</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keywordtype">int</span> xmin,</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="keywordtype">int</span> ymin,</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="keywordtype">int</span> xmax,</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="keywordtype">int</span> ymax)</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> {</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ny = cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="comment">/* Set min_arclen */</span></div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_arclen = (int)(ny / ARC_MINARCLENFACT);</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> cpl_image * filt_im;</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> cpl_mask * filter;</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> cpl_image * collapsed;</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> cpl_mask * bin_im;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="keywordtype">double</span> threshold, fillval, median_val, sigma;</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> cpl_apertures * det;</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> cpl_size nobj;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="keywordtype">int</span> ngoodpix;</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> </div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="comment">/* Default values for output parameters */</span></div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> *label_im = NULL;</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="comment">/* Clear zones to be ignored (to avoid false detections) */</span></div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> median_val = cpl_image_get_median_dev(im, &sigma);</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> fillval = median_val-sigma/2.0;</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="keywordflow">if</span> (irplib_distortion_fill_border(im, xmin, ymin, xmax, ymax, fillval)) {</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> cpl_error_set_message(cpl_func, CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="stringliteral">"cannot fill bad zones"</span>);</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> }</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="comment">/* Subtract a low-pass */</span></div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> filt_im = cpl_image_duplicate(im);</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="keywordflow">if</span> (irplib_distortion_sub_hor_lowpass(filt_im, ARC_WINDOWSIZE) == -1) {</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> cpl_image_delete(filt_im);</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> }</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> </div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="comment">/* Get relevant stats for thresholding */</span></div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> median_val = cpl_image_get_median_dev(filt_im, &sigma);</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="comment">/* Correct median_val and sigma if necessary */</span></div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="keywordflow">if</span> (median_val < TRESH_MEDIAN_MIN) median_val = TRESH_MEDIAN_MIN;</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="keywordflow">if</span> (sigma > TRESH_SIGMA_MAX) sigma = TRESH_SIGMA_MAX;</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> </div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="comment">/* Set the threshold */</span></div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> threshold = median_val + sigma * kappa;</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> </div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="comment">/* Collapse the image */</span></div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> collapsed = cpl_image_collapse_median_create(filt_im, 0, 0, 0);</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="comment">/* Threshold to keep only the arcs - use of the collapsed image */</span></div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="keywordflow">if</span> (irplib_distortion_threshold1d(filt_im, median_val, collapsed, 0.0)==-1) {</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> cpl_error_set_message(cpl_func, CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="stringliteral">"cannot threshold the filtered image"</span>);</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> cpl_image_delete(filt_im);</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> cpl_image_delete(collapsed);</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> }</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> cpl_image_delete(collapsed);</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> </div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="comment">/* Binarize the image */</span></div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> bin_im = cpl_mask_threshold_image_create(filt_im, threshold, </div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> DBL_MAX);</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> cpl_image_delete(filt_im);</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="keywordflow">if</span> (bin_im == NULL) {</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> cpl_error_set_message(cpl_func, CPL_ERROR_DATA_NOT_FOUND,</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="stringliteral">"cannot binarise the image"</span>);</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> }</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="comment">/* Test if there are enough good pixels */</span></div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> ngoodpix = cpl_mask_count(bin_im);</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="keywordflow">if</span> (ngoodpix < ARC_MINGOODPIX) {</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="preprocessor">#if defined CPL_HAVE_VA_ARGS && CPL_HAVE_VA_ARGS != 0</span></div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="preprocessor"></span> cpl_error_set_message(cpl_func, CPL_ERROR_DATA_NOT_FOUND,</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="stringliteral">"Too few (%d) white pixels"</span>, ngoodpix);</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="preprocessor"></span> cpl_error_set_message(cpl_func, CPL_ERROR_DATA_NOT_FOUND,</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="stringliteral">"Too few white pixels"</span>);</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="preprocessor"></span> cpl_mask_delete(bin_im);</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> }</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> </div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="comment">/* Apply a morphological opening to clean the isolated pixels */</span></div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> filter = cpl_mask_new(3, 3);</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> cpl_mask_not(filter);</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> cpl_mask_filter(bin_im, bin_im, filter, CPL_FILTER_OPENING,</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> CPL_BORDER_ZERO);</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> cpl_mask_delete(filter);</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="comment">/* Labelize pixel map to a label image */</span></div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> *label_im = cpl_image_labelise_mask_create(bin_im, &nobj);</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> cpl_mask_delete(bin_im);</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> </div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="comment">/* Compute statistics on objects */</span></div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="keywordflow">if</span> ((det = cpl_apertures_new_from_image(im, *label_im)) == NULL) {</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> cpl_error_set_message(cpl_func, CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="stringliteral">"Cannot compute arcs stats"</span>);</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> cpl_image_delete(*label_im);</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> *label_im = NULL;</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> }</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="comment">/* Purge non-relevant arcs */</span></div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="keywordflow">if</span> (irplib_distortion_purge_arcs(&det, *label_im, im, min_arclen,</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> max_arc_width, arc_sat)) {</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> cpl_error_set_message(cpl_func, CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="stringliteral">"Cannot purge the arcs"</span>);</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> cpl_image_delete(*label_im);</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> *label_im = NULL;</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> cpl_apertures_delete(det);</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> }</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="keywordflow">if</span> (cpl_apertures_get_size(det) < ARC_MINNBARCS) {</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="preprocessor">#if defined CPL_HAVE_VA_ARGS && CPL_HAVE_VA_ARGS != 0</span></div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="preprocessor"></span> cpl_error_set_message(cpl_func, CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="stringliteral">"Not enough valid arcs (%"</span>CPL_SIZE_FORMAT<span class="stringliteral">" < %d)"</span>, </div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> cpl_apertures_get_size(det), ARC_MINNBARCS);</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="preprocessor"></span> cpl_error_set_message(cpl_func, CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="stringliteral">"Not enough valid arcs, min="</span></div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> IRPLIB_STRINGIFY(ARC_MINNBARCS));</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="preprocessor"></span> cpl_image_delete(*label_im);</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> *label_im = NULL;</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> cpl_apertures_delete(det);</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> }</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> </div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="keywordflow">return</span> det;</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> }</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> </div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="keyword">static</span> cpl_error_code irplib_distortion_fill_border(cpl_image * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="keywordtype">int</span> xmin,</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="keywordtype">int</span> ymin,</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <span class="keywordtype">int</span> xmax,</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="keywordtype">int</span> ymax,</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="keywordtype">double</span> fillval)</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> {</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nx = cpl_image_get_size_x(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ny = cpl_image_get_size_y(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="keywordtype">float</span> * pfi = cpl_image_get_data_float(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <span class="keyword">const</span> <span class="keywordtype">float</span> fvalue = (float)fillval;</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="keywordtype">int</span> i, j;</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> </div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> </div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> cpl_ensure_code(pfi != NULL, cpl_error_get_code());</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> </div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="comment">/* Ensure validity of pixel buffer access */</span></div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> xmin = IRPLIB_MIN(xmin, nx+1);</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> ymax = IRPLIB_MIN(ymax, ny);</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> </div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="comment">/* - and avoid double access */</span></div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> xmax = IRPLIB_MAX(xmax, xmin - 1);</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> ymin = IRPLIB_MIN(ymin, ymax + 1);</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> </div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="comment">/* Fill the zone */</span></div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> </div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="keywordflow">for</span> (j = 0; j < ymin-1; j++) {</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="keywordflow">for</span> (i = 0; i < nx; i++) {</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> pfi[i+j*nx] = fvalue;</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> }</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> }</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="comment">/* assert( j == IRPLIB_MAX(0, ymin-1) ); */</span></div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> </div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="keywordflow">for</span> (; j < ymax; j++) {</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="keywordflow">for</span> (i = 0; i < xmin-1; i++) {</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> pfi[i+j*nx] = fvalue;</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> }</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="keywordflow">for</span> (i = xmax; i < nx; i++) {</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> pfi[i+j*nx] = fvalue;</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> }</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> }</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="comment">/* assert( j == IRPLIB_MAX(0, ymax) ); */</span></div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> </div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="keywordflow">for</span> (; j < ny; j++) {</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="keywordflow">for</span> (i = 0; i < nx; i++) {</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> pfi[i+j*nx] = fvalue;</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> }</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> }</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> </div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> }</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> </div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="keyword">static</span> <span class="keywordtype">int</span> irplib_distortion_threshold1d(</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> cpl_image * im,</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="keywordtype">double</span> threshold,</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> cpl_image * im1d,</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="keywordtype">double</span> newval)</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> {</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="keywordtype">float</span> * pim;</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> <span class="keywordtype">float</span> * pim1d;</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="keywordtype">int</span> nx, ny;</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="keywordtype">int</span> i, j;</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> </div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="comment">/* Check entries */</span></div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="keywordflow">if</span> (im == NULL) <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> <span class="keywordflow">if</span> (im1d == NULL) <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> <span class="keywordflow">if</span> (cpl_image_get_type(im) != CPL_TYPE_FLOAT) <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="keywordflow">if</span> (cpl_image_get_type(im1d) != CPL_TYPE_FLOAT) <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> </div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> <span class="comment">/* Get access to the im / im1d data */</span></div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> pim = cpl_image_get_data_float(im);</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> pim1d = cpl_image_get_data_float(im1d);</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> nx = cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> ny = cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> </div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> <span class="comment">/* Apply the thresholding */</span></div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> <span class="keywordflow">for</span> (i=0; i<nx; i++)</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="keywordflow">if</span> (pim1d[i] < threshold) {</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="keywordflow">for</span> (j=0; j<ny; j++) pim[i+j*nx] = (<span class="keywordtype">float</span>)newval;</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> }</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> </div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> }</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> </div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> <span class="keyword">static</span> <span class="keywordtype">int</span> irplib_distortion_sub_hor_lowpass(</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> cpl_image * im, </div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="keywordtype">int</span> filt_size)</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> {</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> cpl_vector * linehi;</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> cpl_vector * linelo;</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> cpl_vector * avglinehi;</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> cpl_vector * avglinelo;</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> <span class="keywordtype">double</span> * pavglinehi;</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="keywordtype">float</span> * pim;</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> <span class="keywordtype">int</span> lopos, hipos, nx, ny;</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> <span class="keywordtype">int</span> i, j;</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> </div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <span class="keywordflow">if</span> (im == NULL) <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <span class="keywordflow">if</span> (filt_size <= 0) <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> </div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> <span class="comment">/* Initialise */</span></div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> nx = cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> ny = cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> lopos = (int)(ny/4);</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> hipos = (int)(3*ny/4);</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> </div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> <span class="comment">/* Get the vectors out of the image */</span></div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> <span class="keywordflow">if</span> ((linehi = cpl_vector_new_from_image_row(im, hipos)) == NULL) {</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> }</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="keywordflow">if</span> ((linelo = cpl_vector_new_from_image_row(im, lopos)) == NULL) {</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> cpl_vector_delete(linehi);</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> }</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> </div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <span class="comment">/* Filter the vectors */</span></div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <span class="keywordflow">if</span> ((avglinehi = cpl_vector_filter_median_create(linehi, </div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> filt_size)) == NULL) {</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> cpl_vector_delete(linehi);</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> cpl_vector_delete(linelo);</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> }</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> cpl_vector_delete(linehi);</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> </div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> <span class="keywordflow">if</span> ((avglinelo = cpl_vector_filter_median_create(linelo, </div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> filt_size)) == NULL) {</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> cpl_vector_delete(linelo);</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> cpl_vector_delete(avglinehi);</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> }</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> cpl_vector_delete(linelo);</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> </div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="comment">/* Average the filtered vectors to get the low freq signal */</span></div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> cpl_vector_add(avglinehi, avglinelo);</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> cpl_vector_delete(avglinelo);</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> cpl_vector_divide_scalar(avglinehi, 2.0);</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> </div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> <span class="comment">/* Subtract the low frequency signal */</span></div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> pavglinehi = cpl_vector_get_data(avglinehi);</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> pim = cpl_image_get_data_float(im);</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> <span class="keywordflow">for</span> (i=0; i<nx; i++) {</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="keywordflow">for</span> (j=0; j<ny; j++) {</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> pim[i+j*nx] -= pavglinehi[i];</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> }</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> }</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> cpl_vector_delete(avglinehi);</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> </div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> }</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> </div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="keyword">static</span></div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> cpl_error_code irplib_distortion_purge_arcs(cpl_apertures ** <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> cpl_image * lab_im,</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="keyword">const</span> cpl_image * arc_im,</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="keywordtype">int</span> min_arclen,</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="keywordtype">int</span> max_arcwidth,</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="keywordtype">double</span> arc_sat)</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> {</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> <span class="keyword">const</span> <span class="keywordtype">double</span> ycenter = 0.5 * (1 + cpl_image_get_size_y(arc_im));</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> <span class="keywordtype">int</span> narcs;</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <span class="keywordtype">int</span> nkeep = 0;</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> <span class="keywordtype">int</span> ifirst = 1;</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> <span class="keywordtype">int</span> * relabel;</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> </div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> <span class="comment">/* Check entries */</span></div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> </div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="comment">/* Get number of arcs */</span></div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> narcs = cpl_apertures_get_size(*<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> </div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> cpl_ensure_code(narcs > 0, CPL_ERROR_DATA_NOT_FOUND);</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> cpl_ensure_code(cpl_image_get_type(lab_im) == CPL_TYPE_INT,</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> </div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> <span class="comment">/* Allocate relabel array with default relabelling to zero */</span></div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> relabel = cpl_calloc(narcs, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>));</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> </div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> <span class="comment">/* Loop on the different arcs candidates */</span></div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> <span class="keywordflow">for</span> (i = 0; i < narcs; i++) {</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> <span class="comment">/* Test if the current object is a valid arc */</span></div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> <span class="keyword">const</span> <span class="keywordtype">int</span> arclen = 1</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> + cpl_apertures_get_top(*<span class="keyword">self</span>, i+1)</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> - cpl_apertures_get_bottom(*<span class="keyword">self</span>, i+1);</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> </div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> <span class="keywordflow">if</span> (cpl_apertures_get_top(*<span class="keyword">self</span>, i+1) < ycenter) <span class="keywordflow">continue</span>;</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> <span class="keywordflow">if</span> (cpl_apertures_get_bottom(*<span class="keyword">self</span>, i+1) > ycenter) <span class="keywordflow">continue</span>;</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> </div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <span class="keywordflow">if</span> (arclen > min_arclen) {</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> <span class="keyword">const</span> <span class="keywordtype">int</span> arcwidth = 1</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> + cpl_apertures_get_right(*<span class="keyword">self</span>, i+1)</div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> - cpl_apertures_get_left(*<span class="keyword">self</span>, i+1);</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> <span class="keywordflow">if</span> (arcwidth < max_arcwidth) {</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> <span class="keyword">const</span> <span class="keywordtype">int</span> edge = cpl_apertures_get_left_y(*<span class="keyword">self</span>, i+1);</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> <span class="keywordflow">if</span> (edge > 0) {</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> <span class="keyword">const</span> <span class="keywordtype">double</span> mean = cpl_apertures_get_mean(*<span class="keyword">self</span>, i+1);</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="keywordflow">if</span> (mean < arc_sat) {</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> relabel[i] = ++nkeep;</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> <span class="comment">/* Relabeling, if any, starts with ifirst */</span></div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> <span class="keywordflow">if</span> (nkeep == i+1) ifirst = nkeep;</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> }</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> }</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> }</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> }</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> }</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> </div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="keywordflow">if</span> (nkeep < narcs) {</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> <span class="comment">/* Update the labelised image by erasing non valid arcs */</span></div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> <span class="keywordtype">int</span> * plabim = cpl_image_get_data_int(lab_im);</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> <span class="keyword">const</span> <span class="keywordtype">int</span> npix = cpl_image_get_size_x(lab_im)</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> * cpl_image_get_size_y(lab_im);</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> </div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> <span class="keywordflow">if</span> (nkeep == 0) {</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> cpl_free(relabel);</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> <span class="preprocessor">#if defined CPL_HAVE_VA_ARGS && CPL_HAVE_VA_ARGS != 0</span></div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> <span class="preprocessor"></span> <span class="keywordflow">return</span> cpl_error_set_message(cpl_func, CPL_ERROR_DATA_NOT_FOUND,</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> <span class="stringliteral">"All %d arc(s) are invalid"</span>, narcs);</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> <span class="preprocessor"></span> <span class="keywordflow">return</span> cpl_error_set_message(cpl_func, CPL_ERROR_DATA_NOT_FOUND,</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> <span class="stringliteral">"All arcs are invalid"</span>);</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> <span class="preprocessor"></span> }</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> </div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> <span class="keywordflow">for</span> (i = 0; i < npix; i++) {</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> <span class="keyword">const</span> <span class="keywordtype">int</span> label = plabim[i];</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> </div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> <span class="keywordflow">if</span> (label < 0 || label > narcs) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> <span class="keywordflow">if</span> (label >= ifirst) plabim[i] = relabel[label-1];</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> }</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> </div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> <span class="keywordflow">if</span> (i < npix) {</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> <span class="comment">/* lab_im is not a valid label image */</span></div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> cpl_free(relabel);</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> <span class="keywordflow">return</span> cpl_error_set(cpl_func, plabim[i] < 0</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> ? CPL_ERROR_ILLEGAL_INPUT</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> : CPL_ERROR_INCOMPATIBLE_INPUT);</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> }</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> </div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> <span class="comment">/* Purge the bad arcs */</span></div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> cpl_apertures_delete(*<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> *<span class="keyword">self</span> = cpl_apertures_new_from_image(arc_im, lab_im);</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> </div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> }</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> </div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> cpl_free(relabel);</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> </div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> cpl_msg_info(cpl_func, <span class="stringliteral">"Purged %d of %d arcs (1st purged=%d)"</span>, narcs - nkeep,</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> narcs, ifirst);</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> </div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> <span class="comment">/* arc_im may be invalid */</span></div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> cpl_ensure_code(*<span class="keyword">self</span> != NULL, cpl_error_get_code());</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> </div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> }</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> </div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> </div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> <span class="keyword">static</span> cpl_error_code</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> irplib_distortion_fill_arc_positions(cpl_bivector * grid,</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> cpl_vector * fitvalues,</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> <span class="keyword">const</span> cpl_image * in,</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> <span class="keyword">const</span> cpl_image * label_im,</div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> <span class="keyword">const</span> cpl_apertures * det)</div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> {</div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> <span class="keyword">const</span> <span class="keywordtype">int</span> narcs = cpl_apertures_get_size(det);</div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> <span class="keywordtype">int</span> nfitvals = cpl_vector_get_size(fitvalues);</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nx = cpl_image_get_size_x(label_im);</div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ny = cpl_image_get_size_y(label_im);</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> cpl_image * filt_img;</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> cpl_mask * kernel;</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> cpl_vector * gridx = cpl_bivector_get_x(grid);</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> cpl_vector * gridy = cpl_bivector_get_y(grid);</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> cpl_polynomial* dist1d;</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> cpl_matrix * dist1dx = NULL;</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> cpl_vector * dist1dy = NULL;</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="keywordtype">double</span> * dgridx;</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> <span class="keywordtype">double</span> * dgridy;</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> <span class="keywordtype">double</span> * dfitv;</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> <span class="keywordtype">int</span> ndone = 0;</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> <span class="keywordtype">int</span> i, obj;</div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> </div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> cpl_ensure_code(nfitvals > 0, CPL_ERROR_DATA_NOT_FOUND);</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> cpl_ensure_code(narcs > 0, CPL_ERROR_DATA_NOT_FOUND);</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> cpl_ensure_code(cpl_image_get_type(label_im) == CPL_TYPE_INT,</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> CPL_ERROR_TYPE_MISMATCH);</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> </div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> <span class="comment">/* Ensure space for output */</span></div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> <span class="keywordflow">if</span> (nfitvals < narcs * ny) {</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> nfitvals = narcs * ny;</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> cpl_vector_set_size(fitvalues, nfitvals);</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> }</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> <span class="keywordflow">if</span> (cpl_vector_get_size(gridx) < nfitvals ||</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> cpl_vector_get_size(gridy) < nfitvals) {</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> cpl_vector_set_size(gridx, nfitvals);</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> cpl_vector_set_size(gridy, nfitvals);</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> }</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> </div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> <span class="comment">/* Get data after resizing */</span></div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> dgridx = cpl_vector_get_data(gridx);</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> dgridy = cpl_vector_get_data(gridy);</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> dfitv = cpl_vector_get_data(fitvalues);</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> </div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> <span class="comment">/* Median filter on input image */</span></div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> kernel = cpl_mask_new(3, 3);</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> cpl_mask_not(kernel);</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> filt_img = cpl_image_new(nx, ny, cpl_image_get_type(in));</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> cpl_image_filter_mask(filt_img, in, kernel, CPL_FILTER_MEDIAN,</div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> CPL_BORDER_FILTER);</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> cpl_mask_delete(kernel);</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> </div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> dist1d = cpl_polynomial_new(1);</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> </div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> <span class="keywordflow">for</span> (obj = 0; obj < narcs; obj++) {</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> <span class="comment">/* Find the reference X-coordinate for the arc */</span></div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> <span class="keyword">const</span> <span class="keywordtype">int</span> * plabel_im = cpl_image_get_data_int_const(label_im);</div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ndist1d = cpl_apertures_get_top(det, obj+1)</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> - cpl_apertures_get_bottom(det, obj+1) + 1;</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> cpl_boolean sampsym = CPL_TRUE;</div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> <span class="keywordtype">int</span> j, prevj = 0;</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> <span class="keywordtype">int</span> k = 0;</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> </div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> (void)cpl_matrix_unwrap(dist1dx);</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> (void)cpl_vector_unwrap(dist1dy);</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> dist1dx = cpl_matrix_wrap(1, ndist1d, dgridy + ndone);</div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> dist1dy = cpl_vector_wrap(ndist1d, dfitv + ndone);</div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> </div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> <span class="comment">/* Find out the X coord. at all Y positions on the arc */</span></div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> </div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> <span class="keywordflow">for</span> (j = cpl_apertures_get_bottom(det, obj+1)-1;</div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> j < cpl_apertures_get_top(det, obj+1); j++) {</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> </div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> <span class="keywordflow">for</span> (i = 0; i < nx; i++) {</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> <span class="keywordflow">if</span> (plabel_im[i + j * nx] == obj + 1) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> }</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> <span class="keywordflow">if</span> (i < nx) {</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> <span class="comment">/* Found 1st pixel of aperture obj+1 in row j+1 */</span></div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> cpl_errorstate prestate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> </div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> <span class="keyword">const</span> <span class="keywordtype">double</span> x_finepos</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> = irplib_distortion_get_row_centroid(filt_img, label_im,</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> i, j);</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(prestate)) {</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> irplib_error_recover(prestate, <span class="stringliteral">"Could not find X-position "</span></div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> <span class="stringliteral">"for line %d at y=%d (x=%d)"</span>,</div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> obj+1, j+1, i+1);</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (x_finepos >= 0.0) {</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> cpl_matrix_set(dist1dx, 0, k, 1.0 + j);</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> cpl_vector_set(dist1dy, k, 1.0 + x_finepos);</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> <span class="keywordflow">if</span> (k > 0 && j != 1 + prevj) sampsym = CPL_FALSE;</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> prevj = j;</div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> k++;</div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> }</div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> }</div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> }</div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> <span class="keywordflow">if</span> (k > 0) {</div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> <span class="keywordtype">double</span> ref_xpos, grad;</div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> cpl_error_code error;</div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> <span class="keyword">const</span> cpl_boolean did_drop = k != ndist1d;</div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> <span class="keyword">const</span> cpl_size mindeg = 0;</div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> <span class="keyword">const</span> cpl_size maxdeg = 2;</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> </div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> <span class="keywordflow">if</span> (did_drop) {</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> <span class="comment">/* Set correct size */</span></div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> dist1dx = cpl_matrix_wrap(1, k, cpl_matrix_unwrap(dist1dx));</div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> dist1dy = cpl_vector_wrap(k, cpl_vector_unwrap(dist1dy));</div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> }</div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> </div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> error = cpl_polynomial_fit(dist1d, dist1dx, &sampsym, dist1dy, NULL,</div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> CPL_FALSE, &mindeg, &maxdeg);</div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> <span class="keywordflow">if</span> (error) {</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> cpl_msg_error(cpl_func, <span class="stringliteral">"1D-fit failed"</span>);</div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> }</div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> </div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> ref_xpos = cpl_polynomial_eval_1d(dist1d, 0.5 * (ny + 1), &grad);</div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> </div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> <span class="keywordflow">for</span> (j = cpl_apertures_get_bottom(det, obj+1)-1;</div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> j < cpl_apertures_get_top(det, obj+1); j++) {</div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> <span class="keyword">const</span> <span class="keywordtype">double</span> xpos = cpl_polynomial_eval_1d(dist1d, j+1.0, NULL);</div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> </div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> dfitv [ndone] = xpos;</div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> dgridx[ndone] = ref_xpos;</div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> <span class="comment">/* Wrapping dist1dx does _not_ take care of dgridy,</span></div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> <span class="comment"> in case of "Could not find X-position " */</span></div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> <span class="keywordflow">if</span> (did_drop)</div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> dgridy[ndone] = 1.0 + j;</div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> ndone++;</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> }</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> cpl_msg_info(cpl_func, <span class="stringliteral">"Line %d has center gradient %g"</span>, obj+1,</div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> grad);</div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> }</div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> }</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> </div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> cpl_image_delete(filt_img);</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> cpl_polynomial_delete(dist1d);</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> (void)cpl_matrix_unwrap(dist1dx);</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> (void)cpl_vector_unwrap(dist1dy);</div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> </div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> cpl_msg_info(cpl_func, <span class="stringliteral">"Found %d fitting points ("</span></div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> <span class="stringliteral">"expected up to %d points)"</span>, ndone, nfitvals);</div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> </div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> cpl_ensure_code(obj == narcs, cpl_error_get_code());</div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> </div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> cpl_ensure_code(ndone > 0, CPL_ERROR_DATA_NOT_FOUND);</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> </div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> cpl_vector_set_size(fitvalues, ndone);</div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> cpl_vector_set_size(gridx, ndone);</div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> cpl_vector_set_size(gridy, ndone);</div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> </div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> }</div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> </div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> <span class="keyword">static</span> <span class="keywordtype">double</span> irplib_distortion_get_row_centroid(<span class="keyword">const</span> cpl_image * im,</div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> <span class="keyword">const</span> cpl_image * label_im,</div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> <span class="keywordtype">int</span> x,</div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> <span class="keywordtype">int</span> y)</div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> {</div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nx = cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ny = cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ynx = y * nx;</div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> <span class="keyword">const</span> <span class="keywordtype">float</span> * pim = cpl_image_get_data_float_const(im);</div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> <span class="keyword">const</span> <span class="keywordtype">int</span> * plabel_im = cpl_image_get_data_int_const(label_im);</div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> <span class="keywordtype">int</span> firstpos = -1;</div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> <span class="keywordtype">int</span> lastpos = -1;</div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> <span class="keywordtype">int</span> maxpos = x;</div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> <span class="keywordtype">int</span> objnum;</div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> <span class="keywordtype">double</span> wsum = 0.0;</div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> <span class="keywordtype">double</span> sum = 0.0;</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> <span class="keywordtype">double</span> max = 0.0;</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> </div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> cpl_ensure(pim != NULL, cpl_error_get_code(), -1.0);</div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> cpl_ensure(plabel_im != NULL, cpl_error_get_code(), -2.0);</div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> cpl_ensure(x >= 0, CPL_ERROR_ILLEGAL_INPUT, -3.0);</div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> cpl_ensure(y >= 0, CPL_ERROR_ILLEGAL_INPUT, -4.0);</div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> cpl_ensure(x < nx, CPL_ERROR_ILLEGAL_INPUT, -5.0);</div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> cpl_ensure(y < ny, CPL_ERROR_ILLEGAL_INPUT, -6.0);</div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> </div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> max = (double)pim[x + ynx];</div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> objnum = plabel_im[x + ynx];</div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> </div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> <span class="comment">/* While we stay in the same object... */</span></div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> <span class="keywordflow">do</span> {</div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> <span class="keyword">const</span> <span class="keywordtype">double</span> val = (double)pim[x + ynx];</div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> </div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> <span class="keywordflow">if</span> (val > 0.0) { <span class="comment">/* FIXME: Handle this exception better */</span></div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> wsum += x * val;</div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> sum += val;</div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> </div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> <span class="keywordflow">if</span> (firstpos < 0) firstpos = x;</div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> lastpos = x;</div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> </div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> <span class="keywordflow">if</span> (val > max) {</div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> max = val;</div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> maxpos = x;</div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> }</div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> }</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> </div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> </div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> <span class="comment">/* Next point */</span></div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> x++;</div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> </div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> } <span class="keywordflow">while</span> (x < nx && objnum == plabel_im[x + ynx]);</div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> </div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> cpl_ensure(sum > 0.0, CPL_ERROR_DATA_NOT_FOUND, -7.0);</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> </div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> <span class="comment"> assert( 0 <= maxpos && maxpos < nx );</span></div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> <span class="comment"> assert( objnum == plabel_im[maxpos + ynx] );</span></div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> <span class="comment"> assert( wsum >= 0.0 );</span></div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> </div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> <span class="keywordflow">return</span> (wsum < sum * firstpos || wsum > sum * lastpos)</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> ? maxpos : wsum / sum;</div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> }</div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> </div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> <span class="preprocessor">#define IS_NB_TESTPOINTS 8</span></div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> <span class="preprocessor"></span><span class="preprocessor">#define IS_MIN_SLOPE 0.01</span></div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> <span class="preprocessor"></span><span class="preprocessor">#define IS_MAX_SLOPE_DIF 0.075</span></div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> <span class="preprocessor"></span><span class="preprocessor">#define IS_MAX_FIT_EDGE_DIF 0.05</span></div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> <span class="preprocessor"></span><span class="preprocessor">#define IS_MIN_RAMP 10.0</span></div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> <span class="preprocessor"></span><span class="preprocessor">#define IS_MAX_MNERR 13.0</span></div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> <span class="preprocessor"></span><span class="preprocessor">#define IS_MAX_MNERR_DIF 8.0</span></div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> <span class="preprocessor"></span><span class="preprocessor">#define IS_MAX_INTER_DIF 20.0</span></div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> <span class="preprocessor"></span><span class="preprocessor">#define IS_SKIPZONE 2.5</span></div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> <span class="preprocessor"></span><span class="preprocessor">#define SQR(x) ((x)*(x))</span></div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> <span class="preprocessor"></span><span class="keyword">static</span> cpl_image * irplib_distortion_remove_ramp(<span class="keyword">const</span> cpl_image * in) </div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> {</div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> <span class="keywordtype">int</span> ramp_present;</div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nx = cpl_image_get_size_x(in);</div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ny = cpl_image_get_size_y(in);</div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> <span class="keyword">const</span> <span class="keywordtype">int</span> yhi = (int)(ny/2);</div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ylo = yhi - 1;</div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> <span class="keywordtype">int</span> y;</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> cpl_vector * tmp_vector;</div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> cpl_bivector * testpointlo;</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> <span class="keywordtype">double</span> * testpointlo_x;</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> <span class="keywordtype">double</span> * testpointlo_y;</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> cpl_bivector * testpointhi;</div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> <span class="keywordtype">double</span> * testpointhi_x;</div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> <span class="keywordtype">double</span> * testpointhi_y;</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> <span class="keyword">const</span> <span class="keywordtype">int</span> spacing = ny / (IS_SKIPZONE*IS_NB_TESTPOINTS);</div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> <span class="keywordtype">double</span> rampdif, fitslope;</div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> <span class="keywordtype">double</span> * pol_coefhi,</div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> * pol_coeflo;</div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> cpl_vector * median;</div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> <span class="keywordtype">double</span> * median_data;</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> <span class="keywordtype">double</span> medianerrlo, medianerrhi;</div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> <span class="keywordtype">double</span> slope;</div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> cpl_image * out;</div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> <span class="keywordtype">float</span> * pout;</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> <span class="keywordtype">float</span> val;</div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> <span class="keywordtype">int</span> i, j;</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> </div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> cpl_ensure(cpl_image_get_type(in) == CPL_TYPE_FLOAT,</div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> CPL_ERROR_UNSUPPORTED_MODE, NULL);</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> </div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> <span class="keywordflow">if</span> (ny < IS_SKIPZONE * IS_NB_TESTPOINTS){</div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> <span class="preprocessor">#if defined CPL_HAVE_VA_ARGS && CPL_HAVE_VA_ARGS != 0</span></div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> <span class="preprocessor"></span> cpl_error_set_message(cpl_func, CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> <span class="stringliteral">"image has %d lines, min="</span></div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> IRPLIB_STRINGIFY(IS_SKIPZONE) <span class="stringliteral">"*"</span></div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> IRPLIB_STRINGIFY(IS_NB_TESTPOINTS), ny);</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> <span class="preprocessor"></span> cpl_error_set_message(cpl_func, CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> <span class="stringliteral">"image has too few lines, min="</span></div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> IRPLIB_STRINGIFY(IS_SKIPZONE) <span class="stringliteral">"*"</span></div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> IRPLIB_STRINGIFY(IS_NB_TESTPOINTS));</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> <span class="preprocessor"></span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> }</div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> </div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> <span class="comment">/* Fill the vectors */</span></div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> testpointhi = cpl_bivector_new(IS_NB_TESTPOINTS);</div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> testpointhi_x = cpl_bivector_get_x_data(testpointhi);</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> testpointhi_y = cpl_bivector_get_y_data(testpointhi);</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> testpointlo = cpl_bivector_new(IS_NB_TESTPOINTS);</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> testpointlo_x = cpl_bivector_get_x_data(testpointlo);</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> testpointlo_y = cpl_bivector_get_y_data(testpointlo);</div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> <span class="keywordflow">for</span> (i=0; i<IS_NB_TESTPOINTS; i++) {</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> y = yhi + i * spacing;</div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> tmp_vector = cpl_vector_new_from_image_row(in, y+1);</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> testpointhi_x[i] = y - ny / 2;</div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> testpointhi_y[i] = cpl_vector_get_median_const(tmp_vector);</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> cpl_vector_delete(tmp_vector);</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> y = ylo - i * spacing;</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> tmp_vector = cpl_vector_new_from_image_row(in, y+1);</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> testpointlo_x[IS_NB_TESTPOINTS-i-1] = y;</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> testpointlo_y[IS_NB_TESTPOINTS-i-1]=cpl_vector_get_median_const(tmp_vector);</div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> cpl_vector_delete(tmp_vector);</div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> }</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> </div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> <span class="comment">/* Apply the fit */</span></div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> pol_coefhi = <a class="code" href="group__irplib__flat.html#ga3e3e3bd45aef34e38758e1f2528d7c91" title="Fit a slope to a list of points (robust fit).">irplib_flat_fit_slope_robust</a>(testpointhi_x,</div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> testpointhi_y, IS_NB_TESTPOINTS);</div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> pol_coeflo = <a class="code" href="group__irplib__flat.html#ga3e3e3bd45aef34e38758e1f2528d7c91" title="Fit a slope to a list of points (robust fit).">irplib_flat_fit_slope_robust</a>(testpointlo_x, </div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> testpointlo_y, IS_NB_TESTPOINTS);</div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> </div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> <span class="comment">/* Compute the errors */</span></div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> median = cpl_vector_new(IS_NB_TESTPOINTS);</div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> median_data = cpl_vector_get_data(median);</div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> <span class="keywordflow">for</span> (i=0; i<IS_NB_TESTPOINTS; i++) {</div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> median_data[i]=SQR(testpointhi_y[i]</div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> - pol_coefhi[0] - pol_coefhi[1] * testpointhi_x[i]);</div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> }</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> medianerrhi = cpl_vector_get_median(median);</div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> <span class="keywordflow">for</span> (i=0; i<IS_NB_TESTPOINTS; i++) {</div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> median_data[i]=SQR(testpointlo_y[i]</div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> - pol_coeflo[0] - pol_coeflo[1] * testpointlo_x[i]);</div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> }</div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> medianerrlo = cpl_vector_get_median(median);</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> cpl_vector_delete(median);</div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> rampdif = testpointlo_y[IS_NB_TESTPOINTS-1] - testpointhi_y[0];</div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> slope = rampdif / (ny/2.0);</div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> fitslope = (pol_coefhi[1] + pol_coeflo[1]) / 2.0;</div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> </div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> cpl_bivector_delete(testpointlo);</div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> cpl_bivector_delete(testpointhi);</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> </div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> <span class="comment">/* Decide if there is a ramp or not */</span></div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> <span class="keywordflow">if</span> (fabs(rampdif)<IS_MIN_RAMP ||</div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> fabs(pol_coefhi[1]) < IS_MIN_SLOPE ||</div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> fabs(pol_coeflo[1]) < IS_MIN_SLOPE ||</div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> pol_coefhi[1]/pol_coeflo[1]<0.5 ||</div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> pol_coefhi[1]/pol_coeflo[1]>2.0 ||</div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> fabs(pol_coefhi[1]-pol_coeflo[1])>IS_MAX_SLOPE_DIF ||</div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> fabs(pol_coefhi[0]-pol_coeflo[0]) > IS_MAX_INTER_DIF ||</div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> medianerrlo> IS_MAX_MNERR ||</div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> medianerrhi> IS_MAX_MNERR ||</div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> fabs(medianerrlo-medianerrhi) >IS_MAX_MNERR_DIF ||</div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> fabs(slope-fitslope) > IS_MAX_FIT_EDGE_DIF ||</div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> slope/fitslope<0.5 ||</div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> slope/fitslope>2.0) ramp_present = 0;</div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> <span class="keywordflow">else</span> ramp_present = 1;</div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> </div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> cpl_free(pol_coeflo);</div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> cpl_free(pol_coefhi);</div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> </div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> <span class="comment">/* Correct the ramp if it is there */</span></div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> out = cpl_image_duplicate(in);</div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> pout = cpl_image_get_data_float(out);</div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> <span class="keywordflow">if</span> (ramp_present == 1) {</div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> <span class="keywordflow">for</span> (j=0; j<ny/2; j++) {</div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> val = slope * (j-ny/2);</div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> <span class="keywordflow">for</span> (i=0; i<nx; i++)</div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> pout[i+j*nx] -= val;</div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> }</div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> <span class="keywordflow">for</span> (j=ny/2; j<ny; j++) {</div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> val = slope * (j-ny);</div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> <span class="keywordflow">for</span> (i=0; i<nx; i++)</div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> pout[i+j*nx] -= val;</div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> }</div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> </div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> }</div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> </div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> }</div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> </div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> <span class="keyword">static</span> cpl_error_code irplib_image_filter_background_line(cpl_image * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> <span class="keyword">const</span> cpl_image * other,</div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> <span class="keywordtype">int</span> hsize,</div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> cpl_boolean vertical)</div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> {</div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nx = cpl_image_get_size_x(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ny = cpl_image_get_size_y(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> <span class="keyword">const</span> <span class="keywordtype">int</span> msize = 1 + 2 * hsize;</div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> cpl_mask * mask;</div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> cpl_image * background;</div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> cpl_error_code error = CPL_ERROR_NONE;</div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> </div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> cpl_ensure_code(hsize >= 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> </div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> <span class="keywordflow">if</span> (other == NULL) other = <span class="keyword">self</span>;</div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> </div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> mask = vertical ? cpl_mask_new(msize, 1) : cpl_mask_new(1, msize);</div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> </div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> error |= cpl_mask_not(mask);</div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> </div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> background = cpl_image_new(nx, ny, cpl_image_get_type(other));</div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> </div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> error |= cpl_image_filter_mask(background, other, mask, CPL_FILTER_MEDIAN,</div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> CPL_BORDER_FILTER);</div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> cpl_mask_delete(mask);</div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> </div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> <span class="keywordflow">if</span> (<span class="keyword">self</span> != other) {</div>
-<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> error |= cpl_image_copy(<span class="keyword">self</span>, other, 1, 1);</div>
-<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> }</div>
-<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> </div>
-<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> error |= cpl_image_subtract(<span class="keyword">self</span>, background);</div>
-<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> cpl_image_delete(background);</div>
-<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> </div>
-<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> <span class="keywordflow">return</span> error ? cpl_error_set_where(cpl_func) : CPL_ERROR_NONE;</div>
-<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> }</div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> </div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> </div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> </div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> <span class="keyword">static</span> cpl_matrix * irplib_matrix_product_normal_create(<span class="keyword">const</span> cpl_matrix * <span class="keyword">self</span>)</div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> {</div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> </div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> <span class="keywordtype">double</span> sum;</div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> cpl_matrix * product;</div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> <span class="keyword">const</span> <span class="keywordtype">double</span> * ai = cpl_matrix_get_data_const(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> <span class="keyword">const</span> <span class="keywordtype">double</span> * aj;</div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> <span class="keywordtype">double</span> * bwrite;</div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> <span class="keyword">const</span> <span class="keywordtype">int</span> m = cpl_matrix_get_nrow(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> <span class="keyword">const</span> <span class="keywordtype">int</span> n = cpl_matrix_get_ncol(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> <span class="keywordtype">int</span> i, j, k;</div>
-<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> </div>
-<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> </div>
-<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span> cpl_ensure(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT, NULL);</div>
-<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> </div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> <span class="preprocessor">#if 0</span></div>
-<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> <span class="preprocessor"></span> <span class="comment">/* Initialize all values to zero.</span></div>
-<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> <span class="comment"> This is done to avoid access of uninitilized memory, in case</span></div>
-<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> <span class="comment"> someone passes the matrix to for example cpl_matrix_dump(). */</span></div>
-<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> product = cpl_matrix_new(m, m);</div>
-<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> bwrite = cpl_matrix_get_data(product);</div>
-<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> <span class="preprocessor"></span> bwrite = (<span class="keywordtype">double</span> *) cpl_malloc(m * m * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span> product = cpl_matrix_wrap(m, m, bwrite);</div>
-<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> <span class="comment">/* The result at (i,j) is the dot-product of i'th and j'th row */</span></div>
-<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span> <span class="keywordflow">for</span> (i = 0; i < m; i++, bwrite += m, ai += n) {</div>
-<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span> aj = ai; <span class="comment">/* aj points to first entry in j'th row */</span></div>
-<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> <span class="keywordflow">for</span> (j = i; j < m; j++, aj += n) {</div>
-<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span> sum = 0.0;</div>
-<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span> <span class="keywordflow">for</span> (k = 0; k < n; k++) {</div>
-<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span> sum += ai[k] * aj[k];</div>
-<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> }</div>
-<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span> bwrite[j] = sum;</div>
-<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span> }</div>
-<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> }</div>
-<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span> </div>
-<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span> <span class="keywordflow">return</span> product;</div>
-<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span> </div>
-<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span> }</div>
-<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span> </div>
-<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span> <span class="keyword">static</span> cpl_error_code irplib_polynomial_fit_2d(cpl_polynomial * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span> <span class="keyword">const</span> cpl_bivector * xy_pos,</div>
-<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span> <span class="keyword">const</span> cpl_vector * values,</div>
-<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span> <span class="keywordtype">int</span> degree, <span class="keywordtype">double</span> fixy,</div>
-<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> <span class="keywordtype">double</span> * mse)</div>
-<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> {</div>
-<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> </div>
-<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> <span class="keyword">const</span> <span class="keywordtype">int</span> np = cpl_bivector_get_size(xy_pos);</div>
-<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> <span class="comment">/* Number of unknowns to determine in one dimension */</span></div>
-<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nc1 = 1+degree;</div>
-<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> <span class="comment">/* Number of unknowns to determine */</span></div>
-<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> <span class="comment">/* P_{i,0} = 0, except P_{1,0} = 1 */</span></div>
-<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nc = nc1 * (1 + nc1) / 2 - nc1;</div>
-<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> cpl_matrix * mv; <span class="comment">/* The transpose of the Vandermonde matrix */</span></div>
-<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> cpl_matrix * mh; <span class="comment">/* Block-Hankel matrix, V'*V */</span></div>
-<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> cpl_matrix * mb;</div>
-<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> cpl_matrix * mx;</div>
-<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> <span class="preprocessor">#ifdef IRPLIB_DISTORTION_ASSERT</span></div>
-<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> <span class="preprocessor"></span> <span class="keyword">const</span> <span class="keywordtype">double</span> * coeffs1d;</div>
-<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> <span class="preprocessor"></span> <span class="keywordtype">double</span> * dmv;</div>
-<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> cpl_vector * xhat;</div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> cpl_vector * yhat;</div>
-<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> cpl_vector * zhat;</div>
-<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> cpl_size powers[2];</div>
-<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> <span class="keywordtype">int</span> degx, degy;</div>
-<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> <span class="keywordtype">int</span> i, j;</div>
-<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span> cpl_error_code error;</div>
-<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> </div>
-<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> </div>
-<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> cpl_ensure_code(cpl_polynomial_get_dimension(<span class="keyword">self</span>) == 2,</div>
-<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span> CPL_ERROR_INVALID_TYPE);</div>
-<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span> cpl_ensure_code(np > 0, cpl_error_get_code());</div>
-<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> cpl_ensure_code(values != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> </div>
-<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span> cpl_ensure_code(cpl_vector_get_size(values) == np,</div>
-<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span> CPL_ERROR_INCOMPATIBLE_INPUT);</div>
-<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span> </div>
-<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span> cpl_ensure_code(degree > 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> cpl_ensure_code(np >= nc, CPL_ERROR_DATA_NOT_FOUND);</div>
-<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span> </div>
-<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span> <span class="comment">/* transform zero-point to fixy */</span></div>
-<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span> yhat = cpl_vector_duplicate(cpl_bivector_get_y_const(xy_pos));</div>
-<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> cpl_vector_subtract_scalar(yhat, fixy);</div>
-<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span> </div>
-<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span> <span class="comment">/* - and ensure P(y) = y on center line */</span></div>
-<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span> xhat = cpl_vector_duplicate(cpl_bivector_get_x_const(xy_pos));</div>
-<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span> zhat = cpl_vector_duplicate(values);</div>
-<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> cpl_vector_subtract(zhat, xhat);</div>
-<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> </div>
-<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span> <span class="comment">/* Initialize matrices */</span></div>
-<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> <span class="comment">/* mv contains the polynomial terms in the order described */</span></div>
-<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span> <span class="comment">/* above in each row, for each input point. */</span></div>
-<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> dmv = (<span class="keywordtype">double</span>*)cpl_malloc(nc*np*<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span> mv = cpl_matrix_wrap(nc, np, dmv);</div>
-<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span> </div>
-<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> <span class="comment">/* Has redundant FLOPs, appears to improve accuracy */</span></div>
-<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span> <span class="keywordflow">for</span> (i=0; i < np; i++) {</div>
-<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> <span class="keyword">const</span> <span class="keywordtype">double</span> x = cpl_vector_get(xhat, i);</div>
-<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span> <span class="keyword">const</span> <span class="keywordtype">double</span> y = cpl_vector_get(yhat, i);</div>
-<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span> <span class="keywordtype">double</span> xvalue;</div>
-<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> <span class="keywordtype">double</span> yvalue = y;</div>
-<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> j = 0;</div>
-<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span> <span class="keywordflow">for</span> (degy = 1; degy <= degree; degy++) {</div>
-<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span> xvalue = 1;</div>
-<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> <span class="keywordflow">for</span> (degx = 0; degx <= degree-degy; degx++, j++) {</div>
-<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span> dmv[np * j + i] = xvalue * yvalue;</div>
-<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span> xvalue *= x;</div>
-<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span> }</div>
-<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span> yvalue *= y;</div>
-<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span> }</div>
-<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span> <span class="comment">/* cx_assert( j == nc ); */</span></div>
-<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span> }</div>
-<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span> cpl_vector_delete(xhat);</div>
-<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span> cpl_vector_delete(yhat);</div>
-<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span> </div>
-<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> <span class="comment">/* mb contains the values, it is not modified */</span></div>
-<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span> mb = cpl_matrix_wrap(np, 1, cpl_vector_get_data(zhat));</div>
-<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span> </div>
-<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> <span class="comment">/* Form the right hand side of the normal equations */</span></div>
-<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> mx = cpl_matrix_product_create(mv, mb);</div>
-<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span> </div>
-<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span> cpl_matrix_unwrap(mb);</div>
-<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span> cpl_vector_delete(zhat);</div>
-<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span> </div>
-<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span> <span class="comment">/* Form the matrix of the normal equations */</span></div>
-<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span> mh = irplib_matrix_product_normal_create(mv);</div>
-<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span> cpl_matrix_delete(mv);</div>
-<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span> </div>
-<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span> <span class="comment">/* Solve XA=B by a least-square solution (aka pseudo-inverse). */</span></div>
-<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span> error = cpl_matrix_decomp_chol(mh) || cpl_matrix_solve_chol(mh, mx);</div>
-<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span> </div>
-<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span> cpl_matrix_delete(mh);</div>
-<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span> </div>
-<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span> <span class="keywordflow">if</span> (error) {</div>
-<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span> cpl_matrix_delete(mx);</div>
-<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span> cpl_ensure_code(0, error);</div>
-<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span> }</div>
-<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span> </div>
-<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> <span class="comment">/* Store coefficients for output */</span></div>
-<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span> </div>
-<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span> <span class="preprocessor">#ifdef IRPLIB_DISTORTION_ASSERT</span></div>
-<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> <span class="preprocessor"></span> coeffs1d = cpl_matrix_get_data(mx);</div>
-<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span> j = 0;</div>
-<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span> <span class="keywordflow">for</span> (degy = 1; degy <= degree; degy++) {</div>
-<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span> powers[1] = degy;</div>
-<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span> <span class="keywordflow">for</span> (degx = 0; degx <= degree-degy; degx++, j++) {</div>
-<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span> powers[0] = degx;</div>
-<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span> <span class="comment">/* cx_assert( coeffs1d[j] == cpl_matrix_get(mx, j, 0) ); */</span></div>
-<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span> cpl_polynomial_set_coeff(<span class="keyword">self</span>, powers, cpl_matrix_get(mx, j, 0));</div>
-<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span> }</div>
-<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span> }</div>
-<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span> <span class="comment">/* cx_assert( j == nc ); */</span></div>
-<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span> </div>
-<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span> cpl_matrix_delete(mx);</div>
-<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span> </div>
-<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span> <span class="comment">/* P_{1,0} = 1 */</span></div>
-<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span> powers[0] = 1;</div>
-<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span> powers[1] = 0;</div>
-<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span> cpl_polynomial_set_coeff(<span class="keyword">self</span>, powers, 1.0);</div>
-<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span> </div>
-<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span> <span class="comment">/* Transform the polynomial back in Y */</span></div>
-<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span> cpl_polynomial_shift_1d(<span class="keyword">self</span>, 1, -fixy);</div>
-<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span> </div>
-<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span> <span class="comment">/* If requested, compute mean squared error */</span></div>
-<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span> <span class="keywordflow">if</span> (mse != NULL) {</div>
-<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span> <span class="keyword">const</span> cpl_vector * x_pos = cpl_bivector_get_x_const(xy_pos);</div>
-<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span> <span class="keyword">const</span> cpl_vector * y_pos = cpl_bivector_get_y_const(xy_pos);</div>
-<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span> cpl_vector * x_val = cpl_vector_new(2);</div>
-<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span> <span class="keywordtype">double</span> residue;</div>
-<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span> </div>
-<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span> *mse = 0;</div>
-<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span> <span class="keywordflow">for</span> (i=0; i<np; i++) {</div>
-<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span> cpl_vector_set(x_val, 0, cpl_vector_get(x_pos, i));</div>
-<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span> cpl_vector_set(x_val, 1, cpl_vector_get(y_pos, i));</div>
-<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span> <span class="comment">/* Subtract from the true value, square, accumulate */</span></div>
-<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span> residue = cpl_vector_get(values, i)</div>
-<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span> - cpl_polynomial_eval(<span class="keyword">self</span>, x_val);</div>
-<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span> *mse += residue * residue;</div>
-<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span> }</div>
-<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span> cpl_vector_delete(x_val);</div>
-<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span> <span class="comment">/* Average the error term */</span></div>
-<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span> *mse /= np;</div>
-<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span> }</div>
-<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span> </div>
-<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span> }</div>
-<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__distortion_8h_source.html b/html/irplib__distortion_8h_source.html
deleted file mode 100644
index 44bb787..0000000
--- a/html/irplib__distortion_8h_source.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_distortion.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_distortion.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_distortion.h,v 1.6 2013/01/29 08:43:33 jtaylor Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: jtaylor $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2013/01/29 08:43:33 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.6 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef IRPLIB_DISTORTION_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_DISTORTION_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> Prototypes</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> cpl_polynomial * irplib_distortion_estimate(<span class="keyword">const</span> cpl_image *, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">double</span>, <span class="keywordtype">int</span>, cpl_apertures **) ;</div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__flat_8c_source.html b/html/irplib__flat_8c_source.html
deleted file mode 100644
index ee9683b..0000000
--- a/html/irplib__flat_8c_source.html
+++ /dev/null
@@ -1,373 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_flat.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_flat.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_flat.c,v 1.15 2007/08/07 12:15:41 llundin Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: llundin $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2007/08/07 12:15:41 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.15 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "irplib_flat.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">static</span> <span class="keywordtype">double</span> * irplib_flat_fit_proportional(<span class="keywordtype">double</span> *, <span class="keywordtype">double</span> *, <span class="keywordtype">int</span>) ;</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"><a class="code" href="group__irplib__flat.html#gaf9bd48348cc91bb66304697b4c7aa58e"> 87</a></span> cpl_imagelist * <a class="code" href="group__irplib__flat.html#gaf9bd48348cc91bb66304697b4c7aa58e" title="Compute a flat-field out of a set of exposures.">irplib_flat_fit_set</a>(</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> cpl_imagelist * raw,</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordtype">int</span> mode)</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> {</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">double</span> * plane_med = NULL ;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">double</span> * slope = NULL ;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> cpl_image * gain = NULL ;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordtype">double</span> * pgain = NULL ;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> cpl_image * intercept = NULL ;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">double</span> * pintercept = NULL ;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> cpl_image * sq_err = NULL ;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">double</span> * psq_err = NULL ;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordtype">double</span> * timeline = NULL ;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">float</span> * raw_im_data = NULL ;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> cpl_imagelist * result = NULL ;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nx = cpl_image_get_size_x(cpl_imagelist_get(raw, 0));</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ny = cpl_image_get_size_y(cpl_imagelist_get(raw, 0));</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ni = cpl_imagelist_get_size(raw);</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">int</span> i, j ;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">/* Check entries */</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordflow">if</span> (raw==NULL) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keywordflow">if</span> ((mode != 0) && (mode != 1)) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordflow">if</span> (cpl_image_get_type(cpl_imagelist_get(raw, 0)) != CPL_TYPE_FLOAT)</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keywordflow">if</span> (cpl_imagelist_get_size(raw) <= 1) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment">/* Compute median for all planes */</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> plane_med = cpl_malloc(ni * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordflow">for</span> (i=0 ; i<ni ; i++)</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> plane_med[i] = cpl_image_get_median(cpl_imagelist_get(raw, i));</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">/* Create result images */</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> gain = cpl_image_new(nx, ny, CPL_TYPE_DOUBLE) ;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> pgain = cpl_image_get_data_double(gain) ;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordflow">if</span> (mode == 1) {</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> intercept = cpl_image_new(nx, ny, CPL_TYPE_DOUBLE) ;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> pintercept = cpl_image_get_data_double(intercept) ;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> }</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> sq_err = cpl_image_new(nx, ny, CPL_TYPE_DOUBLE) ;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> psq_err = cpl_image_get_data_double(sq_err) ;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> timeline = cpl_malloc(ni * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment">/* Loop on all pixel positions */</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> cpl_msg_info(cpl_func, <span class="stringliteral">"Computing gains for all positions (long)..."</span>) ;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordflow">for</span> (i=0 ; i<nx * ny ; i++) {</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment">/* extract time line */</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keywordflow">for</span> (j=0 ; j<ni ; j++) {</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> raw_im_data = cpl_image_get_data_float(cpl_imagelist_get(raw, j)) ;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> timeline[j] = (double)raw_im_data[i] ;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> }</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment">/* Fit slope to this time line */</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordflow">if</span> (mode == 1) {</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> slope = <a class="code" href="group__irplib__flat.html#ga3e3e3bd45aef34e38758e1f2528d7c91" title="Fit a slope to a list of points (robust fit).">irplib_flat_fit_slope_robust</a>(plane_med, timeline, ni) ;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> pintercept[i] = slope[0] ;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> pgain[i] = slope[1] ;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> psq_err[i] = slope[2] ;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment">/* Set results in output images */</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> slope = irplib_flat_fit_proportional(plane_med, timeline, ni) ;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment">/* Set results in output images */</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> pgain[i] = slope[0] ;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> psq_err[i] = slope[1] ;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> }</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> cpl_free(slope);</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> }</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> cpl_free(plane_med) ;</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> cpl_free(timeline) ;</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> result = cpl_imagelist_new() ;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">if</span> (mode == 1) {</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> cpl_imagelist_set(result, gain, 0) ;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> cpl_imagelist_set(result, intercept, 1) ;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> cpl_imagelist_set(result, sq_err, 2) ;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> cpl_imagelist_set(result, gain, 0) ;</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> cpl_imagelist_set(result, sq_err, 1) ;</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> }</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordflow">return</span> result ;</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> }</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment">/* @cond */</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="preprocessor">#define SIGN(a,b) ((b) >= 0.0 ? fabs(a) : -fabs(a))</span></div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="preprocessor"></span><span class="preprocessor">#define MAX_ITERATE 30</span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="preprocessor"></span><span class="comment">/* @endcond */</span></div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"><a class="code" href="group__irplib__flat.html#ga3e3e3bd45aef34e38758e1f2528d7c91"> 191</a></span> <span class="keywordtype">double</span> * <a class="code" href="group__irplib__flat.html#ga3e3e3bd45aef34e38758e1f2528d7c91" title="Fit a slope to a list of points (robust fit).">irplib_flat_fit_slope_robust</a>(</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordtype">double</span> * x,</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordtype">double</span> * y,</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordtype">int</span> np)</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> {</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keywordtype">double</span> * c ;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keywordtype">double</span> aa, bb, bcomp, b1, b2, del, abdevt, f, f1, f2, sigb, temp,</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> d, sum ;</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keywordtype">double</span> sx, sy, sxy, sxx, chisq ;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> cpl_vector * arr ;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keywordtype">double</span> * parr ;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keywordtype">double</span> aa_ls, bb_ls ;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keywordtype">int</span> iter ;</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment">/* Check entries */</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordflow">if</span> (x==NULL || y==NULL) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> c = cpl_malloc(3 * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> sx = sy = sxx = sxy = 0.00 ;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keywordflow">for</span> (i=0 ; i<np ; i++) {</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> sx += x[i];</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> sy += y[i];</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> sxy += x[i] * y[i];</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> sxx += x[i] * x[i];</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> }</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> del = np * sxx - sx * sx;</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> aa_ls = aa = (sxx * sy - sx * sxy) / del;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> bb_ls = bb = (np * sxy - sx * sy) / del;</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> chisq = 0.00 ;</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keywordflow">for</span> (i=0;i<np;i++) {</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> temp = y[i] - (aa+bb*x[i]) ;</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> temp *= temp ;</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> chisq += temp ;</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> }</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> arr = cpl_vector_new(np) ;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> parr = cpl_vector_get_data(arr) ;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> sigb = sqrt(chisq/del);</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> b1 = bb ;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> bcomp = b1 ;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> sum = 0.00 ;</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordflow">for</span> (i=0 ; i<np ; i++) {</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> parr[i] = y[i] - bcomp * x[i];</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> }</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> aa = cpl_vector_get_median(arr); <span class="comment">/* arr permuted */</span></div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> abdevt = 0.0;</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordflow">for</span> (i=0 ; i<np ; i++) {</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> d = y[i] - (bcomp * x[i] + aa);</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> abdevt += fabs(d);</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keywordflow">if</span> (fabs(y[i]) > 1e-7) d /= fabs(y[i]);</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keywordflow">if</span> (fabs(d) > 1e-7) sum += (d >= 0.0 ? x[i] : -x[i]);</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> }</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> f1 = sum ;</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> b2 = bb + SIGN(3.0 * sigb, f1);</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> bcomp = b2 ;</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> sum = 0.00 ;</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="keywordflow">for</span> (i=0 ; i<np ; i++) parr[i] = y[i] - bcomp * x[i];</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> aa = cpl_vector_get_median(arr); <span class="comment">/* arr permuted */</span></div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> abdevt = 0.0;</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keywordflow">for</span> (i=0 ; i<np ; i++) {</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> d = y[i] - (bcomp * x[i] + aa);</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> abdevt += fabs(d);</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keywordflow">if</span> (fabs(y[i]) > 1e-7) d /= fabs(y[i]);</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keywordflow">if</span> (fabs(d) > 1e-7) sum += (d >= 0.0 ? x[i] : -x[i]);</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> }</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> f2 = sum ;</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">if</span> (fabs(b2-b1)<1e-7) {</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> c[0] = aa ;</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> c[1] = bb ;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> c[2] = abdevt / (double)np;</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> cpl_vector_delete(arr);</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="keywordflow">return</span> c ;</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> }</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> iter = 0 ;</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="keywordflow">while</span> (f1*f2 > 0.0) {</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> bb = 2.0*b2-b1;</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> b1 = b2;</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> f1 = f2;</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> b2 = bb;</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> bcomp = b2 ;</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> sum = 0.00 ;</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keywordflow">for</span> (i=0 ; i<np ; i++) parr[i] = y[i] - bcomp * x[i];</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> aa = cpl_vector_get_median(arr); <span class="comment">/* arr permuted */</span></div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> abdevt = 0.0;</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keywordflow">for</span> (i=0 ; i<np ; i++) {</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> d = y[i] - (bcomp * x[i] + aa);</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> abdevt += fabs(d);</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="keywordflow">if</span> (fabs(y[i]) > 1e-7) d /= fabs(y[i]);</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="keywordflow">if</span> (fabs(d) > 1e-7) sum += (d >= 0.0 ? x[i] : -x[i]);</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> }</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> f2 = sum ;</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> iter++;</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="keywordflow">if</span> (iter>=MAX_ITERATE) break ;</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> }</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keywordflow">if</span> (iter>=MAX_ITERATE) {</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> c[0] = aa_ls ;</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> c[1] = bb_ls ;</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> c[2] = -1.0 ;</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> cpl_vector_delete(arr);</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="keywordflow">return</span> c ;</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> }</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> sigb = 0.01 * sigb;</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keywordflow">while</span> (fabs(b2-b1) > sigb) {</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> bb = 0.5 * (b1 + b2) ;</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="keywordflow">if</span> ((fabs(bb-b1)<1e-7) || (fabs(bb-b2)<1e-7)) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> bcomp = bb ;</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> sum = 0.00 ;</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="keywordflow">for</span> (i=0 ; i<np ; i++) parr[i] = y[i] - bcomp * x[i];</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> aa = cpl_vector_get_median(arr); <span class="comment">/* arr permuted */</span></div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> abdevt = 0.0;</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="keywordflow">for</span> (i=0 ; i<np ; i++) {</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> d = y[i] - (bcomp * x[i] + aa);</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> abdevt += fabs(d);</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="keywordflow">if</span> (fabs(y[i]) > 1e-7) d /= fabs(y[i]);</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="keywordflow">if</span> (fabs(d) > 1e-7) sum += (d >= 0.0 ? x[i] : -x[i]);</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> }</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> f = sum ;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="keywordflow">if</span> (f*f1 >= 0.0) {</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> f1=f;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> b1=bb;</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> f2=f;</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> b2=bb;</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> }</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> }</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> cpl_vector_delete(arr) ;</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> c[0]=aa;</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> c[1]=bb;</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> c[2]=abdevt/np;</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="keywordflow">return</span> c ;</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> }</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="preprocessor">#undef MAX_ITERATE</span></div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="preprocessor"></span><span class="preprocessor">#undef SIGN</span></div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="preprocessor">#define FITPROP_BIG_SLOPE 1e30</span></div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="preprocessor"></span><span class="keyword">static</span> <span class="keywordtype">double</span> * irplib_flat_fit_proportional(</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keywordtype">double</span> * x,</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="keywordtype">double</span> * y,</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordtype">int</span> np)</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> {</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> cpl_vector * slopes ;</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="keywordtype">double</span> * pslopes ;</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="keywordtype">double</span> * med_slope ;</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="keywordtype">double</span> val ;</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="keywordtype">double</span> sq_err ;</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> </div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="comment">/* Check entries */</span></div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="keywordflow">if</span> (x==NULL || y==NULL) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> slopes = cpl_vector_new(np) ;</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> pslopes = cpl_vector_get_data(slopes) ;</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="keywordflow">for</span> (i=0 ; i<np ; i++) {</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="keywordflow">if</span> (fabs(x[i])>1e-30) pslopes[i] = y[i] / x[i] ;</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="keywordflow">else</span> pslopes[i] = FITPROP_BIG_SLOPE ;</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> }</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> med_slope = cpl_malloc(2 * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> med_slope[0] = cpl_vector_get_median(slopes); <span class="comment">/* slopes permuted */</span></div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> cpl_vector_delete(slopes);</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> </div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> sq_err = 0.00 ;</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="keywordflow">for</span> (i=0 ; i<np ; i++) {</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> val = med_slope[0] * x[i] ;</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> sq_err += (val-y[i])*(val-y[i]) ;</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> }</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> sq_err /= (double)np ;</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> med_slope[1] = sq_err ;</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> </div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="keywordflow">return</span> med_slope ;</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="preprocessor">#undef FITPROP_BIG_SLOPE</span></div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="preprocessor"></span>}</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> </div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> </div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__flat_8h_source.html b/html/irplib__flat_8h_source.html
deleted file mode 100644
index 52466c8..0000000
--- a/html/irplib__flat_8h_source.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_flat.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_flat.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_flat.h,v 1.4 2005/09/15 11:47:16 llundin Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: llundin $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2005/09/15 11:47:16 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.4 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef IRPLIB_FLAT_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_FLAT_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> cpl_imagelist * <a class="code" href="group__irplib__flat.html#gaf9bd48348cc91bb66304697b4c7aa58e" title="Compute a flat-field out of a set of exposures.">irplib_flat_fit_set</a>(cpl_imagelist *, <span class="keywordtype">int</span>) ;</div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="keywordtype">double</span> * <a class="code" href="group__irplib__flat.html#ga3e3e3bd45aef34e38758e1f2528d7c91" title="Fit a slope to a list of points (robust fit).">irplib_flat_fit_slope_robust</a>(<span class="keywordtype">double</span> *, <span class="keywordtype">double</span> *, <span class="keywordtype">int</span>) ;</div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__framelist_8c_source.html b/html/irplib__framelist_8c_source.html
deleted file mode 100644
index 71e00fb..0000000
--- a/html/irplib__framelist_8c_source.html
+++ /dev/null
@@ -1,1002 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_framelist.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_framelist.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_framelist.c,v 1.30 2013/02/27 16:05:13 jtaylor Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package </span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: jtaylor $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2013/02/27 16:05:13 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.30 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "irplib_framelist.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "irplib_utils.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <sys/types.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <regex.h></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <assert.h></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> New types</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/* @cond */</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keyword">struct </span>_irplib_framelist_ {</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">int</span> size;</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> cpl_frame ** frame;</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> cpl_propertylist ** propertylist;</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> };</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/* @endcond */</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> Private funcions</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keyword">static</span> <span class="keywordtype">void</span> irplib_framelist_set_size(irplib_framelist *)</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#if defined __GNUC__ && __GNUC__ >= 4</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor"></span> __attribute__((nonnull))</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor"></span>;</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">static</span> cpl_boolean irplib_property_equal(<span class="keyword">const</span> cpl_propertylist *,</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">const</span> cpl_propertylist *,</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *, cpl_type, <span class="keywordtype">double</span>,</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">char</span> **, <span class="keywordtype">char</span> **)</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="preprocessor">#if defined __GNUC__ && __GNUC__ >= 4</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="preprocessor"></span> __attribute__((nonnull))</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="preprocessor"></span>;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"><a class="code" href="group__irplib__framelist.html#ga5b86add048651f73424d2542a04946a0"> 178</a></span> irplib_framelist * <a class="code" href="group__irplib__framelist.html#ga5b86add048651f73424d2542a04946a0" title="Create an empty framelist.">irplib_framelist_new</a>(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> {</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keywordflow">return</span> (irplib_framelist *) cpl_calloc(1, <span class="keyword">sizeof</span>(irplib_framelist));</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> }</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"><a class="code" href="group__irplib__framelist.html#ga7a5159e9d27ef277df3fb55b331aaf26"> 191</a></span> <span class="keywordtype">void</span> <a class="code" href="group__irplib__framelist.html#ga7a5159e9d27ef277df3fb55b331aaf26" title="Deallocate an irplib_framelist with its frames and properties.">irplib_framelist_delete</a>(irplib_framelist * <span class="keyword">self</span>)</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> {</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <a class="code" href="group__irplib__framelist.html#ga900ea254d9b2a2e4e3957360bbae4deb" title="Erase all frames from a framelist.">irplib_framelist_empty</a>(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> cpl_free(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> }</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00209"></a><span class="lineno"><a class="code" href="group__irplib__framelist.html#ga30cbfd003c6e6a6a42e610442f0b1bd1"> 209</a></span> irplib_framelist * <a class="code" href="group__irplib__framelist.html#ga30cbfd003c6e6a6a42e610442f0b1bd1" title="Create an irplib_framelist from a cpl_framelist.">irplib_framelist_cast</a>(<span class="keyword">const</span> cpl_frameset * frameset)</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> {</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> irplib_framelist * <span class="keyword">self</span>;</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keyword">const</span> cpl_frame * frame;</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> cpl_ensure(frameset != NULL, CPL_ERROR_NULL_INPUT, NULL);</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="comment">/* The function cannot fail now */</span></div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keyword">self</span> = <a class="code" href="group__irplib__framelist.html#ga5b86add048651f73424d2542a04946a0" title="Create an empty framelist.">irplib_framelist_new</a>();</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="keywordflow">for</span> (i = 0, frame = cpl_frameset_get_first_const(frameset);</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> frame != NULL;</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> i++, frame = cpl_frameset_get_next_const(frameset)) {</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> cpl_frame * copy = cpl_frame_duplicate(frame);</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keyword">const</span> cpl_error_code error = <a class="code" href="group__irplib__framelist.html#ga37e730f5627b4a0c7a81014f62421879" title="Add a frame to a framelist.">irplib_framelist_set</a>(<span class="keyword">self</span>, copy, i);</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> assert(error == CPL_ERROR_NONE);</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> }</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> assert(self->size == cpl_frameset_get_size(frameset));</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="keywordflow">return</span> <span class="keyword">self</span>;</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> }</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00251"></a><span class="lineno"><a class="code" href="group__irplib__framelist.html#gabeedce2770a1bc06c26c0891a41aa174"> 251</a></span> cpl_frameset * <a class="code" href="group__irplib__framelist.html#gabeedce2770a1bc06c26c0891a41aa174" title="Create a CPL frameset from an irplib_framelist.">irplib_frameset_cast</a>(<span class="keyword">const</span> irplib_framelist * <span class="keyword">self</span>)</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> {</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> cpl_frameset * <span class="keyword">new</span>;</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> cpl_ensure(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT, NULL);</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="comment">/* The function cannot fail now */</span></div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="keyword">new</span> = cpl_frameset_new();</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="keywordflow">for</span> (i = 0; i < <span class="keyword">self</span>->size; i++) {</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> cpl_frame * frame = cpl_frame_duplicate(self->frame[i]);</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keyword">const</span> cpl_error_code error = cpl_frameset_insert(<span class="keyword">new</span>, frame);</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> assert(error == CPL_ERROR_NONE);</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> }</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> assert(self->size == cpl_frameset_get_size(<span class="keyword">new</span>));</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="keywordflow">return</span> <span class="keyword">new</span>;</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> }</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00290"></a><span class="lineno"><a class="code" href="group__irplib__framelist.html#ga86d6746d1c19356417815f7df04c3396"> 290</a></span> irplib_framelist * <a class="code" href="group__irplib__framelist.html#ga86d6746d1c19356417815f7df04c3396" title="Extract the frames with the given tag from a framelist.">irplib_framelist_extract</a>(<span class="keyword">const</span> irplib_framelist * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> {</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> irplib_framelist * <span class="keyword">new</span>;</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="keywordtype">int</span> i, newsize;</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> cpl_ensure(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT, NULL);</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> cpl_ensure(tag != NULL, CPL_ERROR_NULL_INPUT, NULL);</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="keyword">new</span> = <a class="code" href="group__irplib__framelist.html#ga5b86add048651f73424d2542a04946a0" title="Create an empty framelist.">irplib_framelist_new</a>();</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> newsize = 0;</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="keywordflow">for</span> (i = 0; i < <span class="keyword">self</span>->size; i++) {</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keyword">const</span> cpl_frame * frame = <span class="keyword">self</span>->frame[i];</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * ftag = cpl_frame_get_tag(frame);</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> cpl_frame * copy;</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> cpl_error_code error;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="keywordflow">if</span> (ftag == NULL) {</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="comment">/* The frame is ill-formed */</span></div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <a class="code" href="group__irplib__framelist.html#ga7a5159e9d27ef277df3fb55b331aaf26" title="Deallocate an irplib_framelist with its frames and properties.">irplib_framelist_delete</a>(<span class="keyword">new</span>);</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> cpl_ensure(0, CPL_ERROR_ILLEGAL_INPUT, NULL);</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> }</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keywordflow">if</span> (strcmp(tag, ftag)) <span class="keywordflow">continue</span>;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> copy = cpl_frame_duplicate(frame);</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> </div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> error = <a class="code" href="group__irplib__framelist.html#ga37e730f5627b4a0c7a81014f62421879" title="Add a frame to a framelist.">irplib_framelist_set</a>(<span class="keyword">new</span>, copy, newsize);</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> assert(error == CPL_ERROR_NONE);</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> </div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="keywordflow">if</span> (self->propertylist[i] != NULL) <span class="keyword">new</span>->propertylist[newsize]</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> = cpl_propertylist_duplicate(self->propertylist[i]);</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> newsize++;</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> }</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> </div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> assert( newsize == new->size );</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> </div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="keywordflow">if</span> (newsize == 0) {</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="preprocessor">#if defined CPL_HAVE_VA_ARGS && CPL_HAVE_VA_ARGS != 0</span></div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="preprocessor"></span> cpl_error_set_message(cpl_func, CPL_ERROR_DATA_NOT_FOUND,</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="stringliteral">"The list of %d frame(s) has no frames "</span></div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="stringliteral">"with tag: %s"</span>, self->size, tag);</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="preprocessor"></span> cpl_error_set_message(cpl_func, CPL_ERROR_DATA_NOT_FOUND,</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="stringliteral">"The list of frame(s) has no frames "</span></div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="stringliteral">"with the given tag"</span>);</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="preprocessor"></span> <a class="code" href="group__irplib__framelist.html#ga7a5159e9d27ef277df3fb55b331aaf26" title="Deallocate an irplib_framelist with its frames and properties.">irplib_framelist_delete</a>(<span class="keyword">new</span>);</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="keyword">new</span> = NULL;</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> }</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="keywordflow">return</span> <span class="keyword">new</span>;</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> </div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> }</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00360"></a><span class="lineno"><a class="code" href="group__irplib__framelist.html#gace77e5ae75183a22a0e5af9dd9018b01"> 360</a></span> irplib_framelist * <a class="code" href="group__irplib__framelist.html#gace77e5ae75183a22a0e5af9dd9018b01" title="Extract the frames with the given tag from a framelist.">irplib_framelist_extract_regexp</a>(<span class="keyword">const</span> irplib_framelist* <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * regexp,</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> cpl_boolean invert)</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> {</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> </div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> irplib_framelist * <span class="keyword">new</span>;</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="keywordtype">int</span> error;</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordtype">int</span> i, newsize;</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="keyword">const</span> <span class="keywordtype">int</span> xor = invert == CPL_FALSE ? 0 : 1;</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> regex_t re;</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> </div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> cpl_ensure(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT, NULL);</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> cpl_ensure(regexp != NULL, CPL_ERROR_NULL_INPUT, NULL);</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> error = regcomp(&re, regexp, REG_EXTENDED | REG_NOSUB);</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> cpl_ensure(!error, CPL_ERROR_ILLEGAL_INPUT, NULL);</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="keyword">new</span> = <a class="code" href="group__irplib__framelist.html#ga5b86add048651f73424d2542a04946a0" title="Create an empty framelist.">irplib_framelist_new</a>();</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> newsize = 0;</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> </div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="keywordflow">for</span> (i = 0; i < <span class="keyword">self</span>->size; i++) {</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="keyword">const</span> cpl_frame * frame = <span class="keyword">self</span>->frame[i];</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * tag = cpl_frame_get_tag(frame);</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> cpl_frame * copy;</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="keywordflow">if</span> (tag == NULL) {</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="comment">/* The frame is ill-formed */</span></div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <a class="code" href="group__irplib__framelist.html#ga7a5159e9d27ef277df3fb55b331aaf26" title="Deallocate an irplib_framelist with its frames and properties.">irplib_framelist_delete</a>(<span class="keyword">new</span>);</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> regfree(&re);</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> cpl_ensure(0, CPL_ERROR_ILLEGAL_INPUT, NULL);</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> }</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> </div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="keywordflow">if</span> ((regexec(&re, tag, (<span class="keywordtype">size_t</span>)0, NULL, 0) == REG_NOMATCH ? 1 : 0)</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> ^ xor) <span class="keywordflow">continue</span>;</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> copy = cpl_frame_duplicate(frame);</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> </div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> error = (int)<a class="code" href="group__irplib__framelist.html#ga37e730f5627b4a0c7a81014f62421879" title="Add a frame to a framelist.">irplib_framelist_set</a>(<span class="keyword">new</span>, copy, newsize);</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> assert(error == CPL_ERROR_NONE);</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> </div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="keywordflow">if</span> (self->propertylist[i] != NULL) <span class="keyword">new</span>->propertylist[newsize]</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> = cpl_propertylist_duplicate(self->propertylist[i]);</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> </div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> newsize++;</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> </div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> }</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> regfree(&re);</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> </div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> assert( newsize == new->size );</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> </div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="keywordflow">if</span> (newsize == 0) {</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="preprocessor">#if defined CPL_HAVE_VA_ARGS && CPL_HAVE_VA_ARGS != 0</span></div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="preprocessor"></span> cpl_error_set_message(cpl_func, CPL_ERROR_DATA_NOT_FOUND,</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="stringliteral">"The list of %d frame(s) has no frames "</span></div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="stringliteral">"that match: %s"</span>, self->size, regexp);</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="preprocessor"></span> cpl_error_set_message(cpl_func, CPL_ERROR_DATA_NOT_FOUND,</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="stringliteral">"The list of frames has no frames "</span></div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="stringliteral">"that match the regular expression"</span>);</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="preprocessor"></span> <a class="code" href="group__irplib__framelist.html#ga7a5159e9d27ef277df3fb55b331aaf26" title="Deallocate an irplib_framelist with its frames and properties.">irplib_framelist_delete</a>(<span class="keyword">new</span>);</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="keyword">new</span> = NULL;</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> }</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> </div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="keywordflow">return</span> <span class="keyword">new</span>;</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> }</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> </div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> </div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00438"></a><span class="lineno"><a class="code" href="group__irplib__framelist.html#ga2518fce55112b5008cb119a126e593d7"> 438</a></span> <span class="keywordtype">int</span> <a class="code" href="group__irplib__framelist.html#ga2518fce55112b5008cb119a126e593d7" title="Get the size of a framelist.">irplib_framelist_get_size</a>(<span class="keyword">const</span> irplib_framelist * <span class="keyword">self</span>)</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> {</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> </div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> cpl_ensure(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT, -1);</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> </div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="keywordflow">return</span> <span class="keyword">self</span>->size;</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> </div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> }</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> </div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00456"></a><span class="lineno"><a class="code" href="group__irplib__framelist.html#gaba8797bbb8394f5574cd88b2f1984387"> 456</a></span> cpl_frame * <a class="code" href="group__irplib__framelist.html#gaba8797bbb8394f5574cd88b2f1984387" title="Get the specified frame from the framelist.">irplib_framelist_get</a>(irplib_framelist * <span class="keyword">self</span>, <span class="keywordtype">int</span> pos)</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> {</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> IRPLIB_DIAG_PRAGMA_PUSH_IGN(-Wcast-qual);</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <span class="keywordflow">return</span> (cpl_frame *)<a class="code" href="group__irplib__framelist.html#ga93d8f903729ea4b6fcb3eca85935716f" title="Get the specified frame from the framelist.">irplib_framelist_get_const</a>(<span class="keyword">self</span>, pos);</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> IRPLIB_DIAG_PRAGMA_POP;</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> }</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> </div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> </div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00473"></a><span class="lineno"><a class="code" href="group__irplib__framelist.html#ga93d8f903729ea4b6fcb3eca85935716f"> 473</a></span> <span class="keyword">const</span> cpl_frame * <a class="code" href="group__irplib__framelist.html#ga93d8f903729ea4b6fcb3eca85935716f" title="Get the specified frame from the framelist.">irplib_framelist_get_const</a>(<span class="keyword">const</span> irplib_framelist * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="keywordtype">int</span> pos)</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> {</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> </div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> cpl_ensure(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT, NULL);</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> cpl_ensure(pos >= 0, CPL_ERROR_ILLEGAL_INPUT, NULL);</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> cpl_ensure(pos < self->size, CPL_ERROR_ACCESS_OUT_OF_RANGE, NULL);</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> </div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="keywordflow">return</span> <span class="keyword">self</span>->frame[pos];</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> </div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> }</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> </div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> </div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00496"></a><span class="lineno"><a class="code" href="group__irplib__framelist.html#gada2c2e3f530a6dff763402eefceb5600"> 496</a></span> cpl_error_code <a class="code" href="group__irplib__framelist.html#gada2c2e3f530a6dff763402eefceb5600" title="Duplicate a propertylist to the specified position in the framelist.">irplib_framelist_set_propertylist</a>(irplib_framelist * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="keywordtype">int</span> pos,</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <span class="keyword">const</span> cpl_propertylist * list)</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> {</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> </div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> cpl_ensure_code(list != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> cpl_ensure_code(pos >= 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> cpl_ensure_code(pos < self->size, CPL_ERROR_ACCESS_OUT_OF_RANGE);</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> </div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> cpl_propertylist_delete(self->propertylist[pos]);</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> </div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> <span class="keyword">self</span>->propertylist[pos] = cpl_propertylist_duplicate(list);</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> </div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> cpl_ensure_code(self->propertylist[pos] != NULL, cpl_error_get_code());</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> </div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> </div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> }</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> </div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> </div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00529"></a><span class="lineno"><a class="code" href="group__irplib__framelist.html#gab4858b1e9164f3a6cffcf40270f89032"> 529</a></span> cpl_propertylist * <a class="code" href="group__irplib__framelist.html#gab4858b1e9164f3a6cffcf40270f89032" title="Get the propertylist of the specified frame in the framelist.">irplib_framelist_get_propertylist</a>(irplib_framelist * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> <span class="keywordtype">int</span> pos)</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> {</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> </div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> IRPLIB_DIAG_PRAGMA_PUSH_IGN(-Wcast-qual);</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> <span class="keywordflow">return</span> (cpl_propertylist *)<a class="code" href="group__irplib__framelist.html#ga7700dadcf17db5b86409e6cef233af4c" title="Get the propertylist of the specified frame in the framelist.">irplib_framelist_get_propertylist_const</a>(<span class="keyword">self</span>,</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> pos);</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> IRPLIB_DIAG_PRAGMA_POP;</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> }</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> </div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> </div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00552"></a><span class="lineno"><a class="code" href="group__irplib__framelist.html#ga7700dadcf17db5b86409e6cef233af4c"> 552</a></span> <span class="keyword">const</span> cpl_propertylist * <a class="code" href="group__irplib__framelist.html#ga7700dadcf17db5b86409e6cef233af4c" title="Get the propertylist of the specified frame in the framelist.">irplib_framelist_get_propertylist_const</a>(</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="keyword">const</span> irplib_framelist * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <span class="keywordtype">int</span> pos)</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> {</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> cpl_ensure(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT, NULL);</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> cpl_ensure(pos >= 0, CPL_ERROR_ILLEGAL_INPUT, NULL);</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> cpl_ensure(pos < self->size, CPL_ERROR_ACCESS_OUT_OF_RANGE, NULL);</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> </div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> cpl_ensure(self->propertylist[pos] != NULL,</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> CPL_ERROR_DATA_NOT_FOUND, NULL);</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> </div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <span class="keywordflow">return</span> <span class="keyword">self</span>->propertylist[pos];</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> </div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> }</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> </div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> </div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00583"></a><span class="lineno"><a class="code" href="group__irplib__framelist.html#ga6ce5701e84915514975d09e0100c6005"> 583</a></span> cpl_error_code <a class="code" href="group__irplib__framelist.html#ga6ce5701e84915514975d09e0100c6005" title="Load the propertylist of the specified frame in the framelist.">irplib_framelist_load_propertylist</a>(irplib_framelist * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <span class="keywordtype">int</span> pos, <span class="keywordtype">int</span> ind,</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * regexp,</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> cpl_boolean invert)</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> {</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> </div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * filename;</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> </div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> </div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> cpl_ensure_code(regexp != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> cpl_ensure_code(pos >= 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> cpl_ensure_code(pos < self->size, CPL_ERROR_ACCESS_OUT_OF_RANGE);</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> </div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> filename = cpl_frame_get_filename(self->frame[pos]);</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> </div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> cpl_ensure_code(filename != NULL, cpl_error_get_code());</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> </div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> cpl_propertylist_delete(self->propertylist[pos]);</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> </div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> <span class="keyword">self</span>->propertylist[pos] = cpl_propertylist_load_regexp(filename, ind,</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> regexp,</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> invert ? 1 : 0);</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> </div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> <span class="keywordflow">if</span> (self->propertylist[pos] == NULL) {</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="preprocessor">#if defined CPL_HAVE_VA_ARGS && CPL_HAVE_VA_ARGS != 0</span></div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="preprocessor"></span> <span class="keywordflow">return</span> cpl_error_set_message(cpl_func, cpl_error_get_code(), <span class="stringliteral">"Could "</span></div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> <span class="stringliteral">"not load FITS header from '%s' using "</span></div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> <span class="stringliteral">"regexp '%s'"</span>, filename, regexp);</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="preprocessor"></span> <span class="keywordflow">return</span> cpl_error_set_message(cpl_func, cpl_error_get_code(),</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <span class="stringliteral">"Could not load FITS header"</span>);</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="preprocessor"></span> }</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> </div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> </div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> }</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> </div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> </div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00638"></a><span class="lineno"><a class="code" href="group__irplib__framelist.html#gaf9204681e0b6aa2d952c974dcbd8729d"> 638</a></span> cpl_error_code <a class="code" href="group__irplib__framelist.html#gaf9204681e0b6aa2d952c974dcbd8729d" title="Load the propertylists of all frames in the framelist.">irplib_framelist_load_propertylist_all</a>(irplib_framelist * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> <span class="keywordtype">int</span> ind,</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * regexp,</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> cpl_boolean invert)</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> {</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> </div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> <span class="keywordtype">int</span> nprops = 0;</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> <span class="keywordtype">int</span> nfiles = 0;</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> </div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> cpl_ensure_code(regexp != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> </div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <span class="keywordflow">for</span> (i=0; i < <span class="keyword">self</span>->size; i++) {</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> <span class="keywordflow">if</span> (self->propertylist[i] == NULL)</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> cpl_ensure_code(!<a class="code" href="group__irplib__framelist.html#ga6ce5701e84915514975d09e0100c6005" title="Load the propertylist of the specified frame in the framelist.">irplib_framelist_load_propertylist</a>(<span class="keyword">self</span>, i,</div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> ind,</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> regexp,</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> invert),</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> cpl_error_get_code());</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> <span class="comment">/* Counting just for diagnostics - this actually causes</span></div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="comment"> the whole list to be reiterated :-( */</span></div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> nprops += cpl_propertylist_get_size(self->propertylist[i]);</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> nfiles++;</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> }</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> </div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> cpl_msg_info(cpl_func, <span class="stringliteral">"List of %d frames has %d properties"</span>, nfiles,</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> nprops);</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> </div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> </div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> }</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> </div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> </div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> </div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00682"></a><span class="lineno"><a class="code" href="group__irplib__framelist.html#gab11bb60e44dea926cd50ee80c7fbbd14"> 682</a></span> cpl_error_code <a class="code" href="group__irplib__framelist.html#gab11bb60e44dea926cd50ee80c7fbbd14" title="Set the tag of all frames in the list.">irplib_framelist_set_tag_all</a>(irplib_framelist * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> {</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> </div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> </div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> cpl_ensure_code(tag != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> </div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> <span class="keywordflow">for</span> (i=0; i < <span class="keyword">self</span>->size; i++)</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> cpl_ensure_code(!cpl_frame_set_tag(self->frame[i], tag),</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> cpl_error_get_code());</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> </div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> }</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> </div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> </div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00714"></a><span class="lineno"><a class="code" href="group__irplib__framelist.html#ga37e730f5627b4a0c7a81014f62421879"> 714</a></span> cpl_error_code <a class="code" href="group__irplib__framelist.html#ga37e730f5627b4a0c7a81014f62421879" title="Add a frame to a framelist.">irplib_framelist_set</a>(irplib_framelist * <span class="keyword">self</span>, cpl_frame * frame,</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> <span class="keywordtype">int</span> pos)</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> {</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> </div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> cpl_ensure_code(frame != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> cpl_ensure_code(pos >= 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> </div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> <span class="keywordflow">if</span> (pos == self->size) {</div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> </div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> <span class="keyword">self</span>->size++;</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> </div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> irplib_framelist_set_size(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> </div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> </div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> cpl_ensure_code(pos < self->size, CPL_ERROR_ACCESS_OUT_OF_RANGE);</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> </div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> cpl_frame_delete(self->frame[pos]);</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> cpl_propertylist_delete(self->propertylist[pos]);</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> }</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> </div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> <span class="keyword">self</span>->frame[pos] = frame;</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> <span class="keyword">self</span>->propertylist[pos] = NULL;</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> </div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> </div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> }</div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> </div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00753"></a><span class="lineno"><a class="code" href="group__irplib__framelist.html#gac66ea3ad4fc98c171f8b840229fe54ce"> 753</a></span> cpl_error_code <a class="code" href="group__irplib__framelist.html#gac66ea3ad4fc98c171f8b840229fe54ce" title="Erase a frame from a framelist and delete it and its propertylist.">irplib_framelist_erase</a>(irplib_framelist * <span class="keyword">self</span>, <span class="keywordtype">int</span> pos)</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> {</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> </div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> </div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> cpl_ensure_code(pos >= 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> cpl_ensure_code(pos < self->size, CPL_ERROR_ACCESS_OUT_OF_RANGE);</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> </div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> </div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> <span class="comment">/* Delete the specified frame and its propertylist */</span></div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> cpl_frame_delete(self->frame[pos]);</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> cpl_propertylist_delete(self->propertylist[pos]);</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> </div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> <span class="comment">/* Move following frames down one position */</span></div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> <span class="keywordflow">for</span> (i = pos+1; i < <span class="keyword">self</span>->size; i++) {</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> </div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> <span class="keyword">self</span>->frame[i-1] = <span class="keyword">self</span>->frame[i];</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> </div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> <span class="keyword">self</span>->propertylist[i-1] = <span class="keyword">self</span>->propertylist[i];</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> </div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> }</div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> </div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> <span class="keyword">self</span>->size--;</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> </div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> irplib_framelist_set_size(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> </div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> </div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> }</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> </div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> </div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> </div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00803"></a><span class="lineno"><a class="code" href="group__irplib__framelist.html#ga771f14f97f80a9bd7176d323999c9bce"> 803</a></span> cpl_frame * <a class="code" href="group__irplib__framelist.html#ga771f14f97f80a9bd7176d323999c9bce" title="Erase a frame from a framelist and return it to the caller.">irplib_framelist_unset</a>(irplib_framelist * <span class="keyword">self</span>, <span class="keywordtype">int</span> pos,</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> cpl_propertylist ** plist)</div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> </div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> {</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> cpl_frame * frame;</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> </div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> </div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> cpl_ensure(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT, NULL);</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> cpl_ensure(pos >= 0, CPL_ERROR_ILLEGAL_INPUT, NULL);</div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> cpl_ensure(pos < self->size, CPL_ERROR_ACCESS_OUT_OF_RANGE, NULL);</div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> </div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> <span class="comment">/* Get the specified frame and its propertylist */</span></div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> frame = <span class="keyword">self</span>->frame[pos];</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> </div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> <span class="keywordflow">if</span> (plist != NULL)</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> *plist = <span class="keyword">self</span>->propertylist[pos];</div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> cpl_propertylist_delete(self->propertylist[pos]);</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> </div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> </div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> <span class="comment">/* Move following frames down one position */</span></div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> <span class="keywordflow">for</span> (i = pos+1; i < <span class="keyword">self</span>->size; i++) {</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> </div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> <span class="keyword">self</span>->frame[i-1] = <span class="keyword">self</span>->frame[i];</div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> </div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> <span class="keyword">self</span>->propertylist[i-1] = <span class="keyword">self</span>->propertylist[i];</div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> </div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> }</div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> </div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> <span class="keyword">self</span>->size--;</div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> </div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> irplib_framelist_set_size(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> </div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> <span class="keywordflow">return</span> frame;</div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> </div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> }</div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> </div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00849"></a><span class="lineno"><a class="code" href="group__irplib__framelist.html#ga900ea254d9b2a2e4e3957360bbae4deb"> 849</a></span> <span class="keywordtype">void</span> <a class="code" href="group__irplib__framelist.html#ga900ea254d9b2a2e4e3957360bbae4deb" title="Erase all frames from a framelist.">irplib_framelist_empty</a>(irplib_framelist * <span class="keyword">self</span>)</div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> {</div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> </div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> <span class="keywordflow">if</span> (<span class="keyword">self</span> != NULL) {</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> </div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> <span class="comment">/* Deallocate all frames and their propertylists */</span></div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> <span class="keywordflow">while</span> (self->size > 0) {</div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> <span class="keyword">self</span>->size--;</div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> cpl_frame_delete(self->frame[self->size]);</div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> cpl_propertylist_delete(self->propertylist[self->size]);</div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> </div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> }</div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> </div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> <span class="comment">/* Deallocate the arrays */</span></div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> irplib_framelist_set_size(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> </div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> }</div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> }</div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> </div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> </div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> </div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00909"></a><span class="lineno"><a class="code" href="group__irplib__framelist.html#gafed15e9e259ebad923b710f5eb0196ac"> 909</a></span> cpl_error_code <a class="code" href="group__irplib__framelist.html#gafed15e9e259ebad923b710f5eb0196ac" title="Verify that a property is present for all frames.">irplib_framelist_contains</a>(<span class="keyword">const</span> irplib_framelist * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * key, cpl_type type,</div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> cpl_boolean is_equal, <span class="keywordtype">double</span> fp_tol)</div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> {</div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> </div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> <span class="keywordtype">char</span> * value_0;</div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> <span class="keywordtype">char</span> * value_i;</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> cpl_type type_0 = CPL_TYPE_INVALID;</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> <span class="keywordtype">int</span> i, ifirst = -1; <span class="comment">/* First non-NULL propertylist */</span></div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> </div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> </div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> cpl_ensure_code(key != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> cpl_ensure_code(fp_tol >= 0.0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> </div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> <span class="keywordflow">for</span> (i=0; i < <span class="keyword">self</span>->size; i++) {</div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> cpl_type type_i;</div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> </div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> </div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> <span class="keywordflow">if</span> (self->propertylist[i] == NULL) <span class="keywordflow">continue</span>;</div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> <span class="keywordflow">if</span> (ifirst < 0) ifirst = i;</div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> </div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> type_i = cpl_propertylist_get_type(self->propertylist[i], key);</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> </div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> <span class="keywordflow">if</span> (type_i == CPL_TYPE_INVALID) {</div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> <span class="keywordflow">if</span> (type == CPL_TYPE_INVALID)</div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> <span class="preprocessor">#if defined CPL_HAVE_VA_ARGS && CPL_HAVE_VA_ARGS != 0</span></div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> <span class="preprocessor"></span> cpl_error_set_message(cpl_func, cpl_error_get_code(), <span class="stringliteral">"FITS "</span></div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> <span class="stringliteral">"key '%s' is missing from file %s"</span>, key,</div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> cpl_frame_get_filename(self->frame[i]));</div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> cpl_error_set_message(cpl_func, cpl_error_get_code(),</div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> <span class="stringliteral">"FITS key '%s' [%s] is missing from file "</span></div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> <span class="stringliteral">"%s"</span>, key, cpl_type_get_name(type),</div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> cpl_frame_get_filename(self->frame[i]));</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> <span class="preprocessor"></span> cpl_error_set_message(cpl_func, cpl_error_get_code(),</div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> <span class="stringliteral">"A FITS key is missing from a file"</span>);</div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> cpl_error_set_message(cpl_func, cpl_error_get_code(),</div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> <span class="stringliteral">"A FITS key is missing from a file"</span>);</div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> <span class="preprocessor"></span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> }</div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> </div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> <span class="keywordflow">if</span> (type != CPL_TYPE_INVALID && type_i != type) {</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> <span class="preprocessor">#if defined CPL_HAVE_VA_ARGS && CPL_HAVE_VA_ARGS != 0</span></div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> <span class="preprocessor"></span> <span class="keywordflow">return</span> cpl_error_set_message(cpl_func, CPL_ERROR_INVALID_TYPE,</div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> <span class="stringliteral">"FITS key '%s' has type %s instead of "</span></div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> <span class="stringliteral">"%s in file %s"</span>, key,</div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> cpl_type_get_name(type_i),</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> cpl_type_get_name(type),</div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> cpl_frame_get_filename(self->frame[i]));</div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> <span class="preprocessor"></span> <span class="keywordflow">return</span> cpl_error_set_message(cpl_func, CPL_ERROR_INVALID_TYPE,</div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> <span class="stringliteral">"A FITS key had an unexpected type"</span>);</div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> }</div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> </div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> <span class="keywordflow">if</span> (!is_equal) <span class="keywordflow">continue</span>;</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> </div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> <span class="keywordflow">if</span> (type_0 == CPL_TYPE_INVALID) {</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> type_0 = type_i;</div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> <span class="keywordflow">continue</span>;</div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> }</div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> </div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> <span class="keywordflow">if</span> (type_i != type_0) {</div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> assert( type == CPL_TYPE_INVALID );</div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> <span class="preprocessor">#if defined CPL_HAVE_VA_ARGS && CPL_HAVE_VA_ARGS != 0</span></div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> <span class="preprocessor"></span> <span class="keywordflow">return</span> cpl_error_set_message(cpl_func, CPL_ERROR_TYPE_MISMATCH,</div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> <span class="stringliteral">"FITS key '%s' has different types "</span></div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> <span class="stringliteral">"(%s <=> %s) in files %s and %s"</span>, key,</div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> cpl_type_get_name(type_0),</div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> cpl_type_get_name(type_i),</div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> cpl_frame_get_filename(self->frame[0]),</div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> cpl_frame_get_filename(self->frame[i]));</div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> <span class="preprocessor"></span> <span class="keywordflow">return</span> cpl_error_set_message(cpl_func, CPL_ERROR_TYPE_MISMATCH,</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> <span class="stringliteral">"A FITS key has different types in "</span></div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> <span class="stringliteral">"two files"</span>);</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> <span class="preprocessor"></span> }</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> </div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> <span class="keywordflow">if</span> (irplib_property_equal(self->propertylist[ifirst],</div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> self->propertylist[i],</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> key, type_0, fp_tol, &value_0, &value_i))</div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> <span class="keywordflow">continue</span>;</div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> </div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> <span class="keywordflow">if</span> ((type_0 == CPL_TYPE_FLOAT || type_0 == CPL_TYPE_DOUBLE)</div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> && fp_tol > 0.0) {</div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> <span class="preprocessor">#if defined CPL_HAVE_VA_ARGS && CPL_HAVE_VA_ARGS != 0</span></div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> <span class="preprocessor"></span> cpl_error_set_message(cpl_func, CPL_ERROR_INCOMPATIBLE_INPUT, <span class="stringliteral">"FITS"</span></div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> <span class="stringliteral">" key '%s' [%s] has values that differ by "</span></div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> <span class="stringliteral">"more than %g (%s <=> %s) in files %s and %s"</span>,</div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> key, cpl_type_get_name(type_0), fp_tol,</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> value_0, value_i,</div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> cpl_frame_get_filename(self->frame[0]),</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> cpl_frame_get_filename(self->frame[i]));</div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> <span class="preprocessor"></span> cpl_error_set_message(cpl_func, CPL_ERROR_INCOMPATIBLE_INPUT, <span class="stringliteral">"A "</span></div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> <span class="stringliteral">"FITS key has values that differ by more "</span></div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> <span class="stringliteral">"than the allowed tolerance in two file"</span>);</div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> <span class="preprocessor"></span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> <span class="preprocessor">#if defined CPL_HAVE_VA_ARGS && CPL_HAVE_VA_ARGS != 0</span></div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> <span class="preprocessor"></span> cpl_error_set_message(cpl_func, CPL_ERROR_INCOMPATIBLE_INPUT,</div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> <span class="stringliteral">"FITS key '%s' [%s] has different values "</span></div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> <span class="stringliteral">"(%s <=> %s) in files %s and %s"</span>, key,</div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> cpl_type_get_name(type_0),</div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> value_0, value_i,</div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> cpl_frame_get_filename(self->frame[0]),</div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> cpl_frame_get_filename(self->frame[i]));</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> <span class="preprocessor"></span> cpl_error_set_message(cpl_func, CPL_ERROR_INCOMPATIBLE_INPUT, <span class="stringliteral">"A "</span></div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> <span class="stringliteral">"FITS key has different values in two files"</span>);</div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> <span class="preprocessor"></span> }</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> cpl_free(value_0);</div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> cpl_free(value_i);</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> </div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> } </div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> </div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> </div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> }</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> </div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> </div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01052"></a><span class="lineno"><a class="code" href="group__irplib__framelist.html#ga0ff6c5e3b778c607544ca04ca3fb9e94"> 1052</a></span> cpl_imagelist * <a class="code" href="group__irplib__framelist.html#ga0ff6c5e3b778c607544ca04ca3fb9e94" title="Load an imagelist from a framelist.">irplib_imagelist_load_framelist</a>(<span class="keyword">const</span> irplib_framelist * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> cpl_type pixeltype,</div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> <span class="keywordtype">int</span> planenum,</div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> <span class="keywordtype">int</span> extnum)</div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> {</div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> </div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> cpl_imagelist * list = NULL;</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> cpl_image * image = NULL;</div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> </div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> </div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> cpl_ensure(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT, NULL);</div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> cpl_ensure(extnum >= 0, CPL_ERROR_ACCESS_OUT_OF_RANGE, NULL);</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> cpl_ensure(planenum >= 0, CPL_ERROR_ACCESS_OUT_OF_RANGE, NULL);</div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> </div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> list = cpl_imagelist_new();</div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> </div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> <span class="keywordflow">for</span> (i=0; i < <span class="keyword">self</span>->size; i++, image = NULL) {</div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * filename = cpl_frame_get_filename(self->frame[i]);</div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> cpl_error_code error;</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> </div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> <span class="keywordflow">if</span> (filename == NULL) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> </div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> image = cpl_image_load(filename, pixeltype, planenum, extnum);</div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> <span class="keywordflow">if</span> (image == NULL) {</div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> <span class="preprocessor">#if defined CPL_HAVE_VA_ARGS && CPL_HAVE_VA_ARGS != 0</span></div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> <span class="preprocessor"></span> (void)cpl_error_set_message(cpl_func, cpl_error_get_code(),</div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> <span class="stringliteral">"Could not load FITS-image from plane "</span></div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> <span class="stringliteral">"%d in extension %d in file %s"</span>,</div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> planenum, extnum, filename);</div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> <span class="preprocessor"></span> (void)cpl_error_set_message(cpl_func, cpl_error_get_code(),</div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> <span class="stringliteral">"Could not load FITS-image"</span>);</div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> <span class="preprocessor"></span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> }</div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> </div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> error = cpl_imagelist_set(list, image, i);</div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> assert(error == CPL_ERROR_NONE);</div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> }</div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> </div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> cpl_image_delete(image);</div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> </div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> <span class="keywordflow">if</span> (cpl_imagelist_get_size(list) != self->size) {</div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> cpl_imagelist_delete(list);</div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> list = NULL;</div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> assert(cpl_error_get_code() != CPL_ERROR_NONE);</div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> }</div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> </div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> <span class="keywordflow">return</span> list;</div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> </div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> }</div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> </div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> </div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> <span class="keyword">static</span> <span class="keywordtype">void</span> irplib_framelist_set_size(irplib_framelist * <span class="keyword">self</span>)</div>
-<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span> {</div>
-<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> </div>
-<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> </div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> assert( <span class="keyword">self</span> != NULL);</div>
-<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> </div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> <span class="keywordflow">if</span> (self->size == 0) {</div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> <span class="comment">/* The list has been emptied */</span></div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> cpl_free(self->frame);</div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> cpl_free(self->propertylist);</div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> <span class="keyword">self</span>->frame = NULL;</div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> <span class="keyword">self</span>->propertylist = NULL;</div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> <span class="comment">/* Update the size of the arrays */</span></div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> </div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> <span class="keyword">self</span>->frame = cpl_realloc(self->frame, self->size * <span class="keyword">sizeof</span>(cpl_frame*));</div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> <span class="keyword">self</span>->propertylist =</div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> cpl_realloc(self->propertylist,</div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> self->size * <span class="keyword">sizeof</span>(cpl_propertylist*));</div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> }</div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> </div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> }</div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> </div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> <span class="keyword">static</span> cpl_boolean irplib_property_equal(<span class="keyword">const</span> cpl_propertylist * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span> <span class="keyword">const</span> cpl_propertylist * other,</div>
-<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * key, cpl_type type,</div>
-<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> <span class="keywordtype">double</span> fp_tol,</div>
-<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> <span class="keywordtype">char</span> ** sstring, <span class="keywordtype">char</span> ** ostring)</div>
-<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> {</div>
-<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> </div>
-<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> cpl_boolean equal;</div>
-<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span> </div>
-<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> </div>
-<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span> assert(<span class="keyword">self</span> != NULL);</div>
-<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> assert(other != NULL);</div>
-<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> assert(key != NULL);</div>
-<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> assert(sstring != NULL);</div>
-<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> assert(ostring != NULL);</div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> </div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> <span class="comment">/* FIXME: disable for better performance also with debugging */</span></div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> assert(cpl_propertylist_get_type(other, key) == type);</div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> assert(fp_tol >= 0.0);</div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> </div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> <span class="keywordflow">if</span> (<span class="keyword">self</span> == other) <span class="keywordflow">return</span> CPL_TRUE;</div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> </div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> <span class="keywordflow">switch</span> (type) {</div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> </div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> <span class="keywordflow">case</span> CPL_TYPE_CHAR: {</div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> <span class="keyword">const</span> <span class="keywordtype">char</span> svalue = cpl_propertylist_get_char(<span class="keyword">self</span>, key);</div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> <span class="keyword">const</span> <span class="keywordtype">char</span> ovalue = cpl_propertylist_get_char(other, key);</div>
-<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> </div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> equal = svalue == ovalue ? CPL_TRUE : CPL_FALSE;</div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> <span class="keywordflow">if</span> (!equal) {</div>
-<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> *sstring = cpl_sprintf(<span class="stringliteral">"%c"</span>, svalue);</div>
-<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> *ostring = cpl_sprintf(<span class="stringliteral">"%c"</span>, ovalue);</div>
-<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> }</div>
-<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span> }</div>
-<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> </div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> <span class="keywordflow">case</span> CPL_TYPE_BOOL: {</div>
-<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> <span class="keyword">const</span> <span class="keywordtype">int</span> svalue = cpl_propertylist_get_bool(<span class="keyword">self</span>, key);</div>
-<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ovalue = cpl_propertylist_get_bool(other, key);</div>
-<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> </div>
-<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> equal = svalue == ovalue ? CPL_TRUE : CPL_FALSE;</div>
-<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> <span class="keywordflow">if</span> (!equal) {</div>
-<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> *sstring = cpl_strdup(svalue == 0 ? <span class="stringliteral">"F"</span> : <span class="stringliteral">"T"</span>);</div>
-<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> *ostring = cpl_strdup(ovalue == 0 ? <span class="stringliteral">"F"</span> : <span class="stringliteral">"T"</span>);</div>
-<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span> }</div>
-<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span> }</div>
-<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> </div>
-<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span> <span class="keywordflow">case</span> CPL_TYPE_INT: {</div>
-<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span> <span class="keyword">const</span> <span class="keywordtype">int</span> svalue = cpl_propertylist_get_int(<span class="keyword">self</span>, key);</div>
-<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ovalue = cpl_propertylist_get_int(other, key);</div>
-<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span> </div>
-<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span> equal = svalue == ovalue ? CPL_TRUE : CPL_FALSE;</div>
-<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span> <span class="keywordflow">if</span> (!equal) {</div>
-<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> *sstring = cpl_sprintf(<span class="stringliteral">"%d"</span>, svalue);</div>
-<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span> *ostring = cpl_sprintf(<span class="stringliteral">"%d"</span>, ovalue);</div>
-<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span> }</div>
-<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span> }</div>
-<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span> </div>
-<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span> <span class="keywordflow">case</span> CPL_TYPE_LONG: {</div>
-<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span> <span class="keyword">const</span> <span class="keywordtype">long</span> svalue = cpl_propertylist_get_long(<span class="keyword">self</span>, key);</div>
-<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span> <span class="keyword">const</span> <span class="keywordtype">long</span> ovalue = cpl_propertylist_get_long(other, key);</div>
-<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span> </div>
-<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span> equal = svalue == ovalue ? CPL_TRUE : CPL_FALSE;</div>
-<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span> <span class="keywordflow">if</span> (!equal) {</div>
-<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> *sstring = cpl_sprintf(<span class="stringliteral">"%ld"</span>, svalue);</div>
-<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span> *ostring = cpl_sprintf(<span class="stringliteral">"%ld"</span>, ovalue);</div>
-<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span> }</div>
-<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span> }</div>
-<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span> </div>
-<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span> <span class="keywordflow">case</span> CPL_TYPE_FLOAT: {</div>
-<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span> <span class="keyword">const</span> <span class="keywordtype">double</span> svalue = (double)cpl_propertylist_get_float(<span class="keyword">self</span>, key);</div>
-<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span> <span class="keyword">const</span> <span class="keywordtype">double</span> ovalue = (double)cpl_propertylist_get_float(other, key);</div>
-<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span> </div>
-<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span> equal = (fabs(svalue - ovalue) <= fp_tol) ? CPL_TRUE : CPL_FALSE;</div>
-<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span> <span class="keywordflow">if</span> (!equal) {</div>
-<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span> *sstring = cpl_sprintf(<span class="stringliteral">"%f"</span>, svalue);</div>
-<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span> *ostring = cpl_sprintf(<span class="stringliteral">"%f"</span>, ovalue);</div>
-<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span> }</div>
-<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> }</div>
-<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> </div>
-<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> <span class="keywordflow">case</span> CPL_TYPE_DOUBLE: {</div>
-<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> <span class="keyword">const</span> <span class="keywordtype">double</span> svalue = cpl_propertylist_get_double(<span class="keyword">self</span>, key);</div>
-<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> <span class="keyword">const</span> <span class="keywordtype">double</span> ovalue = cpl_propertylist_get_double(other, key);</div>
-<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> </div>
-<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> equal = (fabs(svalue - ovalue) <= fp_tol) ? CPL_TRUE : CPL_FALSE;</div>
-<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> <span class="keywordflow">if</span> (!equal) {</div>
-<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> *sstring = cpl_sprintf(<span class="stringliteral">"%g"</span>, svalue);</div>
-<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> *ostring = cpl_sprintf(<span class="stringliteral">"%g"</span>, ovalue);</div>
-<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> }</div>
-<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> }</div>
-<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> <span class="keywordflow">case</span> CPL_TYPE_STRING: {</div>
-<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * svalue = cpl_propertylist_get_string(<span class="keyword">self</span>, key);</div>
-<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * ovalue = cpl_propertylist_get_string(other, key);</div>
-<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> </div>
-<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> equal = strcmp(svalue, ovalue) == 0 ? CPL_TRUE : CPL_FALSE;</div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> <span class="keywordflow">if</span> (!equal) {</div>
-<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> *sstring = cpl_strdup(svalue);</div>
-<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> *ostring = cpl_strdup(ovalue);</div>
-<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> }</div>
-<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span> }</div>
-<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> <span class="comment">/* Unknown property type */</span></div>
-<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span> assert( 0 );</div>
-<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> </div>
-<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span> equal = CPL_FALSE; <span class="comment">/* In case of -DNDEBUG */</span></div>
-<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span> </div>
-<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> }</div>
-<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> </div>
-<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span> <span class="keywordflow">if</span> (!equal) {</div>
-<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span> assert( *sstring != NULL );</div>
-<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span> assert( *ostring != NULL );</div>
-<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span> }</div>
-<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> </div>
-<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span> <span class="keywordflow">return</span> equal;</div>
-<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span> </div>
-<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__framelist_8h_source.html b/html/irplib__framelist_8h_source.html
deleted file mode 100644
index c5d6919..0000000
--- a/html/irplib__framelist_8h_source.html
+++ /dev/null
@@ -1,154 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_framelist.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_framelist.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_framelist.h,v 1.8 2008/11/20 10:24:47 llundin Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package </span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: llundin $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2008/11/20 10:24:47 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.8 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef IRPLIB_FRAMELIST_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_FRAMELIST_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> New type</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>_irplib_framelist_ irplib_framelist;</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> Function prototypes</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/* Constructors and destructor */</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> irplib_framelist * <a class="code" href="group__irplib__framelist.html#ga5b86add048651f73424d2542a04946a0" title="Create an empty framelist.">irplib_framelist_new</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">void</span> <a class="code" href="group__irplib__framelist.html#ga7a5159e9d27ef277df3fb55b331aaf26" title="Deallocate an irplib_framelist with its frames and properties.">irplib_framelist_delete</a>(irplib_framelist *);</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> irplib_framelist * <a class="code" href="group__irplib__framelist.html#ga30cbfd003c6e6a6a42e610442f0b1bd1" title="Create an irplib_framelist from a cpl_framelist.">irplib_framelist_cast</a>(<span class="keyword">const</span> cpl_frameset *);</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> irplib_framelist * <a class="code" href="group__irplib__framelist.html#ga86d6746d1c19356417815f7df04c3396" title="Extract the frames with the given tag from a framelist.">irplib_framelist_extract</a>(<span class="keyword">const</span> irplib_framelist *,</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *);</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> irplib_framelist * <a class="code" href="group__irplib__framelist.html#gace77e5ae75183a22a0e5af9dd9018b01" title="Extract the frames with the given tag from a framelist.">irplib_framelist_extract_regexp</a>(<span class="keyword">const</span> irplib_framelist *,</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *, cpl_boolean);</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">/* Accessors and element modifiers */</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">int</span> <a class="code" href="group__irplib__framelist.html#ga2518fce55112b5008cb119a126e593d7" title="Get the size of a framelist.">irplib_framelist_get_size</a>(<span class="keyword">const</span> irplib_framelist *);</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keyword">const</span> cpl_frame * <a class="code" href="group__irplib__framelist.html#ga93d8f903729ea4b6fcb3eca85935716f" title="Get the specified frame from the framelist.">irplib_framelist_get_const</a>(<span class="keyword">const</span> irplib_framelist *, <span class="keywordtype">int</span>);</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> cpl_frame * <a class="code" href="group__irplib__framelist.html#gaba8797bbb8394f5574cd88b2f1984387" title="Get the specified frame from the framelist.">irplib_framelist_get</a>(irplib_framelist *, <span class="keywordtype">int</span>);</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keyword">const</span> cpl_propertylist * <a class="code" href="group__irplib__framelist.html#ga7700dadcf17db5b86409e6cef233af4c" title="Get the propertylist of the specified frame in the framelist.">irplib_framelist_get_propertylist_const</a>(</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keyword">const</span> irplib_framelist *,</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">int</span>);</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> cpl_propertylist * <a class="code" href="group__irplib__framelist.html#gab4858b1e9164f3a6cffcf40270f89032" title="Get the propertylist of the specified frame in the framelist.">irplib_framelist_get_propertylist</a>(irplib_framelist *, <span class="keywordtype">int</span>);</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> cpl_error_code <a class="code" href="group__irplib__framelist.html#gada2c2e3f530a6dff763402eefceb5600" title="Duplicate a propertylist to the specified position in the framelist.">irplib_framelist_set_propertylist</a>(irplib_framelist *, <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">const</span> cpl_propertylist *);</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> cpl_error_code <a class="code" href="group__irplib__framelist.html#ga6ce5701e84915514975d09e0100c6005" title="Load the propertylist of the specified frame in the framelist.">irplib_framelist_load_propertylist</a>(irplib_framelist *, <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">int</span>, <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> cpl_boolean);</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> cpl_error_code <a class="code" href="group__irplib__framelist.html#gaf9204681e0b6aa2d952c974dcbd8729d" title="Load the propertylists of all frames in the framelist.">irplib_framelist_load_propertylist_all</a>(irplib_framelist *, <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> cpl_boolean);</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> cpl_error_code <a class="code" href="group__irplib__framelist.html#gab11bb60e44dea926cd50ee80c7fbbd14" title="Set the tag of all frames in the list.">irplib_framelist_set_tag_all</a>(irplib_framelist *, <span class="keyword">const</span> <span class="keywordtype">char</span> *);</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment">/* Inserting and removing elements */</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> cpl_error_code <a class="code" href="group__irplib__framelist.html#ga37e730f5627b4a0c7a81014f62421879" title="Add a frame to a framelist.">irplib_framelist_set</a>(irplib_framelist *, cpl_frame *, <span class="keywordtype">int</span>);</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> cpl_error_code <a class="code" href="group__irplib__framelist.html#gac66ea3ad4fc98c171f8b840229fe54ce" title="Erase a frame from a framelist and delete it and its propertylist.">irplib_framelist_erase</a>(irplib_framelist *, <span class="keywordtype">int</span>);</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> cpl_frame * <a class="code" href="group__irplib__framelist.html#ga771f14f97f80a9bd7176d323999c9bce" title="Erase a frame from a framelist and return it to the caller.">irplib_framelist_unset</a>(irplib_framelist *, <span class="keywordtype">int</span>, cpl_propertylist **);</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">void</span> <a class="code" href="group__irplib__framelist.html#ga900ea254d9b2a2e4e3957360bbae4deb" title="Erase all frames from a framelist.">irplib_framelist_empty</a>(irplib_framelist *);</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment">/* Others */</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> cpl_error_code <a class="code" href="group__irplib__framelist.html#gafed15e9e259ebad923b710f5eb0196ac" title="Verify that a property is present for all frames.">irplib_framelist_contains</a>(<span class="keyword">const</span> irplib_framelist *, <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> cpl_type, cpl_boolean, <span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> cpl_imagelist * <a class="code" href="group__irplib__framelist.html#ga0ff6c5e3b778c607544ca04ca3fb9e94" title="Load an imagelist from a framelist.">irplib_imagelist_load_framelist</a>(<span class="keyword">const</span> irplib_framelist *,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> cpl_type, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>);</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> cpl_frameset * <a class="code" href="group__irplib__framelist.html#gabeedce2770a1bc06c26c0891a41aa174" title="Create a CPL frameset from an irplib_framelist.">irplib_frameset_cast</a>(<span class="keyword">const</span> irplib_framelist *);</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__hist_8c_source.html b/html/irplib__hist_8c_source.html
deleted file mode 100644
index 62230a9..0000000
--- a/html/irplib__hist_8c_source.html
+++ /dev/null
@@ -1,397 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_hist.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_hist.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> </div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2002, 2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Author: jtaylor $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Id: irplib_hist.c,v 1.8 2013/07/04 12:10:12 jtaylor Exp $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Date: 2013/07/04 12:10:12 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * $Revision: 1.8 $</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <stdlib.h></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "irplib_hist.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keyword">struct </span>_irplib_hist_</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> {</div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> * bins;</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> nbins;</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keywordtype">double</span> start;</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keywordtype">double</span> range;</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> };</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> * Create a new empty histogram</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> irplib_hist *</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> irplib_hist_new(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> {</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordflow">return</span> (irplib_hist *) cpl_calloc(1, <span class="keyword">sizeof</span>(irplib_hist));</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> }</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> * Delete a histogram</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> irplib_hist_delete(irplib_hist * d)</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> {</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordflow">if</span> (d == NULL)</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordflow">if</span> (d -> bins)</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> cpl_free(d -> bins);</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> cpl_free(d);</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> }</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> * Initialise a histogram with user-defined values</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> cpl_error_code</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> irplib_hist_init(irplib_hist * hist,</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> nbins,</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">double</span> start,</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">double</span> range)</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> {</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">/* Test the entries */</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> cpl_ensure_code(hist != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> cpl_ensure_code(nbins > 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> cpl_ensure_code(range > 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> cpl_ensure_code(hist -> bins == NULL, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">/* Initialise the histogram structure */</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> hist -> bins = (<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> *) cpl_calloc(nbins, <span class="keyword">sizeof</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>));</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> hist -> nbins = nbins;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> hist -> start = start;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> hist -> range = range;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> }</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment"> * Return the value of a histogram bin.</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"> * An uninitialised histogram is considered an illegal input.</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> irplib_hist_get_value(<span class="keyword">const</span> irplib_hist * hist,</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> binpos)</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> {</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> cpl_ensure(hist != NULL, CPL_ERROR_NULL_INPUT, 0);</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> cpl_ensure(hist -> bins != NULL, CPL_ERROR_ILLEGAL_INPUT, 0);</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> cpl_ensure(binpos < hist -> nbins, CPL_ERROR_ILLEGAL_INPUT, 0);</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordflow">return</span> hist -> bins[binpos];</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> }</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment"> * Return the number of bins in the histogram.</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> irplib_hist_get_nbins(<span class="keyword">const</span> irplib_hist * hist)</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> {</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> cpl_ensure(hist != NULL, CPL_ERROR_NULL_INPUT, 0);</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">return</span> hist -> nbins;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> }</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment"> * Return the binwidth of the histogram.</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> irplib_hist_get_bin_size(<span class="keyword">const</span> irplib_hist * hist)</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> {</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> cpl_ensure(hist != NULL, CPL_ERROR_NULL_INPUT, 0);</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> cpl_ensure(hist -> bins != NULL, CPL_ERROR_ILLEGAL_INPUT, 0);</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keywordflow">return</span> hist -> range / (double)(hist -> nbins - 2);</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> }</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment"> * Return the range covered by the histogram.</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> irplib_hist_get_range(<span class="keyword">const</span> irplib_hist * hist)</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> {</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> cpl_ensure(hist != NULL, CPL_ERROR_NULL_INPUT, 0);</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordflow">return</span> hist -> range;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> }</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment"> * Return the real value corresponding</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment"> * to the inferior limit of the histogram..</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> irplib_hist_get_start(<span class="keyword">const</span> irplib_hist * hist)</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> {</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> cpl_ensure(hist != NULL, CPL_ERROR_NULL_INPUT, 0);</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> cpl_ensure(hist -> bins != NULL, CPL_ERROR_ILLEGAL_INPUT, 0);</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="keywordflow">return</span> hist -> start;</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> }</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment"> * Fill a histogram for an image.</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment"> * If the histogram is uninitialised,</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="comment"> * the function initialises it with default values.</span></div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> cpl_error_code</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> irplib_hist_fill(irplib_hist * hist,</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keyword">const</span> cpl_image * image)</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> {</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordtype">double</span> binwidth = 1.0;</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordtype">int</span> nsamples;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keyword">const</span> <span class="keywordtype">float</span> * data = 0;</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keyword">const</span> cpl_binary* bpm_data = 0;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keyword">const</span> cpl_mask* bpm = 0;</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> cpl_error_code error;</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment">/* Test the entries */</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> cpl_ensure_code(hist != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> cpl_ensure_code(image != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">if</span> (hist -> bins == NULL) {</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keyword">const</span> <span class="keywordtype">double</span> hstart = cpl_image_get_min(image);</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keyword">const</span> <span class="keywordtype">double</span> hrange = cpl_image_get_max(image) - hstart;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment"> * Whichever function that computes an optimal binwidth</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment"> * should be introduced inside this if-statement, here.</span></div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment">/* 2 extra-bins for possible out-of-range values */</span></div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> nbins = (<span class="keywordtype">unsigned</span> long) (hrange / binwidth) + 2;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> error = irplib_hist_init(hist, nbins, hstart, hrange);</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> cpl_ensure_code(!error, error);</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> cpl_ensure_code(hist -> range > 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment">/* 2 bins reserved for possible out-of-range values */</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> binwidth = hist -> range / (double)(hist -> nbins - 2);</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> }</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> nsamples = cpl_image_get_size_x(image) * cpl_image_get_size_y(image);</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> data = cpl_image_get_data_float_const(image);</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> bpm = cpl_image_get_bpm_const(image);</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keywordflow">if</span> (bpm)</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> {</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> bpm_data = cpl_mask_get_data_const(bpm); <span class="comment">// bad pixel mask</span></div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> }</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keywordflow">for</span> (i = 0; i < nsamples; i++)</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> {</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordtype">int</span> pos = 0;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keywordflow">if</span>(bpm_data && bpm_data[i] != CPL_BINARY_0)</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> {</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keywordflow">continue</span>;</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> }</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> pos = (int)((data[i] - hist -> start) / binwidth);</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keywordflow">if</span> (pos < 0)</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> {</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> hist -> bins[0]++;</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>) pos >= (hist -> nbins - 2))</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> {</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> hist -> bins[hist -> nbins - 1]++;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> } <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> {</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> hist -> bins[pos + 1]++;</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> }</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> }</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> }</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="comment"> * Compute the maximum of a histogram.</span></div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="comment"> * Return: the maximum value.</span></div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="comment"> * The parameter max_where is a pointer to the position</span></div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="comment"> * of the maximum in the histogram.</span></div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span></div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> irplib_hist_get_max(<span class="keyword">const</span> irplib_hist * hist,</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> * maxpos)</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> {</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> max = 0;</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> ui;</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> cpl_ensure(hist != NULL, CPL_ERROR_NULL_INPUT, 0);</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> cpl_ensure(maxpos != NULL, CPL_ERROR_NULL_INPUT, 0);</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> cpl_ensure(hist -> bins != NULL, CPL_ERROR_ILLEGAL_INPUT, 0);</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keywordflow">for</span>(ui = 0; ui < hist -> nbins; ui++) {</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="keywordtype">double</span> c_value = irplib_hist_get_value(hist, ui);</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="keywordflow">if</span>(c_value > max) {</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> max = c_value;</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> *maxpos = ui;</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> }</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> }</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="keywordflow">return</span> max;</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> }</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment"> * Cast a histogram into a table with a single column named "HIST"</span></div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> cpl_table *</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> irplib_hist_cast_table(<span class="keyword">const</span> irplib_hist * hist)</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> {</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> cpl_table * table;</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> cpl_error_code error;</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> cpl_ensure(hist != NULL, CPL_ERROR_NULL_INPUT, NULL);</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> cpl_ensure(hist -> bins != NULL, CPL_ERROR_ILLEGAL_INPUT, NULL);</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> table = cpl_table_new(hist -> nbins);</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> error = cpl_table_new_column(table, <span class="stringliteral">"HIST"</span>, CPL_TYPE_INT);</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> cpl_ensure(!error, error, NULL);</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> error = cpl_table_copy_data_int(table, <span class="stringliteral">"HIST"</span>, (<span class="keywordtype">int</span> *)(hist -> bins));</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> cpl_ensure(!error, error, NULL);</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="keywordflow">return</span> table;</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> }</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="comment"> * Collapse the histogram: add the values of all bins.</span></div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="comment"> * Used now only for debugging purposes.</span></div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> cpl_error_code</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> irplib_hist_collapse(irplib_hist * hist,</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> new_nbins)</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> {</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> ui, nuj;</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> * old_bins;</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> old_nbins;</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="keywordtype">double</span> collapse_rate;</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> cpl_error_code error;</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> rest;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> cpl_ensure_code(hist != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> cpl_ensure_code(hist -> bins != NULL, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> cpl_ensure_code(new_nbins > 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> cpl_ensure_code(new_nbins <= hist -> nbins, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> old_bins = hist -> bins;</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> old_nbins = hist -> nbins;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> hist -> bins = NULL;</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> error = irplib_hist_init(hist, new_nbins, hist -> start, hist -> range);</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> cpl_ensure_code(!error, error);</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> </div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> collapse_rate = (double) (old_nbins - 2) / (double) (new_nbins - 2);</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="comment">/* The out-of-range values are not affected by the collapsing operation */</span></div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> hist -> bins[0] = old_bins[0];</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> hist -> bins[new_nbins - 1] = old_bins[old_nbins - 1];</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> rest = 0;</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> nuj = 1;</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> </div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="keywordflow">for</span> (ui = 1; ui < new_nbins - 1; ui++) {</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> uj;</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="keyword">const</span> <span class="keywordtype">double</span> up = collapse_rate * ui;</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> hist -> bins[ui] += rest;</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> </div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="keywordflow">for</span> (uj = nuj; uj < (<span class="keywordtype">unsigned</span> long) up + 1; uj++)</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> hist -> bins[ui] += old_bins[uj];</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> </div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> rest = (<span class="keywordtype">unsigned</span> long)(up - (<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>) up) * old_bins[uj];</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> hist -> bins[ui] += rest;</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> rest = old_bins[uj] - rest;</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> nuj = uj + 1;</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> }</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> </div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> cpl_free(old_bins);</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__hist_8h_source.html b/html/irplib__hist_8h_source.html
deleted file mode 100644
index b2298fa..0000000
--- a/html/irplib__hist_8h_source.html
+++ /dev/null
@@ -1,140 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_hist.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_hist.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_hist.h,v 1.3 2007/09/07 14:23:50 lbilbao Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002, 2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: lbilbao $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2007/09/07 14:23:50 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.3 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef IRPLIB_HIST_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_HIST_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>_irplib_hist_ irplib_hist;</div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/* Creation/Destruction functions */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> irplib_hist *</div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> irplib_hist_new(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> irplib_hist_delete(irplib_hist *);</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/* Initialisation function */</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> cpl_error_code</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> irplib_hist_init(irplib_hist *,</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> ,</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keywordtype">double</span> ,</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keywordtype">double</span> );</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">/* Accessor functions */</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> irplib_hist_get_value(<span class="keyword">const</span> irplib_hist *,</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>);</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> irplib_hist_get_nbins(<span class="keyword">const</span> irplib_hist *);</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> irplib_hist_get_bin_size(<span class="keyword">const</span> irplib_hist *);</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> irplib_hist_get_range(<span class="keyword">const</span> irplib_hist *);</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> irplib_hist_get_start(<span class="keyword">const</span> irplib_hist *);</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">/* Histogram computing function */</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> cpl_error_code</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> irplib_hist_fill(irplib_hist *,</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">const</span> cpl_image *);</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">/* Statistics functions */</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> irplib_hist_get_max(<span class="keyword">const</span> irplib_hist *,</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> *);</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">/* Casting function */</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> cpl_table *</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> irplib_hist_cast_table(<span class="keyword">const</span> irplib_hist *);</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment">/* Functions for operations on histograms */</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> cpl_error_code</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> irplib_hist_collapse(irplib_hist *,</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>);</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="preprocessor">#endif </span><span class="comment">/* IRPLIB_HIST_H */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="preprocessor"></span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__ksigma__clip_8c_source.html b/html/irplib__ksigma__clip_8c_source.html
deleted file mode 100644
index 21f9a60..0000000
--- a/html/irplib__ksigma__clip_8c_source.html
+++ /dev/null
@@ -1,254 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_ksigma_clip.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_ksigma_clip.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_ksigma_clip.c,v 1.1 2011/11/02 13:18:28 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002, 2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2011/11/02 13:18:28 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <complex.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <assert.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <float.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "irplib_ksigma_clip.h"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include "irplib_hist.h"</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include "irplib_utils.h"</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> * @defgroup ksigmaclip kappa sigma clip functions</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> Private function prototypes</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keyword">static</span> cpl_error_code</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> irplib_ksigma_clip_double(<span class="keyword">const</span> <span class="keywordtype">double</span> * pi,</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">int</span> llx,</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">int</span> lly,</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">int</span> urx,</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keywordtype">int</span> ury,</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">int</span> nx,</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">double</span> var_sum,</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">int</span> npixs,</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">double</span> kappa,</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">int</span> nclip,</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">double</span> tolerance,</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">double</span> * mean,</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">double</span> * stdev);</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">static</span> cpl_error_code</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> irplib_ksigma_clip_float(<span class="keyword">const</span> <span class="keywordtype">float</span> * pi,</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">int</span> llx,</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keywordtype">int</span> lly,</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keywordtype">int</span> urx,</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">int</span> ury,</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">int</span> nx,</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">double</span> var_sum,</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordtype">int</span> npixs,</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">double</span> kappa,</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">int</span> nclip,</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">double</span> tolerance,</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordtype">double</span> * mean,</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordtype">double</span> * stdev);</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keyword">static</span> cpl_error_code</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> irplib_ksigma_clip_int(<span class="keyword">const</span> <span class="keywordtype">int</span> * pi,</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">int</span> llx,</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordtype">int</span> lly,</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">int</span> urx,</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">int</span> ury,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">int</span> nx,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">double</span> var_sum,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">int</span> npixs,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">double</span> kappa,</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">int</span> nclip,</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordtype">double</span> tolerance,</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">double</span> * mean,</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keywordtype">double</span> * stdev);</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> cpl_error_code</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> irplib_ksigma_clip(<span class="keyword">const</span> cpl_image * img,</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordtype">int</span> llx,</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordtype">int</span> lly,</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keywordtype">int</span> urx,</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordtype">int</span> ury,</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keywordtype">double</span> kappa,</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordtype">int</span> nclip,</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordtype">double</span> tolerance,</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keywordtype">double</span> * kmean,</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordtype">double</span> * kstdev)</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> {</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> cpl_errorstate inistate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordtype">int</span> nx, ny;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> cpl_stats * stats;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keywordtype">double</span> mean, stdev, var_sum;</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keywordtype">int</span> npixs;</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> cpl_ensure_code(img != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> nx = cpl_image_get_size_x(img);</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> ny = cpl_image_get_size_y(img);</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> cpl_ensure_code(llx > 0 && urx > llx && urx <= nx &&</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> lly > 0 && ury > lly && ury <= ny,</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> cpl_ensure_code(tolerance >= 0.0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> cpl_ensure_code(kappa > 1.0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> cpl_ensure_code(nclip > 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> stats = cpl_stats_new_from_image_window(img,</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> CPL_STATS_MEAN | CPL_STATS_STDEV,</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> llx, lly, urx, ury);</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> npixs = cpl_stats_get_npix(stats); <span class="comment">/* Non-bad pixels in window */</span></div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> mean = cpl_stats_get_mean(stats);</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> stdev = cpl_stats_get_stdev(stats);</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> var_sum = stdev * stdev * (npixs - 1);</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> cpl_stats_delete(stats);</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment">/* img, llx etc. may cause errors: Check and propagate */</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> cpl_ensure_code(cpl_errorstate_is_equal(inistate), cpl_error_get_code());</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keywordflow">switch</span> (cpl_image_get_type(img)) {</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keywordflow">case</span> CPL_TYPE_DOUBLE:</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> skip_if(irplib_ksigma_clip_double(cpl_image_get_data_double_const(img),</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> llx, lly, urx, ury, nx, var_sum,</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> npixs, kappa, nclip, tolerance,</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> &mean, &stdev));</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keywordflow">case</span> CPL_TYPE_FLOAT:</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> skip_if(irplib_ksigma_clip_float(cpl_image_get_data_float_const(img),</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> llx, lly, urx, ury, nx, var_sum,</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> npixs, kappa, nclip, tolerance,</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> &mean, &stdev));</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keywordflow">case</span> CPL_TYPE_INT:</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> skip_if(irplib_ksigma_clip_int(cpl_image_get_data_int_const(img),</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> llx, lly, urx, ury, nx, var_sum,</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> npixs, kappa, nclip, tolerance,</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> &mean, &stdev));</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment">/* It is an error in CPL to reach this point */</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> assert( 0 );</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> }</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> *kmean = mean;</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordflow">if</span> (kstdev != NULL) *kstdev = stdev; <span class="comment">/* Optional */</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> end_skip;</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> }</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="preprocessor">#define CONCAT(a,b) a ## _ ## b</span></div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="preprocessor"></span><span class="preprocessor">#define CONCAT2X(a,b) CONCAT(a,b)</span></div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="preprocessor">#define CPL_TYPE double</span></div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="preprocessor"></span><span class="preprocessor">#include "irplib_ksigma_clip_body.h"</span></div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="preprocessor">#undef CPL_TYPE</span></div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="preprocessor">#define CPL_TYPE float</span></div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="preprocessor"></span><span class="preprocessor">#include "irplib_ksigma_clip_body.h"</span></div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="preprocessor">#undef CPL_TYPE</span></div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="preprocessor">#define CPL_TYPE int</span></div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="preprocessor"></span><span class="preprocessor">#include "irplib_ksigma_clip_body.h"</span></div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="preprocessor">#undef CPL_TYPE</span></div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="preprocessor"></span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__ksigma__clip_8h_source.html b/html/irplib__ksigma__clip_8h_source.html
deleted file mode 100644
index 9088c12..0000000
--- a/html/irplib__ksigma__clip_8h_source.html
+++ /dev/null
@@ -1,99 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_ksigma_clip.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_ksigma_clip.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_ksigma_clip.h,v 1.1 2011/11/02 13:18:28 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002, 2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2011/11/02 13:18:28 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef IRPLIB_KSIGMA_CLIP_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_KSIGMA_CLIP_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> Prototypes</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> cpl_error_code</div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> irplib_ksigma_clip(<span class="keyword">const</span> cpl_image *,</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keyword">const</span> <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keyword">const</span> <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keyword">const</span> <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">const</span> <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">const</span> <span class="keywordtype">double</span>,</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">const</span> <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">const</span> <span class="keywordtype">double</span>,</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keywordtype">double</span> *,</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keywordtype">double</span> *);</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__ksigma__clip__body_8h_source.html b/html/irplib__ksigma__clip__body_8h_source.html
deleted file mode 100644
index 2a5dad8..0000000
--- a/html/irplib__ksigma__clip__body_8h_source.html
+++ /dev/null
@@ -1,154 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_ksigma_clip_body.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_ksigma_clip_body.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_ksigma_clip_body.h,v 1.1 2011/11/02 13:18:28 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package </span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2011/11/02 13:18:28 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#define TYPE_ADD(a) CONCAT2X(a, CPL_TYPE)</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">static</span> cpl_error_code</div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> TYPE_ADD(irplib_ksigma_clip)(<span class="keyword">const</span> CPL_TYPE * pi,</div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="keywordtype">int</span> llx,</div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="keywordtype">int</span> lly,</div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="keywordtype">int</span> urx,</div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keywordtype">int</span> ury,</div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="keywordtype">int</span> nx,</div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keywordtype">double</span> var_sum,</div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="keywordtype">int</span> npixs,</div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keywordtype">double</span> kappa,</div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keywordtype">int</span> nclip,</div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keywordtype">double</span> tolerance,</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keywordtype">double</span> * mean,</div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keywordtype">double</span> * stdev)</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> {</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keywordtype">int</span> pos0 = (llx - 1) + (lly - 1) * nx; <span class="comment">/* 1st pixel to process */</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keywordtype">double</span> nb = (double) npixs; <span class="comment">/* Non-bad pixels in window */</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keywordtype">double</span> lo_cut = *mean - kappa * (*stdev);</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keywordtype">double</span> hi_cut = *mean + kappa * (*stdev);</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">double</span> lo_cut_p = lo_cut;</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">double</span> hi_cut_p = hi_cut;</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">double</span> c_var_sum;</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">double</span> c_mean = 0; <span class="comment">/* Avoid false uninit warning */</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">double</span> c_stdev = 0; <span class="comment">/* Avoid false uninit warning */</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">int</span> iclip;</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordflow">for</span> (iclip = 0; iclip < nclip; iclip++) {</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">int</span> pos = pos0;</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">int</span> i, j;</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> c_var_sum = var_sum;</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> c_mean = *mean;</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> c_stdev = *stdev;</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> nb = npixs;</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordflow">for</span> (j = lly - 1; j < ury; j++, pos += (nx - urx + llx - 1)) {</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordflow">for</span> (i = llx - 1; i < urx; i++, pos++) {</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keywordflow">if</span> (pi[pos] > hi_cut || pi[pos] < lo_cut) {</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">const</span> <span class="keywordtype">double</span> delta = (double)pi[pos] - c_mean;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> c_var_sum -= nb * delta * delta / (nb - 1.0);</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> c_mean -= delta / (nb - 1.0);</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> nb = nb - 1.0;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> }</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> }</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> }</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordflow">if</span> (nb == 1.0 || c_var_sum < 0.0) {</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Iteration %d: Too many pixels were "</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="stringliteral">"removed. This may cause unexpected behaviour. "</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="stringliteral">"Please set a lower number of iterations "</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="stringliteral">"or increase the value of kappa\n"</span>, iclip);</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> cpl_error_set(cpl_func, CPL_ERROR_DIVISION_BY_ZERO);</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> c_stdev = sqrt(c_var_sum / (nb - 1.0));</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> }</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> lo_cut = c_mean - kappa * c_stdev;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> hi_cut = c_mean + kappa * c_stdev;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">if</span>(fabs(lo_cut - lo_cut_p) < tolerance &&</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> fabs(hi_cut - hi_cut_p) < tolerance) {</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> lo_cut_p = lo_cut;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> hi_cut_p = hi_cut;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> }</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> }</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> *mean = c_mean;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> *stdev = c_stdev;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__match__cats_8c_source.html b/html/irplib__match__cats_8c_source.html
deleted file mode 100644
index 357d405..0000000
--- a/html/irplib__match__cats_8c_source.html
+++ /dev/null
@@ -1,232 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_match_cats.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_match_cats.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_match_cats.c,v 1.10 2009/12/18 10:44:48 cgarcia Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: cgarcia $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2009/12/18 10:44:48 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.10 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <cpl_table.h></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "irplib_match_cats.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#define FILENAME_SZBUF 1024</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/* Private functions</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> cpl_error_code irplib_match_cats_get_all_matching_pairs</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> (cpl_table ** catalogues,</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">int</span> ncats,</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> cpl_table * matching_sets,</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">int</span> (*binary_match_condition)</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> (cpl_table * catalogue1,</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> cpl_table * catalogue2,</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">int</span> iobj1,</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">int</span> iobj2) );</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> cpl_error_code irplib_match_cats_get_all_matches_cresc</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> (cpl_table ** catalogues,</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> cpl_array * cat_index_begin,</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> cpl_array * cats_idx_set,</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">int</span> mincat_match,</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> cpl_table * matching_sets);</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> cpl_error_code irplib_match_cats_iterate_on_cat</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> (cpl_table ** catalogues,</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> cpl_array * cats_idx_set,</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keywordtype">int</span> icat_iterate,</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> cpl_array * valid_iobjs,</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">int</span> mincat_match,</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> cpl_table * matching_sets,</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> cpl_table * less_minmatch_sets);</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> cpl_error_code irplib_match_cats_filter_obj_to_iter</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> (cpl_array * cats_idx_set,</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">int</span> order_begin,</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> cpl_table * matches_set,</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> cpl_array * excluded_objs,</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">int</span> itercat_nobj);</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keywordtype">int</span> irplib_match_cats_match_condition</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> (cpl_table ** catalogues,</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">int</span> * cats_idx_set_ptr,</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">int</span> ncats);</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordtype">int</span> irplib_match_count_nonmatched</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> (<span class="keywordtype">int</span> * cats_idx_set_ptr,</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">int</span> ncats);</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordtype">int</span> nCombinations;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordtype">int</span> nFilter;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> cpl_table * <a class="code" href="group__irplib__cat.html#gaf3dbc2180a59e7187674707510205afe" title="Finds all the objects that appear at least in some of the catalogues.">irplib_match_cat_pairs</a></div>
-<div class="line"><a name="l00126"></a><span class="lineno"><a class="code" href="group__irplib__cat.html#gaf3dbc2180a59e7187674707510205afe"> 126</a></span> (cpl_table ** catalogues,</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keywordtype">int</span> ncats,</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">int</span> (*binary_match_condition)</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> (cpl_table * catalogue1,</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> cpl_table * catalogue2,</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordtype">int</span> iobj1,</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordtype">int</span> iobj2) )</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> {</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> cpl_table * matching_sets;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment">//Initialize the solution</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> matching_sets = cpl_table_new(0);</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> cpl_table_new_column_array(matching_sets, <span class="stringliteral">"MATCHING_SETS"</span>,</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> CPL_TYPE_INT, ncats);</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> irplib_match_cats_get_all_matching_pairs</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> (catalogues, ncats, matching_sets, binary_match_condition);</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordflow">return</span> matching_sets;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> }</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> cpl_error_code irplib_match_cats_get_all_matching_pairs</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> (cpl_table ** catalogues,</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordtype">int</span> ncats,</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> cpl_table * matching_sets,</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keywordtype">int</span> (*binary_match_condition)</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> (cpl_table * catalogue1,</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> cpl_table * catalogue2,</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keywordtype">int</span> iobj1,</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordtype">int</span> iobj2) )</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> {</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordtype">int</span> icat1;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordtype">int</span> icat2;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> nCombinations = 0;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> nFilter = 0;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordflow">for</span>(icat1 = 0; icat1 < ncats ; ++icat1)</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="keywordflow">for</span>(icat2 = icat1 + 1 ; icat2 < ncats ; ++icat2)</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> {</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordtype">int</span> iobj1;</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordtype">int</span> iobj2;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordtype">int</span> nobj1;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keywordtype">int</span> nobj2;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> nobj1 = cpl_table_get_nrow(catalogues[icat1]);</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> nobj2 = cpl_table_get_nrow(catalogues[icat2]);</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keywordflow">for</span>(iobj1 = 0; iobj1 < nobj1 ; ++iobj1)</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordflow">for</span>(iobj2 = 0 ; iobj2 < nobj2 ; ++iobj2)</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> {</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> ++nCombinations;</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">if</span>(binary_match_condition(catalogues[icat1],</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> catalogues[icat2],</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> iobj1, iobj2))</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> {</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> cpl_array * cats_idx_set;</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keywordtype">int</span> icat;</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> ++nFilter;</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> cats_idx_set = cpl_array_new(ncats, CPL_TYPE_INT);</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">for</span>(icat = 0; icat < ncats; ++icat)</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> {</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">if</span>(icat == icat1)</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> cpl_array_set_int(cats_idx_set, icat, iobj1);</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span>(icat == icat2)</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> cpl_array_set_int(cats_idx_set, icat, iobj2);</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> cpl_array_set_int(cats_idx_set, icat, -1);</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> }</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> cpl_table_set_size(matching_sets,</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> cpl_table_get_nrow(matching_sets)+1);</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> cpl_table_set_array(matching_sets,<span class="stringliteral">"MATCHING_SETS"</span>,</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> cpl_table_get_nrow(matching_sets)-1,</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> cats_idx_set);</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> cpl_array_delete(cats_idx_set);</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> }</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> }</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> }</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> }</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__match__cats_8h_source.html b/html/irplib__match__cats_8h_source.html
deleted file mode 100644
index 2ba6d17..0000000
--- a/html/irplib__match__cats_8h_source.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_match_cats.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_match_cats.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_match_cats.h,v 1.5 2009/12/18 10:44:48 cgarcia Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: cgarcia $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2009/12/18 10:44:48 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.5 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef IRPLIB_MATCH_CATS_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_MATCH_CATS_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> cpl_table * <a class="code" href="group__irplib__cat.html#gaf3dbc2180a59e7187674707510205afe" title="Finds all the objects that appear at least in some of the catalogues.">irplib_match_cat_pairs</a></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> (cpl_table ** catalogues,</div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keywordtype">int</span> nCats,</div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keywordtype">int</span> (*binary_match_condition)</div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> (cpl_table * catalogue1,</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> cpl_table * catalogue2,</div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keywordtype">int</span> iobj1,</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keywordtype">int</span> iobj2) );</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__mkmaster_8c_source.html b/html/irplib__mkmaster_8c_source.html
deleted file mode 100644
index 9888d3d..0000000
--- a/html/irplib__mkmaster_8c_source.html
+++ /dev/null
@@ -1,516 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_mkmaster.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_mkmaster.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_mkmaster.c,v 1.6 2013/02/27 16:00:51 jtaylor Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: jtaylor $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2013/02/27 16:00:51 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.6 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "irplib_mkmaster.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keyword">static</span> cpl_vector * </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> irplib_imagelist_get_clean_mean_levels(<span class="keyword">const</span> cpl_imagelist* iml, </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">const</span> <span class="keywordtype">double</span> kappa, </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nclip,</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">const</span> <span class="keywordtype">double</span> tolerance)</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> {</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">const</span> cpl_image* img=NULL;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">int</span> size=0;</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> cpl_vector* levels=NULL;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">double</span>* pval=NULL;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">double</span> mean=0;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">double</span> stdev=0;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> cpl_error_ensure(iml != NULL, CPL_ERROR_NULL_INPUT, <span class="keywordflow">return</span>(levels),</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="stringliteral">"Null input image list"</span>);</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> cpl_error_ensure(kappa >= 0, CPL_ERROR_ILLEGAL_INPUT, <span class="keywordflow">return</span>(levels), </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="stringliteral">"Must be kappa>0"</span>);</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> size=cpl_imagelist_get_size(iml);</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> levels=cpl_vector_new(size);</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> pval=cpl_vector_get_data(levels);</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">for</span>(i=0;i<size;i++) {</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> img=cpl_imagelist_get_const(iml,i);</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> irplib_ksigma_clip(img,1,1,</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> cpl_image_get_size_x(img),</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> cpl_image_get_size_y(img),</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> nclip,kappa,tolerance,&mean,&stdev);</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> cpl_msg_info(cpl_func,<span class="stringliteral">"Ima %d mean level: %g"</span>,i+1,mean);</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> pval[i]=mean;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> }</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordflow">return</span> levels;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> }</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keyword">static</span> cpl_error_code</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> irplib_imagelist_subtract_values(cpl_imagelist** iml, cpl_vector* values)</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> {</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> cpl_image* img=NULL;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">int</span> size=0;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordtype">double</span>* pval=NULL;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> size=cpl_imagelist_get_size(*iml);</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> pval=cpl_vector_get_data(values);</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">for</span>(i=0;i<size;i++) {</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> img=cpl_imagelist_get(*iml,i);</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> cpl_image_subtract_scalar(img,pval[i]);</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> cpl_imagelist_set(*iml,img,i);</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> }</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> }</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keyword">static</span> <span class="keywordtype">double</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> irplib_vector_ksigma(cpl_vector *values,</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keyword">const</span> <span class="keywordtype">double</span> klow, <span class="keyword">const</span> <span class="keywordtype">double</span> khigh, <span class="keywordtype">int</span> kiter)</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> {</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> cpl_vector *accepted;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordtype">double</span> mean = 0.0;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordtype">double</span> sigma = 0.0;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordtype">double</span> *data = cpl_vector_get_data(values);</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keywordtype">int</span> n = cpl_vector_get_size(values);</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keywordtype">int</span> ngood = n;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordtype">int</span> count = 0;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment"> * At first iteration the mean is taken as the median, and the</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment"> * standard deviation relative to this value is computed.</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> mean = cpl_vector_get_median(values);</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">for</span> (i = 0; i < n; i++) {</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> sigma += (mean - data[i]) * (mean - data[i]);</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> }</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> sigma = sqrt(sigma / (n - 1));</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordflow">while</span> (kiter) {</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> count = 0;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordflow">for</span> (i = 0; i < ngood; i++) {</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordflow">if</span> (data[i]-mean < khigh*sigma && mean-data[i] < klow*sigma) {</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> data[count] = data[i];</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> ++count;</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> }</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> }</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">if</span> (count == 0) <span class="comment">// This cannot happen at first iteration.</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">break</span>; <span class="comment">// So we can break: we have already computed a mean.</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment"> * The mean must be computed even if no element was rejected</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="comment"> * (count == ngood), because at first iteration median instead</span></div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment"> * of mean was computed.</span></div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> accepted = cpl_vector_wrap(count, data);</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> mean = cpl_vector_get_mean(accepted);</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">if</span>(count>1) {</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> sigma = cpl_vector_get_stdev(accepted);</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> }</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> cpl_vector_unwrap(accepted);</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keywordflow">if</span> (count == ngood) {</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> }</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> ngood = count;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> --kiter;</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> }</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keywordflow">return</span> mean;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> }</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keyword">static</span> cpl_image *</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> irplib_imagelist_ksigma_stack(<span class="keyword">const</span> cpl_imagelist *imlist, </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordtype">double</span> klow, <span class="keywordtype">double</span> khigh, <span class="keywordtype">int</span> kiter)</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> {</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordtype">int</span> ni, nx, ny, npix;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> cpl_image *out_ima=NULL;</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> cpl_imagelist *loc_iml=NULL;</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordtype">double</span> *pout_ima=NULL;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> cpl_image *image=NULL;</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keyword">const</span> <span class="keywordtype">double</span> **data=NULL;</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keywordtype">double</span> *med=NULL;</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> cpl_vector *time_line=NULL;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="keywordtype">double</span> *ptime_line=NULL;</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keywordtype">int</span> i, j;</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keywordtype">double</span> mean_of_medians=0;</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> cpl_error_ensure(imlist != NULL, CPL_ERROR_NULL_INPUT, <span class="keywordflow">return</span>(out_ima),</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="stringliteral">"Null input image list"</span>);</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> ni = cpl_imagelist_get_size(imlist);</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> loc_iml = cpl_imagelist_duplicate(imlist);</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> image = cpl_imagelist_get(loc_iml, 0);</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> nx = cpl_image_get_size_x(image);</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> ny = cpl_image_get_size_y(image);</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> npix = nx * ny;</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> out_ima = cpl_image_new(nx, ny, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> pout_ima = cpl_image_get_data_double(out_ima);</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> time_line = cpl_vector_new(ni);</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> ptime_line = cpl_vector_get_data(time_line);</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> data = cpl_calloc(<span class="keyword">sizeof</span>(<span class="keywordtype">double</span> *), ni);</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> med = cpl_calloc(<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>), ni);</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="keywordflow">for</span> (i = 0; i < ni; i++) {</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> image = cpl_imagelist_get(loc_iml, i);</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> med[i]=cpl_image_get_median(image);</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> cpl_image_subtract_scalar(image,med[i]);</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> data[i] = cpl_image_get_data_double(image);</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> mean_of_medians+=med[i];</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> }</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> mean_of_medians/=ni;</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keywordflow">for</span> (i = 0; i < npix; i++) {</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="keywordflow">for</span> (j = 0; j < ni; j++) {</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> ptime_line[j] = data[j][i];</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> }</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> pout_ima[i] = irplib_vector_ksigma(time_line, klow, khigh, kiter); </div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> }</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> cpl_image_add_scalar(out_ima,mean_of_medians);</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> cpl_free(data);</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> cpl_free(med);</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> cpl_vector_delete(time_line);</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> cpl_imagelist_delete(loc_iml);</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keywordflow">return</span> out_ima;</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> } </div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> cpl_image*</div>
-<div class="line"><a name="l00313"></a><span class="lineno"><a class="code" href="group__irplib__calib.html#gae11ebd9b30a6c781265ba2e5af87722b"> 313</a></span> <a class="code" href="group__irplib__calib.html#gae11ebd9b30a6c781265ba2e5af87722b" title="Computes master frame by clean stack mean of the input imagelist.">irplib_mkmaster_mean</a>(cpl_imagelist* images,<span class="keyword">const</span> <span class="keywordtype">double</span> kappa, <span class="keyword">const</span> <spa [...]
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> {</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> cpl_image* master=NULL;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> cpl_vector* levels=NULL;</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="keywordtype">double</span> mean=0;</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> cpl_imagelist* iml=NULL;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> </div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> cpl_msg_info(cpl_func,<span class="stringliteral">"method mean"</span>);</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> iml=cpl_imagelist_duplicate(images);</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> levels=irplib_imagelist_get_clean_mean_levels(iml,kappa,nclip,tolerance);</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> mean=cpl_vector_get_mean(levels);</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> cpl_msg_info(cpl_func,<span class="stringliteral">"Master mean level: %g"</span>,mean);</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> irplib_imagelist_subtract_values(&iml,levels);</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> </div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> master = irplib_imagelist_ksigma_stack(iml,klow,khigh,niter);</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> cpl_image_add_scalar(master,mean);</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> cpl_vector_delete(levels);</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> cpl_imagelist_delete(iml);</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="keywordflow">return</span> master;</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> }</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> cpl_image* </div>
-<div class="line"><a name="l00352"></a><span class="lineno"><a class="code" href="group__irplib__calib.html#ga31157521720077a762a43644a503bbf2"> 352</a></span> <a class="code" href="group__irplib__calib.html#ga31157521720077a762a43644a503bbf2" title="Computes master frame by clean stack median of the input imagelist.">irplib_mkmaster_median</a>(cpl_imagelist* images,<span class="keyword">const</span> <span class="keywordtype">double</span> kappa, <span class="keyword">const</span> [...]
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> {</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> cpl_image* master=NULL;</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> cpl_vector* levels=NULL;</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="keywordtype">double</span> mean=0;</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> cpl_imagelist* iml=NULL;</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> cpl_msg_info(cpl_func,<span class="stringliteral">"method median"</span>);</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> iml=cpl_imagelist_duplicate(images);</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> levels=irplib_imagelist_get_clean_mean_levels(iml,kappa,nclip,tolerance);</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> </div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> mean=cpl_vector_get_mean(levels);</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> cpl_msg_info(cpl_func,<span class="stringliteral">"Master mean level: %g"</span>,mean);</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> irplib_imagelist_subtract_values(&iml,levels);</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> master = cpl_imagelist_collapse_median_create(iml);</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> cpl_image_add_scalar(master,mean);</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> cpl_vector_delete(levels);</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> cpl_imagelist_delete(iml);</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="keywordflow">return</span> master;</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> </div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> }</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="comment">/* Work in progress */</span></div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="keyword">static</span> cpl_error_code</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> irplib_mkmaster_dark_qc(<span class="keyword">const</span> cpl_imagelist* raw_images,</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> cpl_imagelist* preproc_images,</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="keyword">const</span> cpl_parameterlist* parameters,</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="keyword">const</span> <span class="keywordtype">int</span> pr_num_x, <span class="keyword">const</span> <span class="keywordtype">int</span> pr_num_y,</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="keyword">const</span> <span class="keywordtype">int</span> pr_box_sx, <span class="keyword">const</span> <span class="keywordtype">int</span> pr_box_sy, <span class="keyword">const</span> <span class="keywordtype">char</span>* recipe_id,</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> cpl_table* qclog) {</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> </div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> cpl_ensure_code(qclog !=NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> cpl_ensure_code(recipe_id !=NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> cpl_ensure_code(parameters !=NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> </div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="keywordtype">int</span> i = 0;</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> cpl_image* current_dark = 0;</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="keywordflow">if</span> (pr_num_x != 0 && pr_num_y != 0 && pr_box_sx != 0 && pr_box_sy != 0) {</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="keywordflow">for</span> (i = 0; i < cpl_imagelist_get_size(raw_images); i++) {</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> current_dark = cpl_image_duplicate(</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> cpl_imagelist_get_const(preproc_images, i));</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> cpl_msg_info(cpl_func, <span class="stringliteral">"Calculating QC parameters on raw dark frame %d"</span>,</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> i);</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="comment">/* Here To be defined more general way to qc-log */</span></div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="comment">/* UVES specific stuff: may be this function should not be put in irplib</span></div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="comment"> irplib_mdark_region_qc(current_dark, parameters, raw_images, recipe_id,qclog);</span></div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="comment"> */</span> </div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="comment">/* FIXME: still safe if irplib_mdark_region_qc is commented in? */</span></div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> cpl_image_delete(current_dark);</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> }</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> }</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> }</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> </div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> irplib_head_get_exptime(<span class="keyword">const</span> cpl_propertylist * plist) {</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="keywordtype">double</span> result = 0; <span class="comment">/* Conversion from electrons to ADUs */</span></div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> </div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> result=cpl_propertylist_get_double(plist, <span class="stringliteral">"EXPTIME"</span>);</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> cpl_ensure_code(result >= 0, CPL_ERROR_ILLEGAL_OUTPUT);</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> </div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> }</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> </div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="keyword">static</span> cpl_error_code</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> irplib_head_set_exptime(cpl_propertylist *plist, <span class="keywordtype">double</span> exptime)</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> {</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> cpl_propertylist_update_double(plist, <span class="stringliteral">"EXPTIME"</span>, exptime);</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> cpl_propertylist_set_comment(plist, <span class="stringliteral">"EXPTIME"</span>, <span class="stringliteral">"Total integration time"</span>);</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> </div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> }</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="keyword">static</span> cpl_imagelist*</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> irplib_mkmaster_dark_fill_imagelist(<span class="keyword">const</span> cpl_imagelist* raw_images,</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> cpl_propertylist** raw_headers, <span class="keyword">const</span> cpl_image* master_bias,</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="keywordtype">double</span>* mean_exptime) {</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="comment">/* First process each input image and store the results in a</span></div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="comment"> new image list */</span></div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> </div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> cpl_imagelist* preproc_images = NULL;</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="keywordtype">int</span> i = 0;</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> cpl_image* current_dark = NULL;</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="keywordtype">double</span> min_exptime = 0;</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> <span class="keywordtype">double</span> max_exptime = 0;</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> </div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> preproc_images = cpl_imagelist_new();</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="keywordflow">for</span> (i = 0; i < cpl_imagelist_get_size(raw_images); i++) {</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="keywordtype">double</span> exposure_time = 0.0;</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="keyword">const</span> cpl_propertylist *current_header;</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> current_dark = cpl_image_duplicate(cpl_imagelist_get_const(raw_images, i));</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> current_header = raw_headers[i];</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> </div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="comment">/* Subtract master bias */</span></div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="keywordflow">if</span> (master_bias != NULL) {</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> cpl_msg_info(cpl_func, <span class="stringliteral">"Subtracting master bias"</span>);</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> cpl_image_subtract(current_dark, master_bias);</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> cpl_msg_info(cpl_func, <span class="stringliteral">"Skipping bias subtraction"</span>);</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> }</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> </div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> exposure_time = irplib_head_get_exptime(current_header);</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> </div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="comment">/* Initialize/update min/max exposure time*/</span></div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="keywordflow">if</span> (i == 0 || exposure_time < min_exptime) {</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> min_exptime = exposure_time;</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> }</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="keywordflow">if</span> (i == 0 || exposure_time > max_exptime) {</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> max_exptime = exposure_time;</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> }</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> </div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="comment">/* Do not normalize to unit exposure time */</span></div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="comment">/* If this is uncommented, then remember to also calculate the</span></div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="comment"> correct master dark exposure time below.</span></div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="comment"> irplib_msg("Normalizing from %f s to unit exposure time", exposure_time);</span></div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="comment"> check( cpl_image_divide_scalar(current_dark, exposure_time),</span></div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="comment"> "Error normalizing dark frame"); */</span></div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> </div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="comment">/* Append to imagelist */</span></div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> cpl_imagelist_set(preproc_images, current_dark, i);</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> </div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> <span class="comment">/* Don't deallocate the image. It will be deallocated when</span></div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="comment"> the image list is deallocated */</span></div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> current_dark = NULL;</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> }</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> </div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> </div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="comment">/* Check exposure times */</span></div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> cpl_msg_info(cpl_func,</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="stringliteral">"Exposure times range from %e s to %e s (%e %% variation)"</span>, min_exptime,</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> max_exptime, 100 * (max_exptime - min_exptime) / min_exptime);</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> </div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="keywordflow">if</span> ((max_exptime - min_exptime) / min_exptime > .001) {</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> cpl_msg_warning(cpl_func, <span class="stringliteral">"Exposure times differ by %e %%"</span>,</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> 100 * (max_exptime - min_exptime) / min_exptime);</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> }</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> </div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> <span class="comment">/* compute correct exposure time */</span></div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> *mean_exptime=0.5 * (max_exptime + min_exptime);</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <span class="keywordflow">return</span> preproc_images;</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> }</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> </div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> </div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> cpl_image *</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> irplib_mdark_process_chip(<span class="keyword">const</span> cpl_imagelist *raw_images,</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> cpl_propertylist **raw_headers, <span class="keyword">const</span> cpl_image *master_bias,</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> cpl_propertylist *mdark_header, <span class="keyword">const</span> cpl_parameterlist *parameters,</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* recipe_id, cpl_table* qclog, <span class="keyword">const</span> <span class="keywordtype">int</span> do_qc,</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* STACK_METHOD, <span class="keyword">const</span> <span class="keywordtype">double</span> STACK_KLOW, <span class="keyword">const</span> <span class="keywordtype">double</span> STACK_KHIGH,</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="keyword">const</span> <span class="keywordtype">int</span> STACK_NITER,</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> <span class="keyword">const</span> <span class="keywordtype">int</span> pr_num_x, <span class="keyword">const</span> <span class="keywordtype">int</span> pr_num_y,</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <span class="keyword">const</span> <span class="keywordtype">int</span> pr_box_sx, <span class="keyword">const</span> <span class="keywordtype">int</span> pr_box_sy) {</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> cpl_image *master_dark = NULL; <span class="comment">/* Result */</span></div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> cpl_image *current_dark = NULL;</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> cpl_imagelist *preproc_images = NULL;</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="keywordtype">double</span> mean_exptime = 0;</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> </div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> <span class="comment">/* First process each input image and store the results in a</span></div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="comment"> new image list */</span></div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> preproc_images = irplib_mkmaster_dark_fill_imagelist(raw_images, raw_headers,</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> master_bias, &mean_exptime);</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> <span class="keywordflow">if</span> (do_qc) {</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> <span class="comment">/* Here we should compute QC but a a better way to log it is TBD */</span></div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> irplib_mkmaster_dark_qc(raw_images, preproc_images, parameters, pr_num_x,</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> pr_num_y, pr_box_sx, pr_box_sy, recipe_id, qclog);</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> </div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> }</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> <span class="comment">/* Get median stack of input darks */</span></div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="keywordflow">if</span> (strcmp(STACK_METHOD, <span class="stringliteral">"MEDIAN"</span>) == 0) {</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> cpl_msg_info(cpl_func, <span class="stringliteral">"Calculating stack median"</span>);</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> master_dark = cpl_imagelist_collapse_median_create(preproc_images);</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> cpl_msg_info(cpl_func, <span class="stringliteral">"Calculating stack mean"</span>);</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> master_dark = irplib_imagelist_ksigma_stack(preproc_images, STACK_KLOW,</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> STACK_KHIGH, STACK_NITER);</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> </div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> }</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> irplib_head_set_exptime(mdark_header, mean_exptime );</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> </div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> cpl_image_delete(current_dark);</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> cpl_imagelist_delete(preproc_images);</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> cpl_image_delete(master_dark);</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> }</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> </div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <span class="keywordflow">return</span> master_dark;</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> }</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__mkmaster_8h_source.html b/html/irplib__mkmaster_8h_source.html
deleted file mode 100644
index 978f570..0000000
--- a/html/irplib__mkmaster_8h_source.html
+++ /dev/null
@@ -1,100 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_mkmaster.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_mkmaster.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_mkmaster.h,v 1.3 2011/11/02 13:17:25 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2011/11/02 13:17:25 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.3 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef IRPLIB_MKMASTER_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_MKMASTER_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <irplib_ksigma_clip.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> cpl_image*</div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <a class="code" href="group__irplib__calib.html#gae11ebd9b30a6c781265ba2e5af87722b" title="Computes master frame by clean stack mean of the input imagelist.">irplib_mkmaster_mean</a>(cpl_imagelist* images,<span class="keyword">const</span> <span class="keywordtype">double</span> kappa, <span class="keyword">const</span> <span class="keywordtype">int</span> nclip, <span class="keyword">const</span> <span class=" [...]
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> cpl_image* </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <a class="code" href="group__irplib__calib.html#ga31157521720077a762a43644a503bbf2" title="Computes master frame by clean stack median of the input imagelist.">irplib_mkmaster_median</a>(cpl_imagelist* images,<span class="keyword">const</span> <span class="keywordtype">double</span> kappa, <span class="keyword">const</span> <span class="keywordtype">int</span> nclip, <span class="keyword">const</span> <span cla [...]
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> cpl_image *</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> irplib_mdark_process_chip(<span class="keyword">const</span> cpl_imagelist *raw_images,</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> cpl_propertylist **raw_headers, <span class="keyword">const</span> cpl_image *master_bias,</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> cpl_propertylist *mdark_header, <span class="keyword">const</span> cpl_parameterlist *parameters,</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* recipe_id, cpl_table* qclog, <span class="keyword">const</span> <span class="keywordtype">int</span> do_qc,</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* STACK_METHOD, <span class="keyword">const</span> <span class="keywordtype">double</span> STACK_KLOW, <span class="keyword">const</span> <span class="keywordtype">double</span> STACK_KHIGH,</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">const</span> <span class="keywordtype">int</span> STACK_NITER,</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">const</span> <span class="keywordtype">int</span> pr_num_x, <span class="keyword">const</span> <span class="keywordtype">int</span> pr_num_y,</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">const</span> <span class="keywordtype">int</span> pr_box_sx, <span class="keyword">const</span> <span class="keywordtype">int</span> pr_box_sy);</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__oddeven_8c_source.html b/html/irplib__oddeven_8c_source.html
deleted file mode 100644
index 5c047f5..0000000
--- a/html/irplib__oddeven_8c_source.html
+++ /dev/null
@@ -1,344 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_oddeven.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_oddeven.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_oddeven.c,v 1.9 2012/01/12 11:50:41 llundin Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: llundin $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2012/01/12 11:50:41 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.9 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "irplib_oddeven.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">static</span> cpl_imagelist * irplib_oddeven_cube_conv_xy_rtheta(cpl_imagelist *) ;</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">static</span> cpl_imagelist * irplib_oddeven_cube_conv_rtheta_xy(cpl_imagelist *) ;</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"><a class="code" href="group__irplib__oddeven.html#gade0423dfae726cc1ffec66a24e376505"> 65</a></span> <span class="keywordtype">int</span> <a class="code" href="group__irplib__oddeven.html#gade0423dfae726cc1ffec66a24e376505" title="Estimate the odd/even rate in an image quadrant.">irplib_oddeven_monitor</a>(</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keyword">const</span> cpl_image * in,</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keywordtype">int</span> iquad,</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">double</span> * r_even) </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> {</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> cpl_image * extracted ; </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> cpl_image * labels ; </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">int</span> * plabels ;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">int</span> llx, lly, urx, ury ;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">int</span> nx, ny ;</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">double</span> f_even, f_tot ;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> cpl_apertures * aperts ;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">int</span> i, j ;</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordflow">if</span> (in == NULL || r_even == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> nx = cpl_image_get_size_x(in) ;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> ny = cpl_image_get_size_y(in) ;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keywordflow">switch</span> (iquad){</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keywordflow">case</span> 1:</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> llx = 1 ; lly = 1 ; urx = nx/2 ; ury = ny/2 ; break ;</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordflow">case</span> 2:</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> llx = (nx/2)+1 ; lly = 1 ; urx = nx ; ury = ny/2 ; break ;</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordflow">case</span> 3:</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> llx = 1 ; lly = (ny/2)+1 ; urx = nx/2 ; ury = ny ; break ;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordflow">case</span> 4:</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> llx = (nx/2)+1 ; lly = (ny/2)+1 ; urx = nx ; ury = ny ; break ;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordflow">case</span> 0:</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> llx = 1 ; lly = 1 ; urx = nx ; ury = ny ; break ;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Unsupported mode"</span>) ;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> *r_even = 0.0 ;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> }</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment">/* Extract quadrant */</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordflow">if</span> ((extracted = cpl_image_extract(in, llx, lly, urx, ury)) == NULL) {</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot extract quadrant"</span>) ;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> *r_even = 0.0 ;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> }</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> nx = cpl_image_get_size_x(extracted) ;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> ny = cpl_image_get_size_y(extracted) ;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">/* Get f_tot */</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> f_tot = cpl_image_get_median(extracted) ;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keywordflow">if</span> (fabs(f_tot) < 1e-6) {</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> cpl_msg_warning(cpl_func, <span class="stringliteral">"Quadrant median is 0.0"</span>) ;</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> cpl_image_delete(extracted) ;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> *r_even = 0.0 ;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> }</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">/* Create the label image to define the even columns */</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> labels = cpl_image_new(nx, ny, CPL_TYPE_INT) ;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> plabels = cpl_image_get_data_int(labels) ;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordflow">for</span> (i=0 ; i<nx ; i++) {</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordflow">if</span> (i % 2) <span class="keywordflow">for</span> (j=0 ; j<ny ; j++) plabels[i+j*nx] = 0 ;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordflow">else</span> <span class="keywordflow">for</span> (j=0 ; j<ny ; j++) plabels[i+j*nx] = 1 ;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> }</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">/* Get the median of even columns */</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordflow">if</span> ((aperts = cpl_apertures_new_from_image(extracted, labels)) == NULL) {</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot compute the even columns median"</span>) ;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> cpl_image_delete(extracted) ;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> cpl_image_delete(labels) ;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> *r_even = 0.0 ;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> }</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> cpl_image_delete(extracted) ;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> cpl_image_delete(labels) ;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> f_even = cpl_apertures_get_median(aperts, 1) ;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> cpl_apertures_delete(aperts) ;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment">/* Compute the even rate and return */</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> *r_even = f_even / f_tot ;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> }</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"><a class="code" href="group__irplib__oddeven.html#ga7f7dafc1436a0aa2617048e1ada84e95"> 152</a></span> cpl_image * <a class="code" href="group__irplib__oddeven.html#ga7f7dafc1436a0aa2617048e1ada84e95" title="Correct the odd/even in an image.">irplib_oddeven_correct</a>(<span class="keyword">const</span> cpl_image * in)</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> {</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> cpl_image * in_real ;</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> cpl_image * in_imag ;</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> cpl_imagelist * freq_i ;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> cpl_imagelist * freq_i_amp ;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> cpl_image * cur_im ;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordtype">double</span> * pcur_im ;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> cpl_image * cleaned ;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keywordtype">int</span> nx ;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> cpl_vector * hf_med ;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keywordflow">if</span> (in==NULL) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> nx = cpl_image_get_size_x(in) ;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment">/* Local copy of the input image in DOUBLE */</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> in_real = cpl_image_cast(in, CPL_TYPE_DOUBLE) ;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> in_imag = cpl_image_duplicate(in_real) ;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> cpl_image_multiply_scalar(in_imag, 0.0) ;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment">/* Apply FFT to input image */</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> cpl_image_fft(in_real, in_imag, CPL_FFT_DEFAULT) ;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment">/* Put the result in an image list */</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> freq_i = cpl_imagelist_new() ;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> cpl_imagelist_set(freq_i, in_real, 0) ;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> cpl_imagelist_set(freq_i, in_imag, 1) ;</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment">/* Convert to amplitude/phase */</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> freq_i_amp = irplib_oddeven_cube_conv_xy_rtheta(freq_i);</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> cpl_imagelist_delete(freq_i) ;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment">/* Correct the odd-even frequency */</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> cur_im = cpl_imagelist_get(freq_i_amp, 0) ;</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> pcur_im = cpl_image_get_data_double(cur_im) ;</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment">/* Odd-even frequency will be replaced by </span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment"> the median of the 5 values around */</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> hf_med = cpl_vector_new(5); </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> cpl_vector_set(hf_med, 0, pcur_im[nx/2 + 1]); </div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> cpl_vector_set(hf_med, 1, pcur_im[nx/2 + 2]);</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> cpl_vector_set(hf_med, 2, pcur_im[nx/2 + 3]);</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> cpl_vector_set(hf_med, 3, pcur_im[nx/2 ]);</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> cpl_vector_set(hf_med, 4, pcur_im[nx/2 -1]);</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> pcur_im[nx / 2 + 1] = cpl_vector_get_median(hf_med);</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> cpl_vector_delete(hf_med);</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment">/* Convert to X/Y */</span></div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> freq_i = irplib_oddeven_cube_conv_rtheta_xy(freq_i_amp) ;</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> cpl_imagelist_delete(freq_i_amp) ;</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment">/* FFT back to image space */</span></div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> cpl_image_fft(cpl_imagelist_get(freq_i, 0), cpl_imagelist_get(freq_i, 1), </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> CPL_FFT_INVERSE) ;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> cleaned = cpl_image_cast(cpl_imagelist_get(freq_i, 0), CPL_TYPE_FLOAT) ;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> cpl_imagelist_delete(freq_i) ;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keywordflow">return</span> cleaned ;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> }</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keyword">static</span> cpl_imagelist * irplib_oddeven_cube_conv_xy_rtheta(</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> cpl_imagelist * cube_in)</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> {</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> cpl_imagelist * cube_out ;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keywordtype">double</span> re, im ;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordtype">double</span> mod, phase ;</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordtype">int</span> nx, ny, np ;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> cpl_image * tmp_im ;</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordtype">double</span> * pim1 ;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="keywordtype">double</span> * pim2 ;</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordtype">double</span> * pim3 ;</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordtype">double</span> * pim4 ;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordtype">int</span> i, j ;</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="comment">/* Error handling : test entries */</span></div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordflow">if</span> (cube_in == NULL) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> np = cpl_imagelist_get_size(cube_in) ;</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="keywordflow">if</span> (np != 2) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="comment">/* Initialise */</span></div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> tmp_im = cpl_imagelist_get(cube_in, 0) ;</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> pim1 = cpl_image_get_data_double(tmp_im) ;</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> nx = cpl_image_get_size_x(tmp_im) ;</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> ny = cpl_image_get_size_y(tmp_im) ;</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> tmp_im = cpl_imagelist_get(cube_in, 1) ;</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> pim2 = cpl_image_get_data_double(tmp_im) ;</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="comment">/* Allocate cube_out */</span></div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> cube_out = cpl_imagelist_duplicate(cube_in) ;</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> tmp_im = cpl_imagelist_get(cube_out, 0) ;</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> pim3 = cpl_image_get_data_double(tmp_im) ;</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> tmp_im = cpl_imagelist_get(cube_out, 1) ;</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> pim4 = cpl_image_get_data_double(tmp_im) ;</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="comment">/* Convert */</span></div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="keywordflow">for</span> (j=0 ; j<ny ; j++) {</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">for</span> (i=0 ; i<nx ; i++) {</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> re = (double)pim1[i+j*nx] ;</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> im = (double)pim2[i+j*nx] ;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> mod = (double)(sqrt(re*re + im*im)) ;</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="keywordflow">if</span> (re != 0.0)</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> phase = (double)atan2(im, re) ;</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> phase = 0.0 ;</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> pim3[i+j*nx] = mod ; </div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> pim4[i+j*nx] = phase ; </div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> }</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> }</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="keywordflow">return</span> cube_out ;</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> }</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keyword">static</span> cpl_imagelist * irplib_oddeven_cube_conv_rtheta_xy(</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> cpl_imagelist * cube_in)</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> {</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> cpl_imagelist * cube_out ;</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="keywordtype">double</span> re, im ;</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="keywordtype">double</span> mod, phase ;</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="keywordtype">int</span> nx, ny, np ;</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> cpl_image * tmp_im ;</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="keywordtype">double</span> * pim1 ;</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="keywordtype">double</span> * pim2 ;</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keywordtype">double</span> * pim3 ;</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="keywordtype">double</span> * pim4 ;</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="keywordtype">int</span> i, j ;</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="comment">/* Error handling : test entries */</span></div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="keywordflow">if</span> (cube_in == NULL) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> np = cpl_imagelist_get_size(cube_in) ;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="keywordflow">if</span> (np != 2) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="comment">/* Initialise */</span></div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> tmp_im = cpl_imagelist_get(cube_in, 0) ;</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> pim1 = cpl_image_get_data_double(tmp_im) ;</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> nx = cpl_image_get_size_x(tmp_im) ;</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> ny = cpl_image_get_size_y(tmp_im) ;</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> tmp_im = cpl_imagelist_get(cube_in, 1) ;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> pim2 = cpl_image_get_data_double(tmp_im) ;</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> </div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="comment">/* Allocate cube_out */</span></div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> cube_out = cpl_imagelist_duplicate(cube_in) ;</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> </div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> tmp_im = cpl_imagelist_get(cube_out, 0) ;</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> pim3 = cpl_image_get_data_double(tmp_im) ;</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> tmp_im = cpl_imagelist_get(cube_out, 1) ;</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> pim4 = cpl_image_get_data_double(tmp_im) ;</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="comment">/* Convert */</span></div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="keywordflow">for</span> (j=0 ; j<ny ; j++) {</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="keywordflow">for</span> (i=0 ; i<nx ; i++) {</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> mod = (double)pim1[i+j*nx] ;</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> phase = (double)pim2[i+j*nx] ;</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> re = (double)(mod * cos(phase));</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> im = (double)(mod * sin(phase));</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> pim3[i+j*nx] = re ; </div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> pim4[i+j*nx] = im ; </div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> }</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> }</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="keywordflow">return</span> cube_out ;</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__oddeven_8h_source.html b/html/irplib__oddeven_8h_source.html
deleted file mode 100644
index 4efb49d..0000000
--- a/html/irplib__oddeven_8h_source.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_oddeven.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_oddeven.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_oddeven.h,v 1.4 2006/10/06 20:46:04 yjung Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: yjung $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2006/10/06 20:46:04 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.4 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef IRPLIB_ODDEVEN_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_ODDEVEN_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keywordtype">int</span> <a class="code" href="group__irplib__oddeven.html#gade0423dfae726cc1ffec66a24e376505" title="Estimate the odd/even rate in an image quadrant.">irplib_oddeven_monitor</a>(<span class="keyword">const</span> cpl_image *, <span class="keywordtype">int</span>, <span class="keywordtype">double</span> *) ;</div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> cpl_image * <a class="code" href="group__irplib__oddeven.html#ga7f7dafc1436a0aa2617048e1ada84e95" title="Correct the odd/even in an image.">irplib_oddeven_correct</a>(<span class="keyword">const</span> cpl_image *) ;</div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__plugin_8c_source.html b/html/irplib__plugin_8c_source.html
deleted file mode 100644
index 91b01db..0000000
--- a/html/irplib__plugin_8c_source.html
+++ /dev/null
@@ -1,1074 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_plugin.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_plugin.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_plugin.c,v 1.40 2013/08/22 17:44:56 cgarcia Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package </span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: cgarcia $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2013/08/22 17:44:56 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.40 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <stdlib.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <assert.h></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "irplib_plugin.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/* Maximum line length in SOF-file */</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#ifndef LINE_LEN_MAX</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor"></span><span class="preprocessor">#define LINE_LEN_MAX 1024</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">/* This device provides quite-random data */</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#define DEV_RANDOM "/dev/urandom"</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">/* Copied from cpl_tools.h */</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor">#define recipe_assert(bool) \</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor"> ((bool) ? (cpl_msg_debug(cpl_func, \</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor"> "OK in " __FILE__ " line %d (CPL-error state: '%s' in %s): %s",__LINE__, \</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor"> cpl_error_get_message(), cpl_error_get_where(), #bool), 0) \</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor"> : (cpl_msg_error(cpl_func, \</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor"> "Failure in " __FILE__ " line %d (CPL-error state: '%s' in %s): %s", \</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor"> __LINE__, cpl_error_get_message(), cpl_error_get_where(), #bool), 1))</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"> Private Function prototypes</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keyword">static</span> <span class="keyword">const</span> cpl_parameter * irplib_parameterlist_get(<span class="keyword">const</span> cpl_parameterlist *,</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *);</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keyword">static</span> <span class="keywordtype">void</span> recipe_parameterlist_set(cpl_parameterlist *);</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keyword">static</span> cpl_boolean irplib_plugin_has_sof_from_env(<span class="keyword">const</span> cpl_plugin *,</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *);</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keyword">static</span> <span class="keywordtype">void</span> recipe_frameset_load(cpl_frameset *, <span class="keyword">const</span> <span class="keywordtype">char</span> *);</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keyword">static</span> <span class="keywordtype">void</span> recipe_sof_test_devfile(cpl_plugin *, <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keywordtype">size_t</span>,</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *[]);</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keyword">static</span> <span class="keywordtype">void</span> recipe_sof_test_image_empty(cpl_plugin *, <span class="keywordtype">size_t</span>, <span class="keyword">const</span> <span class="keywordtype">char</span> *[]);</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keyword">static</span> <span class="keywordtype">void</span> recipe_sof_test_local(cpl_plugin *);</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">static</span> <span class="keywordtype">void</span> recipe_sof_test_from_env(cpl_plugin *);</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keyword">static</span> <span class="keywordtype">void</span> recipe_frameset_empty(cpl_frameset *);</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keyword">static</span> <span class="keywordtype">void</span> recipe_frameset_test_frame(<span class="keyword">const</span> cpl_frame *);</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keyword">static</span> <span class="keywordtype">void</span> recipe_frameset_test_frameset_diff(<span class="keyword">const</span> cpl_frameset *,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keyword">const</span> cpl_frameset *);</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keyword">static</span> cpl_errorstate inistate;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"> Function definitions</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * irplib_parameterlist_get_string(<span class="keyword">const</span> cpl_parameterlist * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * instrume,</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * recipe,</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * parameter)</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> {</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keyword">const</span> cpl_parameter * par = irplib_parameterlist_get(<span class="keyword">self</span>, instrume,</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> recipe, parameter);</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * value;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> cpl_ensure(par != NULL, cpl_error_get_code(), NULL);</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> value = cpl_parameter_get_string(par);</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keywordflow">if</span> (value == NULL) (void)cpl_error_set_where(cpl_func);</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordflow">return</span> value;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> }</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> cpl_boolean irplib_parameterlist_get_bool(<span class="keyword">const</span> cpl_parameterlist * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * instrume,</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * recipe,</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * parameter)</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> {</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keyword">const</span> cpl_parameter * par = irplib_parameterlist_get(<span class="keyword">self</span>, instrume,</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> recipe, parameter);</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> cpl_errorstate prestate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> cpl_boolean value;</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> cpl_ensure(par != NULL, cpl_error_get_code(), CPL_FALSE);</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> value = cpl_parameter_get_bool(par);</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(prestate)) (void)cpl_error_set_where(cpl_func);</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordflow">return</span> value;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> }</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordtype">int</span> irplib_parameterlist_get_int(<span class="keyword">const</span> cpl_parameterlist * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * instrume,</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * recipe,</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * parameter)</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> {</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keyword">const</span> cpl_parameter * par = irplib_parameterlist_get(<span class="keyword">self</span>, instrume,</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> recipe, parameter);</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> cpl_errorstate prestate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keywordtype">int</span> value;</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> cpl_ensure(par != NULL, cpl_error_get_code(), 0);</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> value = cpl_parameter_get_int(par);</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(prestate)) (void)cpl_error_set_where(cpl_func);</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordflow">return</span> value;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> }</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keywordtype">double</span> irplib_parameterlist_get_double(<span class="keyword">const</span> cpl_parameterlist * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * instrume,</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * recipe,</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * parameter)</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> {</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keyword">const</span> cpl_parameter * par = irplib_parameterlist_get(<span class="keyword">self</span>, instrume,</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> recipe, parameter);</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> cpl_errorstate prestate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordtype">double</span> value;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> cpl_ensure(par != NULL, cpl_error_get_code(), 0.0);</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> value = cpl_parameter_get_double(par);</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(prestate)) (void)cpl_error_set_where(cpl_func);</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordflow">return</span> value;</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> }</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> cpl_error_code irplib_parameterlist_set_string(cpl_parameterlist * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * instrume,</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * recipe,</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * parameter,</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * defvalue,</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * alias,</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * context,</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * man)</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> {</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> cpl_error_code error;</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> cpl_parameter * par;</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="keywordtype">char</span> * paramname = cpl_sprintf(<span class="stringliteral">"%s.%s.%s"</span>, instrume, recipe,</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> parameter);</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> cpl_ensure_code(paramname != NULL, cpl_error_get_code());</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> par = cpl_parameter_new_value(paramname, CPL_TYPE_STRING, man, context,</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> defvalue);</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> cpl_free(paramname);</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> cpl_ensure_code(par != NULL, cpl_error_get_code());</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> error = cpl_parameter_set_alias(par, CPL_PARAMETER_MODE_CLI,</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> alias ? alias : parameter);</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> cpl_ensure_code(!error, error);</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> error = cpl_parameter_disable(par, CPL_PARAMETER_MODE_ENV);</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> cpl_ensure_code(!error, error);</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> error = cpl_parameterlist_append(<span class="keyword">self</span>, par);</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> cpl_ensure_code(!error, error);</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> </div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> }</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> cpl_error_code irplib_parameterlist_set_bool(cpl_parameterlist * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * instrume,</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * recipe,</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * parameter,</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> cpl_boolean defvalue,</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * alias,</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * context,</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * man)</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> {</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> </div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> cpl_error_code error;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> cpl_parameter * par;</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="keywordtype">char</span> * paramname = cpl_sprintf(<span class="stringliteral">"%s.%s.%s"</span>, instrume, recipe,</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> parameter);</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> cpl_ensure_code(paramname != NULL, cpl_error_get_code());</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> par = cpl_parameter_new_value(paramname, CPL_TYPE_BOOL, man, context,</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> defvalue);</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> cpl_free(paramname);</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> cpl_ensure_code(par != NULL, cpl_error_get_code());</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> error = cpl_parameter_set_alias(par, CPL_PARAMETER_MODE_CLI,</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> alias ? alias : parameter);</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> cpl_ensure_code(!error, error);</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> error = cpl_parameter_disable(par, CPL_PARAMETER_MODE_ENV);</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> cpl_ensure_code(!error, error);</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> </div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> error = cpl_parameterlist_append(<span class="keyword">self</span>, par);</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> cpl_ensure_code(!error, error);</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> }</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> </div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> cpl_error_code irplib_parameterlist_set_int(cpl_parameterlist * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * instrume,</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * recipe,</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * parameter,</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="keywordtype">int</span> defvalue,</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * alias,</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * context,</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * man)</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> {</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> cpl_error_code error;</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> cpl_parameter * par;</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="keywordtype">char</span> * paramname = cpl_sprintf(<span class="stringliteral">"%s.%s.%s"</span>, instrume, recipe,</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> parameter);</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> </div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> cpl_ensure_code(paramname != NULL, cpl_error_get_code());</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> par = cpl_parameter_new_value(paramname, CPL_TYPE_INT, man, context,</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> defvalue);</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> cpl_free(paramname);</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> cpl_ensure_code(par != NULL, cpl_error_get_code());</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> error = cpl_parameter_set_alias(par, CPL_PARAMETER_MODE_CLI,</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> alias ? alias : parameter);</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> cpl_ensure_code(!error, error);</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> </div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> error = cpl_parameter_disable(par, CPL_PARAMETER_MODE_ENV);</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> cpl_ensure_code(!error, error);</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> </div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> error = cpl_parameterlist_append(<span class="keyword">self</span>, par);</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> cpl_ensure_code(!error, error);</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> }</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> </div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> </div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> cpl_error_code irplib_parameterlist_set_double(cpl_parameterlist * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * instrume,</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * recipe,</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * parameter,</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="keywordtype">double</span> defvalue,</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * alias,</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * context,</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * man)</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> {</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> </div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> cpl_error_code error;</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> cpl_parameter * par;</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="keywordtype">char</span> * paramname = cpl_sprintf(<span class="stringliteral">"%s.%s.%s"</span>, instrume, recipe,</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> parameter);</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> </div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> cpl_ensure_code(paramname != NULL, cpl_error_get_code());</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> par = cpl_parameter_new_value(paramname, CPL_TYPE_DOUBLE, man, context,</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> defvalue);</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> cpl_free(paramname);</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> </div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> cpl_ensure_code(par != NULL, cpl_error_get_code());</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> </div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> error = cpl_parameter_set_alias(par, CPL_PARAMETER_MODE_CLI,</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> alias ? alias : parameter);</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> cpl_ensure_code(!error, error);</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> </div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> error = cpl_parameter_disable(par, CPL_PARAMETER_MODE_ENV);</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> cpl_ensure_code(!error, error);</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> </div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> error = cpl_parameterlist_append(<span class="keyword">self</span>, par);</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> cpl_ensure_code(!error, error);</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> </div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> }</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> </div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="keywordtype">int</span> irplib_plugin_test(cpl_pluginlist * <span class="keyword">self</span>, <span class="keywordtype">size_t</span> nstr, <span class="keyword">const</span> <span class="keywordtype">char</span> *astr[]) {</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> cpl_plugin * plugin;</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> cpl_recipe * recipe;</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> int (*recipe_create) (cpl_plugin *);</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> int (*recipe_exec ) (cpl_plugin *);</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> int (*recipe_deinit) (cpl_plugin *);</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> cpl_error_code error;</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> FILE * stream;</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> cpl_boolean is_debug;</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> </div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> </div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> is_debug = cpl_msg_get_level() <= CPL_MSG_DEBUG ? CPL_TRUE : CPL_FALSE;</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> </div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="comment">/* Modified from CPL unit tests */</span></div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> stream = is_debug ? stdout : fopen(<span class="stringliteral">"/dev/null"</span>, <span class="stringliteral">"a"</span>);</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> </div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> inistate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> </div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> assert( nstr == 0 || astr != NULL );</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> </div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> plugin = cpl_pluginlist_get_first(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> </div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="keywordflow">if</span> (plugin == NULL) {</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> cpl_msg_warning(cpl_func, <span class="stringliteral">"With an empty pluginlist, "</span></div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="stringliteral">"no tests can be made"</span>);</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> }</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> </div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> cpl_plugin_dump(plugin, stream);</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> </div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> recipe_create = cpl_plugin_get_init(plugin);</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> cpl_test( recipe_create != NULL);</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> </div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> recipe_exec = cpl_plugin_get_exec(plugin);</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> cpl_test( recipe_exec != NULL);</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> </div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> recipe_deinit = cpl_plugin_get_deinit(plugin);</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> cpl_test( recipe_deinit != NULL);</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> </div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="comment">/* Only plugins of type recipe are tested (further) */</span></div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) != CPL_PLUGIN_TYPE_RECIPE) {</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> cpl_msg_warning(cpl_func, <span class="stringliteral">"This plugin is not of type recipe, "</span></div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="stringliteral">"cannot test further"</span>);</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> }</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> </div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="keywordflow">if</span> (recipe_create != NULL && recipe_exec != NULL && recipe_deinit != NULL) {</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> </div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> cpl_test_zero(recipe_create(plugin));</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> </div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> recipe = (cpl_recipe *) plugin;</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> </div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> cpl_test_nonnull( recipe->parameters );</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> </div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> recipe_parameterlist_set(recipe->parameters);</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> </div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> cpl_parameterlist_dump(recipe->parameters, stream);</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> </div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> recipe->frames = cpl_frameset_new();</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> </div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="keywordflow">if</span> (irplib_plugin_has_sof_from_env(plugin, <span class="stringliteral">"RECIPE_SOF_PATH"</span>)) {</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> </div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> recipe_sof_test_from_env(plugin);</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> </div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> </div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="keyword">const</span> cpl_msg_severity msg_level = cpl_msg_get_level();</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> </div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> <span class="comment">/* Unless the CPL_MSG_LEVEL has been explicitly set, turn off</span></div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="comment"> terminal messaging completely while inside this function */</span></div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="keywordflow">if</span> (getenv(<span class="stringliteral">"CPL_MSG_LEVEL"</span>) == NULL) cpl_msg_set_level(CPL_MSG_OFF);</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> </div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> cpl_msg_info(cpl_func,<span class="stringliteral">"Checking handling of pre-existing CPL error "</span></div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> <span class="stringliteral">"state - may produce warning(s)/error(s):"</span>);</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> cpl_error_set(cpl_func, CPL_ERROR_EOL);</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> <span class="comment">/* Call recipe and expect non-zero return code */</span></div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> cpl_test( recipe_exec(plugin) );</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> <span class="comment">/* Expect also the CPL error code to be preserved */</span></div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> cpl_test_error( CPL_ERROR_EOL );</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> </div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> cpl_msg_info(cpl_func,<span class="stringliteral">"Checking handling of empty frameset - "</span></div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <span class="stringliteral">"may produce warning(s)/error(s):"</span>);</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <span class="comment">/* Call recipe and expect non-zero return code */</span></div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> cpl_test( recipe_exec(plugin) );</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> error = cpl_error_get_code();</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> <span class="comment">/* Expect also the CPL error code to be set */</span></div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> cpl_test_error( error );</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> cpl_test( error );</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> </div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> cpl_msg_info(cpl_func,<span class="stringliteral">"Checking handling of dummy frameset - "</span></div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> <span class="stringliteral">"may produce warning(s)/error(s):"</span>);</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> <span class="keywordflow">do</span> {</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> cpl_frame * f = cpl_frame_new();</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> error = cpl_frame_set_filename(f, <span class="stringliteral">"/dev/null"</span>);</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> cpl_test_eq_error(error, CPL_ERROR_NONE);</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> error = cpl_frame_set_tag(f, <span class="stringliteral">"RECIPE_DUMMY_TAG"</span>);</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> cpl_test_eq_error(error, CPL_ERROR_NONE);</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> error = cpl_frameset_insert(recipe->frames, f);</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> cpl_test_eq_error(error, CPL_ERROR_NONE);</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> </div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <span class="comment">/* Call recipe and expect non-zero return code */</span></div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> cpl_test( recipe_exec(plugin) );</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> error = cpl_error_get_code();</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="comment">/* Expect also the CPL error code to be set */</span></div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> cpl_test_error( error );</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> cpl_test( error );</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> </div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> error = cpl_frameset_erase_frame(recipe->frames, f);</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> cpl_test_eq_error(error, CPL_ERROR_NONE);</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> </div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> } <span class="keywordflow">while</span> (0);</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> </div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <span class="preprocessor">#ifdef IRPLIB_TEST_RANDOM_SOF</span></div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="preprocessor"></span> recipe_sof_test_devfile(plugin, DEV_RANDOM, nstr, astr);</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> recipe_sof_test_devfile(plugin, <span class="stringliteral">"/dev/null"</span>, nstr, astr);</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> </div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> recipe_sof_test_devfile(plugin, <span class="stringliteral">"."</span>, nstr, astr);</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> </div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> recipe_sof_test_image_empty(plugin, nstr, astr);</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> </div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> recipe_sof_test_local(plugin);</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> </div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> cpl_msg_set_level(msg_level);</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> </div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> }</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> </div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> cpl_frameset_delete(recipe->frames);</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> </div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> error = recipe_deinit(plugin);</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> cpl_test_eq_error(error, CPL_ERROR_NONE);</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> }</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> </div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="keywordflow">if</span> (stream != stdout) fclose(stream);</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> </div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> }</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> </div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="keyword">static</span> <span class="keywordtype">void</span> recipe_parameterlist_set(cpl_parameterlist * <span class="keyword">self</span>)</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> {</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> </div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> cpl_parameter * p = cpl_parameterlist_get_first(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> </div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> <span class="keywordflow">for</span> (; p != NULL; p = cpl_parameterlist_get_next(<span class="keyword">self</span>)) {</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> </div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * envvar;</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * svalue;</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> </div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> <span class="comment">/* FIXME: Needed ? */</span></div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="keywordflow">if</span> (cpl_parameter_get_default_flag(p)) <span class="keywordflow">continue</span>;</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> </div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> cpl_msg_debug(cpl_func, __FILE__ <span class="stringliteral">" line %u: OK"</span>, __LINE__);</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> </div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> envvar = cpl_parameter_get_alias(p, CPL_PARAMETER_MODE_ENV);</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> svalue = envvar ? getenv(envvar) : NULL;</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> </div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> <span class="keywordflow">switch</span> (cpl_parameter_get_type(p)) {</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> <span class="keywordflow">case</span> CPL_TYPE_BOOL: {</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> <span class="keyword">const</span> <span class="keywordtype">int</span> value</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> = svalue ? atoi(svalue) : cpl_parameter_get_default_bool(p);</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> cpl_parameter_set_bool(p, value);</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> }</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> <span class="keywordflow">case</span> CPL_TYPE_INT: {</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> <span class="keyword">const</span> <span class="keywordtype">int</span> value</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> = svalue ? atoi(svalue) : cpl_parameter_get_default_int(p);</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> cpl_parameter_set_int(p, value);</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> }</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> <span class="keywordflow">case</span> CPL_TYPE_DOUBLE: {</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <span class="keyword">const</span> <span class="keywordtype">double</span> value</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> = svalue ? atof(svalue) : cpl_parameter_get_default_double(p);</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> cpl_parameter_set_double(p, value);</div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> }</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> <span class="keywordflow">case</span> CPL_TYPE_STRING:</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> {</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * s_default = cpl_parameter_get_default_string(p);</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="comment">/* Replace NULL with "" */</span></div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * value</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> = svalue ? svalue : (s_default ? s_default : <span class="stringliteral">""</span>);</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> cpl_parameter_set_string(p, value);</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> }</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> </div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> assert( 0 ); <span class="comment">/* It is a testing error to reach this point */</span></div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> }</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> }</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> }</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> </div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> </div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> <span class="keyword">static</span> <span class="keywordtype">void</span> recipe_sof_test_devfile(cpl_plugin * plugin, <span class="keyword">const</span> <span class="keywordtype">char</span> * filename,</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> <span class="keywordtype">size_t</span> nstr, <span class="keyword">const</span> <span class="keywordtype">char</span> *astr[])</div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> {</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> cpl_recipe * recipe = (cpl_recipe*)plugin;</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> int (*recipe_exec) (cpl_plugin *);</div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> cpl_frameset * copy;</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> cpl_error_code error;</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> <span class="keywordtype">size_t</span> i;</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> </div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> </div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> <span class="keywordflow">if</span> (nstr < 1) <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <span class="keywordflow">if</span> (filename == NULL) <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> </div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> cpl_msg_info(cpl_func, <span class="stringliteral">"Testing recipe with %u %s as input "</span>,</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> (<span class="keywordtype">unsigned</span>)nstr, filename);</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> </div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> <span class="keywordflow">for</span> (i = 0; i < nstr; i++) {</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> cpl_frame * f = cpl_frame_new();</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> </div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> error = cpl_frame_set_filename(f, filename);</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> cpl_test_eq_error(error, CPL_ERROR_NONE);</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> </div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> error = cpl_frame_set_tag(f, astr[i]);</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> cpl_test_eq_error(error, CPL_ERROR_NONE);</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> </div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> error = cpl_frameset_insert(recipe->frames, f);</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> cpl_test_eq_error(error, CPL_ERROR_NONE);</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> }</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> </div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> copy = cpl_frameset_duplicate(recipe->frames);</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> </div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> recipe_exec = cpl_plugin_get_exec(plugin);</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> cpl_test( recipe_exec != NULL);</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> </div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> <span class="keywordflow">if</span> (recipe_exec != NULL) {</div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> </div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> <span class="comment">/* Call recipe and expect non-zero return code */</span></div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> cpl_test( recipe_exec(plugin) );</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> error = cpl_error_get_code();</div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> <span class="comment">/* Expect also the CPL error code to be set */</span></div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> cpl_test_error( error );</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> cpl_test( error );</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> </div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> recipe_frameset_test_frameset_diff(recipe->frames, copy);</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> </div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> recipe_frameset_empty(recipe->frames);</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> }</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> </div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> cpl_frameset_delete(copy);</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> </div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> }</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> </div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> <span class="keyword">static</span> <span class="keywordtype">void</span> recipe_sof_test_image_empty(cpl_plugin * plugin, <span class="keywordtype">size_t</span> nstr,</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *astr[])</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> {</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> cpl_recipe * recipe = (cpl_recipe*)plugin;</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> int (*recipe_exec) (cpl_plugin *);</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> cpl_frameset * copy;</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> cpl_error_code error;</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="keywordtype">size_t</span> i;</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> cpl_frame * frame;</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> cpl_image * iempty;</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> <span class="keywordtype">int</span> retstat;</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> </div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> </div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> <span class="keywordflow">if</span> (nstr < 1) <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> </div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> cpl_msg_info(cpl_func, <span class="stringliteral">"Testing recipe with %u empty images as input "</span>,</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> (<span class="keywordtype">unsigned</span>)nstr);</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> </div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> iempty = cpl_image_new(13, 17, CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> cpl_test_nonnull(iempty);</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> </div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> <span class="keywordflow">for</span> (i = 0; i < nstr; i++) {</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> cpl_frame * f = cpl_frame_new();</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> <span class="keywordtype">char</span> * rawname = cpl_sprintf(<span class="stringliteral">"raw%05u.fits"</span>, (<span class="keywordtype">unsigned</span>)(i+1));</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> </div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> error = cpl_image_save(iempty, rawname,CPL_BPP_IEEE_FLOAT, NULL,</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> CPL_IO_DEFAULT);</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> cpl_test_eq_error(error, CPL_ERROR_NONE);</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> </div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> error = cpl_frame_set_filename(f, rawname);</div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> cpl_test_eq_error(error, CPL_ERROR_NONE);</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> </div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> error = cpl_frame_set_tag(f, astr[i]);</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> cpl_test_eq_error(error, CPL_ERROR_NONE);</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> </div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> error = cpl_frameset_insert(recipe->frames, f);</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> cpl_test_eq_error(error, CPL_ERROR_NONE);</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> </div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> cpl_free(rawname);</div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> }</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> cpl_image_delete(iempty);</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> </div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> copy = cpl_frameset_duplicate(recipe->frames);</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> </div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> recipe_exec = cpl_plugin_get_exec(plugin);</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> cpl_test(recipe_exec != NULL);</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> </div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> <span class="keywordflow">if</span> (recipe_exec != NULL) {</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> </div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> <span class="comment">/* Call recipe and expect consistency between return code and</span></div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> <span class="comment"> CPL error */</span></div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> </div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> retstat = recipe_exec(plugin);</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> error = cpl_error_get_code();</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> <span class="comment">/* Expect also the CPL error code to be set */</span></div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> <span class="keywordflow">if</span> (error == 0) {</div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> cpl_test_zero(retstat);</div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> cpl_test(retstat);</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> }</div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> cpl_test_error( error );</div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> </div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> recipe_frameset_test_frameset_diff(recipe->frames, copy);</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> </div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> <span class="keywordflow">for</span> (frame = cpl_frameset_get_first(recipe->frames); frame != NULL;</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> frame = cpl_frameset_get_next(recipe->frames))</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> {</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> cpl_test_zero( <span class="keyword">remove</span>(cpl_frame_get_filename(frame)) );</div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> }</div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> </div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> recipe_frameset_empty(recipe->frames);</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> }</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> </div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> cpl_frameset_delete(copy);</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> </div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> }</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> </div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> </div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> cpl_boolean irplib_plugin_has_sof_from_env(<span class="keyword">const</span> cpl_plugin * plugin,</div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * envname)</div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> {</div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * recipename = cpl_plugin_get_name(plugin);</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sof_path = envname ? getenv(envname) : NULL;</div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> cpl_frameset * frames;</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> <span class="keywordtype">char</span> * sof_name;</div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> <span class="keyword">const</span> cpl_frame * ffirst;</div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> </div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> cpl_ensure(plugin != NULL, CPL_ERROR_NULL_INPUT, CPL_FALSE);</div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> cpl_ensure(envname != NULL, CPL_ERROR_NULL_INPUT, CPL_FALSE);</div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> cpl_ensure(recipename != NULL, CPL_ERROR_DATA_NOT_FOUND, CPL_FALSE);</div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> cpl_ensure(!cpl_error_get_code(), cpl_error_get_code(), CPL_FALSE);</div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> </div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> <span class="keywordflow">if</span> (sof_path == NULL) <span class="keywordflow">return</span> CPL_FALSE;</div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> </div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> sof_name = cpl_sprintf(<span class="stringliteral">"%s/%s.sof"</span>, sof_path, recipename);</div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> </div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> frames = cpl_frameset_new();</div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> recipe_frameset_load(frames, sof_name);</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> </div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> ffirst = cpl_frameset_get_first_const(frames);</div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> </div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> cpl_free(sof_name);</div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> cpl_frameset_delete(frames);</div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> </div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> cpl_ensure(!cpl_error_get_code(), cpl_error_get_code(), CPL_FALSE);</div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> </div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> <span class="keywordflow">return</span> ffirst ? CPL_TRUE : CPL_FALSE;</div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> </div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> }</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> </div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> <span class="keyword">static</span> <span class="keywordtype">void</span> recipe_sof_test_from_env(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> {</div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> cpl_recipe * recipe = (cpl_recipe*)plugin;</div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * recipename = cpl_plugin_get_name(plugin);</div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * var_name = <span class="stringliteral">"RECIPE_SOF_PATH"</span>;</div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sof_path = getenv(var_name);</div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> cpl_error_code error;</div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> </div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> <span class="keywordtype">char</span> * sof_name;</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> </div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> <span class="keywordflow">if</span> (sof_path == NULL) {</div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> cpl_msg_warning(cpl_func, <span class="stringliteral">"Environment variable %s is unset: "</span></div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> <span class="stringliteral">"No SOFs to check"</span>, var_name);</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> }</div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> </div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> cpl_msg_debug(cpl_func, <span class="stringliteral">"Checking for SOFs in %s"</span>, sof_path);</div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> </div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> cpl_test_nonnull( recipename );</div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> <span class="keywordflow">if</span> (recipename == NULL) <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> </div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> sof_name = cpl_sprintf(<span class="stringliteral">"%s/%s.sof"</span>, sof_path, recipename);</div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> </div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> cpl_msg_debug(cpl_func, <span class="stringliteral">"Checking for SOF %s"</span>, sof_name);</div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> </div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> recipe_frameset_load(recipe->frames, sof_name);</div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> </div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> <span class="keywordflow">if</span> (!cpl_frameset_is_empty(recipe->frames)) {</div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> </div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> int (*recipe_exec ) (cpl_plugin *);</div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> cpl_frameset * copy = cpl_frameset_duplicate(recipe->frames);</div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> </div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> recipe_exec = cpl_plugin_get_exec(plugin);</div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> cpl_test(recipe_exec != NULL);</div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> </div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> <span class="keywordflow">if</span> (recipe_exec != NULL) {</div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> cpl_msg_info(cpl_func,<span class="stringliteral">"Checking handling of SOF: %s"</span>, sof_name);</div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> </div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> <span class="comment">/* Call recipe and expect zero return code */</span></div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> cpl_test_zero( recipe_exec(plugin) );</div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> <span class="comment">/* Expect also the CPL error code to be clear */</span></div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> cpl_test_error(CPL_ERROR_NONE);</div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> </div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> error = cpl_dfs_update_product_header(recipe->frames);</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> cpl_test_eq_error(error, CPL_ERROR_NONE);</div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> </div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> recipe_frameset_test_frameset_diff(recipe->frames, copy);</div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> </div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> recipe_frameset_empty(recipe->frames);</div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> }</div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> </div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> cpl_frameset_delete(copy);</div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> </div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> }</div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> </div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> cpl_free(sof_name);</div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> </div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> }</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> </div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> </div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> </div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> <span class="keyword">static</span> <span class="keywordtype">void</span> recipe_sof_test_local(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> {</div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> cpl_recipe * recipe = (cpl_recipe*)plugin;</div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * recipename = cpl_plugin_get_name(plugin);</div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> cpl_error_code error;</div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> <span class="keywordtype">char</span> * sof_name = cpl_sprintf(<span class="stringliteral">"%s.sof"</span>, recipename);</div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> </div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> cpl_msg_debug(cpl_func, <span class="stringliteral">"Checking for SOF %s"</span>, sof_name);</div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> </div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> recipe_frameset_load(recipe->frames, sof_name);</div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> </div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> <span class="keywordflow">if</span> (!cpl_frameset_is_empty(recipe->frames)) {</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> </div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> int (*recipe_exec ) (cpl_plugin *);</div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> cpl_frameset * copy = cpl_frameset_duplicate(recipe->frames);</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> </div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> recipe_exec = cpl_plugin_get_exec(plugin);</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> cpl_test(recipe_exec != NULL);</div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> </div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> <span class="keywordflow">if</span> (recipe_exec != NULL) {</div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> </div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> cpl_msg_info(cpl_func,<span class="stringliteral">"Checking handling of SOF: %s"</span>, sof_name);</div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> </div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> <span class="comment">/* Call recipe and expect zero return code */</span></div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> cpl_test_zero( recipe_exec(plugin) );</div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> <span class="comment">/* Expect also the CPL error code to be clear */</span></div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> cpl_test_error(CPL_ERROR_NONE);</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> </div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> error = cpl_dfs_update_product_header(recipe->frames);</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> cpl_test_eq_error( error, CPL_ERROR_NONE );</div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> </div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> recipe_frameset_test_frameset_diff(recipe->frames, copy);</div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> </div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> recipe_frameset_empty(recipe->frames);</div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> }</div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> </div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> cpl_frameset_delete(copy);</div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> }</div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> </div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> cpl_free(sof_name);</div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> </div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> }</div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> </div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> </div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> </div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> </div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> <span class="comment">/**********************************************************************/</span></div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> <span class="comment">/**********************************************************************/</span></div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> </div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> <span class="keyword">static</span> <span class="keywordtype">void</span> recipe_frameset_load(cpl_frameset * <span class="keyword">set</span>, <span class="keyword">const</span> <span class="keywordtype">char</span> *name)</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> {</div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> </div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> FILE *fp;</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> <span class="keywordtype">char</span> line[LINE_LEN_MAX];</div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> <span class="keywordtype">char</span> path[LINE_LEN_MAX], group[LINE_LEN_MAX], tag[LINE_LEN_MAX];</div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> <span class="keywordtype">int</span> line_number;</div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> </div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> assert( <span class="keyword">set</span> != NULL );</div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> assert( name != NULL );</div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> </div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> fp = fopen(name, <span class="stringliteral">"r"</span>);</div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> <span class="keywordflow">if</span> (fp == NULL) {</div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> cpl_msg_debug(cpl_func, <span class="stringliteral">"Unable to open SOF file '%s'"</span>, name);</div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> }</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> </div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> <span class="comment">/* Loop over all the lines in the set-of-frames file */</span></div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> <span class="keywordflow">for</span> (line_number = 0; fgets(line, LINE_LEN_MAX - 1, fp); line_number++) {</div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> </div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> <span class="keywordtype">char</span> scan_fmt[50];</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> cpl_frame_group grp;</div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> cpl_frame * frame;</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> <span class="keywordtype">int</span> n;</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> </div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> <span class="keywordflow">if</span> (line[0] == <span class="charliteral">'#'</span>) <span class="keywordflow">continue</span>;</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> </div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> snprintf(scan_fmt, 49, <span class="stringliteral">"%%%ds %%%ds %%%ds"</span>, LINE_LEN_MAX - 1,</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> LINE_LEN_MAX - 1, LINE_LEN_MAX - 1); </div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> n = sscanf(line, scan_fmt, path, tag, group);</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> </div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> <span class="keywordflow">if</span> (n < 1) {</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> cpl_msg_warning(cpl_func, <span class="stringliteral">"Spurious line no. %d in %s: %s"</span>,</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> line_number, name, line);</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> }</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> </div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> <span class="comment">/* Allocate a new frame */</span></div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> frame = cpl_frame_new();</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> </div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> <span class="comment">/* Set the filename component of the frame */</span></div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> cpl_frame_set_filename(frame, path);</div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> </div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> <span class="comment">/* Set the tag component of the frame (or set a default) */</span></div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> cpl_frame_set_tag(frame, n == 1 ? <span class="stringliteral">""</span> : tag);</div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> </div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> cpl_frameset_insert(<span class="keyword">set</span>, frame);</div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> </div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> <span class="comment">/* Set the group component of the frame (or set a default) */</span></div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> <span class="keywordflow">if</span> (n < 3) <span class="keywordflow">continue</span>;</div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> </div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> <span class="keywordflow">if</span> (!strcmp(group, CPL_FRAME_GROUP_RAW_ID))</div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> grp = CPL_FRAME_GROUP_RAW;</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(group, CPL_FRAME_GROUP_CALIB_ID))</div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> grp = CPL_FRAME_GROUP_CALIB;</div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(group, CPL_FRAME_GROUP_PRODUCT_ID))</div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> grp = CPL_FRAME_GROUP_PRODUCT;</div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> grp = CPL_FRAME_GROUP_NONE;</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> </div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> cpl_frame_set_group(frame, grp);</div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> }</div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> </div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> fclose(fp);</div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> </div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> </div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> }</div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> </div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> </div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> <span class="keyword">static</span></div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> <span class="keyword">const</span> cpl_parameter * irplib_parameterlist_get(<span class="keyword">const</span> cpl_parameterlist * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * instrume,</div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * recipe,</div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * parameter)</div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> {</div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> </div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> <span class="keywordtype">char</span> * paramname;</div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> <span class="keyword">const</span> cpl_parameter * par;</div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> </div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> </div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> cpl_ensure(instrume != NULL, CPL_ERROR_NULL_INPUT, NULL);</div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> cpl_ensure(recipe != NULL, CPL_ERROR_NULL_INPUT, NULL);</div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> cpl_ensure(parameter != NULL, CPL_ERROR_NULL_INPUT, NULL);</div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> </div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> paramname = cpl_sprintf(<span class="stringliteral">"%s.%s.%s"</span>, instrume, recipe, parameter);</div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> </div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> par = cpl_parameterlist_find_const(<span class="keyword">self</span>, paramname);</div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> </div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> <span class="keywordflow">if</span> (par == NULL) (void)cpl_error_set_message(cpl_func,</div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> cpl_error_get_code()</div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> ? cpl_error_get_code()</div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> : CPL_ERROR_DATA_NOT_FOUND,</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> <span class="stringliteral">"%s"</span>, paramname);</div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> </div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> cpl_free(paramname);</div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> </div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> <span class="keywordflow">return</span> par;</div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> </div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> }</div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> </div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> </div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> <span class="keyword">static</span> <span class="keywordtype">void</span> recipe_frameset_empty(cpl_frameset * <span class="keyword">self</span>)</div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> {</div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> cpl_frame * f;</div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> </div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> <span class="keywordflow">if</span> (<span class="keyword">self</span> == NULL) {</div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> cpl_error_set(cpl_func, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> }</div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> </div>
-<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> <span class="keywordflow">for</span> (f = cpl_frameset_get_first(<span class="keyword">self</span>); f != NULL;</div>
-<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> f = cpl_frameset_get_first(<span class="keyword">self</span>))</div>
-<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> {</div>
-<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> cpl_frameset_erase_frame(<span class="keyword">self</span>, f);</div>
-<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> }</div>
-<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> }</div>
-<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> </div>
-<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> </div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> <span class="keyword">static</span> <span class="keywordtype">void</span> recipe_frameset_test_frame(<span class="keyword">const</span> cpl_frame * <span class="keyword">self</span>)</div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> {</div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> </div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> cpl_msg_info(cpl_func, <span class="stringliteral">"Validating new frame: %s"</span>,</div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> cpl_frame_get_filename(<span class="keyword">self</span>));</div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> </div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> cpl_test_nonnull(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> </div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> <span class="comment">/* Frame must be tagged */</span></div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> cpl_test_nonnull(cpl_frame_get_tag(<span class="keyword">self</span>));</div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> </div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> <span class="comment">/* New frames must be products */</span></div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> cpl_test_eq(cpl_frame_get_group(<span class="keyword">self</span>), CPL_FRAME_GROUP_PRODUCT);</div>
-<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> </div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> <span class="keywordflow">if</span> (cpl_frame_get_type(<span class="keyword">self</span>) != CPL_FRAME_TYPE_PAF) {</div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> <span class="comment">/* All but PAF (?) must be FITS */</span></div>
-<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> cpl_test_fits(cpl_frame_get_filename(<span class="keyword">self</span>));</div>
-<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> <span class="comment">/* Frame must at least have a filename */</span></div>
-<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> cpl_test_nonnull(cpl_frame_get_filename(<span class="keyword">self</span>));</div>
-<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span> }</div>
-<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> }</div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> </div>
-<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span> <span class="keyword">static</span> <span class="keywordtype">void</span> recipe_frameset_test_frameset_diff(<span class="keyword">const</span> cpl_frameset * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span> <span class="keyword">const</span> cpl_frameset * other)</div>
-<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span> {</div>
-<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span> </div>
-<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span> <span class="keyword">const</span> cpl_frame * frame = cpl_frameset_get_first_const(other);</div>
-<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span> </div>
-<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span> <span class="comment">/* First verify that filenames in other are non-NULL */</span></div>
-<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> <span class="keywordflow">for</span> (;frame != NULL; frame = cpl_frameset_get_next_const(other)) {</div>
-<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * file = cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span> </div>
-<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span> <span class="keywordflow">if</span> (file == NULL) {</div>
-<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span> cpl_test_nonnull(cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span> }</div>
-<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span> }</div>
-<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span> <span class="keywordflow">if</span> (frame != NULL) <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span> </div>
-<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span> frame = cpl_frameset_get_first_const(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span> </div>
-<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span> <span class="keywordflow">for</span> (;frame != NULL; frame = cpl_frameset_get_next_const(<span class="keyword">self</span>)) {</div>
-<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span> <span class="keyword">const</span> cpl_frame * cmp = cpl_frameset_get_first_const(other);</div>
-<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * file = cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span> </div>
-<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> <span class="keywordflow">if</span> (file == NULL) {</div>
-<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> cpl_test_nonnull(cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> <span class="keywordflow">continue</span>;</div>
-<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> }</div>
-<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> </div>
-<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> <span class="keywordflow">for</span> (;cmp != NULL; cmp = cpl_frameset_get_next_const(other)) {</div>
-<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * cfile = cpl_frame_get_filename(cmp);</div>
-<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> </div>
-<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> <span class="keywordflow">if</span> (!strcmp(file, cfile)) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> </div>
-<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> }</div>
-<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> <span class="keywordflow">if</span> (cmp == NULL) {</div>
-<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> <span class="comment">/* frame is new */</span></div>
-<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> </div>
-<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> cpl_test_eq(cpl_frame_get_group(frame), CPL_FRAME_GROUP_PRODUCT);</div>
-<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> recipe_frameset_test_frame(frame);</div>
-<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> }</div>
-<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> }</div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__plugin_8h_source.html b/html/irplib__plugin_8h_source.html
deleted file mode 100644
index a1cdc37..0000000
--- a/html/irplib__plugin_8h_source.html
+++ /dev/null
@@ -1,140 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_plugin.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_plugin.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_plugin.h,v 1.23 2012/01/11 08:03:37 llundin Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package </span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: llundin $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2012/01/11 08:03:37 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.23 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef IRPLIB_PLUGIN_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_PLUGIN_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <irplib_utils.h></span> <span class="comment">/* irplib_reset() */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> Define</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/* Needed (by uves) to concatenate two macro arguments */</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#define IRPLIB_CONCAT(a,b) a ## _ ## b</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_CONCAT2X(a,b) IRPLIB_CONCAT(a,b)</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> Function prototypes</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">int</span> irplib_plugin_test(cpl_pluginlist *, <span class="keywordtype">size_t</span>, <span class="keyword">const</span> <span class="keywordtype">char</span> *[]);</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> cpl_error_code irplib_parameterlist_set_string(cpl_parameterlist *,</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *, </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *);</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> cpl_error_code irplib_parameterlist_set_bool(cpl_parameterlist *,</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *, cpl_boolean,</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *);</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> cpl_error_code irplib_parameterlist_set_int(cpl_parameterlist *,</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *);</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> cpl_error_code irplib_parameterlist_set_double(cpl_parameterlist *,</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keywordtype">double</span>, </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *);</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * irplib_parameterlist_get_string(<span class="keyword">const</span> cpl_parameterlist *,</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *);</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> cpl_boolean irplib_parameterlist_get_bool(<span class="keyword">const</span> cpl_parameterlist *,</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *);</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keywordtype">int</span> irplib_parameterlist_get_int(<span class="keyword">const</span> cpl_parameterlist *,</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *);</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordtype">double</span> irplib_parameterlist_get_double(<span class="keyword">const</span> cpl_parameterlist *,</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *);</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__polynomial_8c_source.html b/html/irplib__polynomial_8c_source.html
deleted file mode 100644
index 60b000a..0000000
--- a/html/irplib__polynomial_8c_source.html
+++ /dev/null
@@ -1,1282 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_polynomial.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_polynomial.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_polynomial.c,v 1.35 2013/01/29 08:43:33 jtaylor Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the ESO Common Pipeline Library</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2001-2004 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: jtaylor $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2013/01/29 08:43:33 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.35 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "irplib_polynomial.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <assert.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/* DBL_MAX: */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <float.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> Macro definitions</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#define IRPLIB_SWAP(a,b) { const double t=(a);(a)=(b);(b)=t; }</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#if 0</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor"></span><span class="preprocessor">#define irplib_trace() cpl_msg_info(cpl_func, "%d: Trace", __LINE__)</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor"></span><span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor"></span><span class="preprocessor">#define irplib_trace() </span><span class="comment">/* Trace */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> Static functions</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keyword">static</span> <span class="keywordtype">double</span> irplib_polynomial_eval_2_max(<span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>, cpl_boolean,</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">double</span>, <span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keyword">static</span> <span class="keywordtype">double</span> irplib_polynomial_eval_3_max(<span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>,</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> cpl_boolean, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">static</span> cpl_boolean irplib_polynomial_solve_1d_2(<span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>,</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">double</span> *, <span class="keywordtype">double</span> *);</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">static</span> cpl_boolean irplib_polynomial_solve_1d_3(<span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>,</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">double</span> *, <span class="keywordtype">double</span> *, <span class="keywordtype">double</span> *,</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> cpl_boolean *,</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> cpl_boolean *);</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">static</span> <span class="keywordtype">void</span> irplib_polynomial_solve_1d_31(<span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span> *, <span class="keywordtype">double</span> *,</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">double</span> *, cpl_boolean *);</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keyword">static</span> <span class="keywordtype">void</span> irplib_polynomial_solve_1d_32(<span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span> *,</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keywordtype">double</span> *, <span class="keywordtype">double</span> *, cpl_boolean *);</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keyword">static</span> <span class="keywordtype">void</span> irplib_polynomial_solve_1d_3r(<span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>,</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">double</span> *, <span class="keywordtype">double</span> *, <span class="keywordtype">double</span> *);</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keyword">static</span> <span class="keywordtype">void</span> irplib_polynomial_solve_1d_3c(<span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>,</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>,</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">double</span> *, <span class="keywordtype">double</span> *, <span class="keywordtype">double</span> *,</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> cpl_boolean *, cpl_boolean *);</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keyword">static</span> cpl_error_code irplib_polynomial_solve_1d_4(<span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>,</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">double</span>, <span class="keywordtype">double</span>, cpl_size *,</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordtype">double</span> *, <span class="keywordtype">double</span> *,</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">double</span> *, <span class="keywordtype">double</span> *);</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keyword">static</span> cpl_error_code irplib_polynomial_solve_1d_nonzero(cpl_polynomial *,</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> cpl_vector *,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> cpl_size *);</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keyword">static</span> cpl_error_code irplib_polynomial_divide_1d_root(cpl_polynomial *, <span class="keywordtype">double</span>,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">double</span> *);</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="preprocessor">#ifdef IPRLIB_POLYNOMIAL_USE_MONOMIAL_ROOT</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="preprocessor"></span><span class="keyword">static</span> <span class="keywordtype">double</span> irplib_polynomial_depress_1d(cpl_polynomial *);</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="preprocessor">#if defined CPL_VERSION_CODE && CPL_VERSION_CODE > CPL_VERSION(5, 92, 0)</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="preprocessor"></span><span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"><a class="code" href="group__irplib__polynomial.html#ga90e13f05c9addc584f154279681d1853"> 134</a></span> cpl_error_code <a class="code" href="group__irplib__polynomial.html#ga90e13f05c9addc584f154279681d1853" title="Add two polynomials of the same dimension.">irplib_polynomial_add</a>(cpl_polynomial * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keyword">const</span> cpl_polynomial * first,</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keyword">const</span> cpl_polynomial * second)</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> {</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> cpl_size degree0 = cpl_polynomial_get_degree(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keyword">const</span> cpl_size degree1 = cpl_polynomial_get_degree(first);</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keyword">const</span> cpl_size degree2 = cpl_polynomial_get_degree(second);</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keyword">const</span> cpl_size maxdeg = degree1 > degree2 ? degree1 : degree2;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> cpl_ensure_code(first != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> cpl_ensure_code(second != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> cpl_ensure_code(cpl_polynomial_get_dimension(<span class="keyword">self</span>) ==</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> cpl_polynomial_get_dimension(first),</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> CPL_ERROR_INCOMPATIBLE_INPUT);</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> cpl_ensure_code(cpl_polynomial_get_dimension(<span class="keyword">self</span>) ==</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> cpl_polynomial_get_dimension(second),</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> CPL_ERROR_INCOMPATIBLE_INPUT);</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment">/* FIXME: */</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> cpl_ensure_code(cpl_polynomial_get_dimension(<span class="keyword">self</span>) == 1,</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> CPL_ERROR_UNSUPPORTED_MODE);</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordflow">if</span> (degree0 < maxdeg) {</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> degree0 = maxdeg;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment">/* Reset coefficients in self as needed */</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordflow">for</span> (; degree0 > maxdeg; degree0--) {</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> cpl_polynomial_set_coeff(<span class="keyword">self</span>, °ree0, 0.0);</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> }</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> }</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment">/* assert( degree0 == maxdeg ); */</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordflow">for</span> (; degree0 >= 0; degree0--) {</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keyword">const</span> <span class="keywordtype">double</span> val1 = cpl_polynomial_get_coeff(first, °ree0);</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keyword">const</span> <span class="keywordtype">double</span> val2 = cpl_polynomial_get_coeff(second, °ree0);</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> cpl_polynomial_set_coeff(<span class="keyword">self</span>, °ree0, val1 + val2);</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> }</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> }</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"><a class="code" href="group__irplib__polynomial.html#ga0e83ae3c9e7accb70fdfe1aca030e084"> 195</a></span> cpl_error_code <a class="code" href="group__irplib__polynomial.html#ga0e83ae3c9e7accb70fdfe1aca030e084" title="Subtract two polynomials of the same dimension.">irplib_polynomial_subtract</a>(cpl_polynomial * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keyword">const</span> cpl_polynomial * first,</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keyword">const</span> cpl_polynomial * second)</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> {</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> cpl_size degree0 = cpl_polynomial_get_degree(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="keyword">const</span> cpl_size degree1 = cpl_polynomial_get_degree(first);</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keyword">const</span> cpl_size degree2 = cpl_polynomial_get_degree(second);</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keyword">const</span> cpl_size maxdeg = degree1 > degree2 ? degree1 : degree2;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> cpl_ensure_code(first != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> cpl_ensure_code(second != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> cpl_ensure_code(cpl_polynomial_get_dimension(<span class="keyword">self</span>) ==</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> cpl_polynomial_get_dimension(first),</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> CPL_ERROR_INCOMPATIBLE_INPUT);</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> cpl_ensure_code(cpl_polynomial_get_dimension(<span class="keyword">self</span>) ==</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> cpl_polynomial_get_dimension(second),</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> CPL_ERROR_INCOMPATIBLE_INPUT);</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="comment">/* FIXME: */</span></div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> cpl_ensure_code(cpl_polynomial_get_dimension(<span class="keyword">self</span>) == 1,</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> CPL_ERROR_UNSUPPORTED_MODE);</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordflow">if</span> (degree0 < maxdeg) {</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> degree0 = maxdeg;</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment">/* Reset coefficients in self as needed */</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keywordflow">for</span> (; degree0 > maxdeg; degree0--) {</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> cpl_polynomial_set_coeff(<span class="keyword">self</span>, °ree0, 0.0);</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> }</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> }</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="comment">/* assert( degree0 == maxdeg ); */</span></div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keywordflow">for</span> (; degree0 >= 0; degree0--) {</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keyword">const</span> <span class="keywordtype">double</span> val1 = cpl_polynomial_get_coeff(first, °ree0);</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keyword">const</span> <span class="keywordtype">double</span> val2 = cpl_polynomial_get_coeff(second, °ree0);</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> cpl_polynomial_set_coeff(<span class="keyword">self</span>, °ree0, val1 - val2);</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> }</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> }</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00253"></a><span class="lineno"><a class="code" href="group__irplib__polynomial.html#ga55c030413e6ef112753b280ad5213786"> 253</a></span> cpl_error_code <a class="code" href="group__irplib__polynomial.html#ga55c030413e6ef112753b280ad5213786" title="Multiply a polynomial with a scalar.">irplib_polynomial_multiply_scalar</a>(cpl_polynomial * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keyword">const</span> cpl_polynomial * other,</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keywordtype">double</span> factor)</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> {</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keyword">const</span> cpl_size maxdeg = cpl_polynomial_get_degree(other);</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keyword">const</span> cpl_size zerodeg = cpl_polynomial_get_degree(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> cpl_size degree;</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> cpl_ensure_code(other != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> cpl_ensure_code(cpl_polynomial_get_dimension(<span class="keyword">self</span>) == 1,</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> CPL_ERROR_UNSUPPORTED_MODE);</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> cpl_ensure_code(cpl_polynomial_get_dimension(other) == 1,</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> CPL_ERROR_UNSUPPORTED_MODE);</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="keywordflow">for</span> (degree = 0; degree <= maxdeg; degree++) {</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="keyword">const</span> <span class="keywordtype">double</span> val = factor * cpl_polynomial_get_coeff(other, °ree);</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> cpl_polynomial_set_coeff(<span class="keyword">self</span>, °ree, val);</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> }</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="comment">/* Reset coefficients in self as needed */</span></div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="keywordflow">for</span> (; degree <= zerodeg; degree++) {</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> cpl_polynomial_set_coeff(<span class="keyword">self</span>, &zerodeg, 0.0);</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> }</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> }</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="preprocessor"></span><span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00310"></a><span class="lineno"><a class="code" href="group__irplib__polynomial.html#ga87e84d69eadbde803fce3c3cbdedf385"> 310</a></span> cpl_error_code <a class="code" href="group__irplib__polynomial.html#ga87e84d69eadbde803fce3c3cbdedf385" title="Compute all n roots of p(x) = 0, where p(x) is of degree n, n > 0.">irplib_polynomial_solve_1d_all</a>(<span class="keyword">const</span> cpl_polynomial * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> cpl_vector * roots,</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> cpl_size * preal)</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> {</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> cpl_error_code error = CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> cpl_polynomial * p;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> cpl_ensure_code(roots != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> cpl_ensure_code(preal != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> cpl_ensure_code(cpl_polynomial_get_dimension(<span class="keyword">self</span>) == 1,</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> CPL_ERROR_INVALID_TYPE);</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> cpl_ensure_code(cpl_polynomial_get_degree(<span class="keyword">self</span>) > 0,</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> CPL_ERROR_DATA_NOT_FOUND);</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> cpl_ensure_code(cpl_polynomial_get_degree(<span class="keyword">self</span>) ==</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> cpl_vector_get_size(roots), CPL_ERROR_INCOMPATIBLE_INPUT);</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> *preal = 0;</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> p = cpl_polynomial_duplicate(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> error = irplib_polynomial_solve_1d_nonzero(p, roots, preal);</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> cpl_polynomial_delete(p);</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="keywordflow">return</span> error;</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> }</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> </div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="keyword">static</span> cpl_error_code irplib_polynomial_solve_1d_nonzero(cpl_polynomial * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> cpl_vector * roots,</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> cpl_size * preal)</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> {</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> cpl_error_code error = CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="keyword">const</span> cpl_size ncoeffs = 1 + cpl_polynomial_get_degree(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> </div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> cpl_ensure_code(roots != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> cpl_ensure_code(preal != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> cpl_ensure_code(cpl_polynomial_get_dimension(<span class="keyword">self</span>) == 1,</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> CPL_ERROR_INVALID_TYPE);</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> cpl_ensure_code(ncoeffs > 1, CPL_ERROR_DATA_NOT_FOUND);</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> cpl_ensure_code(*preal >= 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> cpl_ensure_code(ncoeffs + *preal == 1+cpl_vector_get_size(roots),</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> CPL_ERROR_INCOMPATIBLE_INPUT);</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="keywordflow">switch</span> (ncoeffs) {</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> </div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="keywordflow">case</span> 2 : {</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keyword">const</span> cpl_size i1 = 1;</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="keyword">const</span> cpl_size i0 = 0;</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="keyword">const</span> <span class="keywordtype">double</span> p1 = cpl_polynomial_get_coeff(<span class="keyword">self</span>, &i1);</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="keyword">const</span> <span class="keywordtype">double</span> p0 = cpl_polynomial_get_coeff(<span class="keyword">self</span>, &i0);</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> </div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> cpl_vector_set(roots, (*preal)++, -p0/p1);</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> }</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="keywordflow">case</span> 3 : {</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="keyword">const</span> cpl_size i2 = 2;</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="keyword">const</span> cpl_size i1 = 1;</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="keyword">const</span> cpl_size i0 = 0;</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="keyword">const</span> <span class="keywordtype">double</span> p2 = cpl_polynomial_get_coeff(<span class="keyword">self</span>, &i2);</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="keyword">const</span> <span class="keywordtype">double</span> p1 = cpl_polynomial_get_coeff(<span class="keyword">self</span>, &i1);</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="keyword">const</span> <span class="keywordtype">double</span> p0 = cpl_polynomial_get_coeff(<span class="keyword">self</span>, &i0);</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="keywordtype">double</span> x1, x2;</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> </div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="keywordflow">if</span> (irplib_polynomial_solve_1d_2(p2, p1, p0, &x1, &x2)) {</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="comment">/* This is the complex root in the upper imaginary half-plane */</span></div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> cpl_vector_set(roots, (*preal) , x1);</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> cpl_vector_set(roots, (*preal)+1, x2);</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> cpl_vector_set(roots, (*preal)++, x1);</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> cpl_vector_set(roots, (*preal)++, x2);</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> }</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> }</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="keywordflow">case</span> 4 : {</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="keyword">const</span> cpl_size i3 = 3;</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="keyword">const</span> cpl_size i2 = 2;</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="keyword">const</span> cpl_size i1 = 1;</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="keyword">const</span> cpl_size i0 = 0;</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="keyword">const</span> <span class="keywordtype">double</span> p3 = cpl_polynomial_get_coeff(<span class="keyword">self</span>, &i3);</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="keyword">const</span> <span class="keywordtype">double</span> p2 = cpl_polynomial_get_coeff(<span class="keyword">self</span>, &i2);</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="keyword">const</span> <span class="keywordtype">double</span> p1 = cpl_polynomial_get_coeff(<span class="keyword">self</span>, &i1);</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="keyword">const</span> <span class="keywordtype">double</span> p0 = cpl_polynomial_get_coeff(<span class="keyword">self</span>, &i0);</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="keywordtype">double</span> x1, x2, x3;</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> </div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="keywordflow">if</span> (irplib_polynomial_solve_1d_3(p3, p2, p1, p0, &x1, &x2, &x3,</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> NULL, NULL)) {</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> cpl_vector_set(roots, (*preal)++, x1);</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="comment">/* This is the complex root in the upper imaginary half-plane */</span></div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> cpl_vector_set(roots, (*preal) , x2);</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> cpl_vector_set(roots, (*preal)+1, x3);</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> cpl_vector_set(roots, (*preal)++, x1);</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> cpl_vector_set(roots, (*preal)++, x2);</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> cpl_vector_set(roots, (*preal)++, x3);</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> }</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> }</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="keywordflow">case</span> 5 : {</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="keyword">const</span> cpl_size i4 = 4;</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="keyword">const</span> cpl_size i3 = 3;</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="keyword">const</span> cpl_size i2 = 2;</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="keyword">const</span> cpl_size i1 = 1;</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="keyword">const</span> cpl_size i0 = 0;</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="keyword">const</span> <span class="keywordtype">double</span> p4 = cpl_polynomial_get_coeff(<span class="keyword">self</span>, &i4);</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="keyword">const</span> <span class="keywordtype">double</span> p3 = cpl_polynomial_get_coeff(<span class="keyword">self</span>, &i3);</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="keyword">const</span> <span class="keywordtype">double</span> p2 = cpl_polynomial_get_coeff(<span class="keyword">self</span>, &i2);</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="keyword">const</span> <span class="keywordtype">double</span> p1 = cpl_polynomial_get_coeff(<span class="keyword">self</span>, &i1);</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="keyword">const</span> <span class="keywordtype">double</span> p0 = cpl_polynomial_get_coeff(<span class="keyword">self</span>, &i0);</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="keywordtype">double</span> x1, x2, x3, x4;</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> cpl_size nreal;</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> </div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> error = irplib_polynomial_solve_1d_4(p4, p3, p2, p1, p0, &nreal,</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> &x1, &x2, &x3, &x4);</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="keywordflow">if</span> (!error) {</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> cpl_vector_set(roots, (*preal) , x1);</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> cpl_vector_set(roots, (*preal)+1, x2);</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> cpl_vector_set(roots, (*preal)+2, x3);</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> cpl_vector_set(roots, (*preal)+3, x4);</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> </div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> *preal += nreal;</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> }</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> }</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> </div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> <span class="keywordflow">default</span>: {</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> </div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="comment">/* Try to reduce the problem by finding a single root */</span></div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="preprocessor">#ifndef IPRLIB_POLYNOMIAL_USE_MONOMIAL_ROOT</span></div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="preprocessor"></span> <span class="keyword">const</span> cpl_size n0 = ncoeffs-1;</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="keyword">const</span> <span class="keywordtype">double</span> pn0 = cpl_polynomial_get_coeff(<span class="keyword">self</span>, &n0);</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="keyword">const</span> cpl_size n1 = ncoeffs-2;</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="keyword">const</span> <span class="keywordtype">double</span> pn1 = cpl_polynomial_get_coeff(<span class="keyword">self</span>, &n1);</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="comment">/* First guess of root is the root average.</span></div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="comment"> FIXME: May need refinement, e.g. via bisection */</span></div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="keyword">const</span> <span class="keywordtype">double</span> rmean = -pn1 / (pn0 * n0);</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="keywordtype">double</span> root = rmean;</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="preprocessor"></span> <span class="comment">/* Try an analytical solution to a (shifted) monomial */</span></div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> cpl_polynomial * copy = cpl_polynomial_duplicate(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="keyword">const</span> cpl_size i0 = 0;</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="keyword">const</span> <span class="keywordtype">double</span> rmean = irplib_polynomial_depress_1d(copy);</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="keyword">const</span> <span class="keywordtype">double</span> c0 = cpl_polynomial_get_coeff(copy, &i0);</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="keywordtype">double</span> root = rmean + ((n0&1) && c0 < 0.0 ? -1.0 : 1.0)</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> * pow(fabs(c0), 1.0/n0);</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> </div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> cpl_polynomial_delete(copy);</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> error = cpl_polynomial_solve_1d(<span class="keyword">self</span>, root, &root, 1);</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> </div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="keywordflow">if</span> (!error) {</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> </div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> cpl_vector_set(roots, (*preal)++, root);</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> </div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> irplib_polynomial_divide_1d_root(<span class="keyword">self</span>, root, NULL);</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> </div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> error = irplib_polynomial_solve_1d_nonzero(<span class="keyword">self</span>, roots, preal);</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> </div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="keywordflow">if</span> (!error && *preal > 1) {</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="comment">/* Sort the real roots */</span></div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> </div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="comment">/* FIXME: Assumes that all roots found so far are real */</span></div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> </div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> cpl_vector * reals = cpl_vector_wrap(*preal,</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> cpl_vector_get_data(roots));</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> cpl_vector_sort(reals, 1);</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> (void)cpl_vector_unwrap(reals);</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> }</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> }</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> }</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> }</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> </div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="keywordflow">return</span> error;</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> }</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> </div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> <span class="keyword">static</span> cpl_boolean irplib_polynomial_solve_1d_2(<span class="keywordtype">double</span> p2, <span class="keywordtype">double</span> p1, <span class="keywordtype">double</span> p0,</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="keywordtype">double</span> * px1,</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> <span class="keywordtype">double</span> * px2) {</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> </div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sqrtD = sqrt(fabs(p1 * p1 - 4.0 * p2 * p0));</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> cpl_boolean is_complex = CPL_FALSE;</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="keywordtype">double</span> x1 = -0.5 * p1 / p2; <span class="comment">/* Double root */</span></div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> <span class="keywordtype">double</span> x2;</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> </div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> <span class="comment">/* Compute residual, assuming D == 0 */</span></div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> <span class="keywordtype">double</span> res0 = irplib_polynomial_eval_2_max(p2, p1, p0, CPL_FALSE, x1, x1);</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="keywordtype">double</span> res;</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> </div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> assert(px1 != NULL );</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> assert(px2 != NULL );</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> </div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> *px2 = *px1 = x1;</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> </div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> <span class="comment">/* Compute residual, assuming D > 0 */</span></div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> </div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> <span class="comment">/* x1 is the root with largest absolute value */</span></div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="keywordflow">if</span> (p1 > 0.0) {</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> x1 = -0.5 * (p1 + sqrtD);</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> x1 = -0.5 * (p1 - sqrtD);</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> }</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="comment">/* Compute smaller root via division to avoid</span></div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="comment"> loss of precision due to cancellation */</span></div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> x2 = p0 / x1;</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> x1 /= p2; <span class="comment">/* Scale x1 with leading coefficient */</span></div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> </div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> res = irplib_polynomial_eval_2_max(p2, p1, p0, CPL_FALSE, x1, x2);</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> </div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <span class="keywordflow">if</span> (res < res0) {</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> res0 = res;</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> <span class="keywordflow">if</span> (x2 > x1) {</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> *px1 = x1;</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> *px2 = x2;</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> *px1 = x2;</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> *px2 = x1;</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> }</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> }</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> </div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="comment">/* Compute residual, assuming D < 0 */</span></div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> </div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> x1 = -0.5 * p1 / p2; <span class="comment">/* Real part of complex root */</span></div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> x2 = 0.5 * sqrtD / fabs(p2); <span class="comment">/* Positive, imaginary part of root */</span></div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> </div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> res = irplib_polynomial_eval_2_max(p2, p1, p0, CPL_TRUE, x1, x2);</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> </div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> <span class="keywordflow">if</span> (res < res0) {</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> *px1 = x1;</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> *px2 = x2;</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> is_complex = CPL_TRUE;</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> }</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> </div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> <span class="keywordflow">return</span> is_complex;</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> </div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> }</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> </div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> </div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="keyword">static</span> <span class="keywordtype">double</span> irplib_polynomial_eval_2_max(<span class="keywordtype">double</span> p2, <span class="keywordtype">double</span> p1, <span class="keywordtype">double</span> p0,</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> cpl_boolean is_c,</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <span class="keywordtype">double</span> x1, <span class="keywordtype">double</span> x2)</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> {</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="keywordtype">double</span> res;</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> </div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="keywordflow">if</span> (is_c) {</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> res = fabs(p0 + x1 * (p1 + x1 * p2) - p2 * x2 * x2);</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <span class="keyword">const</span> <span class="keywordtype">double</span> r1 = fabs(p0 + x1 * (p1 + x1 * p2));</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> <span class="keyword">const</span> <span class="keywordtype">double</span> r2 = fabs(p0 + x2 * (p1 + x2 * p2));</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> </div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> res = r1 > r2 ? r1 : r2;</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> }</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> </div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> }</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> </div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> </div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> <span class="keyword">static</span> <span class="keywordtype">double</span> irplib_polynomial_eval_3_max(<span class="keywordtype">double</span> p3, <span class="keywordtype">double</span> p2,</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <span class="keywordtype">double</span> p1, <span class="keywordtype">double</span> p0,</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> cpl_boolean is_c,</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> <span class="keywordtype">double</span> x1, <span class="keywordtype">double</span> x2, <span class="keywordtype">double</span> x3)</div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> {</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> <span class="keyword">const</span> <span class="keywordtype">double</span> r1 = fabs(p0 + x1 * (p1 + x1 * (p2 + x1 * p3)));</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> <span class="keywordtype">double</span> res;</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> </div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> <span class="keywordflow">if</span> (is_c) {</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="keyword">const</span> <span class="keywordtype">double</span> r2 = fabs(p0 + x2 * (p1 + x2 * (p2 + x2 * p3))</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> - x3 * x3 * ( 3.0 * p3 * x2 + p2));</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> </div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> res = r1 > r2 ? r1 : r2;</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> <span class="keyword">const</span> <span class="keywordtype">double</span> r2 = fabs(p0 + x2 * (p1 + x2 * (p2 + x2 * p3)));</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> <span class="keyword">const</span> <span class="keywordtype">double</span> r3 = fabs(p0 + x3 * (p1 + x3 * (p2 + x3 * p3)));</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> res = r1 > r2 ? (r1 > r3 ? r1 : r3) : (r2 > r3 ? r2 : r3);</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> }</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> </div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> <span class="comment">/* cpl_msg_info(cpl_func, "%d: %g (%g)", __LINE__, res, r1); */</span></div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> </div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> }</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> </div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> </div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> <span class="keyword">static</span> cpl_boolean irplib_polynomial_solve_1d_3(<span class="keywordtype">double</span> p3, <span class="keywordtype">double</span> p2, <span class="keywordtype">double</span> p1,</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> <span class="keywordtype">double</span> p0,</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> <span class="keywordtype">double</span> * px1,</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> <span class="keywordtype">double</span> * px2,</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> <span class="keywordtype">double</span> * px3,</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> cpl_boolean * pdbl1,</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> cpl_boolean * pdbl2) {</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> cpl_boolean is_complex = CPL_FALSE;</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> <span class="keyword">const</span> <span class="keywordtype">double</span> a = p2/p3;</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> <span class="keyword">const</span> <span class="keywordtype">double</span> b = p1/p3;</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <span class="keyword">const</span> <span class="keywordtype">double</span> c = p0/p3;</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> </div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> <span class="keyword">const</span> <span class="keywordtype">double</span> q = (a * a - 3.0 * b);</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> <span class="keyword">const</span> <span class="keywordtype">double</span> r = (a * (2.0 * a * a - 9.0 * b) + 27.0 * c);</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> </div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> <span class="keyword">const</span> <span class="keywordtype">double</span> Q = q / 9.0;</div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> <span class="keyword">const</span> <span class="keywordtype">double</span> R = r / 54.0;</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> </div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> <span class="keyword">const</span> <span class="keywordtype">double</span> Q3 = Q * Q * Q;</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> <span class="keyword">const</span> <span class="keywordtype">double</span> R2 = R * R;</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> </div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> <span class="keywordtype">double</span> x1 = DBL_MAX; <span class="comment">/* Fix (false) uninit warning */</span></div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> <span class="keywordtype">double</span> x2 = DBL_MAX; <span class="comment">/* Fix (false) uninit warning */</span></div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> <span class="keywordtype">double</span> x3 = DBL_MAX; <span class="comment">/* Fix (false) uninit warning */</span></div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> <span class="keywordtype">double</span> xx1 = DBL_MAX; <span class="comment">/* Fix (false) uninit warning */</span></div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> <span class="keywordtype">double</span> xx2 = DBL_MAX; <span class="comment">/* Fix (false) uninit warning */</span></div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> <span class="keywordtype">double</span> xx3 = DBL_MAX; <span class="comment">/* Fix (false) uninit warning */</span></div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> </div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> <span class="keywordtype">double</span> resx = DBL_MAX;</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> <span class="keywordtype">double</span> res = DBL_MAX;</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> cpl_boolean is_first = CPL_TRUE;</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> </div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> cpl_boolean dbl2;</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> </div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> </div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> assert(px1 != NULL );</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> </div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> <span class="keywordflow">if</span> (pdbl1 != NULL) *pdbl1 = CPL_FALSE;</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> <span class="keywordflow">if</span> (pdbl2 != NULL) *pdbl2 = CPL_FALSE;</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> </div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> dbl2 = CPL_FALSE;</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> </div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> <span class="comment"> All branches (for which the roots are defined) are evaluated, and</span></div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> <span class="comment"> the branch with the smallest maximum-residual is chosen.</span></div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> <span class="comment"> When two maximum-residual are identical, preference is given to</span></div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> <span class="comment"> the purely real solution and if necessary to the solution with a</span></div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> <span class="comment"> double root.</span></div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> </div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> <span class="keywordflow">if</span> ((R2 >= Q3 && R != 0.0) || R2 > Q3) {</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> </div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> cpl_boolean is_c = CPL_FALSE;</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> </div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> irplib_polynomial_solve_1d_3c(a, c, Q, Q3, R, R2, &x1, &x2, &x3,</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> &is_c, &dbl2);</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> </div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> </div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> res = resx = irplib_polynomial_eval_3_max(p3, p2, p1, p0, is_c,</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> x1, x2, x3);</div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> </div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> is_first = CPL_FALSE;</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> </div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> <span class="keywordflow">if</span> (pdbl1 != NULL) *pdbl1 = CPL_FALSE;</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> <span class="keywordflow">if</span> (!is_c && pdbl2 != NULL) *pdbl2 = dbl2;</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> is_complex = is_c;</div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> </div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> }</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> </div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> <span class="keywordflow">if</span> (Q > 0.0 && fabs(R / (Q * sqrt(Q))) <= 1.0) {</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> </div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> <span class="comment">/* this test is actually R2 < Q3, written in a form suitable</span></div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> <span class="comment"> for exact computation with integers */</span></div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> </div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> <span class="comment">/* assert( Q > 0.0 ); */</span></div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> </div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> irplib_polynomial_solve_1d_3r(a, c, Q, R, &xx1, &xx2, &xx3);</div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> </div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> resx = irplib_polynomial_eval_3_max(p3, p2, p1, p0, CPL_FALSE,</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> xx1, xx2, xx3);</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> </div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> <span class="keywordflow">if</span> (is_first || (dbl2 ? resx < res : resx <= res)) {</div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> is_first = CPL_FALSE;</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> res = resx;</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> x1 = xx1;</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> x2 = xx2;</div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> x3 = xx3;</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> <span class="keywordflow">if</span> (pdbl1 != NULL) *pdbl1 = CPL_FALSE;</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> <span class="keywordflow">if</span> (pdbl2 != NULL) *pdbl2 = CPL_FALSE;</div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> is_complex = CPL_FALSE;</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> }</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> }</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> </div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> <span class="keywordflow">if</span> (Q >= 0) {</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> cpl_boolean dbl1 = CPL_FALSE;</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> </div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> </div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> irplib_polynomial_solve_1d_32(a, c, Q, &xx1, &xx2, &xx3, &dbl2);</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> </div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> resx = irplib_polynomial_eval_3_max(p3, p2, p1, p0, CPL_FALSE,</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> xx1, xx2, xx3);</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> <span class="comment"> cpl_msg_info(cpl_func, "%d: %g = %g - %g (%u)", __LINE__,</span></div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> <span class="comment"> res - resx, res, resx, is_complex);</span></div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> </div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> <span class="keywordflow">if</span> (is_first || resx <= res) {</div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> is_first = CPL_FALSE;</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> res = resx;</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> x1 = xx1;</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> x2 = xx2;</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> x3 = xx3;</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> <span class="keywordflow">if</span> (pdbl1 != NULL) *pdbl1 = CPL_FALSE;</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> <span class="keywordflow">if</span> (pdbl2 != NULL) *pdbl2 = dbl2;</div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> is_complex = CPL_FALSE;</div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> }</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> </div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> </div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> <span class="comment">/* This branch also covers the case where the depressed cubic</span></div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> <span class="comment"> polynomial has zero as triple root (i.e. Q == R == 0) */</span></div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> </div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> irplib_polynomial_solve_1d_31(a, Q, &xx1, &xx2, &xx3, &dbl1);</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> </div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> resx = irplib_polynomial_eval_3_max(p3, p2, p1, p0, CPL_FALSE,</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> xx1, xx2, xx3);</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> </div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> <span class="keywordflow">if</span> (resx <= res) {</div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> is_first = CPL_FALSE;</div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> res = resx;</div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> x1 = xx1;</div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> x2 = xx2;</div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> x3 = xx3;</div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> <span class="keywordflow">if</span> (pdbl1 != NULL) *pdbl1 = dbl1;</div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> <span class="keywordflow">if</span> (pdbl2 != NULL) *pdbl2 = CPL_FALSE;</div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> is_complex = CPL_FALSE;</div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> }</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> </div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> }</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> </div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> <span class="keywordflow">if</span> (px2 != NULL && px3 != NULL) {</div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> *px1 = x1;</div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> *px2 = x2;</div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> *px3 = x3;</div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (is_complex) {</div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> *px1 = x1;</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> *px1 = x3;</div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> }</div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> </div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> <span class="keywordflow">return</span> is_complex;</div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> }</div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> </div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> <span class="keyword">static</span> <span class="keywordtype">void</span> irplib_polynomial_solve_1d_31(<span class="keywordtype">double</span> a, <span class="keywordtype">double</span> Q,</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> <span class="keywordtype">double</span> * px1, <span class="keywordtype">double</span> * px2,</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> <span class="keywordtype">double</span> * px3, cpl_boolean * pdbl1)</div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> {</div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> </div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sqrtQ = sqrt (Q);</div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> </div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> <span class="keywordtype">double</span> x1, x2, x3;</div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> </div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> x2 = x1 = -sqrtQ - a / 3.0;</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> x3 = 2.0 * sqrtQ - a / 3.0;</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> <span class="keywordflow">if</span> (pdbl1 != NULL) *pdbl1 = CPL_TRUE;</div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> </div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> *px1 = x1;</div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> *px2 = x2;</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> *px3 = x3;</div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> </div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> }</div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> </div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> <span class="keyword">static</span> <span class="keywordtype">void</span> irplib_polynomial_solve_1d_32(<span class="keywordtype">double</span> a, <span class="keywordtype">double</span> c, <span class="keywordtype">double</span> Q,</div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> <span class="keywordtype">double</span> * px1, <span class="keywordtype">double</span> * px2,</div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> <span class="keywordtype">double</span> * px3, cpl_boolean * pdbl2)</div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> {</div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> </div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sqrtQ = sqrt (Q);</div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> </div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> <span class="keywordtype">double</span> x1 = DBL_MAX;</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> <span class="keywordtype">double</span> x2 = DBL_MAX;</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> <span class="keywordtype">double</span> x3 = DBL_MAX;</div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> </div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> <span class="keywordflow">if</span> (a > 0.0) {</div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> <span class="comment">/* a and sqrt(Q) have same sign - or Q is zero */</span></div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> x1 = -2.0 * sqrtQ - a / 3.0;</div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> <span class="comment">/* FIXME: Two small roots with opposite signs may</span></div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> <span class="comment"> end up here, with the sign lost for one of them */</span></div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> x3 = x2 = -a < x1 ? -sqrt(fabs(c / x1)) : sqrt(fabs(c / x1));</div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> <span class="keywordflow">if</span> (pdbl2 != NULL) *pdbl2 = CPL_TRUE;</div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (a < 0.0) {</div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> <span class="comment">/* a and sqrt(Q) have opposite signs - or Q is zero */</span></div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> x3 = x2 = sqrtQ - a / 3.0;</div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> x1 = -c / (x2 * x2);</div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> <span class="keywordflow">if</span> (pdbl2 != NULL) *pdbl2 = CPL_TRUE;</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> x1 = -2.0 * sqrtQ;</div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> x3 = x2 = sqrtQ;</div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> <span class="keywordflow">if</span> (pdbl2 != NULL) *pdbl2 = CPL_TRUE;</div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> }</div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> </div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> *px1 = x1;</div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> *px2 = x2;</div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> *px3 = x3;</div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> </div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> }</div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> </div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> <span class="keyword">static</span> <span class="keywordtype">void</span> irplib_polynomial_solve_1d_3c(<span class="keywordtype">double</span> a, <span class="keywordtype">double</span> c,</div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> <span class="keywordtype">double</span> Q, <span class="keywordtype">double</span> Q3,</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> <span class="keywordtype">double</span> R, <span class="keywordtype">double</span> R2,</div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> <span class="keywordtype">double</span> * px1,</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> <span class="keywordtype">double</span> * px2, <span class="keywordtype">double</span> * px3,</div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> cpl_boolean * pis_c,</div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> cpl_boolean * pdbl2)</div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> {</div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> </div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> <span class="comment">/* Due to finite precision some double roots may be missed, and</span></div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> <span class="comment"> will be considered to be a pair of complex roots z = x +/-</span></div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> <span class="comment"> epsilon i close to the real axis. */</span></div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> </div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> <span class="comment">/* Another case: A double root, which is small relative to the</span></div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> <span class="comment"> last root, may cause this branch to be taken - with the</span></div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> <span class="comment"> imaginary part eventually being truncated to zero. */</span></div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> </div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sgnR = (R >= 0 ? 1.0 : -1.0);</div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> <span class="keyword">const</span> <span class="keywordtype">double</span> A = -sgnR * pow (fabs (R) + sqrt (R2 - Q3), 1.0 / 3.0);</div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> <span class="keyword">const</span> <span class="keywordtype">double</span> B = Q / A;</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> </div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> <span class="keywordtype">double</span> x1 = DBL_MAX;</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> <span class="keywordtype">double</span> x2 = DBL_MAX;</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> <span class="keywordtype">double</span> x3 = DBL_MAX;</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> cpl_boolean is_complex = CPL_FALSE;</div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> </div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> <span class="keywordflow">if</span> (( A > -B && a > 0.0) || (A < -B && a < 0.0)) {</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> <span class="comment">/* A+B has same sign as a */</span></div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> </div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> <span class="comment">/* Real part of complex conjugate */</span></div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> x2 = -0.5 * (A + B) - a / 3.0; <span class="comment">/* No cancellation */</span></div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> <span class="comment">/* Positive, imaginary part of complex conjugate */</span></div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> x3 = 0.5 * CPL_MATH_SQRT3 * fabs(A - B);</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> </div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> x1 = -c / (x2 * x2 + x3 * x3);</div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> <span class="comment">/* A+B and a have opposite signs - or exactly one is zero */</span></div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> x1 = A + B - a / 3.0;</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> <span class="comment">/* Positive, imaginary part of complex conjugate */</span></div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> x3 = 0.5 * CPL_MATH_SQRT3 * fabs(A - B);</div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> </div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> <span class="keywordflow">if</span> (x3 > 0.0) {</div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> <span class="comment">/* Real part of complex conjugate */</span></div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> x2 = -0.5 * (A + B) - a / 3.0; <span class="comment">/* FIXME: Cancellation */</span></div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> </div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> x2 = -a < x1 ? -sqrt(fabs(c / x1)) : sqrt(fabs(c / x1));</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> x3 = 0.0;</div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> }</div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> }</div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> </div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> <span class="keywordflow">if</span> (x3 > 0.0) {</div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> is_complex = CPL_TRUE;</div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> <span class="comment">/* Whoaa, the imaginary part was truncated to zero</span></div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> <span class="comment"> - return a real, double root */</span></div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> x3 = x2;</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> <span class="keywordflow">if</span> (pdbl2 != NULL) *pdbl2 = CPL_TRUE;</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> }</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> </div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> *px1 = x1;</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> *px2 = x2;</div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> *px3 = x3;</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> *pis_c = is_complex;</div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> </div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> }</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> </div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> <span class="keyword">static</span> <span class="keywordtype">void</span> irplib_polynomial_solve_1d_3r(<span class="keywordtype">double</span> a, <span class="keywordtype">double</span> c,</div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> <span class="keywordtype">double</span> Q, <span class="keywordtype">double</span> R,</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> <span class="keywordtype">double</span> * px1,</div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> <span class="keywordtype">double</span> * px2, <span class="keywordtype">double</span> * px3)</div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> {</div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> </div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sqrtQ = sqrt(Q);</div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> <span class="keyword">const</span> <span class="keywordtype">double</span> theta = acos (R / (Q * sqrtQ)); <span class="comment">/* theta in range [0; pi] */</span></div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> </div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> <span class="comment">/* -1.0 <= cos((theta + CPL_MATH_2PI) / 3.0) <= -0.5</span></div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> <span class="comment"> -0.5 <= cos((theta - CPL_MATH_2PI) / 3.0) <= 0.5</span></div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> <span class="comment"> 0.5 <= cos((theta ) / 3.0) <= 1.0 */</span></div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> </div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> <span class="preprocessor">#define TR1 (-2.0 * sqrtQ * cos( theta / 3.0))</span></div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> <span class="preprocessor"></span><span class="preprocessor">#define TR2 (-2.0 * sqrtQ * cos((theta - CPL_MATH_2PI) / 3.0))</span></div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> <span class="preprocessor"></span><span class="preprocessor">#define TR3 (-2.0 * sqrtQ * cos((theta + CPL_MATH_2PI) / 3.0))</span></div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> <span class="comment">/* TR1 < TR2 < TR3, except when theta == 0, then TR2 == TR3 */</span></div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> </div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> <span class="comment">/* The three roots must be transformed back via subtraction with a/3.</span></div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> <span class="comment"> To prevent loss of precision due to cancellation, the root which</span></div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> <span class="comment"> is closest to a/3 is computed using the relation</span></div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> <span class="comment"> p3 * x1 * x2 * x3 = -p0 */</span></div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> </div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> <span class="keywordtype">double</span> x1 = DBL_MAX;</div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> <span class="keywordtype">double</span> x2 = DBL_MAX;</div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> <span class="keywordtype">double</span> x3 = DBL_MAX;</div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> </div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> <span class="keywordflow">if</span> (a > 0.0) {</div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> x1 = TR1 - a / 3.0;</div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> <span class="keywordflow">if</span> (TR2 > 0.0 && (TR2 + TR3) > 2.0 * a) {</div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> <span class="comment">/* FIXME: Cancellation may still effect x3 ? */</span></div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> x3 = TR3 - a / 3.0;</div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> x2 = -c / ( x1 * x3 );</div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> <span class="comment">/* FIXME: Cancellation may still effect x2, especially</span></div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> <span class="comment"> if x2, x3 is (almost) a double root, i.e.</span></div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> <span class="comment"> if theta is close to zero. */</span></div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> x2 = TR2 - a / 3.0;</div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> </div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> x3 = -c / ( x1 * x2 );</div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> }</div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (a < 0.0) {</div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> x3 = TR3 - a / 3.0;</div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> <span class="keywordflow">if</span> (TR2 < 0.0 && (TR1 + TR2) > 2.0 * a) {</div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> x1 = TR1 - a / 3.0;</div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> x2 = -c / ( x1 * x3 );</div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> x2 = TR2 - a / 3.0;</div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> x1 = -c / ( x2 * x3 );</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> }</div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> x1 = TR1;</div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> x2 = TR2;</div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> x3 = TR3;</div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> }</div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> </div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> assert(x1 < x3);</div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> </div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> <span class="keywordflow">if</span> (x1 > x2) {</div>
-<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> <span class="comment">/* In absence of round-off:</span></div>
-<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span> <span class="comment"> theta == PI: x1 == x2,</span></div>
-<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> <span class="comment"> theta < PI: x1 < x2,</span></div>
-<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> <span class="comment"></span></div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> <span class="comment"> The only way x1 could exceed x2 would be due to round-off when</span></div>
-<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> <span class="comment"> theta is close to PI */</span></div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> </div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> x1 = x2 = 0.5 * ( x1 + x2 );</div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> irplib_trace(); <span class="comment">/* OK, tested only for x1 == x2 */</span></div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (x2 > x3) {</div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> <span class="comment">/* In absence of round-off:</span></div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> <span class="comment"> theta == 0: x2 == x3,</span></div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> <span class="comment"> theta > 0: x2 < x3,</span></div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> <span class="comment"></span></div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> <span class="comment"> For small theta:</span></div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> <span class="comment"> Round-off can cause x2 to become greater than x3 */</span></div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> </div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> x3 = x2 = 0.5 * ( x2 + x3 );</div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> irplib_trace(); <span class="comment">/* OK */</span></div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> }</div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> </div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> *px1 = x1;</div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> *px2 = x2;</div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> *px3 = x3;</div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> </div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> }</div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> </div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> <span class="keyword">static</span> cpl_error_code irplib_polynomial_solve_1d_4(<span class="keywordtype">double</span> p4, <span class="keywordtype">double</span> p3,</div>
-<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> <span class="keywordtype">double</span> p2, <span class="keywordtype">double</span> p1,</div>
-<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span> <span class="keywordtype">double</span> p0, cpl_size * preal,</div>
-<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span> <span class="keywordtype">double</span> * px1, <span class="keywordtype">double</span> * px2,</div>
-<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> <span class="keywordtype">double</span> * px3, <span class="keywordtype">double</span> * px4)</div>
-<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> {</div>
-<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> </div>
-<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> <span class="comment">/* Construct the monic, depressed quartic using Horners scheme on 1 / p4 */</span></div>
-<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> <span class="keyword">const</span> <span class="keywordtype">double</span> a = (p2 - 0.375 * p3 * p3 / p4) / p4;</div>
-<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span> <span class="keyword">const</span> <span class="keywordtype">double</span> b = (p1 - 0.5 * (p2 - 0.25 * p3 * p3 / p4 ) * p3 / p4 ) / p4;</div>
-<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> <span class="keyword">const</span> <span class="keywordtype">double</span> c =</div>
-<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span> (p0 - 0.25 * (p1 - 0.25 * (p2 - 0.1875 * p3 * p3 / p4 ) * p3 / p4</div>
-<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> ) * p3 / p4 ) / p4;</div>
-<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> </div>
-<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> <span class="keywordtype">double</span> x1 = DBL_MAX; <span class="comment">/* Fix (false) uninit warning */</span></div>
-<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> <span class="keywordtype">double</span> x2 = DBL_MAX; <span class="comment">/* Fix (false) uninit warning */</span></div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> <span class="keywordtype">double</span> x3 = DBL_MAX; <span class="comment">/* Fix (false) uninit warning */</span></div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> <span class="keywordtype">double</span> x4 = DBL_MAX; <span class="comment">/* Fix (false) uninit warning */</span></div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> </div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> assert(preal != NULL );</div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> assert(px1 != NULL );</div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> assert(px2 != NULL );</div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> assert(px3 != NULL );</div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> assert(px4 != NULL );</div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> </div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> *preal = 4;</div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> </div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> <span class="keywordflow">if</span> (c == 0.0) {</div>
-<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> <span class="comment">/* The depressed quartic has zero as root */</span></div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> <span class="comment">/* Since the sum of the roots is zero, at least one is negative</span></div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> <span class="comment"> and at least one is positive - unless they are all zero */</span></div>
-<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> cpl_boolean dbl1, dbl2;</div>
-<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> <span class="keyword">const</span> cpl_boolean is_real =</div>
-<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> !irplib_polynomial_solve_1d_3(1.0, 0.0, a, b, &x1, &x3, &x4,</div>
-<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> &dbl1, &dbl2);</div>
-<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span> </div>
-<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> x1 -= 0.25 * p3 / p4;</div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> x2 = -0.25 * p3 / p4;</div>
-<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> x3 -= 0.25 * p3 / p4;</div>
-<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> <span class="keywordflow">if</span> (is_real) {</div>
-<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> </div>
-<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> <span class="keywordflow">if</span> (dbl2) {</div>
-<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> x4 = x3;</div>
-<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> assert( x1 <= x2);</div>
-<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> assert( x2 <= x3);</div>
-<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> x4 -= 0.25 * p3 / p4;</div>
-<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span> <span class="comment">/* Need (only) a guarded swap of x2, x3 */</span></div>
-<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> <span class="keywordflow">if</span> (x2 > x3) {</div>
-<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span> IRPLIB_SWAP(x2, x3);</div>
-<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span> }</div>
-<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> <span class="keywordflow">if</span> (dbl1) {</div>
-<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span> assert( x1 <= x2); <span class="comment">/* The cubic may have 0 as triple root */</span></div>
-<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span> assert( x2 <= x3);</div>
-<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span> assert( x2 <= x4);</div>
-<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span> assert( x1 < x2);</div>
-<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span> assert( x2 < x4);</div>
-<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> }</div>
-<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span> }</div>
-<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span> *preal = 2;</div>
-<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span> </div>
-<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span> <span class="keywordflow">if</span> (x1 > x2) {</div>
-<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span> assert( x3 <= x2 ); <span class="comment">/* Don't swap a complex root */</span></div>
-<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span> </div>
-<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span> IRPLIB_SWAP(x1, x2);</div>
-<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span> assert( x3 >= x2 );</div>
-<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span> }</div>
-<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span> }</div>
-<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span> </div>
-<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (b == 0.0) {</div>
-<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span> <span class="comment">/* The monic, depressed quartic is a monic, biquadratic equation */</span></div>
-<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span> <span class="keywordtype">double</span> u1, u2;</div>
-<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span> <span class="keyword">const</span> cpl_boolean is_complex = irplib_polynomial_solve_1d_2(1.0, a, c,</div>
-<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span> &u1, &u2);</div>
-<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span> </div>
-<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span> <span class="keywordflow">if</span> (is_complex) {</div>
-<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span> <span class="comment">/* All four roots are conjugate, complex */</span></div>
-<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span> <span class="keyword">const</span> <span class="keywordtype">double</span> norm = sqrt(u1*u1 + u2*u2);</div>
-<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span> <span class="keyword">const</span> <span class="keywordtype">double</span> v1 = sqrt(0.5*(norm+u1));</div>
-<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span> <span class="keyword">const</span> <span class="keywordtype">double</span> v2 = u2 / sqrt(2.0*(norm+u1));</div>
-<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> </div>
-<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> </div>
-<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> x1 = -0.25 * p3 / p4 - v1;</div>
-<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> x3 = -0.25 * p3 / p4 + v1;</div>
-<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> </div>
-<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> x4 = x2 = v2;</div>
-<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> </div>
-<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> *preal = 0;</div>
-<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> </div>
-<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (u1 >= 0.0) {</div>
-<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> <span class="comment">/* All four roots are real */</span></div>
-<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sv1 = sqrt(u1);</div>
-<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sv2 = sqrt(u2);</div>
-<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> </div>
-<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> </div>
-<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> *preal = 4;</div>
-<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> </div>
-<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> x1 = -0.25 * p3 / p4 - sv2;</div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> x2 = -0.25 * p3 / p4 - sv1;</div>
-<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> x3 = -0.25 * p3 / p4 + sv1;</div>
-<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> x4 = -0.25 * p3 / p4 + sv2;</div>
-<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (u2 < 0.0) {</div>
-<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> <span class="comment">/* All four roots are conjugate, complex */</span></div>
-<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sv1 = sqrt(-u2);</div>
-<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sv2 = sqrt(-u1);</div>
-<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> </div>
-<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span> </div>
-<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> *preal = 0;</div>
-<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span> </div>
-<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span> x1 = x3 = -0.25 * p3 / p4;</div>
-<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> </div>
-<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> x2 = sv1;</div>
-<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span> x4 = sv2;</div>
-<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span> <span class="comment">/* Two roots are real, two roots are conjugate, complex */</span></div>
-<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sv1 = sqrt(-u1);</div>
-<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sv2 = sqrt(u2);</div>
-<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span> </div>
-<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span> </div>
-<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span> *preal = 2;</div>
-<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> </div>
-<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span> x1 = -0.25 * p3 / p4 - sv2;</div>
-<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span> x2 = -0.25 * p3 / p4 + sv2;</div>
-<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span> </div>
-<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span> x3 = -0.25 * p3 / p4;</div>
-<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> x4 = sv1;</div>
-<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> }</div>
-<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> <span class="comment">/* Need a root from the nested, monic cubic */</span></div>
-<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span> <span class="keyword">const</span> <span class="keywordtype">double</span> q2 = -a;</div>
-<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> <span class="keyword">const</span> <span class="keywordtype">double</span> q1 = -4.0 * c;</div>
-<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span> <span class="keyword">const</span> <span class="keywordtype">double</span> q0 = 4.0 * a * c - b * b;</div>
-<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span> <span class="keywordtype">double</span> u1, sqrtd, sqrtrd;</div>
-<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> <span class="keywordtype">double</span> z1, z2, z3, z4;</div>
-<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span> </div>
-<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> cpl_boolean is_complex1, is_complex2;</div>
-<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span> </div>
-<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span> <span class="comment">/* Largest cubic root ensures real square roots when solving the</span></div>
-<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> <span class="comment"> quartic equation */</span></div>
-<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> (void)irplib_polynomial_solve_1d_3(1.0, q2, q1, q0, &u1, NULL, NULL,</div>
-<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span> NULL, NULL);</div>
-<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span> </div>
-<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> </div>
-<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span> assert( u1 > a );</div>
-<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span> </div>
-<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span> sqrtd = sqrt(u1 - a);</div>
-<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span> </div>
-<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span> sqrtrd = 0.5 * b/sqrtd;</div>
-<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span> </div>
-<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span> is_complex1 = irplib_polynomial_solve_1d_2(1.0, sqrtd, 0.5*u1 - sqrtrd,</div>
-<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span> &z1, &z2);</div>
-<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span> </div>
-<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span> is_complex2 = irplib_polynomial_solve_1d_2(1.0, -sqrtd, 0.5*u1 + sqrtrd,</div>
-<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> &z3, &z4);</div>
-<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span> </div>
-<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span> z1 -= 0.25 * p3 / p4;</div>
-<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> z3 -= 0.25 * p3 / p4;</div>
-<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> <span class="keywordflow">if</span> (!is_complex1) z2 -= 0.25 * p3 / p4;</div>
-<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span> <span class="keywordflow">if</span> (!is_complex2) z4 -= 0.25 * p3 / p4;</div>
-<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span> </div>
-<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span> <span class="keywordflow">if</span> (!is_complex1 && is_complex2) {</div>
-<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span> *preal = 2;</div>
-<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span> x1 = z1;</div>
-<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span> x2 = z2;</div>
-<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span> x3 = z3;</div>
-<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span> x4 = z4;</div>
-<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (is_complex1 && !is_complex2) {</div>
-<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span> *preal = 2;</div>
-<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span> x1 = z3;</div>
-<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span> x2 = z4;</div>
-<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span> x3 = z1;</div>
-<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span> x4 = z2;</div>
-<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (is_complex1 && is_complex2) {</div>
-<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span> *preal = 0;</div>
-<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span> </div>
-<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span> <span class="keywordflow">if</span> (z1 < z3 || (z1 == z3 && z2 <= z4)) {</div>
-<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> x1 = z1;</div>
-<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span> x2 = z2;</div>
-<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span> x3 = z3;</div>
-<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> x4 = z4;</div>
-<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> x1 = z3;</div>
-<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span> x2 = z4;</div>
-<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span> x3 = z1;</div>
-<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span> x4 = z2;</div>
-<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span> }</div>
-<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span> *preal = 4;</div>
-<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span> </div>
-<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span> <span class="keywordflow">if</span> (z3 >= z2) {</div>
-<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span> x1 = z1;</div>
-<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span> x2 = z2;</div>
-<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span> x3 = z3;</div>
-<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span> x4 = z4;</div>
-<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (z4 <= z1) {</div>
-<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span> x1 = z3;</div>
-<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span> x2 = z4;</div>
-<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span> x3 = z1;</div>
-<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span> x4 = z2;</div>
-<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (z2 > z4) {</div>
-<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span> x1 = z3;</div>
-<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span> x2 = z1;</div>
-<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span> x3 = z4;</div>
-<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span> x4 = z2;</div>
-<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span> x1 = z1;</div>
-<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span> x2 = z3;</div>
-<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span> x3 = z2;</div>
-<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span> x4 = z4;</div>
-<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span> }</div>
-<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span> }</div>
-<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span> }</div>
-<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span> </div>
-<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span> *px1 = x1;</div>
-<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span> *px2 = x2;</div>
-<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span> *px3 = x3;</div>
-<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span> *px4 = x4;</div>
-<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span> </div>
-<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span> }</div>
-<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span> </div>
-<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span> <span class="preprocessor">#ifdef IPRLIB_POLYNOMIAL_USE_MONOMIAL_ROOT</span></div>
-<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span> <span class="preprocessor"></span><span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span> <span class="keyword">static</span> <span class="keywordtype">double</span> irplib_polynomial_depress_1d(cpl_polynomial * <span class="keyword">self</span>)</div>
-<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span> {</div>
-<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span> </div>
-<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span> <span class="keyword">const</span> cpl_size degree = cpl_polynomial_get_degree(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span> <span class="keyword">const</span> cpl_size nc1 = degree - 1;</div>
-<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span> <span class="keyword">const</span> <span class="keywordtype">double</span> an = cpl_polynomial_get_coeff(<span class="keyword">self</span>, °ree);</div>
-<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span> <span class="keyword">const</span> <span class="keywordtype">double</span> an1 = cpl_polynomial_get_coeff(<span class="keyword">self</span>, &nc1);</div>
-<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span> <span class="keywordtype">double</span> rmean;</div>
-<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span> cpl_size i;</div>
-<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span> </div>
-<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span> </div>
-<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span> cpl_ensure(degree > 0, CPL_ERROR_DATA_NOT_FOUND, 0.0);</div>
-<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span> </div>
-<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span> assert( an != 0.0 );</div>
-<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span> </div>
-<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span> rmean = -an1/(an * (double)degree);</div>
-<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span> </div>
-<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span> <span class="keywordflow">if</span> (rmean != 0.0) {</div>
-<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span> </div>
-<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span> cpl_polynomial_shift_1d(<span class="keyword">self</span>, 0, rmean);</div>
-<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span> </div>
-<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span> cpl_polynomial_set_coeff(<span class="keyword">self</span>, &nc1, 0.0); <span class="comment">/* Round-off... */</span></div>
-<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span> </div>
-<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span> }</div>
-<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span> </div>
-<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span> <span class="comment">/* Set leading coefficient to one. */</span></div>
-<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span> <span class="keywordflow">for</span> (i = 0; i < degree-1; i++) {</div>
-<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span> <span class="keyword">const</span> <span class="keywordtype">double</span> ai = cpl_polynomial_get_coeff(<span class="keyword">self</span>, &i) / an;</div>
-<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span> cpl_polynomial_set_coeff(<span class="keyword">self</span>, &i, ai);</div>
-<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span> }</div>
-<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span> </div>
-<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span> cpl_polynomial_set_coeff(<span class="keyword">self</span>, °ree, 1.0); <span class="comment">/* Round-off... */</span></div>
-<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span> </div>
-<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span> <span class="keywordflow">return</span> rmean;</div>
-<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span> }</div>
-<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span> <span class="keyword">static</span></div>
-<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span> cpl_error_code irplib_polynomial_divide_1d_root(cpl_polynomial * p, <span class="keywordtype">double</span> r,</div>
-<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span> <span class="keywordtype">double</span> * pres)</div>
-<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span> {</div>
-<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span> </div>
-<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span> <span class="keyword">const</span> cpl_size n = cpl_polynomial_get_degree(p);</div>
-<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span> <span class="keywordtype">double</span> sum;</div>
-<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span> cpl_size i;</div>
-<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span> </div>
-<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span> </div>
-<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span> cpl_ensure_code(p != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span> cpl_ensure_code(cpl_polynomial_get_dimension(p) == 1,</div>
-<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span> CPL_ERROR_INVALID_TYPE);</div>
-<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span> cpl_ensure_code(n > 0, CPL_ERROR_DATA_NOT_FOUND);</div>
-<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span> </div>
-<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span> sum = cpl_polynomial_get_coeff(p, &n);</div>
-<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span> cpl_polynomial_set_coeff(p, &n, 0.0);</div>
-<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span> </div>
-<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span> <span class="keywordflow">for</span> (i = n-1; i >= 0; i--) {</div>
-<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span> <span class="keyword">const</span> <span class="keywordtype">double</span> coeff = cpl_polynomial_get_coeff(p, &i);</div>
-<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span> </div>
-<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span> cpl_polynomial_set_coeff(p, &i, sum);</div>
-<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span> </div>
-<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span> sum = coeff + r * sum;</div>
-<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span> </div>
-<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span> }</div>
-<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span> </div>
-<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span> <span class="keywordflow">if</span> (pres != NULL) *pres = sum;</div>
-<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span> </div>
-<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__polynomial_8h_source.html b/html/irplib__polynomial_8h_source.html
deleted file mode 100644
index 997fc79..0000000
--- a/html/irplib__polynomial_8h_source.html
+++ /dev/null
@@ -1,117 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_polynomial.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_polynomial.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_polynomial.h,v 1.10 2013/01/29 08:43:33 jtaylor Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the ESO Common Pipeline Library</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2007 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: jtaylor $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2013/01/29 08:43:33 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.10 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef IRPLIB_POLYNOMIAL_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_POLYNOMIAL_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> Function prototypes</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">/* TEMPORARY SUPPORT OF CPL 5.x */</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#ifndef CPL_SIZE_FORMAT</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor"></span><span class="preprocessor">#define CPL_SIZE_FORMAT "d"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"></span><span class="preprocessor">#define cpl_size int</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#if defined CPL_VERSION_CODE && CPL_VERSION_CODE > CPL_VERSION(5, 92, 0)</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor"></span><span class="preprocessor">#define irplib_polynomial_add cpl_polynomial_add</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor"></span><span class="preprocessor">#define irplib_polynomial_subtract cpl_polynomial_subtract</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor"></span><span class="preprocessor">#define irplib_polynomial_multiply_scalar cpl_polynomial_multiply_scalar</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor"></span><span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"></span>cpl_error_code <a class="code" href="group__irplib__polynomial.html#ga90e13f05c9addc584f154279681d1853" title="Add two polynomials of the same dimension.">irplib_polynomial_add</a>(cpl_polynomial *,</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">const</span> cpl_polynomial *,</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keyword">const</span> cpl_polynomial *);</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> cpl_error_code <a class="code" href="group__irplib__polynomial.html#ga0e83ae3c9e7accb70fdfe1aca030e084" title="Subtract two polynomials of the same dimension.">irplib_polynomial_subtract</a>(cpl_polynomial *,</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">const</span> cpl_polynomial *,</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">const</span> cpl_polynomial *);</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> cpl_error_code <a class="code" href="group__irplib__polynomial.html#ga55c030413e6ef112753b280ad5213786" title="Multiply a polynomial with a scalar.">irplib_polynomial_multiply_scalar</a>(cpl_polynomial *,</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">const</span> cpl_polynomial *,</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">/* END TEMPORARY SUPPORT OF CPL 5.x */</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> cpl_error_code <a class="code" href="group__irplib__polynomial.html#ga87e84d69eadbde803fce3c3cbdedf385" title="Compute all n roots of p(x) = 0, where p(x) is of degree n, n > 0.">irplib_polynomial_solve_1d_all</a>(<span class="keyword">const</span> cpl_polynomial *,</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> cpl_vector *, cpl_size *);</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__ppm_8c_source.html b/html/irplib__ppm_8c_source.html
deleted file mode 100644
index defc0fa..0000000
--- a/html/irplib__ppm_8c_source.html
+++ /dev/null
@@ -1,500 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_ppm.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_ppm.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_ppm.c,v 1.31 2012/06/11 07:24:09 llundin Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: llundin $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2012/06/11 07:24:09 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.31 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "irplib_ppm.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "irplib_wlxcorr.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "irplib_spectrum.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/* TEMPORARY SUPPORT OF CPL 5.x */</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#ifndef CPL_SIZE_FORMAT</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor"></span><span class="preprocessor">#define CPL_SIZE_FORMAT "d"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor"></span><span class="preprocessor">#define cpl_size int</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor"></span><span class="comment">/* END TEMPORARY SUPPORT OF CPL 5.x */</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> Private functions</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#ifdef IRPLIB_PPM_USE_METHOD2</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor"></span><span class="keyword">static</span> cpl_vector * irplib_ppm_convolve_line(<span class="keyword">const</span> cpl_vector *, <span class="keywordtype">double</span>,<span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keyword">static</span> cpl_vector * irplib_ppm_detect_lines(<span class="keyword">const</span> cpl_vector *, <span class="keywordtype">double</span>) ;</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"><a class="code" href="group__irplib__ppm.html#ga9b49569fb0bd55977b533407c1ad956d"> 84</a></span> cpl_polynomial * <a class="code" href="group__irplib__ppm.html#ga9b49569fb0bd55977b533407c1ad956d" title="The Wavelength Calibration using PPM.">irplib_ppm_engine</a>(</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keyword">const</span> cpl_vector * spectrum,</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keyword">const</span> cpl_bivector * lines_catalog,</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keyword">const</span> cpl_polynomial * poly_init,</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">double</span> slitw,</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordtype">double</span> fwhm,</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">double</span> thresh,</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">int</span> degree,</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">int</span> doplot,</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> cpl_table ** tab_infos)</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> {</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="preprocessor">#ifdef IRPLIB_PPM_USE_METHOD2</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="preprocessor"></span> cpl_vector * spec_conv ;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="preprocessor"></span> <span class="keywordtype">int</span> spec_sz ;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> cpl_vector * det_lines ;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">double</span> * pdet_lines ;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> cpl_vector * cat_lines ;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">double</span> * pcat_lines ;</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">double</span> wmin, wmax ;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">double</span> disp_min, disp_max, disp ;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">int</span> nlines_cat, nlines ;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keyword">const</span> <span class="keywordtype">double</span> * plines_catalog_x ;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keyword">const</span> <span class="keywordtype">double</span> * plines_catalog_y ;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> cpl_bivector * matched ;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> cpl_matrix * matchedx;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">int</span> match_sz;</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> cpl_polynomial * fitted ;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> cpl_table * spc_table ;</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keyword">const</span> cpl_vector* vectors_plot[3];</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> cpl_vector * plot_y ;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">int</span> wl_ind, start_ind, stop_ind ;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">double</span> fill_val ;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> cpl_size deg_loc ;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> cpl_error_code error;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment">/* Check entries */</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordflow">if</span> (spectrum == NULL) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordflow">if</span> (lines_catalog == NULL) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordflow">if</span> (poly_init == NULL) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment">/* Initialise */</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> spec_sz = cpl_vector_get_size(spectrum) ;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> deg_loc = (cpl_size)degree ;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="preprocessor">#ifdef IRPLIB_PPM_USE_METHOD2</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="preprocessor"></span> <span class="comment">/* METHOD 2 */</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment">/* Correlate the spectrum with the line profile */</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordflow">if</span> ((spec_conv = irplib_ppm_convolve_line(spectrum, slitw, fwhm)) == NULL) {</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot convolve the signal"</span>) ;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> }</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment">/* Apply the lines detection */</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordflow">if</span> ((det_lines = irplib_ppm_detect_lines(spec_conv, 0.9)) == NULL) {</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot detect lines"</span>) ;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> cpl_vector_delete(spec_conv) ;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> }</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> cpl_vector_delete(spec_conv) ;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="preprocessor"></span> <span class="comment">/* METHOD 1 */</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordflow">if</span> ((det_lines = <a class="code" href="group__irplib__spectrum.html#ga1885902c29d7383674c85e2c3d935961" title="Detect the brightest features in a spectrum.">irplib_spectrum_detect_peaks</a>(spectrum, fwhm,</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> thresh, 0, NULL, NULL)) == NULL) {</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot convolve the signal"</span>) ;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> }</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="preprocessor"></span> cpl_msg_info(cpl_func, <span class="stringliteral">"Detected %"</span>CPL_SIZE_FORMAT<span class="stringliteral">" lines"</span>, </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> cpl_vector_get_size(det_lines));</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment">/* Get the catalog lines */</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> wmin = cpl_polynomial_eval_1d(poly_init, 1.0, NULL) ;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> wmax = cpl_polynomial_eval_1d(poly_init, spec_sz, NULL) ;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> plines_catalog_x = cpl_bivector_get_x_data_const(lines_catalog) ;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> plines_catalog_y = cpl_bivector_get_y_data_const(lines_catalog) ;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> nlines = cpl_bivector_get_size(lines_catalog) ;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> nlines_cat = 0 ;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> start_ind = stop_ind = -1 ;</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="keywordflow">for</span> (i=0 ; i<nlines ; i++) {</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keywordflow">if</span> (plines_catalog_x[i] > wmin && plines_catalog_x[i] < wmax &&</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> plines_catalog_y[i] > 0.0) {</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> nlines_cat++ ;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordflow">if</span> (start_ind<0) start_ind = i ;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> stop_ind = i ;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> }</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> }</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">if</span> (nlines_cat == 0) {</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> cpl_msg_error(cpl_func, <span class="stringliteral">"No lines in catalog"</span>) ;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> cpl_vector_delete(det_lines) ;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> }</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> cat_lines = cpl_vector_new(nlines_cat) ;</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> pcat_lines = cpl_vector_get_data(cat_lines) ;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> nlines_cat = 0 ;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordflow">for</span> (i=0 ; i<nlines ; i++) {</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keywordflow">if</span> (plines_catalog_x[i] > wmin && plines_catalog_x[i] < wmax &&</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> plines_catalog_y[i] > 0.0) {</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> pcat_lines[nlines_cat] = plines_catalog_x[i] ; </div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> nlines_cat++ ;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> }</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> }</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment">/* Plot inputs */</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">if</span> (doplot) {</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment">/* Catalog */</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> irplib_wlxcorr_catalog_plot(lines_catalog, wmin, wmax) ;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment">/* Spectrum with detected lines */</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> fill_val = cpl_vector_get_max(spectrum) ;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> plot_y = cpl_vector_new(spec_sz);</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> cpl_vector_fill(plot_y, 0.0) ;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> pdet_lines = cpl_vector_get_data(det_lines) ;</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keywordflow">for</span> (i=0 ; i<cpl_vector_get_size(det_lines) ; i++) {</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> cpl_vector_set(plot_y, (<span class="keywordtype">int</span>)pdet_lines[i], fill_val) ;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> }</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> vectors_plot[0] = NULL ;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> vectors_plot[1] = spectrum ;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> vectors_plot[2] = plot_y ;</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> cpl_plot_vectors(<span class="stringliteral">"set grid;set xlabel 'Position (Pixel)';set ylabel "</span></div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="stringliteral">"'Intensity (ADU/sec)';"</span>,</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="stringliteral">"t 'Spectrum with detected lines' w lines"</span>, <span class="stringliteral">""</span>,</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> vectors_plot, 3);</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> cpl_vector_delete(plot_y) ;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> }</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="comment">/* Apply the point pattern matching */</span></div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> disp = (wmax-wmin) / spec_sz ;</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> disp_min = disp - (disp/10) ;</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> disp_max = disp + (disp/10) ;</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> matched = cpl_ppm_match_positions(det_lines, cat_lines, disp_min,</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> disp_max, 0.05, NULL, NULL);</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> cpl_vector_delete(det_lines) ;</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> cpl_vector_delete(cat_lines) ;</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keywordflow">if</span> (matched == NULL) {</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot apply the point pattern matching"</span>) ;</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> }</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> match_sz = cpl_bivector_get_size(matched);</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> cpl_msg_info(cpl_func, <span class="stringliteral">"Matched %d lines"</span>, match_sz) ;</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordflow">if</span> (match_sz <= deg_loc) {</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Not enough match for the fit"</span>) ;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> cpl_bivector_delete(matched) ;</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> }</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="comment">/* Plot if requested */</span></div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordflow">if</span> (doplot) {</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keyword">const</span> <span class="keywordtype">double</span> * pmatched ;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> cpl_bivector * biplot ;</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> cpl_vector * plot_cat_x ;</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> cpl_vector * plot_cat_y ;</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="comment">/* Spectrum with matched lines */</span></div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> fill_val = cpl_vector_get_max(spectrum) ;</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> plot_y = cpl_vector_new(spec_sz);</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> cpl_vector_fill(plot_y, 0.0) ;</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> pmatched = cpl_bivector_get_x_data_const(matched) ;</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="keywordflow">for</span> (i=0 ; i < match_sz; i++) {</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> cpl_vector_set(plot_y, (<span class="keywordtype">int</span>)pmatched[i], fill_val) ;</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> }</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> vectors_plot[0] = NULL ;</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> vectors_plot[1] = spectrum ;</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> vectors_plot[2] = plot_y ;</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> cpl_plot_vectors(<span class="stringliteral">"set grid;set xlabel 'Position (Pixel)';set ylabel "</span></div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="stringliteral">"'Intensity (ADU/sec)';"</span>,</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="stringliteral">"t 'Spectrum with matched lines' w lines"</span>, <span class="stringliteral">""</span>,</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> vectors_plot, 3);</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> cpl_vector_delete(plot_y) ;</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="comment">/* Catalog with matched lines */</span></div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> plot_cat_x=cpl_vector_extract(cpl_bivector_get_x_const(lines_catalog), </div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> start_ind, stop_ind, 1) ;</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> plot_cat_y=cpl_vector_extract(cpl_bivector_get_y_const(lines_catalog), </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> start_ind, stop_ind, 1) ;</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> biplot = cpl_bivector_wrap_vectors(plot_cat_x, plot_cat_y) ;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> cpl_plot_bivector(<span class="stringliteral">"set grid;set xlabel 'Wavelength';set ylabel "</span></div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="stringliteral">"'Emission';"</span>, <span class="stringliteral">"t 'Catalog' w impulses"</span>, <span class="stringliteral">""</span>,</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> biplot);</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> cpl_bivector_unwrap_vectors(biplot) ;</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> plot_y = cpl_vector_duplicate(plot_cat_y) ;</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> cpl_vector_fill(plot_y, 0.0) ;</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> pmatched = cpl_bivector_get_y_data_const(matched) ;</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> fill_val=cpl_vector_get_mean(plot_cat_y) ;</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="keywordflow">for</span> (i=0 ; i < match_sz; i++) {</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> wl_ind = 0 ;</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keywordflow">while</span> (pmatched[i] > cpl_vector_get(plot_cat_x, wl_ind) </div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> && wl_ind < spec_sz) wl_ind++ ;</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="keywordflow">if</span> (wl_ind < spec_sz) cpl_vector_set(plot_y, wl_ind, fill_val) ;</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> }</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> biplot = cpl_bivector_wrap_vectors(plot_cat_x, plot_y) ;</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> cpl_plot_bivector(<span class="stringliteral">"set grid;set xlabel 'Wavelength';set ylabel "</span></div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="stringliteral">"'Emission';"</span>, <span class="stringliteral">"t 'Catalog (matched lines)' w "</span></div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="stringliteral">"impulses"</span>, <span class="stringliteral">""</span>, biplot) ;</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> cpl_bivector_unwrap_vectors(biplot) ;</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> cpl_vector_delete(plot_cat_x) ;</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> cpl_vector_delete(plot_cat_y) ;</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> cpl_vector_delete(plot_y) ;</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> }</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="comment">/* Apply the fit */</span></div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> matchedx = cpl_matrix_wrap(1, match_sz, cpl_bivector_get_x_data(matched));</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> fitted = cpl_polynomial_new(1);</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> error = cpl_polynomial_fit(fitted, matchedx, NULL,</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> cpl_bivector_get_y_const(matched), NULL,</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> CPL_FALSE, NULL, °_loc);</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> cpl_bivector_delete(matched);</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> (void)cpl_matrix_unwrap(matchedx);</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="keywordflow">if</span> (error) {</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot fit the polynomial"</span>) ;</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> cpl_polynomial_delete(fitted);</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> }</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="comment">/* Create the infos table */</span></div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="keywordflow">if</span> ((spc_table = irplib_wlxcorr_gen_spc_table(spectrum,</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> lines_catalog, slitw, fwhm, poly_init, fitted)) == NULL) {</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot generate the infos table"</span>) ;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> cpl_polynomial_delete(fitted) ;</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> }</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keywordflow">if</span> (tab_infos != NULL) *tab_infos = spc_table ;</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="keywordflow">else</span> cpl_table_delete(spc_table) ;</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="keywordflow">return</span> fitted ;</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> }</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="preprocessor">#ifdef IRPLIB_PPM_USE_METHOD2</span></div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="preprocessor"></span><span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="keyword">static</span> cpl_vector * irplib_ppm_convolve_line(</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="keyword">const</span> cpl_vector * spectrum,</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="keywordtype">double</span> slitw,</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="keywordtype">double</span> fwhm)</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> {</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> cpl_vector * conv_kernel ;</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> cpl_vector * line_profile ;</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> cpl_vector * xcorrs ;</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> cpl_vector * spec_ext ;</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> cpl_vector * xc_single ;</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="keywordtype">int</span> hs, line_sz, sp_sz ;</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="keywordflow">if</span> (spectrum == NULL) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> </div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="comment">/* Create the convolution kernel */</span></div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="keywordflow">if</span> ((conv_kernel = irplib_wlxcorr_convolve_create_kernel(slitw,</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> fwhm)) == NULL) {</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot create kernel"</span>) ;</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> }</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> hs = cpl_vector_get_size(conv_kernel) ;</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> line_sz = 2 * hs + 1 ;</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> </div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="comment">/* Create the line profile */</span></div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> line_profile = cpl_vector_new(line_sz) ;</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> cpl_vector_fill(line_profile, 0.0) ;</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> cpl_vector_set(line_profile, hs, 1.0) ;</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="keywordflow">if</span> (irplib_wlxcorr_convolve(line_profile, conv_kernel) != 0) {</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot create line profile"</span>) ;</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> cpl_vector_delete(line_profile) ;</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> cpl_vector_delete(conv_kernel) ;</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> }</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> cpl_vector_delete(conv_kernel) ;</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> </div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="comment">/* Create the correlations values vector */</span></div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> sp_sz = cpl_vector_get_size(spectrum) ;</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> xcorrs = cpl_vector_new(sp_sz) ;</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> cpl_vector_fill(xcorrs, 0.0) ;</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> xc_single = cpl_vector_new(1) ;</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="comment">/* Loop on the pixels of the spectrum */</span></div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="keywordflow">for</span> (i=hs ; i<sp_sz-hs ; i++) {</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="comment">/* Extract the current spectrum part */</span></div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="keywordflow">if</span> ((spec_ext = cpl_vector_extract(spectrum, i-hs, i+hs, 1)) == NULL) {</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot extract spectrum"</span>) ;</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> cpl_vector_delete(xc_single) ;</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> cpl_vector_delete(line_profile) ;</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> }</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="keywordflow">if</span> (cpl_vector_correlate(xc_single, spec_ext, line_profile) < 0) {</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot correlate"</span>) ;</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> cpl_vector_delete(xc_single) ;</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> cpl_vector_delete(line_profile) ;</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> cpl_vector_delete(spec_ext) ;</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> }</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> cpl_vector_set(xcorrs, i, cpl_vector_get(xc_single, 0)) ;</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> cpl_vector_delete(spec_ext) ;</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> }</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> cpl_vector_delete(xc_single) ;</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> cpl_vector_delete(line_profile) ;</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> </div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="keywordflow">return</span> xcorrs ;</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> } </div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> </div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="keyword">static</span> cpl_vector * irplib_ppm_detect_lines(</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="keyword">const</span> cpl_vector * spec,</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="keywordtype">double</span> threshold)</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> {</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> cpl_vector * spec_loc ;</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="keywordtype">double</span> * pspec_loc ;</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> cpl_vector * lines ;</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="keywordtype">double</span> * plines ;</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="keywordtype">int</span> spec_loc_sz, max_ind, nlines ;</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="keywordtype">double</span> max ;</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> </div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="comment">/* Test inputs */</span></div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="keywordflow">if</span> (spec == NULL) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> </div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="comment">/* Local spectrum */</span></div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> spec_loc = cpl_vector_duplicate(spec) ;</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> pspec_loc = cpl_vector_get_data(spec_loc) ;</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> spec_loc_sz = cpl_vector_get_size(spec_loc) ;</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> </div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="comment">/* Threshold the local spectrum */</span></div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="keywordflow">for</span> (i=0 ; i<spec_loc_sz ; i++) </div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="keywordflow">if</span> (pspec_loc[i] < threshold) pspec_loc[i] = 0.0 ;</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> </div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="comment">/* Allocate lines container */</span></div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> lines = cpl_vector_new(spec_loc_sz) ;</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> plines = cpl_vector_get_data(lines) ;</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> nlines = 0 ;</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> </div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> <span class="comment">/* Loop as long as there are lines */</span></div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="keywordflow">while</span> ((max = cpl_vector_get_max(spec_loc)) > threshold) {</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="comment">/* Find the max position */</span></div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> max_ind = 0 ;</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="keywordflow">while</span> (max_ind < spec_loc_sz && pspec_loc[max_ind] < max) max_ind++ ;</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="keywordflow">if</span> (max_ind == spec_loc_sz) {</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot find maximum"</span>) ;</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> cpl_vector_delete(spec_loc) ;</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> cpl_vector_delete(lines) ;</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> }</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="keywordflow">if</span> (max_ind == 0 || max_ind == spec_loc_sz-1) {</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> pspec_loc[max_ind] = 0 ;</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> continue ;</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> }</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> </div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="comment">/* Get the precise position from the neighbours values */</span></div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> plines[nlines] = pspec_loc[max_ind] * max_ind + </div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> pspec_loc[max_ind-1] * (max_ind-1) +</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> pspec_loc[max_ind+1] * (max_ind+1) ; </div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> plines[nlines] /= pspec_loc[max_ind] + pspec_loc[max_ind+1] +</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> pspec_loc[max_ind-1] ;</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> plines[nlines] ++ ;</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> nlines ++ ;</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> </div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="comment">/* Clean the line */</span></div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> i = max_ind ;</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="keywordflow">while</span> (i>=0 && pspec_loc[i] > threshold) {</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> pspec_loc[i] = 0.0 ;</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> i-- ;</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> }</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> i = max_ind+1 ;</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="keywordflow">while</span> (i<spec_loc_sz && pspec_loc[i] > threshold) {</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> pspec_loc[i] = 0.0 ;</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> i++ ;</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> }</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> }</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> cpl_vector_delete(spec_loc) ;</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> </div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="comment">/* Check if there are lines */</span></div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> <span class="keywordflow">if</span> (nlines == 0) {</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot detect any line"</span>) ;</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> cpl_vector_delete(lines) ;</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> }</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> </div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="comment">/* Resize the vector */</span></div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> cpl_vector_set_size(lines, nlines) ;</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> </div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="comment">/* Sort the lines */</span></div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> cpl_vector_sort(lines, 1) ;</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> </div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="keywordflow">return</span> lines ;</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> }</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> </div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__ppm_8h_source.html b/html/irplib__ppm_8h_source.html
deleted file mode 100644
index 9ead3c7..0000000
--- a/html/irplib__ppm_8h_source.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_ppm.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_ppm.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_ppm.h,v 1.5 2007/07/23 09:27:07 yjung Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: yjung $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2007/07/23 09:27:07 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.5 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef IRPLIB_PPM_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_PPM_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> cpl_polynomial * <a class="code" href="group__irplib__ppm.html#ga9b49569fb0bd55977b533407c1ad956d" title="The Wavelength Calibration using PPM.">irplib_ppm_engine</a>(<span class="keyword">const</span> cpl_vector *, <span class="keyword">const</span> cpl_bivector *,</div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="keyword">const</span> cpl_polynomial *, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, cpl_table **);</div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__slitpos_8c_source.html b/html/irplib__slitpos_8c_source.html
deleted file mode 100644
index 2ef5b56..0000000
--- a/html/irplib__slitpos_8c_source.html
+++ /dev/null
@@ -1,541 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_slitpos.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_slitpos.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_slitpos.c,v 1.31 2013/07/04 12:10:12 jtaylor Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: jtaylor $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2013/07/04 12:10:12 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.31 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/* The IRPLIB-based application may have checked for the availability of</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> memrchr() in which case the macro HAVE_DECL_MEMRCHR is defined as either</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> 0 or 1. Without checks it is assumed that the function is not available.</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> With a suitable version of autoconf the macro can be defined with this</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> entry in configure.ac:</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> AC_CHECK_DECLS([memrchr])</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <assert.h></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include "irplib_slitpos.h"</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include "irplib_flat.h"</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">/* TEMPORARY SUPPORT OF CPL 5.x */</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#ifndef CPL_SIZE_FORMAT</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor"></span><span class="preprocessor">#define CPL_SIZE_FORMAT "d"</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor"></span><span class="preprocessor">#define cpl_size int</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor"></span><span class="comment">/* END TEMPORARY SUPPORT OF CPL 5.x */</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#ifndef IRPLIB_SLITPOS_KERNEL_SIZE_Y</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_SLITPOS_KERNEL_SIZE_Y 5</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#ifndef IRPLIB_SLITPOS_MAX_EROSION</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_SLITPOS_MAX_EROSION 1024</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">static</span> cpl_error_code irplib_slitpos_find_edges_one_line(<span class="keyword">const</span> cpl_image *,</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">int</span>, <span class="keywordtype">int</span> *, <span class="keywordtype">int</span> *);</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">static</span> cpl_error_code irplib_slitpos_find_vert_slit_ends(<span class="keyword">const</span> cpl_image *,</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">int</span>, <span class="keywordtype">int</span> *, <span class="keywordtype">int</span> *);</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keyword">static</span> cpl_error_code irplib_slitpos_find_vert_pos(<span class="keyword">const</span> cpl_image *, <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> cpl_size *);</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">static</span> cpl_error_code irplib_image_filter_background_line(cpl_image *,</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keyword">const</span> cpl_image *,</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">int</span>, cpl_boolean) ;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"><a class="code" href="group__irplib__slitpos.html#ga632b21eccf3d4bb48426cdd23f321cba"> 119</a></span> cpl_table * <a class="code" href="group__irplib__slitpos.html#ga632b21eccf3d4bb48426cdd23f321cba" title="Detect the slit position, detect its ends, extract a thin image containing only the slit and find its...">irplib_slitpos_analysis</a>(<span class="keyword">const</span> cpl_image * imslit,</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">int</span> slit_max_width,</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">double</span> * slit_flux)</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> {</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keyword">const</span> <span class="keywordtype">int</span> size_x = cpl_image_get_size_x(imslit);</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keyword">const</span> <span class="keywordtype">int</span> size_y = cpl_image_get_size_y(imslit);</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordtype">int</span> slit_length;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> cpl_size slit_pos;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> cpl_image * filtered;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> cpl_mask * mask;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> cpl_image * thin_im;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordtype">int</span> slit_top_y = 0; <span class="comment">/* Avoid (false) uninit warning */</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordtype">int</span> slit_bot_y = 0; <span class="comment">/* Avoid (false) uninit warning */</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> cpl_table * <span class="keyword">self</span>;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordtype">double</span> * slit_y,</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> * slit_x_l,</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> * slit_x_r;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordtype">double</span> * coeff_r;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordtype">double</span> * coeff_l;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> cpl_error_code error = CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment">/* Initialize */</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">if</span> (slit_flux != NULL) *slit_flux = 0.0 ;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment">/* Median vertical filtering 3x3 */</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> mask = cpl_mask_new(3, 3) ;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> cpl_mask_not(mask) ;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> filtered = cpl_image_new(size_x, size_y, cpl_image_get_type(imslit));</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> error = cpl_image_filter_mask(filtered, imslit, mask,</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> CPL_FILTER_MEDIAN, CPL_BORDER_FILTER);</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> cpl_mask_delete(mask);</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keywordflow">if</span> (error) {</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> cpl_image_delete(filtered);</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> cpl_ensure(0, cpl_error_get_code(), NULL);</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> }</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment">/* The background may vary strongly along the vertical line. */</span></div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment">/* Detect and remove background with a 1+2*Slit_max x 1 median filter */</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> error = irplib_image_filter_background_line(filtered, NULL, slit_max_width,</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> CPL_TRUE);</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordflow">if</span> (error) {</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> cpl_image_delete(filtered) ;</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> cpl_ensure(0, cpl_error_get_code(), NULL);</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> }</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment">/* Find the position of the slit */</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordflow">if</span> (irplib_slitpos_find_vert_pos(filtered, slit_max_width/2, &slit_pos)) {</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> cpl_image_delete(filtered);</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Could not find the slit position"</span>);</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> cpl_ensure(0, cpl_error_get_code(), NULL);</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> }</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment">/* Extract a thin image containing the slit */</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> thin_im = cpl_image_extract(filtered, slit_pos-slit_max_width/2, 1,</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> slit_pos+slit_max_width/2, size_y);</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordflow">if</span> (thin_im == NULL) {</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Could not extract the %d pixel thin image "</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="stringliteral">"around position %"</span>CPL_SIZE_FORMAT, </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> slit_max_width, slit_pos);</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> cpl_image_delete(filtered);</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> cpl_ensure(0, cpl_error_get_code(), NULL);</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> }</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment">/* Find the ends of the slit */</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> error = irplib_slitpos_find_vert_slit_ends(thin_im,</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> IRPLIB_SLITPOS_KERNEL_SIZE_Y,</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> &slit_bot_y,</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> &slit_top_y);</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> cpl_image_delete(thin_im);</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keywordflow">if</span> (error) {</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> cpl_image_delete(filtered);</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> cpl_ensure(0, cpl_error_get_code(), NULL);</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> }</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment">/* Extract an image with exactly the slit */</span></div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> thin_im = cpl_image_extract(filtered,</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> slit_pos-slit_max_width/2,</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> slit_bot_y,</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> slit_pos+slit_max_width/2,</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> slit_top_y);</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> cpl_image_delete(filtered);</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> cpl_ensure(thin_im != NULL, cpl_error_get_code(), NULL);</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> slit_length = 1 + slit_top_y - slit_bot_y;</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment">/* Allocate some arrays */</span></div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> slit_y = cpl_malloc(slit_length * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> slit_x_l = cpl_malloc(slit_length * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> slit_x_r = cpl_malloc(slit_length * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="comment">/* Find the edges of the slit */</span></div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordflow">for</span> (i=0 ; i<slit_length ; i++) {</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keywordtype">int</span> right_pos = 0; <span class="comment">/* Avoid (false) uninit warning */</span></div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="keywordtype">int</span> left_pos = 0; <span class="comment">/* Avoid (false) uninit warning */</span></div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keywordflow">if</span> (irplib_slitpos_find_edges_one_line(thin_im,</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> i,</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> &left_pos,</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> &right_pos)) {</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> cpl_msg_error(cpl_func, <span class="stringliteral">"cannot find the edges of the [%d]th line"</span>, </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> i+1);</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> cpl_image_delete(thin_im);</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> }</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="comment">/* Update the slit_flux */</span></div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keywordflow">if</span> (slit_flux != NULL) {</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> *slit_flux += cpl_image_get_flux_window(thin_im, left_pos+1,</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> i+1, right_pos+1, i+1) ;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> }</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="comment">/* Store the edges for the fit */</span></div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> slit_x_l[i] = (double)left_pos;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> slit_x_r[i] = (double)right_pos;</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> slit_y[i] = (double)(i+slit_bot_y-1);</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> }</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> cpl_image_delete(thin_im);</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="comment">/* Linear regression to find the edges */</span></div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> coeff_l = <a class="code" href="group__irplib__flat.html#ga3e3e3bd45aef34e38758e1f2528d7c91" title="Fit a slope to a list of points (robust fit).">irplib_flat_fit_slope_robust</a>(slit_y, slit_x_l, slit_length);</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> coeff_r = <a class="code" href="group__irplib__flat.html#ga3e3e3bd45aef34e38758e1f2528d7c91" title="Fit a slope to a list of points (robust fit).">irplib_flat_fit_slope_robust</a>(slit_y, slit_x_r, slit_length);</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> cpl_free(slit_y);</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> cpl_free(slit_x_l);</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> cpl_free(slit_x_r);</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="comment">/* Allocate the table containing the results */</span></div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="keyword">self</span> = cpl_table_new(slit_length);</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> error |= cpl_table_new_column(<span class="keyword">self</span>, <span class="stringliteral">"SLIT_Y"</span>, CPL_TYPE_INT);</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> error |= cpl_table_new_column(<span class="keyword">self</span>, <span class="stringliteral">"SLIT_LEFT"</span>, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> error |= cpl_table_new_column(<span class="keyword">self</span>, <span class="stringliteral">"SLIT_CENTER"</span>, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> error |= cpl_table_new_column(<span class="keyword">self</span>, <span class="stringliteral">"SLIT_RIGHT"</span>, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> error |= cpl_table_set_column_unit(<span class="keyword">self</span>, <span class="stringliteral">"SLIT_Y"</span>, <span class="stringliteral">"pixel"</span>);</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> error |= cpl_table_set_column_unit(<span class="keyword">self</span>, <span class="stringliteral">"SLIT_LEFT"</span>, <span class="stringliteral">"pixel"</span>);</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> error |= cpl_table_set_column_unit(<span class="keyword">self</span>, <span class="stringliteral">"SLIT_CENTER"</span>, <span class="stringliteral">"pixel"</span>);</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> error |= cpl_table_set_column_unit(<span class="keyword">self</span>, <span class="stringliteral">"SLIT_RIGHT"</span>, <span class="stringliteral">"pixel"</span>);</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> cpl_ensure(!error, cpl_error_get_code(), NULL);</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="comment">/* Rewrite the edges in the out table, and write the center */</span></div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">for</span> (i=0 ; i < slit_length ; i++) {</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keyword">const</span> <span class="keywordtype">int</span> islity = i + slit_bot_y;</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="keyword">const</span> <span class="keywordtype">double</span> dslit = slit_pos - slit_max_width / 2.0;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="keyword">const</span> <span class="keywordtype">double</span> dleft = coeff_l[0] + coeff_l[1] * (double)islity + dslit;</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="keyword">const</span> <span class="keywordtype">double</span> dright = coeff_r[0] + coeff_r[1] * (double)islity + dslit;</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="keyword">const</span> <span class="keywordtype">double</span> dcent = 0.5 * (dleft + dright);</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="keywordflow">if</span> (cpl_table_set_int(<span class="keyword">self</span>, <span class="stringliteral">"SLIT_Y"</span>, i, islity)) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="keywordflow">if</span> (cpl_table_set_double(<span class="keyword">self</span>, <span class="stringliteral">"SLIT_LEFT"</span>, i, dleft)) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="keywordflow">if</span> (cpl_table_set_double(<span class="keyword">self</span>, <span class="stringliteral">"SLIT_RIGHT"</span>, i, dright)) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="keywordflow">if</span> (cpl_table_set_double(<span class="keyword">self</span>, <span class="stringliteral">"SLIT_CENTER"</span>, i, dcent)) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> }</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> cpl_free(coeff_r);</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> cpl_free(coeff_l);</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="keywordflow">if</span> (i != slit_length) {</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> cpl_table_delete(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> cpl_ensure(0, cpl_error_get_code(), NULL);</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> }</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="keywordflow">return</span> <span class="keyword">self</span>;</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> }</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keyword">static</span> cpl_error_code irplib_slitpos_find_edges_one_line(<span class="keyword">const</span> cpl_image * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="keywordtype">int</span> line_pos,</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="keywordtype">int</span> * left_pos,</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keywordtype">int</span> * right_pos)</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> {</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="keyword">const</span> <span class="keywordtype">int</span> size_x = cpl_image_get_size_x(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="keyword">const</span> <span class="keywordtype">float</span> * pself;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="keywordtype">double</span> threshold;</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> cpl_ensure_code(cpl_image_get_type(<span class="keyword">self</span>) == CPL_TYPE_FLOAT,</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> CPL_ERROR_INVALID_TYPE);</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> pself = cpl_image_get_data_float_const(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="comment">/* Find the threshold */</span></div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> threshold = cpl_image_get_mean_window(<span class="keyword">self</span>, 1, line_pos+1, size_x,</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> line_pos+1);</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> </div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="comment">/* Detect the left edge */</span></div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> i = 0;</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="keywordflow">while</span> (i < size_x && pself[line_pos*size_x+i] < threshold) i++;</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> *left_pos = i;</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="comment">/* Detect the right edge */</span></div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> i = size_x - 1;</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="keywordflow">while</span> (i >= 0 && pself[line_pos*size_x+i] < threshold) i--;</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> *right_pos = i;</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> }</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="keyword">static</span></div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> cpl_error_code irplib_slitpos_find_vert_slit_ends(<span class="keyword">const</span> cpl_image * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="keywordtype">int</span> kernel_size,</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="keywordtype">int</span> * bot_slit_y,</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="keywordtype">int</span> * top_slit_y)</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> {</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> cpl_mask * binary;</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> cpl_mask * copy = NULL;</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> cpl_mask * kernel;</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> cpl_image * label_image;</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="keywordtype">int</span> erosions_nb;</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> cpl_size nobj ;</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="keyword">const</span> <span class="keywordtype">int</span> size_x = cpl_image_get_size_x(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="keyword">const</span> <span class="keywordtype">int</span> size_y = cpl_image_get_size_y(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="keyword">const</span> <span class="keywordtype">int</span> npix = size_x * size_y;</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="keyword">const</span> cpl_binary * pbinary;</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="keyword">const</span> cpl_binary * pfind;</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="keywordtype">int</span> i, itop, ibot;</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> </div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> cpl_ensure_code(size_x > 0, cpl_error_get_code());</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> cpl_ensure_code(kernel_size > 0, cpl_error_get_code());</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="comment">/* Threshold to have a binary image */</span></div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> binary = cpl_mask_threshold_image_create(<span class="keyword">self</span>, cpl_image_get_mean(<span class="keyword">self</span>),</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> cpl_image_get_max(<span class="keyword">self</span>));</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> cpl_ensure_code(binary != NULL, cpl_error_get_code());</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="comment">/* Erode until there is 1 object left in the image */</span></div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> label_image = cpl_image_labelise_mask_create(binary, &nobj);</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> cpl_image_delete(label_image);</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="keywordflow">if</span> (label_image == NULL) {</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> cpl_mask_delete(binary);</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> cpl_ensure_code(0, cpl_error_get_code());</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> }</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> </div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="comment">/* Define the kernel for morpho operations */</span></div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> kernel = cpl_mask_new(kernel_size, 1);</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> cpl_mask_not(kernel);</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> copy = cpl_mask_wrap(size_x, size_y, cpl_malloc(size_x * size_y *</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="keyword">sizeof</span>(cpl_binary)));</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keywordflow">for</span> (erosions_nb = 0; erosions_nb < IRPLIB_SLITPOS_MAX_EROSION && nobj > 1;</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> erosions_nb++) {</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="comment">/* Should not be possible to break from this loop */</span></div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> cpl_mask_copy(copy, binary, 1, 1);</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="keywordflow">if</span> (cpl_mask_filter(binary, copy, kernel, CPL_FILTER_EROSION,</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> CPL_BORDER_ZERO)) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> label_image = cpl_image_labelise_mask_create(binary, &nobj);</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="keywordflow">if</span> (label_image == NULL) <span class="keywordflow">break</span>; <span class="comment">/* Assuming nobj was not set to 1 */</span></div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> cpl_image_delete(label_image);</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> }</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> </div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="keywordflow">if</span> (nobj > 1) {</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> cpl_mask_delete(binary);</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> cpl_mask_delete(copy);</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> cpl_mask_delete(kernel);</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="keywordflow">if</span> (erosions_nb >= IRPLIB_SLITPOS_MAX_EROSION) {</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Number of erosions reached a limit of %d "</span></div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="stringliteral">"with %"</span>CPL_SIZE_FORMAT<span class="stringliteral">" possible slits left"</span>,</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> IRPLIB_SLITPOS_MAX_EROSION, nobj);</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> cpl_ensure_code(0, CPL_ERROR_CONTINUE);</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> }</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> cpl_ensure_code(0, cpl_error_get_code());</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (nobj < 1) {</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> cpl_mask_delete(binary);</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> cpl_mask_delete(copy);</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> cpl_mask_delete(kernel);</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="keywordflow">if</span> (erosions_nb == 0)</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> cpl_msg_error(cpl_func, <span class="stringliteral">"No slit could be detected across %d "</span></div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="stringliteral">"pixels"</span>, size_x);</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> cpl_msg_error(cpl_func, <span class="stringliteral">"The last of %d erosions removed all the "</span></div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="stringliteral">"possible slits"</span>, erosions_nb);</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> cpl_ensure_code(0, CPL_ERROR_DATA_NOT_FOUND);</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> }</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> </div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="comment">/* Reconstruct the slit with dilations */</span></div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="keywordflow">for</span> (i=0 ; i < erosions_nb ; i++) {</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> cpl_mask_copy(copy, binary, 1, 1);</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="keywordflow">if</span> (cpl_mask_filter(binary, copy, kernel, CPL_FILTER_DILATION,</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> CPL_BORDER_ZERO)) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> }</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> cpl_mask_delete(copy);</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> cpl_mask_delete(kernel);</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> </div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="keywordflow">if</span> (i != erosions_nb) {</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Dilation number %d out of %d failed"</span>,</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> i, erosions_nb);</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> cpl_mask_delete(binary);</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> cpl_ensure_code(0, cpl_error_get_code());</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> }</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> </div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="comment">/* Find the ends of the slit */</span></div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> pbinary = cpl_mask_get_data(binary);</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> assert( pbinary != NULL );</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> </div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> pfind = memchr(pbinary, CPL_BINARY_1, (<span class="keywordtype">size_t</span>)npix);</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> assert( pfind != NULL );</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> </div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> ibot = (int)(pfind - pbinary);</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="preprocessor">#if defined HAVE_DECL_MEMRCHR && HAVE_DECL_MEMRCHR == 1</span></div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="preprocessor"></span> <span class="comment">/* FIXME: Not tested */</span></div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> pfind = memrchr(pfind, CPL_BINARY_1, (<span class="keywordtype">size_t</span>)(npix - ibot));</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> assert( pfind != NULL );</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> </div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> itop = (int)(pfind - pbinary);</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> itop = npix - 1;</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <span class="keywordflow">while</span> (itop > ibot && pbinary[itop] == CPL_BINARY_0) itop--;</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> </div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> *bot_slit_y = 1 + ibot / size_x;</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> *top_slit_y = 1 + itop / size_x;</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> </div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> cpl_msg_info(cpl_func, </div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> <span class="stringliteral">"Detected %"</span>CPL_SIZE_FORMAT<span class="stringliteral">"-pixel slit from pixel %d to %d "</span></div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="stringliteral">"using %d erosions/dilations"</span>, cpl_mask_count(binary),</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> *bot_slit_y, *top_slit_y, erosions_nb);</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> </div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> cpl_mask_delete(binary);</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> </div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="comment">/* Should really be an assert() */</span></div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> cpl_ensure_code(ibot <= itop, CPL_ERROR_DATA_NOT_FOUND);</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> </div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> }</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> </div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="keyword">static</span> cpl_error_code irplib_slitpos_find_vert_pos(<span class="keyword">const</span> cpl_image * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="keywordtype">int</span> xwidth,</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> cpl_size * slit_pos)</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> {</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="keyword">const</span> <span class="keywordtype">int</span> size_x = cpl_image_get_size_x(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> cpl_image * image1D;</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> cpl_size yone;</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> cpl_error_code error;</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> </div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> </div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="comment">/* Collapse the image to a horizontal 1D image */</span></div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> image1D = cpl_image_collapse_create(<span class="keyword">self</span>, 0);</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> </div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> cpl_ensure_code(image1D != NULL, cpl_error_get_code());</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> </div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="comment">/* Search the max of the 1D image to identify the slit position */</span></div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> error = cpl_image_get_maxpos_window(image1D, 1+xwidth, 1, size_x-xwidth,</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> 1, slit_pos, &yone);</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> </div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> cpl_image_delete(image1D);</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> </div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> cpl_ensure_code(!error, error);</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> </div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> }</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> </div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> <span class="keyword">static</span> cpl_error_code irplib_image_filter_background_line(cpl_image * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> <span class="keyword">const</span> cpl_image * other,</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="keywordtype">int</span> hsize,</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> cpl_boolean vertical)</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> {</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nx = cpl_image_get_size_x(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ny = cpl_image_get_size_y(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="keyword">const</span> <span class="keywordtype">int</span> msize = 1 + 2 * hsize;</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> cpl_mask * mask;</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> cpl_image * background;</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> cpl_error_code error = CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> </div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> cpl_ensure_code(hsize >= 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> </div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="keywordflow">if</span> (other == NULL) other = <span class="keyword">self</span>;</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> </div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> mask = vertical ? cpl_mask_new(msize, 1) : cpl_mask_new(1, msize);</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> </div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> error |= cpl_mask_not(mask);</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> </div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> background = cpl_image_new(nx, ny, cpl_image_get_type(other));</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> </div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> error |= cpl_image_filter_mask(background, other, mask, CPL_FILTER_MEDIAN,</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> CPL_BORDER_FILTER);</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> cpl_mask_delete(mask);</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> </div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> <span class="keywordflow">if</span> (<span class="keyword">self</span> != other) {</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> error |= cpl_image_copy(<span class="keyword">self</span>, other, 1, 1);</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> }</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> </div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> error |= cpl_image_subtract(<span class="keyword">self</span>, background);</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> cpl_image_delete(background);</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> </div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="keywordflow">return</span> error ? cpl_error_set_where(cpl_func) : CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> }</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> </div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__slitpos_8h_source.html b/html/irplib__slitpos_8h_source.html
deleted file mode 100644
index 2978adb..0000000
--- a/html/irplib__slitpos_8h_source.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_slitpos.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_slitpos.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_slitpos.h,v 1.6 2006/11/29 13:22:59 yjung Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: yjung $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2006/11/29 13:22:59 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.6 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef IRPLIB_SLITPOS_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_SLITPOS_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> cpl_table * <a class="code" href="group__irplib__slitpos.html#ga632b21eccf3d4bb48426cdd23f321cba" title="Detect the slit position, detect its ends, extract a thin image containing only the slit and find its...">irplib_slitpos_analysis</a>(<span class="keyword">const</span> cpl_image *, <span class="keywordtype">int</span>, <span class="keywordtype">double</span> *);</div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__spectrum_8c_source.html b/html/irplib__spectrum_8c_source.html
deleted file mode 100644
index ed2b5b8..0000000
--- a/html/irplib__spectrum_8c_source.html
+++ /dev/null
@@ -1,600 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_spectrum.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_spectrum.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_spectrum.c,v 1.29 2012/01/12 11:50:41 llundin Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: llundin $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2012/01/12 11:50:41 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.29 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <float.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "irplib_wlxcorr.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "irplib_spectrum.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> Define</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/* TEMPORARY SUPPORT OF CPL 5.x */</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#ifndef CPL_SIZE_FORMAT</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor"></span><span class="preprocessor">#define CPL_SIZE_FORMAT "d"</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor"></span><span class="preprocessor">#define cpl_size int</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"></span><span class="comment">/* END TEMPORARY SUPPORT OF CPL 5.x */</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#define SPECTRUM_HW 16</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor"></span><span class="preprocessor">#define MIN_THRESH_FACT 0.9</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor"></span><span class="preprocessor">#define MAX_THRESH_FACT 1.1</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor"></span><span class="preprocessor">#define SPEC_SHADOW_FACT 30.0 </span><span class="comment">/* Negative spectrum intensity*/</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor"></span><span class="preprocessor">#define SPEC_MAXWIDTH 48</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keyword">static</span> <span class="keywordtype">int</span> select_valid_spectra(cpl_image *, cpl_apertures *, <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> spec_shadows, <span class="keywordtype">int</span>, <span class="keywordtype">int</span> *, <span class="keywordtype">int</span> **) ;</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keyword">static</span> <span class="keywordtype">int</span> valid_spectrum(cpl_image *, cpl_apertures *, <span class="keywordtype">int</span>, spec_shadows, <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keywordtype">int</span>) ;</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"><a class="code" href="group__irplib__spectrum.html#ga9ac928ba9a48e864b56e921c970638c0"> 93</a></span> <span class="keywordtype">int</span> <a class="code" href="group__irplib__spectrum.html#ga9ac928ba9a48e864b56e921c970638c0" title="Finds the brightest spectrum in an image.">irplib_spectrum_find_brightest</a>(</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keyword">const</span> cpl_image * in,</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">int</span> offset,</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> spec_shadows shadows,</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordtype">double</span> min_bright,</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">int</span> orient,</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordtype">double</span> * pos)</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> {</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> cpl_image * loc_ima ;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> cpl_image * filt_image ;</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> cpl_image * collapsed ;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">float</span> * pcollapsed ;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> cpl_vector * line ;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">double</span> * pline ;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> cpl_vector * line_filt ;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">double</span> threshold ;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keywordtype">double</span> median, stdev, max, mean ;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> cpl_mask * mask ;</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> cpl_image * labels ;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> cpl_size nlabels ;</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> cpl_apertures * aperts ;</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">int</span> n_valid_specs ;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">int</span> * valid_specs ;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">double</span> brightness ;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordflow">if</span> (in == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordflow">if</span> (orient!=0 && orient!=1) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">/* Flip the image if necessary */</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordflow">if</span> (orient == 1) {</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> loc_ima = cpl_image_duplicate(in) ;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> cpl_image_flip(loc_ima, 1) ;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> loc_ima = cpl_image_duplicate(in) ;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> }</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment">/* Median vertical filtering 3x3 */</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> mask = cpl_mask_new(3, 3) ;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> cpl_mask_not(mask) ;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> filt_image = cpl_image_new(</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> cpl_image_get_size_x(loc_ima),</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> cpl_image_get_size_y(loc_ima),</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> cpl_image_get_type(loc_ima)) ;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keywordflow">if</span> (cpl_image_filter_mask(filt_image, loc_ima, mask,</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> CPL_FILTER_MEDIAN, CPL_BORDER_FILTER) != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> cpl_msg_error(__func__, <span class="stringliteral">"Cannot filter the image"</span>) ;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> cpl_mask_delete(mask) ;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> cpl_image_delete(filt_image) ;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> }</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> cpl_mask_delete(mask) ;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> cpl_image_delete(loc_ima) ;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment">/* Collapse the image */</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordflow">if</span> ((collapsed = cpl_image_collapse_median_create(filt_image, 1, 0,</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> 0)) == NULL) {</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> cpl_msg_error(cpl_func, <span class="stringliteral">"collapsing image: aborting spectrum detection"</span>);</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> cpl_image_delete(filt_image) ;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> }</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> cpl_image_delete(filt_image) ;</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment">/* Subtract low frequency signal */</span></div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> line = cpl_vector_new_from_image_column(collapsed, 1) ;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> cpl_image_delete(collapsed) ;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> line_filt = cpl_vector_filter_median_create(line, SPECTRUM_HW) ;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> cpl_vector_subtract(line, line_filt) ;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> cpl_vector_delete(line_filt) ;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment">/* Get relevant stats for thresholding */</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> median = cpl_vector_get_median_const(line) ;</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> stdev = cpl_vector_get_stdev(line) ;</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> max = cpl_vector_get_max(line) ;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> mean = cpl_vector_get_mean(line) ;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="comment">/* Set the threshold */</span></div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> threshold = median + stdev ;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">if</span> (threshold > MIN_THRESH_FACT * max) threshold = MIN_THRESH_FACT * max ;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordflow">if</span> (threshold < MAX_THRESH_FACT * mean) threshold = MAX_THRESH_FACT * mean;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment">/* Recreate the image */</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> collapsed = cpl_image_new(1, cpl_vector_get_size(line), CPL_TYPE_FLOAT) ;</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> pcollapsed = cpl_image_get_data_float(collapsed) ;</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> pline = cpl_vector_get_data(line) ;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordflow">for</span> (i=0 ; i<cpl_vector_get_size(line) ; i++)</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> pcollapsed[i] = (<span class="keywordtype">float</span>)pline[i] ;</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> cpl_vector_delete(line) ;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment">/* Binarise the image */</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">if</span> ((mask = cpl_mask_threshold_image_create(collapsed, threshold,</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> DBL_MAX)) == NULL) {</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> cpl_msg_error(cpl_func, <span class="stringliteral">"cannot binarise"</span>) ;</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> cpl_image_delete(collapsed) ;</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> }</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">if</span> (cpl_mask_count(mask) < 1) {</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> cpl_msg_error(cpl_func, <span class="stringliteral">"not enough signal to detect spectra"</span>) ;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> cpl_image_delete(collapsed) ;</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> cpl_mask_delete(mask) ;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> }</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment">/* Labelise the different detected apertures */</span></div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">if</span> ((labels = cpl_image_labelise_mask_create(mask, &nlabels))==NULL) {</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> cpl_msg_error(cpl_func, <span class="stringliteral">"cannot labelise"</span>) ;</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> cpl_image_delete(collapsed) ;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> cpl_mask_delete(mask) ;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> }</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> cpl_mask_delete(mask) ;</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment">/* Create the detected apertures list */</span></div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keywordflow">if</span> ((aperts = cpl_apertures_new_from_image(collapsed, labels)) == NULL) {</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> cpl_msg_error(cpl_func, <span class="stringliteral">"cannot compute apertures"</span>) ;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> cpl_image_delete(collapsed) ;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> cpl_image_delete(labels) ;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> }</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> cpl_image_delete(labels) ;</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="comment">/* Select only relevant specs, create corresponding LUT's */</span></div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keywordflow">if</span> (select_valid_spectra(collapsed, aperts, offset, shadows, SPEC_MAXWIDTH,</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> &n_valid_specs, &valid_specs) == -1) {</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> cpl_msg_debug(cpl_func, </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="stringliteral">"Could not select valid spectra from the %"</span>CPL_SIZE_FORMAT</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="stringliteral">" apertures in %"</span>CPL_SIZE_FORMAT<span class="stringliteral">"-col 1D-image, offset=%d"</span></div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="stringliteral">", min_bright=%d"</span>,</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> cpl_apertures_get_size(aperts),</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> cpl_image_get_size_y(collapsed), offset, SPEC_MAXWIDTH);</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keywordflow">if</span> (cpl_msg_get_level() <= CPL_MSG_DEBUG)</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> cpl_apertures_dump(aperts, stderr);</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> cpl_image_delete(collapsed);</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> cpl_apertures_delete(aperts);</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> }</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> cpl_image_delete(collapsed) ;</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordflow">if</span> (n_valid_specs < 1) {</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> cpl_msg_error(cpl_func, <span class="stringliteral">"no valid spectrum detected"</span>) ;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> cpl_free(valid_specs) ;</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> cpl_apertures_delete(aperts) ;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> }</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="comment">/* Look for the brightest, among the detected spectra */</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> *pos = cpl_apertures_get_centroid_y(aperts, valid_specs[0]+1) ;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> brightness = cpl_apertures_get_flux(aperts, valid_specs[0]+1) ;</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordflow">for</span> (i=0 ; i<n_valid_specs ; i++) {</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keywordflow">if</span> (cpl_apertures_get_flux(aperts, valid_specs[i]+1) > brightness) {</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> *pos = cpl_apertures_get_centroid_y(aperts, valid_specs[i]+1) ;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> brightness = cpl_apertures_get_flux(aperts, valid_specs[i]+1) ;</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> }</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> }</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> cpl_apertures_delete(aperts) ;</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> cpl_free(valid_specs) ;</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="comment">/* Minimum brightness required */</span></div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keywordflow">if</span> (brightness < min_bright) {</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> cpl_msg_error(cpl_func, <span class="stringliteral">"brightness %f too low <%f"</span>, brightness,</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> min_bright) ;</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> }</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> }</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00273"></a><span class="lineno"><a class="code" href="group__irplib__spectrum.html#ga1885902c29d7383674c85e2c3d935961"> 273</a></span> cpl_vector * <a class="code" href="group__irplib__spectrum.html#ga1885902c29d7383674c85e2c3d935961" title="Detect the brightest features in a spectrum.">irplib_spectrum_detect_peaks</a>(</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="keyword">const</span> cpl_vector * in,</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="keywordtype">int</span> fwhm,</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="keywordtype">double</span> sigma,</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keywordtype">int</span> display,</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> cpl_vector ** fwhms_out,</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> cpl_vector ** areas_out)</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> {</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> cpl_vector * filtered ;</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> cpl_vector * spec_clean ;</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> cpl_vector * spec_convolved ;</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="keywordtype">double</span> * pspec_convolved ;</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="keywordtype">int</span> filt_size ;</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> cpl_vector * conv_kernel ;</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> cpl_vector * extract ;</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> cpl_vector * extract_x ;</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> cpl_vector * big_detected ;</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> cpl_vector * big_fwhms ;</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> cpl_vector * big_area ;</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keywordtype">double</span> * pbig_detected ;</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keywordtype">double</span> * pbig_fwhms ;</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="keywordtype">double</span> * pbig_area ;</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> cpl_vector * detected ;</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="keywordtype">double</span> * pdetected ;</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> cpl_vector * fwhms ;</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="keywordtype">double</span> * pfwhms ;</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> cpl_vector * area ;</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="keywordtype">double</span> * parea ;</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="keywordtype">double</span> max, med, stdev, cur_val ;</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keywordtype">double</span> x0, sig, norm, offset ;</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="keywordtype">int</span> nb_det, nb_samples, hwidth, start, stop ;</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="keywordtype">int</span> i, j ;</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="keywordflow">if</span> (in == NULL) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> </div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="comment">/* Initialise */</span></div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> nb_samples = cpl_vector_get_size(in) ;</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> filt_size = 5 ;</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> hwidth = 5 ;</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="comment">/* Subtract the low frequency part */</span></div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> cpl_msg_info(__func__, <span class="stringliteral">"Low Frequency signal removal"</span>) ;</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keywordflow">if</span> ((filtered=cpl_vector_filter_median_create(in, filt_size))==NULL){</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> cpl_msg_error(__func__, <span class="stringliteral">"Cannot filter the spectrum"</span>) ;</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> }</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> spec_clean = cpl_vector_duplicate(in) ;</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> cpl_vector_subtract(spec_clean, filtered) ;</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> cpl_vector_delete(filtered) ;</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="comment">/* Display if requested */</span></div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="keywordflow">if</span> (display) {</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> cpl_plot_vector(</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="stringliteral">"set grid;set xlabel 'Position (pixels)';set ylabel 'Intensity (ADU)';"</span>,</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="stringliteral">"t 'Filtered extracted spectrum' w lines"</span>, <span class="stringliteral">""</span>, spec_clean);</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> }</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> </div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="comment">/* Convolve */</span></div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> spec_convolved = cpl_vector_duplicate(spec_clean) ;</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="keywordflow">if</span> (fwhm > 0) {</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> cpl_msg_info(__func__, <span class="stringliteral">"Spectrum convolution"</span>) ;</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="comment">/* Create convolution kernel */</span></div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="keywordflow">if</span> ((conv_kernel = irplib_wlxcorr_convolve_create_kernel(fwhm,</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> fwhm)) == NULL) {</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot create convolution kernel"</span>) ;</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> cpl_vector_delete(spec_clean) ;</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> cpl_vector_delete(spec_convolved) ;</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> }</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="comment">/* Smooth the instrument resolution */</span></div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="keywordflow">if</span> (irplib_wlxcorr_convolve(spec_convolved, conv_kernel)) {</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot smoothe the signal"</span>);</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> cpl_vector_delete(spec_clean) ;</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> cpl_vector_delete(spec_convolved) ;</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> cpl_vector_delete(conv_kernel) ;</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> }</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> cpl_vector_delete(conv_kernel) ;</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="comment">/* Display if requested */</span></div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="keywordflow">if</span> (display) {</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> cpl_plot_vector(</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="stringliteral">"set grid;set xlabel 'Position (pixels)';set ylabel 'Intensity (ADU)';"</span>,</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="stringliteral">"t 'Convolved extracted spectrum' w lines"</span>, <span class="stringliteral">""</span>, spec_convolved);</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> }</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> }</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="comment">/* Apply the detection */</span></div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> big_detected = cpl_vector_duplicate(spec_convolved) ;</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> big_fwhms = cpl_vector_duplicate(spec_convolved) ;</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> big_area = cpl_vector_duplicate(spec_convolved) ;</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> pbig_detected = cpl_vector_get_data(big_detected) ;</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> pbig_fwhms = cpl_vector_get_data(big_fwhms) ;</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> pbig_area = cpl_vector_get_data(big_area) ;</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> pspec_convolved = cpl_vector_get_data(spec_convolved) ;</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="comment">/* To avoid detection on the side */</span></div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> pspec_convolved[0] = pspec_convolved[nb_samples-1] = 0.0 ;</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="comment">/* Compute stats */</span></div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> max = cpl_vector_get_max(spec_convolved) ;</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> stdev = cpl_vector_get_stdev(spec_convolved) ;</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> med = cpl_vector_get_median_const(spec_convolved) ;</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="comment">/* Loop on the detected lines */</span></div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> nb_det = 0 ;</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="keywordflow">while</span> (max > med + stdev * sigma) {</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="comment">/* Compute the position */</span></div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> i=0 ;</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="keywordflow">while</span> (pspec_convolved[i] < max) i++ ;</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="keywordflow">if</span> (i<=0 || i>=nb_samples-1) break ;</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> </div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="comment">/* Extract the line */</span></div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keywordflow">if</span> (i - hwidth >= 0) start = i - hwidth ;</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="keywordflow">else</span> start = 0 ;</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="keywordflow">if</span> (i + hwidth <= nb_samples-1) stop = i + hwidth ;</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="keywordflow">else</span> stop = nb_samples-1 ;</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> extract = cpl_vector_extract(spec_clean, start, stop, 1) ;</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> extract_x = cpl_vector_duplicate(extract) ;</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="keywordflow">for</span> (j=0 ; j<cpl_vector_get_size(extract_x) ; j++) {</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> cpl_vector_set(extract_x, j, (<span class="keywordtype">double</span>)j+1) ;</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> }</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="comment">/* Fit the gaussian */</span></div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="keywordflow">if</span> (cpl_vector_fit_gaussian(extract_x, NULL, extract, NULL, </div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> CPL_FIT_ALL, &x0, &sig, &norm, &offset, NULL, NULL, </div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> NULL) != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> cpl_msg_warning(__func__, </div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="stringliteral">"Cannot fit a gaussian at [%d, %d]"</span>,</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> start, stop) ;</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> cpl_error_reset() ;</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> pbig_detected[nb_det] = x0+start ;</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> pbig_area[nb_det] = norm ;</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> pbig_fwhms[nb_det] = 2*sig*sqrt(2*log(2)) ;</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> cpl_msg_debug(__func__, <span class="stringliteral">"Line nb %d at position %g"</span>,</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> nb_det+1, pbig_detected[nb_det]) ;</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> nb_det ++ ;</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> }</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> cpl_vector_delete(extract) ;</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> cpl_vector_delete(extract_x) ;</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> </div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="comment">/* Cancel out the line on the left */</span></div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> j = i-1 ;</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> cur_val = pspec_convolved[i] ;</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="keywordflow">while</span> (j>=0 && pspec_convolved[j] < cur_val) {</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> cur_val = pspec_convolved[j] ;</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> pspec_convolved[j] = 0.0 ;</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> j-- ;</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> }</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="comment">/* Cancel out the line on the right */</span></div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> j = i+1 ;</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> cur_val = pspec_convolved[i] ;</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="keywordflow">while</span> (j<=nb_samples-1 && pspec_convolved[j] < cur_val) {</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> cur_val = pspec_convolved[j] ;</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> pspec_convolved[j] = 0.0 ;</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> j++ ;</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> }</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="comment">/* Cancel out the line on center */</span></div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> pspec_convolved[i] = 0.0 ;</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="comment">/* Recompute the stats */</span></div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> max = cpl_vector_get_max(spec_convolved) ;</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> stdev = cpl_vector_get_stdev(spec_convolved) ;</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> med = cpl_vector_get_median_const(spec_convolved) ;</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> }</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> cpl_vector_delete(spec_convolved) ;</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> cpl_vector_delete(spec_clean) ;</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> </div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="comment">/* Create the output vector */</span></div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="keywordflow">if</span> (nb_det == 0) {</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> detected = NULL ;</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> area = NULL ;</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> fwhms = NULL ;</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> detected = cpl_vector_new(nb_det) ;</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> area = cpl_vector_new(nb_det) ;</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> fwhms = cpl_vector_new(nb_det) ;</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> pdetected = cpl_vector_get_data(detected) ;</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> parea = cpl_vector_get_data(area) ;</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> pfwhms = cpl_vector_get_data(fwhms) ;</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="keywordflow">for</span> (i=0 ; i<nb_det ; i++) {</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> pdetected[i] = pbig_detected[i] ;</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> parea[i] = pbig_area[i] ;</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> pfwhms[i] = pbig_fwhms[i] ;</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> }</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> }</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> cpl_vector_delete(big_detected) ;</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> cpl_vector_delete(big_area) ;</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> cpl_vector_delete(big_fwhms) ;</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> </div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> <span class="keywordflow">if</span> (fwhms_out == NULL) cpl_vector_delete(fwhms) ;</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="keywordflow">else</span> *fwhms_out = fwhms ;</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="keywordflow">if</span> (areas_out == NULL) cpl_vector_delete(area) ;</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="keywordflow">else</span> *areas_out = area ;</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="keywordflow">return</span> detected ;</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> }</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> </div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="keyword">static</span> <span class="keywordtype">int</span> select_valid_spectra(</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> cpl_image * in,</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> cpl_apertures * aperts,</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="keywordtype">int</span> offset,</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> spec_shadows shadows,</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="keywordtype">int</span> max_spec_width,</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="keywordtype">int</span> * n_valid_specs,</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="keywordtype">int</span> ** valid_specs)</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> {</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <span class="keywordtype">int</span> nb_aperts ;</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> <span class="keywordtype">int</span> i, j ;</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> </div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="comment">/* Initialise */</span></div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> *valid_specs = NULL ;</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> nb_aperts = cpl_apertures_get_size(aperts) ;</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> *n_valid_specs = 0 ;</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> </div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="keywordflow">if</span> (nb_aperts < 1) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> </div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="comment">/* Count nb of valid specs */</span></div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> j = 0 ;</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <span class="keywordflow">for</span> (i=0 ; i<nb_aperts ; i++)</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="keywordflow">if</span> (valid_spectrum(in, aperts, offset, shadows, max_spec_width,</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> i+1)) (*n_valid_specs)++ ;</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> </div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> <span class="comment">/* Associate to each spectrum, its object number */</span></div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="keywordflow">if</span> (*n_valid_specs) {</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> *valid_specs = cpl_calloc(*n_valid_specs, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)) ;</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> j = 0 ;</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> <span class="keywordflow">for</span> (i=0 ; i<nb_aperts ; i++)</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> <span class="keywordflow">if</span> (valid_spectrum(in, aperts, offset, shadows, max_spec_width,</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> i+1)) {</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> (*valid_specs)[j] = i ;</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> j++ ;</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> }</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> } <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> </div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> }</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> </div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> <span class="keyword">static</span> <span class="keywordtype">int</span> valid_spectrum(</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> cpl_image * in,</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> cpl_apertures * aperts,</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> <span class="keywordtype">int</span> offset,</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> spec_shadows shadows,</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="keywordtype">int</span> max_spec_width,</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <span class="keywordtype">int</span> objnum)</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> {</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> <span class="keywordtype">int</span> objwidth ;</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> <span class="keywordtype">double</span> valover, valunder, valcenter ;</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> </div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="comment">/* Find objwidth */</span></div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> objwidth = cpl_apertures_get_top(aperts, objnum) -</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> cpl_apertures_get_bottom(aperts, objnum) + 1 ;</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> <span class="keywordflow">if</span> (objwidth > max_spec_width) {</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> cpl_msg_error(cpl_func, <span class="stringliteral">"object is too wide"</span>) ;</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> }</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> </div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="comment">/* Object is too small */</span></div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> <span class="keywordflow">if</span> (cpl_apertures_get_npix(aperts, objnum) < 2) <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> </div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <span class="comment">/* no shadow required */</span></div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="keywordflow">if</span> (shadows == NO_SHADOW) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> </div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <span class="comment">/* Get the median of the object (valcenter) */</span></div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> valcenter = cpl_apertures_get_median(aperts, objnum) ;</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> </div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="comment">/* Get the black shadows medians (valunder and valover) */</span></div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <span class="keywordflow">if</span> (cpl_apertures_get_bottom(aperts, objnum) - offset < 1) valunder = 0.0 ;</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> <span class="keywordflow">else</span> valunder = cpl_image_get_median_window(in, 1,</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> cpl_apertures_get_bottom(aperts, objnum) - offset, 1, </div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> cpl_apertures_get_top(aperts, objnum) - offset) ;</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> </div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="keywordflow">if</span> (cpl_apertures_get_top(aperts, objnum) + offset > 1024) valover = 0.0 ;</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="keywordflow">else</span> valover = cpl_image_get_median_window(in, 1,</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> cpl_apertures_get_bottom(aperts, objnum) + offset, 1, </div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> cpl_apertures_get_top(aperts, objnum) + offset) ;</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> </div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="keywordflow">switch</span> (shadows) {</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <span class="keywordflow">case</span> TWO_SHADOWS:</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="keywordflow">if</span> ((valunder < -fabs(valcenter/SPEC_SHADOW_FACT)) &&</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> (valover < -fabs(valcenter/SPEC_SHADOW_FACT)) &&</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> (valunder/valover > 0.5) &&</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> (valunder/valover < 2.0)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> </div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> <span class="keywordflow">case</span> ONE_SHADOW:</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> <span class="keywordflow">if</span> ((valunder < -fabs(valcenter/SPEC_SHADOW_FACT)) ||</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> (valover < -fabs(valcenter/SPEC_SHADOW_FACT))) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> </div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> <span class="keywordflow">case</span> NO_SHADOW:</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> </div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> cpl_msg_error(cpl_func, <span class="stringliteral">"unknown spec_detect_mode"</span>) ;</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> break ;</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> }</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> </div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> cpl_msg_debug(cpl_func, <span class="stringliteral">"No spectrum(%d): under=%g, center=%g, over=%g"</span>,</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> shadows, valunder, valcenter, valover);</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> </div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__spectrum_8h_source.html b/html/irplib__spectrum_8h_source.html
deleted file mode 100644
index 21efc8b..0000000
--- a/html/irplib__spectrum_8h_source.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_spectrum.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_spectrum.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_spectrum.h,v 1.7 2009/07/30 12:38:37 yjung Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: yjung $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2009/07/30 12:38:37 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.7 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef IRPLIB_SPECTRUM_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_SPECTRUM_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> New types</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keyword">typedef</span> <span class="keyword">enum</span> SPEC_SHADOWS {</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/* 2 shadows above and below true spectrum */</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> TWO_SHADOWS,</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">/* 1 shadow at specified distance from spectrum */</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> ONE_SHADOW,</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/* Do not search for shadow */</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> NO_SHADOW</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> } spec_shadows ;</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> Prototypes</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">int</span> <a class="code" href="group__irplib__spectrum.html#ga9ac928ba9a48e864b56e921c970638c0" title="Finds the brightest spectrum in an image.">irplib_spectrum_find_brightest</a>(<span class="keyword">const</span> cpl_image *, <span class="keywordtype">int</span>, spec_shadows, </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">double</span>, <span class="keywordtype">int</span>, <span class="keywordtype">double</span> *) ;</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> cpl_vector * <a class="code" href="group__irplib__spectrum.html#ga1885902c29d7383674c85e2c3d935961" title="Detect the brightest features in a spectrum.">irplib_spectrum_detect_peaks</a>(<span class="keyword">const</span> cpl_vector *, <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">double</span>, <span class="keywordtype">int</span>, cpl_vector **, cpl_vector **) ;</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__stdstar_8c_source.html b/html/irplib__stdstar_8c_source.html
deleted file mode 100644
index 5904958..0000000
--- a/html/irplib__stdstar_8c_source.html
+++ /dev/null
@@ -1,761 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_stdstar.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_stdstar.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_stdstar.c,v 1.45 2013/03/01 10:27:07 llundin Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: llundin $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2013/03/01 10:27:07 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.45 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "irplib_stdstar.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "irplib_utils.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "irplib_wcs.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <float.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#if defined CPL_VERSION_CODE && CPL_VERSION_CODE >= CPL_VERSION(6, 3, 0)</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_FRAMESET_GET_CONST cpl_frameset_get_position_const</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor"></span><span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"></span><span class="comment">/* Remove this branch once CPL versions less than 6.3 are no longer supported */</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#define IRPLIB_FRAMESET_GET_CONST cpl_frameset_get_frame_const</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> cpl_error_code</div>
-<div class="line"><a name="l00089"></a><span class="lineno"><a class="code" href="group__irplib__stdstar.html#gac18c92be3d3c96ba57804b074a2abb7d"> 89</a></span> <a class="code" href="group__irplib__stdstar.html#gac18c92be3d3c96ba57804b074a2abb7d" title="Write the ASCII catalogs as FITS files.">irplib_stdstar_write_catalogs</a>(cpl_frameset * set_in,</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keyword">const</span> cpl_frameset * set_raw,</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * recipe_name,</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * pro_cat,</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * pro_type,</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * package_name,</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * ins_name,</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> cpl_table * (*convert_ascii_table)(<span class="keyword">const</span> <span class="keywordtype">char</span> *))</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> {</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment">/* Number of catalogs */</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">const</span> cpl_size nb_catalogs = cpl_frameset_get_size(set_raw);</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> cpl_propertylist * plist_ext;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">char</span> * out_name;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> cpl_error_code error = CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> cpl_size i;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment">/* Check entries */</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordflow">if</span> (set_in == NULL) <span class="keywordflow">return</span> cpl_error_set(cpl_func, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordflow">if</span> (set_raw == NULL) <span class="keywordflow">return</span> cpl_error_set(cpl_func, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordflow">if</span> (recipe_name == NULL) <span class="keywordflow">return</span> cpl_error_set(cpl_func, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keywordflow">if</span> (pro_cat == NULL) <span class="keywordflow">return</span> cpl_error_set(cpl_func, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordflow">if</span> (ins_name == NULL) <span class="keywordflow">return</span> cpl_error_set(cpl_func, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordflow">if</span> (convert_ascii_table == NULL) <span class="keywordflow">return</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> cpl_error_set(cpl_func, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment">/* Define the file name */</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> out_name = cpl_sprintf(<span class="stringliteral">"%s"</span> CPL_DFS_FITS, recipe_name);</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> plist_ext = cpl_propertylist_new();</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">/* Process the catalogs */</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordflow">for</span> (i = 0; i < nb_catalogs; i++) {</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment">/* Get the catalog name */</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keyword">const</span> cpl_frame * cur_frame = IRPLIB_FRAMESET_GET_CONST(set_raw, i);</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * cat_name = cpl_frame_get_filename(cur_frame);</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> cpl_table * out = convert_ascii_table(cat_name);</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">/* Create the output table */</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordflow">if</span> (out == NULL) {</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> error = cpl_error_get_code() ? cpl_error_set_where(cpl_func)</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> : cpl_error_set(cpl_func, CPL_ERROR_UNSPECIFIED);</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> }</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keywordflow">if</span> (cpl_table_get_nrow(out) == 0) {</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> cpl_table_delete(out);</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> error = cpl_error_set_message(cpl_func, CPL_ERROR_DATA_NOT_FOUND,</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="stringliteral">"Empty catalogue %d in '%s'"</span>,</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> (<span class="keywordtype">int</span>)i+1, cat_name);</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> }</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> cpl_propertylist_update_string(plist_ext, <span class="stringliteral">"EXTNAME"</span>, cat_name);</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment">/* Write the table */</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordflow">if</span> (i == 0) {</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> cpl_parameterlist * parlist = cpl_parameterlist_new();</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> cpl_propertylist * plist = cpl_propertylist_new();</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment">/* Mandatory keywords */</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> cpl_propertylist_append_string(plist, <span class="stringliteral">"INSTRUME"</span>, ins_name);</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> cpl_propertylist_append_string(plist, CPL_DFS_PRO_CATG, pro_cat);</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keywordflow">if</span> (pro_type != NULL) {</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> cpl_propertylist_append_string(plist, CPL_DFS_PRO_TYPE,</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> pro_type);</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> }</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> error = cpl_dfs_save_table(set_in, NULL, parlist, set_raw, NULL,</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> out, plist_ext, recipe_name, plist,</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> NULL, package_name, out_name);</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> cpl_parameterlist_delete(parlist);</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> cpl_propertylist_delete(plist);</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> error = cpl_table_save(out, NULL, plist_ext, out_name,</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> CPL_IO_EXTEND);</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> }</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> cpl_table_delete(out);</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keywordflow">if</span> (error) {</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> (void)cpl_error_set_where(cpl_func);</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> }</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> }</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> cpl_propertylist_delete(plist_ext);</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> cpl_free(out_name);</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">return</span> error;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> }</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"><a class="code" href="group__irplib__stdstar.html#ga1690bd84c24e905e384b8f725bf7aff1"> 195</a></span> cpl_table * <a class="code" href="group__irplib__stdstar.html#ga1690bd84c24e905e384b8f725bf7aff1" title="Load the FITS catalog in a table.">irplib_stdstar_load_catalog</a>(</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * filename, </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * ext_name)</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> {</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keywordtype">int</span> next;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> cpl_propertylist * plist;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * cur_name;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> cpl_table * out;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> cpl_table * out_cur;</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> cpl_frame * cur_frame;</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="comment">/* Check entries */</span></div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keywordflow">if</span> (filename == NULL) <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keywordflow">if</span> (ext_name == NULL) <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="comment">/* Initialise */</span></div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> out = NULL;</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="comment">/* Get the number of extensions in the catalog */</span></div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> cur_frame = cpl_frame_new();</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> cpl_frame_set_filename(cur_frame, filename);</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> next = cpl_frame_get_nextensions(cur_frame);</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> cpl_frame_delete(cur_frame);</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="comment">/* Loop on the extentions */</span></div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keywordflow">for</span> (i=0; i<next; i++) {</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment">/* Check the name of the current extension */</span></div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keywordflow">if</span> ((plist = cpl_propertylist_load_regexp(filename, i+1, <span class="stringliteral">"EXTNAME"</span>, </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> 0)) == NULL) {</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot load header of %d th extension"</span>,</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> i+1);</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> }</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> cur_name = cpl_propertylist_get_string(plist, <span class="stringliteral">"EXTNAME"</span>);</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="comment">/* Check the current extension */</span></div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordflow">if</span> (!strcmp(cur_name, ext_name)) {</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="comment">/* Load the table */</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordflow">if</span> (out == NULL) {</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> out = cpl_table_load(filename, i+1, 1);</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> cpl_table_new_column(out, IRPLIB_STDSTAR_CAT_COL, CPL_TYPE_STRING);</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> cpl_table_fill_column_window_string(out, IRPLIB_STDSTAR_CAT_COL,</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> 0, cpl_table_get_nrow(out),</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> cur_name);</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordflow">if</span> (out == NULL) {</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot load extension %d"</span>, i+1);</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> cpl_propertylist_delete(plist);</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> }</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> }</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(ext_name, <span class="stringliteral">"all"</span>)) {</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="comment">/* Load the table and append it */</span></div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="keywordflow">if</span> (i==0) {</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="comment">/* Load the first table */</span></div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> out = cpl_table_load(filename, i+1, 1);</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> cpl_table_new_column(out, IRPLIB_STDSTAR_CAT_COL, CPL_TYPE_STRING);</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> cpl_table_fill_column_window_string(out, IRPLIB_STDSTAR_CAT_COL,</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> 0, cpl_table_get_nrow(out),</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> cur_name);</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keywordflow">if</span> (out == NULL) {</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot load extension %d"</span>, i+1);</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> cpl_propertylist_delete(plist); </div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> }</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="comment">/* Load the current table */</span></div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> out_cur = cpl_table_load(filename, i+1, 1);</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">if</span> (out_cur == NULL) {</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot load extension %d"</span>, i+1);</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> cpl_table_delete(out);</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> cpl_propertylist_delete(plist); </div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> }</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> cpl_table_new_column(out_cur, IRPLIB_STDSTAR_CAT_COL, CPL_TYPE_STRING);</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> cpl_table_fill_column_window_string(out_cur, IRPLIB_STDSTAR_CAT_COL,</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> 0, cpl_table_get_nrow(out_cur),</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> cur_name);</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="comment">/* Append the table */</span></div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="keywordflow">if</span> (cpl_table_insert(out, out_cur, </div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> cpl_table_get_nrow(out)) != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot merge table %d"</span>, i+1);</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> cpl_table_delete(out);</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> cpl_table_delete(out_cur);</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> cpl_propertylist_delete(plist); </div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> }</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> cpl_table_delete(out_cur);</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> }</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> }</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> cpl_propertylist_delete(plist);</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> }</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> }</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> </div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00300"></a><span class="lineno"><a class="code" href="group__irplib__stdstar.html#ga2dbe2031bf6d669778dca42f6c343efc"> 300</a></span> cpl_error_code <a class="code" href="group__irplib__stdstar.html#ga2dbe2031bf6d669778dca42f6c343efc" title="Check that the table has the relevant columns of a stdstar table.">irplib_stdstar_check_columns_exist</a>(</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="keyword">const</span> cpl_table * catal)</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> {</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="comment">/* Check for all the mandatory columns */</span></div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="keywordflow">if</span> (!cpl_table_has_column(catal, IRPLIB_STDSTAR_STAR_COL)) {</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keywordflow">return</span> cpl_error_set_message(cpl_func, CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="stringliteral">"Missing column: %s"</span>,</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> IRPLIB_STDSTAR_STAR_COL);</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> }</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="keywordflow">if</span> (!cpl_table_has_column(catal, IRPLIB_STDSTAR_TYPE_COL)) {</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="keywordflow">return</span> cpl_error_set_message(cpl_func, CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="stringliteral">"Missing column: %s"</span>,</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> IRPLIB_STDSTAR_TYPE_COL);</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> }</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="keywordflow">if</span> (!cpl_table_has_column(catal, IRPLIB_STDSTAR_CAT_COL)) {</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="keywordflow">return</span> cpl_error_set_message(cpl_func, </div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="stringliteral">"Missing column: %s"</span>,</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> IRPLIB_STDSTAR_CAT_COL);</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> }</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="keywordflow">if</span> (!cpl_table_has_column(catal, IRPLIB_STDSTAR_RA_COL)) {</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="keywordflow">return</span> cpl_error_set_message(cpl_func, </div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="stringliteral">"Missing column: %s"</span>,</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> IRPLIB_STDSTAR_RA_COL);</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> }</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="keywordflow">if</span> (!cpl_table_has_column(catal, IRPLIB_STDSTAR_DEC_COL)) {</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="keywordflow">return</span> cpl_error_set_message(cpl_func, </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="stringliteral">"Missing column: %s"</span>,</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> IRPLIB_STDSTAR_DEC_COL);</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> }</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> }</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00348"></a><span class="lineno"><a class="code" href="group__irplib__stdstar.html#ga080e06303f3f83a91959ac01381dc4e8"> 348</a></span> <span class="keywordtype">int</span> <a class="code" href="group__irplib__stdstar.html#ga080e06303f3f83a91959ac01381dc4e8" title="Select the stars that are within a given distance.">irplib_stdstar_select_stars_dist</a>(</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> cpl_table * cat, </div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="keywordtype">double</span> ra, </div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="keywordtype">double</span> dec, </div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="keywordtype">double</span> dist)</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> {</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="keywordtype">double</span> distance;</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="keywordtype">int</span> nrows;</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="comment">/* Check entries */</span></div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="keywordflow">if</span> (cat == NULL) <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> </div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="comment">/* Get the number of selected rows */</span></div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> nrows = cpl_table_get_nrow(cat);</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> </div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="comment">/* Check if the columns are there */</span></div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keywordflow">if</span> (!cpl_table_has_column(cat, IRPLIB_STDSTAR_RA_COL)) {</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Missing %s column"</span>, IRPLIB_STDSTAR_RA_COL);</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> }</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="keywordflow">if</span> (!cpl_table_has_column(cat, IRPLIB_STDSTAR_DEC_COL)) {</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Missing %s column"</span>, IRPLIB_STDSTAR_DEC_COL);</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> }</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="comment">/* Compute distances of the selected rows */</span></div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="keywordflow">for</span> (i=0; i<nrows; i++) {</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="keywordflow">if</span> (cpl_table_is_selected(cat, i)) {</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="comment">/* The row is selected - compute the distance */</span></div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> distance = irplib_wcs_great_circle_dist(ra, dec, </div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> cpl_table_get_double(cat, IRPLIB_STDSTAR_RA_COL, i, NULL),</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> cpl_table_get_double(cat, IRPLIB_STDSTAR_DEC_COL, i, NULL)); </div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="keywordflow">if</span> (distance > dist) cpl_table_unselect_row(cat, i);</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> }</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> }</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> }</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00397"></a><span class="lineno"><a class="code" href="group__irplib__stdstar.html#ga28316d8f0619bdbd0040b1f56799e7ab"> 397</a></span> <span class="keywordtype">int</span> <a class="code" href="group__irplib__stdstar.html#ga28316d8f0619bdbd0040b1f56799e7ab" title="Select the stars that have a known magnitude.">irplib_stdstar_select_stars_mag</a>(</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> cpl_table * cat, </div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * mag_colname)</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> {</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="comment">/* Check entries */</span></div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="keywordflow">if</span> (cat == NULL) <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="keywordflow">if</span> (mag_colname == NULL) <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> </div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="comment">/* Check that the table has the mag column */</span></div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="keywordflow">if</span> (!cpl_table_has_column(cat, mag_colname)) {</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Column %s does not exist in the catalog"</span>,</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> mag_colname);</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> }</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> </div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="comment">/* Apply the selection */</span></div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="keywordflow">if</span> (cpl_table_and_selected_double(cat, mag_colname, CPL_NOT_GREATER_THAN, </div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> 98.0) <= 0) {</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Column %s does not exist in the catalog"</span>,</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> mag_colname);</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> }</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> }</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> </div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00433"></a><span class="lineno"><a class="code" href="group__irplib__stdstar.html#ga36b4c90fd548dd0c00afe97b17a558e5"> 433</a></span> <span class="keywordtype">int</span> <a class="code" href="group__irplib__stdstar.html#ga36b4c90fd548dd0c00afe97b17a558e5" title="Find the closest star.">irplib_stdstar_find_closest</a>(</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="keyword">const</span> cpl_table * cat, </div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="keywordtype">double</span> ra, </div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="keywordtype">double</span> dec)</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> {</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <span class="keywordtype">double</span> min_dist, distance;</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> <span class="keywordtype">int</span> nrows;</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="keywordtype">int</span> ind;</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> </div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="comment">/* Check entries */</span></div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="keywordflow">if</span> (cat == NULL) <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> </div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="comment">/* Initialize */</span></div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> min_dist = 1000.0;</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> ind = -1;</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="comment">/* Get the number of selected rows */</span></div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> nrows = cpl_table_get_nrow(cat);</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> </div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="comment">/* Check if the columns are there */</span></div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="keywordflow">if</span> (!cpl_table_has_column(cat, IRPLIB_STDSTAR_RA_COL)) {</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Missing %s column"</span>, IRPLIB_STDSTAR_RA_COL);</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> }</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="keywordflow">if</span> (!cpl_table_has_column(cat, IRPLIB_STDSTAR_DEC_COL)) {</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Missing %s column"</span>, IRPLIB_STDSTAR_DEC_COL);</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> }</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> </div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <span class="comment">/* Compute distances of the selected rows */</span></div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="keywordflow">for</span> (i=0; i<nrows; i++) {</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="keywordflow">if</span> (cpl_table_is_selected(cat, i)) {</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="comment">/* The row is selected - compute the distance */</span></div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> distance = irplib_wcs_great_circle_dist(ra, dec,</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> cpl_table_get_double(cat, IRPLIB_STDSTAR_RA_COL, i, NULL),</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> cpl_table_get_double(cat, IRPLIB_STDSTAR_DEC_COL, i, NULL));</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="keywordflow">if</span> (distance <= min_dist) {</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> min_dist = distance;</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> ind = i;</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> }</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> }</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> }</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="keywordflow">return</span> ind;</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> }</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> </div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00501"></a><span class="lineno"><a class="code" href="group__irplib__stdstar.html#ga4d69ae957de04b1769ac225f12834027"> 501</a></span> cpl_error_code <a class="code" href="group__irplib__stdstar.html#ga4d69ae957de04b1769ac225f12834027" title="Find the closest star to ra, dec in the catalog.">irplib_stdstar_find_star</a>(</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * catfile,</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="keywordtype">double</span> ra, </div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="keywordtype">double</span> dec,</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * band,</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * catname,</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="keywordtype">double</span> * mag,</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> <span class="keywordtype">char</span> ** name,</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="keywordtype">char</span> ** type,</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="keywordtype">char</span> ** usedcatname,</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <span class="keywordtype">double</span> * star_ra,</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="keywordtype">double</span> * star_dec,</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="keywordtype">double</span> dist_am)</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> {</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> cpl_errorstate prestate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> cpl_table * catal;</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <span class="keyword">const</span> <span class="keywordtype">double</span> dist = dist_am / 60.0;</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> <span class="keywordtype">int</span> ind;</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> </div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> <span class="comment">/* Check entries */</span></div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="keywordflow">if</span> (catfile == NULL) <span class="keywordflow">return</span> cpl_error_set(cpl_func, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> <span class="keywordflow">if</span> (band == NULL) <span class="keywordflow">return</span> cpl_error_set(cpl_func, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> <span class="keywordflow">if</span> (catname == NULL) <span class="keywordflow">return</span> cpl_error_set(cpl_func, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> </div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> <span class="comment">/* Load the catalog */</span></div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="keywordflow">if</span> ((catal = <a class="code" href="group__irplib__stdstar.html#ga1690bd84c24e905e384b8f725bf7aff1" title="Load the FITS catalog in a table.">irplib_stdstar_load_catalog</a>(catfile, catname)) == NULL) {</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="keywordflow">return</span> cpl_error_set_message(cpl_func, CPL_ERROR_FILE_NOT_FOUND,</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> <span class="stringliteral">"Cannot load the catalog %s from %s"</span>,</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> catname, catfile);</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> }</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> </div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> <span class="comment">/* Check the columns are present */</span></div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="keywordflow">if</span> (<a class="code" href="group__irplib__stdstar.html#ga2dbe2031bf6d669778dca42f6c343efc" title="Check that the table has the relevant columns of a stdstar table.">irplib_stdstar_check_columns_exist</a>(catal) != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> cpl_table_delete(catal);</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> <span class="keywordflow">return</span> cpl_error_set_where(cpl_func);</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> }</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> </div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="comment">/* Select stars with known magnitude */</span></div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> <span class="keywordflow">if</span> (<a class="code" href="group__irplib__stdstar.html#ga28316d8f0619bdbd0040b1f56799e7ab" title="Select the stars that have a known magnitude.">irplib_stdstar_select_stars_mag</a>(catal, band) == -1) {</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> cpl_table_delete(catal);</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> <span class="keywordflow">return</span> cpl_error_set_message(cpl_func, CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> <span class="stringliteral">"Cannot select stars in that band"</span>);</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> }</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> </div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> <span class="comment">/* Select stars within a given distance */</span></div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="keywordflow">if</span> (<a class="code" href="group__irplib__stdstar.html#ga080e06303f3f83a91959ac01381dc4e8" title="Select the stars that are within a given distance.">irplib_stdstar_select_stars_dist</a>(catal, ra, dec, dist) == -1) {</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> cpl_table_delete(catal);</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <span class="keywordflow">return</span> cpl_error_set_message(cpl_func, CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <span class="stringliteral">"Cannot select close stars"</span>);</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> }</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> </div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> <span class="comment">/* Take the closest */</span></div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="keywordflow">if</span> ((ind=<a class="code" href="group__irplib__stdstar.html#ga36b4c90fd548dd0c00afe97b17a558e5" title="Find the closest star.">irplib_stdstar_find_closest</a>(catal, ra, dec)) < 0) {</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> cpl_table_delete(catal);</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> <span class="keywordflow">return</span> cpl_error_set_message(cpl_func, CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> <span class="stringliteral">"Cannot get the closest star with "</span></div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> <span class="stringliteral">"known %s magnitude"</span>,band);</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> }</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> </div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="keywordflow">if</span>(mag != NULL)</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> *mag = cpl_table_get_double(catal, band, ind, NULL);</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> </div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <span class="keywordflow">if</span>(name != NULL)</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> {</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> *name = cpl_strdup(cpl_table_get_string(catal,</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> IRPLIB_STDSTAR_STAR_COL, ind));</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> </div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> }</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> <span class="keywordflow">if</span>(type != NULL)</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> {</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> *type = cpl_strdup(cpl_table_get_string(catal, IRPLIB_STDSTAR_TYPE_COL,</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> ind));</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> }</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> <span class="keywordflow">if</span>(usedcatname != NULL)</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> {</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="keywordflow">if</span>(strcmp(catname, <span class="stringliteral">"all"</span>))</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> *usedcatname = cpl_strdup(catname);</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> {</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> *usedcatname = cpl_strdup(cpl_table_get_string</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> (catal, IRPLIB_STDSTAR_CAT_COL, ind));</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> }</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> }</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <span class="keywordflow">if</span>(star_ra != NULL)</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> *star_ra = cpl_table_get_double(catal, IRPLIB_STDSTAR_RA_COL, ind, NULL);</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <span class="keywordflow">if</span>(star_dec != NULL)</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> *star_dec = cpl_table_get_double(catal, IRPLIB_STDSTAR_DEC_COL, ind, NULL);</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> </div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> <span class="comment">/* Free and return */</span></div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> cpl_table_delete(catal);</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> <span class="keywordflow">return</span> cpl_errorstate_is_equal(prestate) ? CPL_ERROR_NONE</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> : cpl_error_set_where(cpl_func);</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> }</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> </div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00609"></a><span class="lineno"><a class="code" href="group__irplib__stdstar.html#ga93b46d8ac857a0d0fdc781b56a91a8ba"> 609</a></span> cpl_vector * <a class="code" href="group__irplib__stdstar.html#ga93b46d8ac857a0d0fdc781b56a91a8ba" title="Get the conversion.">irplib_stdstar_get_conversion</a>(</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> <span class="keyword">const</span> cpl_bivector * spec,</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> <span class="keywordtype">double</span> dit,</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="keywordtype">double</span> surface,</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="keywordtype">double</span> gain,</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <span class="keywordtype">double</span> mag)</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> {</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="keywordtype">double</span> h = 6.62e-27;</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="keywordtype">double</span> c = 3e18;</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="keyword">const</span> cpl_vector * wave;</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="keyword">const</span> cpl_vector * extr;</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> cpl_vector * out;</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> <span class="keywordtype">double</span> factor;</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> </div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> <span class="keywordflow">if</span> (spec == NULL) <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> <span class="keywordflow">if</span> (dit <= 0.0) <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> </div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> <span class="comment">/* Get the extracted spectrum */</span></div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> wave = cpl_bivector_get_x_const(spec);</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> extr = cpl_bivector_get_y_const(spec);</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> </div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="comment">/* Get the spectrum */</span></div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> out = cpl_vector_duplicate(extr);</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> </div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> <span class="comment">/* Divide by DIT */</span></div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> cpl_vector_divide_scalar(out, dit);</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> </div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> <span class="comment">/* Divide by the surface */</span></div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> cpl_vector_divide_scalar(out, surface);</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> </div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="comment">/* Multiply by the gain */</span></div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> cpl_vector_multiply_scalar(out, gain);</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> </div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> <span class="comment">/* Multiply by the difference magnitude */</span></div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> factor = pow(10, mag/2.5);</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> cpl_vector_multiply_scalar(out, factor);</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> </div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> <span class="comment">/* Divide by the dispersion */</span></div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> factor = (cpl_vector_get(wave, cpl_vector_get_size(wave)-1) -</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> cpl_vector_get(wave, 0)) / cpl_vector_get_size(wave);</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> cpl_vector_divide_scalar(out, factor);</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> </div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> <span class="comment">/* Multiply by the energy of the photon */</span></div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> cpl_vector_multiply_scalar(out, h*c);</div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> cpl_vector_divide(out, wave);</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> </div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> }</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> </div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00668"></a><span class="lineno"><a class="code" href="group__irplib__stdstar.html#ga6e68e6a9d0bbb41ef717234b9f289dab"> 668</a></span> cpl_vector * <a class="code" href="group__irplib__stdstar.html#ga6e68e6a9d0bbb41ef717234b9f289dab" title="Get the 0 magnitude spectrum.">irplib_stdstar_get_mag_zero</a>(</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="keyword">const</span> cpl_bivector * sed,</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> <span class="keyword">const</span> cpl_vector * waves,</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> <span class="keywordtype">double</span> cent_wl)</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> {</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> <span class="keywordtype">double</span> wmin, wmax, wstep;</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> <span class="keywordtype">int</span> nb_sed;</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> <span class="keyword">const</span> <span class="keywordtype">double</span> * sed_x;</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> <span class="keyword">const</span> <span class="keywordtype">double</span> * sed_y;</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> cpl_bivector * sed_loc;</div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> <span class="keywordtype">double</span> * sed_loc_x;</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> <span class="keywordtype">double</span> * sed_loc_y;</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> cpl_vector * out;</div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> cpl_bivector * out_biv;</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> <span class="keywordtype">double</span> f0_jan, f0_erg, cent_val;</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> </div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> <span class="keywordflow">if</span> (sed == NULL) <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> <span class="keywordflow">if</span> (waves == NULL) <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> </div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> <span class="comment">/* Initialise */</span></div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> nb_sed = cpl_bivector_get_size(sed);</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> sed_x = cpl_bivector_get_x_data_const(sed);</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> sed_y = cpl_bivector_get_y_data_const(sed);</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> wstep = sed_x[1] - sed_x[0];</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> wmin = cpl_vector_get(waves, 0);</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> wmax = cpl_vector_get(waves, cpl_vector_get_size(waves)-1);</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> </div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> <span class="comment">/* Expand sed with 0 to have it bigger than the required wavelengths */</span></div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> sed_loc = cpl_bivector_new(nb_sed + 4);</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> sed_loc_x = cpl_bivector_get_x_data(sed_loc);</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> sed_loc_y = cpl_bivector_get_y_data(sed_loc);</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> <span class="keywordflow">for</span> (i=0; i<nb_sed; i++) {</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> sed_loc_x[i+2] = sed_x[i];</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> sed_loc_y[i+2] = sed_y[i];</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> }</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> </div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> <span class="comment">/* Low bound */</span></div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> sed_loc_x[1] = sed_loc_x[2] - wstep;</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> <span class="keywordflow">if</span> (sed_loc_x[2] < wmin) {</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> sed_loc_x[0] = sed_loc_x[1] - wstep;</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> sed_loc_x[0] = wmin - wstep;</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> }</div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> sed_loc_y[0] = 1e-20;</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> sed_loc_y[1] = 1e-20;</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> </div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> <span class="comment">/* High bound */</span></div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> sed_loc_x[nb_sed+2] = sed_loc_x[nb_sed+1] + wstep;</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> <span class="keywordflow">if</span> (sed_loc_x[nb_sed+1] > wmax) {</div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> sed_loc_x[nb_sed+3] = sed_loc_x[nb_sed+2] + wstep;</div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> sed_loc_x[nb_sed+3] = wmax + wstep;</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> }</div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> sed_loc_y[nb_sed+2] = 1e-20;</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> sed_loc_y[nb_sed+3] = 1e-20;</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> </div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> <span class="comment">/* Create the output bivector */</span></div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> out = cpl_vector_duplicate(waves);</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> IRPLIB_DIAG_PRAGMA_PUSH_IGN(-Wcast-qual);</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> <span class="comment">/* the X entry (waves) is not modified by cpl_bivector_interpolate_linear */</span></div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> out_biv = cpl_bivector_wrap_vectors((cpl_vector*)waves, out);</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> IRPLIB_DIAG_PRAGMA_POP;</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> <span class="comment">/* Interpolate */</span></div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> <span class="keywordflow">if</span> (cpl_bivector_interpolate_linear(out_biv, sed_loc) != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot interpolate the wavelength"</span>);</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> cpl_bivector_unwrap_vectors(out_biv);</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> cpl_vector_delete(out);</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> cpl_bivector_delete(sed_loc);</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> }</div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> cpl_bivector_unwrap_vectors(out_biv);</div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> cpl_bivector_delete(sed_loc);</div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> </div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> <span class="comment">/* Compute f0_jan */</span></div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> f0_jan = 5513.15 / ( pow(cent_wl,3) * (exp(1.2848/cent_wl)-1) );</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> </div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> <span class="comment">/* Convert f0 Jansky -> ergs/s/cm^2/Angstrom */</span></div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> f0_erg = f0_jan * 1e-26 * 1e7 * 3e18 / (1e4 * cent_wl*cent_wl*1e4*1e4);</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> </div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="comment">/* Scale out so that the central value is f0 */</span></div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> cent_val = cpl_vector_get(out, cpl_vector_get_size(out)/2);</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="keywordflow">if</span> (cent_val <= 0.0) {</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Negative or 0 central value"</span>);</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> cpl_vector_delete(out);</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> }</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> cpl_vector_multiply_scalar(out, f0_erg/cent_val);</div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> </div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> }</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> </div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00773"></a><span class="lineno"><a class="code" href="group__irplib__stdstar.html#gabbad67ff18cb901914caa9e864969dea"> 773</a></span> cpl_bivector * <a class="code" href="group__irplib__stdstar.html#gabbad67ff18cb901914caa9e864969dea" title="Get the SED.">irplib_stdstar_get_sed</a>(</div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * seds_file,</div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sptype)</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> {</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> cpl_table * seds;</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> cpl_bivector * out;</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> cpl_vector * wave;</div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> cpl_vector * sed;</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> cpl_bivector * tmp;</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> <span class="keywordtype">int</span> nlines;</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> </div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> <span class="keywordflow">if</span> (seds_file == NULL) <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> <span class="keywordflow">if</span> (sptype == NULL) <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> </div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> <span class="comment">/* Load the table */</span></div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> <span class="keywordflow">if</span> ((seds = cpl_table_load(seds_file, 1, 0)) == NULL) {</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot load the table"</span>);</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> }</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> </div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> <span class="comment">/* Check if the column is there */</span></div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> <span class="keywordflow">if</span> (!cpl_table_has_column(seds, sptype)) {</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> cpl_msg_error(cpl_func, <span class="stringliteral">"SED of the requested star not available"</span>);</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> cpl_table_delete(seds);</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> }</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> </div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> <span class="comment">/* Get the nb lines */</span></div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> nlines = cpl_table_get_nrow(seds);</div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> </div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> <span class="comment">/* Get the wavelength as a vector */</span></div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> <span class="keywordflow">if</span> ((wave = cpl_vector_wrap(nlines,</div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> cpl_table_get_data_double(seds, <span class="stringliteral">"Wavelength"</span>))) == NULL) {</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot get the Wavelength column"</span>);</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> cpl_table_delete(seds);</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> }</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> </div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> <span class="comment">/* Get the SED as a vector */</span></div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> <span class="keywordflow">if</span> ((sed = cpl_vector_wrap(nlines,</div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> cpl_table_get_data_double(seds, sptype))) == NULL) {</div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot get the SED column"</span>);</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> cpl_table_delete(seds);</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> cpl_vector_unwrap(wave);</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> }</div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> tmp = cpl_bivector_wrap_vectors(wave, sed);</div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> </div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> <span class="comment">/* Create the output bivector */</span></div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> out = cpl_bivector_duplicate(tmp);</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> </div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> <span class="comment">/* Free */</span></div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> cpl_bivector_unwrap_vectors(tmp);</div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> cpl_vector_unwrap(wave);</div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> cpl_vector_unwrap(sed);</div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> cpl_table_delete(seds);</div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> </div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__stdstar_8h_source.html b/html/irplib__stdstar_8h_source.html
deleted file mode 100644
index af30761..0000000
--- a/html/irplib__stdstar_8h_source.html
+++ /dev/null
@@ -1,127 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_stdstar.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_stdstar.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_stdstar.h,v 1.16 2013/02/27 10:37:52 llundin Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: llundin $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2013/02/27 10:37:52 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.16 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef IRPLIB_STDSTAR_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_STDSTAR_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#define IRPLIB_STDSTAR_STAR_COL "STARS"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_STDSTAR_TYPE_COL "SP_TYPE"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_STDSTAR_RA_COL "RA"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_STDSTAR_DEC_COL "DEC"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_STDSTAR_CAT_COL "CATALOG"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/* Maximum allowed distance [arc minutes] between observation and</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> catalogue coordinates */</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#define IRPLIB_STDSTAR_MAXDIST 2.0</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">/* Magical value to indicate an invalid magnitude */</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#define IRPLIB_STDSTAR_NOMAG 99.0</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/* Use this limit in comparisons regarding an invalid magnitude */</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#define IRPLIB_STDSTAR_LIMIT (IRPLIB_STDSTAR_NOMAG-1.0)</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> Function prototypes</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> cpl_error_code</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <a class="code" href="group__irplib__stdstar.html#gac18c92be3d3c96ba57804b074a2abb7d" title="Write the ASCII catalogs as FITS files.">irplib_stdstar_write_catalogs</a>(cpl_frameset *, <span class="keyword">const</span> cpl_frameset *,</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> cpl_table * (*)(<span class="keyword">const</span> <span class="keywordtype">char</span> *));</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> cpl_table * <a class="code" href="group__irplib__stdstar.html#ga1690bd84c24e905e384b8f725bf7aff1" title="Load the FITS catalog in a table.">irplib_stdstar_load_catalog</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *);</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> cpl_error_code <a class="code" href="group__irplib__stdstar.html#ga2dbe2031bf6d669778dca42f6c343efc" title="Check that the table has the relevant columns of a stdstar table.">irplib_stdstar_check_columns_exist</a>(<span class="keyword">const</span> cpl_table *);</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">int</span> <a class="code" href="group__irplib__stdstar.html#ga080e06303f3f83a91959ac01381dc4e8" title="Select the stars that are within a given distance.">irplib_stdstar_select_stars_dist</a>(cpl_table *, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">int</span> <a class="code" href="group__irplib__stdstar.html#ga28316d8f0619bdbd0040b1f56799e7ab" title="Select the stars that have a known magnitude.">irplib_stdstar_select_stars_mag</a>(cpl_table *, <span class="keyword">const</span> <span class="keywordtype">char</span> *);</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">int</span> <a class="code" href="group__irplib__stdstar.html#ga36b4c90fd548dd0c00afe97b17a558e5" title="Find the closest star.">irplib_stdstar_find_closest</a>(<span class="keyword">const</span> cpl_table *, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> cpl_error_code <a class="code" href="group__irplib__stdstar.html#ga4d69ae957de04b1769ac225f12834027" title="Find the closest star to ra, dec in the catalog.">irplib_stdstar_find_star</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keyword">const</span> <span class="keywordtype">char</sp [...]
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keywordtype">double</span> *, <span class="keywordtype">char</span> **, <span class="keywordtype">char</span> **, <span class="keywordtype">char</span> **, </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">double</span> *, <span class="keywordtype">double</span> * , <span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> cpl_vector * <a class="code" href="group__irplib__stdstar.html#ga93b46d8ac857a0d0fdc781b56a91a8ba" title="Get the conversion.">irplib_stdstar_get_conversion</a>(<span class="keyword">const</span> cpl_bivector *, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>,</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">double</span>, <span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> cpl_vector * <a class="code" href="group__irplib__stdstar.html#ga6e68e6a9d0bbb41ef717234b9f289dab" title="Get the 0 magnitude spectrum.">irplib_stdstar_get_mag_zero</a>(<span class="keyword">const</span> cpl_bivector *,</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">const</span> cpl_vector *, <span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> cpl_bivector * <a class="code" href="group__irplib__stdstar.html#gabbad67ff18cb901914caa9e864969dea" title="Get the SED.">irplib_stdstar_get_sed</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *);</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__strehl_8c_source.html b/html/irplib__strehl_8c_source.html
deleted file mode 100644
index 59d9418..0000000
--- a/html/irplib__strehl_8c_source.html
+++ /dev/null
@@ -1,708 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_strehl.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_strehl.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_strehl.c,v 1.43 2009/11/18 21:37:48 llundin Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: llundin $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2009/11/18 21:37:48 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.43 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <assert.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <float.h></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "irplib_utils.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "irplib_strehl.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> Define</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#ifndef IRPLIB_STREHL_RAD_CENTRAL</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_STREHL_RAD_CENTRAL 5</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#define IRPLIB_DISK_BG_MIN_PIX_NB 30</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_DISK_BG_REJ_LOW 0.1</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_DISK_BG_REJ_HIGH 0.1</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keyword">static</span> cpl_image * irplib_strehl_generate_otf(<span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>,</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">int</span>, <span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keyword">static</span> <span class="keywordtype">double</span> PSF_H1(<span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">static</span> <span class="keywordtype">double</span> PSF_H2(<span class="keywordtype">double</span>, <span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">static</span> <span class="keywordtype">double</span> PSF_G(<span class="keywordtype">double</span>, <span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">static</span> <span class="keywordtype">double</span> PSF_sinc(<span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">static</span> <span class="keywordtype">double</span> PSF_TelOTF(<span class="keywordtype">double</span>, <span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">static</span> cpl_error_code update_bad_pixel_map(cpl_image* im);</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> cpl_error_code update_bad_pixel_map(cpl_image* im)</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> {</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">int</span> szx = cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">int</span> szy = cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">int</span> x = 0;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> cpl_mask* bpm = cpl_image_get_bpm(im);</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordflow">for</span> (x = 1; x <=szx; x++)</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> {</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordtype">int</span> y = 0;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordflow">for</span>(y = 1; y <= szy; y++)</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> {</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">int</span> isnull = 0;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">double</span> value = cpl_image_get(im, x, y, &isnull);</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordflow">if</span> (isnan(value))</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> {</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> cpl_mask_set(bpm, x, y, CPL_BINARY_1);</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> }</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> }</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> }</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> }</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> cpl_error_code irplib_strehl_mark_bad_and_compute(cpl_image * im,</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">double</span> m1,</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordtype">double</span> m2,</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordtype">double</span> lam,</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordtype">double</span> dlam,</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordtype">double</span> pscale,</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordtype">int</span> size,</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordtype">double</span> xpos,</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordtype">double</span> ypos,</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordtype">double</span> r1,</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordtype">double</span> r2,</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keywordtype">double</span> r3,</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keywordtype">int</span> noise_box_sz,</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keywordtype">int</span> noise_nsamples,</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keywordtype">double</span> * strehl,</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordtype">double</span> * strehl_err,</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordtype">double</span> * star_bg,</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordtype">double</span> * star_peak,</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordtype">double</span> * star_flux,</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordtype">double</span> * psf_peak,</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keywordtype">double</span> * psf_flux,</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keywordtype">double</span> * bg_noise)</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> {</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> cpl_ensure_code(!update_bad_pixel_map(im), cpl_error_get_code());</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="keywordflow">return</span> irplib_strehl_compute(im, m1, m2, lam, dlam, pscale, size, xpos, ypos,</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> r1,</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> r2,</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> r3,</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> noise_box_sz,</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> noise_nsamples,</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> strehl,</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> strehl_err,</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> star_bg,</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> star_peak,</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> star_flux,</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> psf_peak,</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> psf_flux,</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> bg_noise);</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> }</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> cpl_error_code irplib_strehl_compute(<span class="keyword">const</span> cpl_image * im,</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keywordtype">double</span> m1,</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordtype">double</span> m2,</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keywordtype">double</span> lam,</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="keywordtype">double</span> dlam,</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keywordtype">double</span> pscale,</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keywordtype">int</span> size,</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keywordtype">double</span> xpos,</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordtype">double</span> ypos,</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keywordtype">double</span> r1,</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="keywordtype">double</span> r2,</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keywordtype">double</span> r3,</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keywordtype">int</span> noise_box_sz,</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keywordtype">int</span> noise_nsamples,</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keywordtype">double</span> * strehl,</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordtype">double</span> * strehl_err,</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordtype">double</span> * star_bg,</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keywordtype">double</span> * star_peak,</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordtype">double</span> * star_flux,</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keywordtype">double</span> * psf_peak,</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordtype">double</span> * psf_flux,</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordtype">double</span> * bg_noise)</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> {</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> cpl_image * psf;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="keywordtype">double</span> star_radius, max_radius;</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="comment">/* FIXME: Arbitrary choice of image border */</span></div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keyword">const</span> <span class="keywordtype">double</span> window_size = (double)(IRPLIB_STREHL_RAD_CENTRAL);</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="comment">/* Determined empirically by C. Lidman for Strehl error computation */</span></div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keyword">const</span> <span class="keywordtype">double</span> strehl_error_coefficient = CPL_MATH_PI * 0.007 / 0.0271;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="keywordtype">double</span> ring[4];</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="comment">/* cpl_flux_get_noise_ring() must succeed with this many tries */</span></div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keywordtype">int</span> ring_tries = 3;</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> cpl_errorstate prestate;</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="comment">/* Check compile-time constant */</span></div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> cpl_ensure_code(window_size > 0.0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="comment">/* Test inputs */</span></div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> cpl_ensure_code(im != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> cpl_ensure_code(strehl != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> cpl_ensure_code(strehl_err != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> cpl_ensure_code(star_bg != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> cpl_ensure_code(star_peak != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> cpl_ensure_code(star_flux != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> cpl_ensure_code(psf_peak != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> cpl_ensure_code(psf_flux != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> cpl_ensure_code(pscale > 0.0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> cpl_ensure_code(r1 > 0.0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> cpl_ensure_code(r2 > 0.0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> cpl_ensure_code(r3 > r2, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="comment">/* Computing a Strehl ratio is a story between an ideal PSF */</span></div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="comment">/* and a candidate image supposed to approximate this ideal PSF. */</span></div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="comment">/* Generate first appropriate PSF to find max peak */</span></div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> psf = irplib_strehl_generate_psf(m1, m2, lam, dlam, pscale, size);</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> cpl_ensure_code(psf != NULL, CPL_ERROR_ILLEGAL_OUTPUT);</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="comment">/* Compute flux in PSF and find max peak */</span></div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> *psf_peak = cpl_image_get_max(psf);</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> cpl_image_delete(psf);</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> assert( *psf_peak > 0.0); <span class="comment">/* The ideal PSF has a positive maximum */</span></div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> *psf_flux = 1.0; <span class="comment">/* The psf flux, cpl_image_get_flux(psf), is always 1 */</span></div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="comment">/* Measure the background in the candidate image */</span></div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> *star_bg = irplib_strehl_ring_background(im, xpos, ypos, r2/pscale, r3/pscale,</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> IRPLIB_BG_METHOD_AVER_REJ);</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="comment">/* Compute star_radius in pixels */</span></div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> star_radius = r1/pscale;</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="comment">/* Measure the flux on the candidate image */</span></div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> *star_flux = irplib_strehl_disk_flux(im, xpos, ypos, star_radius, *star_bg);</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> cpl_ensure_code(*star_flux > 0.0, CPL_ERROR_ILLEGAL_OUTPUT);</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="comment">/* Find the peak value on the central part of the candidate image */</span></div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> max_radius = window_size < star_radius ? window_size : star_radius;</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> cpl_ensure_code(!irplib_strehl_disk_max(im, xpos, ypos, max_radius,</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> star_peak), cpl_error_get_code());</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> *star_peak -= *star_bg;</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> cpl_ensure_code(*star_peak > 0.0, CPL_ERROR_ILLEGAL_OUTPUT);</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="comment">/* Compute Strehl */</span></div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="comment">/* (StarPeak / StarFlux) / (PsfPeak / PsfFlux) */</span></div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> *strehl = (*star_peak * *psf_flux ) / ( *star_flux * *psf_peak);</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keywordflow">if</span> (*strehl > 1)</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> cpl_msg_warning(cpl_func, <span class="stringliteral">"Extreme Strehl-ratio=%g, star_peak=%g, "</span></div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="stringliteral">"star_flux=%g, psf_peak=%g, psf_flux=%g"</span>, *strehl,</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> *star_peak, *star_flux, *psf_peak, *psf_flux);</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="comment">/* Compute Strehl error */</span></div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="comment">/* computation could fail if the image contains pixels with NaN value*/</span></div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> ring[0] = xpos;</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> ring[1] = ypos;</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> ring[2] = r2/pscale;</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> ring[3] = r3/pscale;</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="comment">/* FIXME: With CPL 5.1 the recoverable error</span></div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="comment"> will be CPL_ERROR_DATA_NOT_FOUND */</span></div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> prestate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="keywordflow">while</span> (cpl_flux_get_noise_ring(im, ring, noise_box_sz, noise_nsamples,</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> bg_noise, NULL) && --ring_tries > 0);</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="keywordflow">if</span> (ring_tries > 0) {</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> cpl_errorstate_set(prestate); <span class="comment">/* Recover, if an error happened */</span></div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="keywordflow">return</span> cpl_error_set_where(cpl_func);</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> }</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> *strehl_err = strehl_error_coefficient * (*bg_noise) * pscale *</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> star_radius * star_radius / *star_flux;</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> </div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="comment">/* This check should not be able to fail, but just to be sure */</span></div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> cpl_ensure_code(*strehl_err >= 0.0, CPL_ERROR_ILLEGAL_OUTPUT);</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> }</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> </div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="keywordtype">double</span> irplib_strehl_disk_flux(<span class="keyword">const</span> cpl_image * im,</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="keywordtype">double</span> xpos,</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="keywordtype">double</span> ypos,</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="keywordtype">double</span> rad,</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="keywordtype">double</span> bg)</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> {</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sqr = rad * rad;</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="keywordtype">double</span> sqrest;</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="keyword">const</span> <span class="keywordtype">float</span> * pim;</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="keywordtype">double</span> flux = 0.0;</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="keywordtype">double</span> yj, xi;</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keywordtype">int</span> nx, ny;</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="keywordtype">int</span> lx, ly, ux, uy;</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordtype">int</span> i, j;</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> </div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="comment">/* Check entries */</span></div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> cpl_ensure(im != NULL, CPL_ERROR_NULL_INPUT, 0.0);</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> cpl_ensure(cpl_image_get_type(im) == CPL_TYPE_FLOAT,</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> CPL_ERROR_UNSUPPORTED_MODE, 0.0);</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> cpl_ensure(rad > 0.0, CPL_ERROR_ILLEGAL_INPUT, 0.0);</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> </div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> nx = cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> ny = cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="comment">/* Round down */</span></div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> lx = (int)(xpos - rad);</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> ly = (int)(ypos - rad);</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="keywordflow">if</span> (lx < 0) lx = 0;</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="keywordflow">if</span> (ly < 0) ly = 0;</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="comment">/* Round up */</span></div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> ux = (int)(xpos + rad) + 1;</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> uy = (int)(ypos + rad) + 1;</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="keywordflow">if</span> (ux > (nx-1)) ux = nx-1;</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keywordflow">if</span> (uy > (ny-1)) uy = ny-1;</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> </div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> pim = cpl_image_get_data_float_const(im);</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="keywordflow">for</span> (j=ly ; j<uy ; j++) {</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> yj = (double)j - ypos;</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> sqrest = sqr - yj * yj;</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="keywordflow">for</span> (i=lx; i<ux ; i++) {</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> xi = (double)i - xpos;</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="keywordflow">if</span> (sqrest >= xi * xi && irplib_isnan(pim[i+j*nx]) == 0) {</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> flux += (double)pim[i+j*nx] - bg;</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> }</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> }</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> }</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="keywordflow">return</span> flux;</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> }</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> </div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="keywordtype">double</span> irplib_strehl_ring_background(<span class="keyword">const</span> cpl_image * im,</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="keywordtype">double</span> xpos,</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="keywordtype">double</span> ypos,</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="keywordtype">double</span> rad_int,</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="keywordtype">double</span> rad_ext,</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> irplib_strehl_bg_method mode)</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> {</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="keywordtype">int</span> npix;</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sqr_int = rad_int * rad_int;</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sqr_ext = rad_ext * rad_ext;</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="keywordtype">double</span> dist;</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> cpl_vector * pix_arr;</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="keyword">const</span> <span class="keywordtype">float</span> * pim;</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="keywordtype">double</span> flux = 0.0;</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="keywordtype">double</span> yj, xi;</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="keywordtype">int</span> lx, ly, ux, uy;</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="keywordtype">int</span> nx, ny;</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="keywordtype">int</span> i, j;</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> </div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> <span class="comment">/* Check entries */</span></div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> cpl_ensure(im != NULL, CPL_ERROR_NULL_INPUT, 0.0);</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> cpl_ensure(cpl_image_get_type(im) == CPL_TYPE_FLOAT,</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> CPL_ERROR_UNSUPPORTED_MODE, 0.0);</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> cpl_ensure(rad_int > 0.0, CPL_ERROR_ILLEGAL_INPUT, 0.0);</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> cpl_ensure(rad_ext > rad_int, CPL_ERROR_ILLEGAL_INPUT, 0.0);</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> </div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> cpl_ensure(mode == IRPLIB_BG_METHOD_AVER_REJ ||</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> mode == IRPLIB_BG_METHOD_MEDIAN,</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> CPL_ERROR_UNSUPPORTED_MODE, 0.0);</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> nx = cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> ny = cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> </div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="comment">/* Round down */</span></div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> lx = (int)(xpos - rad_ext);</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> ly = (int)(ypos - rad_ext);</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="keywordflow">if</span> (lx < 0) lx = 0;</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="keywordflow">if</span> (ly < 0) ly = 0;</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> </div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <span class="comment">/* Round up */</span></div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> ux = (int)(xpos + rad_ext) + 1;</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> uy = (int)(ypos + rad_ext) + 1;</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> <span class="keywordflow">if</span> (ux > (nx-1)) ux = nx-1;</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <span class="keywordflow">if</span> (uy > (ny-1)) uy = ny-1;</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> </div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> npix = (ux - lx + 1) * (uy - ly + 1);</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> cpl_ensure(npix >= IRPLIB_DISK_BG_MIN_PIX_NB, CPL_ERROR_DATA_NOT_FOUND, 0.0);</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="comment">/* Allocate pixel array to hold values in the ring */</span></div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> pix_arr = cpl_vector_new(npix);</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> </div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="comment">/* Count number of pixels in the ring */</span></div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="comment">/* Retrieve all pixels which belong to the ring */</span></div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> pim = cpl_image_get_data_float_const(im);</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> npix = 0;</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="keywordflow">for</span> (j=ly ; j<uy ; j++) {</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> yj = (double)j - ypos;</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="keywordflow">for</span> (i=lx ; i<ux; i++) {</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> xi = (double)i - xpos;</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> dist = yj * yj + xi * xi;</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="keywordflow">if</span> (sqr_int <= dist && dist <= sqr_ext &&</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> irplib_isnan(pim[i+j*nx]) == 0) {</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> cpl_vector_set(pix_arr, npix, (<span class="keywordtype">double</span>)pim[i+j*nx]);</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> npix++;</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> }</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> }</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> }</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> </div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="keywordflow">if</span> (npix < IRPLIB_DISK_BG_MIN_PIX_NB) {</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> cpl_vector_delete(pix_arr);</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> cpl_ensure(0, CPL_ERROR_DATA_NOT_FOUND, 0.0);</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> }</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> </div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="comment">/* Should not be able to fail now */</span></div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> </div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="comment">/* Resize pixel array to actual number of values within the ring */</span></div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> cpl_vector_set_size(pix_arr, npix);</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> </div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <span class="keywordflow">if</span> (mode == IRPLIB_BG_METHOD_AVER_REJ) {</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> <span class="keyword">const</span> <span class="keywordtype">int</span> low_ind = (int)((<span class="keywordtype">double</span>)npix * IRPLIB_DISK_BG_REJ_LOW);</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="keyword">const</span> <span class="keywordtype">int</span> high_ind = (int)((<span class="keywordtype">double</span>)npix</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> * (1.0 - IRPLIB_DISK_BG_REJ_HIGH));</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> </div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="comment">/* Sort the array */</span></div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> cpl_vector_sort(pix_arr, 1);</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> </div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="keywordflow">for</span> (i=low_ind ; i<high_ind ; i++) {</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> flux += cpl_vector_get(pix_arr, i);</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> }</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="keywordflow">if</span> (high_ind - low_ind > 1) flux /= (double)(high_ind - low_ind);</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> } <span class="keywordflow">else</span> <span class="comment">/* if (mode == IRPLIB_BG_METHOD_MEDIAN) */</span> {</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> flux = cpl_vector_get_median(pix_arr);</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> }</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> </div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> cpl_vector_delete(pix_arr);</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> </div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="keywordflow">return</span> flux;</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> }</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> </div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> cpl_image * irplib_strehl_generate_psf(</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> <span class="keywordtype">double</span> m1,</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> <span class="keywordtype">double</span> m2,</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="keywordtype">double</span> lam,</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> <span class="keywordtype">double</span> dlam,</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> <span class="keywordtype">double</span> pscale,</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="keywordtype">int</span> size)</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> {</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> cpl_image * otf_image = irplib_strehl_generate_otf(m1, m2, lam, dlam,</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> size, pscale);</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> </div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> <span class="keywordflow">if</span> (otf_image == NULL) <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> </div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="comment">/* Transform back to real space</span></div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <span class="comment"> - Normalization is unnecessary, due to the subsequent normalisation.</span></div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> <span class="comment"> - An OTF is point symmetric about its center, i.e. it is even,</span></div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> <span class="comment"> i.e. the real space image is real.</span></div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> <span class="comment"> - Because of this a forward FFT works as well.</span></div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> <span class="comment"> - If the PSF ever needs to have its images halves swapped add</span></div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> <span class="comment"> CPL_FFT_SWAP_HALVES to the FFT call.</span></div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> </div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> <span class="keywordflow">if</span> (cpl_image_fft(otf_image, NULL, CPL_FFT_UNNORMALIZED) ||</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> </div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <span class="comment">/* Compute absolute values of PSF */</span></div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> cpl_image_abs(otf_image) ||</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> </div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <span class="comment">/* Normalize PSF to get flux=1 */</span></div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> cpl_image_normalise(otf_image, CPL_NORM_FLUX)) {</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> </div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> cpl_image_delete(otf_image);</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> }</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> </div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> <span class="keywordflow">return</span> otf_image;</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> }</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> </div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> <span class="keyword">static</span> cpl_image * irplib_strehl_generate_otf(</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="keywordtype">double</span> m1,</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> <span class="keywordtype">double</span> m2,</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <span class="keywordtype">double</span> lam,</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> <span class="keywordtype">double</span> dlam,</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="keywordtype">int</span> size,</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> <span class="keywordtype">double</span> pscale)</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> {</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> cpl_image * otf_image;</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> <span class="keywordtype">double</span> * otf_data;</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> <span class="keywordtype">double</span> obs_ratio ; <span class="comment">/* m1 / m2 */</span></div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> <span class="keywordtype">double</span> f_max ; <span class="comment">/* cut-off frequency */</span></div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="keywordtype">int</span> pix0 ; <span class="comment">/* Pixel corresponding to the zero frequency */</span></div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="keywordtype">double</span> a, x, y;</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> <span class="keywordtype">double</span> f, rsq, fc, invfc, lambda;</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> <span class="keywordtype">double</span> sincy;</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="keywordtype">double</span> invsize;</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="keyword">register</span> <span class="keywordtype">int</span> pos;</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <span class="keywordtype">int</span> i, j, k;</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> </div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> </div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> cpl_ensure(m2 > 0.0, CPL_ERROR_ILLEGAL_INPUT, NULL);</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> cpl_ensure(m1 > m2, CPL_ERROR_ILLEGAL_INPUT, NULL);</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> cpl_ensure(lam > 0.0, CPL_ERROR_ILLEGAL_INPUT, NULL);</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> cpl_ensure(dlam > 0.0, CPL_ERROR_ILLEGAL_INPUT, NULL);</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> cpl_ensure(size > 0, CPL_ERROR_ILLEGAL_INPUT, NULL);</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> cpl_ensure(pscale > 0.0, CPL_ERROR_ILLEGAL_INPUT, NULL);</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> </div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> <span class="comment">/* Convert pixel scale from sec to radians, microns in meters */</span></div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> pscale /= (double)206265;</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> lam /= (double)1.0e6;</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> dlam /= (double)1.0e6;</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> </div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> <span class="comment">/* Obscuration ratio */</span></div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> obs_ratio = m2 / m1;</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> </div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> <span class="comment">/* Pixel corresponding to the zero frequency */</span></div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> pix0 = size/2;</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> invsize = (double)1.0 / (<span class="keywordtype">double</span>)size;</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> </div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> <span class="comment">/* Cut-off frequency in pixels */</span></div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> f_max = m1 * pscale * (double)size / lam;</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> </div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> <span class="comment">/* Allocate for output image */</span></div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> otf_image = cpl_image_new(size, size, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> <span class="keywordflow">if</span> (otf_image==NULL) <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> otf_data = cpl_image_get_data_double(otf_image);</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> </div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> <span class="comment">/* Now compute the OTF */</span></div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> <span class="comment">/* OPTIMIZED CODE !!! LIMITED READABILITY !!! */</span></div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> </div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> <span class="keywordflow">for</span> (k=1 ; k<=9 ; k++) { <span class="comment">/* iteration on the wavelength */</span></div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> <span class="comment">/* Compute intermediate cut-off frequency */</span></div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> lambda = (double)(lam - dlam*(<span class="keywordtype">double</span>)(k-5)/8.0);</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> fc = (double)f_max * (<span class="keywordtype">double</span>)lam / lambda;</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> invfc = 1.0 / fc;</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> </div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> <span class="comment">/* Convolution with the detector pixels */</span></div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> pos = 0;</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> <span class="keywordflow">for</span> (j=0 ; j<size ; j++) {</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> y = (double)(j-pix0);</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> sincy = PSF_sinc(CPL_MATH_PI * y * invsize);</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> <span class="keywordflow">for</span> (i=0 ; i<size ; i++) {</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> x = (double)(i-pix0);</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> rsq = x*x + y*y;</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> <span class="keywordflow">if</span> (rsq < fc*fc) {</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> <span class="keywordflow">if</span> (rsq < 0.01)</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> a = 1.0;</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> f = sqrt(rsq) * invfc;</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> a = PSF_TelOTF(f,obs_ratio) *</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> PSF_sinc(CPL_MATH_PI * x * invsize) * sincy;</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> }</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> a = 0.0;</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> }</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> otf_data[pos++] += a / 9.0;</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> }</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> }</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> }</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> <span class="keywordflow">return</span> otf_image;</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> }</div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> </div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> <span class="comment">/*----------------------------------------------------------------------------*</span></div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> <span class="comment"> * H1 function</span></div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> <span class="comment"> *----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> <span class="keyword">static</span> <span class="keywordtype">double</span> PSF_H1(</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="keywordtype">double</span> f,</div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> <span class="keywordtype">double</span> u,</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> <span class="keywordtype">double</span> v)</div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> {</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> <span class="keyword">const</span> <span class="keywordtype">double</span> e = fabs(1.0-v) > 0.0 ? -1.0 : 1.0; <span class="comment">/* e = 1.0 iff v = 1.0 */</span></div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> </div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> <span class="keywordflow">return</span>((v*v/CPL_MATH_PI)*acos((f/v)*(1.0+e*(1.0-u*u)/(4.0*f*f))));</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> }</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> </div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> <span class="comment">/*----------------------------------------------------------------------------*</span></div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> <span class="comment"> * H2 function</span></div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> <span class="comment"> *----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <span class="keyword">static</span> <span class="keywordtype">double</span> PSF_H2(<span class="keywordtype">double</span> f,</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> <span class="keywordtype">double</span> u)</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> {</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> <span class="keyword">const</span> <span class="keywordtype">double</span> tmp1 = (2.0 * f) / (1.0 + u);</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> <span class="keyword">const</span> <span class="keywordtype">double</span> tmp2 = (1.0 - u) / (2.0 * f);</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> </div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> <span class="keywordflow">return</span> -1.0 * (f/CPL_MATH_PI) * (1.0+u)</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> * sqrt((1.0-tmp1*tmp1)*(1.0-tmp2*tmp2));</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> }</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> </div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> <span class="comment">/*----------------------------------------------------------------------------*</span></div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> <span class="comment"> * G function</span></div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <span class="comment"> *----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> <span class="keyword">static</span> <span class="keywordtype">double</span> PSF_G(<span class="keywordtype">double</span> f,</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> <span class="keywordtype">double</span> u)</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> {</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> <span class="keywordflow">if</span> (f <= (1.0-u)/2.0) <span class="keywordflow">return</span>(u*u);</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> <span class="keywordflow">if</span> (f >= (1.0+u)/2.0) <span class="keywordflow">return</span>(0.0);</div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span>(PSF_H1(f,u,1.0) + PSF_H1(f,u,u) + PSF_H2(f,u));</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> }</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> </div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> <span class="comment">/*----------------------------------------------------------------------------*</span></div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> <span class="comment"> * sinc function</span></div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> <span class="comment"> *----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> <span class="keyword">static</span> <span class="keywordtype">double</span> PSF_sinc(<span class="keywordtype">double</span> x)</div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> {</div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> <span class="keywordflow">return</span> fabs(x) > fabs(sin(x)) ? sin(x)/x : 1.0;</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> }</div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> </div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> <span class="comment">/*----------------------------------------------------------------------------*</span></div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> <span class="comment"> * Telescope OTF function</span></div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> <span class="comment"> *----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> <span class="keyword">static</span> <span class="keywordtype">double</span> PSF_TelOTF(<span class="keywordtype">double</span> f,</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> <span class="keywordtype">double</span> u)</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> {</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> <span class="keywordflow">return</span>((PSF_G(f,1.0)+u*u*PSF_G(f/u,1.0)-2.0*PSF_G(f,u))/(1.0-u*u));</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> }</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> </div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> cpl_error_code irplib_strehl_disk_max(<span class="keyword">const</span> cpl_image * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> <span class="keywordtype">double</span> xpos,</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <span class="keywordtype">double</span> ypos,</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="keywordtype">double</span> radius,</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> <span class="keywordtype">double</span> * ppeak)</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> {</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> </div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sqr = radius * radius;</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> <span class="keywordtype">double</span> sqrest;</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> <span class="keyword">const</span> <span class="keywordtype">float</span> * pself;</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> <span class="keywordtype">float</span> peak = FLT_MAX; <span class="comment">/* Avoid (false) uninit warning */</span></div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> <span class="keywordtype">double</span> yj, xi;</div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> <span class="keywordtype">int</span> nx, ny;</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> <span class="keywordtype">int</span> lx, ly, ux, uy;</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> <span class="keywordtype">int</span> i, j;</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> cpl_boolean first = CPL_TRUE;</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> </div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> </div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> <span class="comment">/* Check entries */</span></div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> cpl_ensure_code(ppeak != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> cpl_ensure_code(cpl_image_get_type(<span class="keyword">self</span>) == CPL_TYPE_FLOAT,</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> CPL_ERROR_UNSUPPORTED_MODE);</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> cpl_ensure_code(radius > 0.0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> </div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> nx = cpl_image_get_size_x(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> ny = cpl_image_get_size_y(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> </div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> <span class="comment">/* Round down */</span></div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> lx = (int)(xpos - radius);</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> ly = (int)(ypos - radius);</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> <span class="keywordflow">if</span> (lx < 0) lx = 0;</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> <span class="keywordflow">if</span> (ly < 0) ly = 0;</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> </div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> <span class="comment">/* Round up */</span></div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> ux = (int)(xpos + radius) + 1;</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> uy = (int)(ypos + radius) + 1;</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> <span class="keywordflow">if</span> (ux > (nx-1)) ux = nx-1;</div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> <span class="keywordflow">if</span> (uy > (ny-1)) uy = ny-1;</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> </div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> pself = cpl_image_get_data_float_const(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> <span class="keywordflow">for</span> (j=ly ; j<uy ; j++) {</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> yj = (double)j - ypos;</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> sqrest = sqr - yj * yj;</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> <span class="keywordflow">for</span> (i=lx; i<ux ; i++) {</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> xi = (double)i - xpos;</div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> <span class="keywordflow">if</span> (sqrest >= xi * xi && irplib_isnan(pself[i+j*nx]) == 0) {</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> <span class="keywordflow">if</span> (first || pself[i+j*nx] > peak) {</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> first = CPL_FALSE;</div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> peak = pself[i+j*nx];</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> }</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> }</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> }</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> }</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> </div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> cpl_ensure_code(!first, CPL_ERROR_DATA_NOT_FOUND);</div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> </div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> *ppeak = (double)peak;</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> </div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__strehl_8h_source.html b/html/irplib__strehl_8h_source.html
deleted file mode 100644
index 893436a..0000000
--- a/html/irplib__strehl_8h_source.html
+++ /dev/null
@@ -1,122 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_strehl.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_strehl.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_strehl.h,v 1.12 2009/06/29 14:32:53 kmirny Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: kmirny $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2009/06/29 14:32:53 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.12 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef IRPLIB_STREHL_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_STREHL_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> Define</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#ifndef IRPLIB_STREHL_BORDER</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_STREHL_BORDER 5</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> IRPLIB_BG_METHOD_AVER_REJ,</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> IRPLIB_BG_METHOD_MEDIAN</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> } irplib_strehl_bg_method;</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> cpl_error_code irplib_strehl_compute(<span class="keyword">const</span> cpl_image *, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>,</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">int</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>,</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">double</span> *, <span class="keywordtype">double</span> *, <span class="keywordtype">double</span> *, <span class="keywordtype">double</span> *,</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">double</span> *, <span class="keywordtype">double</span> *, <span class="keywordtype">double</span> *, <span class="keywordtype">double</span> *);</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> cpl_error_code irplib_strehl_mark_bad_and_compute(</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> cpl_image *, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>,</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">int</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>,</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">double</span> *, <span class="keywordtype">double</span> *, <span class="keywordtype">double</span> *, <span class="keywordtype">double</span> *,</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">double</span> *, <span class="keywordtype">double</span> *, <span class="keywordtype">double</span> *, <span class="keywordtype">double</span> *);</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">double</span> irplib_strehl_disk_flux(<span class="keyword">const</span> cpl_image *, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>,</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">double</span> irplib_strehl_ring_background(<span class="keyword">const</span> cpl_image *, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>,</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">double</span>, irplib_strehl_bg_method);</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> cpl_image * irplib_strehl_generate_psf(<span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>,</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">int</span>);</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> cpl_error_code irplib_strehl_disk_max(<span class="keyword">const</span> cpl_image *, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>,</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">double</span>, <span class="keywordtype">double</span> *);</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__utils_8c_source.html b/html/irplib__utils_8c_source.html
deleted file mode 100644
index 3be83cb..0000000
--- a/html/irplib__utils_8c_source.html
+++ /dev/null
@@ -1,1301 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_utils.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_utils.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_utils.c,v 1.85 2013/07/04 12:10:55 jtaylor Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: jtaylor $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2013/07/04 12:10:55 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.85 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "irplib_utils.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <assert.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <stdlib.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <errno.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">/* TEMPORARY SUPPORT OF CPL 5.x */</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#ifndef CPL_SIZE_FORMAT</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor"></span><span class="preprocessor">#define CPL_SIZE_FORMAT "d"</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor"></span><span class="preprocessor">#define cpl_size int</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor"></span><span class="comment">/* END TEMPORARY SUPPORT OF CPL 5.x */</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#ifndef inline</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor"></span><span class="preprocessor">#define inline </span><span class="comment">/* inline */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> Missing Function Prototypes</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> Private Function Prototypes</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">double</span> irplib_data_get_double(<span class="keyword">const</span> <span class="keywordtype">void</span> *, cpl_type, <span class="keywordtype">int</span>)</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor">#ifdef CPL_HAVE_GNUC_NONNULL</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor"></span> __attribute__((nonnull))</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor"></span> ;</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">void</span> irplib_data_set_double(<span class="keywordtype">void</span> *, cpl_type, <span class="keywordtype">int</span>, <span class="keywordtype">double</span>)</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="preprocessor">#ifdef CPL_HAVE_GNUC_NONNULL</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="preprocessor"></span> __attribute__((nonnull))</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="preprocessor"></span> ;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keyword">static</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keywordtype">void</span> irplib_errorstate_dump_one_level(<span class="keywordtype">void</span> (*)(<span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *, ...)</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> #ifdef __GNUC__</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> __attribute__((format (printf, 2, 3)))</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> #endif</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> , <span class="keywordtype">unsigned</span>, <span class="keywordtype">unsigned</span>, <span class="keywordtype">unsigned</span>);</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keyword">static</span> <span class="keywordtype">double</span> frame_get_exptime(<span class="keyword">const</span> cpl_frame * pframe);</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">static</span> <span class="keywordtype">void</span> quicksort(<span class="keywordtype">int</span>* index, <span class="keywordtype">double</span>* exptime, <span class="keywordtype">int</span> left, <span class="keywordtype">int</span> right);</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keyword">static</span> cpl_error_code irplib_dfs_product_save(cpl_frameset *,</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> cpl_propertylist *,</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keyword">const</span> cpl_parameterlist *,</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keyword">const</span> cpl_frameset *,</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keyword">const</span> cpl_frame *,</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keyword">const</span> cpl_imagelist *,</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">const</span> cpl_image *,</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> cpl_type,</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keyword">const</span> cpl_table *,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keyword">const</span> cpl_propertylist *,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keyword">const</span> cpl_propertylist *,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *);</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"><a class="code" href="group__irplib__utils.html#ga6b29dac884b62ab52f43dd670d4d8386"> 130</a></span> <span class="keywordtype">void</span> <a class="code" href="group__irplib__utils.html#ga6b29dac884b62ab52f43dd670d4d8386" title="Dump a single CPL error at the CPL warning level.">irplib_errorstate_dump_warning</a>(<span class="keywordtype">unsigned</span> <span class="keyword">self</span>, <span class="keywordtype">unsigned [...]
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordtype">unsigned</span> last)</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> {</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> irplib_errorstate_dump_one_level(&cpl_msg_warning, <span class="keyword">self</span>, first, last);</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> }</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keyword">static</span> cpl_polynomial * irplib_polynomial_fit_1d_create_common(</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keyword">const</span> cpl_vector * x_pos,</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keyword">const</span> cpl_vector * values,</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">int</span> degree,</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordtype">double</span> * mse,</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordtype">double</span> * rechisq</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> );</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"><a class="code" href="group__irplib__utils.html#ga901ff52a1c9dcdfcf2d2632d31064bdb"> 157</a></span> <span class="keywordtype">void</span> <a class="code" href="group__irplib__utils.html#ga901ff52a1c9dcdfcf2d2632d31064bdb" title="Dump a single CPL error at the CPL info level.">irplib_errorstate_dump_info</a>(<span class="keywordtype">unsigned</span> <span class="keyword">self</span>, <span class="keywordtype">unsigned</span [...]
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordtype">unsigned</span> last)</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> {</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> irplib_errorstate_dump_one_level(&cpl_msg_info, <span class="keyword">self</span>, first, last);</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> }</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"><a class="code" href="group__irplib__utils.html#ga26c6209e5df98978e2922a15b47b47d1"> 177</a></span> <span class="keywordtype">void</span> <a class="code" href="group__irplib__utils.html#ga26c6209e5df98978e2922a15b47b47d1" title="Dump a single CPL error at the CPL debug level.">irplib_errorstate_dump_debug</a>(<span class="keywordtype">unsigned</span> <span class="keyword">self</span>, <span class="keywordtype">unsigned</sp [...]
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordtype">unsigned</span> last)</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> {</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> irplib_errorstate_dump_one_level(&cpl_msg_debug, <span class="keyword">self</span>, first, last);</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> }</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00208"></a><span class="lineno"><a class="code" href="group__irplib__utils.html#ga346842d722834a2e6221ff2d86314b7e"> 208</a></span> cpl_error_code <a class="code" href="group__irplib__utils.html#ga346842d722834a2e6221ff2d86314b7e" title="Save an image as a DFS-compliant pipeline product.">irplib_dfs_save_image</a>(cpl_frameset * allframes,</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keyword">const</span> cpl_parameterlist * parlist,</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keyword">const</span> cpl_frameset * usedframes,</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keyword">const</span> cpl_image * image,</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> cpl_type_bpp bpp,</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * recipe,</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * procat,</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keyword">const</span> cpl_propertylist * applist,</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * remregexp,</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * pipe_id,</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * filename)</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> {</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> cpl_errorstate prestate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> cpl_propertylist * prolist = applist ? cpl_propertylist_duplicate(applist)</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> : cpl_propertylist_new();</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> cpl_propertylist_update_string(prolist, CPL_DFS_PRO_CATG, procat);</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <a class="code" href="group__irplib__utils.html#ga1fd7c2f4c00014049b0bf4bf6814b451" title="Save an image as a DFS-compliant pipeline product.">irplib_dfs_save_image_</a>(allframes, NULL, parlist, usedframes, NULL, image,</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> bpp, recipe, prolist, remregexp, pipe_id, filename);</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> cpl_propertylist_delete(prolist);</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> cpl_ensure_code(cpl_errorstate_is_equal(prestate), cpl_error_get_code());</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> }</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> cpl_error_code</div>
-<div class="line"><a name="l00256"></a><span class="lineno"><a class="code" href="group__irplib__utils.html#ga4dc12f321e7aeb5e67ff19f815bfd7b7"> 256</a></span> <a class="code" href="group__irplib__utils.html#ga4dc12f321e7aeb5e67ff19f815bfd7b7" title="Save a propertylist as a DFS-compliant pipeline product.">irplib_dfs_save_propertylist</a>(cpl_frameset * allframes,</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keyword">const</span> cpl_parameterlist * parlist,</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keyword">const</span> cpl_frameset * usedframes,</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * recipe,</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * procat,</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="keyword">const</span> cpl_propertylist * applist,</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * remregexp,</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * pipe_id,</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * filename)</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> {</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> cpl_errorstate prestate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> cpl_propertylist * prolist = applist ? cpl_propertylist_duplicate(applist)</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> : cpl_propertylist_new();</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> cpl_propertylist_update_string(prolist, CPL_DFS_PRO_CATG, procat);</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> cpl_dfs_save_propertylist(allframes, NULL, parlist, usedframes, NULL,</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> recipe, prolist, remregexp, pipe_id, filename);</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> cpl_propertylist_delete(prolist);</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> cpl_ensure_code(cpl_errorstate_is_equal(prestate), cpl_error_get_code());</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> }</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00303"></a><span class="lineno"><a class="code" href="group__irplib__utils.html#ga66f7adc9e165b4e934e3d57a700f55c1"> 303</a></span> cpl_error_code <a class="code" href="group__irplib__utils.html#ga66f7adc9e165b4e934e3d57a700f55c1" title="Save an imagelist as a DFS-compliant pipeline product.">irplib_dfs_save_imagelist</a>(cpl_frameset * allframes,</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="keyword">const</span> cpl_parameterlist * parlist,</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keyword">const</span> cpl_frameset * usedframes,</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="keyword">const</span> cpl_imagelist * imagelist,</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> cpl_type_bpp bpp,</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * recipe,</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * procat,</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="keyword">const</span> cpl_propertylist * applist,</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * remregexp,</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * pipe_id,</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * filename)</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> {</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> cpl_errorstate prestate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> cpl_propertylist * prolist = applist ? cpl_propertylist_duplicate(applist)</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> : cpl_propertylist_new();</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> </div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> cpl_propertylist_update_string(prolist, CPL_DFS_PRO_CATG, procat);</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> </div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> cpl_dfs_save_imagelist(allframes, NULL, parlist, usedframes, NULL,</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> imagelist, bpp, recipe, prolist, remregexp, pipe_id,</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> filename);</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> cpl_propertylist_delete(prolist);</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> cpl_ensure_code(cpl_errorstate_is_equal(prestate), cpl_error_get_code());</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> </div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> }</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00351"></a><span class="lineno"><a class="code" href="group__irplib__utils.html#ga62a91f8630af11164547c168660b2ade"> 351</a></span> cpl_error_code <a class="code" href="group__irplib__utils.html#ga62a91f8630af11164547c168660b2ade" title="Save a table as a DFS-compliant pipeline product.">irplib_dfs_save_table</a>(cpl_frameset * allframes,</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="keyword">const</span> cpl_parameterlist * parlist,</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="keyword">const</span> cpl_frameset * usedframes,</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="keyword">const</span> cpl_table * table,</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="keyword">const</span> cpl_propertylist * tablelist,</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * recipe,</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * procat,</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="keyword">const</span> cpl_propertylist * applist,</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * remregexp,</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * pipe_id,</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * filename)</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> {</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> </div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> cpl_errorstate prestate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> cpl_propertylist * prolist = applist ? cpl_propertylist_duplicate(applist)</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> : cpl_propertylist_new();</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> cpl_propertylist_update_string(prolist, CPL_DFS_PRO_CATG, procat);</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> cpl_dfs_save_table(allframes, NULL, parlist, usedframes, NULL,</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> table, tablelist, recipe, prolist, remregexp,</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> pipe_id, filename);</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> cpl_propertylist_delete(prolist);</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> </div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> cpl_ensure_code(cpl_errorstate_is_equal(prestate), cpl_error_get_code());</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> }</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> </div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> </div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00411"></a><span class="lineno"><a class="code" href="group__irplib__utils.html#ga1fd7c2f4c00014049b0bf4bf6814b451"> 411</a></span> cpl_error_code <a class="code" href="group__irplib__utils.html#ga1fd7c2f4c00014049b0bf4bf6814b451" title="Save an image as a DFS-compliant pipeline product.">irplib_dfs_save_image_</a>(cpl_frameset * allframes,</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> cpl_propertylist * header,</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="keyword">const</span> cpl_parameterlist * parlist,</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="keyword">const</span> cpl_frameset * usedframes,</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="keyword">const</span> cpl_frame * inherit,</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="keyword">const</span> cpl_image * image,</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> cpl_type type,</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * recipe,</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="keyword">const</span> cpl_propertylist * applist,</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * remregexp,</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * pipe_id,</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * filename)</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> {</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="keywordflow">return</span></div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> irplib_dfs_product_save(allframes, header, parlist, usedframes, inherit,</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> NULL, image, type, NULL, NULL, recipe,</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> applist, remregexp, pipe_id, filename)</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> ? cpl_error_set_where(cpl_func) : CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> </div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> }</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> </div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> </div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> </div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <span class="keyword">static</span></div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> cpl_error_code irplib_dfs_product_save(cpl_frameset * allframes,</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> cpl_propertylist * header,</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> <span class="keyword">const</span> cpl_parameterlist * parlist,</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <span class="keyword">const</span> cpl_frameset * usedframes,</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="keyword">const</span> cpl_frame * inherit,</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="keyword">const</span> cpl_imagelist * imagelist,</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="keyword">const</span> cpl_image * image,</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> cpl_type type,</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="keyword">const</span> cpl_table * table,</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="keyword">const</span> cpl_propertylist * tablelist,</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * recipe,</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="keyword">const</span> cpl_propertylist * applist,</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * remregexp,</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * pipe_id,</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * filename) {</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> </div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * procat;</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> cpl_propertylist * plist;</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> cpl_frame * product_frame;</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> <span class="comment">/* Inside this function the product-types are numbered:</span></div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="comment"> 0: imagelist</span></div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="comment"> 1: table</span></div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="comment"> 2: image</span></div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="comment"> 3: propertylist only</span></div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> pronum</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> = imagelist != NULL ? 0 : table != NULL ? 1 : (image != NULL ? 2 : 3);</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * proname[] = {<span class="stringliteral">"imagelist"</span>, <span class="stringliteral">"table"</span>, <span class="stringliteral">"image"</span>,</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="stringliteral">"propertylist"</span>};</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="comment">/* FIXME: Define a frame type for an imagelist and when data-less */</span></div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="keyword">const</span> <span class="keywordtype">int</span> protype[] = {CPL_FRAME_TYPE_ANY, CPL_FRAME_TYPE_TABLE,</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> CPL_FRAME_TYPE_IMAGE, CPL_FRAME_TYPE_ANY};</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> cpl_error_code error = CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> </div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> </div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="comment">/* No more than one of imagelist, table and image may be non-NULL */</span></div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="comment">/* tablelist may only be non-NULL when table is non-NULL */</span></div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="keywordflow">if</span> (imagelist != NULL) {</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> assert(pronum == 0);</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> assert(image == NULL);</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> assert(table == NULL);</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> assert(tablelist == NULL);</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (table != NULL) {</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> assert(pronum == 1);</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> assert(imagelist == NULL);</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> assert(image == NULL);</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (image != NULL) {</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> assert(pronum == 2);</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> assert(imagelist == NULL);</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> assert(table == NULL);</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> assert(tablelist == NULL);</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> assert(pronum == 3);</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> assert(imagelist == NULL);</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> assert(table == NULL);</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> assert(tablelist == NULL);</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> assert(image == NULL);</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> }</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> </div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> cpl_ensure_code(allframes != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> cpl_ensure_code(parlist != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> cpl_ensure_code(usedframes != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> cpl_ensure_code(recipe != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> cpl_ensure_code(applist != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> cpl_ensure_code(pipe_id != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> cpl_ensure_code(filename != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> </div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> procat = cpl_propertylist_get_string(applist, CPL_DFS_PRO_CATG);</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> </div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> cpl_ensure_code(procat != NULL, cpl_error_get_code());</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> </div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> cpl_msg_info(cpl_func, <span class="stringliteral">"Writing FITS %s product(%s): %s"</span>, proname[pronum],</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> procat, filename);</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> </div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> product_frame = cpl_frame_new();</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> </div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="comment">/* Create product frame */</span></div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> error |= cpl_frame_set_filename(product_frame, filename);</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> error |= cpl_frame_set_tag(product_frame, procat);</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> error |= cpl_frame_set_type(product_frame, protype[pronum]);</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> error |= cpl_frame_set_group(product_frame, CPL_FRAME_GROUP_PRODUCT);</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> error |= cpl_frame_set_level(product_frame, CPL_FRAME_LEVEL_FINAL);</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> </div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="keywordflow">if</span> (error) {</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> cpl_frame_delete(product_frame);</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> <span class="keywordflow">return</span> cpl_error_set_where(cpl_func);</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> }</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> </div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <span class="keywordflow">if</span> (header != NULL) {</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> cpl_propertylist_empty(header);</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> plist = header;</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> plist = cpl_propertylist_new();</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> }</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> </div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> <span class="comment">/* Add any QC parameters here */</span></div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> <span class="keywordflow">if</span> (applist != NULL) error = cpl_propertylist_copy_property_regexp(plist,</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> applist,</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> <span class="stringliteral">"."</span>, 0);</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> </div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="comment">/* Add DataFlow keywords */</span></div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="keywordflow">if</span> (!error)</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> error = cpl_dfs_setup_product_header(plist, product_frame, usedframes,</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> parlist, recipe, pipe_id,</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <span class="stringliteral">"PRO-1.15"</span>, inherit);</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> </div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <span class="keywordflow">if</span> (remregexp != NULL && !error) {</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> cpl_errorstate prestate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> (void)cpl_propertylist_erase_regexp(plist, remregexp, 0);</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(prestate)) error = cpl_error_get_code();</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> }</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> </div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> <span class="keywordflow">if</span> (!error) {</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> <span class="keywordflow">switch</span> (pronum) {</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> <span class="keywordflow">case</span> 0:</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> error = cpl_imagelist_save(imagelist, filename, type, plist,</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> CPL_IO_CREATE);</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <span class="keywordflow">case</span> 1:</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> error = cpl_table_save(table, plist, tablelist, filename,</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> CPL_IO_CREATE);</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <span class="keywordflow">case</span> 2:</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> error = cpl_image_save(image, filename, type, plist,</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> CPL_IO_CREATE);</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> <span class="comment">/* case 3: */</span></div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> error = cpl_propertylist_save(plist, filename, CPL_IO_CREATE);</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> }</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> }</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> </div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="keywordflow">if</span> (!error) {</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> <span class="comment">/* Insert the frame of the saved file in the input frameset */</span></div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> error = cpl_frameset_insert(allframes, product_frame);</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> </div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> cpl_frame_delete(product_frame);</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> }</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> </div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> <span class="keywordflow">if</span> (plist != header) cpl_propertylist_delete(plist);</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> </div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> cpl_ensure_code(!error, error);</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> </div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> </div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> } </div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> </div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> </div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00665"></a><span class="lineno"><a class="code" href="group__irplib__utils.html#ga832676f36ecd647b77f4bb373b2d1954"> 665</a></span> cpl_error_code <a class="code" href="group__irplib__utils.html#ga832676f36ecd647b77f4bb373b2d1954" title="Split the values in an image in three according to two thresholds.">irplib_image_split</a>(<span class="keyword">const</span> cpl_image * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> cpl_image * im_low,</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> cpl_image * im_mid,</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> cpl_image * im_high,</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="keywordtype">double</span> th_low,</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> cpl_boolean isleq_low,</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> <span class="keywordtype">double</span> th_high,</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> cpl_boolean isgeq_high,</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> <span class="keywordtype">double</span> alt_low,</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> <span class="keywordtype">double</span> alt_high,</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> cpl_boolean isbad_low,</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> cpl_boolean isbad_mid,</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> cpl_boolean isbad_high)</div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> {</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> </div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> <span class="keyword">const</span> <span class="keywordtype">void</span> * selfdata = cpl_image_get_data_const(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> <span class="comment">/* hasbpm reduces check-overhead if self does not have a bpm, and if</span></div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> <span class="comment"> self is also passed as an output image, that ends up with bad pixels */</span></div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="comment">/* FIXME: Need a proper way to know if a bpm has been allocated :-((((((( */</span></div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> <span class="keyword">const</span> cpl_boolean hasbpm</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> = cpl_image_count_rejected(<span class="keyword">self</span>) ? CPL_TRUE : CPL_FALSE;</div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> <span class="keyword">const</span> cpl_binary * selfbpm = hasbpm</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> ? cpl_mask_get_data_const(cpl_image_get_bpm_const(<span class="keyword">self</span>)) : NULL;</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> <span class="keyword">const</span> cpl_type selftype = cpl_image_get_type(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nx = cpl_image_get_size_x(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ny = cpl_image_get_size_y(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> <span class="keyword">const</span> <span class="keywordtype">int</span> npix = nx * ny;</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> <span class="keyword">const</span> cpl_boolean do_low = im_low != NULL;</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> <span class="keyword">const</span> cpl_boolean do_mid = im_mid != NULL;</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> <span class="keyword">const</span> cpl_boolean do_high = im_high != NULL;</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <span class="keywordtype">void</span> * lowdata = NULL;</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> <span class="keywordtype">void</span> * middata = NULL;</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> <span class="keywordtype">void</span> * highdata = NULL;</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> cpl_binary * lowbpm = NULL;</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> cpl_binary * midbpm = NULL;</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> cpl_binary * highbpm = NULL;</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> <span class="keyword">const</span> cpl_type lowtype</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> = do_low ? cpl_image_get_type(im_low) : CPL_TYPE_INVALID;</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> <span class="keyword">const</span> cpl_type midtype</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> = do_mid ? cpl_image_get_type(im_mid) : CPL_TYPE_INVALID;</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> <span class="keyword">const</span> cpl_type hightype</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> = do_high ? cpl_image_get_type(im_high) : CPL_TYPE_INVALID;</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> </div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> </div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> cpl_ensure_code(do_low || do_mid || do_high, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> cpl_ensure_code(th_low <= th_high, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> </div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> <span class="keywordflow">if</span> (do_low) {</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> cpl_ensure_code(cpl_image_get_size_x(im_low) == nx,</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> CPL_ERROR_INCOMPATIBLE_INPUT);</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> cpl_ensure_code(cpl_image_get_size_y(im_low) == ny,</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> CPL_ERROR_INCOMPATIBLE_INPUT);</div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> lowdata = cpl_image_get_data(im_low);</div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> }</div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> </div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> <span class="keywordflow">if</span> (do_mid) {</div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> cpl_ensure_code(cpl_image_get_size_x(im_mid) == nx,</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> CPL_ERROR_INCOMPATIBLE_INPUT);</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> cpl_ensure_code(cpl_image_get_size_y(im_mid) == ny,</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> CPL_ERROR_INCOMPATIBLE_INPUT);</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> middata = cpl_image_get_data(im_mid);</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> }</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> </div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> <span class="keywordflow">if</span> (do_high) {</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> cpl_ensure_code(cpl_image_get_size_x(im_high) == nx,</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> CPL_ERROR_INCOMPATIBLE_INPUT);</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> cpl_ensure_code(cpl_image_get_size_y(im_high) == ny,</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> CPL_ERROR_INCOMPATIBLE_INPUT);</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> highdata = cpl_image_get_data(im_high);</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> }</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> </div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> <span class="comment">/* From this point a failure would indicate a serious bug in CPL */</span></div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> </div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> <span class="keywordflow">for</span> (i = 0; i < npix; i++) {</div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> <span class="keyword">const</span> <span class="keywordtype">double</span> value = irplib_data_get_double(selfdata, selftype, i);</div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> cpl_boolean isalt_low = do_low;</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> cpl_boolean isalt_mid = do_mid;</div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> cpl_boolean isalt_high = do_high;</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> cpl_boolean setbad_low = do_low;</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> cpl_boolean setbad_mid = do_mid;</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> cpl_boolean setbad_high = do_high;</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <span class="keyword">const</span> <span class="keywordtype">void</span> * setdata = NULL;</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="keywordtype">double</span> alt_mid = 0.0; <span class="comment">/* Avoid (false) uninit warning */</span></div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> </div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="keywordflow">if</span> (isleq_low ? value <= th_low : value < th_low) {</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="keywordflow">if</span> (do_low) {</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> isalt_low = CPL_FALSE;</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> irplib_data_set_double(lowdata, lowtype, i, value);</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> setbad_low = hasbpm && selfbpm[i];</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> setdata = lowdata;</div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> }</div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> alt_mid = alt_low;</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (isgeq_high ? value >= th_high : value > th_high) {</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> <span class="keywordflow">if</span> (do_high) {</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> isalt_high = CPL_FALSE;</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> irplib_data_set_double(highdata, hightype, i, value);</div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> setbad_high = hasbpm && selfbpm[i];</div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> setdata = highdata;</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> }</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> alt_mid = alt_high;</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (do_mid) {</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> isalt_mid = CPL_FALSE;</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> irplib_data_set_double(middata, midtype, i, value);</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> setbad_mid = hasbpm && selfbpm[i];</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> setdata = middata;</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> }</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> </div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> <span class="keywordflow">if</span> (isalt_low && lowdata != setdata) {</div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> irplib_data_set_double(lowdata, lowtype, i, alt_low);</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> setbad_low = isbad_low;</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> }</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> <span class="keywordflow">if</span> (isalt_mid && middata != setdata) {</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> irplib_data_set_double(middata, midtype, i, alt_mid);</div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> setbad_mid = isbad_mid;</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> }</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> <span class="keywordflow">if</span> (isalt_high && highdata != setdata) {</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> irplib_data_set_double(highdata, hightype, i, alt_high);</div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> setbad_high = isbad_high;</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> }</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> </div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> <span class="keywordflow">if</span> (setbad_low) {</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> <span class="keywordflow">if</span> (lowbpm == NULL) lowbpm</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> = cpl_mask_get_data(cpl_image_get_bpm(im_low));</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> lowbpm[i] = CPL_BINARY_1;</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> }</div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> <span class="keywordflow">if</span> (setbad_mid) {</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> <span class="keywordflow">if</span> (midbpm == NULL) midbpm</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> = cpl_mask_get_data(cpl_image_get_bpm(im_mid));</div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> midbpm[i] = CPL_BINARY_1;</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> }</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> <span class="keywordflow">if</span> (setbad_high) {</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> <span class="keywordflow">if</span> (highbpm == NULL) highbpm</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> = cpl_mask_get_data(cpl_image_get_bpm(im_high));</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> highbpm[i] = CPL_BINARY_1;</div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> }</div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> }</div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> </div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> </div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> }</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> </div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> </div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> </div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> cpl_error_code</div>
-<div class="line"><a name="l00860"></a><span class="lineno"><a class="code" href="group__irplib__utils.html#ga3d1a791b5dc870770611c7dbf60d02df"> 860</a></span> <a class="code" href="group__irplib__utils.html#ga3d1a791b5dc870770611c7dbf60d02df" title="Create a DFS product with one table from one or more (ASCII) file(s)">irplib_dfs_table_convert</a>(cpl_table * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> cpl_frameset * allframes,</div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> <span class="keyword">const</span> cpl_frameset * useframes,</div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> <span class="keywordtype">int</span> maxlinelen,</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> <span class="keywordtype">char</span> commentchar,</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * product_name,</div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * procatg,</div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> <span class="keyword">const</span> cpl_parameterlist * parlist,</div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * recipe_name,</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> <span class="keyword">const</span> cpl_propertylist * mainlist,</div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> <span class="keyword">const</span> cpl_propertylist * extlist,</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * remregexp,</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * instrume,</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * pipe_id,</div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> cpl_boolean (*table_set_row)</div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> (cpl_table *, <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> <span class="keyword">const</span> cpl_frame *,</div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> <span class="keyword">const</span> cpl_parameterlist *),</div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> cpl_error_code (*table_check)</div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> (cpl_table *,</div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> <span class="keyword">const</span> cpl_frameset *,</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> <span class="keyword">const</span> cpl_parameterlist *))</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> {</div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> </div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * filename;</div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> cpl_propertylist * applist = NULL;</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> cpl_errorstate prestate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> cpl_error_code error;</div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> <span class="keywordtype">char</span> * fallback_filename = NULL;</div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> </div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> cpl_ensure_code(allframes != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> cpl_ensure_code(useframes != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> cpl_ensure_code(procatg != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> cpl_ensure_code(parlist != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> cpl_ensure_code(recipe_name != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> cpl_ensure_code(instrume != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> cpl_ensure_code(pipe_id != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> </div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> cpl_ensure_code(!<a class="code" href="group__irplib__utils.html#ga59a68df1795523d4f7653875bd9fc01d" title="Set the rows of a table with data from one or more (ASCII) files.">irplib_table_read_from_frameset</a>(<span class="keyword">self</span>, useframes,</div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> maxlinelen,</div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> commentchar,</div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> parlist,</div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> table_set_row),</div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> cpl_error_get_code());</div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> </div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> <span class="keywordflow">if</span> (table_check != NULL && (table_check(<span class="keyword">self</span>, useframes, parlist) ||</div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> !cpl_errorstate_is_equal(prestate))) {</div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> <span class="keywordflow">return</span> cpl_error_set_message(cpl_func, cpl_error_get_code(),</div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> <span class="stringliteral">"Consistency check of table failed"</span>);</div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> }</div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> </div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> fallback_filename = cpl_sprintf(<span class="stringliteral">"%s"</span> CPL_DFS_FITS, recipe_name);</div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> filename = product_name != NULL ? product_name : fallback_filename;</div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> </div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> applist = mainlist == NULL</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> ? cpl_propertylist_new() : cpl_propertylist_duplicate(mainlist);</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> </div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> error = cpl_propertylist_update_string(applist, <span class="stringliteral">"INSTRUME"</span>, instrume);</div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> </div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> <span class="keywordflow">if</span> (!error)</div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> error = <a class="code" href="group__irplib__utils.html#ga62a91f8630af11164547c168660b2ade" title="Save a table as a DFS-compliant pipeline product.">irplib_dfs_save_table</a>(allframes, parlist, useframes, <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> extlist, recipe_name, procatg, applist,</div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> remregexp, pipe_id, filename);</div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> </div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> cpl_propertylist_delete(applist);</div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> cpl_free(fallback_filename);</div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> </div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> <span class="comment">/* Propagate the error, if any */</span></div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> cpl_ensure_code(!error, error);</div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> </div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> </div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> }</div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> </div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> </div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> </div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> </div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> cpl_error_code</div>
-<div class="line"><a name="l00989"></a><span class="lineno"><a class="code" href="group__irplib__utils.html#ga59a68df1795523d4f7653875bd9fc01d"> 989</a></span> <a class="code" href="group__irplib__utils.html#ga59a68df1795523d4f7653875bd9fc01d" title="Set the rows of a table with data from one or more (ASCII) files.">irplib_table_read_from_frameset</a>(cpl_table * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> <span class="keyword">const</span> cpl_frameset * useframes,</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> <span class="keywordtype">int</span> maxlinelen,</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> <span class="keywordtype">char</span> commentchar,</div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> <span class="keyword">const</span> cpl_parameterlist * parlist,</div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> cpl_boolean (*table_set_row)</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> (cpl_table *, <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> <span class="keyword">const</span> cpl_frame *,</div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> <span class="keyword">const</span> cpl_parameterlist *))</div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> {</div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> </div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> <span class="keyword">const</span> cpl_frame * rawframe;</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> <span class="keywordtype">char</span> * linebuffer = NULL;</div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> FILE * stream = NULL;</div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> <span class="keywordtype">int</span> nfiles = 0;</div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> <span class="keywordtype">int</span> nrow = cpl_table_get_nrow(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> <span class="keywordtype">int</span> irow = 0;</div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> cpl_errorstate prestate = cpl_errorstate_get();</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> </div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> cpl_ensure_code(useframes != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> cpl_ensure_code(maxlinelen > 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> cpl_ensure_code(parlist != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> cpl_ensure_code(table_set_row != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> </div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> linebuffer = cpl_malloc(maxlinelen);</div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> </div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> <span class="keywordflow">for</span> (rawframe = cpl_frameset_get_first_const(useframes);</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> rawframe != NULL;</div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> rawframe = cpl_frameset_get_next_const(useframes), nfiles++) {</div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> </div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * rawfile = cpl_frame_get_filename(rawframe);</div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * done; <span class="comment">/* Indicate when the reading is done */</span></div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> <span class="keyword">const</span> <span class="keywordtype">int</span> irowpre = irow;</div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> <span class="keywordtype">int</span> iirow = 0;</div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> <span class="keywordtype">int</span> ierror;</div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> </div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> <span class="keywordflow">if</span> (rawfile == NULL) <span class="keywordflow">break</span>; <span class="comment">/* Should not happen... */</span></div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> </div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> stream = fopen(rawfile, <span class="stringliteral">"r"</span>);</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> </div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> <span class="keywordflow">if</span> (stream == NULL) {</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> <span class="preprocessor">#if defined CPL_HAVE_VA_ARGS && CPL_HAVE_VA_ARGS != 0</span></div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> <span class="preprocessor"></span> cpl_error_set_message(cpl_func, CPL_ERROR_FILE_IO, <span class="stringliteral">"Could not "</span></div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> <span class="stringliteral">"open %s for reading"</span>, rawfile);</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> <span class="preprocessor"></span> cpl_error_set_message(cpl_func, CPL_ERROR_FILE_IO, <span class="stringliteral">"Could not "</span></div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> <span class="stringliteral">"open file for reading"</span>);</div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> <span class="preprocessor"></span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> }</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> </div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> <span class="keywordflow">for</span> (;(done = fgets(linebuffer, maxlinelen, stream)) != NULL; iirow++) {</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> </div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> <span class="keywordflow">if</span> (linebuffer[0] != commentchar) {</div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> cpl_boolean didset;</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> <span class="preprocessor">#if defined CPL_HAVE_VA_ARGS && CPL_HAVE_VA_ARGS != 0</span></div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> <span class="preprocessor"></span> <span class="keyword">const</span> <span class="keywordtype">int</span> prerow = irow;</div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> <span class="keywordflow">if</span> (irow == nrow) {</div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> nrow += nrow ? nrow : 1;</div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> <span class="keywordflow">if</span> (cpl_table_set_size(<span class="keyword">self</span>, nrow)) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> }</div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> </div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> didset = table_set_row(<span class="keyword">self</span>, linebuffer, irow, rawframe,</div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> parlist);</div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> <span class="keywordflow">if</span> (didset) irow++;</div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> </div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(prestate)) {</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> <span class="keywordflow">if</span> (didset)</div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> <span class="preprocessor">#if defined CPL_HAVE_VA_ARGS && CPL_HAVE_VA_ARGS != 0</span></div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> <span class="preprocessor"></span> cpl_error_set_message(cpl_func, cpl_error_get_code(),</div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> <span class="stringliteral">"Failed to set table row %d "</span></div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> <span class="stringliteral">"using line %d from %d. file %s"</span>,</div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> 1+prerow, iirow+1,</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> nfiles+1, rawfile);</div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> cpl_error_set_message(cpl_func, cpl_error_get_code(),</div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> <span class="stringliteral">"Failure with line %d from %d. "</span></div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> <span class="stringliteral">"file %s"</span>, iirow+1,</div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> nfiles+1, rawfile);</div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> <span class="preprocessor"></span> cpl_error_set_message(cpl_func, cpl_error_get_code(),</div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> <span class="stringliteral">"Failed to set table row"</span></div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> <span class="stringliteral">"using catalogue line"</span>);</div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> cpl_error_set_message(cpl_func, cpl_error_get_code(),</div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> <span class="stringliteral">"Failure with catalogue line"</span>);</div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> }</div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> }</div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> }</div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> <span class="keywordflow">if</span> (done != NULL) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> </div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> ierror = fclose(stream);</div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> stream = NULL;</div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> <span class="keywordflow">if</span> (ierror) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> </div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> </div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> <span class="keywordflow">if</span> (irow == irowpre)</div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> cpl_msg_warning(cpl_func, <span class="stringliteral">"No usable lines in the %d. file: %s"</span>,</div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> 1+nfiles, rawfile);</div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> }</div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> </div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> cpl_free(linebuffer);</div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> <span class="keywordflow">if</span> (stream != NULL) fclose(stream);</div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> </div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> <span class="comment">/* Check for premature end */</span></div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> cpl_ensure_code(rawframe == NULL, cpl_error_get_code());</div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> </div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> <span class="keywordflow">if</span> (irow == 0) {</div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> <span class="preprocessor">#if defined CPL_HAVE_VA_ARGS && CPL_HAVE_VA_ARGS != 0</span></div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> <span class="preprocessor"></span> <span class="keywordflow">return</span> cpl_error_set_message(cpl_func, CPL_ERROR_DATA_NOT_FOUND,</div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> <span class="stringliteral">"No usable lines in the %d input "</span></div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> <span class="stringliteral">"frame(s)"</span>, nfiles);</div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> <span class="preprocessor"></span> <span class="keywordflow">return</span> cpl_error_set_message(cpl_func, CPL_ERROR_DATA_NOT_FOUND,</div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> <span class="stringliteral">"No usable lines in the input frame(s)"</span>);</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> <span class="preprocessor"></span> }</div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> </div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> <span class="comment">/* Resize the table to the actual number of rows set */</span></div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> cpl_ensure_code(!cpl_table_set_size(<span class="keyword">self</span>, irow), cpl_error_get_code());</div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> </div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> }</div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> </div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> </div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> </div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01134"></a><span class="lineno"><a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e"> 1134</a></span> <span class="keywordtype">void</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> {</div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> }</div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> </div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01147"></a><span class="lineno"><a class="code" href="group__irplib__utils.html#gae13f0d6b24ade506a99ac9c4bb09efde"> 1147</a></span> <span class="keywordtype">int</span> <a class="code" href="group__irplib__utils.html#gae13f0d6b24ade506a99ac9c4bb09efde" title="Comparison function to identify different input frames.">irplib_compare_tags</a>(</div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> cpl_frame * frame1,</div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> cpl_frame * frame2)</div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> {</div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * v1 ;</div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * v2 ;</div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> </div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> <span class="keywordflow">if</span> (frame1==NULL || frame2==NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> </div>
-<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> <span class="comment">/* Get the tags */</span></div>
-<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> <span class="keywordflow">if</span> ((v1 = cpl_frame_get_tag(frame1)) == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> <span class="keywordflow">if</span> ((v2 = cpl_frame_get_tag(frame2)) == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> </div>
-<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> <span class="comment">/* Compare the tags */</span></div>
-<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> <span class="keywordflow">if</span> (strcmp(v1, v2)) <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> }</div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> </div>
-<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01183"></a><span class="lineno"><a class="code" href="group__irplib__utils.html#ga9fe4dca85dee68061114e26fdc72a134"> 1183</a></span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="group__irplib__utils.html#ga9fe4dca85dee68061114e26fdc72a134" title="Find the filename with the given tag in a frame set.">irplib_frameset_find_file</a>(<span class="keyword">const</span> cpl_frameset * <span class="keyword">self [...]
-<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> {</div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> <span class="keyword">const</span> cpl_frame * frame = cpl_frameset_find_const(<span class="keyword">self</span>, tag);</div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> </div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> </div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> cpl_ensure(!cpl_error_get_code(), cpl_error_get_code(), NULL);</div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> </div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> <span class="keywordflow">if</span> (frame == NULL) <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> </div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> <span class="keywordflow">if</span> (cpl_frameset_find_const(<span class="keyword">self</span>, NULL))</div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> cpl_msg_warning(cpl_func,</div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> <span class="stringliteral">"Frameset has more than one file with tag: %s"</span>,</div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> tag);</div>
-<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> </div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> <span class="keywordflow">return</span> cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> </div>
-<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> }</div>
-<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> </div>
-<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> <span class="keyword">const</span></div>
-<div class="line"><a name="l01214"></a><span class="lineno"><a class="code" href="group__irplib__utils.html#ga5b20a00f315410b49b1db1dd2417fe68"> 1214</a></span> cpl_frame * <a class="code" href="group__irplib__utils.html#ga5b20a00f315410b49b1db1dd2417fe68" title="Find the first frame belonging to the given group.">irplib_frameset_get_first_from_group</a>(<span class="keyword">const</span> cpl_frameset * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> cpl_frame_group group)</div>
-<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span> {</div>
-<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> <span class="keyword">const</span> cpl_frame * frame;</div>
-<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span> </div>
-<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span> cpl_ensure(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT, NULL);</div>
-<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> </div>
-<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span> <span class="keywordflow">for</span> (frame = cpl_frameset_get_first_const(<span class="keyword">self</span>); frame != NULL ;</div>
-<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span> frame = cpl_frameset_get_next_const(<span class="keyword">self</span>)) {</div>
-<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span> <span class="keywordflow">if</span> (cpl_frame_get_group(frame) == group) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> }</div>
-<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span> <span class="keywordflow">return</span> frame;</div>
-<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span> }</div>
-<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> </div>
-<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01248"></a><span class="lineno"><a class="code" href="group__irplib__utils.html#gac568c70a57ef8610f5fedc9f1943a3a1"> 1248</a></span> cpl_error_code <a class="code" href="group__irplib__utils.html#gac568c70a57ef8610f5fedc9f1943a3a1" title="Find the aperture(s) with the greatest flux.">irplib_apertures_find_max_flux</a>(<span class="keyword">const</span> cpl_apertures * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span> <span class="keywordtype">int</span> * ind, <span class="keywordtype">int</span> nfind)</div>
-<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span> {</div>
-<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nsize = cpl_apertures_get_size(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> <span class="keywordtype">int</span> ifind;</div>
-<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> </div>
-<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> </div>
-<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> cpl_ensure_code(nsize > 0, cpl_error_get_code());</div>
-<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> cpl_ensure_code(ind, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> cpl_ensure_code(nfind > 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> cpl_ensure_code(nfind <= nsize, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> </div>
-<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> <span class="keywordflow">for</span> (ifind=0; ifind < nfind; ifind++) {</div>
-<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> <span class="keywordtype">double</span> maxflux = -1;</div>
-<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> <span class="keywordtype">int</span> maxind = -1;</div>
-<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> <span class="keywordflow">for</span> (i=1; i <= nsize; i++) {</div>
-<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> <span class="keywordtype">int</span> k;</div>
-<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> </div>
-<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> <span class="comment">/* The flux has to be the highest among those not already found */</span></div>
-<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> <span class="keywordflow">for</span> (k=0; k < ifind; k++) <span class="keywordflow">if</span> (ind[k] == i) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> </div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> <span class="keywordflow">if</span> (k == ifind) {</div>
-<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> <span class="comment">/* i has not been inserted into ind */</span></div>
-<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> <span class="keyword">const</span> <span class="keywordtype">double</span> flux = cpl_apertures_get_flux(<span class="keyword">self</span>, i);</div>
-<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> </div>
-<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> <span class="keywordflow">if</span> (maxind < 0 || flux > maxflux) {</div>
-<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span> maxind = i;</div>
-<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> maxflux = flux;</div>
-<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> }</div>
-<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span> }</div>
-<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> }</div>
-<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span> ind[ifind] = maxind;</div>
-<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span> }</div>
-<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> </div>
-<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span> </div>
-<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span> }</div>
-<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span> </div>
-<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span> <span class="keyword">inline</span> <span class="keyword">static</span></div>
-<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span> <span class="keywordtype">double</span> irplib_data_get_double(<span class="keyword">const</span> <span class="keywordtype">void</span> * <span class="keyword">self</span>, cpl_type type, <span class="keywordtype">int</span> i)</div>
-<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> {</div>
-<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span> </div>
-<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> <span class="keywordtype">double</span> value;</div>
-<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span> </div>
-<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span> </div>
-<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> <span class="keywordflow">switch</span> (type) {</div>
-<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> <span class="keywordflow">case</span> CPL_TYPE_FLOAT:</div>
-<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span> {</div>
-<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span> <span class="keyword">const</span> <span class="keywordtype">float</span> * pself = (<span class="keyword">const</span> <span class="keywordtype">float</span>*)<span class="keyword">self</span>;</div>
-<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> value = (double)pself[i];</div>
-<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span> }</div>
-<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span> <span class="keywordflow">case</span> CPL_TYPE_INT:</div>
-<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span> {</div>
-<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span> <span class="keyword">const</span> <span class="keywordtype">int</span> * pself = (<span class="keyword">const</span> <span class="keywordtype">int</span>*)<span class="keyword">self</span>;</div>
-<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span> value = (double)pself[i];</div>
-<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span> }</div>
-<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span> <span class="keywordflow">default</span>: <span class="comment">/* case CPL_TYPE_DOUBLE */</span></div>
-<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span> {</div>
-<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> <span class="keyword">const</span> <span class="keywordtype">double</span> * pself = (<span class="keyword">const</span> <span class="keywordtype">double</span>*)<span class="keyword">self</span>;</div>
-<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span> value = pself[i];</div>
-<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> }</div>
-<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> }</div>
-<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span> </div>
-<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span> <span class="keywordflow">return</span> value;</div>
-<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span> </div>
-<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span> }</div>
-<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span> </div>
-<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span> </div>
-<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> <span class="keyword">inline</span> <span class="keyword">static</span></div>
-<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span> <span class="keywordtype">void</span> irplib_data_set_double(<span class="keywordtype">void</span> * <span class="keyword">self</span>, cpl_type type, <span class="keywordtype">int</span> i, <span class="keywordtype">double</span> value)</div>
-<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span> {</div>
-<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> </div>
-<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span> <span class="keywordflow">switch</span> (type) {</div>
-<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> <span class="keywordflow">case</span> CPL_TYPE_FLOAT:</div>
-<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span> {</div>
-<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span> <span class="keywordtype">float</span> * pself = (<span class="keywordtype">float</span>*)<span class="keyword">self</span>;</div>
-<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span> pself[i] = (float)value;</div>
-<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span> }</div>
-<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span> <span class="keywordflow">case</span> CPL_TYPE_INT:</div>
-<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span> {</div>
-<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span> <span class="keywordtype">int</span> * pself = (<span class="keywordtype">int</span>*)<span class="keyword">self</span>;</div>
-<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span> pself[i] = (int)value;</div>
-<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span> }</div>
-<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span> <span class="keywordflow">default</span>: <span class="comment">/* case CPL_TYPE_DOUBLE */</span></div>
-<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span> {</div>
-<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span> <span class="keywordtype">double</span> * pself = (<span class="keywordtype">double</span>*)<span class="keyword">self</span>;</div>
-<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span> pself[i] = value;</div>
-<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span> }</div>
-<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span> }</div>
-<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span> }</div>
-<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span> </div>
-<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span> </div>
-<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span> </div>
-<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span> </div>
-<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span> </div>
-<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span> <span class="keyword">static</span></div>
-<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span> <span class="keywordtype">void</span> irplib_errorstate_dump_one_level(<span class="keywordtype">void</span> (*messenger)(<span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *, ...),</div>
-<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span> <span class="keywordtype">unsigned</span> <span class="keyword">self</span>, <span class="keywordtype">unsigned</span> first,</div>
-<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span> <span class="keywordtype">unsigned</span> last)</div>
-<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span> {</div>
-<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span> </div>
-<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span> <span class="keyword">const</span> cpl_boolean is_reverse = first > last ? CPL_TRUE : CPL_FALSE;</div>
-<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> newest = is_reverse ? first : last;</div>
-<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> oldest = is_reverse ? last : first;</div>
-<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * revmsg = is_reverse ? <span class="stringliteral">" in reverse order"</span> : <span class="stringliteral">""</span>;</div>
-<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span> </div>
-<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span> </div>
-<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span> <span class="comment"> cx_assert( messenger != NULL );</span></div>
-<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span> <span class="comment"> cx_assert( oldest <= self );</span></div>
-<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span> <span class="comment"> cx_assert( newest >= self );</span></div>
-<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span> </div>
-<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span> <span class="keywordflow">if</span> (newest == 0) {</div>
-<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span> messenger(cpl_func, <span class="stringliteral">"No error(s) to dump"</span>);</div>
-<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span> <span class="comment">/* cx_assert( oldest == 0); */</span></div>
-<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span> <span class="comment"> cx_assert( oldest > 0);</span></div>
-<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span> <span class="comment"> cx_assert( newest >= oldest);</span></div>
-<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span> <span class="keywordflow">if</span> (<span class="keyword">self</span> == first) {</div>
-<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span> <span class="keywordflow">if</span> (oldest == 1) {</div>
-<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span> messenger(cpl_func, <span class="stringliteral">"Dumping all %u error(s)%s:"</span>, newest,</div>
-<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span> revmsg);</div>
-<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span> messenger(cpl_func, <span class="stringliteral">"Dumping the %u most recent error(s) "</span></div>
-<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span> <span class="stringliteral">"out of a total of %u errors%s:"</span>,</div>
-<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span> newest - oldest + 1, newest, revmsg);</div>
-<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span> }</div>
-<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span> cpl_msg_indent_more();</div>
-<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span> }</div>
-<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span> </div>
-<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span> messenger(cpl_func, <span class="stringliteral">"[%u/%u] '%s' (%u) at %s"</span>, <span class="keyword">self</span>, newest,</div>
-<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span> cpl_error_get_message(), cpl_error_get_code(),</div>
-<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span> cpl_error_get_where());</div>
-<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span> </div>
-<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span> <span class="keywordflow">if</span> (<span class="keyword">self</span> == last) cpl_msg_indent_less();</div>
-<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span> }</div>
-<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span> }</div>
-<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span> </div>
-<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span> cpl_polynomial * irplib_polynomial_fit_1d_create_chiq(</div>
-<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span> <span class="keyword">const</span> cpl_vector * x_pos,</div>
-<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span> <span class="keyword">const</span> cpl_vector * values,</div>
-<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span> <span class="keywordtype">int</span> degree,</div>
-<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span> <span class="keywordtype">double</span> * rechisq</div>
-<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span> )</div>
-<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span> {</div>
-<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span> <span class="keywordflow">return</span> irplib_polynomial_fit_1d_create_common(x_pos, values, degree, NULL, rechisq);</div>
-<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span> }</div>
-<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span> cpl_polynomial * irplib_polynomial_fit_1d_create(</div>
-<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span> <span class="keyword">const</span> cpl_vector * x_pos,</div>
-<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span> <span class="keyword">const</span> cpl_vector * values,</div>
-<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span> <span class="keywordtype">int</span> degree,</div>
-<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span> <span class="keywordtype">double</span> * mse</div>
-<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span> )</div>
-<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span> {</div>
-<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span> </div>
-<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span> <span class="keywordflow">return</span> irplib_polynomial_fit_1d_create_common(x_pos, values, degree, mse, NULL);</div>
-<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span> }</div>
-<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span> <span class="keyword">static</span> cpl_polynomial * irplib_polynomial_fit_1d_create_common(</div>
-<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span> <span class="keyword">const</span> cpl_vector * x_pos,</div>
-<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span> <span class="keyword">const</span> cpl_vector * values,</div>
-<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span> <span class="keywordtype">int</span> degree,</div>
-<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span> <span class="keywordtype">double</span> * mse,</div>
-<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span> <span class="keywordtype">double</span> * rechisq</div>
-<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span> )</div>
-<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span> {</div>
-<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span> cpl_polynomial * fit1d = NULL;</div>
-<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span> cpl_size loc_degree = (cpl_size)degree ;</div>
-<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span> <span class="keywordtype">int</span> x_size = 0;</div>
-<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span> fit1d = cpl_polynomial_new(1);</div>
-<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span> x_size = cpl_vector_get_size(x_pos); </div>
-<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span> <span class="keywordflow">if</span>(fit1d != NULL && x_size > 1)</div>
-<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span> {</div>
-<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span> cpl_matrix * samppos = NULL;</div>
-<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span> cpl_vector * fitresidual = NULL;</div>
-<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span> cpl_ensure(!cpl_error_get_code(), cpl_error_get_code(), NULL);</div>
-<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span> samppos = cpl_matrix_wrap(1, x_size,</div>
-<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span> (<span class="keywordtype">double</span>*)cpl_vector_get_data_const(x_pos));</div>
-<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span> cpl_ensure(!cpl_error_get_code(), cpl_error_get_code(), NULL);</div>
-<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span> fitresidual = cpl_vector_new(x_size);</div>
-<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span> cpl_ensure(!cpl_error_get_code(), cpl_error_get_code(), NULL);</div>
-<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span> cpl_polynomial_fit(fit1d, samppos, NULL, values, NULL,</div>
-<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span> CPL_FALSE, NULL, &loc_degree);</div>
-<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span> cpl_ensure(!cpl_error_get_code(), cpl_error_get_code(), NULL);</div>
-<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span> cpl_vector_fill_polynomial_fit_residual(fitresidual, values, NULL,</div>
-<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span> fit1d, samppos, rechisq);</div>
-<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span> cpl_ensure(!cpl_error_get_code(), cpl_error_get_code(), NULL);</div>
-<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span> <span class="keywordflow">if</span> (mse)</div>
-<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span> {</div>
-<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span> *mse = cpl_vector_product(fitresidual, fitresidual)</div>
-<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span> / cpl_vector_get_size(fitresidual);</div>
-<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span> }</div>
-<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span> cpl_matrix_unwrap(samppos);</div>
-<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span> cpl_vector_delete(fitresidual);</div>
-<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span> }</div>
-<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span> <span class="keywordflow">return</span> fit1d;</div>
-<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span> }</div>
-<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span> </div>
-<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span> <span class="keyword">static</span> <span class="keywordtype">void</span> quicksort(<span class="keywordtype">int</span>* iindex, <span class="keywordtype">double</span>* exptime, <span class="keywordtype">int</span> left, <span class="keywordtype">int</span> right)</div>
-<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span> {</div>
-<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span> <span class="keywordtype">int</span> i = left;</div>
-<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span> <span class="keywordtype">int</span> j = right;</div>
-<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span> <span class="keywordtype">int</span> pivot = (i + j) / 2;</div>
-<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span> <span class="keywordtype">double</span> index_value = exptime[pivot];</div>
-<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span> <span class="keywordflow">do</span></div>
-<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span> {</div>
-<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span> <span class="keywordflow">while</span>(exptime[i] < index_value) i++;</div>
-<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span> <span class="keywordflow">while</span>(exptime[j] > index_value) j--;</div>
-<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span> <span class="keywordflow">if</span> (i <= j)</div>
-<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span> {</div>
-<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span> <span class="keywordflow">if</span>(i < j)</div>
-<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span> {</div>
-<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span> <span class="keywordtype">int</span> tmp = iindex[i];</div>
-<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span> <span class="keywordtype">double</span> dtmp = exptime[i];</div>
-<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span> iindex[i]=iindex[j];</div>
-<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span> iindex[j]=tmp;</div>
-<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span> exptime[i] = exptime[j];</div>
-<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span> exptime[j] = dtmp;</div>
-<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span> }</div>
-<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span> i++;</div>
-<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span> j--;</div>
-<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span> }</div>
-<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span> } <span class="keywordflow">while</span> (i <= j);</div>
-<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span> </div>
-<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span> <span class="keywordflow">if</span> (i < right)</div>
-<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span> {</div>
-<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span> quicksort(iindex, exptime, i, right);</div>
-<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span> }</div>
-<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span> <span class="keywordflow">if</span> (left < j)</div>
-<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span> {</div>
-<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span> quicksort(iindex, exptime,left, j);</div>
-<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span> }</div>
-<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span> }</div>
-<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span> cpl_error_code irplib_frameset_sort(<span class="keyword">const</span> cpl_frameset * <span class="keyword">self</span>, <span class="keywordtype">int</span>* iindex, <span class="keywordtype">double</span>* exptime)</div>
-<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span> {</div>
-<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span> <span class="keywordtype">int</span> sz = 0;</div>
-<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span> <span class="keywordtype">int</span> i = 0;</div>
-<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span> <span class="keyword">const</span> cpl_frame* tmp_frame = 0;</div>
-<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span> cpl_error_code error = CPL_ERROR_NONE;</div>
-<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span> sz = cpl_frameset_get_size(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span> </div>
-<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span> <span class="comment">/* 1. get an array of frames */</span></div>
-<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span> tmp_frame = cpl_frameset_get_first_const(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span> <span class="keywordflow">while</span>(tmp_frame)</div>
-<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span> {</div>
-<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span> exptime[i] = frame_get_exptime(tmp_frame);</div>
-<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span> iindex[i] = i;</div>
-<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span> tmp_frame = cpl_frameset_get_next_const(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span> i++;</div>
-<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span> }</div>
-<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span> <span class="comment">/* 2.sort */</span></div>
-<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span> quicksort(iindex, exptime, 0, sz - 1);</div>
-<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span> </div>
-<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span> <span class="keywordflow">return</span> error;</div>
-<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span> }</div>
-<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span> </div>
-<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span> <span class="keyword">static</span> <span class="keywordtype">double</span> frame_get_exptime(<span class="keyword">const</span> cpl_frame * pframe)</div>
-<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span> {</div>
-<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span> <span class="keywordtype">double</span> dval = 0;</div>
-<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span> cpl_propertylist * plist =</div>
-<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span> cpl_propertylist_load_regexp(cpl_frame_get_filename(pframe), 0,</div>
-<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span> <span class="stringliteral">"EXPTIME"</span>, CPL_FALSE);</div>
-<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span> <span class="keywordflow">if</span>(plist) {</div>
-<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span> dval = cpl_propertylist_get_double(plist, <span class="stringliteral">"EXPTIME"</span>);</div>
-<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span> cpl_msg_error(cpl_func, <span class="stringliteral">"error during reading EXPTIME key from "</span></div>
-<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span> <span class="stringliteral">"the frame [%s]"</span>, cpl_frame_get_filename(pframe));</div>
-<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span> }</div>
-<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span> }</div>
-<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span> <span class="comment">/* Free and return */</span></div>
-<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span> cpl_propertylist_delete(plist);</div>
-<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span> <span class="keywordflow">return</span> dval;</div>
-<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span> }</div>
-<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span> </div>
-<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span> </div>
-<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span> <span class="keywordtype">void</span> * irplib_aligned_malloc(<span class="keywordtype">size_t</span> alignment, <span class="keywordtype">size_t</span> size)</div>
-<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span> {</div>
-<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span> <span class="preprocessor">#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 201112L</span></div>
-<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span> <span class="preprocessor"></span> <span class="keywordflow">return</span> aligned_alloc(alignment, size);</div>
-<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span> <span class="preprocessor">#elif defined HAVE_POSIX_MEMALIGN && defined HAVE_DECL_POSIX_MEMALIGN</span></div>
-<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span> <span class="preprocessor"></span> <span class="keywordtype">void</span> *ptr;</div>
-<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span> <span class="keywordflow">if</span> (alignment == 1)</div>
-<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span> <span class="keywordflow">return</span> malloc (size);</div>
-<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span> <span class="keywordflow">if</span> (alignment == 2 || (<span class="keyword">sizeof</span> (<span class="keywordtype">void</span> *) == 8 && alignment == 4))</div>
-<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span> alignment = <span class="keyword">sizeof</span> (<span class="keywordtype">void</span> *);</div>
-<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span> <span class="keywordflow">if</span> (posix_memalign (&ptr, alignment, size) == 0)</div>
-<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span> <span class="keywordflow">return</span> ptr;</div>
-<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span> <span class="preprocessor"></span> <span class="comment">/* copied from gmm_malloc.h in gcc-4.8 */</span></div>
-<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span> <span class="keywordtype">void</span> * malloc_ptr;</div>
-<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span> <span class="keywordtype">void</span> * aligned_ptr;</div>
-<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span> </div>
-<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span> <span class="comment">/* Error if align is not a power of two. */</span></div>
-<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span> <span class="keywordflow">if</span> (alignment & (alignment - 1)) {</div>
-<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span> errno = EINVAL;</div>
-<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span> }</div>
-<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span> </div>
-<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span> <span class="keywordflow">if</span> (size == 0)</div>
-<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span> </div>
-<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span> <span class="comment">/* Assume malloc'd pointer is aligned at least to sizeof (void*).</span></div>
-<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span> <span class="comment"> If necessary, add another sizeof (void*) to store the value</span></div>
-<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span> <span class="comment"> returned by malloc. Effectively this enforces a minimum alignment</span></div>
-<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span> <span class="comment"> of sizeof double. */</span></div>
-<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span> <span class="keywordflow">if</span> (alignment < 2 * <span class="keyword">sizeof</span> (<span class="keywordtype">void</span> *))</div>
-<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span> alignment = 2 * <span class="keyword">sizeof</span> (<span class="keywordtype">void</span> *);</div>
-<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span> </div>
-<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span> malloc_ptr = malloc (size + alignment);</div>
-<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span> <span class="keywordflow">if</span> (!malloc_ptr)</div>
-<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span> </div>
-<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span> <span class="comment">/* Align We have at least sizeof (void *) space below malloc'd ptr. */</span></div>
-<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span> aligned_ptr = (<span class="keywordtype">void</span> *) (((<span class="keywordtype">size_t</span>) malloc_ptr + alignment)</div>
-<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span> & ~((size_t) (alignment) - 1));</div>
-<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span> </div>
-<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span> <span class="comment">/* Store the original pointer just before p. */</span></div>
-<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span> *(((<span class="keywordtype">void</span> **) aligned_ptr) - 1) = malloc_ptr;</div>
-<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span> </div>
-<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span> <span class="keywordflow">return</span> aligned_ptr;</div>
-<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span> <span class="preprocessor"></span>}</div>
-<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span> </div>
-<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span> </div>
-<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span> <span class="keywordtype">void</span> * irplib_aligned_calloc(<span class="keywordtype">size_t</span> alignment, <span class="keywordtype">size_t</span> nelem, <span class="keywordtype">size_t</span> nbytes)</div>
-<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span> {</div>
-<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span> <span class="keywordtype">void</span> * buffer = irplib_aligned_malloc(alignment, nelem * nbytes);</div>
-<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span> <span class="keywordflow">if</span> (buffer == NULL)</div>
-<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span> <span class="comment">/* cast to aligned pointer helps compilers to emit better (builtin) code */</span></div>
-<div class="line"><a name="l01656"></a><span class="lineno"> 1656</span> memset((<span class="keywordtype">size_t</span> *)buffer, 0, nelem * nbytes);</div>
-<div class="line"><a name="l01657"></a><span class="lineno"> 1657</span> <span class="keywordflow">return</span> buffer;</div>
-<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span> }</div>
-<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span> </div>
-<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span> </div>
-<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span> <span class="keywordtype">void</span> irplib_aligned_free (<span class="keywordtype">void</span> * aligned_ptr)</div>
-<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span> {</div>
-<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span> <span class="preprocessor">#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 201112L</span></div>
-<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span> <span class="preprocessor"></span> free(aligned_ptr);</div>
-<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span> <span class="preprocessor">#elif defined HAVE_POSIX_MEMALIGN && defined HAVE_DECL_POSIX_MEMALIGN</span></div>
-<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span> <span class="preprocessor"></span> free(aligned_ptr);</div>
-<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span> <span class="preprocessor"></span> <span class="keywordflow">if</span> (aligned_ptr)</div>
-<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span> free (*(((<span class="keywordtype">void</span> **) aligned_ptr) - 1));</div>
-<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span> <span class="preprocessor"></span>}</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__utils_8h_source.html b/html/irplib__utils_8h_source.html
deleted file mode 100644
index 6848384..0000000
--- a/html/irplib__utils_8h_source.html
+++ /dev/null
@@ -1,551 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_utils.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_utils.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_utils.h,v 1.60 2013/08/21 14:55:14 cgarcia Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: cgarcia $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2013/08/21 14:55:14 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.60 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * $Log: irplib_utils.h,v $</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * Revision 1.60 2013/08/21 14:55:14 cgarcia</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Include math.h for declaration of isinf and isnan to avoid compiler warning</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> * Revision 1.59 2013/03/15 09:06:06 jtaylor</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> * add irplib_aligned_{[mc]alloc,free}</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * allow portable allocation of aligned memory for vectorization</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> * Revision 1.58 2013/03/15 09:05:28 jtaylor</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> * move isnan and isinf to header so it is inlineable and use gcc builtin for better performance</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * Revision 1.57 2013/02/27 16:02:02 jtaylor</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> * add diagnostic pragma macros</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> * Revision 1.56 2012/08/06 06:14:18 llundin</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> * irplib_errorstate_warning(): Replaced by cpl_errorstate_dump_one_warning() from CPL 6.X</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> * Revision 1.55 2011/06/01 06:47:56 llundin</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> * skip_if_lt(): Fix previous edits switch of A and B in error message</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> * Revision 1.54 2011/05/26 08:08:56 llundin</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> * skip_if_lt(): Support printf-style error message, name-space protect temporary variables</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> * Revision 1.53 2011/05/09 07:51:18 llundin</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> * irplib_dfs_save_image_(): Modified from cpl_dfs_save_image(). irplib_dfs_save_image(): Use irplib_dfs_save_image_()</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> * Revision 1.52 2010/03/23 07:57:59 kmirny</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> * DFS08552, Documentation for irplib_frameset_sort</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> * Revision 1.51 2009/12/16 14:59:30 cgarcia</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> * Avoid name clash with index function</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> * Revision 1.50 2009/08/17 15:10:16 kmirny</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> * DFS07454 DFS07437</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#ifndef IRPLIB_UTILS_H</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_UTILS_H</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor">#include <stdarg.h></span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> Define</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="preprocessor">#define IRPLIB_XSTRINGIFY(TOSTRING) #TOSTRING</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_STRINGIFY(TOSTRING) IRPLIB_XSTRINGIFY(TOSTRING)</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="preprocessor">#if !defined __GNUC__ && !defined __inline__</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="preprocessor"></span><span class="preprocessor">#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="preprocessor"></span><span class="preprocessor">#define __inline__ inline</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="preprocessor"></span><span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="preprocessor"></span><span class="preprocessor">#define __inline__</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="preprocessor">#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_DIAG_PRAGMA_PUSH_IGN(x) \</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="preprocessor"> _Pragma("GCC diagnostic push") \</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="preprocessor"> _Pragma(IRPLIB_STRINGIFY(GCC diagnostic ignored #x))</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_DIAG_PRAGMA_PUSH_ERR(x) \</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="preprocessor"> _Pragma("GCC diagnostic push") \</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor"> _Pragma(IRPLIB_STRINGIFY(GCC diagnostic error #x))</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_DIAG_PRAGMA_POP \</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="preprocessor"> _Pragma("GCC diagnostic pop")</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="preprocessor"></span><span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_DIAG_PRAGMA_PUSH_IGN(x)</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_DIAG_PRAGMA_PUSH_ERR(x)</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_DIAG_PRAGMA_POP</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">/* FIXME: Remove when no longer used by any irplib-based pipelines */</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment">/* Useful for debugging */</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="preprocessor">#define irplib_trace() do if (cpl_error_get_code()) { \</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="preprocessor"> cpl_msg_debug(cpl_func, __FILE__ " at line %d: ERROR '%s' at %s", \</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="preprocessor"> __LINE__, cpl_error_get_message(), cpl_error_get_where()); \</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="preprocessor"> } else { \</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="preprocessor"> cpl_msg_debug(cpl_func, __FILE__ " at line %d: OK", __LINE__); \</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="preprocessor"> } while (0)</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="preprocessor">#define irplib_error_recover(ESTATE, ...) \</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="preprocessor"> do if (!cpl_errorstate_is_equal(ESTATE)) { \</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="preprocessor"> cpl_msg_warning(cpl_func, __VA_ARGS__); \</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="preprocessor"> cpl_msg_indent_more(); \</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="preprocessor"> cpl_errorstate_dump(ESTATE, CPL_FALSE, \</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="preprocessor"> cpl_errorstate_dump_one_warning); \</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="preprocessor"> cpl_msg_indent_less(); \</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="preprocessor"> cpl_errorstate_set(ESTATE); \</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="preprocessor"> } while (0)</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment"> @brief Declare a function suitable for use with irplib_dfs_table_convert()</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment"> @param table_set_row The name of the function to declare</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment"> @see irplib_dfs_table_convert(), irplib_table_read_from_frameset()</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment"></span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="preprocessor">#define IRPLIB_UTIL_SET_ROW(table_set_row) \</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="preprocessor"> cpl_boolean table_set_row(cpl_table *, \</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="preprocessor"> const char *, \</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="preprocessor"> int, \</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="preprocessor"> const cpl_frame *, \</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="preprocessor"> const cpl_parameterlist *)</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment"> @brief Declare a function suitable for use with irplib_dfs_table_convert()</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment"> @param table_check The name of the function to declare</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment"> @see irplib_dfs_table_convert()</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment"></span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="preprocessor">#define IRPLIB_UTIL_CHECK(table_check) \</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="preprocessor"> cpl_error_code table_check(cpl_table *, \</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="preprocessor"> const cpl_frameset *, \</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="preprocessor"> const cpl_parameterlist *)</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment"> @brief Conditional skip to the (unqiue) return point of the function</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment"> @param CONDITION The condition to check</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment"> @see cpl_error_ensure()</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment"></span></div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment"> skip_if() takes one argument, which is a logical expression.</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment"> If the logical expression is false skip_if() takes no action and</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment"> program execution continues.</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment"> If the logical expression is true this indicates an error. In this case</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment"> skip_if() will set the location of the error to the point where it</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment"> was invoked in the recipe code (unless the error location is already in the</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="comment"> recipe code). If no error code had been set, then skip_if() will set one.</span></div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment"> Finally, skip_if() causes program execution to skip to the macro 'end_skip'.</span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment"> The macro end_skip is located towards the end of the function, after</span></div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment"> which all resource deallocation and the function return is located.</span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment"></span></div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment"> The use of skip_if() assumes the following coding practice:</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment"> 1) Pointers used for dynamically allocated memory that they "own" shall always</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment"> point to either NULL or to allocated memory (including CPL-objects).</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment"> 2) Such pointers may not be reused to point to memory whose deallocation</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment"> requires calls to different functions.</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="comment"> 3) Pointers of type FILE should be set NULL when not pointing to an open</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment"> stream and their closing calls (fclose(), freopen(), etc.) following the</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment"> 'end_skip' should be guarded against such NULL pointers.</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment"></span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment"> Error checking with skip_if() is encouraged due to the following advantages:</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment"> 1) It ensures that a CPL-error code is set.</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment"> 2) It ensures that the location of the error in the _recipe_ code is noted.</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment"> 3) The error checking may be confined to a single concise line.</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment"> 4) It is not necessary to replicate memory deallocation for every error</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment"> condition.</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment"> 5) If more extensive error reporting/handling is required it is not precluded</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="comment"> by the use of skip_if().</span></div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment"> 6) It allows for a single point of function return.</span></div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment"> 7) It allows for optional, uniformly formatted debugging/tracing information</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment"> at each macro invocation.</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment"></span></div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment"> The implementation of skip_if() uses a goto/label construction.</span></div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment"> According to Kerningham & Ritchie, The C Programming Language, 2nd edition,</span></div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment"> Section 3.8:</span></div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="comment"> "This organization is handy if the error-handling code is non-trivial,</span></div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment"> and if errors can occur in several places."</span></div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment"></span></div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment"> The use of goto for any other purpose should be avoided.</span></div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment"></span></div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="preprocessor">#define skip_if(CONDITION) \</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="preprocessor"> do { \</span></div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="preprocessor"> cpl_error_ensure(!cpl_error_get_code(), cpl_error_get_code(), \</span></div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="preprocessor"> goto cleanup, "Propagating a pre-existing error"); \</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="preprocessor"> cpl_error_ensure(!(CONDITION), cpl_error_get_code(), \</span></div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="preprocessor"> goto cleanup, "Propagating error");\</span></div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="preprocessor"> } while (0)</span></div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="comment"> @brief Skip if A < B</span></div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="comment"> @param A The 1st double to compare</span></div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="comment"> @param B The 2nd double to compare</span></div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="comment"> @param MSG A printf-style error message, 1st arg should be a string literal</span></div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="comment"> @see skip_if()</span></div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="comment"> @note A and B are evaluated exactly once</span></div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment"></span></div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment"> If no CPL error is set, sets CPL_ERROR_DATA_NOT_FOUND on failure</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="preprocessor">#define skip_if_lt(A, B, ...) \</span></div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="preprocessor"> do { \</span></div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="preprocessor"> </span><span class="comment">/* Name-space protected one-time only evaluation */</span><span class="preprocessor"> \</span></div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="preprocessor"> const double irplib_utils_a = (double)(A); \</span></div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="preprocessor"> const double irplib_utils_b = (double)(B); \</span></div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="preprocessor"> \</span></div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="preprocessor"> cpl_error_ensure(!cpl_error_get_code(), cpl_error_get_code(), \</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="preprocessor"> goto cleanup, "Propagating a pre-existing error"); \</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="preprocessor"> if (irplib_utils_a < irplib_utils_b) { \</span></div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="preprocessor"> char * irplib_utils_msg = cpl_sprintf(__VA_ARGS__); \</span></div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="preprocessor"> (void)cpl_error_set_message(cpl_func, CPL_ERROR_DATA_NOT_FOUND, \</span></div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="preprocessor"> "Need at least %g (not %g) %s", \</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="preprocessor"> irplib_utils_b, irplib_utils_a, \</span></div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="preprocessor"> irplib_utils_msg); \</span></div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="preprocessor"> cpl_free(irplib_utils_msg); \</span></div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="preprocessor"> goto cleanup; \</span></div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="preprocessor"> } \</span></div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="preprocessor"> } while (0)</span></div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="comment"> @brief Conditional skip on coding bug</span></div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="comment"> @param CONDITION The condition to check</span></div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="comment"> @see skip_if()</span></div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="comment"> @note unlike assert() this check cannot be disabled</span></div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="preprocessor">#define bug_if(CONDITION) \</span></div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="preprocessor"> do { \</span></div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="preprocessor"> cpl_error_ensure(!cpl_error_get_code(), cpl_error_get_code(), \</span></div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="preprocessor"> goto cleanup, "Propagating an unexpected error, " \</span></div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="preprocessor"> "please report to " PACKAGE_BUGREPORT); \</span></div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="preprocessor"> cpl_error_ensure(!(CONDITION), CPL_ERROR_UNSPECIFIED, \</span></div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="preprocessor"> goto cleanup, "Internal error, please report to " \</span></div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="preprocessor"> PACKAGE_BUGREPORT); \</span></div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="preprocessor"> } while (0)</span></div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="comment"> @brief Conditional skip with error creation</span></div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="comment"> @param CONDITION The condition to check</span></div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="comment"> @param ERROR The error code to set</span></div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="comment"> @param MSG A printf-style error message. As a matter of</span></div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="comment"> user-friendliness the message should mention any</span></div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="comment"> value that caused the @em CONDITION to fail.</span></div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment"> @see skip_if()</span></div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="comment"> @note unlike assert() this check cannot be disabled</span></div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="preprocessor">#define error_if(CONDITION, ERROR, ...) \</span></div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="preprocessor"> cpl_error_ensure(cpl_error_get_code() == CPL_ERROR_NONE && \</span></div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="preprocessor"> !(CONDITION), ERROR, goto cleanup, __VA_ARGS__)</span></div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="comment"> @brief Propagate a preexisting error, if any</span></div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="comment"> @param MSG A printf-style error message.</span></div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="comment"> @see skip_if()</span></div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="preprocessor">#define any_if(...) \</span></div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="preprocessor"> cpl_error_ensure(!cpl_error_get_code(), cpl_error_get_code(), \</span></div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="preprocessor"> goto cleanup, __VA_ARGS__)</span></div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="comment"> @brief Define the single point of resource deallocation and return</span></div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="comment"> @see skip_if()</span></div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="comment"> @note end_skip should be used exactly once in functions that use skip_if() etc</span></div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="preprocessor">#define end_skip \</span></div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="preprocessor"> do { \</span></div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="preprocessor"> cleanup: \</span></div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="preprocessor"> if (cpl_error_get_code()) \</span></div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="preprocessor"> cpl_msg_debug(cpl_func, "Cleanup in " __FILE__ " line %u with " \</span></div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="preprocessor"> "error '%s' at %s", __LINE__, \</span></div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="preprocessor"> cpl_error_get_message(), cpl_error_get_where()); \</span></div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="preprocessor"> else \</span></div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="preprocessor"> cpl_msg_debug(cpl_func, "Cleanup in " __FILE__ " line %u", \</span></div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="preprocessor"> __LINE__); \</span></div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="preprocessor"> } while (0)</span></div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="preprocessor">#define irplib_ensure(CONDITION, ec, ...) \</span></div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="preprocessor"> cpl_error_ensure(CONDITION, ec, goto cleanup, __VA_ARGS__)</span></div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="preprocessor">#define irplib_check(COMMAND, ...) \</span></div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="preprocessor"> do { \</span></div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="preprocessor"> cpl_errorstate irplib_check_prestate = cpl_errorstate_get(); \</span></div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="preprocessor"> skip_if(0); \</span></div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="preprocessor"> COMMAND; \</span></div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="preprocessor"> irplib_trace(); \</span></div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="preprocessor"> irplib_ensure(cpl_errorstate_is_equal(irplib_check_prestate), \</span></div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="preprocessor"> cpl_error_get_code(), __VA_ARGS__); \</span></div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="preprocessor"> irplib_trace(); \</span></div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="preprocessor"> } while (0)</span></div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="comment"> Function prototypes</span></div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> cpl_error_code <a class="code" href="group__irplib__utils.html#ga346842d722834a2e6221ff2d86314b7e" title="Save an image as a DFS-compliant pipeline product.">irplib_dfs_save_image</a>(cpl_frameset *,</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="keyword">const</span> cpl_parameterlist *,</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="keyword">const</span> cpl_frameset *,</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="keyword">const</span> cpl_image *,</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> cpl_type_bpp ,</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="keyword">const</span> cpl_propertylist *,</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *);</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> cpl_error_code <a class="code" href="group__irplib__utils.html#ga4dc12f321e7aeb5e67ff19f815bfd7b7" title="Save a propertylist as a DFS-compliant pipeline product.">irplib_dfs_save_propertylist</a>(cpl_frameset *,</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="keyword">const</span> cpl_parameterlist *,</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="keyword">const</span> cpl_frameset *,</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="keyword">const</span> cpl_propertylist *,</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *);</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> cpl_error_code <a class="code" href="group__irplib__utils.html#ga66f7adc9e165b4e934e3d57a700f55c1" title="Save an imagelist as a DFS-compliant pipeline product.">irplib_dfs_save_imagelist</a>(cpl_frameset *,</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="keyword">const</span> cpl_parameterlist *,</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="keyword">const</span> cpl_frameset *,</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="keyword">const</span> cpl_imagelist *,</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> cpl_type_bpp ,</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="keyword">const</span> cpl_propertylist *,</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *);</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> cpl_error_code <a class="code" href="group__irplib__utils.html#ga62a91f8630af11164547c168660b2ade" title="Save a table as a DFS-compliant pipeline product.">irplib_dfs_save_table</a>(cpl_frameset *,</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="keyword">const</span> cpl_parameterlist *,</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="keyword">const</span> cpl_frameset *,</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="keyword">const</span> cpl_table *,</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="keyword">const</span> cpl_propertylist *,</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="keyword">const</span> cpl_propertylist *,</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *);</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> </div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> cpl_error_code <a class="code" href="group__irplib__utils.html#ga1fd7c2f4c00014049b0bf4bf6814b451" title="Save an image as a DFS-compliant pipeline product.">irplib_dfs_save_image_</a>(cpl_frameset *,</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> cpl_propertylist *,</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="keyword">const</span> cpl_parameterlist *,</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="keyword">const</span> cpl_frameset *,</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="keyword">const</span> cpl_frame *,</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="keyword">const</span> cpl_image *,</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> cpl_type ,</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="keyword">const</span> cpl_propertylist *,</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *);</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> </div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="keywordtype">void</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="keywordtype">int</span> <a class="code" href="group__irplib__utils.html#gae13f0d6b24ade506a99ac9c4bb09efde" title="Comparison function to identify different input frames.">irplib_compare_tags</a>(cpl_frame *, cpl_frame *);</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="group__irplib__utils.html#ga9fe4dca85dee68061114e26fdc72a134" title="Find the filename with the given tag in a frame set.">irplib_frameset_find_file</a>(<span class="keyword">const</span> cpl_frameset *, <span class="keyword">const</span> <span class="keywordtype">char</span> *);</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="keyword">const</span> cpl_frame * <a class="code" href="group__irplib__utils.html#ga5b20a00f315410b49b1db1dd2417fe68" title="Find the first frame belonging to the given group.">irplib_frameset_get_first_from_group</a>(<span class="keyword">const</span> cpl_frameset *,</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> cpl_frame_group);</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> </div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> cpl_error_code <a class="code" href="group__irplib__utils.html#gac568c70a57ef8610f5fedc9f1943a3a1" title="Find the aperture(s) with the greatest flux.">irplib_apertures_find_max_flux</a>(<span class="keyword">const</span> cpl_apertures *, <span class="keywordtype">int</span> *,</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="keywordtype">int</span>);</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> </div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="preprocessor">#if defined HAVE_ISNAN && HAVE_ISNAN != 0</span></div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="preprocessor"></span><span class="preprocessor">#if !defined isnan && defined HAVE_DECL_ISNAN && HAVE_DECL_ISNAN == 0</span></div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="preprocessor"></span><span class="comment">/* HP-UX and Solaris may have isnan() available at link-time</span></div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="comment"> without the prototype */</span></div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="keywordtype">int</span> isnan(<span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> cpl_error_code</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <a class="code" href="group__irplib__utils.html#ga3d1a791b5dc870770611c7dbf60d02df" title="Create a DFS product with one table from one or more (ASCII) file(s)">irplib_dfs_table_convert</a>(cpl_table *, cpl_frameset *, <span class="keyword">const</span> cpl_frameset *,</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <span class="keywordtype">int</span>, <span class="keywordtype">char</span>, <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="keyword">const</span> cpl_parameterlist *, <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="keyword">const</span> cpl_propertylist *, <span class="keyword">const</span> cpl_propertylist *,</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> cpl_boolean (*)(cpl_table *, <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="keyword">const</span> cpl_frame *,</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="keyword">const</span> cpl_parameterlist *),</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> cpl_error_code (*)(cpl_table *,</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="keyword">const</span> cpl_frameset *,</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> <span class="keyword">const</span> cpl_parameterlist *));</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> </div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> cpl_error_code <a class="code" href="group__irplib__utils.html#ga59a68df1795523d4f7653875bd9fc01d" title="Set the rows of a table with data from one or more (ASCII) files.">irplib_table_read_from_frameset</a>(cpl_table *,</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="keyword">const</span> cpl_frameset *,</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="keywordtype">char</span>,</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> <span class="keyword">const</span> cpl_parameterlist *,</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> cpl_boolean (*)</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> (cpl_table *, <span class="keyword">const</span> <span class="keywordtype">char</span> *,</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="keywordtype">int</span>, <span class="keyword">const</span> cpl_frame *,</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="keyword">const</span> cpl_parameterlist *));</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> </div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> cpl_error_code <a class="code" href="group__irplib__utils.html#ga832676f36ecd647b77f4bb373b2d1954" title="Split the values in an image in three according to two thresholds.">irplib_image_split</a>(<span class="keyword">const</span> cpl_image *,</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> cpl_image *, cpl_image *, cpl_image *,</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="keywordtype">double</span>, cpl_boolean,</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="keywordtype">double</span>, cpl_boolean,</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="keywordtype">double</span>, <span class="keywordtype">double</span>,</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> cpl_boolean, cpl_boolean, cpl_boolean);</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> </div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="keywordtype">void</span> <a class="code" href="group__irplib__utils.html#ga6b29dac884b62ab52f43dd670d4d8386" title="Dump a single CPL error at the CPL warning level.">irplib_errorstate_dump_warning</a>(<span class="keywordtype">unsigned</span>, <span class="keywordtype">unsigned</span>, <span class="keywordtype">unsigned</span>);</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="keywordtype">void</span> <a class="code" href="group__irplib__utils.html#ga901ff52a1c9dcdfcf2d2632d31064bdb" title="Dump a single CPL error at the CPL info level.">irplib_errorstate_dump_info</a>(<span class="keywordtype">unsigned</span>, <span class="keywordtype">unsigned</span>, <span class="keywordtype">unsigned</span>);</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="keywordtype">void</span> <a class="code" href="group__irplib__utils.html#ga26c6209e5df98978e2922a15b47b47d1" title="Dump a single CPL error at the CPL debug level.">irplib_errorstate_dump_debug</a>(<span class="keywordtype">unsigned</span>, <span class="keywordtype">unsigned</span>, <span class="keywordtype">unsigned</span>);</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="comment">/* wrapper for replace deprecated function cpl_polynomial_fit_1d_create*/</span></div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> cpl_polynomial * irplib_polynomial_fit_1d_create(</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="keyword">const</span> cpl_vector * x_pos,</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="keyword">const</span> cpl_vector * values,</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="keywordtype">int</span> degree,</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="keywordtype">double</span> * mse</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> );</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> cpl_polynomial * irplib_polynomial_fit_1d_create_chiq(</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="keyword">const</span> cpl_vector * x_pos,</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="keyword">const</span> cpl_vector * values,</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="keywordtype">int</span> degree,</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="keywordtype">double</span> * rechiq</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> );</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> cpl_error_code irplib_frameset_sort(</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="keyword">const</span> cpl_frameset * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="keywordtype">int</span>* iindex,</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="keywordtype">double</span>* exptime);</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> </div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> </div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="comment">/* FIXME: add alloc_size(2) */</span></div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <span class="keywordtype">void</span> * irplib_aligned_malloc(<span class="keywordtype">size_t</span> alignment, <span class="keywordtype">size_t</span> size) CPL_ATTR_ALLOC;</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="keywordtype">void</span> * irplib_aligned_calloc(<span class="keywordtype">size_t</span> alignment,</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="keywordtype">size_t</span> nelem, <span class="keywordtype">size_t</span> nbytes) CPL_ATTR_ALLOC;</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> <span class="keywordtype">void</span> irplib_aligned_free (<span class="keywordtype">void</span> * aligned_ptr);</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> </div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> </div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> <span class="comment"> Function inlines</span></div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> </div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> </div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="keyword">static</span> __inline__ <span class="keywordtype">int</span> irplib_isinf(<span class="keywordtype">double</span> value)</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> {</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <span class="comment">/* documented only on 4.4, but available in at least 4.2 */</span></div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> <span class="preprocessor">#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)</span></div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> <span class="preprocessor"></span> <span class="keywordflow">return</span> __builtin_isinf(value);</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> <span class="preprocessor">#elif defined HAVE_ISINF && HAVE_ISINF</span></div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="preprocessor"></span> <span class="keywordflow">return</span> isinf(value);</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> <span class="preprocessor"></span> <span class="keywordflow">return</span> value != 0 && value == 2 * value;</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="preprocessor"></span>}</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> </div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> </div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> <span class="keyword">static</span> __inline__ <span class="keywordtype">int</span> irplib_isnan(<span class="keywordtype">double</span> value)</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> {</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="comment">/* documented only on 4.4, but available in at least 4.2 */</span></div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <span class="preprocessor">#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)</span></div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <span class="preprocessor"></span> <span class="keywordflow">return</span> __builtin_isnan(value);</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> <span class="preprocessor">#elif defined HAVE_ISNAN && HAVE_ISNAN</span></div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> <span class="preprocessor"></span> <span class="keywordflow">return</span> isnan(value);</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="preprocessor"></span> <span class="keywordflow">return</span> value != value;</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> <span class="preprocessor"></span>}</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> </div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__wavecal_8c_source.html b/html/irplib__wavecal_8c_source.html
deleted file mode 100644
index 254b328..0000000
--- a/html/irplib__wavecal_8c_source.html
+++ /dev/null
@@ -1,1576 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_wavecal.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_wavecal.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_wavecal.c,v 1.52 2012/08/03 21:05:32 llundin Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the IRPLIB Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: llundin $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2012/08/03 21:05:32 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.52 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/* TEMPORARY SUPPORT OF CPL 5.x */</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#ifndef CPL_SIZE_FORMAT</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor"></span><span class="preprocessor">#define CPL_SIZE_FORMAT "d"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor"></span><span class="preprocessor">#define cpl_size int</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor"></span><span class="comment">/* END TEMPORARY SUPPORT OF CPL 5.x */</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "irplib_wavecal_impl.h"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/* Needed for irplib_errorstate_dump_debug() */</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include "irplib_utils.h"</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#ifdef HAVE_GSL</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor"></span><span class="preprocessor">#include <gsl/gsl_multimin.h></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> Private types</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keyword">const</span> cpl_vector * observed;</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> cpl_polynomial * disp1d;</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> cpl_vector * spectrum;</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> irplib_base_spectrum_model * param;</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> cpl_error_code (* filler)(cpl_vector *, <span class="keyword">const</span> cpl_polynomial *,</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> irplib_base_spectrum_model *);</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> cpl_vector * vxc;</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">double</span> xc;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keywordtype">int</span> maxxc;</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">double</span> mxc;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> cpl_polynomial * mdisp;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">int</span> ishift;</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> } irplib_multimin;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="preprocessor">#ifndef inline</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="preprocessor"></span><span class="preprocessor">#define inline </span><span class="comment">/* inline */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="preprocessor">#define IRPLIB_MAX(A,B) ((A) > (B) ? (A) : (B))</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_MIN(A,B) ((A) < (B) ? (A) : (B))</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"> Private functions</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="preprocessor">#ifdef HAVE_GSL</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="preprocessor"></span><span class="keyword">static</span> <span class="keywordtype">double</span> irplib_gsl_correlation(<span class="keyword">const</span> gsl_vector *, <span class="keywordtype">void</span> *);</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keyword">static</span> cpl_error_code</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> irplib_polynomial_find_1d_from_correlation_(cpl_polynomial *, <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">const</span> cpl_vector *,</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> irplib_base_spectrum_model *,</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> cpl_error_code (*)</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> (cpl_vector *,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keyword">const</span> cpl_polynomial *,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> irplib_base_spectrum_model *),</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">double</span> *, cpl_boolean *);</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"><a class="code" href="group__irplib__wavecal.html#ga03d7f038adc7e18e7a9071581fa47a25"> 127</a></span> <span class="keywordtype">int</span> <a class="code" href="group__irplib__wavecal.html#ga03d7f038adc7e18e7a9071581fa47a25" title="Count the positive Y-entries in a given X-range.">irplib_bivector_count_positive</a>(<span class="keyword">const</span> cpl_bivector * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">double</span> x_min,</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordtype">double</span> x_max)</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> {</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nself = cpl_bivector_get_size(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keyword">const</span> <span class="keywordtype">double</span> * px = cpl_bivector_get_x_data_const(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keyword">const</span> <span class="keywordtype">double</span> * py = cpl_bivector_get_y_data_const(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordtype">int</span> npos = 0;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordtype">int</span> i = 0;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> cpl_ensure(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT, -1);</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> cpl_ensure(x_min <= x_max, CPL_ERROR_ILLEGAL_INPUT, -2);</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment">/* FIXME: Use cpl_vector_find() */</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">while</span> (i < nself && px[i] < x_min) i++;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordflow">while</span> (i < nself && px[i] < x_max)</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordflow">if</span> (py[i++] > 0) npos++;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordflow">return</span> npos;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> }</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno"><a class="code" href="group__irplib__wavecal.html#ga2dd3251367e2ee8b8bd5ce080e9f31bb"> 160</a></span> cpl_error_code <a class="code" href="group__irplib__wavecal.html#ga2dd3251367e2ee8b8bd5ce080e9f31bb" title="Fit a 2D-dispersion from an image of wavelengths.">irplib_polynomial_fit_2d_dispersion</a>(cpl_polynomial * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keyword">const</span> cpl_image * imgwave,</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordtype">int</span> fitdeg, <span class="keywordtype">double</span> * presid)</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> {</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nx = cpl_image_get_size_x(imgwave);</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ny = cpl_image_get_size_y(imgwave);</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nbad = cpl_image_count_rejected(imgwave);</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nsamp = nx * ny - nbad;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> cpl_matrix * xy_pos;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordtype">double</span> * xdata;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keywordtype">double</span> * ydata;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> cpl_vector * wlen;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordtype">double</span> * dwlen;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keyword">const</span> cpl_size nfitdeg = (cpl_size)fitdeg;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordtype">int</span> i, j;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordtype">int</span> k = 0;</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> cpl_ensure_code(imgwave != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> cpl_ensure_code(presid != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> cpl_ensure_code(fitdeg > 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> cpl_ensure_code(cpl_polynomial_get_dimension(<span class="keyword">self</span>) == 2,</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> xy_pos = cpl_matrix_new(2, nsamp);</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> xdata = cpl_matrix_get_data(xy_pos);</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> ydata = xdata + nsamp;</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> dwlen = (<span class="keywordtype">double</span>*)cpl_malloc(nsamp * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> wlen = cpl_vector_wrap(nsamp, dwlen);</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordflow">for</span> (i=1; i <= nx; i++) {</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordflow">for</span> (j=1; j <= ny; j++) {</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keywordtype">int</span> is_bad;</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keyword">const</span> <span class="keywordtype">double</span> value = cpl_image_get(imgwave, i, j, &is_bad);</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">if</span> (!is_bad) {</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> xdata[k] = i;</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> ydata[k] = j;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> dwlen[k] = value;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> k++;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> }</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> }</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> }</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> cpl_msg_info(cpl_func, <span class="stringliteral">"Fitting 2D polynomial to %d X %d image, ignoring "</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="stringliteral">"%d poorly calibrated pixels"</span>, nx, ny, nbad);</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keywordflow">if</span> (cpl_polynomial_fit(<span class="keyword">self</span>, xy_pos, NULL, wlen, NULL, CPL_FALSE, NULL,</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> &nfitdeg) == CPL_ERROR_NONE && presid != NULL) {</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> cpl_vector_fill_polynomial_fit_residual(wlen, wlen, NULL, <span class="keyword">self</span>, xy_pos,</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> NULL);</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> *presid = cpl_vector_product(wlen, wlen)/nsamp;</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> }</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> cpl_matrix_delete(xy_pos);</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> cpl_vector_delete(wlen);</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> cpl_ensure_code(k == nsamp, CPL_ERROR_UNSPECIFIED);</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> }</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> cpl_error_code</div>
-<div class="line"><a name="l00244"></a><span class="lineno"><a class="code" href="group__irplib__wavecal.html#ga8f49c4927c50a461288e8f19720dff86"> 244</a></span> <a class="code" href="group__irplib__wavecal.html#ga8f49c4927c50a461288e8f19720dff86" title="Modify self by maximizing the cross-correlation.">irplib_polynomial_find_1d_from_correlation</a>(cpl_polynomial * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keywordtype">int</span> maxdeg,</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keyword">const</span> cpl_vector * obs,</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> irplib_base_spectrum_model * model,</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> cpl_error_code (* filler)</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> (cpl_vector *,</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keyword">const</span> cpl_polynomial *,</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> irplib_base_spectrum_model *),</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="keywordtype">double</span> pixtol,</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="keywordtype">double</span> pixstep,</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordtype">int</span> hsize,</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keywordtype">int</span> maxite,</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keywordtype">double</span> * pxc)</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> {</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> cpl_boolean restart = CPL_FALSE;</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keyword">const</span> cpl_error_code error = irplib_polynomial_find_1d_from_correlation_</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> (<span class="keyword">self</span>, maxdeg, obs, model, filler, pixtol, pixstep, hsize, maxite, pxc,</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> &restart);</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">return</span> error ? cpl_error_set_where(cpl_func) :</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> (restart ? cpl_error_set(cpl_func, CPL_ERROR_CONTINUE)</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> : CPL_ERROR_NONE);</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> }</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="keyword">static</span> cpl_error_code</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> irplib_polynomial_find_1d_from_correlation_(cpl_polynomial * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keywordtype">int</span> maxdeg,</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keyword">const</span> cpl_vector * obs,</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> irplib_base_spectrum_model * model,</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> cpl_error_code (* filler)</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> (cpl_vector *,</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="keyword">const</span> cpl_polynomial *,</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> irplib_base_spectrum_model *),</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="keywordtype">double</span> pixtol,</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="keywordtype">double</span> pixstep,</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="keywordtype">int</span> hsize,</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keywordtype">int</span> maxite,</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="keywordtype">double</span> * pxc,</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> cpl_boolean * prestart)</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> {</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="preprocessor">#ifdef HAVE_GSL</span></div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="preprocessor"></span> <span class="keyword">const</span> gsl_multimin_fminimizer_type * T = gsl_multimin_fminimizer_nmsimplex;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> gsl_multimin_fminimizer * minimizer;</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> gsl_multimin_function my_func;</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> irplib_multimin data;</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> gsl_vector * dispgsl;</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> gsl_vector * stepsize;</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> gsl_vector * dispprev;</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="keywordtype">int</span> status = GSL_CONTINUE;</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nobs = cpl_vector_get_size(obs);</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="keyword">const</span> cpl_size nfit = maxdeg + 1;</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> cpl_errorstate prestate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="comment">/* Convert pixel step to wavelength step on detector center */</span></div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="keyword">const</span> <span class="keywordtype">double</span> wlstep =</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> cpl_polynomial_eval_1d_diff(<span class="keyword">self</span>, 0.5 * (nobs + pixstep),</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> 0.5 * (nobs - pixstep), NULL);</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="keywordtype">double</span> wlstepi = wlstep;</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="keywordtype">double</span> size;</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="keywordtype">int</span> iter;</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> cpl_size i;</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> cpl_ensure_code(prestart != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> *prestart = CPL_FALSE;</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> cpl_ensure_code(obs != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> cpl_ensure_code(model != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> cpl_ensure_code(filler != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> cpl_ensure_code(pxc != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> cpl_ensure_code(cpl_polynomial_get_dimension(<span class="keyword">self</span>) == 1,</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> </div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> cpl_ensure_code(cpl_polynomial_get_degree(<span class="keyword">self</span>) > 0,</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> cpl_ensure_code(maxdeg >= 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> cpl_ensure_code(pixtol > 0.0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> cpl_ensure_code(pixstep > 0.0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> cpl_ensure_code(hsize >= 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> cpl_ensure_code(maxite >= 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> </div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="preprocessor">#ifndef HAVE_GSL</span></div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="preprocessor"></span> <span class="keywordflow">return</span> cpl_error_set_message(cpl_func, CPL_ERROR_UNSUPPORTED_MODE,</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="stringliteral">"GSL is not available"</span>);</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> minimizer = gsl_multimin_fminimizer_alloc(T, (<span class="keywordtype">size_t</span>)nfit);</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> </div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> cpl_ensure_code(minimizer != NULL, CPL_ERROR_ILLEGAL_OUTPUT);</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> </div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> dispgsl = gsl_vector_alloc((<span class="keywordtype">size_t</span>)nfit);</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> stepsize = gsl_vector_alloc((<span class="keywordtype">size_t</span>)nfit);</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> dispprev = gsl_vector_alloc((<span class="keywordtype">size_t</span>)nfit);</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> </div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="keywordflow">for</span> (i=0; i < nfit; i++) {</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="keyword">const</span> <span class="keywordtype">double</span> value = cpl_polynomial_get_coeff(<span class="keyword">self</span>, &i);</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> gsl_vector_set(dispgsl, (<span class="keywordtype">size_t</span>)i, value);</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> gsl_vector_set(stepsize, (<span class="keywordtype">size_t</span>)i, wlstepi);</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> wlstepi /= (double)nobs;</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> }</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> my_func.n = nfit;</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> my_func.f = &irplib_gsl_correlation;</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> my_func.params = (<span class="keywordtype">void</span> *)(&data);</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> data.observed = obs;</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> data.disp1d = <span class="keyword">self</span>;</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> data.spectrum = cpl_vector_new(nobs + 2 * hsize);</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> data.vxc = cpl_vector_new(1 + 2 * hsize);</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> data.param = model;</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> data.filler = filler;</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> data.maxxc = 0; <span class="comment">/* Output */</span></div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> data.ishift = 0; <span class="comment">/* Output */</span></div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> data.mxc = -1.0; <span class="comment">/* Output */</span></div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> data.mdisp = NULL; <span class="comment">/* Output */</span></div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> gsl_multimin_fminimizer_set (minimizer, &my_func, dispgsl, stepsize);</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="keywordflow">for</span> (iter = 0; status == GSL_CONTINUE && iter < maxite; iter++) {</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> </div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keyword">const</span> <span class="keywordtype">double</span> fprev = minimizer->fval;</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> </div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> gsl_vector_memcpy(dispprev, minimizer->x);</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> status = gsl_multimin_fminimizer_iterate(minimizer);</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> </div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="keywordflow">if</span> (status || !cpl_errorstate_is_equal(prestate)) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> size = gsl_multimin_fminimizer_size (minimizer);</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> status = gsl_multimin_test_size (size, pixtol);</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> </div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="keywordflow">if</span> (status == GSL_SUCCESS) {</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> cpl_msg_debug(cpl_func, <span class="stringliteral">"converged to minimum at"</span>);</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> </div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="keywordflow">if</span> (nfit == 0) {</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> cpl_msg_debug(cpl_func, <span class="stringliteral">"%5d %g df() = %g size = %g"</span>, </div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> iter,</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> gsl_vector_get (minimizer->x, 0)</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> - gsl_vector_get (dispprev, 0), </div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> minimizer->fval - fprev, size);</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (nfit == 1) {</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> cpl_msg_debug(cpl_func, <span class="stringliteral">"%5d %g %g df() = %g size = %g"</span>, </div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> iter,</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> gsl_vector_get (minimizer->x, 0)</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> - gsl_vector_get (dispprev, 0), </div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> gsl_vector_get (minimizer->x, 1)</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> - gsl_vector_get (dispprev, 1), </div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> minimizer->fval - fprev, size);</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> cpl_msg_debug(cpl_func, <span class="stringliteral">"%5d %g %g %g df() = %g size = %g"</span>, </div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> iter,</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> gsl_vector_get (minimizer->x, 0)</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> - gsl_vector_get (dispprev, 0), </div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> gsl_vector_get (minimizer->x, 1)</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> - gsl_vector_get (dispprev, 1), </div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> gsl_vector_get (minimizer->x, 2)</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> - gsl_vector_get (dispprev, 2), </div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> minimizer->fval - fprev, size);</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> }</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> }</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> }</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> </div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="keywordflow">if</span> (status == GSL_SUCCESS && cpl_errorstate_is_equal(prestate)) {</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="keywordflow">if</span> (data.mxc > -minimizer->fval) {</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> *pxc = data.mxc;</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> cpl_msg_warning(cpl_func, <span class="stringliteral">"Local maximum: %g(%d) > %g"</span>,</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> data.mxc, data.ishift, -minimizer->fval);</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> cpl_polynomial_shift_1d(data.mdisp, 0, (<span class="keywordtype">double</span>)data.ishift);</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> cpl_polynomial_copy(<span class="keyword">self</span>, data.mdisp);</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> *prestart = CPL_TRUE;</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> *pxc = -minimizer->fval;</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="keywordflow">for</span> (i=0; i < nfit; i++) {</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="keyword">const</span> <span class="keywordtype">double</span> value = gsl_vector_get(minimizer->x, i);</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> cpl_polynomial_set_coeff(<span class="keyword">self</span>, &i, value);</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> }</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> }</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> }</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> </div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> cpl_vector_delete(data.spectrum);</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> cpl_vector_delete(data.vxc);</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> cpl_polynomial_delete(data.mdisp);</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> gsl_multimin_fminimizer_free(minimizer);</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> gsl_vector_free(dispgsl);</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> gsl_vector_free(dispprev);</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> gsl_vector_free(stepsize);</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> </div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> cpl_ensure_code(status != GSL_CONTINUE, CPL_ERROR_CONTINUE);</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> cpl_ensure_code(status == GSL_SUCCESS, CPL_ERROR_DATA_NOT_FOUND);</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> cpl_ensure_code(cpl_errorstate_is_equal(prestate), cpl_error_get_code());</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> </div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> <span class="preprocessor"></span>}</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> </div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> </div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> cpl_error_code</div>
-<div class="line"><a name="l00494"></a><span class="lineno"><a class="code" href="group__irplib__wavecal.html#ga1d49cb7f85fc246c8fdf38625c769f7a"> 494</a></span> <a class="code" href="group__irplib__wavecal.html#ga1d49cb7f85fc246c8fdf38625c769f7a" title="Generate a 1D spectrum from a model and a dispersion relation.">irplib_vector_fill_line_spectrum</a>(cpl_vector * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="keyword">const</span> cpl_polynomial * disp,</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> irplib_base_spectrum_model * lsslamp)</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> {</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> </div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> irplib_line_spectrum_model * arclamp</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> = (irplib_line_spectrum_model *)lsslamp;</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> cpl_error_code error;</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> </div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> cpl_ensure_code(arclamp != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> </div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> arclamp->cost++;</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> </div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> error = <a class="code" href="group__irplib__wavecal.html#ga8a65755ca17c9fa0b69ceb128f544761" title="Generate a 1D spectrum from (arc) lines and a dispersion relation.">irplib_vector_fill_line_spectrum_model</a>(<span class="keyword">self</span>,</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> arclamp->linepix,</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> arclamp->erftmp,</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> disp,</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> arclamp->lines,</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> arclamp->wslit,</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> arclamp->wfwhm,</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> arclamp->xtrunc,</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> 0, CPL_FALSE, CPL_FALSE,</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> &(arclamp->ulines));</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> cpl_ensure_code(!error, error);</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> </div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> arclamp->xcost++;</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> </div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> }</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> </div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> cpl_error_code</div>
-<div class="line"><a name="l00539"></a><span class="lineno"><a class="code" href="group__irplib__wavecal.html#gad22539bf83d1b08d845ed5f618a4009f"> 539</a></span> <a class="code" href="group__irplib__wavecal.html#gad22539bf83d1b08d845ed5f618a4009f" title="Generate a 1D spectrum from a model and a dispersion relation.">irplib_vector_fill_logline_spectrum</a>(cpl_vector * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> <span class="keyword">const</span> cpl_polynomial * disp,</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> irplib_base_spectrum_model * lsslamp)</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> {</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> </div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> irplib_line_spectrum_model * arclamp</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> = (irplib_line_spectrum_model *)lsslamp;</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> cpl_error_code error;</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> </div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> cpl_ensure_code(arclamp != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> </div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> arclamp->cost++;</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> </div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> error = <a class="code" href="group__irplib__wavecal.html#ga8a65755ca17c9fa0b69ceb128f544761" title="Generate a 1D spectrum from (arc) lines and a dispersion relation.">irplib_vector_fill_line_spectrum_model</a>(<span class="keyword">self</span>,</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> arclamp->linepix,</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> arclamp->erftmp,</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> disp,</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> arclamp->lines,</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> arclamp->wslit,</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> arclamp->wfwhm,</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> arclamp->xtrunc,</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> 0, CPL_FALSE, CPL_TRUE,</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> &(arclamp->ulines));</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> cpl_ensure_code(!error, error);</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> </div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> arclamp->xcost++;</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> </div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> }</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> </div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> </div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> cpl_error_code</div>
-<div class="line"><a name="l00585"></a><span class="lineno"><a class="code" href="group__irplib__wavecal.html#ga6a463d7816b4164fdd23a4df2805cc95"> 585</a></span> <a class="code" href="group__irplib__wavecal.html#ga6a463d7816b4164fdd23a4df2805cc95" title="Generate a 1D spectrum from a model and a dispersion relation.">irplib_vector_fill_line_spectrum_fast</a>(cpl_vector * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <span class="keyword">const</span> cpl_polynomial * disp,</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> irplib_base_spectrum_model * lsslamp)</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> {</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> </div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> irplib_line_spectrum_model * arclamp</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> = (irplib_line_spectrum_model *)lsslamp;</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> cpl_error_code error;</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> </div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> cpl_ensure_code(arclamp != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> </div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> arclamp->cost++;</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> </div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> error = <a class="code" href="group__irplib__wavecal.html#ga8a65755ca17c9fa0b69ceb128f544761" title="Generate a 1D spectrum from (arc) lines and a dispersion relation.">irplib_vector_fill_line_spectrum_model</a>(<span class="keyword">self</span>,</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> arclamp->linepix,</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> arclamp->erftmp,</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> disp,</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> arclamp->lines,</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> arclamp->wslit,</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> arclamp->wfwhm,</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> arclamp->xtrunc,</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> 0, CPL_TRUE, CPL_FALSE,</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> &(arclamp->ulines));</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> cpl_ensure_code(!error, error);</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> </div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> arclamp->xcost++;</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> </div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> }</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> </div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> cpl_error_code</div>
-<div class="line"><a name="l00630"></a><span class="lineno"><a class="code" href="group__irplib__wavecal.html#ga75a85320c74d1088eeaeec97974d793c"> 630</a></span> <a class="code" href="group__irplib__wavecal.html#ga75a85320c74d1088eeaeec97974d793c" title="Generate a 1D spectrum from a model and a dispersion relation.">irplib_vector_fill_logline_spectrum_fast</a>(cpl_vector * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="keyword">const</span> cpl_polynomial * disp,</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> irplib_base_spectrum_model * lsslamp)</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> {</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> </div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> irplib_line_spectrum_model * arclamp</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> = (irplib_line_spectrum_model *)lsslamp;</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> cpl_error_code error;</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> </div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> cpl_ensure_code(arclamp != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> </div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> arclamp->cost++;</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> </div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> error = <a class="code" href="group__irplib__wavecal.html#ga8a65755ca17c9fa0b69ceb128f544761" title="Generate a 1D spectrum from (arc) lines and a dispersion relation.">irplib_vector_fill_line_spectrum_model</a>(<span class="keyword">self</span>,</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> arclamp->linepix,</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> arclamp->erftmp,</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> disp,</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> arclamp->lines,</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> arclamp->wslit,</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> arclamp->wfwhm,</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> arclamp->xtrunc,</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> 0, CPL_TRUE, CPL_TRUE,</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> &(arclamp->ulines));</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> cpl_ensure_code(!error, error);</div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> </div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> arclamp->xcost++;</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> </div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> }</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> </div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00672"></a><span class="lineno"><a class="code" href="group__irplib__wavecal.html#ga7bac402a4e2c60f7646f1e655a66833d"> 672</a></span> cpl_error_code <a class="code" href="group__irplib__wavecal.html#ga7bac402a4e2c60f7646f1e655a66833d" title="Plot a 1D spectrum and one from a model.">irplib_plot_spectrum_and_model</a>(<span class="keyword">const</span> cpl_vector * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> <span class="keyword">const</span> cpl_polynomial * disp1d,</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> irplib_base_spectrum_model * model,</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> cpl_error_code (* filler)</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> (cpl_vector *,</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> <span class="keyword">const</span> cpl_polynomial *,</div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> irplib_base_spectrum_model *))</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> {</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> </div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> cpl_errorstate prestate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> cpl_vector * wl;</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> cpl_vector * spectrum;</div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> cpl_vector * vxc;</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> <span class="keyword">const</span> <span class="keywordtype">int</span> len = cpl_vector_get_size(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> <span class="keywordtype">double</span> maxval, xc;</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> <span class="keywordtype">int</span> ixc;</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> <span class="keywordtype">int</span> error = 0;</div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> </div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> cpl_ensure_code(disp1d != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> cpl_ensure_code(model != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> cpl_ensure_code(filler != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> </div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> cpl_ensure_code(cpl_polynomial_get_dimension(disp1d) == 1,</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> </div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> cpl_ensure_code(cpl_polynomial_get_degree(disp1d) > 0,</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> </div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> wl = cpl_vector_new(len);</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> spectrum = cpl_vector_new(len);</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> vxc = cpl_vector_new(1);</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> </div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> error |= (int)cpl_vector_fill_polynomial(wl, disp1d, 1.0, 1.0);</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> error |= filler(spectrum, disp1d, model);</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> </div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> ixc = cpl_vector_correlate(vxc, <span class="keyword">self</span>, spectrum);</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> xc = cpl_vector_get(vxc, ixc);</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> </div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> maxval = cpl_vector_get_max(spectrum);</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> <span class="keywordflow">if</span> (maxval != 0.0) </div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> error |= cpl_vector_multiply_scalar(spectrum,</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> cpl_vector_get_max(<span class="keyword">self</span>)/maxval);</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> <span class="keywordflow">if</span> (!error) {</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> <span class="keyword">const</span> cpl_vector * spair[] = {wl, <span class="keyword">self</span>, spectrum};</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> <span class="keywordtype">char</span> * pre = cpl_sprintf(<span class="stringliteral">"set grid;set xlabel 'Wavelength (%g -> %g)'; "</span></div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> <span class="stringliteral">"set ylabel 'Intensity';"</span>, cpl_vector_get(wl, 0),</div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> cpl_vector_get(wl, len-1));</div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> <span class="keywordtype">char</span> * title = cpl_sprintf(<span class="stringliteral">"t 'Observed and modelled spectra (%d pixel "</span></div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> <span class="stringliteral">"XC=%g) ' w linespoints"</span>, len, xc);</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> </div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> (void)cpl_plot_vectors(pre, title, <span class="stringliteral">""</span>, spair, 3);</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> cpl_free(pre);</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> cpl_free(title);</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> }</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> </div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> cpl_vector_delete(wl);</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> cpl_vector_delete(spectrum);</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> cpl_vector_delete(vxc);</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> </div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> cpl_errorstate_set(prestate);</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> </div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> }</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> </div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> cpl_error_code</div>
-<div class="line"><a name="l00759"></a><span class="lineno"><a class="code" href="group__irplib__wavecal.html#ga260740bf1f3fc364b301519eab3249a6"> 759</a></span> <a class="code" href="group__irplib__wavecal.html#ga260740bf1f3fc364b301519eab3249a6" title="Find shift(s) that maximizes (locally) the cross-correlation.">irplib_bivector_find_shift_from_correlation</a>(cpl_bivector * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> <span class="keyword">const</span> cpl_polynomial * disp,</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> <span class="keyword">const</span> cpl_vector * obs,</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> irplib_base_spectrum_model * model,</div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> cpl_error_code (*filler)</div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> (cpl_vector *,</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> <span class="keyword">const</span> cpl_polynomial *,</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> irplib_base_spectrum_model *),</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> <span class="keywordtype">int</span> hsize,</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> cpl_boolean doplot,</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> <span class="keywordtype">double</span> *pxc)</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> {</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> </div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nobs = cpl_vector_get_size(obs);</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nmodel = 2 * hsize + nobs;</div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> cpl_polynomial * shdisp;</div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> cpl_vector * xself = cpl_bivector_get_x(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> cpl_vector * yself = cpl_bivector_get_y(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> cpl_vector * mspec1d;</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> cpl_vector * xcorr;</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> cpl_error_code error = CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> <span class="keywordtype">double</span> xcprev, xcnext;</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> <span class="keywordtype">int</span> ixc, imax = 0;</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> </div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> cpl_ensure_code(disp != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> cpl_ensure_code(obs != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> cpl_ensure_code(model != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> cpl_ensure_code(filler != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> cpl_ensure_code(hsize > 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> </div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> shdisp = cpl_polynomial_duplicate(disp);</div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> </div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> <span class="comment">/* Shift reference by -hsize so filler can be used without offset */</span></div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> <span class="keywordflow">if</span> (cpl_polynomial_shift_1d(shdisp, 0, -hsize)) {</div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> cpl_polynomial_delete(shdisp);</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> <span class="keywordflow">return</span> cpl_error_set_where(cpl_func);</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> }</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> </div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> mspec1d = cpl_vector_new(nmodel);</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> </div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> <span class="keywordflow">if</span> (filler(mspec1d, shdisp, model)) {</div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> cpl_vector_delete(mspec1d);</div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> <span class="keywordflow">return</span> cpl_error_set_where(cpl_func);</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> }</div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> </div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> <span class="comment">/* Should not be able to fail now */</span></div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> xcorr = cpl_vector_new(1 + 2 * hsize);</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> ixc = cpl_vector_correlate(xcorr, mspec1d, obs);</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> </div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> <span class="preprocessor">#ifdef IRPLIB_SPC_DUMP</span></div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> <span class="preprocessor"></span> <span class="comment">/* Need irplib_wavecal.c rev. 1.12 through 1.15 */</span></div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> irplib_polynomial_dump_corr_step(shdisp, xcorr, <span class="stringliteral">"Shift"</span>);</div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> cpl_vector_delete(mspec1d);</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> cpl_polynomial_delete(shdisp);</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> </div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> <span class="comment">/* Find local maxima. */</span></div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> <span class="comment">/* FIXME(?): Also include stationary points */</span></div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> i = 0;</div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> xcprev = cpl_vector_get(xcorr, i);</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> xcnext = cpl_vector_get(xcorr, i+1);</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> </div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> <span class="keywordflow">if</span> (xcprev >= xcnext) {</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> <span class="comment">/* 1st data point is an extreme */</span></div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> <span class="comment">/* FIXME: This could also be an error, recoverable by caller by</span></div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> <span class="comment"> increasing hsize */</span></div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> imax++;</div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> </div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> cpl_vector_set(xself, 0, i - hsize);</div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> cpl_vector_set(yself, 0, xcprev);</div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> </div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> }</div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> </div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> <span class="keywordflow">for</span> (i = 1; i < 2 * hsize; i++) {</div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> <span class="keyword">const</span> <span class="keywordtype">double</span> xc = xcnext;</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> xcnext = cpl_vector_get(xcorr, i+1);</div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> <span class="keywordflow">if</span> (xc >= xcprev && xc >= xcnext) {</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> <span class="comment">/* Found (local) maximum at shift i - hsize */</span></div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> <span class="keywordtype">int</span> j;</div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> </div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> imax++;</div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> </div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> <span class="keywordflow">if</span> (cpl_bivector_get_size(<span class="keyword">self</span>) < imax) {</div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> cpl_vector_set_size(xself, imax);</div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> cpl_vector_set_size(yself, imax);</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> }</div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> </div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> <span class="keywordflow">for</span> (j = imax-1; j > 0; j--) {</div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> <span class="keywordflow">if</span> (xc <= cpl_vector_get(yself, j-1)) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> cpl_vector_set(xself, j, cpl_vector_get(xself, j-1));</div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> cpl_vector_set(yself, j, cpl_vector_get(yself, j-1));</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> }</div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> cpl_vector_set(xself, j, i - hsize);</div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> cpl_vector_set(yself, j, xc);</div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> }</div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> xcprev = xc;</div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> }</div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> </div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> <span class="comment">/* assert( i == 2 * hsize ); */</span></div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> </div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> <span class="keywordflow">if</span> (xcnext >= xcprev) {</div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> <span class="comment">/* Last data point is an extreme */</span></div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> <span class="comment">/* FIXME: This could also be an error, recoverable by caller by</span></div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> <span class="comment"> increasing hsize */</span></div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> <span class="keywordtype">int</span> j;</div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> </div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> imax++;</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> </div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> <span class="keywordflow">if</span> (cpl_bivector_get_size(<span class="keyword">self</span>) < imax) {</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> cpl_vector_set_size(xself, imax);</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> cpl_vector_set_size(yself, imax);</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> }</div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> </div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> <span class="keywordflow">for</span> (j = imax-1; j > 0; j--) {</div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> <span class="keywordflow">if</span> (xcnext <= cpl_vector_get(yself, j-1)) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> cpl_vector_set(xself, j, cpl_vector_get(xself, j-1));</div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> cpl_vector_set(yself, j, cpl_vector_get(yself, j-1));</div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> }</div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> cpl_vector_set(xself, j, i - hsize);</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> cpl_vector_set(yself, j, xcnext);</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> </div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> }</div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> </div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> <span class="keywordflow">if</span> (doplot) {</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> <span class="comment">/* Vector of -hsize, 1-hsize, 2-hsize, ..., 0, ..., hsize */</span></div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> cpl_vector * xvals = cpl_vector_new(1 + 2 * hsize);</div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> cpl_bivector * bcorr = cpl_bivector_wrap_vectors(xvals, xcorr);</div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> <span class="keywordtype">double</span> x = (double)-hsize;</div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> <span class="keywordtype">char</span> * title = cpl_sprintf(<span class="stringliteral">"t 'Cross-correlation of shifted %d-pixel "</span></div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> <span class="stringliteral">"spectrum (XCmax=%g at %d)' w linespoints"</span>,</div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> nobs, cpl_vector_get(xcorr, ixc),</div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> ixc - hsize);</div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> </div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> <span class="keywordflow">for</span> (i = 0; i < 1 + 2 * hsize; i++, x += 1.0) {</div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> cpl_vector_set(xvals, i, x);</div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> }</div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> </div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> cpl_plot_bivector(<span class="stringliteral">"set grid;set xlabel 'Offset [pixel]';"</span>, title,</div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> <span class="stringliteral">""</span>, bcorr);</div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> cpl_bivector_unwrap_vectors(bcorr);</div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> cpl_vector_delete(xvals);</div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> cpl_free(title);</div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> }</div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> </div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> <span class="keywordflow">if</span> (pxc != NULL) *pxc = cpl_vector_get(xcorr, hsize);</div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> </div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> cpl_vector_delete(xcorr);</div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> </div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> <span class="keywordflow">if</span> (imax < 1) {</div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> error = CPL_ERROR_DATA_NOT_FOUND;</div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (cpl_bivector_get_size(<span class="keyword">self</span>) > imax) {</div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> cpl_vector_set_size(xself, imax);</div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> cpl_vector_set_size(yself, imax);</div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> }</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> </div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> <span class="comment">/* Propagate error, if any */</span></div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> <span class="keywordflow">return</span> cpl_error_set(cpl_func, error);</div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> }</div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> </div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> cpl_error_code</div>
-<div class="line"><a name="l00936"></a><span class="lineno"><a class="code" href="group__irplib__wavecal.html#gadf93655e2c7c0d5df23e2e3de66d0b56"> 936</a></span> <a class="code" href="group__irplib__wavecal.html#gadf93655e2c7c0d5df23e2e3de66d0b56" title="Shift self by the amount that maximizes the cross-correlation.">irplib_polynomial_shift_1d_from_correlation</a>(cpl_polynomial * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> <span class="keyword">const</span> cpl_vector * obs,</div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> irplib_base_spectrum_model * model,</div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> cpl_error_code (*filler)</div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> (cpl_vector *,</div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> <span class="keyword">const</span> cpl_polynomial *,</div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> irplib_base_spectrum_model *),</div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> <span class="keywordtype">int</span> hsize,</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> cpl_boolean doplot,</div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> <span class="keywordtype">double</span> * pxc)</div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> {</div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> </div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nobs = cpl_vector_get_size(obs);</div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nmodel = 2 * hsize + nobs;</div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> cpl_vector * mspec1d;</div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> cpl_vector * xcorr;</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> cpl_error_code error;</div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> <span class="keywordtype">int</span> ixc, xxc;</div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> <span class="keywordtype">double</span> xc;</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> </div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> cpl_ensure_code(obs != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> cpl_ensure_code(model != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> cpl_ensure_code(filler != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> cpl_ensure_code(hsize > 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> </div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> <span class="comment">/* Shift reference by -hsize so filler can be used without offset */</span></div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> cpl_ensure_code(!cpl_polynomial_shift_1d(<span class="keyword">self</span>, 0, -hsize),</div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> cpl_error_get_code());</div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> </div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> mspec1d = cpl_vector_new(nmodel);</div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> </div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> <span class="keywordflow">if</span> (filler(mspec1d, <span class="keyword">self</span>, model)) {</div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> cpl_vector_delete(mspec1d);</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> cpl_ensure_code(0, cpl_error_get_code());</div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> }</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> </div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> <span class="comment">/* Should not be able to fail now */</span></div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> xcorr = cpl_vector_new(1 + 2 * hsize);</div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> ixc = cpl_vector_correlate(xcorr, mspec1d, obs);</div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> </div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> <span class="preprocessor">#ifdef IRPLIB_SPC_DUMP</span></div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> <span class="preprocessor"></span> <span class="comment">/* Need irplib_wavecal.c rev. 1.12 through 1.15 */</span></div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> irplib_polynomial_dump_corr_step(<span class="keyword">self</span>, xcorr, <span class="stringliteral">"Shift"</span>);</div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> cpl_vector_delete(mspec1d);</div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> </div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> error = cpl_polynomial_shift_1d(<span class="keyword">self</span>, 0, (<span class="keywordtype">double</span>)ixc);</div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> </div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> xc = cpl_vector_get(xcorr, ixc);</div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> </div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> xxc = ixc - hsize; <span class="comment">/* The effect of the two shifts */</span></div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> </div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> cpl_msg_info(cpl_func, <span class="stringliteral">"Shifting %d pixels (%g < %g)"</span>, xxc,</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> cpl_vector_get(xcorr, hsize), xc);</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> </div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> <span class="keywordflow">if</span> (doplot) {</div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> cpl_vector * xvals = cpl_vector_new(1 + 2 * hsize);</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> cpl_bivector * bcorr = cpl_bivector_wrap_vectors(xvals, xcorr);</div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> <span class="keywordtype">double</span> x = (double)-hsize;</div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> <span class="keywordtype">char</span> * title = cpl_sprintf(<span class="stringliteral">"t 'Cross-correlation of shifted %d-pixel "</span></div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> <span class="stringliteral">"spectrum (XCmax=%g at %d)' w linespoints"</span>,</div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> nobs, cpl_vector_get(xcorr, ixc), xxc);</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> </div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> <span class="keywordflow">for</span> (i = 0; i < 1 + 2 * hsize; i++, x += 1.0) {</div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> cpl_vector_set(xvals, i, x);</div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> }</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> </div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> cpl_plot_bivector(<span class="stringliteral">"set grid;set xlabel 'Offset [pixel]';"</span>, title,</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> <span class="stringliteral">""</span>, bcorr);</div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> cpl_bivector_unwrap_vectors(bcorr);</div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> cpl_vector_delete(xvals);</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> cpl_free(title);</div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> }</div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> </div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> cpl_vector_delete(xcorr);</div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> </div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> cpl_ensure_code(!error, error);</div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> </div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> <span class="keywordflow">if</span> (pxc != NULL) *pxc = xc;</div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> </div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> </div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> }</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> </div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> </div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> cpl_error_code</div>
-<div class="line"><a name="l01046"></a><span class="lineno"><a class="code" href="group__irplib__wavecal.html#ga8a65755ca17c9fa0b69ceb128f544761"> 1046</a></span> <a class="code" href="group__irplib__wavecal.html#ga8a65755ca17c9fa0b69ceb128f544761" title="Generate a 1D spectrum from (arc) lines and a dispersion relation.">irplib_vector_fill_line_spectrum_model</a>(cpl_vector * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> cpl_vector * linepix,</div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> cpl_vector * erftmp,</div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> <span class="keyword">const</span> cpl_polynomial * disp,</div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> <span class="keyword">const</span> cpl_bivector * lines,</div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> <span class="keywordtype">double</span> wslit,</div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> <span class="keywordtype">double</span> wfwhm,</div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> <span class="keywordtype">double</span> xtrunc,</div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> <span class="keywordtype">int</span> hsize,</div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> cpl_boolean dofast,</div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> cpl_boolean dolog,</div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> cpl_size * pulines)</div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> {</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> </div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> cpl_errorstate prestate;</div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sigma = wfwhm * CPL_MATH_SIG_FWHM;</div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> <span class="keyword">const</span> cpl_vector * xlines = cpl_bivector_get_x_const(lines);</div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> <span class="keyword">const</span> <span class="keywordtype">double</span> * dxlines = cpl_vector_get_data_const(xlines);</div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> <span class="keyword">const</span> <span class="keywordtype">double</span> * dylines = cpl_bivector_get_y_data_const(lines);</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> <span class="keywordtype">double</span> * plinepix</div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> = linepix ? cpl_vector_get_data(linepix) : NULL;</div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nlines = cpl_vector_get_size(xlines);</div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nself = cpl_vector_get_size(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> <span class="keywordtype">double</span> * dself = cpl_vector_get_data(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> cpl_polynomial * dispi;</div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> <span class="keywordtype">double</span> * profile = NULL;</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> <span class="keyword">const</span> cpl_size i0 = 0;</div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> <span class="keyword">const</span> <span class="keywordtype">double</span> p0 = cpl_polynomial_get_coeff(disp, &i0);</div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> <span class="keywordtype">double</span> wl;</div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> <span class="keywordtype">double</span> xpos = (double)(1-hsize)-xtrunc;</div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> <span class="keyword">const</span> <span class="keywordtype">double</span> xmax = (double)(nself-hsize)+xtrunc;</div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> <span class="keywordtype">double</span> xderiv, xextreme;</div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> cpl_error_code error = CPL_ERROR_NONE;</div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> <span class="keywordtype">int</span> iline;</div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> cpl_size ulines = 0;</div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> </div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> cpl_ensure_code(disp != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> cpl_ensure_code(lines != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> </div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> cpl_ensure_code(wslit > 0.0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> cpl_ensure_code(wfwhm > 0.0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> cpl_ensure_code(hsize >= 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> cpl_ensure_code(xtrunc > 0.0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> cpl_ensure_code(nself > 2 * hsize, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> </div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> cpl_ensure_code(cpl_polynomial_get_dimension(disp) == 1,</div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> cpl_ensure_code(cpl_polynomial_get_degree(disp) > 0,</div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> </div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> <span class="comment">/* The smallest wavelength contributing to the spectrum. */</span></div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> wl = cpl_polynomial_eval_1d(disp, xpos, &xderiv);</div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> </div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> <span class="keywordflow">if</span> (wl <= 0.0) <span class="keywordflow">return</span></div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> cpl_error_set_message_macro(cpl_func, CPL_ERROR_ILLEGAL_INPUT, __FILE__,</div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> __LINE__, <span class="stringliteral">"Non-positive wavelength at x=%g: "</span></div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> <span class="stringliteral">"P(x)=%g, P'(x)=%g"</span>, xpos, wl, xderiv);</div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> </div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> <span class="keywordflow">if</span> (xderiv <= 0.0) <span class="keywordflow">return</span></div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> cpl_error_set_message_macro(cpl_func, CPL_ERROR_ILLEGAL_INPUT, __FILE__,</div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> __LINE__, <span class="stringliteral">"Non-increasing dispersion at "</span></div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> <span class="stringliteral">"x=%g: P'(x)=%g, P(x)=%g"</span>, xpos, xderiv, wl);</div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> </div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> <span class="comment">/* Find the 1st line */</span></div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> iline = cpl_vector_find(xlines, wl);</div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> </div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> <span class="comment">/* The first line must be at least at wl */</span></div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> <span class="keywordflow">if</span> (dxlines[iline] < wl) iline++;</div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> </div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> <span class="keywordflow">if</span> (iline >= nlines) <span class="keywordflow">return</span></div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> cpl_error_set_message_macro(cpl_func, CPL_ERROR_DATA_NOT_FOUND, __FILE__,</div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> __LINE__, <span class="stringliteral">"The %d-line catalogue has only "</span></div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> <span class="stringliteral">"lines below P(%g)=%g > %g"</span>, nlines, xpos,</div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> wl, dxlines[nlines-1]);</div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> </div>
-<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> memset(dself, 0, nself * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span> </div>
-<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> dispi = cpl_polynomial_duplicate(disp);</div>
-<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> </div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> <span class="comment">/* Verify monotony of dispersion */</span></div>
-<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> cpl_polynomial_derivative(dispi, 0);</div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> </div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> prestate = cpl_errorstate_get();</div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> </div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> <span class="keywordflow">if</span> (cpl_polynomial_solve_1d(dispi, 0.5*(nlines+1), &xextreme, 1)) {</div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> cpl_errorstate_set(prestate);</div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (xpos < xextreme && xextreme < xmax) {</div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> cpl_polynomial_delete(dispi);</div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> <span class="keywordflow">return</span> cpl_error_set_message_macro(cpl_func, CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> __FILE__, __LINE__, <span class="stringliteral">"Non-monotone "</span></div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> <span class="stringliteral">"dispersion at x=%g: P'(x)=0, "</span></div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> <span class="stringliteral">"P(x)=%g"</span>, xextreme,</div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> cpl_polynomial_eval_1d(disp, xextreme,</div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> NULL));</div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> }</div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> </div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> <span class="keywordflow">if</span> (dofast) {</div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> <span class="keyword">const</span> <span class="keywordtype">int</span> npix = 1+(int)xtrunc;</div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> </div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> <span class="keywordflow">if</span> (erftmp != NULL && cpl_vector_get_size(erftmp) == npix &&</div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> cpl_vector_get(erftmp, 0) > 0.0) {</div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> profile = cpl_vector_get_data(erftmp);</div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> </div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> <span class="keyword">const</span> <span class="keywordtype">double</span> yval = 0.5 / wslit;</div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> <span class="keyword">const</span> <span class="keywordtype">double</span> x0p = 0.5 * wslit + 0.5;</div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> <span class="keyword">const</span> <span class="keywordtype">double</span> x0n = -0.5 * wslit + 0.5;</div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> <span class="keywordtype">double</span> x1diff</div>
-<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> = <a class="code" href="group__irplib__wavecal.html#ga2da9c21054a19322705de2d4f48d1d3f" title="The antiderivative of erx(x/sigma/sqrt(2)) with respect to x.">irplib_erf_antideriv</a>(x0p, sigma)</div>
-<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> - <a class="code" href="group__irplib__wavecal.html#ga2da9c21054a19322705de2d4f48d1d3f" title="The antiderivative of erx(x/sigma/sqrt(2)) with respect to x.">irplib_erf_antideriv</a>(x0n, sigma);</div>
-<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> <span class="keywordtype">int</span> ipix;</div>
-<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> </div>
-<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> <span class="keywordflow">if</span> (erftmp == NULL) {</div>
-<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> profile = (<span class="keywordtype">double</span>*)cpl_malloc(<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)*(size_t)npix);</div>
-<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> cpl_vector_set_size(erftmp, npix);</div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> profile = cpl_vector_get_data(erftmp);</div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> }</div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> </div>
-<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> profile[0] = 2.0 * yval * x1diff;</div>
-<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> </div>
-<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> <span class="keywordflow">for</span> (ipix = 1; ipix < npix; ipix++) {</div>
-<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> <span class="keyword">const</span> <span class="keywordtype">double</span> x1 = (double)ipix;</div>
-<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> <span class="keyword">const</span> <span class="keywordtype">double</span> x1p = x1 + 0.5 * wslit + 0.5;</div>
-<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span> <span class="keyword">const</span> <span class="keywordtype">double</span> x1n = x1 - 0.5 * wslit + 0.5;</div>
-<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span> <span class="keyword">const</span> <span class="keywordtype">double</span> x0diff = x1diff;</div>
-<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> </div>
-<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> x1diff = <a class="code" href="group__irplib__wavecal.html#ga2da9c21054a19322705de2d4f48d1d3f" title="The antiderivative of erx(x/sigma/sqrt(2)) with respect to x.">irplib_erf_antideriv</a>(x1p, sigma)</div>
-<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> - <a class="code" href="group__irplib__wavecal.html#ga2da9c21054a19322705de2d4f48d1d3f" title="The antiderivative of erx(x/sigma/sqrt(2)) with respect to x.">irplib_erf_antideriv</a>(x1n, sigma);</div>
-<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> </div>
-<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> profile[ipix] = yval * (x1diff - x0diff);</div>
-<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span> </div>
-<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> }</div>
-<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span> }</div>
-<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> }</div>
-<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> </div>
-<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> cpl_polynomial_copy(dispi, disp);</div>
-<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> </div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> <span class="comment">/* FIXME: A custom version of cpl_polynomial_solve_1d() which returns</span></div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> <span class="comment"> P'(xpos) can be used for the 1st NR-iteration. */</span></div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> <span class="comment">/* Further, the sign of P'(xpos) could be checked for all lines. */</span></div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> <span class="comment">/* Perform 1st NR-iteration in solving for P(xpos) = dxlines[iline] */</span></div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> xpos -= (wl - dxlines[iline]) / xderiv;</div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> </div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> <span class="comment">/* Iterate through the lines */</span></div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> <span class="keywordflow">for</span> (; !error && iline < nlines; iline++) {</div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> </div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> <span class="comment">/* Lines may have a non-physical intensity (e.g. zero) to indicate some</span></div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> <span class="comment"> property of the line, e.g. unknown intensity due to blending */</span></div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> <span class="keywordflow">if</span> (dylines[iline] <= 0.0) <span class="keywordflow">continue</span>;</div>
-<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> </div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> <span class="comment">/* Use 1st guess, if available (Use 0.0 to flag unavailable) */</span></div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> <span class="keywordflow">if</span> (plinepix != NULL && plinepix[iline] > 0.0) xpos = plinepix[iline];</div>
-<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> </div>
-<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> <span class="keywordflow">if</span> (xpos > xmax) xpos = xmax; <span class="comment">/* FIXME: Better to limit xpos ? */</span></div>
-<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> </div>
-<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> <span class="comment">/* Find the (sub-) pixel position of the line */</span></div>
-<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span> error = cpl_polynomial_set_coeff(dispi, &i0, p0 - dxlines[iline]) ||</div>
-<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> cpl_polynomial_solve_1d(dispi, xpos, &xpos, 1);</div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> </div>
-<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> <span class="keywordflow">if</span> (xpos > xmax) {</div>
-<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> <span class="keywordflow">if</span> (error) {</div>
-<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> error = 0;</div>
-<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> cpl_msg_debug(cpl_func, <span class="stringliteral">"Stopping spectrum fill at line %d/%d "</span></div>
-<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> <span class="stringliteral">"at xpos=%g > xmax=%g"</span>,</div>
-<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> iline, nlines, xpos, xmax);</div>
-<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> cpl_errorstate_dump(prestate, CPL_FALSE,</div>
-<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span> <a class="code" href="group__irplib__utils.html#ga26c6209e5df98978e2922a15b47b47d1" title="Dump a single CPL error at the CPL debug level.">irplib_errorstate_dump_debug</a>);</div>
-<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> cpl_errorstate_set(prestate);</div>
-<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span> }</div>
-<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (error) {</div>
-<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span> <span class="keywordflow">if</span> (linepix != NULL && ulines) (void)cpl_vector_fill(linepix, 0.0);</div>
-<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> (void)cpl_error_set_message_macro(cpl_func, cpl_error_get_code(),</div>
-<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span> __FILE__, __LINE__,</div>
-<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span> <span class="stringliteral">"Could not find pixel-position "</span></div>
-<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span> <span class="stringliteral">"of line %d/%d at wavelength=%g."</span></div>
-<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> <span class="stringliteral">" xpos=%g, xmax=%g"</span>,</div>
-<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span> iline, nlines, dxlines[iline],</div>
-<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span> xpos, xmax);</div>
-<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (dofast) {</div>
-<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span> <span class="keyword">const</span> <span class="keywordtype">double</span> frac = fabs(xpos - floor(xpos));</div>
-<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span> <span class="preprocessor">#ifdef IRPLIB_WAVECAL_FAST_FAST</span></div>
-<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span> <span class="preprocessor"></span> <span class="keyword">const</span> <span class="keywordtype">double</span> frac0 = 1.0 - frac; <span class="comment">/* Weight opposite of distance */</span></div>
-<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span> <span class="preprocessor"></span> <span class="comment">/* Center intensity correctly */</span></div>
-<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span> <span class="keyword">const</span> <span class="keywordtype">double</span> ep1pw = <a class="code" href="group__irplib__wavecal.html#ga2da9c21054a19322705de2d4f48d1d3f" title="The antiderivative of erx(x/sigma/sqrt(2)) with respect to x.">irplib_erf_antideriv</a>(frac + 0.5 * wslit, sigma);</div>
-<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span> <span class="keyword">const</span> <span class="keywordtype">double</span> en1pw = <a class="code" href="group__irplib__wavecal.html#ga2da9c21054a19322705de2d4f48d1d3f" title="The antiderivative of erx(x/sigma/sqrt(2)) with respect to x.">irplib_erf_antideriv</a>(frac + 0.5 * wslit - 1.0,</div>
-<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> sigma);</div>
-<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span> <span class="keyword">const</span> <span class="keywordtype">double</span> ep1nw = <a class="code" href="group__irplib__wavecal.html#ga2da9c21054a19322705de2d4f48d1d3f" title="The antiderivative of erx(x/sigma/sqrt(2)) with respect to x.">irplib_erf_antideriv</a>(frac - 0.5 * wslit, sigma);</div>
-<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span> <span class="keyword">const</span> <span class="keywordtype">double</span> en1nw = <a class="code" href="group__irplib__wavecal.html#ga2da9c21054a19322705de2d4f48d1d3f" title="The antiderivative of erx(x/sigma/sqrt(2)) with respect to x.">irplib_erf_antideriv</a>(frac - 0.5 * wslit - 1.0,</div>
-<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span> sigma);</div>
-<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span> <span class="keyword">const</span> <span class="keywordtype">double</span> frac0</div>
-<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span> = (en1nw - en1pw) / (ep1pw - en1pw - ep1nw + en1nw);</div>
-<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span> </div>
-<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span> <span class="preprocessor"></span> <span class="keyword">const</span> <span class="keywordtype">double</span> frac1 = 1.0 - frac0;</div>
-<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span> <span class="keyword">const</span> <span class="keywordtype">double</span> yval0 = frac0 * dylines[iline];</div>
-<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span> <span class="keyword">const</span> <span class="keywordtype">double</span> yval1 = frac1 * dylines[iline];</div>
-<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span> <span class="keyword">const</span> <span class="keywordtype">int</span> npix = 1+(int)xtrunc;</div>
-<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span> <span class="keywordtype">int</span> ipix;</div>
-<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span> <span class="keywordtype">int</span> i0n = hsize - 1 + floor(xpos);</div>
-<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span> <span class="keywordtype">int</span> i0p = i0n;</div>
-<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span> <span class="keywordtype">int</span> i1n = i0n + 1;</div>
-<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> <span class="keywordtype">int</span> i1p = i1n;</div>
-<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> cpl_boolean didline = CPL_FALSE;</div>
-<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> </div>
-<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> </div>
-<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> <span class="comment">/* Update 1st guess for next time, if available */</span></div>
-<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> <span class="keywordflow">if</span> (plinepix != NULL) plinepix[iline] = xpos;</div>
-<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> </div>
-<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> <span class="keywordflow">if</span> (frac0 < 0.0) {</div>
-<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> (void)cpl_error_set_message_macro(cpl_func,</div>
-<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> CPL_ERROR_UNSPECIFIED,</div>
-<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> __FILE__, __LINE__,</div>
-<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> <span class="stringliteral">"Illegal split at x=%g: %g + "</span></div>
-<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> <span class="stringliteral">"%g = 1"</span>, xpos, frac0, frac1);</div>
-<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> <span class="preprocessor">#ifdef IRPLIB_WAVEVAL_DEBUG</span></div>
-<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> <span class="preprocessor"></span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> cpl_msg_warning(cpl_func,<span class="stringliteral">"profile split at x=%g: %g + %g = 1"</span>,</div>
-<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> xpos, frac0, frac1);</div>
-<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> <span class="preprocessor"></span> }</div>
-<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> </div>
-<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> <span class="keywordflow">for</span> (ipix = 0; ipix < npix; ipix++, i0n--, i0p++, i1n--, i1p++) {</div>
-<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> </div>
-<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> <span class="keywordflow">if</span> (i0n >= 0 && i0n < nself) {</div>
-<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span> dself[i0n] += yval0 * profile[ipix];</div>
-<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> didline = CPL_TRUE;</div>
-<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> }</div>
-<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span> <span class="keywordflow">if</span> (i1n >= 0 && i1n < nself && ipix + 1 < npix) {</div>
-<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> dself[i1n] += yval1 * profile[ipix+1];</div>
-<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span> didline = CPL_TRUE;</div>
-<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span> }</div>
-<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> </div>
-<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> <span class="keywordflow">if</span> (ipix == 0) <span class="keywordflow">continue</span>;</div>
-<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span> </div>
-<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span> <span class="keywordflow">if</span> (i0p >= 0 && i0p < nself) {</div>
-<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span> dself[i0p] += yval0 * profile[ipix];</div>
-<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span> didline = CPL_TRUE;</div>
-<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> }</div>
-<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span> <span class="keywordflow">if</span> (i1p >= 0 && i1p < nself && ipix + 1 < npix) {</div>
-<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span> dself[i1p] += yval1 * profile[ipix+1];</div>
-<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span> didline = CPL_TRUE;</div>
-<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> }</div>
-<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span> }</div>
-<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span> </div>
-<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span> <span class="keywordflow">if</span> (didline) ulines++;</div>
-<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span> </div>
-<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> <span class="keyword">const</span> <span class="keywordtype">double</span> yval = 0.5 * dylines[iline] / wslit;</div>
-<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ifirst = IRPLIB_MAX((<span class="keywordtype">int</span>)(xpos-xtrunc+0.5), 1-hsize);</div>
-<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ilast = IRPLIB_MIN((<span class="keywordtype">int</span>)(xpos+xtrunc), nself-hsize);</div>
-<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span> <span class="keywordtype">int</span> ipix;</div>
-<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> <span class="keyword">const</span> <span class="keywordtype">double</span> x0 = (double)ifirst - xpos;</div>
-<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span> <span class="keyword">const</span> <span class="keywordtype">double</span> x0p = x0 + 0.5*wslit - 0.5;</div>
-<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span> <span class="keyword">const</span> <span class="keywordtype">double</span> x0n = x0 - 0.5*wslit - 0.5;</div>
-<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> <span class="keywordtype">double</span> x1diff</div>
-<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span> = <a class="code" href="group__irplib__wavecal.html#ga2da9c21054a19322705de2d4f48d1d3f" title="The antiderivative of erx(x/sigma/sqrt(2)) with respect to x.">irplib_erf_antideriv</a>(x0p, sigma)</div>
-<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> - <a class="code" href="group__irplib__wavecal.html#ga2da9c21054a19322705de2d4f48d1d3f" title="The antiderivative of erx(x/sigma/sqrt(2)) with respect to x.">irplib_erf_antideriv</a>(x0n, sigma);</div>
-<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span> </div>
-<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span> <span class="comment">/* Update 1st guess for next time, if available */</span></div>
-<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> <span class="keywordflow">if</span> (plinepix != NULL) plinepix[iline] = xpos;</div>
-<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> </div>
-<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span> <span class="keywordflow">if</span> (ilast >= ifirst) ulines++;</div>
-<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span> </div>
-<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> <span class="keywordflow">for</span> (ipix = ifirst; ipix <= ilast; ipix++) {</div>
-<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span> <span class="keyword">const</span> <span class="keywordtype">double</span> x1 = (double)ipix - xpos;</div>
-<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span> <span class="keyword">const</span> <span class="keywordtype">double</span> x1p = x1 + 0.5*wslit + 0.5;</div>
-<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span> <span class="keyword">const</span> <span class="keywordtype">double</span> x1n = x1 - 0.5*wslit + 0.5;</div>
-<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span> <span class="keyword">const</span> <span class="keywordtype">double</span> x0diff = x1diff;</div>
-<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span> </div>
-<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span> x1diff = <a class="code" href="group__irplib__wavecal.html#ga2da9c21054a19322705de2d4f48d1d3f" title="The antiderivative of erx(x/sigma/sqrt(2)) with respect to x.">irplib_erf_antideriv</a>(x1p, sigma)</div>
-<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span> - <a class="code" href="group__irplib__wavecal.html#ga2da9c21054a19322705de2d4f48d1d3f" title="The antiderivative of erx(x/sigma/sqrt(2)) with respect to x.">irplib_erf_antideriv</a>(x1n, sigma);</div>
-<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span> </div>
-<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span> dself[ipix+hsize-1] += yval * (x1diff - x0diff);</div>
-<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span> </div>
-<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> }</div>
-<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span> }</div>
-<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span> }</div>
-<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> </div>
-<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> cpl_polynomial_delete(dispi);</div>
-<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span> <span class="keywordflow">if</span> (erftmp == NULL) cpl_free(profile);</div>
-<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span> </div>
-<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span> cpl_ensure_code(!error, cpl_error_get_code());</div>
-<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span> </div>
-<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span> <span class="keywordflow">if</span> (dolog) {</div>
-<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span> <span class="keywordflow">for</span> (i = 0; i < nself; i++) {</div>
-<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span> dself[i] = dself[i] > 0.0 ? log(1.0 + dself[i]) : 0.0;</div>
-<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span> }</div>
-<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span> }</div>
-<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span> </div>
-<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span> <span class="keywordflow">if</span> (!ulines) <span class="keywordflow">return</span></div>
-<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span> cpl_error_set_message_macro(cpl_func, CPL_ERROR_DATA_NOT_FOUND,</div>
-<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span> __FILE__, __LINE__, <span class="stringliteral">"The %d-line "</span></div>
-<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span> <span class="stringliteral">"catalogue has no lines in the range "</span></div>
-<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span> <span class="stringliteral">"%g -> P(%g)=%g"</span>, nlines, wl, xmax,</div>
-<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span> cpl_polynomial_eval_1d(disp, xmax, NULL));</div>
-<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span> </div>
-<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> <span class="keywordflow">if</span> (pulines != NULL) *pulines = ulines;</div>
-<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span> </div>
-<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> }</div>
-<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span> </div>
-<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01363"></a><span class="lineno"><a class="code" href="group__irplib__wavecal.html#ga2da9c21054a19322705de2d4f48d1d3f"> 1363</a></span> <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="group__irplib__wavecal.html#ga2da9c21054a19322705de2d4f48d1d3f" title="The antiderivative of erx(x/sigma/sqrt(2)) with respect to x.">irplib_erf_antideriv</a>(<span class="keywordtype">double</span> x, <span class="keywordtype [...]
-<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span> {</div>
-<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span> <span class="keywordflow">return</span> x * erf( x / (sigma * CPL_MATH_SQRT2))</div>
-<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span> + 2.0 * sigma/CPL_MATH_SQRT2PI * exp(-0.5 * x * x / (sigma * sigma));</div>
-<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span> }</div>
-<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span> </div>
-<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span> </div>
-<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span> <span class="preprocessor">#ifdef HAVE_GSL</span></div>
-<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span> <span class="keyword">static</span> <span class="keywordtype">double</span> irplib_gsl_correlation(<span class="keyword">const</span> gsl_vector * <span class="keyword">self</span>, <span class="keywordtype">void</span> * data)</div>
-<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span> {</div>
-<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span> </div>
-<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span> irplib_multimin * mindata = (irplib_multimin *)data;</div>
-<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span> cpl_errorstate prestate = cpl_errorstate_get();</div>
-<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span> <span class="keywordtype">int</span> nobs, nmodel, ndiff;</div>
-<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span> cpl_size i;</div>
-<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span> </div>
-<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span> cpl_ensure(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT, GSL_NAN);</div>
-<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span> cpl_ensure(data != NULL, CPL_ERROR_NULL_INPUT, GSL_NAN);</div>
-<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span> </div>
-<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span> cpl_ensure(mindata->filler != NULL, CPL_ERROR_NULL_INPUT, GSL_NAN);</div>
-<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span> cpl_ensure(mindata->observed != NULL, CPL_ERROR_NULL_INPUT, GSL_NAN);</div>
-<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span> cpl_ensure(mindata->spectrum != NULL, CPL_ERROR_NULL_INPUT, GSL_NAN);</div>
-<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span> </div>
-<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span> nobs = cpl_vector_get_size(mindata->observed);</div>
-<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span> nmodel = cpl_vector_get_size(mindata->spectrum);</div>
-<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span> ndiff = nmodel - nobs;</div>
-<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span> </div>
-<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span> cpl_ensure((ndiff & 1) == 0, CPL_ERROR_ILLEGAL_INPUT, GSL_NAN);</div>
-<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span> </div>
-<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span> cpl_ensure(cpl_vector_get_size(mindata->vxc) == 1 + ndiff,</div>
-<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span> CPL_ERROR_ILLEGAL_INPUT, GSL_NAN);</div>
-<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span> </div>
-<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span> ndiff /= 2;</div>
-<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span> </div>
-<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span> <span class="keywordflow">for</span> (i=0; i < (cpl_size)self->size; i++) {</div>
-<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span> <span class="keyword">const</span> <span class="keywordtype">double</span> value = gsl_vector_get(<span class="keyword">self</span>, (<span class="keywordtype">size_t</span>)i);</div>
-<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span> cpl_polynomial_set_coeff(mindata->disp1d, &i, value);</div>
-<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span> }</div>
-<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span> </div>
-<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span> <span class="comment">/* Shift reference by -ndiff so filler can be used without offset.</span></div>
-<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span> <span class="comment"> The subsequent polynomial shift is reduced by -ndiff. */</span></div>
-<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span> cpl_ensure_code(!cpl_polynomial_shift_1d(mindata->disp1d, 0, -ndiff),</div>
-<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span> cpl_error_get_code());</div>
-<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span> </div>
-<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span> <span class="keywordflow">if</span> (mindata->filler(mindata->spectrum, mindata->disp1d,</div>
-<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span> mindata->param)</div>
-<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span> || !cpl_errorstate_is_equal(prestate)) {</div>
-<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span> </div>
-<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span> <span class="comment">/* The fill failed. Ensure the discarding of this candidate by</span></div>
-<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span> <span class="comment"> setting the cross-correlation to its minimum possible value. */</span></div>
-<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span> </div>
-<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span> (void)cpl_vector_fill(mindata->vxc, -1.0);</div>
-<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span> </div>
-<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span> mindata->maxxc = ndiff;</div>
-<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span> </div>
-<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(prestate)) {</div>
-<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span> cpl_msg_debug(cpl_func, <span class="stringliteral">"Spectrum fill failed:"</span>);</div>
-<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span> cpl_errorstate_dump(prestate, CPL_FALSE,</div>
-<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span> <a class="code" href="group__irplib__utils.html#ga26c6209e5df98978e2922a15b47b47d1" title="Dump a single CPL error at the CPL debug level.">irplib_errorstate_dump_debug</a>);</div>
-<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span> cpl_errorstate_set(prestate);</div>
-<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span> }</div>
-<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span> </div>
-<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span> mindata->maxxc = cpl_vector_correlate(mindata->vxc,</div>
-<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span> mindata->spectrum,</div>
-<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span> mindata->observed);</div>
-<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span> }</div>
-<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span> </div>
-<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span> <span class="preprocessor">#ifdef IRPLIB_SPC_DUMP</span></div>
-<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span> <span class="preprocessor"></span> <span class="comment">/* Need irplib_wavecal.c rev. 1.12 through 1.15 */</span></div>
-<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span> irplib_polynomial_dump_corr_step(mindata->disp1d, mindata->vxc,</div>
-<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span> <span class="stringliteral">"Optimize"</span>);</div>
-<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span> mindata->xc = cpl_vector_get(mindata->vxc, ndiff);</div>
-<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span> </div>
-<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span> <span class="keywordflow">if</span> (mindata->maxxc != ndiff &&</div>
-<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span> cpl_vector_get(mindata->vxc, mindata->maxxc) > mindata->mxc) {</div>
-<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span> <span class="keyword">const</span> irplib_base_spectrum_model * arclamp</div>
-<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span> = (<span class="keyword">const</span> irplib_base_spectrum_model *)mindata->param;</div>
-<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span> </div>
-<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span> if (mindata->mdisp == NULL) {</div>
-<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span> mindata->mdisp = cpl_polynomial_duplicate(mindata->disp1d);</div>
-<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span> cpl_polynomial_copy(mindata->mdisp, mindata->disp1d);</div>
-<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span> }</div>
-<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span> mindata->mxc = cpl_vector_get(mindata->vxc, mindata->maxxc);</div>
-<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span> mindata->ishift = mindata->maxxc; <span class="comment">/* Offset -ndiff pre-shifted above */</span></div>
-<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span> cpl_msg_debug(cpl_func, <span class="stringliteral">"Local maximum: %g(%d) > %g(%d) (cost=%u:%u. "</span></div>
-<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span> <span class="stringliteral">"lines=%u)"</span>, mindata->mxc, mindata->maxxc, mindata->xc,</div>
-<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span> ndiff, (<span class="keywordtype">unsigned</span>)arclamp->cost, (<span class="keywordtype">unsigned</span>)arclamp->xcost,</div>
-<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span> (<span class="keywordtype">unsigned</span>)arclamp->ulines);</div>
-<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span> }</div>
-<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span> </div>
-<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span> <span class="keywordflow">return</span> -mindata->xc;</div>
-<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span> }</div>
-<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span> </div>
-<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span> cpl_error_code</div>
-<div class="line"><a name="l01496"></a><span class="lineno"><a class="code" href="group__irplib__wavecal.html#ga7e782bcb7ec0e638a93dba628916a7a8"> 1496</a></span> <a class="code" href="group__irplib__wavecal.html#ga7e782bcb7ec0e638a93dba628916a7a8" title="Modify self by maximizing the cross-correlation across all maxima.">irplib_polynomial_find_1d_from_correlation_all</a>(cpl_polynomial * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span> <span class="keywordtype">int</span> maxdeg,</div>
-<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span> <span class="keyword">const</span> cpl_vector * obs,</div>
-<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span> <span class="keywordtype">int</span> nmaxima,</div>
-<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span> <span class="keywordtype">int</span> linelim,</div>
-<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span> irplib_base_spectrum_model* model,</div>
-<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span> cpl_error_code (* filler)</div>
-<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span> (cpl_vector *,</div>
-<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span> <span class="keyword">const</span> cpl_polynomial *,</div>
-<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span> irplib_base_spectrum_model *),</div>
-<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span> <span class="keywordtype">double</span> pixtol,</div>
-<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span> <span class="keywordtype">double</span> pixstep,</div>
-<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span> <span class="keywordtype">int</span> hsize,</div>
-<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span> <span class="keywordtype">int</span> maxite,</div>
-<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span> <span class="keywordtype">int</span> maxfail,</div>
-<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span> <span class="keywordtype">int</span> maxcont,</div>
-<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span> cpl_boolean doplot,</div>
-<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span> <span class="keywordtype">double</span> * pxc)</div>
-<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span> {</div>
-<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span> </div>
-<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span> <span class="preprocessor">#ifdef HAVE_GSL</span></div>
-<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span> cpl_errorstate prestate = cpl_errorstate_get();</div>
-<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span> cpl_polynomial * start;</div>
-<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span> cpl_polynomial * cand;</div>
-<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span> cpl_polynomial * backup;</div>
-<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span> cpl_error_code error = CPL_ERROR_NONE;</div>
-<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span> <span class="keywordtype">double</span> xc;</div>
-<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span> cpl_bivector * xtshift = cpl_bivector_new(nmaxima ? nmaxima : 1);</div>
-<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span> <span class="keyword">const</span> cpl_vector * xtshiftx = cpl_bivector_get_x_const(xtshift);</div>
-<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span> <span class="keyword">const</span> cpl_vector * xtshifty = cpl_bivector_get_y_const(xtshift);</div>
-<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span> <span class="keywordtype">int</span> nshift;</div>
-<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span> <span class="keywordtype">int</span> imaximum = -1;</div>
-<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span> <span class="keywordtype">int</span> imaxima;</div>
-<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span> </div>
-<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span> cpl_ensure_code(obs != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span> cpl_ensure_code(model != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span> cpl_ensure_code(filler != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span> cpl_ensure_code(pxc != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span> </div>
-<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span> cpl_ensure_code(cpl_polynomial_get_dimension(<span class="keyword">self</span>) == 1,</div>
-<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span> CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span> </div>
-<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span> cpl_ensure_code(cpl_polynomial_get_degree(<span class="keyword">self</span>) > 0,</div>
-<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span> CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span> </div>
-<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span> cpl_ensure_code(maxdeg >= 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span> cpl_ensure_code(pixtol > 0.0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span> cpl_ensure_code(pixstep > 0.0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span> cpl_ensure_code(hsize >= 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span> cpl_ensure_code(maxite >= 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span> cpl_ensure_code(nmaxima >= 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span> cpl_ensure_code(maxfail > 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span> cpl_ensure_code(maxcont > 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span> cpl_ensure_code(linelim >= 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span> </div>
-<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span> <span class="preprocessor">#ifndef HAVE_GSL</span></div>
-<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span> <span class="preprocessor"></span> <span class="comment">/* Avoid unused variable warning */</span></div>
-<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span> cpl_ensure_code(doplot == CPL_TRUE || doplot == CPL_FALSE,</div>
-<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span> CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span> <span class="keywordflow">return</span> cpl_error_set_message(cpl_func, CPL_ERROR_UNSUPPORTED_MODE,</div>
-<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span> <span class="stringliteral">"GSL is not available"</span>);</div>
-<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span> <span class="keywordflow">if</span> (<a class="code" href="group__irplib__wavecal.html#ga260740bf1f3fc364b301519eab3249a6" title="Find shift(s) that maximizes (locally) the cross-correlation.">irplib_bivector_find_shift_from_correlation</a>(xtshift, <span class="keyword">self</span>, obs,</div>
-<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span> model, filler,</div>
-<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span> hsize, doplot, &xc)) {</div>
-<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span> cpl_bivector_delete(xtshift);</div>
-<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span> <span class="keywordflow">return</span> cpl_error_set_where(cpl_func);</div>
-<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span> }</div>
-<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span> </div>
-<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span> <span class="keywordflow">if</span> (model->ulines > (cpl_size)linelim) {</div>
-<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span> <span class="comment">/* The initial, optimal (integer) shift */</span></div>
-<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span> <span class="keyword">const</span> <span class="keywordtype">double</span> xxc = cpl_vector_get(xtshiftx, 0);</div>
-<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span> <span class="keyword">const</span> <span class="keywordtype">double</span> xc0 = cpl_vector_get(xtshifty, 0);</div>
-<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span> </div>
-<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span> cpl_msg_warning(cpl_func, <span class="stringliteral">"Doing only shift=%g pixels with lines=%u > "</span></div>
-<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span> <span class="stringliteral">"%d and XC=%g"</span>, xxc, (<span class="keywordtype">unsigned</span>)model->ulines, linelim,</div>
-<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span> xc0);</div>
-<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span> </div>
-<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span> cpl_polynomial_shift_1d(<span class="keyword">self</span>, 0, xxc);</div>
-<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span> </div>
-<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span> *pxc = xc0;</div>
-<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span> </div>
-<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span> cpl_bivector_delete(xtshift);</div>
-<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span> </div>
-<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span> }</div>
-<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span> </div>
-<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span> start = cpl_polynomial_duplicate(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span> cand = cpl_polynomial_new(1);</div>
-<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span> backup = cpl_polynomial_new(1);</div>
-<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span> </div>
-<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span> <span class="comment">/* Number of (local) maxima to use as starting point of the optimization */</span></div>
-<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span> nshift = cpl_bivector_get_size(xtshift);</div>
-<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span> <span class="keywordflow">if</span> (nmaxima == 0 || nmaxima > nshift) nmaxima = nshift;</div>
-<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span> </div>
-<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span> cpl_msg_info(cpl_func, <span class="stringliteral">"Optimizing %d/%d local shift-maxima "</span></div>
-<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span> <span class="stringliteral">"(no-shift xc=%g. linelim=%d)"</span>, nmaxima, nshift, xc, linelim);</div>
-<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span> <span class="keywordflow">if</span> (cpl_msg_get_level() <= CPL_MSG_DEBUG)</div>
-<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span> cpl_bivector_dump(xtshift, stdout);</div>
-<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span> </div>
-<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span> <span class="keywordflow">for</span> (imaxima = 0; imaxima < nmaxima; imaxima++) {</div>
-<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span> <span class="comment">/* The initial, optimal (integer) shift */</span></div>
-<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span> <span class="keyword">const</span> <span class="keywordtype">double</span> xxc = cpl_vector_get(xtshiftx, imaxima);</div>
-<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span> <span class="keywordtype">double</span> xtpixstep = pixstep;</div>
-<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span> <span class="keywordtype">double</span> xtpixtol = pixtol;</div>
-<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span> <span class="keywordtype">double</span> xtxc;</div>
-<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span> cpl_boolean ok = CPL_FALSE;</div>
-<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span> <span class="keywordtype">int</span> nfail;</div>
-<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span> </div>
-<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span> </div>
-<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span> cpl_polynomial_copy(cand, start);</div>
-<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span> cpl_polynomial_shift_1d(cand, 0, xxc);</div>
-<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span> cpl_polynomial_copy(backup, cand);</div>
-<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span> </div>
-<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span> <span class="comment">/* Increase tolerance until convergence */</span></div>
-<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span> <span class="keywordflow">for</span> (nfail = 0; nfail < maxfail; nfail++, xtpixtol *= 2.0,</div>
-<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span> xtpixstep *= 2.0) {</div>
-<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span> <span class="keywordtype">int</span> restart = maxcont;</div>
-<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span> cpl_boolean redo;</div>
-<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span> </div>
-<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span> <span class="keywordflow">do</span> {</div>
-<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span> <span class="keywordflow">if</span> (error) {</div>
-<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span> cpl_errorstate_dump(prestate, CPL_FALSE,</div>
-<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span> <a class="code" href="group__irplib__utils.html#ga26c6209e5df98978e2922a15b47b47d1" title="Dump a single CPL error at the CPL debug level.">irplib_errorstate_dump_debug</a>);</div>
-<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span> cpl_errorstate_set(prestate);</div>
-<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span> }</div>
-<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span> error = irplib_polynomial_find_1d_from_correlation_</div>
-<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span> (cand, maxdeg, obs, model,</div>
-<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span> filler, xtpixtol, xtpixstep, 2,</div>
-<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span> maxite, &xtxc, &redo);</div>
-<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span> <span class="keywordflow">if</span> (redo && !error) error = CPL_ERROR_CONTINUE;</div>
-<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span> } <span class="keywordflow">while</span> (((!error && redo) || error == CPL_ERROR_CONTINUE)</div>
-<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span> && --restart);</div>
-<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span> </div>
-<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span> <span class="keywordflow">if</span> (!error && !redo) {</div>
-<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span> cpl_msg_debug(cpl_func, <span class="stringliteral">"XC(imax=%d/%d:xtpixtol=%g): %g "</span></div>
-<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span> <span class="stringliteral">"(cost=%u:%u)"</span>, 1+imaxima, nmaxima, xtpixtol,</div>
-<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span> xtxc, (<span class="keywordtype">unsigned</span>)model->cost,</div>
-<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span> (<span class="keywordtype">unsigned</span>)model->xcost);</div>
-<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span> }</div>
-<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span> cpl_msg_warning(cpl_func, <span class="stringliteral">"Increasing xtpixtol from %g (%g, imax="</span></div>
-<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span> <span class="stringliteral">"%d/%d)"</span>, xtpixtol, xtpixstep, 1+imaxima, nmaxima);</div>
-<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span> <span class="keywordflow">if</span> (model->ulines > (cpl_size)linelim) {</div>
-<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span> cpl_msg_warning(cpl_func, <span class="stringliteral">"Stopping search-refinement via "</span></div>
-<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span> <span class="stringliteral">"catalogue with %u lines > %d"</span>,</div>
-<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span> (<span class="keywordtype">unsigned</span>)model->ulines, linelim);</div>
-<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span> }</div>
-<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span> cpl_polynomial_copy(cand, start);</div>
-<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span> }</div>
-<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span> </div>
-<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span> <span class="comment">/* Decrease tolerance until divergence, keep previous */</span></div>
-<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span> <span class="keywordflow">for</span> (; !error && xtpixtol > 0.0; xtpixtol *= 0.25, xtpixstep *= 0.5) {</div>
-<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span> <span class="keywordtype">int</span> restart = maxcont;</div>
-<div class="line"><a name="l01656"></a><span class="lineno"> 1656</span> cpl_boolean redo;</div>
-<div class="line"><a name="l01657"></a><span class="lineno"> 1657</span> </div>
-<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span> cpl_polynomial_copy(backup, cand);</div>
-<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span> <span class="keywordflow">do</span> {</div>
-<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span> <span class="keywordflow">if</span> (error) {</div>
-<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span> cpl_errorstate_dump(prestate, CPL_FALSE,</div>
-<div class="line"><a name="l01662"></a><span class="lineno"> 1662</span> <a class="code" href="group__irplib__utils.html#ga26c6209e5df98978e2922a15b47b47d1" title="Dump a single CPL error at the CPL debug level.">irplib_errorstate_dump_debug</a>);</div>
-<div class="line"><a name="l01663"></a><span class="lineno"> 1663</span> cpl_errorstate_set(prestate);</div>
-<div class="line"><a name="l01664"></a><span class="lineno"> 1664</span> }</div>
-<div class="line"><a name="l01665"></a><span class="lineno"> 1665</span> error = irplib_polynomial_find_1d_from_correlation_</div>
-<div class="line"><a name="l01666"></a><span class="lineno"> 1666</span> (cand, maxdeg, obs, model, filler,</div>
-<div class="line"><a name="l01667"></a><span class="lineno"> 1667</span> xtpixtol, xtpixstep, 2, maxite, &xtxc, &redo);</div>
-<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span> <span class="keywordflow">if</span> (redo && !error) error = CPL_ERROR_CONTINUE;</div>
-<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span> } <span class="keywordflow">while</span> (((!error && redo) || error == CPL_ERROR_CONTINUE)</div>
-<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span> && --restart);</div>
-<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span> <span class="keywordflow">if</span> (error) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span> ok = CPL_TRUE;</div>
-<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span> <span class="keywordflow">if</span> (redo) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span> cpl_msg_debug(cpl_func, <span class="stringliteral">"XC(imax=%d/%d:xtpixtol=%g): %g (cost=%u:%u"</span></div>
-<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span> <span class="stringliteral">". ulines=%u)"</span>, 1+imaxima, nmaxima, xtpixtol, xtxc,</div>
-<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span> (<span class="keywordtype">unsigned</span>)model->cost, (<span class="keywordtype">unsigned</span>)model->xcost,</div>
-<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span> (<span class="keywordtype">unsigned</span>)model->ulines);</div>
-<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span> <span class="keywordflow">if</span> (model->ulines > (cpl_size)linelim) {</div>
-<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span> cpl_msg_info(cpl_func, <span class="stringliteral">"Stopping search-refinement via "</span></div>
-<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span> <span class="stringliteral">"catalogue with %u lines > %u"</span>,</div>
-<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span> (<span class="keywordtype">unsigned</span>)model->ulines, linelim);</div>
-<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span> }</div>
-<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span> }</div>
-<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span> </div>
-<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span> <span class="keywordflow">if</span> (error) {</div>
-<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span> error = 0;</div>
-<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span> cpl_errorstate_dump(prestate, CPL_FALSE,</div>
-<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span> <a class="code" href="group__irplib__utils.html#ga26c6209e5df98978e2922a15b47b47d1" title="Dump a single CPL error at the CPL debug level.">irplib_errorstate_dump_debug</a>);</div>
-<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span> cpl_errorstate_set(prestate);</div>
-<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span> cpl_polynomial_copy(cand, backup);</div>
-<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span> }</div>
-<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span> <span class="keywordflow">if</span> (ok && xtxc > xc) {</div>
-<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span> imaximum = imaxima;</div>
-<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span> cpl_polynomial_copy(<span class="keyword">self</span>, cand);</div>
-<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span> xc = xtxc;</div>
-<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span> </div>
-<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span> cpl_msg_info(cpl_func, <span class="stringliteral">"XC(imax=%d/%d): %g -> %g (initial-shift=%g. "</span></div>
-<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span> <span class="stringliteral">"cost=%u:%u. lines=%u)"</span>, 1+imaxima, nmaxima,</div>
-<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span> cpl_vector_get(xtshifty, imaxima), xtxc,</div>
-<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span> cpl_vector_get(xtshiftx, imaxima),</div>
-<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span> (<span class="keywordtype">unsigned</span>)model->cost, (<span class="keywordtype">unsigned</span>)model->xcost,</div>
-<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span> (<span class="keywordtype">unsigned</span>)model->ulines);</div>
-<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span> cpl_msg_info(cpl_func, <span class="stringliteral">"xc(imax=%d/%d): %g -> %g (initial-shift=%g. "</span></div>
-<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span> <span class="stringliteral">"cost=%u:%u. lines=%u)"</span>, 1+imaxima, nmaxima,</div>
-<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span> cpl_vector_get(xtshifty, imaxima), xtxc,</div>
-<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span> cpl_vector_get(xtshiftx, imaxima),</div>
-<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span> (<span class="keywordtype">unsigned</span>)model->cost, (<span class="keywordtype">unsigned</span>)model->xcost,</div>
-<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span> (<span class="keywordtype">unsigned</span>)model->ulines);</div>
-<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span> }</div>
-<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span> }</div>
-<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span> </div>
-<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span> cpl_polynomial_delete(start);</div>
-<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span> cpl_polynomial_delete(backup);</div>
-<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span> cpl_polynomial_delete(cand);</div>
-<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span> </div>
-<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span> <span class="keywordflow">if</span> (imaximum < 0) {</div>
-<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span> <span class="comment">/* The initial, optimal (integer) shift */</span></div>
-<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span> <span class="keyword">const</span> <span class="keywordtype">double</span> xxc = cpl_vector_get(xtshiftx, 0);</div>
-<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span> <span class="keyword">const</span> <span class="keywordtype">double</span> xc0 = cpl_vector_get(xtshifty, 0);</div>
-<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span> </div>
-<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span> error = cpl_error_set_message(cpl_func, CPL_ERROR_DATA_NOT_FOUND,</div>
-<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span> <span class="stringliteral">"Could not improve XC=%g over %d "</span></div>
-<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span> <span class="stringliteral">"local shift-maxima, best at shift %g"</span>,</div>
-<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span> xc0, nmaxima, xxc);</div>
-<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span> cpl_msg_info(cpl_func, <span class="stringliteral">"Maximal XC=%g (up from %g, with initial pixel-"</span></div>
-<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span> <span class="stringliteral">"shift of %g) at %d/%d local shift-maximi"</span>, xc,</div>
-<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span> cpl_vector_get(xtshifty, imaximum),</div>
-<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span> cpl_vector_get(xtshiftx, imaximum),</div>
-<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span> 1+imaximum, nmaxima);</div>
-<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span> </div>
-<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span> <span class="keywordflow">if</span> (doplot) {</div>
-<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span> <a class="code" href="group__irplib__wavecal.html#ga7bac402a4e2c60f7646f1e655a66833d" title="Plot a 1D spectrum and one from a model.">irplib_plot_spectrum_and_model</a>(obs, <span class="keyword">self</span>, model, filler);</div>
-<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span> }</div>
-<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span> </div>
-<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span> *pxc = xc;</div>
-<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span> }</div>
-<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span> </div>
-<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span> cpl_bivector_delete(xtshift);</div>
-<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span> </div>
-<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span> <span class="keywordflow">return</span> error;</div>
-<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span> </div>
-<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__wavecal_8h_source.html b/html/irplib__wavecal_8h_source.html
deleted file mode 100644
index 5d1e09e..0000000
--- a/html/irplib__wavecal_8h_source.html
+++ /dev/null
@@ -1,225 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_wavecal.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_wavecal.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_wavecal.h,v 1.18 2012/08/03 21:05:33 llundin Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the IRPLIB Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: llundin $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2012/08/03 21:05:33 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.18 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef IRPLIB_WAVECAL_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_WAVECAL_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> Define</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#define IRPLIB_WAVECAL_MODEL_COEFFS 4</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor"></span><span class="comment">/* The number of columns is 5 + IRPLIB_WAVECAL_MODEL_COEFFS */</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#define IRPLIB_WAVECAL_MODEL_COLS 9</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#define IRPLIB_WAVECAL_LAB_MODE "SpecMode"</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_WAVECAL_LAB_RESID "Residual"</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_WAVECAL_LAB_ORDER "Fit_Order"</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_WAVECAL_LAB_XMIN "XMin"</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_WAVECAL_LAB_XMAX "XMax"</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_WAVECAL_LAB_C1 "C_1"</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_WAVECAL_LAB_C2 "C_2"</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_WAVECAL_LAB_C3 "C_3"</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_WAVECAL_LAB_C4 "C_4"</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#define IRPLIB_WAVECAL_LAB_WAVE "WAVELENGTH"</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_WAVECAL_LAB_INTENS "INTENSITY"</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> New Types</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">/* Any spectrum model must have these members first! */</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> cpl_size cost; <span class="comment">/* May be incremented for cost counting */</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> cpl_size xcost; <span class="comment">/* Ditto (can exclude failed fills) */</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> cpl_size ulines; <span class="comment">/* May be set to number of lines used */</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> } irplib_base_spectrum_model;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> cpl_size cost; <span class="comment">/* May be incremented for cost counting */</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> cpl_size xcost; <span class="comment">/* Ditto (can exclude failed fills) */</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> cpl_size ulines; <span class="comment">/* May be set to number of lines used */</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">double</span> wslit; <span class="comment">/* Slit Width */</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">double</span> wfwhm; <span class="comment">/* FWHM of transfer function */</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">double</span> xtrunc; <span class="comment">/* Truncate transfer function beyond xtrunc,</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> xtrunc > 0 */</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">const</span> cpl_bivector * lines; <span class="comment">/* Catalogue of intensities, with</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> increasing X-vector elements */</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> cpl_vector * linepix; <span class="comment">/* Catalogue of line pixel positions</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> - zero for uninitialized */</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> cpl_vector * erftmp; <span class="comment">/* Temporary storage for erf() values</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> - zero for uninitialized */</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> } irplib_line_spectrum_model;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"> Function Prototypes</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> cpl_error_code</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <a class="code" href="group__irplib__wavecal.html#ga7e782bcb7ec0e638a93dba628916a7a8" title="Modify self by maximizing the cross-correlation across all maxima.">irplib_polynomial_find_1d_from_correlation_all</a>(cpl_polynomial *,</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keyword">const</span> cpl_vector *,</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordtype">int</span>, <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> irplib_base_spectrum_model *,</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> cpl_error_code (*)</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> (cpl_vector *,</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keyword">const</span> cpl_polynomial *,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> irplib_base_spectrum_model *),</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">double</span>,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">double</span>,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> cpl_boolean,</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">double</span> *);</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> cpl_error_code</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <a class="code" href="group__irplib__wavecal.html#ga260740bf1f3fc364b301519eab3249a6" title="Find shift(s) that maximizes (locally) the cross-correlation.">irplib_bivector_find_shift_from_correlation</a>(cpl_bivector *,</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keyword">const</span> cpl_polynomial *,</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keyword">const</span> cpl_vector *,</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> irplib_base_spectrum_model *,</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> cpl_error_code (*)</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> (cpl_vector *,</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keyword">const</span> cpl_polynomial *,</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> irplib_base_spectrum_model *),</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> cpl_boolean,</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">double</span> *);</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> cpl_error_code</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <a class="code" href="group__irplib__wavecal.html#gadf93655e2c7c0d5df23e2e3de66d0b56" title="Shift self by the amount that maximizes the cross-correlation.">irplib_polynomial_shift_1d_from_correlation</a>(cpl_polynomial *,</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keyword">const</span> cpl_vector *,</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> irplib_base_spectrum_model *,</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> cpl_error_code (*)</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> (cpl_vector *,</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keyword">const</span> cpl_polynomial *,</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> irplib_base_spectrum_model *),</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordtype">int</span>, cpl_boolean, <span class="keywordtype">double</span> *);</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> cpl_error_code</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <a class="code" href="group__irplib__wavecal.html#ga8f49c4927c50a461288e8f19720dff86" title="Modify self by maximizing the cross-correlation.">irplib_polynomial_find_1d_from_correlation</a>(cpl_polynomial *, <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keyword">const</span> cpl_vector *,</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> irplib_base_spectrum_model *,</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> cpl_error_code (*)</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> (cpl_vector *,</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keyword">const</span> cpl_polynomial *,</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> irplib_base_spectrum_model *),</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordtype">double</span>, <span class="keywordtype">double</span>,</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">double</span> *);</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> cpl_error_code <a class="code" href="group__irplib__wavecal.html#ga1d49cb7f85fc246c8fdf38625c769f7a" title="Generate a 1D spectrum from a model and a dispersion relation.">irplib_vector_fill_line_spectrum</a>(cpl_vector *,</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keyword">const</span> cpl_polynomial *,</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> irplib_base_spectrum_model *);</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> cpl_error_code <a class="code" href="group__irplib__wavecal.html#gad22539bf83d1b08d845ed5f618a4009f" title="Generate a 1D spectrum from a model and a dispersion relation.">irplib_vector_fill_logline_spectrum</a>(cpl_vector *,</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keyword">const</span> cpl_polynomial *,</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> irplib_base_spectrum_model *);</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> cpl_error_code</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <a class="code" href="group__irplib__wavecal.html#ga6a463d7816b4164fdd23a4df2805cc95" title="Generate a 1D spectrum from a model and a dispersion relation.">irplib_vector_fill_line_spectrum_fast</a>(cpl_vector *,</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keyword">const</span> cpl_polynomial *,</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> irplib_base_spectrum_model *);</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> cpl_error_code</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <a class="code" href="group__irplib__wavecal.html#ga75a85320c74d1088eeaeec97974d793c" title="Generate a 1D spectrum from a model and a dispersion relation.">irplib_vector_fill_logline_spectrum_fast</a>(cpl_vector *,</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keyword">const</span> cpl_polynomial *,</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> irplib_base_spectrum_model *);</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> cpl_error_code <a class="code" href="group__irplib__wavecal.html#ga7bac402a4e2c60f7646f1e655a66833d" title="Plot a 1D spectrum and one from a model.">irplib_plot_spectrum_and_model</a>(<span class="keyword">const</span> cpl_vector *,</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keyword">const</span> cpl_polynomial *,</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> irplib_base_spectrum_model *,</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> cpl_error_code (*)</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> (cpl_vector *,</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keyword">const</span> cpl_polynomial *,</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> irplib_base_spectrum_model *));</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> cpl_error_code <a class="code" href="group__irplib__wavecal.html#ga2dd3251367e2ee8b8bd5ce080e9f31bb" title="Fit a 2D-dispersion from an image of wavelengths.">irplib_polynomial_fit_2d_dispersion</a>(cpl_polynomial *,</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keyword">const</span> cpl_image *,</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keywordtype">int</span>, <span class="keywordtype">double</span> *);</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordtype">int</span> <a class="code" href="group__irplib__wavecal.html#ga03d7f038adc7e18e7a9071581fa47a25" title="Count the positive Y-entries in a given X-range.">irplib_bivector_count_positive</a>(<span class="keyword">const</span> cpl_bivector *, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__wavecal__impl_8h_source.html b/html/irplib__wavecal__impl_8h_source.html
deleted file mode 100644
index 5bd1b2b..0000000
--- a/html/irplib__wavecal__impl_8h_source.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_wavecal_impl.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_wavecal_impl.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_wavecal_impl.h,v 1.7 2012/08/03 21:05:34 llundin Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the IRPLIB Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: llundin $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2012/08/03 21:05:34 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.7 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef IRPLIB_WAVECAL_IMPL_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_WAVECAL_IMPL_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "irplib_wavecal.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> Private Function Prototypes</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> cpl_error_code <a class="code" href="group__irplib__wavecal.html#ga8a65755ca17c9fa0b69ceb128f544761" title="Generate a 1D spectrum from (arc) lines and a dispersion relation.">irplib_vector_fill_line_spectrum_model</a>(cpl_vector *,</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> cpl_vector *,</div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> cpl_vector *,</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keyword">const</span> cpl_polynomial *,</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">const</span> cpl_bivector *,</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keywordtype">double</span>,</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keywordtype">double</span>,</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keywordtype">double</span>,</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> cpl_boolean,</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> cpl_boolean,</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> cpl_size *);</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">double</span> <a class="code" href="group__irplib__wavecal.html#ga2da9c21054a19322705de2d4f48d1d3f" title="The antiderivative of erx(x/sigma/sqrt(2)) with respect to x.">irplib_erf_antideriv</a>(<span class="keywordtype">double</span>, <span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__wcs_8c_source.html b/html/irplib__wcs_8c_source.html
deleted file mode 100644
index 504ec9e..0000000
--- a/html/irplib__wcs_8c_source.html
+++ /dev/null
@@ -1,342 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_wcs.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_wcs.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_wcs.c,v 1.8 2010/10/07 14:10:55 llundin Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: llundin $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2010/10/07 14:10:55 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.8 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "irplib_wcs.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">static</span> cpl_error_code irplib_wcs_is_iso8601(<span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> cpl_error_code irplib_wcs_xytoradec(<span class="keyword">const</span> cpl_wcs *wcs,</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">double</span> x,</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">double</span> y,</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">double</span> *ra,</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keywordtype">double</span> *dec)</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> {</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> cpl_matrix * xy;</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> cpl_matrix * radec = NULL;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> cpl_array * status = NULL;</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> cpl_error_code error;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> cpl_ensure_code(ra != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> cpl_ensure_code(dec != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/* Load up the information */</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> xy = cpl_matrix_new(1, 2);</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> cpl_matrix_set(xy, 0, 0, x);</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> cpl_matrix_set(xy, 0, 1, y);</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">/* Call the conversion routine */</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> error = cpl_wcs_convert(wcs, xy, &radec, &status, CPL_WCS_PHYS2WORLD);</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> cpl_matrix_delete(xy);</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordflow">if</span> (!error) {</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">/* Pass it back now */</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> *ra = cpl_matrix_get(radec, 0, 0);</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> *dec = cpl_matrix_get(radec, 0, 1);</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> }</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment">/* Tidy and propagate error, if any */</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> cpl_matrix_delete(radec);</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> cpl_array_delete(status);</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordflow">return</span> cpl_error_set_where(cpl_func);</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> }</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> cpl_error_code irplib_wcs_radectoxy(<span class="keyword">const</span> cpl_wcs * wcs,</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">double</span> ra,</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">double</span> dec,</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">double</span> * x,</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordtype">double</span> * y)</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> {</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> cpl_matrix * radec;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> cpl_matrix * xy = NULL;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> cpl_array * status = NULL;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> cpl_error_code error;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> cpl_ensure_code(x != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> cpl_ensure_code(y != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment">/* Feed the matrix with RA, DEC */</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> radec = cpl_matrix_new(1, 2);</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> cpl_matrix_set(radec, 0, 0, ra);</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> cpl_matrix_set(radec, 0, 1, dec);</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> error = cpl_wcs_convert(wcs, radec, &xy, &status, CPL_WCS_WORLD2PHYS);</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> cpl_matrix_delete(radec);</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordflow">if</span> (!error) {</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> *x = cpl_matrix_get(xy, 0, 0);</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> *y = cpl_matrix_get(xy, 0, 1);</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> }</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment">/* Tidy and propagate error, if any */</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> cpl_array_delete(status);</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> cpl_matrix_delete(xy);</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordflow">return</span> cpl_error_set_where(cpl_func);</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> }</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordtype">double</span> irplib_wcs_great_circle_dist(<span class="keywordtype">double</span> ra1,</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="keywordtype">double</span> dec1,</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keywordtype">double</span> ra2,</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordtype">double</span> dec2)</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> {</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment">/* Convert all input from degrees to radian - and back for the result */</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keyword">const</span> <span class="keywordtype">double</span> dra = sin( CPL_MATH_RAD_DEG * (ra2 - ra1 )/2.0 );</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keyword">const</span> <span class="keywordtype">double</span> ddec = sin( CPL_MATH_RAD_DEG * (dec2 - dec1)/2.0 );</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> dec1 *= CPL_MATH_RAD_DEG;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> dec2 *= CPL_MATH_RAD_DEG;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordflow">return</span> 2.0 * asin(sqrt( ddec*ddec + cos(dec1)*cos(dec2)*dra*dra))</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> * CPL_MATH_DEG_RAD;</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> }</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> cpl_error_code irplib_wcs_mjd_from_iso8601(<span class="keywordtype">double</span> * pmjd, <span class="keywordtype">int</span> year, <span class="keywordtype">int</span> month,</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keywordtype">int</span> day, <span class="keywordtype">int</span> hour, <span class="keywordtype">int</span> minute,</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keywordtype">double</span> second)</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> {</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> cpl_ensure_code(pmjd != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> cpl_ensure_code(!irplib_wcs_is_iso8601(year, month, day, hour, minute,</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> second), cpl_error_get_code());</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment">/* Compute MJD. */</span></div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> *pmjd = (double)((1461*(year - (12-month)/10 + 4712))/4</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> + (306*((month+9)%12) + 5)/10</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> - (3*((year - (12-month)/10 + 4900)/100))/4</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> + day - 2399904)</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> + (hour + (minute + second/60.0)/60.0)/24.0;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> }</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> cpl_error_code irplib_wcs_iso8601_from_string(<span class="keywordtype">int</span> * pyear, <span class="keywordtype">int</span> * pmonth,</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordtype">int</span> * pday, <span class="keywordtype">int</span> * phour,</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="keywordtype">int</span> * pminute, <span class="keywordtype">double</span> * psecond,</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * iso8601)</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> {</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="comment">/* Standard year-2000 form: CCYY-MM-DD[Thh:mm:ss[.sss...]] */</span></div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * iso8601format = <span class="stringliteral">"%4d-%2d-%2dT%2d:%2d:%lf"</span>;</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> cpl_ensure_code(pyear != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> cpl_ensure_code(pmonth != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> cpl_ensure_code(pday != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> cpl_ensure_code(phour != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> cpl_ensure_code(pminute != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> cpl_ensure_code(psecond != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> cpl_ensure_code(iso8601 != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> cpl_error_ensure(sscanf(iso8601, iso8601format, pyear, pmonth,</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> pday, phour, pminute, psecond) == 6,</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> CPL_ERROR_ILLEGAL_INPUT, <span class="keywordflow">return</span> cpl_error_get_code(),</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="stringliteral">"%s is not formatted as %s"</span>, iso8601, iso8601format);</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> cpl_ensure_code(!irplib_wcs_is_iso8601(*pyear, *pmonth, *pday, *phour,</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> *pminute, *psecond),</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> cpl_error_get_code());</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> }</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> cpl_error_code irplib_wcs_mjd_from_string(<span class="keywordtype">double</span> * pmjd, <span class="keyword">const</span> <span class="keywordtype">char</span> * iso8601)</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> {</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="keywordtype">int</span> year, day, month, hour, minute;</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="keywordtype">double</span> second;</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="keywordflow">return</span> irplib_wcs_iso8601_from_string(&year, &month, &day, &hour,</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> &minute, &second, iso8601)</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> || irplib_wcs_mjd_from_iso8601(pmjd, year, month, day, hour, minute,</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> second)</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> ? cpl_error_set_where(cpl_func) : CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> }</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> </div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> cpl_error_code irplib_wcs_iso8601_from_mjd(<span class="keywordtype">int</span> * pyear, <span class="keywordtype">int</span> * pmonth,</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="keywordtype">int</span> * pday, <span class="keywordtype">int</span> * phour,</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="keywordtype">int</span> * pminute, <span class="keywordtype">double</span> * psecond,</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="keywordtype">double</span> mjd)</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> {</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="keywordtype">int</span> jd, n4, dd;</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keywordtype">double</span> t;</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> cpl_ensure_code(pyear != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> cpl_ensure_code(pmonth != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> cpl_ensure_code(pday != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> cpl_ensure_code(phour != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> cpl_ensure_code(pminute != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> cpl_ensure_code(psecond != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> </div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="comment">/* Copied from datfix() in wcslib (v. 4.4.4) */</span></div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> </div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> jd = 2400001 + (int)mjd;</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> n4 = 4*(jd + ((2*((4*jd - 17918)/146097)*3)/4 + 1)/2 - 37);</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> dd = 10*(((n4-237)%1461)/4) + 5;</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> *pyear = n4/1461 - 4712;</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> *pmonth = (2 + dd/306)%12 + 1;</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> *pday = (dd%306)/10 + 1;</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> t = mjd - (int)mjd; <span class="comment">/* t is now days */</span></div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> t *= 24.0; <span class="comment">/* t is now hours */</span></div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> *phour = (int)t;</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> t = 60.0 * (t - *phour); <span class="comment">/* t is now minutes */</span></div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> *pminute = (int)t;</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> *psecond = 60.0 * (t - *pminute);</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> </div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="comment">/* A failure here implies that this code has a bug */</span></div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> cpl_ensure_code(!irplib_wcs_is_iso8601(*pyear, *pmonth, *pday, *phour,</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> *pminute, *psecond),</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> CPL_ERROR_UNSPECIFIED);</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> }</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> </div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="keyword">static</span> cpl_error_code irplib_wcs_is_iso8601(<span class="keywordtype">int</span> year, <span class="keywordtype">int</span> month,</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keywordtype">int</span> day, <span class="keywordtype">int</span> hour,</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="keywordtype">int</span> minute, <span class="keywordtype">double</span> second)</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> {</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> </div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="keyword">const</span> cpl_boolean is_leap = year % 4 ? CPL_FALSE : CPL_TRUE;</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="keyword">const</span> <span class="keywordtype">int</span> mlen[] = {0, 31, is_leap ? 29 : 28, 31, 30, 31, 30, 31, 31, 30,</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> 31, 30, 31};</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> cpl_ensure_code(month > 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> cpl_ensure_code(month <= 12, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> </div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> cpl_ensure_code(day > 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> cpl_ensure_code(day <= mlen[month], CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> cpl_ensure_code(minute < 60, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> cpl_ensure_code(minute >= 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> </div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> cpl_ensure_code(second < 60.0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> cpl_ensure_code(second >= 0.0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> cpl_ensure_code(hour >= 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="comment">/* 24:00:00 is valid ISO-8601 */</span></div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> cpl_ensure_code(hour <= (minute > 0 || second > 0.0 ? 23 : 24),</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> </div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__wcs_8h_source.html b/html/irplib__wcs_8h_source.html
deleted file mode 100644
index 5ee063b..0000000
--- a/html/irplib__wcs_8h_source.html
+++ /dev/null
@@ -1,113 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_wcs.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_wcs.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_wcs.h,v 1.7 2010/10/07 14:10:55 llundin Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: llundin $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2010/10/07 14:10:55 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.7 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef IRPLIB_WCS_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_WCS_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> cpl_error_code irplib_wcs_xytoradec(<span class="keyword">const</span> cpl_wcs * wcs,</div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="keywordtype">double</span> x,</div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keywordtype">double</span> y,</div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keywordtype">double</span> * ra,</div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keywordtype">double</span> * dec);</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> cpl_error_code irplib_wcs_radectoxy(<span class="keyword">const</span> cpl_wcs * wcs,</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keywordtype">double</span> ra,</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keywordtype">double</span> dec,</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keywordtype">double</span> * x,</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keywordtype">double</span> * y);</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keywordtype">double</span> irplib_wcs_great_circle_dist(<span class="keywordtype">double</span> ra1,</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keywordtype">double</span> dec1,</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">double</span> ra2,</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">double</span> dec2);</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> cpl_error_code irplib_wcs_iso8601_from_string(<span class="keywordtype">int</span> *, <span class="keywordtype">int</span> *, <span class="keywordtype">int</span> *, <span class="keywordtype">int</span> *, <span class="keywordtype">int</span> *,</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">double</span> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *);</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> cpl_error_code irplib_wcs_mjd_from_iso8601(<span class="keywordtype">double</span> *, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>,</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> cpl_error_code irplib_wcs_mjd_from_string(<span class="keywordtype">double</span> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *);</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> cpl_error_code irplib_wcs_iso8601_from_mjd(<span class="keywordtype">int</span> *, <span class="keywordtype">int</span> *, <span class="keywordtype">int</span> *, <span class="keywordtype">int</span> *, <span class="keywordtype">int</span> *,</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">double</span> *, <span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__wlxcorr_8c_source.html b/html/irplib__wlxcorr_8c_source.html
deleted file mode 100644
index edf8635..0000000
--- a/html/irplib__wlxcorr_8c_source.html
+++ /dev/null
@@ -1,1133 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_wlxcorr.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_wlxcorr.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_wlxcorr.c,v 1.58 2013/01/29 08:43:33 jtaylor Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the IRPLIB package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: jtaylor $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2013/01/29 08:43:33 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.58 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "irplib_wavecal_impl.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "irplib_wlxcorr.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/* TEMPORARY SUPPORT OF CPL 5.x */</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#ifndef CPL_SIZE_FORMAT</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor"></span><span class="preprocessor">#define CPL_SIZE_FORMAT "d"</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor"></span><span class="preprocessor">#define cpl_size int</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor"></span><span class="comment">/* END TEMPORARY SUPPORT OF CPL 5.x */</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#ifndef inline</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor"></span><span class="preprocessor">#define inline </span><span class="comment">/* inline */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor">#define IRPLIB_MAX(A,B) ((A) > (B) ? (A) : (B))</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_MIN(A,B) ((A) < (B) ? (A) : (B))</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor">#define IRPLIB_PTR_SWAP(a,b) \</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor"> do { void * irplib_ptr_swap =(a);(a)=(b);(b)=irplib_ptr_swap; } while (0)</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> Private functions</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keyword">static</span> <span class="keywordtype">void</span> irplib_wlxcorr_estimate(cpl_vector *, cpl_vector *,</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keyword">const</span> cpl_vector *,</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keyword">const</span> cpl_bivector *,</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keyword">const</span> cpl_vector *,</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keyword">const</span> cpl_polynomial *,</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">double</span>, <span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keyword">static</span> <span class="keywordtype">int</span> irplib_wlxcorr_signal_resample(cpl_vector *, <span class="keyword">const</span> cpl_vector *, </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keyword">const</span> cpl_bivector *) ;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">static</span> cpl_error_code cpl_vector_fill_lss_profile_symmetric(cpl_vector *,</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">double</span>, <span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keyword">static</span> cpl_error_code irplib_wlcalib_fill_spectrum(cpl_vector *,</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keyword">const</span> cpl_bivector *,</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keyword">const</span> cpl_vector *,</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keyword">const</span> cpl_polynomial *, <span class="keywordtype">int</span>);</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keyword">static</span> cpl_boolean irplib_wlcalib_is_lines(<span class="keyword">const</span> cpl_vector *,</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">const</span> cpl_polynomial *,</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">int</span>, <span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> cpl_polynomial * irplib_wlxcorr_best_poly(<span class="keyword">const</span> cpl_vector * spectrum,</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keyword">const</span> cpl_bivector * lines_catalog,</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordtype">int</span> degree,</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keyword">const</span> cpl_polynomial * guess_poly,</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keyword">const</span> cpl_vector * wl_error,</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordtype">int</span> nsamples,</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordtype">double</span> slitw,</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordtype">double</span> fwhm,</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordtype">double</span> * xc,</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> cpl_table ** wlres,</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> cpl_vector ** xcorrs)</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> {</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keyword">const</span> <span class="keywordtype">int</span> spec_sz = cpl_vector_get_size(spectrum);</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nfree = cpl_vector_get_size(wl_error);</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordtype">int</span> ntests = 1;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> cpl_vector * model;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> cpl_vector * vxc;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> cpl_vector * init_pts_wl;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> cpl_matrix * init_pts_x;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> cpl_vector * pts_wl;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> cpl_vector * vxcorrs;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> cpl_vector * conv_kernel = NULL; </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> cpl_polynomial * poly_sol;</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> cpl_polynomial * poly_candi;</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keyword">const</span> <span class="keywordtype">double</span> * pwl_error = cpl_vector_get_data_const(wl_error); </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keyword">const</span> <span class="keywordtype">double</span> * dxc;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> cpl_size degree_loc ;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keyword">const</span> cpl_boolean symsamp = CPL_TRUE; <span class="comment">/* init_pts_x is symmetric */</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keyword">const</span> cpl_boolean is_lines</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> = irplib_wlcalib_is_lines(cpl_bivector_get_x_const(lines_catalog),</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> guess_poly, spec_sz, 1.0);</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment">/* FIXME: Need mode parameter for catalogue type (lines <=> profile) */</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment">/* In case of failure */</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">if</span> (wlres != NULL) *wlres = NULL;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordflow">if</span> (xcorrs != NULL) *xcorrs = NULL;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment">/* Useful for knowing if resampling is used */</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> cpl_msg_debug(cpl_func, <span class="stringliteral">"Checking %d^%d dispersion polynomials (slitw=%g, "</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="stringliteral">"fwhm=%g) against %d-point observed spectrum with%s "</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="stringliteral">"catalog resampling"</span>, nsamples, nfree, slitw, fwhm, spec_sz,</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> is_lines ? <span class="stringliteral">"out"</span> : <span class="stringliteral">""</span>);</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> cpl_ensure(xc != NULL, CPL_ERROR_NULL_INPUT, NULL);</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> *xc = -1.0;</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> cpl_ensure(spectrum != NULL, CPL_ERROR_NULL_INPUT, NULL);</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> cpl_ensure(lines_catalog != NULL, CPL_ERROR_NULL_INPUT, NULL);</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> cpl_ensure(guess_poly != NULL, CPL_ERROR_NULL_INPUT, NULL);</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> cpl_ensure(wl_error != NULL, CPL_ERROR_NULL_INPUT, NULL);</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> cpl_ensure(nfree >= 2, CPL_ERROR_ILLEGAL_INPUT, NULL);</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> cpl_ensure(nsamples > 0, CPL_ERROR_ILLEGAL_INPUT, NULL);</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment">/* FIXME: degree is redundant */</span></div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> cpl_ensure(1 + degree == nfree, CPL_ERROR_ILLEGAL_INPUT, NULL);</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> cpl_ensure(cpl_polynomial_get_dimension(guess_poly) == 1,</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> CPL_ERROR_ILLEGAL_INPUT, NULL);</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keywordflow">if</span> (nsamples > 1) {</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment">/* Search place must consist of more than one point */</span></div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment">/* FIXME: The bounds should probably not be negative */</span></div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="keywordflow">for</span> (i = 0; i < nfree; i++) {</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keywordflow">if</span> (pwl_error[i] != 0.0) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> }</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> cpl_ensure(i < nfree, CPL_ERROR_ILLEGAL_INPUT, NULL);</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> }</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keywordflow">if</span> (!is_lines) {</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="comment">/* Create the convolution kernel */</span></div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> conv_kernel = irplib_wlxcorr_convolve_create_kernel(slitw, fwhm);</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> cpl_ensure(conv_kernel != NULL, CPL_ERROR_ILLEGAL_INPUT, NULL);</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> }</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="comment">/* Create initial test points */</span></div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> init_pts_x = cpl_matrix_new(1, nfree);</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> init_pts_wl = cpl_vector_new(nfree);</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> pts_wl = cpl_vector_new(nfree);</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordflow">for</span> (i = 0; i < nfree; i++) {</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keyword">const</span> <span class="keywordtype">double</span> xpos = spec_sz * i / (double)degree;</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="keyword">const</span> <span class="keywordtype">double</span> wlpos = cpl_polynomial_eval_1d(guess_poly, xpos, NULL)</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> - 0.5 * pwl_error[i];</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> cpl_matrix_set(init_pts_x, 0, i, xpos);</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> cpl_vector_set(init_pts_wl, i, wlpos);</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> ntests *= nsamples; <span class="comment">/* Count number of tests */</span></div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> }</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> vxcorrs = xcorrs != NULL ? cpl_vector_new(ntests) : NULL;</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> poly_sol = cpl_polynomial_new(1);</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> poly_candi = cpl_polynomial_new(1);</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> model = cpl_vector_new(spec_sz);</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> vxc = cpl_vector_new(1);</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> dxc = cpl_vector_get_data_const(vxc);</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="comment">/* Create the polynomial candidates and estimate them */</span></div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keywordflow">for</span> (i=0; i < ntests; i++) {</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordtype">int</span> idiv = i;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="keywordtype">int</span> deg;</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="comment">/* Update wavelength at one anchor point - and reset wavelengths</span></div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="comment"> to their default for any anchor point(s) at higher wavelengths */</span></div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="keywordflow">for</span> (deg = degree; deg >= 0; deg--, idiv /= nsamples) {</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="keyword">const</span> <span class="keywordtype">int</span> imod = idiv % nsamples;</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="keyword">const</span> <span class="keywordtype">double</span> wlpos = cpl_vector_get(init_pts_wl, deg)</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> + imod * pwl_error[deg] / nsamples;</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="comment">/* FIXME: If wlpos causes pts_wl to be non-increasing, the</span></div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="comment"> solution will be non-physical with no need for evaluation.</span></div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="comment"> (*xc could be set to -1 in this case). */</span></div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> cpl_vector_set(pts_wl, deg, wlpos);</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keywordflow">if</span> (imod > 0) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> }</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="comment">/* Generate */</span></div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> degree_loc = (cpl_size)degree ;</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> cpl_polynomial_fit(poly_candi, init_pts_x, &symsamp, pts_wl,</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> NULL, CPL_FALSE, NULL, °ree_loc);</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="comment">/* *** Estimate *** */</span></div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> irplib_wlxcorr_estimate(vxc, model, spectrum, lines_catalog,</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> conv_kernel, poly_candi, slitw, fwhm);</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="keywordflow">if</span> (vxcorrs != NULL) cpl_vector_set(vxcorrs, i, *dxc);</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="keywordflow">if</span> (*dxc > *xc) {</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="comment">/* Found a better solution */</span></div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> *xc = *dxc;</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> IRPLIB_PTR_SWAP(poly_sol, poly_candi);</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> }</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> }</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> cpl_vector_delete(model);</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> cpl_vector_delete(vxc);</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> cpl_vector_delete(conv_kernel);</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> cpl_vector_delete(pts_wl);</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> cpl_matrix_delete(init_pts_x);</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> cpl_vector_delete(init_pts_wl);</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> cpl_polynomial_delete(poly_candi);</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="preprocessor">#ifdef CPL_WLCALIB_FAIL_ON_CONSTANT</span></div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="preprocessor"></span> <span class="comment">/* FIXME: */</span></div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="keywordflow">if</span> (cpl_polynomial_get_degree(poly_sol) == 0) {</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> cpl_polynomial_delete(poly_sol);</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> cpl_vector_delete(vxcorrs);</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> *xc = 0.0;</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> cpl_error_set_message_macro(cpl_func, CPL_ERROR_ILLEGAL_OUTPUT,</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> __FILE__, __LINE__, <span class="stringliteral">"Found a constant "</span></div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="stringliteral">"dispersion"</span>);</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> cpl_errorstate_dump(prestate, CPL_FALSE, NULL);</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> }</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="preprocessor"></span> </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="keywordflow">if</span> (wlres != NULL) {</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="comment">/* FIXME: A failure in the table creation is not considered a failure</span></div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="comment"> of the whole function call (although all outputs may be useless) */</span></div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> cpl_errorstate prestate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="comment">/* Create the spc_table */</span></div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> *wlres = irplib_wlxcorr_gen_spc_table(spectrum, lines_catalog, slitw,</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> fwhm, guess_poly, poly_sol);</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keywordflow">if</span> (*wlres == NULL) {</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> cpl_polynomial_delete(poly_sol);</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> cpl_vector_delete(vxcorrs);</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> *xc = -1.0;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> cpl_error_set_message_macro(cpl_func, CPL_ERROR_ILLEGAL_OUTPUT,</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> __FILE__, __LINE__, <span class="stringliteral">"Cannot generate "</span></div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="stringliteral">"infos table"</span>);</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="comment">/* cpl_errorstate_dump(prestate, CPL_FALSE, NULL); */</span></div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> cpl_errorstate_set(prestate);</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> }</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> } </div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="keywordflow">if</span> (xcorrs != NULL) {</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> *xcorrs = vxcorrs;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="comment">/* assert(vxcorrs == NULL); */</span></div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> }</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="keywordflow">return</span> poly_sol;</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> }</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> cpl_table * irplib_wlxcorr_gen_spc_table(</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="keyword">const</span> cpl_vector * spectrum,</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="keyword">const</span> cpl_bivector * lines_catalog,</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="keywordtype">double</span> slitw,</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="keywordtype">double</span> fwhm,</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="keyword">const</span> cpl_polynomial * guess_poly,</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="keyword">const</span> cpl_polynomial * corr_poly)</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> {</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> cpl_vector * conv_kernel = NULL;</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> cpl_bivector * gen_init ;</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> cpl_bivector * gen_corr ;</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> cpl_table * spc_table ;</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="keyword">const</span> <span class="keywordtype">double</span> * pgen ;</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="keyword">const</span> <span class="keywordtype">double</span> xtrunc = 0.5 * slitw + 5.0 * fwhm * CPL_MATH_SIG_FWHM;</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="keyword">const</span> <span class="keywordtype">int</span> spec_sz = cpl_vector_get_size(spectrum);</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="keyword">const</span> cpl_boolean guess_resamp</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> = !irplib_wlcalib_is_lines(cpl_bivector_get_x_const(lines_catalog),</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> guess_poly, spec_sz, 1.0);</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keyword">const</span> cpl_boolean corr_resamp</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> = !irplib_wlcalib_is_lines(cpl_bivector_get_x_const(lines_catalog),</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> corr_poly, spec_sz, 1.0);</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> cpl_error_code error;</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> cpl_msg_debug(cpl_func, <span class="stringliteral">"Tabel for guess dispersion polynomial (slitw=%g, "</span></div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="stringliteral">"fwhm=%g) with %d-point observed spectrum with%s catalog re"</span></div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="stringliteral">"sampling"</span>, slitw, fwhm, spec_sz, guess_resamp ? <span class="stringliteral">"out"</span> : <span class="stringliteral">""</span>);</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> cpl_msg_debug(cpl_func, <span class="stringliteral">"Tabel for corr. dispersion polynomial (slitw=%g, "</span></div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="stringliteral">"fwhm=%g) with %d-point observed spectrum with%s catalog re"</span></div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="stringliteral">"sampling"</span>, slitw, fwhm, spec_sz, corr_resamp ? <span class="stringliteral">"out"</span> : <span class="stringliteral">""</span>);</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> </div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="comment">/* Test inputs */</span></div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> cpl_ensure(spectrum, CPL_ERROR_NULL_INPUT, NULL) ;</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> cpl_ensure(lines_catalog, CPL_ERROR_NULL_INPUT, NULL) ;</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> cpl_ensure(guess_poly, CPL_ERROR_NULL_INPUT, NULL) ;</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> cpl_ensure(corr_poly, CPL_ERROR_NULL_INPUT, NULL) ;</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="comment">/* Create the convolution kernel */</span></div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="keywordflow">if</span> (guess_resamp || corr_resamp) {</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> conv_kernel = irplib_wlxcorr_convolve_create_kernel(slitw, fwhm);</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="keywordflow">if</span> (conv_kernel == NULL) {</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> cpl_error_set_message_macro(cpl_func, CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> __FILE__, __LINE__, <span class="stringliteral">"Cannot create "</span></div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="stringliteral">"convolution kernel"</span>) ;</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> }</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> }</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="comment">/* Get the emission at initial wavelengths */</span></div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> gen_init = cpl_bivector_new(spec_sz);</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="keywordflow">if</span> (guess_resamp) {</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> error = irplib_wlcalib_fill_spectrum(cpl_bivector_get_y(gen_init),</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> lines_catalog, conv_kernel,</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> guess_poly, 0);</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> error = <a class="code" href="group__irplib__wavecal.html#ga8a65755ca17c9fa0b69ceb128f544761" title="Generate a 1D spectrum from (arc) lines and a dispersion relation.">irplib_vector_fill_line_spectrum_model</a></div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> (cpl_bivector_get_y(gen_init), NULL, NULL,</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> guess_poly, lines_catalog,</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> slitw, fwhm, xtrunc, 0, CPL_FALSE, CPL_FALSE, NULL);</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> }</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="keywordflow">if</span> (error || cpl_vector_fill_polynomial(cpl_bivector_get_x(gen_init),</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> guess_poly, 1, 1)) {</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> cpl_vector_delete(conv_kernel);</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> cpl_bivector_delete(gen_init);</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> cpl_error_set_message_macro(cpl_func, CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> __FILE__, __LINE__, <span class="stringliteral">"Cannot get the "</span></div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="stringliteral">"emission spectrum"</span>);</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> }</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> </div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="comment">/* Get the emission at corrected wavelengths */</span></div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> gen_corr = cpl_bivector_new(spec_sz);</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="keywordflow">if</span> (corr_resamp) {</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> error = irplib_wlcalib_fill_spectrum(cpl_bivector_get_y(gen_corr),</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> lines_catalog, conv_kernel,</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> corr_poly, 0);</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> error = <a class="code" href="group__irplib__wavecal.html#ga8a65755ca17c9fa0b69ceb128f544761" title="Generate a 1D spectrum from (arc) lines and a dispersion relation.">irplib_vector_fill_line_spectrum_model</a></div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> (cpl_bivector_get_y(gen_corr), NULL, NULL,</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> corr_poly, lines_catalog,</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> slitw, fwhm, xtrunc, 0, CPL_FALSE, CPL_FALSE, NULL);</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> }</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="keywordflow">if</span> (error || cpl_vector_fill_polynomial(cpl_bivector_get_x(gen_corr),</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> corr_poly, 1, 1)) {</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> cpl_vector_delete(conv_kernel);</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> cpl_bivector_delete(gen_init);</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> cpl_bivector_delete(gen_corr) ;</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> cpl_error_set_message_macro(cpl_func, CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> __FILE__, __LINE__, <span class="stringliteral">"Cannot get the "</span></div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <span class="stringliteral">"emission spectrum"</span>);</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> }</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> cpl_vector_delete(conv_kernel) ;</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> </div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="comment">/* Create the ouput table */</span></div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> spc_table = cpl_table_new(spec_sz);</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> cpl_table_new_column(spc_table, IRPLIB_WLXCORR_COL_WAVELENGTH, </div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> cpl_table_new_column(spc_table, IRPLIB_WLXCORR_COL_CAT_INIT, </div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> cpl_table_new_column(spc_table, IRPLIB_WLXCORR_COL_CAT_FINAL, </div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> cpl_table_new_column(spc_table, IRPLIB_WLXCORR_COL_OBS, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> </div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="comment">/* Update table */</span></div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> pgen = cpl_bivector_get_x_data_const(gen_corr) ;</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> cpl_table_copy_data_double(spc_table, IRPLIB_WLXCORR_COL_WAVELENGTH, pgen) ;</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> pgen = cpl_bivector_get_y_data_const(gen_corr) ;</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> cpl_table_copy_data_double(spc_table, IRPLIB_WLXCORR_COL_CAT_FINAL, pgen) ;</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> pgen = cpl_vector_get_data_const(spectrum) ;</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> cpl_table_copy_data_double(spc_table, IRPLIB_WLXCORR_COL_OBS, pgen) ;</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> pgen = cpl_bivector_get_y_data_const(gen_init) ;</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> cpl_table_copy_data_double(spc_table, IRPLIB_WLXCORR_COL_CAT_INIT, pgen);</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> cpl_bivector_delete(gen_init);</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> cpl_bivector_delete(gen_corr);</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> </div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="keywordflow">return</span> spc_table ;</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> }</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> cpl_bivector * irplib_wlxcorr_cat_extract(</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="keyword">const</span> cpl_bivector * lines_catalog,</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="keywordtype">double</span> wave_min,</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="keywordtype">double</span> wave_max)</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> {</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nlines = cpl_bivector_get_size(lines_catalog);</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="keywordtype">int</span> wave_min_id, wave_max_id ;</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> cpl_vector * sub_cat_wl ;</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> cpl_vector * sub_cat_int ;</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="keyword">const</span> cpl_vector * xlines = cpl_bivector_get_x_const(lines_catalog);</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="keyword">const</span> <span class="keywordtype">double</span> * dxlines = cpl_vector_get_data_const(xlines);</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> </div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> cpl_ensure(lines_catalog != NULL, CPL_ERROR_NULL_INPUT, NULL);</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> </div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="comment">/* Find the 1st line */</span></div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> wave_min_id = (int)cpl_vector_find(xlines, wave_min);</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="keywordflow">if</span> (wave_min_id < 0) {</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> cpl_error_set_message_macro(cpl_func, CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> __FILE__, __LINE__, </div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="stringliteral">"The starting wavelength cannot be found"</span>) ;</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> }</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> </div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="comment">/* The first line must be greater than (at least?) wave_min */</span></div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="keywordflow">if</span> (dxlines[wave_min_id] <= wave_min) wave_min_id++;</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> </div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="comment">/* Find the last line */</span></div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> wave_max_id = (int)cpl_vector_find(xlines, wave_max);</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="keywordflow">if</span> (wave_max_id < 0) {</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> cpl_error_set_message_macro(cpl_func, CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> __FILE__, __LINE__, </div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="stringliteral">"The ending wavelength cannot be found"</span>) ;</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> }</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> <span class="comment">/* The last line must be less than wave_max */</span></div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="keywordflow">if</span> (dxlines[wave_max_id] >= wave_min) wave_max_id--;</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> </div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> <span class="comment">/* Checking the wavelength range at this point via the indices also</span></div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> <span class="comment"> verifies that they were not found using non-increasing wavelengths */</span></div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> cpl_ensure(wave_min_id <= wave_max_id, CPL_ERROR_ILLEGAL_INPUT, NULL);</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> </div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> <span class="keywordflow">if</span> (wave_min_id < 0 || wave_max_id == nlines) {</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> cpl_error_set_message_macro(cpl_func, CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> __FILE__, __LINE__, <span class="stringliteral">"The %d-line catalogue "</span></div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> <span class="stringliteral">"has no lines in the range %g -> %g"</span>,</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> nlines, wave_min, wave_max);</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> }</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> </div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> sub_cat_wl = cpl_vector_extract(xlines, wave_min_id, wave_max_id, 1);</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> sub_cat_int = cpl_vector_extract(cpl_bivector_get_y_const(lines_catalog), </div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> wave_min_id, wave_max_id, 1);</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> </div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> <span class="keywordflow">return</span> cpl_bivector_wrap_vectors(sub_cat_wl, sub_cat_int);</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> }</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> </div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> cpl_vector * irplib_wlxcorr_convolve_create_kernel(<span class="keywordtype">double</span> slitw,</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> <span class="keywordtype">double</span> fwhm)</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> {</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sigma = fwhm * CPL_MATH_SIG_FWHM;</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> <span class="keyword">const</span> <span class="keywordtype">int</span> size = 1 + (int)(5.0 * sigma + 0.5*slitw);</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> cpl_vector * kernel = cpl_vector_new(size);</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> </div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> </div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <span class="keywordflow">if</span> (cpl_vector_fill_lss_profile_symmetric(kernel, slitw, fwhm)) {</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> cpl_vector_delete(kernel);</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> cpl_ensure(0, cpl_error_get_code(), NULL);</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> }</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> </div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> <span class="keywordflow">return</span> kernel;</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> }</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> </div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> <span class="keywordtype">int</span> irplib_wlxcorr_convolve(</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> cpl_vector * smoothed,</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> <span class="keyword">const</span> cpl_vector * conv_kernel)</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> {</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> <span class="keywordtype">int</span> nsamples ;</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> <span class="keywordtype">int</span> ihwidth ;</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> cpl_vector * raw ;</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="keywordtype">double</span> * psmoothe ;</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> <span class="keywordtype">double</span> * praw ;</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> <span class="keyword">const</span> <span class="keywordtype">double</span>* psymm ;</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> <span class="keywordtype">int</span> i, j ;</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> </div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> cpl_ensure(smoothed, CPL_ERROR_NULL_INPUT, -1) ;</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> cpl_ensure(conv_kernel, CPL_ERROR_NULL_INPUT, -1) ;</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> </div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="comment">/* Initialise */</span></div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> nsamples = cpl_vector_get_size(smoothed) ;</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> ihwidth = cpl_vector_get_size(conv_kernel) - 1 ;</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> cpl_ensure(ihwidth<nsamples, CPL_ERROR_ILLEGAL_INPUT, -1) ;</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> psymm = cpl_vector_get_data_const(conv_kernel) ;</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> psmoothe = cpl_vector_get_data(smoothed) ;</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> </div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="comment">/* Create raw vector */</span></div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> raw = cpl_vector_duplicate(smoothed) ;</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> praw = cpl_vector_get_data(raw) ;</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> </div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="comment">/* Convolve with the symmetric function */</span></div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="keywordflow">for</span> (i=0 ; i<ihwidth ; i++) {</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> psmoothe[i] = praw[i] * psymm[0];</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <span class="keywordflow">for</span> (j=1 ; j <= ihwidth ; j++) {</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="keyword">const</span> <span class="keywordtype">int</span> k = i-j < 0 ? 0 : i-j;</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> psmoothe[i] += (praw[k]+praw[i+j]) * psymm[j];</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> }</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> }</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> </div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> <span class="keywordflow">for</span> (i=ihwidth ; i<nsamples-ihwidth ; i++) {</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> psmoothe[i] = praw[i] * psymm[0];</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <span class="keywordflow">for</span> (j=1 ; j<=ihwidth ; j++)</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> psmoothe[i] += (praw[i-j]+praw[i+j]) * psymm[j];</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> }</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> <span class="keywordflow">for</span> (i=nsamples-ihwidth ; i<nsamples ; i++) {</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> psmoothe[i] = praw[i] * psymm[0];</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> <span class="keywordflow">for</span> (j=1 ; j<=ihwidth ; j++) {</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> <span class="keyword">const</span> <span class="keywordtype">int</span> k = i+j > nsamples-1 ? nsamples - 1 : i+j;</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> psmoothe[i] += (praw[k]+praw[i-j]) * psymm[j];</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> }</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> }</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> cpl_vector_delete(raw) ;</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> }</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> </div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> <span class="keywordtype">int</span> irplib_wlxcorr_plot_solution(</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> <span class="keyword">const</span> cpl_polynomial * init,</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> <span class="keyword">const</span> cpl_polynomial * comp,</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <span class="keyword">const</span> cpl_polynomial * sol,</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> <span class="keywordtype">int</span> pix_start,</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> <span class="keywordtype">int</span> pix_stop) </div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> {</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> <span class="keywordtype">int</span> nsamples, nplots ;</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> cpl_vector ** vectors ;</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> cpl_bivector * bivector ;</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> <span class="keywordtype">double</span> diff ;</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> </div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> <span class="keywordflow">if</span> (init == NULL || comp == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> </div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> <span class="comment">/* Initialise */</span></div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> nsamples = pix_stop - pix_start + 1 ;</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> <span class="keywordflow">if</span> (sol != NULL) nplots = 3 ;</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> <span class="keywordflow">else</span> nplots = 2 ;</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> </div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="comment">/* Create vectors */</span></div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> vectors = cpl_malloc((nplots+1)*<span class="keyword">sizeof</span>(cpl_vector*)) ;</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> <span class="keywordflow">for</span> (i=0 ; i<nplots+1 ; i++) vectors[i] = cpl_vector_new(nsamples) ;</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> </div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> <span class="comment">/* First plot with the lambda/pixel relation */</span></div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> <span class="comment">/* Fill vectors */</span></div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> <span class="keywordflow">for</span> (i=0 ; i<nsamples ; i++) {</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> cpl_vector_set(vectors[0], i, pix_start+i) ;</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> cpl_vector_set(vectors[1], i, </div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> cpl_polynomial_eval_1d(init, (<span class="keywordtype">double</span>)(pix_start+i), NULL)) ;</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> cpl_vector_set(vectors[2], i, </div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> cpl_polynomial_eval_1d(comp, (<span class="keywordtype">double</span>)(pix_start+i), NULL)) ;</div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> <span class="keywordflow">if</span> (sol != NULL) </div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> cpl_vector_set(vectors[3], i, </div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> cpl_polynomial_eval_1d(sol, (<span class="keywordtype">double</span>)(pix_start+i), NULL)) ;</div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> }</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> </div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> <span class="comment">/* Plot */</span></div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> cpl_plot_vectors(<span class="stringliteral">"set grid;set xlabel 'Position (pixels)';"</span>, </div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> <span class="stringliteral">"t '1-Initial / 2-Computed / 3-Solution' w lines"</span>, </div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> <span class="stringliteral">""</span>, (<span class="keyword">const</span> cpl_vector **)vectors, nplots+1);</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> </div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> <span class="comment">/* Free vectors */</span></div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> <span class="keywordflow">for</span> (i=0 ; i<nplots+1 ; i++) cpl_vector_delete(vectors[i]) ;</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> cpl_free(vectors) ;</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> </div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <span class="comment">/* Allocate vectors */</span></div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> nplots -- ;</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> vectors = cpl_malloc((nplots+1)*<span class="keyword">sizeof</span>(cpl_vector*)) ;</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> <span class="keywordflow">for</span> (i=0 ; i<nplots+1 ; i++) vectors[i] = cpl_vector_new(nsamples) ;</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> </div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> <span class="comment">/* Second plot with the delta-lambda/pixel relation */</span></div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> <span class="comment">/* Fill vectors */</span></div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> <span class="keywordflow">for</span> (i=0 ; i<nsamples ; i++) {</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> cpl_vector_set(vectors[0], i, pix_start+i) ;</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> diff = cpl_polynomial_eval_1d(comp, (<span class="keywordtype">double</span>)(pix_start+i), NULL) -</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> cpl_polynomial_eval_1d(init, (<span class="keywordtype">double</span>)(pix_start+i), NULL) ;</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> cpl_vector_set(vectors[1], i, diff) ;</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <span class="keywordflow">if</span> (sol != NULL) {</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> diff = cpl_polynomial_eval_1d(sol, (<span class="keywordtype">double</span>)(pix_start+i), NULL) -</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> cpl_polynomial_eval_1d(init, (<span class="keywordtype">double</span>)(pix_start+i), NULL) ;</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> cpl_vector_set(vectors[2], i, diff) ;</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> }</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> }</div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> </div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> <span class="comment">/* Plot */</span></div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> <span class="keywordflow">if</span> (sol == NULL) {</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> bivector = cpl_bivector_wrap_vectors(vectors[0], vectors[1]) ;</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> cpl_plot_bivector(</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> <span class="stringliteral">"set grid;set xlabel 'Position (pixels)';set ylabel 'Wavelength difference';"</span>, </div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> <span class="stringliteral">"t 'Computed-Initial wavelenth' w lines"</span>, <span class="stringliteral">""</span>, bivector);</div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> cpl_bivector_unwrap_vectors(bivector) ;</div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> cpl_plot_vectors(<span class="stringliteral">"set grid;set xlabel 'Position (pixels)';"</span>, </div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> <span class="stringliteral">"t '1-Computed - Initial / 2--Solution - Initial' w lines"</span>, </div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> <span class="stringliteral">""</span>, (<span class="keyword">const</span> cpl_vector **)vectors, nplots+1);</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> }</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> </div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> <span class="comment">/* Free vectors */</span></div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> <span class="keywordflow">for</span> (i=0 ; i<nplots+1 ; i++) cpl_vector_delete(vectors[i]) ;</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> cpl_free(vectors) ;</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> </div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> }</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> </div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> <span class="keywordtype">int</span> irplib_wlxcorr_plot_spc_table(</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <span class="keyword">const</span> cpl_table * spc_table, </div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * title,</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> <span class="keywordtype">int</span> first_plotted_line,</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="keywordtype">int</span> last_plotted_line) </div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> {</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> <span class="keywordtype">char</span> title_loc[1024] ;</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> cpl_vector ** vectors ;</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> cpl_vector ** sub_vectors ;</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> cpl_vector * tmp_vec ;</div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> <span class="keywordtype">int</span> nsamples ;</div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> <span class="keywordtype">double</span> max, mean1, mean3 ;</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> <span class="keywordtype">int</span> start_ind, stop_ind, hsize_pix ;</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> <span class="keywordtype">int</span> i, j ;</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> </div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> <span class="keywordflow">if</span> (first_plotted_line > last_plotted_line) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> <span class="keywordflow">if</span> (spc_table == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> </div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> <span class="comment">/* Initialise */</span></div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> nsamples = cpl_table_get_nrow(spc_table) ;</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> hsize_pix = 10 ;</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> </div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> sprintf(title_loc, </div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> <span class="stringliteral">"t '%s - 1-Initial catalog/2-Corrected catalog/3-Observed' w lines"</span>,</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> title) ;</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> title_loc[1023] = (char)0 ;</div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> </div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> vectors = cpl_malloc(4*<span class="keyword">sizeof</span>(cpl_vector*)) ;</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> vectors[0] = cpl_vector_wrap(nsamples, </div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> cpl_table_get_data_double((cpl_table*)spc_table,</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> IRPLIB_WLXCORR_COL_WAVELENGTH));</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> vectors[1] = cpl_vector_wrap(nsamples, </div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> cpl_table_get_data_double((cpl_table*)spc_table, </div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> IRPLIB_WLXCORR_COL_CAT_INIT));</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> vectors[2] = cpl_vector_wrap(nsamples, </div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> cpl_table_get_data_double((cpl_table*)spc_table, </div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> IRPLIB_WLXCORR_COL_CAT_FINAL));</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> vectors[3] = cpl_vector_wrap(nsamples, </div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> cpl_table_get_data_double((cpl_table*)spc_table, </div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> IRPLIB_WLXCORR_COL_OBS)) ;</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> </div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> <span class="comment">/* Scale the signal for a bettre display */</span></div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> mean1 = cpl_vector_get_mean(vectors[1]) ;</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> mean3 = cpl_vector_get_mean(vectors[3]) ;</div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> <span class="keywordflow">if</span> (fabs(mean3) > 1)</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> cpl_vector_multiply_scalar(vectors[3], fabs(mean1/mean3)) ;</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> </div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> cpl_plot_vectors(<span class="stringliteral">"set grid;set xlabel 'Wavelength (nm)';"</span>, title_loc,</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> <span class="stringliteral">""</span>, (<span class="keyword">const</span> cpl_vector **)vectors, 4);</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> </div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> <span class="comment">/* Unscale the signal */</span></div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> <span class="keywordflow">if</span> (fabs(mean3) > 1)</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> cpl_vector_multiply_scalar(vectors[3], mean3/mean1) ;</div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> </div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> <span class="comment">/* Loop on the brightest lines and zoom on them */</span></div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> sprintf(title_loc, </div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> <span class="stringliteral">"t '%s - 1-Initial catalog/2-Corrected catalog/3-Observed (ZOOMED)' w lines"</span>,</div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> title) ;</div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> title_loc[1023] = (char)0 ;</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> tmp_vec = cpl_vector_duplicate(vectors[2]) ;</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> <span class="keywordflow">for</span> (i=0 ; i<last_plotted_line ; i++) {</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> <span class="comment">/* Find the brightest line */</span></div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> <span class="keywordflow">if</span> ((max = cpl_vector_get_max(tmp_vec)) <= 0.0) break ;</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> <span class="keywordflow">for</span> (j=0 ; j<nsamples ; j++) {</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> <span class="keywordflow">if</span> (cpl_vector_get(tmp_vec, j) == max) break ;</div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> }</div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> <span class="keywordflow">if</span> (j-hsize_pix < 0) start_ind = 0 ;</div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> <span class="keywordflow">else</span> start_ind = j-hsize_pix ;</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> <span class="keywordflow">if</span> (j+hsize_pix > nsamples-1) stop_ind = nsamples-1 ;</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> <span class="keywordflow">else</span> stop_ind = j+hsize_pix ;</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> <span class="keywordflow">for</span> (j=start_ind ; j<=stop_ind ; j++) cpl_vector_set(tmp_vec, j, 0.0) ;</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> </div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> <span class="keywordflow">if</span> (i+1 >= first_plotted_line) {</div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> sub_vectors = cpl_malloc(4*<span class="keyword">sizeof</span>(cpl_vector*)) ;</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> sub_vectors[0]=cpl_vector_extract(vectors[0],start_ind,stop_ind,1);</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> sub_vectors[1]=cpl_vector_extract(vectors[1],start_ind,stop_ind,1);</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> sub_vectors[2]=cpl_vector_extract(vectors[2],start_ind,stop_ind,1);</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> sub_vectors[3]=cpl_vector_extract(vectors[3],start_ind,stop_ind,1);</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> </div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> cpl_plot_vectors(<span class="stringliteral">"set grid;set xlabel 'Wavelength (nm)';"</span>, </div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> title_loc, <span class="stringliteral">""</span>, (<span class="keyword">const</span> cpl_vector **)sub_vectors, 4);</div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> </div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> cpl_vector_delete(sub_vectors[0]) ;</div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> cpl_vector_delete(sub_vectors[1]) ;</div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> cpl_vector_delete(sub_vectors[2]) ;</div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> cpl_vector_delete(sub_vectors[3]) ;</div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> cpl_free(sub_vectors) ;</div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> }</div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> }</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> cpl_vector_delete(tmp_vec) ;</div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> </div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> cpl_vector_unwrap(vectors[0]) ;</div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> cpl_vector_unwrap(vectors[1]) ;</div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> cpl_vector_unwrap(vectors[2]) ;</div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> cpl_vector_unwrap(vectors[3]) ;</div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> cpl_free(vectors) ;</div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> </div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> }</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> </div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> <span class="keywordtype">int</span> irplib_wlxcorr_catalog_plot(</div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> <span class="keyword">const</span> cpl_bivector * cat,</div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> <span class="keywordtype">double</span> wmin,</div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> <span class="keywordtype">double</span> wmax) </div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> {</div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> <span class="keywordtype">int</span> start, stop ;</div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> cpl_bivector * subcat ;</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> cpl_vector * subcat_x ;</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> cpl_vector * subcat_y ;</div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> <span class="keyword">const</span> <span class="keywordtype">double</span> * pwave ;</div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> <span class="keywordtype">int</span> nvals, nvals_tot ;</div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> </div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> <span class="keywordflow">if</span> (cat == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> <span class="keywordflow">if</span> (wmax <= wmin) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> </div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> <span class="comment">/* Initialise */</span></div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> nvals_tot = cpl_bivector_get_size(cat) ;</div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> </div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> <span class="comment">/* Count the nb of values */</span></div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> pwave = cpl_bivector_get_x_data_const(cat) ;</div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> <span class="keywordflow">if</span> (pwave[0] >= wmin) start = 0 ;</div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> <span class="keywordflow">else</span> start = -1 ;</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> <span class="keywordflow">if</span> (pwave[nvals_tot-1] <= wmax) stop = nvals_tot-1 ;</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> <span class="keywordflow">else</span> stop = -1 ;</div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> i=0 ;</div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> <span class="keywordflow">while</span> ((pwave[i] < wmin) && (i<nvals_tot-1)) i++ ;</div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> start = i ;</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> i= nvals_tot-1 ;</div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> <span class="keywordflow">while</span> ((pwave[i] > wmax) && (i>0)) i-- ;</div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> stop = i ;</div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> </div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> <span class="keywordflow">if</span> (start>=stop) {</div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot plot the catalog"</span>) ;</div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> }</div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> nvals = start - stop + 1 ;</div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> </div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> <span class="comment">/* Create the bivector to plot */</span></div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> subcat_x = cpl_vector_extract(cpl_bivector_get_x_const(cat),start,stop, 1) ;</div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> subcat_y = cpl_vector_extract(cpl_bivector_get_y_const(cat),start,stop, 1) ;</div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> subcat = cpl_bivector_wrap_vectors(subcat_x, subcat_y) ;</div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> </div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> <span class="comment">/* Plot */</span></div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> <span class="keywordflow">if</span> (nvals > 500) {</div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> cpl_plot_bivector(</div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> <span class="stringliteral">"set grid;set xlabel 'Wavelength (nm)';set ylabel 'Emission';"</span>,</div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> <span class="stringliteral">"t 'Catalog Spectrum' w lines"</span>, <span class="stringliteral">""</span>, subcat);</div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> cpl_plot_bivector(</div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> <span class="stringliteral">"set grid;set xlabel 'Wavelength (nm)';set ylabel 'Emission';"</span>,</div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> <span class="stringliteral">"t 'Catalog Spectrum' w impulses"</span>, <span class="stringliteral">""</span>, subcat);</div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> }</div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> cpl_bivector_unwrap_vectors(subcat) ;</div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> cpl_vector_delete(subcat_x) ;</div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> cpl_vector_delete(subcat_y) ;</div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> </div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> }</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> </div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> <span class="keyword">static</span> <span class="keywordtype">void</span> irplib_wlxcorr_estimate(cpl_vector * vxc,</div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> cpl_vector * model,</div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> <span class="keyword">const</span> cpl_vector * spectrum,</div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> <span class="keyword">const</span> cpl_bivector * lines_catalog,</div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> <span class="keyword">const</span> cpl_vector * conv_kernel,</div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> <span class="keyword">const</span> cpl_polynomial * poly_candi,</div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> <span class="keywordtype">double</span> slitw,</div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> <span class="keywordtype">double</span> fwhm)</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> {</div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> cpl_errorstate prestate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> <span class="keyword">const</span> <span class="keywordtype">int</span> hsize = cpl_vector_get_size(vxc) / 2;</div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> </div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> <span class="keywordflow">if</span> (conv_kernel != NULL) {</div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> irplib_wlcalib_fill_spectrum(model, lines_catalog, conv_kernel,</div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> poly_candi, hsize);</div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> <span class="keyword">const</span> <span class="keywordtype">double</span> xtrunc = 0.5 * slitw + 5.0 * fwhm * CPL_MATH_SIG_FWHM;</div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> </div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> <a class="code" href="group__irplib__wavecal.html#ga8a65755ca17c9fa0b69ceb128f544761" title="Generate a 1D spectrum from (arc) lines and a dispersion relation.">irplib_vector_fill_line_spectrum_model</a>(model, NULL, NULL, poly_candi,</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> lines_catalog, slitw, fwhm,</div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> xtrunc, 0, CPL_FALSE, CPL_FALSE,</div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> NULL);</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> }</div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> </div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> <span class="keywordflow">if</span> (cpl_errorstate_is_equal(prestate))</div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> cpl_vector_correlate(vxc, model, spectrum);</div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> </div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(prestate)) {</div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> cpl_vector_fill(vxc, 0.0);</div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> </div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> <span class="comment">/* cpl_errorstate_dump(prestate, CPL_FALSE, NULL); */</span></div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> cpl_errorstate_set(prestate);</div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> </div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> }</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> </div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> }</div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> </div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> </div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> <span class="keyword">static</span> cpl_boolean irplib_wlcalib_is_lines(<span class="keyword">const</span> cpl_vector * wavelengths,</div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> <span class="keyword">const</span> cpl_polynomial * disp1d,</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> <span class="keywordtype">int</span> spec_sz,</div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> <span class="keywordtype">double</span> tol)</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> {</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nlines = cpl_vector_get_size(wavelengths);</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> <span class="comment">/* The dispersion on the detector center */</span></div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> <span class="keyword">const</span> <span class="keywordtype">double</span> dispersion = cpl_polynomial_eval_1d_diff(disp1d,</div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> 0.5 * spec_sz + 1.0,</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> 0.5 * spec_sz,</div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> NULL);</div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> <span class="keyword">const</span> <span class="keywordtype">double</span> range = cpl_vector_get(wavelengths, nlines-1)</div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> - cpl_vector_get(wavelengths, 0);</div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> </div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> cpl_ensure(wavelengths != NULL, CPL_ERROR_NULL_INPUT, CPL_FALSE);</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> cpl_ensure(disp1d != NULL, CPL_ERROR_NULL_INPUT, CPL_FALSE);</div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> cpl_ensure(cpl_polynomial_get_dimension(disp1d) == 1,</div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> CPL_ERROR_ILLEGAL_INPUT, CPL_FALSE);</div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> cpl_ensure(range > 0.0, CPL_ERROR_ILLEGAL_INPUT, CPL_FALSE);</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> </div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> <span class="keywordflow">return</span> nlines * fabs(dispersion) <= tol * fabs(range) ? CPL_TRUE</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> : CPL_FALSE;</div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> </div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> }</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> </div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> <span class="keyword">static</span></div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> cpl_error_code irplib_wlcalib_fill_spectrum(cpl_vector * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> <span class="keyword">const</span> cpl_bivector * lines_catalog,</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> <span class="keyword">const</span> cpl_vector * conv_kernel,</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> <span class="keyword">const</span> cpl_polynomial * poly,</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> <span class="keywordtype">int</span> search_hs)</div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> {</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> </div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> </div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> <span class="keyword">const</span> <span class="keywordtype">int</span> size = cpl_vector_get_size(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nlines = cpl_bivector_get_size(lines_catalog);</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> <span class="keyword">const</span> cpl_vector * xlines = cpl_bivector_get_x_const(lines_catalog);</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> <span class="keyword">const</span> <span class="keywordtype">double</span> * dxlines = cpl_vector_get_data_const(xlines);</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> cpl_bivector * sub_cat ;</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> cpl_vector * sub_cat_x;</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> cpl_vector * sub_cat_y;</div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> cpl_vector * wl_limits;</div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> <span class="keywordtype">double</span> wave_min, wave_max;</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> <span class="keywordtype">int</span> wave_min_id, wave_max_id;</div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> <span class="keywordtype">int</span> nsub;</div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> <span class="keywordtype">int</span> error;</div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> </div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> cpl_ensure_code(lines_catalog != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> cpl_ensure_code(conv_kernel != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> cpl_ensure_code(poly != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> cpl_ensure_code(size > 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> </div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> </div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> <span class="comment">/* Resample the spectrum */</span></div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> wl_limits = cpl_vector_new(size + 1);</div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> cpl_vector_fill_polynomial(wl_limits, poly, 0.5 - search_hs, 1);</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> </div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> <span class="comment">/* The spectrum wavelength bounds */</span></div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> wave_min = cpl_vector_get(wl_limits, 0);</div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> wave_max = cpl_vector_get(wl_limits, size);</div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> </div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> <span class="comment">/* Find the 1st line */</span></div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> wave_min_id = cpl_vector_find(xlines, wave_min);</div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> <span class="comment">/* The first line must be less than or equal to wave_min */</span></div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> <span class="keywordflow">if</span> (dxlines[wave_min_id] > wave_min) wave_min_id--;</div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> </div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> <span class="keywordflow">if</span> (wave_min_id < 0) {</div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> cpl_vector_delete(wl_limits);</div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> <span class="keywordflow">return</span> cpl_error_set_message_macro(cpl_func, CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> __FILE__, __LINE__, <span class="stringliteral">"The %d-line "</span></div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> <span class="stringliteral">"catalogue only has lines above %g"</span>,</div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> nlines, wave_min);</div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> }</div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> </div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> <span class="comment">/* Find the last line */</span></div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> wave_max_id = cpl_vector_find(xlines, wave_max);</div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> <span class="comment">/* The last line must be greater than or equal to wave_max */</span></div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> <span class="keywordflow">if</span> (dxlines[wave_max_id] < wave_max) wave_max_id++;</div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> </div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> <span class="keywordflow">if</span> (wave_max_id == nlines) {</div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> cpl_vector_delete(wl_limits);</div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> <span class="keywordflow">return</span> cpl_error_set_message_macro(cpl_func, CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> __FILE__, __LINE__, <span class="stringliteral">"The %d-line "</span></div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> <span class="stringliteral">"catalogue only has lines below %g"</span>,</div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> nlines, wave_max);</div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> }</div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> </div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> <span class="comment">/* Checking the wavelength range at this point via the indices also</span></div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> <span class="comment"> verifies that they were not found using non-increasing wavelengths */</span></div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> nsub = 1 + wave_max_id - wave_min_id;</div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> cpl_ensure_code(nsub > 1, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> </div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> <span class="comment">/* Wrap a new bivector around the relevant part of the catalog */</span></div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> <span class="comment">/* The data is _not_ modified */</span></div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> sub_cat_x = cpl_vector_wrap(nsub, wave_min_id + (<span class="keywordtype">double</span>*)dxlines);</div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> sub_cat_y = cpl_vector_wrap(nsub, wave_min_id + (<span class="keywordtype">double</span>*)</div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> cpl_bivector_get_y_data_const(lines_catalog));</div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> sub_cat = cpl_bivector_wrap_vectors(sub_cat_x, sub_cat_y);</div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> </div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> <span class="comment">/* High resolution catalog */</span></div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> error = irplib_wlxcorr_signal_resample(<span class="keyword">self</span>, wl_limits, sub_cat);</div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> </div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> cpl_vector_delete(wl_limits);</div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> cpl_bivector_unwrap_vectors(sub_cat);</div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> (void)cpl_vector_unwrap(sub_cat_x);</div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> (void)cpl_vector_unwrap(sub_cat_y);</div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> </div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> cpl_ensure_code(!error, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> </div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> <span class="comment">/* Smooth the instrument resolution */</span></div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> cpl_ensure_code(!irplib_wlxcorr_convolve(<span class="keyword">self</span>, conv_kernel),</div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> cpl_error_get_code());</div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> </div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> }</div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> </div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> </div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> <span class="keyword">static</span> <span class="keywordtype">int</span> irplib_wlxcorr_signal_resample(</div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> cpl_vector * resampled, </div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> <span class="keyword">const</span> cpl_vector * xbounds,</div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> <span class="keyword">const</span> cpl_bivector * hires)</div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> {</div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> <span class="keyword">const</span> <span class="keywordtype">int</span> hrsize = cpl_bivector_get_size(hires);</div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> <span class="keyword">const</span> cpl_vector* xhires ;</div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> <span class="keyword">const</span> cpl_vector* yhires ;</div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> <span class="keyword">const</span> <span class="keywordtype">double</span> * pxhires ;</div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> <span class="keyword">const</span> <span class="keywordtype">double</span> * pyhires ;</div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> <span class="keyword">const</span> <span class="keywordtype">double</span> * pxbounds ;</div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> cpl_vector * ybounds ;</div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> cpl_bivector * boundary ;</div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> <span class="keywordtype">double</span> * pybounds ;</div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> <span class="keywordtype">double</span> * presampled ;</div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> <span class="keywordtype">int</span> nsamples ;</div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> <span class="keywordtype">int</span> i, itt ;</div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> </div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> <span class="keywordflow">if</span> ((!resampled) || (!xbounds) || (!hires)) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> </div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> <span class="comment">/* Initialise */</span></div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> nsamples = cpl_vector_get_size(resampled) ;</div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> </div>
-<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> <span class="comment">/* Initialise */</span></div>
-<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> presampled = cpl_vector_get_data(resampled) ;</div>
-<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> pxbounds = cpl_vector_get_data_const(xbounds) ;</div>
-<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> xhires = cpl_bivector_get_x_const(hires) ;</div>
-<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> yhires = cpl_bivector_get_y_const(hires) ;</div>
-<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> pxhires = cpl_vector_get_data_const(xhires) ;</div>
-<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> pyhires = cpl_vector_get_data_const(yhires) ;</div>
-<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> </div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> <span class="comment">/* Create a new vector */</span></div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> ybounds = cpl_vector_new(cpl_vector_get_size(xbounds)) ;</div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> boundary = cpl_bivector_wrap_vectors((cpl_vector*)xbounds,ybounds) ;</div>
-<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> pybounds = cpl_vector_get_data(ybounds) ;</div>
-<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> </div>
-<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> <span class="keywordflow">if</span> (cpl_bivector_get_size(boundary) != nsamples + 1) {</div>
-<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> cpl_bivector_unwrap_vectors(boundary) ;</div>
-<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span> cpl_vector_delete(ybounds) ;</div>
-<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> }</div>
-<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> </div>
-<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> <span class="comment">/* Get the ind */</span></div>
-<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> itt = cpl_vector_find(xhires, pxbounds[0]);</div>
-<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> </div>
-<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span> <span class="comment">/* Interpolate the signal */</span></div>
-<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> <span class="keywordflow">if</span> (cpl_bivector_interpolate_linear(boundary, hires)) {</div>
-<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span> cpl_bivector_unwrap_vectors(boundary) ;</div>
-<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> cpl_vector_delete(ybounds) ;</div>
-<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> }</div>
-<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> </div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> <span class="comment">/* At this point itt most likely points to element just below</span></div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> <span class="comment"> pxbounds[0] */</span></div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> <span class="keywordflow">while</span> (pxhires[itt] < pxbounds[0]) itt++;</div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> </div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> <span class="keywordflow">for</span> (i=0; i < nsamples; i++) {</div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> <span class="comment">/* The i'th signal is the weighted average of the two interpolated</span></div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> <span class="comment"> signals at the pixel boundaries and those table signals in</span></div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> <span class="comment"> between */</span></div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> </div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> <span class="keywordtype">double</span> xlow = pxbounds[i];</div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> <span class="keywordtype">double</span> x = pxhires[itt];</div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> </div>
-<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> <span class="keywordflow">if</span> (x > pxbounds[i+1]) x = pxbounds[i+1];</div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> <span class="comment">/* Contribution from interpolated value at wavelength at lower pixel</span></div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> <span class="comment"> boundary */</span></div>
-<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> presampled[i] = pybounds[i] * (x - xlow);</div>
-<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> </div>
-<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> <span class="comment">/* Contribution from table values in between pixel boundaries */</span></div>
-<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> <span class="keywordflow">while</span> ((pxhires[itt] < pxbounds[i+1]) && (itt < hrsize)) {</div>
-<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span> <span class="keyword">const</span> <span class="keywordtype">double</span> xprev = x;</div>
-<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> x = pxhires[itt+1];</div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> <span class="keywordflow">if</span> (x > pxbounds[i+1]) x = pxbounds[i+1];</div>
-<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> presampled[i] += pyhires[itt] * (x - xlow);</div>
-<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> xlow = xprev;</div>
-<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> itt++;</div>
-<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> }</div>
-<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> </div>
-<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> <span class="comment">/* Contribution from interpolated value at wavelength at upper pixel</span></div>
-<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> <span class="comment"> boundary */</span></div>
-<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span> presampled[i] += pybounds[i+1] * (pxbounds[i+1] - xlow);</div>
-<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> </div>
-<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span> <span class="comment">/* Compute average by dividing integral by length of pixel range</span></div>
-<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> <span class="comment"> (the factor 2 comes from the contributions) */</span></div>
-<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span> presampled[i] /= 2 * (pxbounds[i+1] - pxbounds[i]);</div>
-<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span> }</div>
-<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> cpl_bivector_unwrap_vectors(boundary) ;</div>
-<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span> cpl_vector_delete(ybounds) ;</div>
-<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span> }</div>
-<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> </div>
-<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span> </div>
-<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span> </div>
-<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span> <span class="keyword">static</span> cpl_error_code cpl_vector_fill_lss_profile_symmetric(cpl_vector * <span class="keyword">self</span>,</div>
-<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span> <span class="keywordtype">double</span> slitw,</div>
-<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span> <span class="keywordtype">double</span> fwhm)</div>
-<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> {</div>
-<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> </div>
-<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sigma = fwhm * CPL_MATH_SIG_FWHM;</div>
-<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> <span class="keyword">const</span> <span class="keywordtype">int</span> n = cpl_vector_get_size(<span class="keyword">self</span>);</div>
-<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> </div>
-<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> </div>
-<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> cpl_ensure_code(<span class="keyword">self</span> != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> cpl_ensure_code(slitw > 0.0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> cpl_ensure_code(fwhm > 0.0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> </div>
-<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> <span class="comment">/* Cannot fail now */</span></div>
-<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> </div>
-<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> <span class="comment">/* Special case for i = 0 */</span></div>
-<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> (void)cpl_vector_set(<span class="keyword">self</span>, 0,</div>
-<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> (<a class="code" href="group__irplib__wavecal.html#ga2da9c21054a19322705de2d4f48d1d3f" title="The antiderivative of erx(x/sigma/sqrt(2)) with respect to x.">irplib_erf_antideriv</a>(0.5*slitw + 0.5, sigma) -</div>
-<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> <a class="code" href="group__irplib__wavecal.html#ga2da9c21054a19322705de2d4f48d1d3f" title="The antiderivative of erx(x/sigma/sqrt(2)) with respect to x.">irplib_erf_antideriv</a>(0.5*slitw - 0.5, sigma)) / slitw);</div>
-<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> </div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> <span class="keywordflow">for</span> (i = 1; i < n; i++) {</div>
-<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> <span class="comment">/* FIXME: Reuse two irplib_erf_antideriv() calls from previous value */</span></div>
-<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> <span class="keyword">const</span> <span class="keywordtype">double</span> x1p = i + 0.5*slitw + 0.5;</div>
-<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> <span class="keyword">const</span> <span class="keywordtype">double</span> x1n = i - 0.5*slitw + 0.5;</div>
-<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> <span class="keyword">const</span> <span class="keywordtype">double</span> x0p = i + 0.5*slitw - 0.5;</div>
-<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span> <span class="keyword">const</span> <span class="keywordtype">double</span> x0n = i - 0.5*slitw - 0.5;</div>
-<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> <span class="keyword">const</span> <span class="keywordtype">double</span> val = 0.5/slitw *</div>
-<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> (<a class="code" href="group__irplib__wavecal.html#ga2da9c21054a19322705de2d4f48d1d3f" title="The antiderivative of erx(x/sigma/sqrt(2)) with respect to x.">irplib_erf_antideriv</a>(x1p, sigma) - <a class="code" href="group__irplib__wavecal.html#ga2da9c21054a19322705de2d4f48d1d3f" title="The antiderivative of erx(x/sigma/sqrt(2)) with respect to x.">irplib_erf_antideriv</a>(x1n, sigma) -</div>
-<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span> <a class="code" href="group__irplib__wavecal.html#ga2da9c21054a19322705de2d4f48d1d3f" title="The antiderivative of erx(x/sigma/sqrt(2)) with respect to x.">irplib_erf_antideriv</a>(x0p, sigma) + <a class="code" href="group__irplib__wavecal.html#ga2da9c21054a19322705de2d4f48d1d3f" title="The antiderivative of erx(x/sigma/sqrt(2)) with respect to x.">irplib_erf_antideriv</a>(x0n, sigma));</div>
-<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> (void)cpl_vector_set(<span class="keyword">self</span>, i, val);</div>
-<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span> }</div>
-<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span> </div>
-<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/irplib__wlxcorr_8h_source.html b/html/irplib__wlxcorr_8h_source.html
deleted file mode 100644
index 20b96b8..0000000
--- a/html/irplib__wlxcorr_8h_source.html
+++ /dev/null
@@ -1,120 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: irplib_wlxcorr.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_9dbeae34d65cadb5c6915b8c80494485.html">irplib</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">irplib_wlxcorr.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: irplib_wlxcorr.h,v 1.22 2013/01/29 08:43:33 jtaylor Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the IRPLIB package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: jtaylor $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2013/01/29 08:43:33 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.22 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef IRPLIB_WLXCORR_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_WLXCORR_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Include</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> Define</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">/* The 4 columns of the table */</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#define IRPLIB_WLXCORR_COL_WAVELENGTH "Wavelength"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_WLXCORR_COL_CAT_INIT "Catalog Initial"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_WLXCORR_COL_CAT_FINAL "Catalog Corrected"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor"></span><span class="preprocessor">#define IRPLIB_WLXCORR_COL_OBS "Observed"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">int</span> irplib_wlxcorr_plot_spc_table(<span class="keyword">const</span> cpl_table *, <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>) ;</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">int</span> irplib_wlxcorr_catalog_plot(<span class="keyword">const</span> cpl_bivector *, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>) ;</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">int</span> irplib_wlxcorr_plot_solution(<span class="keyword">const</span> cpl_polynomial *, <span class="keyword">const</span> cpl_polynomial *,</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keyword">const</span> cpl_polynomial *, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>) ;</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> cpl_polynomial * irplib_wlxcorr_best_poly(<span class="keyword">const</span> cpl_vector *, </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">const</span> cpl_bivector *, <span class="keywordtype">int</span>, <span class="keyword">const</span> cpl_polynomial *, <span class="keyword">const</span> cpl_vector *, </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">int</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span> *, cpl_table **, cpl_vector **) ;</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> cpl_table * irplib_wlxcorr_gen_spc_table(<span class="keyword">const</span> cpl_vector *, </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">const</span> cpl_bivector *, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keyword">const</span> cpl_polynomial *,</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">const</span> cpl_polynomial *) ;</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> cpl_bivector * irplib_wlxcorr_cat_extract(<span class="keyword">const</span> cpl_bivector *, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>);</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> cpl_vector * irplib_wlxcorr_convolve_create_kernel(<span class="keywordtype">double</span>, <span class="keywordtype">double</span>) ;</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">int</span> irplib_wlxcorr_convolve(cpl_vector *,<span class="keyword">const</span> cpl_vector *) ;</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> cpl_error_code irplib_wlxcorr_vector_fill_line_spectrum(cpl_vector *,</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keyword">const</span> cpl_polynomial *,</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keyword">const</span> cpl_bivector *,</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">double</span>, <span class="keywordtype">double</span>, <span class="keywordtype">double</span>,</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keywordtype">int</span>);</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/jquery.js b/html/jquery.js
deleted file mode 100644
index 63939e7..0000000
--- a/html/jquery.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/*! jQuery v1.7.1 jquery.com | jquery.org/license */
-(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),cm.close();d=cm.createElement( [...]
-{g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=argumen [...]
-f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]| [...]
-&&m.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsBy [...]
-f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function()
-{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replac [...]
-{if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m, [...]
diff --git a/html/modules.html b/html/modules.html
deleted file mode 100644
index 651ed36..0000000
--- a/html/modules.html
+++ /dev/null
@@ -1,150 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: Modules</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Modules</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock">Here is a list of all modules:</div><div class="directory">
-<table class="directory">
-<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__absolute__utils.html" target="_self">routines to determine the absolute positions</a></td><td class="desc"></td></tr>
-<tr id="row_1_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__bad__pix__search.html" target="_self">Bad Pixel Search</a></td><td class="desc"></td></tr>
-<tr id="row_2_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__balance.html" target="_self">To be removed</a></td><td class="desc"></td></tr>
-<tr id="row_3_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__baryvel.html" target="_self">Velocity correction</a></td><td class="desc"></td></tr>
-<tr id="row_4_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__boltzmann.html" target="_self">Boltzmann function operations</a></td><td class="desc"></td></tr>
-<tr id="row_5_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__coltilt.html" target="_self">Column tilt computation</a></td><td class="desc"></td></tr>
-<tr id="row_6_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__companion.html" target="_self">To be removed</a></td><td class="desc"></td></tr>
-<tr id="row_7_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__cube__construct.html" target="_self">Cube generation functions</a></td><td class="desc"></td></tr>
-<tr id="row_8_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__dark__cfg.html" target="_self">Dark manipulation functions</a></td><td class="desc"></td></tr>
-<tr id="row_9_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__detlin.html" target="_self">Detector Linearity Determination Functions</a></td><td class="desc"></td></tr>
-<tr id="row_10_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__dfs.html" target="_self">DFS related Utilities</a></td><td class="desc"></td></tr>
-<tr id="row_11_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__distortion.html" target="_self">Distortion correction functions</a></td><td class="desc"></td></tr>
-<tr id="row_12_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__dump.html" target="_self">Print CPL objects</a></td><td class="desc"></td></tr>
-<tr id="row_13_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__error.html" target="_self">Error handling</a></td><td class="desc"></td></tr>
-<tr id="row_14_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__finddist__cfg.html" target="_self">functions to determine slitlets distances</a></td><td class="desc"></td></tr>
-<tr id="row_15_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__fit.html" target="_self">Fit functions</a></td><td class="desc"></td></tr>
-<tr id="row_16_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__flat__cfg.html" target="_self">Flat manipulation functions</a></td><td class="desc"></td></tr>
-<tr id="row_17_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__focus.html" target="_self">Focus determination functions</a></td><td class="desc"></td></tr>
-<tr id="row_18_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__function__1d.html" target="_self">1d functions</a></td><td class="desc"></td></tr>
-<tr id="row_19_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__spiffi__general__config.html" target="_self">General configuration parameters</a></td><td class="desc"></td></tr>
-<tr id="row_20_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__globals.html" target="_self">global functions</a></td><td class="desc"></td></tr>
-<tr id="row_21_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__image__ops.html" target="_self">Image operations</a></td><td class="desc"></td></tr>
-<tr id="row_22_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__lamp__cfg.html" target="_self">Flat frame manipulation functions</a></td><td class="desc"></td></tr>
-<tr id="row_23_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__lamp__spec__config.html" target="_self">Spectroscopic flats manipulation</a></td><td class="desc"></td></tr>
-<tr id="row_24_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__msg.html" target="_self">Messaging</a></td><td class="desc"></td></tr>
-<tr id="row_25_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__new__cube__ops.html" target="_self">Cube operations</a></td><td class="desc"></td></tr>
-<tr id="row_26_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__new__resampling.html" target="_self">Image resampling</a></td><td class="desc"></td></tr>
-<tr id="row_27_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__new__slit__pos.html" target="_self">Slitlets position determination</a></td><td class="desc"></td></tr>
-<tr id="row_28_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__pfits.html" target="_self">In/Out on propertylist cards</a></td><td class="desc"></td></tr>
-<tr id="row_29_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__pro__save.html" target="_self">Functions to save a product</a></td><td class="desc"></td></tr>
-<tr id="row_30_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__produc__config.html" target="_self">.c Pipeline products configurations</a></td><td class="desc"></td></tr>
-<tr id="row_31_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__qr__companion.html" target="_self">functions for polynomial solution</a></td><td class="desc"></td></tr>
-<tr id="row_32_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__rec__utils.html" target="_self">Recipe utilities</a></td><td class="desc"></td></tr>
-<tr id="row_33_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__remove__crh__single.html" target="_self">Remove Cosmic Rays single (sinfo_remove_crh_single)</a></td><td class="desc"></td></tr>
-<tr id="row_34_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__shift__images.html" target="_self">Functions to shift images</a></td><td class="desc"></td></tr>
-<tr id="row_35_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__skycor__config.html" target="_self">Sky residuals corrections configuration</a></td><td class="desc"></td></tr>
-<tr id="row_36_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__spectrum__ops.html" target="_self">Operations on spectra</a></td><td class="desc"></td></tr>
-<tr id="row_37_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__tilt__cfg.html" target="_self">tilt computation</a></td><td class="desc"></td></tr>
-<tr id="row_38_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__time.html" target="_self">Get date/time, possibly in ISO8601 format</a></td><td class="desc"></td></tr>
-<tr id="row_39_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__tpl__dfs.html" target="_self">DFS related functions</a></td><td class="desc"></td></tr>
-<tr id="row_40_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__tpl__utils.html" target="_self">Miscellaneous Utilities</a></td><td class="desc"></td></tr>
-<tr id="row_41_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__utilities.html" target="_self">utilities</a></td><td class="desc"></td></tr>
-<tr id="row_42_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__utils.html" target="_self">Utility functions</a></td><td class="desc"></td></tr>
-<tr id="row_43_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__utils__wrappers.html" target="_self">Utility functions (wrappers)</a></td><td class="desc"></td></tr>
-<tr id="row_44_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__img__noise.html" target="_self">Recipe to determine detector noise</a></td><td class="desc"></td></tr>
-<tr id="row_45_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__rec__detlin.html" target="_self">Recipe to determine detector linearity</a></td><td class="desc"></td></tr>
-<tr id="row_46_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__rec__distortion.html" target="_self">Recipe to compute optical distortions</a></td><td class="desc"></td></tr>
-<tr id="row_47_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__rec__jitter.html" target="_self">Recipe to reduce science, PSF, telluric standards</a></td><td class="desc"></td></tr>
-<tr id="row_48_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__rec__lingain.html" target="_self">Recipe to monitor detector's linearity and gain</a></td><td class="desc"></td></tr>
-<tr id="row_49_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__rec__mdark.html" target="_self">Recipe to compute master dark</a></td><td class="desc"></td></tr>
-<tr id="row_50_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__rec__mflat.html" target="_self">Recipe to compute master flat</a></td><td class="desc"></td></tr>
-<tr id="row_51_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__rec__objnod.html" target="_self">Recipe to reduce science data</a></td><td class="desc"></td></tr>
-<tr id="row_52_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__rec__psf.html" target="_self">Recipe to reduce PSF standard star data</a></td><td class="desc"></td></tr>
-<tr id="row_53_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__rec__pupil.html" target="_self">Recipe to reduce pupil data</a></td><td class="desc"></td></tr>
-<tr id="row_54_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__rec__stdstar.html" target="_self">Recipe to reduce telluric standard star data</a></td><td class="desc"></td></tr>
-<tr id="row_55_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__rec__wavecal.html" target="_self">Recipe to reduce arc lamp data</a></td><td class="desc"></td></tr>
-<tr id="row_56_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__step__distortion.html" target="_self">Recipe to compute optical distortions</a></td><td class="desc"></td></tr>
-<tr id="row_57_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__step__jitter.html" target="_self">Recipe to reduce science, PSF or telluric standard data</a></td><td class="desc"></td></tr>
-<tr id="row_58_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__step__objnod.html" target="_self">Recipe to reduce science data</a></td><td class="desc"></td></tr>
-<tr id="row_59_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__step__psf.html" target="_self">Recipe to reduce PSF data</a></td><td class="desc"></td></tr>
-<tr id="row_60_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__step__stdstar.html" target="_self">Recipe to reduce telluric standard data</a></td><td class="desc"></td></tr>
-<tr id="row_61_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__utl__bp__mask__add.html" target="_self">Recipe to coadd bad pixel masks</a></td><td class="desc"></td></tr>
-<tr id="row_62_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__utl__cube2ima.html" target="_self">Recipe to collapse a cube in an image</a></td><td class="desc"></td></tr>
-<tr id="row_63_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__utl__cube2spectrum.html" target="_self">Recipe to collapse a cube in a spectrum</a></td><td class="desc"></td></tr>
-<tr id="row_64_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__utl__cube__arith.html" target="_self">Recipe for cube arithmetics</a></td><td class="desc"></td></tr>
-<tr id="row_65_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__utl__cube__combine.html" target="_self">Recipe to coadd cubes</a></td><td class="desc"></td></tr>
-<tr id="row_66_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__utl__cube__create.html" target="_self">Recipe to coadd cubes</a></td><td class="desc"></td></tr>
-<tr id="row_67_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__utl__cube__test.html" target="_self">Recipe to test cube operations</a></td><td class="desc"></td></tr>
-<tr id="row_68_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__utl__eff.html" target="_self">Recipe to do operations on an image</a></td><td class="desc"></td></tr>
-<tr id="row_69_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__utl__illumcorr.html" target="_self">Recipe to correct for slitlet illumination</a></td><td class="desc"></td></tr>
-<tr id="row_70_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__utl__ima__arith.html" target="_self">Recipe to do operations on an image</a></td><td class="desc"></td></tr>
-<tr id="row_71_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__utl__ima__cube__ks__test.html" target="_self">Recipe to do operations on an image</a></td><td class="desc"></td></tr>
-<tr id="row_72_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__utl__ima__gauss.html" target="_self">Recipe to do operations on an image</a></td><td class="desc"></td></tr>
-<tr id="row_73_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__utl__ima__line__corr.html" target="_self">Recipe to do operations on an image</a></td><td class="desc"></td></tr>
-<tr id="row_74_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__utl__remove__crh__single.html" target="_self">Recipe to remove CRHs from an image</a></td><td class="desc"></td></tr>
-<tr id="row_75_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__utl__skycor.html" target="_self">Recipe to correct sky residuals on science cubes</a></td><td class="desc"></td></tr>
-<tr id="row_76_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__utl__skymap.html" target="_self">Recipe to generate a sky map for SINFONI SRTD</a></td><td class="desc"></td></tr>
-<tr id="row_77_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__utl__spectrum__divide__by__blackbody.html" target="_self">Recipe to correct a spectrum from the blackbody thermal emission</a></td><td class="desc"></td></tr>
-<tr id="row_78_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__utl__spectrum__wavelength__shift.html" target="_self">Recipe to shift a spectrum in wavelength</a></td><td class="desc"></td></tr>
-<tr id="row_79_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__utl__stdstars.html" target="_self">Recipe to generate standard stars catalogs</a></td><td class="desc"></td></tr>
-<tr id="row_80_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__utl__table__ex.html" target="_self">Recipe to do operations on an image</a></td><td class="desc"></td></tr>
-<tr id="row_81_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__utl__table__test.html" target="_self">Utility to test column table shift</a></td><td class="desc"></td></tr>
-<tr id="row_82_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__irplib__calib.html" target="_self">Functions for calibrations</a></td><td class="desc"></td></tr>
-<tr id="row_83_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__irplib__cat.html" target="_self">Functions for accessing catalogues</a></td><td class="desc"></td></tr>
-<tr id="row_84_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__irplib__distortion.html" target="_self">Distortion correction functions</a></td><td class="desc"></td></tr>
-<tr id="row_85_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__irplib__flat.html" target="_self">Functions for flatfielding</a></td><td class="desc"></td></tr>
-<tr id="row_86_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__irplib__framelist.html" target="_self">Lists of frames with properties.</a></td><td class="desc"></td></tr>
-<tr id="row_87_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__irplib__oddeven.html" target="_self">Odd/Even column effect correction</a></td><td class="desc"></td></tr>
-<tr id="row_88_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__irplib__plugin.html" target="_self">Irplib plugin functionality</a></td><td class="desc"></td></tr>
-<tr id="row_89_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__irplib__polynomial.html" target="_self">1D-Polynomial roots</a></td><td class="desc"></td></tr>
-<tr id="row_90_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__irplib__ppm.html" target="_self">Point pattern matching</a></td><td class="desc"></td></tr>
-<tr id="row_91_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__irplib__slitpos.html" target="_self">Functions for slit position</a></td><td class="desc"></td></tr>
-<tr id="row_92_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__irplib__spectrum.html" target="_self">Functions for LSS spectra</a></td><td class="desc"></td></tr>
-<tr id="row_93_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__irplib__stdstar.html" target="_self">Functions for standard stars</a></td><td class="desc"></td></tr>
-<tr id="row_94_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__irplib__strehl.html" target="_self">Functions to compute the Strehl</a></td><td class="desc"></td></tr>
-<tr id="row_95_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__irplib__utils.html" target="_self">Miscellaneous Utilities</a></td><td class="desc"></td></tr>
-<tr id="row_96_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__irplib__wavecal.html" target="_self">Spectro functionality</a></td><td class="desc"></td></tr>
-<tr id="row_97_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__irplib__wcs.html" target="_self">Functions related to WCS</a></td><td class="desc"></td></tr>
-<tr id="row_98_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__irplib__wlxcorr.html" target="_self">Wavelength Cross correlation w. plotting</a></td><td class="desc"></td></tr>
-<tr id="row_99_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__absolute.html" target="_self">Sinfo_absolute</a></td><td class="desc"></td></tr>
-<tr id="row_100_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__flat__ini__file.html" target="_self">Flat manipulation functions</a></td><td class="desc"></td></tr>
-<tr id="row_101_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__sinfo__new__bezier.html" target="_self">Bezier Functions</a></td><td class="desc"></td></tr>
-<tr id="row_102_" class="even"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a class="el" href="group__sinfo__recipes.html" target="_self">Recipe utilities</a></td><td class="desc"></td></tr>
-</table>
-</div><!-- directory -->
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/nav_f.png b/html/nav_f.png
deleted file mode 100644
index 72a58a5..0000000
Binary files a/html/nav_f.png and /dev/null differ
diff --git a/html/nav_g.png b/html/nav_g.png
deleted file mode 100644
index 9681f15..0000000
Binary files a/html/nav_g.png and /dev/null differ
diff --git a/html/nav_h.png b/html/nav_h.png
deleted file mode 100644
index 33389b1..0000000
Binary files a/html/nav_h.png and /dev/null differ
diff --git a/html/open.png b/html/open.png
deleted file mode 100644
index 30f75c7..0000000
Binary files a/html/open.png and /dev/null differ
diff --git a/html/recipes_2sinfo__utl__cube2ima_8c_source.html b/html/recipes_2sinfo__utl__cube2ima_8c_source.html
deleted file mode 100644
index 8eaa8a2..0000000
--- a/html/recipes_2sinfo__utl__cube2ima_8c_source.html
+++ /dev/null
@@ -1,232 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_cube2ima.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">recipes/sinfo_utl_cube2ima.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_cube2ima.c,v 1.10 2007/10/26 09:40:28 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2007/10/26 09:40:28 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.10 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <sinfo_pfits.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <sinfo_utl_cube2ima.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube2ima_create(cpl_plugin *) ;</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube2ima_exec(cpl_plugin *) ;</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube2ima_destroy(cpl_plugin *) ;</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_cube2ima_description[] =</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="stringliteral">"This recipe performs cube to image comversion.\n"</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="stringliteral">"The input file is a cube which is contained in the sof file\n"</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="stringliteral">"Its tag should be CUBE.\n"</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="stringliteral">"The output is an image resulting from the average of the \n"</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="stringliteral">"cube over a wavelength rage which can be set by parameters \n"</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2ima.ws sinfoni.sinfo_utl_cube2ima.we\n"</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="stringliteral">"having aliases 'ws' 'we'\n"</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="stringliteral">"Information on relevant parameters can be found with\n"</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="stringliteral">"esorex --params sinfo_utl_cube2ima\n"</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="stringliteral">"esorex --help sinfo_utl_cube2ima\n"</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"><a class="code" href="group__sinfo__utl__cube2ima.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693"> 88</a></span> <span class="keywordtype">int</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist * list)</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> {</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> cpl_recipe * recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe ) ;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> cpl_plugin * plugin = &recipe->interface ;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="stringliteral">"sinfo_utl_cube2ima"</span>,</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="stringliteral">"Cube to image conversion"</span>,</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> sinfo_utl_cube2ima_description,</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="stringliteral">"Andrea Modigliani"</span>,</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="stringliteral">"Andrea.Modigliani at eso.org"</span>,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> sinfo_utl_cube2ima_create,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> sinfo_utl_cube2ima_exec,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> sinfo_utl_cube2ima_destroy) ;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> cpl_pluginlist_append(list, plugin) ;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> }</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube2ima_create(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> {</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> cpl_parameter * p ;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> cpl_error_reset();</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> recipe->parameters = cpl_parameterlist_new() ; </div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment">/* Fill the parameters list */</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment">/* --stropt */</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment">/* --doubleopt */</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube2ima.ws"</span>, </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> CPL_TYPE_DOUBLE, </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="stringliteral">"starting wavelength"</span>, </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2ima"</span>, </div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> 0.9999) ;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"ws"</span>) ;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment">/* --doubleopt */</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube2ima.we"</span>, </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> CPL_TYPE_DOUBLE, </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="stringliteral">"starting wavelength"</span>, </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2ima"</span>, </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> 2.999) ;</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"we"</span>) ;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> }</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube2ima_exec(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> {</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordtype">int</span> result=0;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> cpl_errorstate initial_errorstate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> sinfo_msg(<span class="stringliteral">"Welcome to SINFONI Pipeline release %d.%d.%d"</span>,</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> SINFONI_MAJOR_VERSION,SINFONI_MINOR_VERSION,SINFONI_MICRO_VERSION);</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> result=sinfo_utl_cube2ima(recipe->parameters, recipe->frames) ;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(initial_errorstate)) { </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment">/* Dump the error history since recipe execution start. </span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment"> At this point the recipe cannot recover from the error */</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> cpl_errorstate_dump(initial_errorstate, CPL_FALSE, NULL); </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> } </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordflow">return</span> result ;</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> }</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube2ima_destroy(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> {</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> cpl_parameterlist_delete(recipe->parameters) ; </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> }</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/recipes_2sinfo__utl__cube2spectrum_8c_source.html b/html/recipes_2sinfo__utl__cube2spectrum_8c_source.html
deleted file mode 100644
index 89709a8..0000000
--- a/html/recipes_2sinfo__utl__cube2spectrum_8c_source.html
+++ /dev/null
@@ -1,306 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_cube2spectrum.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">recipes/sinfo_utl_cube2spectrum.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_cube2spectrum.c,v 1.12 2007/10/26 08:33:11 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2007/10/26 08:33:11 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.12 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <sinfo_pfits.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <sinfo_utl_cube2spectrum.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube2spectrum_create(cpl_plugin *) ;</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube2spectrum_exec(cpl_plugin *) ;</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube2spectrum_destroy(cpl_plugin *) ;</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_cube2spectrum_description[] =</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="stringliteral">"This recipe performs cube to 1D spectrum image conversion.\n"</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="stringliteral">"The input files is a cube\n"</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="stringliteral">"Its associated tag should be CUBE.\n"</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="stringliteral">"The output is an image resulting from the cube manipulated \n"</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="stringliteral">"according to the value of op\n"</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="stringliteral">"Over an aperture as specified by the parameter \n"</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum.aperture having alias 'op', 'ap'"</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="stringliteral">"Information on relevant parameters can be found with\n"</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="stringliteral">"esorex --params sinfo_utl_cube2spectrum\n"</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="stringliteral">"esorex --help sinfo_utl_cube2spectrum\n"</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"><a class="code" href="group__sinfo__utl__cube2spectrum.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693"> 90</a></span> <span class="keywordtype">int</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist * list)</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> {</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> cpl_recipe * recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe ) ;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> cpl_plugin * plugin = &recipe->interface ;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="stringliteral">"sinfo_utl_cube2spectrum"</span>,</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="stringliteral">"Collapse a cube to an image over an aperture"</span>,</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> sinfo_utl_cube2spectrum_description,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="stringliteral">"Andrea Modigliani"</span>,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="stringliteral">"Andrea.Modigliani at eso.org"</span>,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> sinfo_utl_cube2spectrum_create,</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> sinfo_utl_cube2spectrum_exec,</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> sinfo_utl_cube2spectrum_destroy) ;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> cpl_pluginlist_append(list, plugin) ;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> }</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube2spectrum_create(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> {</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> cpl_parameter * p ;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> cpl_error_reset();</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> recipe->parameters = cpl_parameterlist_new() ; </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment">/* Fill the parameters list */</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment">/* --stropt */</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum.op"</span>, </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> CPL_TYPE_STRING, <span class="stringliteral">"A possible operation:"</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="stringliteral">" average, clean_mean, median, sum"</span>, </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum"</span>,<span class="stringliteral">"average"</span>);</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"op"</span>) ;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment">/* --stropt */</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum.ap"</span>, </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> CPL_TYPE_STRING, <span class="stringliteral">"A possible aperture: rectangle, circle"</span>, </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum"</span>,<span class="stringliteral">"rectangle"</span>);</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"ap"</span>) ;</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment">/* --doubleopt */</span></div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum.llx"</span>, </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> CPL_TYPE_INT, </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="stringliteral">"Lower left X rectangle coordinate"</span>, </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum"</span>, 2) ;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"llx"</span>) ;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum.lly"</span>, </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> CPL_TYPE_INT, </div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="stringliteral">"Lower left Y rectangle coordinate"</span>, </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum"</span>, 2) ;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"lly"</span>) ;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum.urx"</span>, </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> CPL_TYPE_INT, <span class="stringliteral">"Upper right X rectangle coordinate"</span>, </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum"</span>, 28) ;</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"urx"</span>) ;</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum.ury"</span>, </div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> CPL_TYPE_INT, </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="stringliteral">"Upper right Y rectangle coordinate"</span>, </div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum"</span>, 28) ;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"ury"</span>) ;</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum.lo_rej"</span>, </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> CPL_TYPE_INT, </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="stringliteral">"Clean mean low rejection"</span>, </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum"</span>, 10) ;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"lo_rej"</span>) ;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum.hi_rej"</span>, </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> CPL_TYPE_INT, </div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="stringliteral">"Clean mean low rejection"</span>, </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum"</span>, 10) ;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"hi_rej"</span>) ;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum.centerx"</span>, </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> CPL_TYPE_INT, </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="stringliteral">"Circle center X coordinate"</span>, </div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum"</span>, 16) ;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"centerx"</span>) ;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum.centery"</span>, </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> CPL_TYPE_INT, </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="stringliteral">"Circle center Y coordinate"</span>, </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum"</span>, 16) ;</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"centery"</span>) ;</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum.radius"</span>, </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> CPL_TYPE_INT, <span class="stringliteral">"Circle radii"</span>, </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum"</span>, 5) ;</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"radius"</span>) ;</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> }</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube2spectrum_exec(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> {</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="keywordtype">int</span> result=0;</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> cpl_errorstate initial_errorstate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="keywordflow">if</span>(sinfo_dfs_set_groups(recipe->frames)) {</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"Cannot indentify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> }</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> sinfo_msg(<span class="stringliteral">"Welcome to SINFONI Pipeline release %d.%d.%d"</span>,</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> SINFONI_MAJOR_VERSION,SINFONI_MINOR_VERSION,SINFONI_MICRO_VERSION);</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> result = sinfo_utl_cube2spectrum(recipe->parameters, recipe->frames,NULL);</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(initial_errorstate)) { </div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="comment">/* Dump the error history since recipe execution start. </span></div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="comment"> At this point the recipe cannot recover from the error */</span> </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> cpl_errorstate_dump(initial_errorstate, CPL_FALSE, NULL); </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> } </div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> }</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube2spectrum_destroy(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> {</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> cpl_parameterlist_delete(recipe->parameters) ; </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> }</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/recipes_2sinfo__utl__cube__arith_8c_source.html b/html/recipes_2sinfo__utl__cube__arith_8c_source.html
deleted file mode 100644
index ed6bc18..0000000
--- a/html/recipes_2sinfo__utl__cube__arith_8c_source.html
+++ /dev/null
@@ -1,248 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_cube_arith.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">recipes/sinfo_utl_cube_arith.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_cube_arith.c,v 1.10 2007/10/26 09:40:28 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2007/10/26 09:40:28 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.10 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <sinfo_pfits.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <sinfo_utl_cube_arith.h></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube_arith_create(cpl_plugin *) ;</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube_arith_exec(cpl_plugin *) ;</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube_arith_destroy(cpl_plugin *) ;</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_cube_arith_description1[] =</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="stringliteral">"This recipe perform cube arithmetics.\n"</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="stringliteral">"If parameter value is specified the input frame is a cube \n"</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="stringliteral">"in a sof file with tag CUBE\n"</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="stringliteral">"Else the input files are a cube and an images or a spectrum\n"</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="stringliteral">"their associated tags should be respectively CUBE, IMA or SPECTRUM.\n"</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="stringliteral">"The output is a cube with tag PRO_CUBE resulting from the operation \n"</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="stringliteral">"CUBE op IMA or \n"</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="stringliteral">"CUBE op SPECTRUM or\n"</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="stringliteral">"CUBE op value where op indicates\n"</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="stringliteral">"the operation to be performed\n"</span>;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_cube_arith_description2[] =</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="stringliteral">"Information on relevant parameters can be found with\n"</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="stringliteral">"esorex --params sinfo_utl_cube_arith\n"</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="stringliteral">"esorex --help sinfo_utl_cube_arith\n"</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_cube_arith_description[600];</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"><a class="code" href="group__sinfo__utl__cube__arith.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693"> 101</a></span> <span class="keywordtype">int</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist * list)</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> {</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> cpl_recipe * recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe ) ;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> cpl_plugin * plugin = &recipe->interface ;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> strcpy(sinfo_utl_cube_arith_description,sinfo_utl_cube_arith_description1);</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> strcat(sinfo_utl_cube_arith_description,sinfo_utl_cube_arith_description2);</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="stringliteral">"sinfo_utl_cube_arith"</span>,</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="stringliteral">"Cube arithmetics"</span>,</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> sinfo_utl_cube_arith_description,</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="stringliteral">"Andrea Modigliani"</span>,</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="stringliteral">"Andrea.Modigliani at eso.org"</span>,</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> sinfo_utl_cube_arith_create,</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> sinfo_utl_cube_arith_exec,</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> sinfo_utl_cube_arith_destroy) ;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> cpl_pluginlist_append(list, plugin) ;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> }</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube_arith_create(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> {</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> cpl_parameter * p ;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> cpl_error_reset();</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> recipe->parameters = cpl_parameterlist_new() ; </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment">/* Fill the parameters list */</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment">/* --stropt */</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube_arith.op"</span>, </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> CPL_TYPE_STRING, </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="stringliteral">"A possible operation: "</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="stringliteral">"`/','*','+' or `-'"</span>, </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube_arith"</span>,<span class="stringliteral">"/"</span>);</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"op"</span>) ;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment">/* --doubleopt */</span></div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment"> p = cpl_parameter_new_value("sinfoni.sinfo_utl_cube_arith.temperature", </span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment"> CPL_TYPE_DOUBLE, "Black Body Temperature", </span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment"> "sinfoni.sinfo_utl_cube_arith", 100000.) ;</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment"> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, "temp") ;</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment"> cpl_parameterlist_append(recipe->parameters, p) ;</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube_arith.value"</span>, </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> CPL_TYPE_DOUBLE, <span class="stringliteral">"A constant to add"</span>, </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube_arith"</span>, 99999.0) ;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"value"</span>) ;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> }</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube_arith_exec(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> {</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordtype">int</span> code=0;</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> cpl_errorstate initial_errorstate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> sinfo_msg(<span class="stringliteral">"Welcome to SINFONI Pipeline release %d.%d.%d"</span>,</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> SINFONI_MAJOR_VERSION,SINFONI_MINOR_VERSION,SINFONI_MICRO_VERSION);</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> code = sinfo_utl_cube_arith(recipe->parameters, recipe->frames) ;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(initial_errorstate)) { </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment">/* Dump the error history since recipe execution start. </span></div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment"> At this point the recipe cannot recover from the error */</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> cpl_errorstate_dump(initial_errorstate, CPL_FALSE, NULL); </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> } </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keywordflow">return</span> code;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> }</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube_arith_destroy(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> {</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> cpl_parameterlist_delete(recipe->parameters) ; </div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/recipes_2sinfo__utl__cube__combine_8c_source.html b/html/recipes_2sinfo__utl__cube__combine_8c_source.html
deleted file mode 100644
index 9638788..0000000
--- a/html/recipes_2sinfo__utl__cube__combine_8c_source.html
+++ /dev/null
@@ -1,265 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_cube_combine.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">recipes/sinfo_utl_cube_combine.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_cube_combine.c,v 1.12 2007/10/26 09:40:28 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2007/10/26 09:40:28 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.12 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <sinfo_pfits.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <sinfo_utl_cube_combine.h></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube_combine_create(cpl_plugin *) ;</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube_combine_exec(cpl_plugin *) ;</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube_combine_destroy(cpl_plugin *) ;</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_cube_combine_description[] =</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="stringliteral">"This recipe perform cubes combination.\n"</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="stringliteral">"The input files are several cubeses\n"</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="stringliteral">"their associated tags should be the same that is supported by the \n"</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="stringliteral">"recipe sinfo_rec_jitter: OBS_OBJ, OBS_STD, OBS_PSF.\n"</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="stringliteral">"The output is a cube PRO_CUBE resulting from the input cubes accurding \n"</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="stringliteral">"to the value of op, where op indicates\n"</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="stringliteral">"the operation to be performed specified by the parameter \n"</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube_combine.op\n"</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="stringliteral">" having alias 'op'\n"</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="stringliteral">"Information on relevant parameters can be found with\n"</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="stringliteral">"esorex --params sinfo_utl_cube_combine\n"</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="stringliteral">"esorex --help sinfo_utl_cube_combine\n"</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"><a class="code" href="group__sinfo__utl__cube__combine.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693"> 94</a></span> <span class="keywordtype">int</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist * list)</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> {</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> cpl_recipe * recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe ) ;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> cpl_plugin * plugin = &recipe->interface ;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="stringliteral">"sinfo_utl_cube_combine"</span>,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="stringliteral">"Coadd cubes in an output cube according "</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="stringliteral">"to user defined offsets"</span>,</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> sinfo_utl_cube_combine_description,</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="stringliteral">"Andrea Modigliani"</span>,</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="stringliteral">"Andrea.Modigliani at eso.org"</span>,</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> sinfo_utl_cube_combine_create,</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> sinfo_utl_cube_combine_exec,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> sinfo_utl_cube_combine_destroy) ;</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> cpl_pluginlist_append(list, plugin) ;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> }</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube_combine_create(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> {</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> cpl_parameter * p ;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> cpl_error_reset();</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> recipe->parameters = cpl_parameterlist_new() ; </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment">/* Fill the parameters list */</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment">/* --stropt */</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube_combine.name_i"</span>, </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> CPL_TYPE_STRING, </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="stringliteral">"Input filename. This must be provided and allow the user to set X "</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="stringliteral">"and Y cumulative offsets in a two column format"</span>, </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube_combine"</span>,<span class="stringliteral">"offset.list"</span>);</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"name_i"</span>) ;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube_combine.name_o"</span>, </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> CPL_TYPE_STRING, <span class="stringliteral">"Output filename"</span>, </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube_combine"</span>,<span class="stringliteral">"out_coadd_cube.fits"</span>);</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"name_o"</span>) ;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube_combine.ks_clip"</span>, </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> CPL_TYPE_BOOL, <span class="stringliteral">"Kappa sigma clipping"</span>, </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube_combine"</span>,FALSE);</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"ks_clip"</span>) ;</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube_combine.scale_sky"</span>, </div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> CPL_TYPE_BOOL, <span class="stringliteral">"Scale spatial mean"</span>, </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube_combine"</span>,FALSE);</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"scale_sky"</span>) ;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube_combine.kappa"</span>, </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> CPL_TYPE_DOUBLE, <span class="stringliteral">"Kappa value for sigma clip"</span>, </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube_combine"</span>,2.);</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"kappa"</span>) ;</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="comment">/* --doubleopt */</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube_combine.xsize"</span>, </div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> CPL_TYPE_INT, <span class="stringliteral">"Output cube X size"</span>, </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube_combine"</span>, 80) ;</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"xsize"</span>) ;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube_combine.ysize"</span>, </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> CPL_TYPE_INT, <span class="stringliteral">"Output cube Y size"</span>, </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube_combine"</span>, 80) ;</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"ysize"</span>) ;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> }</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube_combine_exec(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> {</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keywordtype">int</span> result=0; </div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> cpl_errorstate initial_errorstate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> sinfo_msg(<span class="stringliteral">"Welcome to SINFONI Pipeline release %d.%d.%d"</span>,</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> SINFONI_MAJOR_VERSION,SINFONI_MINOR_VERSION,SINFONI_MICRO_VERSION);</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> result=sinfo_utl_cube_combine(recipe->parameters, recipe->frames) ;</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(initial_errorstate)) { </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="comment">/* Dump the error history since recipe execution start. </span></div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment"> At this point the recipe cannot recover from the error */</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> cpl_errorstate_dump(initial_errorstate, CPL_FALSE, NULL); </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> } </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> }</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube_combine_destroy(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> {</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> cpl_parameterlist_delete(recipe->parameters) ; </div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> }</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/recipes_2sinfo__utl__spectrum__divide__by__blackbody_8c_source.html b/html/recipes_2sinfo__utl__spectrum__divide__by__blackbody_8c_source.html
deleted file mode 100644
index da1cbd1..0000000
--- a/html/recipes_2sinfo__utl__spectrum__divide__by__blackbody_8c_source.html
+++ /dev/null
@@ -1,223 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_spectrum_divide_by_blackbody.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">recipes/sinfo_utl_spectrum_divide_by_blackbody.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_spectrum_divide_by_blackbody.c,v 1.10 2007/10/26 09:40:28 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2007/10/26 09:40:28 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.10 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <sinfo_pfits.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <sinfo_utl_spectrum_divide_by_blackbody.h></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_spectrum_divide_by_blackbody_create(cpl_plugin *) ;</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_spectrum_divide_by_blackbody_exec(cpl_plugin *) ;</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_spectrum_divide_by_blackbody_destroy(cpl_plugin *) ;</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_spectrum_divide_by_blackbody_description1[] =</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="stringliteral">"This recipe divides a spectrum by a black body "</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="stringliteral">"spectrum of given temperature.\n"</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="stringliteral">"The input file is a spectrum. Its associated tag must be SPECTRUM.\n"</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="stringliteral">"The output is a spectrum\n"</span>;</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_spectrum_divide_by_blackbody_description2[] =</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="stringliteral">"Parameter is \n"</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="stringliteral">"sinfoni.sinfo_utl_spectrum_divide_by_blackbody.temperature\n"</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="stringliteral">"having aliases 'temp' \n"</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="stringliteral">"Information on relevant parameters can be found with\n"</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="stringliteral">"esorex --params sinfo_utl_spectrum_divide_by_blackbody\n"</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="stringliteral">"esorex --help sinfo_utl_spectrum_divide_by_blackbody\n"</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_spectrum_divide_by_blackbody_description[900];</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"><a class="code" href="group__sinfo__utl__spectrum__divide__by__blackbody.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693"> 97</a></span> <span class="keywordtype">int</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist * list)</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> {</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> cpl_recipe * recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe ) ;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> cpl_plugin * plugin = &recipe->interface ;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> strcpy(sinfo_utl_spectrum_divide_by_blackbody_description,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> sinfo_utl_spectrum_divide_by_blackbody_description1);</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> strcat(sinfo_utl_spectrum_divide_by_blackbody_description,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> sinfo_utl_spectrum_divide_by_blackbody_description2);</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="stringliteral">"sinfo_utl_spectrum_divide_by_blackbody"</span>,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="stringliteral">"Spectrum normalization by a blackbody"</span>,</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> sinfo_utl_spectrum_divide_by_blackbody_description,</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="stringliteral">"Andrea Modigliani"</span>,</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="stringliteral">"Andrea.Modigliani at eso.org"</span>,</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> sinfo_utl_spectrum_divide_by_blackbody_create,</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> sinfo_utl_spectrum_divide_by_blackbody_exec,</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> sinfo_utl_spectrum_divide_by_blackbody_destroy) ;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> cpl_pluginlist_append(list, plugin) ;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> }</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_spectrum_divide_by_blackbody_create(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> {</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> cpl_parameter * p ;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> cpl_error_reset();</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> recipe->parameters = cpl_parameterlist_new() ; </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment">/* Fill the parameters list */</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment">/* --stropt */</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment">/* --doubleopt */</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_spectrum_divide_by_blackbody.temperature"</span>, </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> CPL_TYPE_DOUBLE, <span class="stringliteral">"Black Body Temperature"</span>, </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="stringliteral">"sinfoni.sinfo_utl_spectrum_divide_by_blackbody"</span>, 100000.) ;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"temp"</span>) ;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> }</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_spectrum_divide_by_blackbody_exec(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> {</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keywordtype">int</span> code=0;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> sinfo_msg(<span class="stringliteral">"Welcome to SINFONI Pipeline release %d.%d.%d"</span>,</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> SINFONI_MAJOR_VERSION,SINFONI_MINOR_VERSION,SINFONI_MICRO_VERSION);</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> code=sinfo_utl_spectrum_divide_by_blackbody(recipe->parameters, </div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> recipe->frames) ;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="keywordflow">return</span> code;</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> }</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_spectrum_divide_by_blackbody_destroy(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> {</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> cpl_parameterlist_delete(recipe->parameters) ; </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> }</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/recipes_2sinfo__utl__spectrum__wavelength__shift_8c_source.html b/html/recipes_2sinfo__utl__spectrum__wavelength__shift_8c_source.html
deleted file mode 100644
index 4c0f668..0000000
--- a/html/recipes_2sinfo__utl__spectrum__wavelength__shift_8c_source.html
+++ /dev/null
@@ -1,238 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_spectrum_wavelength_shift.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">recipes/sinfo_utl_spectrum_wavelength_shift.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_spectrum_wavelength_shift.c,v 1.11 2007/10/26 09:40:28 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2007/10/26 09:40:28 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.11 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <sinfo_pfits.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <sinfo_utl_spectrum_wavelength_shift.h></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_spectrum_wavelength_shift_create(cpl_plugin *) ;</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_spectrum_wavelength_shift_exec(cpl_plugin *) ;</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_spectrum_wavelength_shift_destroy(cpl_plugin *) ;</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_spectrum_wavelength_shift_description1[] =</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="stringliteral">"This recipe shifts a spectrum in wavelength using a given \n"</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="stringliteral">"interpolation method. The input file is a spectrum.\n"</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="stringliteral">"Its associated tag should be SPECTRUM.\n"</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="stringliteral">"The output is a spectrum shifted by a given amount. \n"</span>;</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_spectrum_wavelength_shift_description2[] =</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="stringliteral">"Parameters are \n"</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="stringliteral">"sinfoni.sinfo_utl_spectrum_arith.method\n"</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="stringliteral">"sinfoni.sinfo_utl_spectrum_wavelength_shift.shift\n"</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="stringliteral">"having aliases 'method' and 'shift' \n"</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="stringliteral">"Information on relevant parameters can be found with\n"</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="stringliteral">"esorex --params sinfo_utl_spectrum_wavelength_shift\n"</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="stringliteral">"esorex --help sinfo_utl_spectrum_wavelength_shift\n"</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_spectrum_wavelength_shift_description[900];</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"><a class="code" href="group__sinfo__utl__spectrum__wavelength__shift.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693"> 97</a></span> <span class="keywordtype">int</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist * list)</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> {</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> cpl_recipe * recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe ) ;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> cpl_plugin * plugin = &recipe->interface ;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> strcpy(sinfo_utl_spectrum_wavelength_shift_description,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> sinfo_utl_spectrum_wavelength_shift_description1);</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> strcat(sinfo_utl_spectrum_wavelength_shift_description,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> sinfo_utl_spectrum_wavelength_shift_description2);</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="stringliteral">"sinfo_utl_spectrum_wavelength_shift"</span>,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="stringliteral">"Spectrum wavelength shift"</span>,</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> sinfo_utl_spectrum_wavelength_shift_description,</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="stringliteral">"Andrea Modigliani"</span>,</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="stringliteral">"Andrea.Modigliani at eso.org"</span>,</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> sinfo_utl_spectrum_wavelength_shift_create,</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> sinfo_utl_spectrum_wavelength_shift_exec,</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> sinfo_utl_spectrum_wavelength_shift_destroy) ;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> cpl_pluginlist_append(list, plugin) ;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> }</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_spectrum_wavelength_shift_create(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> {</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> cpl_parameter * p ;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> cpl_error_reset();</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> recipe->parameters = cpl_parameterlist_new() ; </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment">/* Fill the parameters list */</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment">/* --stropt */</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_spectrum_arith.method"</span>, </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> CPL_TYPE_STRING, </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="stringliteral">"A spectral shift method: "</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="stringliteral">"'S' (Spline),'P' (Polynomial)"</span>, </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="stringliteral">"sinfoni.sinfo_utl_spectrum_arith"</span>,<span class="stringliteral">"S"</span>);</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"method"</span>) ;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment">/* --doubleopt */</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_spectrum_wavelength_shift.shift"</span>, </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> CPL_TYPE_DOUBLE, </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="stringliteral">"wavelength shift in micron"</span>, </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="stringliteral">"sinfoni.sinfo_utl_spectrum_wavelength_shift"</span>, </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> 0.1) ;</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"shift"</span>) ;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> }</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_spectrum_wavelength_shift_exec(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> {</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordtype">int</span> code=0;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> cpl_errorstate initial_errorstate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> sinfo_msg(<span class="stringliteral">"Welcome to SINFONI Pipeline release %d.%d.%d"</span>,</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> SINFONI_MAJOR_VERSION,SINFONI_MINOR_VERSION,SINFONI_MICRO_VERSION);</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> code = sinfo_utl_spectrum_wavelength_shift(recipe->parameters, </div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> recipe->frames) ;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(initial_errorstate)) { </div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment">/* Dump the error history since recipe execution start. </span></div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment"> At this point the recipe cannot recover from the error */</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> cpl_errorstate_dump(initial_errorstate, CPL_FALSE, NULL); </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> } </div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="keywordflow">return</span> code ;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> }</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_spectrum_wavelength_shift_destroy(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> {</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> cpl_parameterlist_delete(recipe->parameters) ; </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> }</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__absolute_8c_source.html b/html/sinfo__absolute_8c_source.html
deleted file mode 100644
index 4441437..0000000
--- a/html/sinfo__absolute_8c_source.html
+++ /dev/null
@@ -1,3245 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_absolute.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_absolute.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*****************************************************************************</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* schreib 14/11/00 created</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">* NAME</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">* sinfo_absolute.c - routines to determine the absolute positions </span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">* of the slitlets out of an emission line frame</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">* SYNOPSIS</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">* #include "absolute.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">* 1) float sinfo_new_edge( float * xdat, float * parlist, </span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> int * npar, int * ndat )</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">* 2) void sinfo_new_edge_deriv( float * xdat, float * parlist, </span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> float * dervs, int * npar )</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">* 3) static int sinfo_new_inv_mat_edge (void)</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">* 4) static new_void sinfo_get_mat_edge ( float * xdat,</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">* int * xdim,</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">* float * ydat,</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">* float * wdat,</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">* int * ndat,</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">* float * fpar,</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">* float * epar,</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">* int * npar )</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">* 5) static int sinfo_new_get_vec_edge ( float * xdat,</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">* int * xdim,</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">* float * ydat,</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">* float * wdat,</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">* int * ndat,</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">* float * fpar,</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">* float * epar,</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">* int * npar )</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">* 6) int sinfo_new_lsqfit_edge ( float * xdat,</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">* int * xdim,</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">* float * ydat,</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">* float * wdat,</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">* int * ndat,</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">* float * fpar,</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">* float * epar,</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">* int * mpar,</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">* int * npar,</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">* float * tol ,</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">* int * its ,</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">* float * lab )</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">* 7) int sinfo_new_fit_slits_edge( cpl_image * lineImage, </span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">* FitParams ** par,</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">* float ** sinfo_slit_pos,</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">* int box_length,</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">* float y_box,</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">* float diff_tol )</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">* 8) int sinfo_new_fit_slits_edge_with_estimate ( cpl_image * lineImage,</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">* float ** sinfo_slit_pos,</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment">* int box_length,</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">* float y_box,</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment">* float diff_tol,</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">* int low_pos,</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">* int high_pos )</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment">* DESCRIPTION</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">* 1) calculates the value of a slope function with parameters </span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment">* parlist at the position xdat </span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment">* 2) calculates the partial derivatives for a slope function with</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment">* parameters parlist at position xdat </span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment">* 3) calculates the inverse of matrix2. The algorithm used </span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment">* is the Gauss-Jordan algorithm described in Stoer,</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment">* Numerische Mathematik, 1. Teil.</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment">* 4) builds the sinfo_matrix </span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment">* 5) calculates the correction sinfo_vector. The sinfo_matrix has been</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment">* built by get_mat_edge(), we only have to rescale it for the </span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">* current value of labda. The sinfo_matrix is rescaled so that</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment">* the diagonal gets the value 1 + labda.</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment">* Next we calculate the inverse of the sinfo_matrix and then</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment">* the correction sinfo_vector.</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">* 6) this is a routine for making a least-squares fit of a</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment">* function to a set of data points. The method used is</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment">* described in: Marquardt, J.Soc.Ind.Appl.Math. 11. 431 (1963).</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">* This method is a mixture of the steepest descent method </span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment">* and the Taylor method.</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment">* 7) fits the beginning and end position of the slitlets</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">* by using non-linear least square fitting of a step function</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment">* fits a step function to the slitlet edges exposed and indicated</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment">* by the brightest emission lines. To achieve this, the fit</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment">* parameters are used to find the brightest emission line</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment">* and to get its position for each column.</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment">* The least squares fit is done by using a box smaller than</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">* the size of two slitlets</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment">* 8) fits the beginning and end position of the slitlets</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment">* by using non-linear least square fitting of an sinfo_edge function</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment">* fits a linear edge function to the slitlet edges exposed and indicated</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">* by the brightest emission lines. The slitlet is searched within</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment">* user given positions.</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment">* The least squares fit is done by using a box smaller than</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment">* the size of two slitlets </span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment">* FILES</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment">* ENVIRONMENT</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment">* RETURN VALUES</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">* CAUTIONS</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment">* EXAMPLES</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment">* SEE ALSO</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment">* BUGS</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment">*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="preprocessor"></span><span class="preprocessor">#include "sinfo_vltPort.h"</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment"> * System Headers</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment"> * Local Headers</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="preprocessor">#include "sinfo_absolute.h"</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="preprocessor">#include "sinfo_recipes.h"</span></div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment"> * Defines</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keyword">static</span> <span class="keywordtype">float</span> sqrarg ;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="preprocessor">#define SQR(a) (sqrarg = (a) , sqrarg*sqrarg)</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="preprocessor">#define XDIMA 1 </span><span class="comment">/* dimension of the x values */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="preprocessor"></span><span class="preprocessor">#define TOLA 0.001 </span><span class="comment">/* fitting tolerance */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="preprocessor"></span><span class="preprocessor">#define LABA 0.1 </span><span class="comment">/* labda parameter */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="preprocessor"></span><span class="preprocessor">#define ITSA 200 </span><span class="comment">/* maximum number of iterations */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="preprocessor"></span><span class="preprocessor">#define LABFACA 10.0 </span><span class="comment">/* labda step factor */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="preprocessor"></span><span class="preprocessor">#define LABMAXA 1.0e+10 </span><span class="comment">/* maximum value for labda */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="preprocessor"></span><span class="preprocessor">#define LABMINA 1.0e-10 </span><span class="comment">/* minimum value for labda */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="preprocessor"></span><span class="preprocessor">#define NPAR 4 </span><span class="comment">/* number of fit parameters */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment"> * Local variables</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keyword">static</span> <span class="keywordtype">double</span> chi1 ; <span class="comment">/* old reduced chi-squared */</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keyword">static</span> <span class="keywordtype">double</span> chi2 ; <span class="comment">/* new reduced chi-squared */</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keyword">static</span> <span class="keywordtype">double</span> labda ; <span class="comment">/* mixing parameter */</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keyword">static</span> <span class="keywordtype">double</span> vec[NPAR] ; <span class="comment">/* correction sinfo_vector */</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keyword">static</span> <span class="keywordtype">double</span> matrix1[NPAR][NPAR] ; <span class="comment">/* original sinfo_matrix */</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keyword">static</span> <span class="keywordtype">double</span> matrix2[NPAR][NPAR] ; <span class="comment">/* inverse of matrix1 */</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keyword">static</span> <span class="keywordtype">int</span> nfree ; <span class="comment">/* number of free parameters */</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keyword">static</span> <span class="keywordtype">int</span> parptr[NPAR] ; <span class="comment">/* parameter pointer */</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="keyword">static</span> <span class="keywordtype">float</span> slopewidth ; <span class="comment">/* initial value for fit parameter 5: </span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment"> width of linear slope */</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment"> * Functions private to this module</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_new_inv_mat_edge (<span class="keywordtype">void</span>) ;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keyword">static</span> <span class="keywordtype">void</span> sinfo_new_get_mat_edge ( <span class="keywordtype">float</span> * xdat,</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordtype">int</span> * xdim,</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keywordtype">float</span> * ydat,</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keywordtype">float</span> * wdat,</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keywordtype">int</span> * ndat,</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keywordtype">float</span> * fpar,</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keywordtype">float</span> * epar<span class="comment">/*,</span></div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment"> int * npar*/</span> ) ;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_new_get_vec_edge ( <span class="keywordtype">float</span> * xdat,</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keywordtype">int</span> * xdim,</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="keywordtype">float</span> * ydat,</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keywordtype">float</span> * wdat,</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keywordtype">int</span> * ndat,</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordtype">float</span> * fpar,</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keywordtype">float</span> * epar,</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keywordtype">int</span> * npar ) ;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keywordtype">float</span> </div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> sinfo_new_hat2 ( <span class="keywordtype">float</span> * xdat, <span class="keywordtype">float</span> * parlist<span class="comment">/*, int * npar, int * ndat*/</span> );</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keywordtype">float</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> sinfo_new_hat1 ( <span class="keywordtype">float</span> * xdat, <span class="keywordtype">float</span> * parlist<span class="comment">/*, int * npar, int * ndat*/</span> );</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> sinfo_new_hat_deriv2(<span class="keywordtype">float</span> * xdat, <span class="keywordtype">float</span> * parlist, </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keywordtype">float</span> * dervs<span class="comment">/*, int * npar*/</span> );</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> sinfo_new_hat_deriv1( <span class="keywordtype">float</span> * xdat, <span class="keywordtype">float</span> * parlist, </div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="keywordtype">float</span> * dervs<span class="comment">/*, int * npar*/</span> );</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> sinfo_new_fit_slits1( cpl_image * lineImage, </div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> FitParams ** par,</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordtype">float</span> ** sinfo_slit_pos,</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordtype">int</span> box_length,</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keywordtype">float</span> y_box );</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> sinfo_new_fit_slits( cpl_image * lineImage, </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> FitParams ** par,</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordtype">float</span> ** sinfo_slit_pos,</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordtype">int</span> box_length,</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="keywordtype">float</span> y_box,</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordtype">float</span> slope_width );</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> sinfo_new_fit_slits2( cpl_image * lineImage, </div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> FitParams ** par,</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="keywordtype">float</span> ** sinfo_slit_pos,</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keywordtype">int</span> box_length,</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keywordtype">float</span> y_box,</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="keywordtype">float</span> diff_tol );</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="comment"> * Function codes</span></div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="keywordtype">float</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> sinfo_new_edge ( <span class="keywordtype">float</span> * xdat, <span class="keywordtype">float</span> * parlist<span class="comment">/*, int * npar, int * ndat*/</span> )</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> {</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="keywordtype">float</span> return_value ;</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="keywordtype">float</span> slope1 ;</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="comment">/* compute the slopes */</span></div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> slope1 = ( parlist[3] - parlist[2] ) / ( parlist[1] - parlist[0] ) ;</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="comment">/* now build the hat function out of the parameters */</span></div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keywordflow">if</span> ( xdat[0] <= parlist[0] )</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> {</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> return_value = parlist[2] ;</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> }</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( xdat[0] > parlist[0] && xdat[0] <= parlist[1] )</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> {</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> return_value = (xdat[0] - parlist[0]) * slope1 + parlist[2] ;</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> }</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( xdat[0] > parlist[1] )</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> {</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> return_value = parlist[3] ;</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> }</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> {</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> return_value = 0. ;</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> }</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="keywordflow">return</span> return_value ;</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> }</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="keywordtype">float</span> </div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> sinfo_new_hat2 ( <span class="keywordtype">float</span> * xdat, <span class="keywordtype">float</span> * parlist<span class="comment">/*, int * npar, int * ndat*/</span> )</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> {</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="keywordtype">float</span> return_value ;</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="keywordtype">float</span> slope1, slope2, slope3 ;</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="comment">/* compute the slopes */</span></div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> slope1 = ( parlist[6] - parlist[4] ) / ( parlist[1] - parlist[0] ) ;</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> slope2 = ( parlist[7] - parlist[5] ) / ( parlist[3] - parlist[2] ) ;</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> slope3 = ( parlist[7] - parlist[6] ) / ( parlist[2] - parlist[1] ) ;</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> </div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="comment">/* now build the hat function out of the parameters */</span></div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="keywordflow">if</span> ( xdat[0] <= parlist[0] )</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> {</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> return_value = parlist[4] ;</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> }</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( xdat[0] > parlist[0] && xdat[0] <= parlist[1] )</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> {</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> return_value = (xdat[0] - parlist[0]) * slope1 + parlist[4] ;</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> }</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( xdat[0] > parlist[1] && xdat[0] <= parlist[2] )</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> {</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> return_value = (xdat[0] - parlist[1]) * slope3 + parlist[6] ;</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> }</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( xdat[0] > parlist[2] && xdat[0] <= parlist[3] )</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> {</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> return_value = (parlist[3] - xdat[0]) * slope2 + parlist[5] ;</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> }</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( xdat[0] > parlist[3] )</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> {</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> return_value = parlist[5] ;</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> }</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> {</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> return_value = 0. ;</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> }</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> </div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="keywordflow">return</span> return_value ;</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> }</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> </div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="keywordtype">float</span> </div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> sinfo_new_hat1 ( <span class="keywordtype">float</span> * xdat, <span class="keywordtype">float</span> * parlist<span class="comment">/*, int * npar, int * ndat*/</span> )</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> {</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="keywordtype">float</span> return_value=0 ;</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="keywordtype">float</span> slope1, slope2 ;</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> </div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="comment">/* take only positive values for the fit parameters */</span></div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> </div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="comment">/* compute the slopes */</span></div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> slope1 = (parlist[4] - parlist[2]) / slopewidth ;</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> slope2 = (parlist[4] - parlist[3]) / slopewidth ;</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> </div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="comment">/* now build the hat function out of the parameters */</span></div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="keywordflow">if</span> ( xdat[0] <= parlist[0] )</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> {</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> return_value = parlist[2] ;</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> }</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( xdat[0] > parlist[0] && xdat[0] <= parlist[0] + slopewidth )</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> {</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> return_value = (xdat[0] - parlist[0]) * slope1 + parlist[2] ;</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> }</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( xdat[0] > parlist[0] + slopewidth && </div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> xdat[0] <= parlist[1] - slopewidth )</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> {</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> return_value = parlist[4] ;</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> }</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( xdat[0] > parlist[1] - slopewidth && xdat[0] <= parlist[1] )</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> {</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> return_value = (parlist[1] - xdat[0]) * slope2 + parlist[3] ;</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> }</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( xdat[0] > parlist[1] )</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> {</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> return_value = parlist[3] ;</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> }</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> </div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="keywordflow">return</span> return_value ;</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> }</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> </div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> </div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> sinfo_new_edge_deriv( <span class="keywordtype">float</span> * xdat, <span class="keywordtype">float</span> * parlist, </div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="keywordtype">float</span> * dervs<span class="comment">/*, int * npar*/</span> )</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> {</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="keywordtype">float</span> deriv1_slope1 ;</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> </div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="comment">/* compute the slopes */</span></div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> deriv1_slope1 =( parlist[3] - parlist[2] ) / SQR(parlist[1] - parlist[0]) ;</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> </div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="comment">/* now build the hat derivatives out of the parameters */</span></div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="keywordflow">if</span> ( xdat[0] <= parlist[0] )</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> {</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> dervs[0] = 0. ;</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> dervs[1] = 0. ;</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> dervs[2] = 1. ;</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> dervs[3] = 0. ;</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> }</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( xdat[0] > parlist[0] && xdat[0] <= parlist[1] )</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> {</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> dervs[0] = ( xdat[0] - parlist[1] ) * deriv1_slope1 ;</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> dervs[1] = ( parlist[0] - xdat[0] ) * deriv1_slope1 ;</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> dervs[2] = ( parlist[0] - xdat[0] ) / ( parlist[1] - parlist[0] ) + 1.;</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> dervs[3] = ( xdat[0] - parlist[0] ) / ( parlist[1] - parlist[0] ) ;</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> }</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( xdat[0] > parlist[1] )</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> {</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> dervs[0] = 0. ;</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> dervs[1] = 0. ;</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> dervs[2] = 0. ;</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> dervs[3] = 1. ;</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> }</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> }</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> sinfo_new_hat_deriv2(<span class="keywordtype">float</span> * xdat, <span class="keywordtype">float</span> * parlist, </div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> <span class="keywordtype">float</span> * dervs<span class="comment">/*, int * npar*/</span> )</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> {</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> <span class="keywordtype">float</span> deriv1_slope1 ;</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> <span class="keywordtype">float</span> deriv1_slope2 ;</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="keywordtype">float</span> deriv1_slope3 ;</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> </div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="comment">/* compute the slopes */</span></div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> deriv1_slope1 = ( parlist[6] - parlist[4] ) / SQR(parlist[1] - parlist[0]);</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> deriv1_slope2 = ( parlist[7] - parlist[5] ) / SQR(parlist[3] - parlist[2]);</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> deriv1_slope3 = ( parlist[7] - parlist[6] ) / SQR(parlist[2] - parlist[1]);</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> </div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="comment">/* now build the hat derivatives out of the parameters */</span></div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> <span class="keywordflow">if</span> ( xdat[0] <= parlist[0] )</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> {</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> dervs[0] = 0. ;</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> dervs[1] = 0. ;</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> dervs[2] = 0. ;</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> dervs[3] = 0. ;</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> dervs[4] = 1. ;</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> dervs[5] = 0. ;</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> dervs[6] = 0. ;</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> dervs[7] = 0. ;</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> }</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( xdat[0] > parlist[0] && xdat[0] <= parlist[1] )</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> {</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> dervs[0] = ( xdat[0] - parlist[1] ) * deriv1_slope1 ;</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> dervs[1] = ( parlist[0] - xdat[0] ) * deriv1_slope1 ;</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> dervs[2] = 0. ;</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> dervs[3] = 0. ;</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> dervs[4] = ( parlist[0] - xdat[0] ) / ( parlist[1] - parlist[0] ) + 1.;</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> dervs[5] = 0. ;</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> dervs[6] = ( xdat[0] - parlist[0] ) / ( parlist[1] - parlist[0] ) ;</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> dervs[7] = 0. ;</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> }</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( xdat[0] > parlist[1] && xdat[0] <= parlist[2] )</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> {</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> dervs[0] = 0. ;</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> dervs[1] = (xdat[0] - parlist[2]) * deriv1_slope3 ;</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> dervs[2] = (parlist[1] - xdat[0]) * deriv1_slope3 ;</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> dervs[3] = 0. ;</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> dervs[4] = 0. ;</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> dervs[5] = 0. ;</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> dervs[6] = (parlist[1] - xdat[0]) / (parlist[2] - parlist[1]) + 1. ;</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> dervs[7] = (xdat[0] - parlist[1]) / (parlist[2] - parlist[1]) ;</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> }</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( xdat[0] > parlist[2] && xdat[0] <= parlist[3] )</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> {</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> dervs[0] = 0. ;</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> dervs[1] = 0. ;</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> dervs[2] = ( parlist[3] - xdat[0] ) * deriv1_slope2 ;</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> dervs[3] = ( xdat[0] - parlist[2] ) * deriv1_slope2 ;</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> dervs[4] = 0. ; </div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> dervs[5] = ( xdat[0] - parlist[3] ) / ( parlist[3] - parlist[2] ) + 1.;</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> dervs[6] = 0. ;</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> dervs[7] = ( parlist[3] - xdat[0] ) / ( parlist[3] - parlist[2] ) ;</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> }</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( xdat[0] > parlist[3] )</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> {</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> dervs[0] = 0. ;</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> dervs[1] = 0. ;</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> dervs[2] = 0. ;</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> dervs[3] = 0. ;</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> dervs[4] = 0. ;</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> dervs[5] = 1. ;</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> dervs[6] = 0. ;</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> dervs[7] = 0. ;</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> }</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> }</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> </div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> sinfo_new_hat_deriv1( <span class="keywordtype">float</span> * xdat, <span class="keywordtype">float</span> * parlist, </div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="keywordtype">float</span> * dervs<span class="comment">/*, int * npar*/</span> )</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> {</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> <span class="comment">/* now build the hat derivatives out of the parameters */</span></div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> <span class="keywordflow">if</span> ( xdat[0] <= parlist[0] )</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> {</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> dervs[0] = 0. ;</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> dervs[1] = 0. ;</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> dervs[2] = 1. ;</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> dervs[3] = 0. ;</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> dervs[4] = 0. ;</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> }</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( xdat[0] > parlist[0] && xdat[0] <= parlist[0] + slopewidth )</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> {</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> dervs[0] = ( parlist[2] - parlist[4] ) / slopewidth ;</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> dervs[1] = 0. ;</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> dervs[2] = (( parlist[0] - xdat[0] ) / slopewidth ) + 1. ;</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> dervs[3] = 0. ;</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> dervs[4] = ( xdat[0] - parlist[0] ) / slopewidth ;</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> }</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( xdat[0] > parlist[0] + slopewidth && xdat[0] <= </div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> parlist[1] - slopewidth )</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> {</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> dervs[0] = 0. ;</div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> dervs[1] = 0. ;</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> dervs[2] = 0. ;</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> dervs[3] = 0. ;</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> dervs[4] = 1. ;</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> }</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( xdat[0] > parlist[1] - slopewidth && xdat[0] <= parlist[1] )</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> {</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> dervs[0] = 0. ;</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> dervs[1] = ( parlist[4] - parlist[3] ) / slopewidth ;</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> dervs[2] = 0. ;</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> dervs[3] = (( xdat[0] - parlist[1] ) / slopewidth ) + 1. ;</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> dervs[4] = ( parlist[1] - xdat[0] ) / slopewidth ; </div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> }</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( xdat[0] > parlist[1] )</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> {</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> dervs[0] = 0. ;</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> dervs[1] = 0. ;</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> dervs[2] = 0. ;</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> dervs[3] = 1. ;</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> dervs[4] = 0. ;</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> }</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> }</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> </div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> <span class="keyword">static</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> sinfo_new_inv_mat_edge (<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> {</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> <span class="keywordtype">double</span> even ;</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> <span class="keywordtype">double</span> hv[NPAR] ;</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> <span class="keywordtype">double</span> mjk ;</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> <span class="keywordtype">double</span> rowmax ;</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <span class="keywordtype">int</span> evin ;</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> <span class="keywordtype">int</span> i, j, k, row ;</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> <span class="keywordtype">int</span> per[NPAR] ;</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> </div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> <span class="comment">/* set permutation array */</span></div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> <span class="keywordflow">for</span> ( i = 0 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> {</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> per[i] = i ;</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> }</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> </div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> <span class="keywordflow">for</span> ( j = 0 ; j < nfree ; j++ ) <span class="comment">/* in j-th column */</span></div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> {</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <span class="comment">/* determine largest element of a row */</span> </div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> rowmax = fabs ( matrix2[j][j] ) ;</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> row = j ; </div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> </div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> <span class="keywordflow">for</span> ( i = j + 1 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> {</div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> <span class="keywordflow">if</span> ( fabs ( matrix2[i][j] ) > rowmax )</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> {</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> rowmax = fabs( matrix2[i][j] ) ;</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> row = i ;</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> }</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> }</div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> </div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> <span class="comment">/* determinant is zero! */</span></div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> <span class="keywordflow">if</span> ( matrix2[row][j] == 0.0 )</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> {</div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> <span class="keywordflow">return</span> -6 ;</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> }</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> </div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> <span class="comment">/* if the largest element is not on the diagonal, then permutate rows */</span></div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> <span class="keywordflow">if</span> ( row > j )</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> {</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> <span class="keywordflow">for</span> ( k = 0 ; k < nfree ; k++ )</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> {</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> even = matrix2[j][k] ;</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> matrix2[j][k] = matrix2[row][k] ;</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> matrix2[row][k] = even ;</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> }</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> <span class="comment">/* keep track of permutation */</span></div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> evin = per[j] ;</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> per[j] = per[row] ;</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> per[row] = evin ;</div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> }</div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> </div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> <span class="comment">/* modify column */</span></div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> even = 1.0 / matrix2[j][j] ;</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> <span class="keywordflow">for</span> ( i = 0 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> {</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> matrix2[i][j] *= even ;</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> }</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> matrix2[j][j] = even ;</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> </div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="keywordflow">for</span> ( k = 0 ; k < j ; k++ )</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> {</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> mjk = matrix2[j][k] ;</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="keywordflow">for</span> ( i = 0 ; i < j ; i++ )</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> {</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> matrix2[i][k] -= matrix2[i][j] * mjk ;</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> }</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> <span class="keywordflow">for</span> ( i = j + 1 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> {</div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> matrix2[i][k] -= matrix2[i][j] * mjk ;</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> }</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> matrix2[j][k] = -even * mjk ;</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> }</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> </div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> <span class="keywordflow">for</span> ( k = j + 1 ; k < nfree ; k++ )</div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> {</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> mjk = matrix2[j][k] ;</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> <span class="keywordflow">for</span> ( i = 0 ; i < j ; i++ )</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> {</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> matrix2[i][k] -= matrix2[i][j] * mjk ;</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> }</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> <span class="keywordflow">for</span> ( i = j + 1 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> {</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> matrix2[i][k] -= matrix2[i][j] * mjk ;</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> }</div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> matrix2[j][k] = -even * mjk ;</div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> }</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> }</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> </div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> <span class="comment">/* finally, repermute the columns */</span></div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> <span class="keywordflow">for</span> ( i = 0 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> {</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> <span class="keywordflow">for</span> ( k = 0 ; k < nfree ; k++ )</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> {</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> hv[per[k]] = matrix2[i][k] ;</div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> }</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> <span class="keywordflow">for</span> ( k = 0 ; k < nfree ; k++ )</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> {</div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> matrix2[i][k] = hv[k] ;</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> }</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> }</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> </div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> <span class="comment">/* all is well */</span></div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> }</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> </div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> sinfo_new_get_mat_edge ( <span class="keywordtype">float</span> * xdat,</div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> <span class="keywordtype">int</span> * xdim,</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> <span class="keywordtype">float</span> * ydat,</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> <span class="keywordtype">float</span> * wdat,</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> <span class="keywordtype">int</span> * ndat,</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> <span class="keywordtype">float</span> * fpar,</div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> <span class="keywordtype">float</span> * epar<span class="comment">/*,</span></div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> <span class="comment"> int * npar*/</span> )</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> {</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> <span class="keywordtype">double</span> wd ;</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> <span class="keywordtype">double</span> wn ;</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> <span class="keywordtype">double</span> yd ;</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> <span class="keywordtype">int</span> i, j, n ;</div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> </div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> <span class="keywordflow">for</span> ( j = 0 ; j < nfree ; j++ )</div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> {</div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> vec[j] = 0.0 ; <span class="comment">/* zero sinfo_vector */</span></div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> <span class="keywordflow">for</span> ( i = 0 ; i<= j ; i++ ) <span class="comment">/* zero matrix only on and </span></div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> <span class="comment"> below diagonal */</span></div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> {</div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> matrix1[j][i] = 0.0 ;</div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> }</div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> }</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> chi2 = 0.0 ; <span class="comment">/* reset reduced chi-squared */</span></div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> </div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> <span class="comment">/* loop through data points */</span></div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> <span class="keywordflow">for</span> ( n = 0 ; n < (*ndat) ; n++ )</div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> {</div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> wn = wdat[n] ;</div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> <span class="keywordflow">if</span> ( wn > 0.0 ) <span class="comment">/* legal weight ? */</span></div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> {</div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> yd = ydat[n] - sinfo_new_edge( &xdat[(*xdim) * n], </div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> fpar<span class="comment">/*, npar, ndat*/</span> ) ;</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> sinfo_new_edge_deriv( &xdat[(*xdim) * n], fpar, epar<span class="comment">/*, npar */</span>) ;</div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> chi2 += yd * yd * wn ; <span class="comment">/* add to chi-squared */</span></div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> <span class="keywordflow">for</span> ( j = 0 ; j < nfree ; j++ )</div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> {</div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> wd = epar[parptr[j]] * wn ; <span class="comment">/* weighted derivative */</span></div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> vec[j] += yd * wd ; <span class="comment">/* fill sinfo_vector */</span></div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> <span class="keywordflow">for</span> ( i = 0 ; i <= j ; i++ ) <span class="comment">/* fill sinfo_matrix */</span></div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> {</div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> matrix1[j][i] += epar[parptr[i]] * wd ;</div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> }</div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> }</div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> }</div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> } </div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> } </div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> </div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> </div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> </div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> <span class="keyword">static</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> sinfo_new_get_vec_edge ( <span class="keywordtype">float</span> * xdat,</div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> <span class="keywordtype">int</span> * xdim,</div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> <span class="keywordtype">float</span> * ydat,</div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> <span class="keywordtype">float</span> * wdat,</div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> <span class="keywordtype">int</span> * ndat,</div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> <span class="keywordtype">float</span> * fpar,</div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> <span class="keywordtype">float</span> * epar,</div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> <span class="keywordtype">int</span> * npar )</div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> {</div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> <span class="keywordtype">double</span> dj ;</div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> <span class="keywordtype">double</span> dy ;</div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> <span class="keywordtype">double</span> mii ;</div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> <span class="keywordtype">double</span> mji ;</div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> <span class="keywordtype">double</span> mjj ;</div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> <span class="keywordtype">double</span> wn ;</div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> <span class="keywordtype">int</span> i, j, n, r ;</div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> </div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> <span class="comment">/* loop to modify and scale the sinfo_matrix */</span></div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> <span class="keywordflow">for</span> ( j = 0 ; j < nfree ; j++ )</div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> {</div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> mjj = matrix1[j][j] ;</div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> <span class="keywordflow">if</span> ( mjj <= 0.0 ) <span class="comment">/* diagonal element wrong */</span></div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> {</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> <span class="keywordflow">return</span> -5 ;</div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> }</div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> mjj = sqrt( mjj ) ;</div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> <span class="keywordflow">for</span> ( i = 0 ; i < j ; i++ )</div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> {</div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> mji = matrix1[j][i] / mjj / sqrt( matrix1[i][i] ) ;</div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> matrix2[i][j] = matrix2[j][i] = mji ;</div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> }</div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> matrix2[j][j] = 1.0 + labda ; <span class="comment">/* scaled value on diagonal */</span></div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> } </div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> </div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> <span class="keywordflow">if</span> ( (r = sinfo_new_inv_mat_edge()) ) <span class="comment">/* sinfo_invert sinfo_matrix inlace */</span></div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> {</div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> <span class="keywordflow">return</span> r ;</div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> }</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> </div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> <span class="keywordflow">for</span> ( i = 0 ; i < (*npar) ; i ++ )</div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> {</div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> epar[i] = fpar[i] ;</div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> }</div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> </div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> <span class="comment">/* loop to calculate correction sinfo_vector */</span></div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> <span class="keywordflow">for</span> ( j = 0 ; j < nfree ; j++ )</div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> {</div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> dj = 0.0 ;</div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> mjj = matrix1[j][j] ;</div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> <span class="keywordflow">if</span> ( mjj <= 0.0) <span class="comment">/* not allowed */</span></div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> {</div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> }</div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> mjj = sqrt ( mjj ) ;</div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> <span class="keywordflow">for</span> ( i = 0 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> {</div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> mii = matrix1[i][i] ;</div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> <span class="keywordflow">if</span> ( mii <= 0.0 )</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> {</div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> }</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> mii = sqrt( mii ) ;</div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> dj += vec[i] * matrix2[j][i] / mjj / mii ;</div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> }</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> epar[parptr[j]] += dj ; <span class="comment">/* new parameters */</span></div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> } </div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> chi1 = 0.0 ; <span class="comment">/* reset reduced chi-squared */</span></div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> </div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> <span class="comment">/* loop through the data points */</span></div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> <span class="keywordflow">for</span> ( n = 0 ; n < (*ndat) ; n++ )</div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> {</div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> wn = wdat[n] ; <span class="comment">/* get weight */</span></div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> <span class="keywordflow">if</span> ( wn > 0.0 ) <span class="comment">/* legal weight */</span></div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> {</div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> dy = ydat[n] - sinfo_new_edge( &xdat[(*xdim) * n], epar</div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> <span class="comment">/*, npar, ndat*/</span>) ;</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> chi1 += wdat[n] * dy * dy ;</div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> }</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> }</div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> } </div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> </div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> </div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> sinfo_new_lsqfit_edge ( <span class="keywordtype">float</span> * xdat,</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> <span class="keywordtype">int</span> * xdim,</div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> <span class="keywordtype">float</span> * ydat,</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> <span class="keywordtype">float</span> * wdat,</div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> <span class="keywordtype">int</span> * ndat,</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> <span class="keywordtype">float</span> * fpar,</div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> <span class="keywordtype">float</span> * epar,</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> <span class="keywordtype">int</span> * mpar,</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> <span class="keywordtype">int</span> * npar,</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> <span class="keywordtype">float</span> * tol ,</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> <span class="keywordtype">int</span> * its ,</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> <span class="keywordtype">float</span> * lab )</div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> {</div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> <span class="keywordtype">int</span> i, n, r ;</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> <span class="keywordtype">int</span> itc ; <span class="comment">/* fate of fit */</span></div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> <span class="keywordtype">int</span> found ; <span class="comment">/* fit converged: 1, not yet converged: 0 */</span></div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> <span class="keywordtype">int</span> nuse ; <span class="comment">/* number of useable data points */</span></div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> <span class="keywordtype">double</span> tolerance ; <span class="comment">/* accuracy */</span></div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> </div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> itc = 0 ; <span class="comment">/* fate of fit */</span></div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> found = 0 ; <span class="comment">/* reset */</span></div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> nfree = 0 ; <span class="comment">/* number of free parameters */</span></div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> nuse = 0 ; <span class="comment">/* number of legal data points */</span></div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> </div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> <span class="keywordflow">if</span> ( *tol < (FLT_EPSILON * 10.0 ) )</div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> {</div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> tolerance = FLT_EPSILON * 10.0 ; <span class="comment">/* default tolerance */</span></div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> }</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> {</div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> tolerance = *tol ; <span class="comment">/* tolerance */</span></div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> }</div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> </div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> labda = fabs( *lab ) * LABFACA ; <span class="comment">/* start value for mixing parameter */</span></div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> <span class="keywordflow">for</span> ( i = 0 ; i < (*npar) ; i++ )</div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> {</div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> <span class="keywordflow">if</span> ( mpar[i] )</div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> {</div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> <span class="keywordflow">if</span> ( nfree > NPAR ) <span class="comment">/* too many free parameters */</span></div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> {</div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> }</div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> parptr[nfree++] = i ; <span class="comment">/* a free parameter */</span></div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> }</div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> }</div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> </div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> <span class="keywordflow">if</span> (nfree == 0) <span class="comment">/* no free parameters */</span> </div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> {</div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> <span class="keywordflow">return</span> -2 ;</div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> }</div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> </div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> <span class="keywordflow">for</span> ( n = 0 ; n < (*ndat) ; n++ )</div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> {</div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> <span class="keywordflow">if</span> ( wdat[n] > 0.0 ) <span class="comment">/* legal weight */</span></div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> {</div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> nuse ++ ;</div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> }</div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> }</div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> </div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> <span class="keywordflow">if</span> ( nfree >= nuse )</div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> {</div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> <span class="keywordflow">return</span> -3 ; <span class="comment">/* no degrees of freedom */</span></div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> }</div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> <span class="keywordflow">if</span> ( labda == 0.0 ) <span class="comment">/* linear fit */</span></div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> {</div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> <span class="comment">/* initialize fpar array */</span></div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> <span class="keywordflow">for</span> ( i = 0 ; i < nfree ; fpar[parptr[i++]] = 0.0 ) ; </div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> sinfo_new_get_mat_edge(xdat,xdim,ydat,wdat,ndat,fpar,epar<span class="comment">/*, npar */</span>) ;</div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> r = sinfo_new_get_vec_edge ( xdat, xdim, ydat, wdat, ndat, </div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> fpar, epar, npar ) ;</div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> <span class="keywordflow">if</span> ( r ) <span class="comment">/* error */</span></div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> {</div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> <span class="keywordflow">return</span> r ;</div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> }</div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> <span class="keywordflow">for</span> ( i = 0 ; i < (*npar) ; i++ )</div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> {</div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> fpar[i] = epar[i] ; <span class="comment">/* save new parameters */</span></div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> epar[i] = 0.0 ; <span class="comment">/* and set errors to zero */</span></div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> }</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> chi1 = sqrt( chi1 / (<span class="keywordtype">double</span>) (nuse - nfree) ) ;</div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> <span class="keywordflow">for</span> ( i = 0 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> {</div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> <span class="keywordflow">if</span> ( (matrix1[i][i] <= 0.0 ) || (matrix2[i][i] <= 0.0) )</div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> {</div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> }</div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> epar[parptr[i]] = chi1 * sqrt( matrix2[i][i] ) / </div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> sqrt( matrix1[i][i] ) ;</div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> }</div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> }</div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> <span class="keywordflow">else</span> <span class="comment">/* non-linear fit */</span></div>
-<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> {</div>
-<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span> <span class="comment">/*----------------------------------------------------------------</span></div>
-<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> <span class="comment"> * the non-linear fit uses the steepest descent method in combination</span></div>
-<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> <span class="comment"> * with the Taylor method. The mixing of these methods is controlled</span></div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> <span class="comment"> * by labda. In the outer loop ( called the iteration loop ) we build</span></div>
-<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> <span class="comment"> * the sinfo_matrix and calculate the correction sinfo_vector. In the </span></div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> <span class="comment"> * inner loop</span></div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> <span class="comment"> * (called the interpolation loop) we check whether we have obtained a</span></div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> <span class="comment"> * better solution than the previous one. If so, we leave the inner loop</span></div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> <span class="comment"> * else we increase labda ( give more weight to the steepest descent </span></div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> <span class="comment"> * method) calculate the correction sinfo_vector and check again. </span></div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> <span class="comment"> * After the inner loop</span></div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> <span class="comment"> * we do a final check on the goodness of the fit and if this satisfies</span></div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> <span class="comment"> * the tolerance we calculate the errors of the fitted parameters.</span></div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> <span class="keywordflow">while</span> ( !found ) <span class="comment">/* iteration loop */</span></div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> { </div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> <span class="keywordflow">if</span> ( itc++ == (*its) ) <span class="comment">/* increase iteration counter */</span></div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> {</div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> <span class="keywordflow">return</span> -4 ; </div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> }</div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> sinfo_new_get_mat_edge( xdat, xdim, ydat, wdat, ndat, </div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> fpar, epar<span class="comment">/*, npar*/</span> ) ;</div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> </div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> <span class="comment">/*-------------------------------------------------------------</span></div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> <span class="comment"> * here we decrease labda since we may assume that each iteration</span></div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> <span class="comment"> * brings us closer to the answer.</span></div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> <span class="keywordflow">if</span> ( labda > LABMINA )</div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> {</div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> labda = labda / LABFACA ; <span class="comment">/* decrease labda */</span></div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> }</div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> r = sinfo_new_get_vec_edge ( xdat, xdim, ydat, wdat, ndat, </div>
-<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> fpar, epar, npar ) ;</div>
-<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> <span class="keywordflow">if</span> ( (<span class="keywordtype">int</span>)fpar[1] - (<span class="keywordtype">int</span>)fpar[0] <= 0 && fpar[1] / fpar[0] > 0. )</div>
-<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> {</div>
-<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> fpar[1] += 1. ;</div>
-<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> continue ;</div>
-<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> } </div>
-<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> <span class="keywordflow">if</span> ( r ) <span class="comment">/* error */</span></div>
-<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> {</div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> <span class="keywordflow">return</span> r ;</div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> }</div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> </div>
-<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> <span class="keywordflow">while</span> ( chi1 >= chi2 ) <span class="comment">/* interpolation loop */</span></div>
-<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> {</div>
-<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> <span class="comment">/*-----------------------------------------------------------</span></div>
-<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> <span class="comment"> * The next statement is based on experience, not on the </span></div>
-<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> <span class="comment"> * mathematics of the problem. It is assumed that we have </span></div>
-<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span> <span class="comment"> * reached convergence when the pure steepest descent method </span></div>
-<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span> <span class="comment"> * does not produce a better solution.</span></div>
-<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> <span class="keywordflow">if</span> ( labda > LABMAXA ) <span class="comment">/* assume solution found */</span></div>
-<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> {</div>
-<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> break ;</div>
-<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> }</div>
-<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span> labda = labda * LABFACA ; <span class="comment">/* increase mixing parameter */</span></div>
-<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> r = sinfo_new_get_vec_edge ( xdat, xdim, ydat, wdat, </div>
-<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span> ndat, fpar, epar, npar ) ;</div>
-<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> <span class="keywordflow">if</span> ( (<span class="keywordtype">int</span>)fpar[1] - (<span class="keywordtype">int</span>)fpar[0] <= 0 && </div>
-<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> fpar[1] / fpar[0] > 0. )</div>
-<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> {</div>
-<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> fpar[1] += 1. ;</div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> continue ;</div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> } </div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> <span class="keywordflow">if</span> ( r ) <span class="comment">/* error */</span></div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> {</div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> <span class="keywordflow">return</span> r ;</div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> }</div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> }</div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> </div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> <span class="keywordflow">if</span> ( labda <= LABMAXA ) <span class="comment">/* save old parameters */</span></div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> {</div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> <span class="keywordflow">for</span> ( i = 0 ; i < *npar ; i++ )</div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> {</div>
-<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> fpar[i] = epar[i] ;</div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> }</div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> }</div>
-<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> <span class="keywordflow">if</span> ( (fabs( chi2 - chi1 ) <= (tolerance * chi1)) || </div>
-<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> (labda > LABMAXA) )</div>
-<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> {</div>
-<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> <span class="comment">/*------------------------------------------------------------</span></div>
-<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span> <span class="comment"> * we have a satisfying solution, so now we need to calculate </span></div>
-<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> <span class="comment"> * the correct errors of the fitted parameters. This we do by </span></div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> <span class="comment"> * using the pure Taylor method because we are very close to </span></div>
-<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> <span class="comment"> * the real solution.</span></div>
-<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> labda = LABMINA ; <span class="comment">/* for Taylor solution */</span></div>
-<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> sinfo_new_get_mat_edge ( xdat, xdim, ydat, wdat, ndat, </div>
-<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> fpar, epar<span class="comment">/*, npar */</span>) ;</div>
-<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> r = sinfo_new_get_vec_edge ( xdat, xdim, ydat, wdat, </div>
-<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> ndat, fpar, epar, npar ) ;</div>
-<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span> </div>
-<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> <span class="keywordflow">if</span> ( r ) <span class="comment">/* error */</span></div>
-<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span> {</div>
-<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> <span class="keywordflow">return</span> r ;</div>
-<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span> }</div>
-<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span> <span class="keywordflow">for</span> ( i = 0 ; i < (*npar) ; i++ )</div>
-<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> {</div>
-<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span> epar[i] = 0.0 ; <span class="comment">/* set error to zero */</span></div>
-<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span> }</div>
-<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span> chi2 = sqrt ( chi2 / (<span class="keywordtype">double</span>) (nuse - nfree) ) ;</div>
-<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> </div>
-<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span> <span class="keywordflow">for</span> ( i = 0 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span> {</div>
-<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> <span class="keywordflow">if</span> ( (matrix1[i][i] <= 0.0) || (matrix2[i][i] <= 0.0) )</div>
-<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span> {</div>
-<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span> }</div>
-<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span> epar[parptr[i]] = chi2 * sqrt( matrix2[i][i] ) / </div>
-<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span> sqrt( matrix1[i][i] ) ;</div>
-<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span> }</div>
-<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span> found = 1 ; <span class="comment">/* we found a solution */</span></div>
-<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span> }</div>
-<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> }</div>
-<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span> }</div>
-<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span> <span class="keywordflow">return</span> itc ; <span class="comment">/* return number of iterations */</span></div>
-<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span> }</div>
-<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> sinfo_new_fit_slits1( cpl_image * lineImage, </div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> FitParams ** par,</div>
-<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> <span class="keywordtype">float</span> ** sinfo_slit_pos,</div>
-<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> <span class="keywordtype">int</span> box_length,</div>
-<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> <span class="keywordtype">float</span> y_box )</div>
-<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> {</div>
-<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span> <span class="keywordtype">float</span>* position=NULL ;</div>
-<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> <span class="keywordtype">int</span> * sinfo_edge, * edgeclean ;</div>
-<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> <span class="keywordtype">int</span> * dummyedge ;</div>
-<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span> <span class="keywordtype">int</span> * pos_row, * pos_rowclean ;</div>
-<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> Vector * box_buffer ;</div>
-<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span> <span class="keywordtype">float</span> max_intensity ;</div>
-<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span> <span class="keywordtype">float</span> row_pos ;</div>
-<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> <span class="keywordtype">int</span> col ;</div>
-<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> <span class="keywordtype">int</span> i, j, k, m, n, ed ;</div>
-<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span> <span class="keywordtype">int</span> found, init1, init2 ;</div>
-<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span> <span class="keywordtype">int</span> line ; </div>
-<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span> <span class="keywordtype">int</span> column ;</div>
-<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span> <span class="keywordtype">int</span> slit_length ;</div>
-<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> <span class="keywordtype">int</span> agreed ;</div>
-<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span> <span class="keywordtype">int</span> bad_line ;</div>
-<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span> <span class="keywordtype">int</span> margin ;</div>
-<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span> <span class="keywordtype">int</span> iters, xdim, ndat ;</div>
-<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> <span class="keywordtype">int</span> numpar, its ;</div>
-<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span> <span class="keywordtype">int</span> * mpar ;</div>
-<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span> <span class="keywordtype">float</span> * xdat, * wdat ;</div>
-<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span> <span class="keywordtype">float</span> tol, lab ;</div>
-<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span> <span class="keywordtype">float</span> fitpar[2*NPAR] ;</div>
-<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> <span class="keywordtype">float</span> dervpar[NPAR] ;</div>
-<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> <span class="keywordtype">float</span> minval, maxval ;</div>
-<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> </div>
-<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span> </div>
-<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span> <span class="keywordflow">if</span> ( NULL == lineImage )</div>
-<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> {</div>
-<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no line image given!"</span> ) ;</div>
-<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span> }</div>
-<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span> ilx=cpl_image_get_size_x(lineImage);</div>
-<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> ily=cpl_image_get_size_y(lineImage);</div>
-<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> pidata=cpl_image_get_data_float(lineImage);</div>
-<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span> </div>
-<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span> slit_length = (int) sqrt (ilx) ;</div>
-<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> <span class="keywordflow">if</span> ( NULL == par )</div>
-<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span> {</div>
-<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no line fit parameters given!"</span>) ;</div>
-<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span> <span class="keywordflow">return</span> -2 ;</div>
-<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span> }</div>
-<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span> </div>
-<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span> <span class="keywordflow">if</span> ( NULL == sinfo_slit_pos )</div>
-<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span> {</div>
-<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no position array allocated!"</span>) ;</div>
-<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span> <span class="keywordflow">return</span> -3 ;</div>
-<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span> }</div>
-<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> </div>
-<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span> <span class="keywordflow">if</span> ( box_length < slit_length ||</div>
-<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span> box_length >= 3*slit_length )</div>
-<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> {</div>
-<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong fitting box length given!"</span> ) ;</div>
-<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span> <span class="keywordflow">return</span> -4 ;</div>
-<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span> }</div>
-<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span> </div>
-<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span> <span class="keywordflow">if</span> ( y_box <= 0. || y_box > 3. )</div>
-<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span> {</div>
-<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong y box length given!"</span> ) ;</div>
-<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span> <span class="keywordflow">return</span> -5 ;</div>
-<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span> }</div>
-<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span> </div>
-<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span> <span class="comment">/* allocate memory for the edges and the row positon of the slitlets */</span></div>
-<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span> sinfo_edge = (<span class="keywordtype">int</span>*) cpl_calloc( 3*slit_length, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span> dummyedge = (<span class="keywordtype">int</span>*) cpl_calloc( 3*slit_length, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span> edgeclean = (<span class="keywordtype">int</span>*) cpl_calloc( slit_length-1, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span> pos_row = (<span class="keywordtype">int</span>*) cpl_calloc( 3*slit_length, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span> pos_rowclean = (<span class="keywordtype">int</span>*) cpl_calloc( slit_length, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span> </div>
-<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span> <span class="comment">/* ------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span> <span class="comment"> * go through the first image columns and the fit parameters and find </span></div>
-<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> <span class="comment"> * the line with the highest intensity </span></div>
-<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span> agreed = -1 ;</div>
-<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> bad_line = -1 ;</div>
-<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span> <span class="keywordflow">while</span>( agreed == -1 )</div>
-<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> {</div>
-<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span> found = -1 ;</div>
-<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span> max_intensity = -FLT_MAX ;</div>
-<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span> <span class="keywordflow">for</span> ( col = 0 ; col < box_length ; col++ )</div>
-<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span> {</div>
-<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span> <span class="keywordflow">for</span> ( i = 0 ; i < par[0]->n_params ; i++ )</div>
-<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span> {</div>
-<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span> <span class="keywordflow">if</span> ( par[i]->column == col && par[i]->line != bad_line )</div>
-<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span> {</div>
-<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span> <span class="keywordflow">if</span> ( par[i]->fit_par[0] > max_intensity )</div>
-<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span> {</div>
-<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span> <span class="keywordflow">if</span> ( par[i]->fit_par[1] > 0. )</div>
-<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span> {</div>
-<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span> max_intensity = par[i]->fit_par[0] ;</div>
-<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span> found = i ;</div>
-<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span> }</div>
-<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span> }</div>
-<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span> }</div>
-<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span> } </div>
-<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span> }</div>
-<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span> </div>
-<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span> <span class="comment">/* --------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span> <span class="comment"> * check if the found line is usable and if the neighbouring line </span></div>
-<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span> <span class="comment"> * have intensity on near rows in neighbouring slitlets </span></div>
-<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span> line = par[found]->line ;</div>
-<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span> column = par[found]->column ;</div>
-<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span> row_pos = par[found]->fit_par[2] ;</div>
-<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span> <span class="keywordflow">if</span> ( found >= 0 && max_intensity > 0. )</div>
-<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span> {</div>
-<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span> <span class="keywordflow">for</span> ( i = 0 ; i < par[0]->n_params ; i++ )</div>
-<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span> {</div>
-<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span> <span class="keywordflow">if</span> ( par[i]->line == line-1 && </div>
-<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span> par[i]->column == column + slit_length )</div>
-<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span> {</div>
-<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span> <span class="keywordflow">if</span> ( par[i]->fit_par[2] <= (row_pos + y_box) &&</div>
-<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span> par[i]->fit_par[2] >= (row_pos - y_box) )</div>
-<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span> {</div>
-<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span> bad_line = line ;</div>
-<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span> } </div>
-<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span> }</div>
-<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span> }</div>
-<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span> <span class="keywordflow">if</span> ( bad_line != line )</div>
-<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span> {</div>
-<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span> agreed = 1 ;</div>
-<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span> break ;</div>
-<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span> }</div>
-<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span> }</div>
-<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span> {</div>
-<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no emission line found in the first image columns"</span>);</div>
-<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span> <span class="keywordflow">return</span> -6 ;</div>
-<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span> } </div>
-<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span> }</div>
-<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span> </div>
-<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span> </div>
-<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span> <span class="keywordflow">if</span> ( agreed == -1 )</div>
-<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span> {</div>
-<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no emission line found in the first image columns"</span>) ;</div>
-<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span> <span class="keywordflow">return</span> -6 ;</div>
-<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span> } </div>
-<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span> </div>
-<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span> <span class="comment">/* now find and store the raw sinfo_edge positions of the found slitlet */</span> </div>
-<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span> n = 0 ;</div>
-<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span> ed = 0 ;</div>
-<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span> </div>
-<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span> </div>
-<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span> position=cpl_calloc(ilx,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>));</div>
-<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span> {</div>
-<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span> <span class="keywordflow">for</span> ( i = 0 ; i < par[0]->n_params ; i++ )</div>
-<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span> {</div>
-<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span> <span class="keywordflow">if</span> ( par[i]->column == col && par[i] -> line == line )</div>
-<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span> {</div>
-<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span> <span class="keywordflow">if</span> ( par[i]->fit_par[0] > 0. && par[i]->fit_par[1] > 0. )</div>
-<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span> {</div>
-<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span> position[n] = par[i]->fit_par[2] ;</div>
-<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span> <span class="keywordflow">if</span> ( n > 0 && fabs(position[n] - position[n-1]) > y_box )</div>
-<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span> {</div>
-<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span> sinfo_edge[ed] = col ; </div>
-<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span> pos_row[ed] = sinfo_new_nint( position[n-1] ) ;</div>
-<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span> ed++ ;</div>
-<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span> <span class="keywordflow">if</span> ( col >= ilx - slit_length - 5 ) </div>
-<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span> {</div>
-<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span> pos_row[ed] = sinfo_new_nint( position[n] ) ;</div>
-<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span> }</div>
-<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span> }</div>
-<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span> n++ ;</div>
-<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span> }</div>
-<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span> }</div>
-<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span> }</div>
-<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span> }</div>
-<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span> <span class="keywordflow">if</span> ( ed < (slit_length - 1) )</div>
-<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span> {</div>
-<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"not enough slitlets found"</span>) ;</div>
-<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span> } </div>
-<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span> </div>
-<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span> <span class="comment">/* now find the clean sinfo_edge and row positions of the slitlets */</span></div>
-<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span> <span class="keywordflow">for</span> ( i = 1 ; i <= ed ; i ++ )</div>
-<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span> {</div>
-<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span> <span class="keywordflow">if</span> (dummyedge[i-1] != -1)</div>
-<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span> {</div>
-<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span> dummyedge[i-1] = sinfo_edge[i-1] ;</div>
-<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span> }</div>
-<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span> <span class="keywordflow">if</span> ( (sinfo_edge[i] - sinfo_edge[i-1]) < slit_length - 3 ||</div>
-<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span> (sinfo_edge[i] - sinfo_edge[i-1]) > slit_length + 3 )</div>
-<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span> {</div>
-<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span> dummyedge[i] = -1 ;</div>
-<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span> }</div>
-<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span> <span class="keywordflow">if</span> ( (sinfo_edge[i+1] - sinfo_edge[i]) < slit_length - 3 ||</div>
-<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span> (sinfo_edge[i+1] - sinfo_edge[i]) > slit_length + 3 )</div>
-<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span> {</div>
-<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span> dummyedge[i+1] = -1 ; </div>
-<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span> }</div>
-<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span> }</div>
-<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span> </div>
-<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span> k = 0 ;</div>
-<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span> <span class="keywordflow">for</span> ( i = 0 ; i < ed ; i++ )</div>
-<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span> {</div>
-<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span> <span class="keywordflow">if</span> ( dummyedge[i] != -1 && dummyedge[i] != 0 )</div>
-<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span> {</div>
-<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span> edgeclean[k] = dummyedge[i] ;</div>
-<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span> pos_rowclean[k] = pos_row[i] ;</div>
-<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span> k++ ;</div>
-<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span> <span class="keywordflow">if</span>( edgeclean[k-1] > (ilx - slit_length - 6 ) )</div>
-<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span> {</div>
-<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span> pos_rowclean[k] = pos_row[ed] ;</div>
-<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span> }</div>
-<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span> }</div>
-<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span> }</div>
-<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span> </div>
-<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span> <span class="keywordflow">if</span> ( k != slit_length - 1 )</div>
-<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span> {</div>
-<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"not enough clean slitlets found"</span>) ;</div>
-<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span> } </div>
-<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span> </div>
-<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span> <span class="comment">/* determine the margins of the fitting box outside the slitlets */</span></div>
-<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span> margin = ( box_length - slit_length ) / 2 ;</div>
-<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span> </div>
-<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span> <span class="comment">/* now go through the slitlets and store the intensity in a </span></div>
-<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span> <span class="comment"> buffer sinfo_vector */</span></div>
-<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span> <span class="keywordflow">for</span> ( j = 0 ; j < k ; j++ )</div>
-<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span> {</div>
-<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span> m = 0 ;</div>
-<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span> <span class="keywordflow">if</span> ( j == 0 )</div>
-<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span> {</div>
-<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span> box_buffer = sinfo_new_vector( edgeclean[0] + margin ) ;</div>
-<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span> <span class="keywordflow">for</span>( col = 0 ; col < edgeclean[0] + margin ; col++ )</div>
-<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span> {</div>
-<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span> box_buffer->data[m] = pidata[col + ilx*pos_rowclean[0]] ;</div>
-<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span> m++ ;</div>
-<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span> }</div>
-<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span> fitpar[0] = 3. ;</div>
-<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span> fitpar[1] = 5. ;</div>
-<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span> fitpar[2] = (float) edgeclean[0] - 1. ;</div>
-<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span> fitpar[3] = (float) edgeclean[0] + 1. ;</div>
-<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span> </div>
-<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span> }</div>
-<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( j < k - 1 )</div>
-<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span> {</div>
-<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span> box_buffer = sinfo_new_vector( edgeclean[j] - </div>
-<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span> edgeclean[j-1] + 2*margin ) ;</div>
-<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span> <span class="keywordflow">for</span> ( col = edgeclean[j - 1] - margin ; </div>
-<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span> col < edgeclean[j] + margin ; col++ )</div>
-<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span> {</div>
-<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span> box_buffer->data[m] = pidata[col + ilx*pos_rowclean[j]] ;</div>
-<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span> m++ ;</div>
-<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span> }</div>
-<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span> fitpar[0] = (float) margin - 1. ;</div>
-<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span> fitpar[1] = (float) margin + 1. ;</div>
-<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span> fitpar[2] = (float) (edgeclean[j] - edgeclean[j-1] + margin) - 1. ;</div>
-<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span> fitpar[3] = (float) (edgeclean[j] - edgeclean[j-1] + margin) + 1. ;</div>
-<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span> }</div>
-<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span> <span class="comment">/*else if ( j == k - 1 )*/</span></div>
-<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span> {</div>
-<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span> box_buffer = sinfo_new_vector( ilx - edgeclean[k-1] + margin ) ;</div>
-<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span> <span class="keywordflow">for</span> ( col = edgeclean[k - 1] - margin ; col < ilx ; col++ )</div>
-<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span> {</div>
-<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span> box_buffer->data[m] = pidata[col + ilx*pos_rowclean[k]] ;</div>
-<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span> m++ ;</div>
-<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span> }</div>
-<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span> fitpar[0] = (float) margin - 1. ;</div>
-<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span> fitpar[1] = (float) margin + 1. ;</div>
-<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span> fitpar[2] = (float) (ilx - edgeclean[k-1] + margin) - 3. ;</div>
-<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span> fitpar[3] = (float) (ilx - edgeclean[k-1] + margin) - 1. ;</div>
-<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span> }</div>
-<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span> </div>
-<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span> xdat = (<span class="keywordtype">float</span> *) cpl_calloc(box_buffer -> n_elements,<span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span> wdat = (<span class="keywordtype">float</span> *) cpl_calloc(box_buffer -> n_elements,<span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span> mpar = (<span class="keywordtype">int</span> *) cpl_calloc(NPAR, <span class="keyword">sizeof</span> (<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span> </div>
-<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span> <span class="comment">/* set initial values for the fitting routine */</span></div>
-<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span> minval = FLT_MAX ;</div>
-<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span> <span class="keywordflow">for</span> ( i = 0 ; i < box_buffer->n_elements ; i++ )</div>
-<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span> {</div>
-<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span> xdat[i] = i ;</div>
-<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span> wdat[i] = 1.0 ;</div>
-<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span> <span class="keywordflow">if</span> ( box_buffer -> data[i] < minval )</div>
-<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span> {</div>
-<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span> minval = box_buffer -> data[i] ;</div>
-<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span> }</div>
-<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span> <span class="keywordflow">if</span> ( box_buffer -> data[i] > maxval )</div>
-<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span> {</div>
-<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span> maxval = box_buffer -> data[i] ;</div>
-<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span> }</div>
-<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span> }</div>
-<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span> </div>
-<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span> fitpar[4] = minval ;</div>
-<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span> fitpar[5] = minval ;</div>
-<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span> fitpar[6] = maxval ; </div>
-<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span> fitpar[7] = maxval ;</div>
-<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span> </div>
-<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span> <span class="comment">/* search for both positions of the half intensity of the </span></div>
-<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span> <span class="comment"> hat within the buffer */</span></div>
-<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span> init1 = -1 ; </div>
-<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span> init2 = -1 ;</div>
-<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span> <span class="keywordflow">for</span> ( i = 0 ; i < box_buffer->n_elements ; i++ )</div>
-<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span> {</div>
-<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span> <span class="keywordflow">if</span> ( box_buffer -> data[i] >= ( maxval - minval ) / 2. )</div>
-<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span> {</div>
-<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span> init1 = i ;</div>
-<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span> break ;</div>
-<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span> }</div>
-<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span> }</div>
-<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span> </div>
-<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span> <span class="keywordflow">for</span> ( i = box_buffer->n_elements - 1 ; i >= 0 ; i-- )</div>
-<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span> {</div>
-<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span> <span class="keywordflow">if</span> ( box_buffer -> data[i] >= ( maxval + minval ) / 2. )</div>
-<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span> {</div>
-<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span> init2 = i ;</div>
-<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span> break ;</div>
-<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span> }</div>
-<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span> }</div>
-<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span> </div>
-<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span> <span class="comment">/* determine the initial positions from the found values */</span></div>
-<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span> <span class="comment">/* if ( init1 != -1 )</span></div>
-<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span> <span class="comment"> fitpar[0] = init1 - 1. ;</span></div>
-<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span> <span class="comment"> fitpar[1] = init1 + 1. ;</span></div>
-<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span> <span class="comment"> if ( init2 != -1 )</span></div>
-<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span> <span class="comment"> fitpar[2] = init2 - 1. ;</span></div>
-<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span> <span class="comment"> fitpar[3] = init2 + 1. ;</span></div>
-<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span> <span class="comment"> } */</span></div>
-<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span> </div>
-<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span> <span class="keywordflow">for</span> ( i = 0 ; i < NPAR ; i++ )</div>
-<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span> {</div>
-<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span> mpar[i] = 1 ;</div>
-<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span> dervpar[i] = 0. ;</div>
-<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span> }</div>
-<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span> </div>
-<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span> xdim = XDIMA ;</div>
-<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span> ndat = box_buffer -> n_elements ;</div>
-<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span> numpar = NPAR ;</div>
-<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span> tol = TOLA ;</div>
-<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span> lab = LABA ;</div>
-<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span> its = ITSA ;</div>
-<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span> </div>
-<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span> <span class="comment">/* finally, do the least squares fit over the buffer data */</span></div>
-<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span> <span class="keywordflow">if</span> ( 0 > ( iters = sinfo_new_lsqfit_edge( xdat, &xdim, </div>
-<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span> box_buffer -> data, </div>
-<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span> wdat, &ndat, fitpar,</div>
-<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span> dervpar, mpar, </div>
-<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span> &numpar, &tol, </div>
-<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span> &its, &lab )) )</div>
-<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span> {</div>
-<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"least squares fit failed, error no.: %d"</span>, </div>
-<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span> iters) ;</div>
-<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span> <span class="keywordflow">return</span> -8 ;</div>
-<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span> }</div>
-<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span> </div>
-<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span> </div>
-<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span> <span class="comment">/* take care of the column position of the fit boxes to get </span></div>
-<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span> <span class="comment"> the absolute positions */</span></div>
-<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span> <span class="keywordflow">if</span> ( j == 0 )</div>
-<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span> {</div>
-<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span> sinfo_slit_pos[0][0] = (fitpar[0] + fitpar[1]) / 2. ;</div>
-<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span> sinfo_slit_pos[0][1] = (fitpar[2] + fitpar[3]) / 2. ;</div>
-<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span> }</div>
-<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span> {</div>
-<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span> sinfo_slit_pos[j][0] = (fitpar[0] + fitpar[1]) / 2. + </div>
-<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span> (<span class="keywordtype">float</span>)edgeclean[j-1] - (float)margin ;</div>
-<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span> sinfo_slit_pos[j][1] = (fitpar[2] + fitpar[3]) / 2. + </div>
-<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span> (<span class="keywordtype">float</span>)edgeclean[j-1] - (float)margin ;</div>
-<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span> }</div>
-<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span> </div>
-<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span> sinfo_slit_pos[k][0] = (fitpar[0] + fitpar[1]) / 2. + </div>
-<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span> (<span class="keywordtype">float</span>)edgeclean[k-1] - (float)margin ;</div>
-<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span> sinfo_slit_pos[k][1] = (fitpar[2] + fitpar[3]) / 2. + </div>
-<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span> (<span class="keywordtype">float</span>)edgeclean[k-1] - (float)margin ;</div>
-<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span> </div>
-<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span> sinfo_new_destroy_vector ( box_buffer ) ;</div>
-<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span> cpl_free( xdat ) ;</div>
-<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span> cpl_free( wdat ) ;</div>
-<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span> cpl_free( mpar ) ;</div>
-<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span> }</div>
-<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span> </div>
-<div class="line"><a name="l01656"></a><span class="lineno"> 1656</span> cpl_free( sinfo_edge ) ;</div>
-<div class="line"><a name="l01657"></a><span class="lineno"> 1657</span> cpl_free( pos_row ) ;</div>
-<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span> cpl_free( edgeclean ) ;</div>
-<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span> cpl_free( dummyedge ) ;</div>
-<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span> cpl_free( pos_rowclean ) ;</div>
-<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span> cpl_free( position );</div>
-<div class="line"><a name="l01662"></a><span class="lineno"> 1662</span> </div>
-<div class="line"><a name="l01663"></a><span class="lineno"> 1663</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l01664"></a><span class="lineno"> 1664</span> }</div>
-<div class="line"><a name="l01665"></a><span class="lineno"> 1665</span> </div>
-<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span> sinfo_new_fit_slits( cpl_image * lineImage, </div>
-<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span> FitParams ** par,</div>
-<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span> <span class="keywordtype">float</span> ** sinfo_slit_pos,</div>
-<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span> <span class="keywordtype">int</span> box_length,</div>
-<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span> <span class="keywordtype">float</span> y_box,</div>
-<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span> <span class="keywordtype">float</span> slope_width )</div>
-<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span> {</div>
-<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span> <span class="keywordtype">float</span>* position=NULL ;</div>
-<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span> </div>
-<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span> <span class="keywordtype">int</span> * sinfo_edge, * edgeclean ;</div>
-<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span> <span class="keywordtype">int</span> * dummyedge ;</div>
-<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span> <span class="keywordtype">int</span> * pos_row, * pos_rowclean ;</div>
-<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span> Vector * box_buffer ;</div>
-<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span> <span class="keywordtype">float</span> max_intensity ;</div>
-<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span> <span class="keywordtype">float</span> row_pos ;</div>
-<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span> <span class="keywordtype">int</span> col ;</div>
-<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span> <span class="keywordtype">int</span> i, j, k, m, n, ed ;</div>
-<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span> <span class="keywordtype">int</span> found ;</div>
-<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span> <span class="keywordtype">int</span> line ; </div>
-<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span> <span class="keywordtype">int</span> column ;</div>
-<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span> <span class="keywordtype">int</span> slit_length ;</div>
-<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span> <span class="keywordtype">int</span> agreed ;</div>
-<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span> <span class="keywordtype">int</span> bad_line ;</div>
-<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span> <span class="keywordtype">int</span> margin ;</div>
-<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span> <span class="keywordtype">int</span> iters, xdim, ndat ;</div>
-<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span> <span class="keywordtype">int</span> numpar, its ;</div>
-<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span> <span class="keywordtype">int</span> * mpar ;</div>
-<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span> <span class="keywordtype">float</span> * xdat, * wdat ;</div>
-<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span> <span class="keywordtype">float</span> tol, lab ;</div>
-<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span> <span class="keywordtype">float</span> fitpar[NPAR] ;</div>
-<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span> <span class="keywordtype">float</span> dervpar[NPAR] ;</div>
-<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span> <span class="keywordtype">float</span> minval, maxval ;</div>
-<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span> </div>
-<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span> </div>
-<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span> <span class="keywordflow">if</span> ( NULL == lineImage )</div>
-<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span> {</div>
-<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no line image given!"</span> ) ;</div>
-<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span> }</div>
-<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span> ilx=cpl_image_get_size_x(lineImage);</div>
-<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span> ily=cpl_image_get_size_y(lineImage);</div>
-<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span> pidata=cpl_image_get_data_float(lineImage);</div>
-<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span> </div>
-<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span> slit_length = (int) sqrt (ilx) ;</div>
-<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span> <span class="keywordflow">if</span> ( NULL == par )</div>
-<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span> {</div>
-<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no line fit parameters given!"</span> ) ;</div>
-<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span> <span class="keywordflow">return</span> -2 ;</div>
-<div class="line"><a name="l01749"></a><span class="lineno"> 1749</span> }</div>
-<div class="line"><a name="l01750"></a><span class="lineno"> 1750</span> </div>
-<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span> <span class="keywordflow">if</span> ( NULL == sinfo_slit_pos )</div>
-<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span> {</div>
-<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no position array allocated!"</span> ) ;</div>
-<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span> <span class="keywordflow">return</span> -3 ;</div>
-<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span> }</div>
-<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span> </div>
-<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span> <span class="keywordflow">if</span> ( box_length < slit_length ||</div>
-<div class="line"><a name="l01758"></a><span class="lineno"> 1758</span> box_length >= 3*slit_length )</div>
-<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span> {</div>
-<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong fitting box length given!"</span> ) ;</div>
-<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span> <span class="keywordflow">return</span> -4 ;</div>
-<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span> }</div>
-<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span> </div>
-<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span> <span class="keywordflow">if</span> ( y_box <= 0. || y_box > 3. )</div>
-<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span> {</div>
-<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong y box length given!"</span> ) ;</div>
-<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span> <span class="keywordflow">return</span> -5 ;</div>
-<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span> }</div>
-<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span> </div>
-<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span> <span class="keywordflow">if</span> ( slope_width <= 0. )</div>
-<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span> {</div>
-<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong width of linear slope given!"</span>) ;</div>
-<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span> <span class="keywordflow">return</span> -6 ;</div>
-<div class="line"><a name="l01774"></a><span class="lineno"> 1774</span> }</div>
-<div class="line"><a name="l01775"></a><span class="lineno"> 1775</span> </div>
-<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span> <span class="comment">/* initialize module global variable slopewidth */</span></div>
-<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span> slopewidth = slope_width ;</div>
-<div class="line"><a name="l01778"></a><span class="lineno"> 1778</span> </div>
-<div class="line"><a name="l01779"></a><span class="lineno"> 1779</span> <span class="comment">/* allocate memory for the edges and the row positon of the slitlets */</span></div>
-<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span> sinfo_edge = (<span class="keywordtype">int</span>*) cpl_calloc( 3*slit_length, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l01781"></a><span class="lineno"> 1781</span> dummyedge = (<span class="keywordtype">int</span>*) cpl_calloc( 3*slit_length, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span> edgeclean = (<span class="keywordtype">int</span>*) cpl_calloc( slit_length-1, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l01783"></a><span class="lineno"> 1783</span> pos_row = (<span class="keywordtype">int</span>*) cpl_calloc( 3*slit_length, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l01784"></a><span class="lineno"> 1784</span> pos_rowclean = (<span class="keywordtype">int</span>*) cpl_calloc( slit_length, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span> </div>
-<div class="line"><a name="l01786"></a><span class="lineno"> 1786</span> <span class="comment">/* ------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span> <span class="comment"> * go through the first image columns and the fit parameters and find </span></div>
-<div class="line"><a name="l01788"></a><span class="lineno"> 1788</span> <span class="comment"> * the line with the highest intensity </span></div>
-<div class="line"><a name="l01789"></a><span class="lineno"> 1789</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01790"></a><span class="lineno"> 1790</span> agreed = -1 ;</div>
-<div class="line"><a name="l01791"></a><span class="lineno"> 1791</span> bad_line = -1 ;</div>
-<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span> <span class="keywordflow">while</span>( agreed == -1 )</div>
-<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span> {</div>
-<div class="line"><a name="l01794"></a><span class="lineno"> 1794</span> found = -1 ;</div>
-<div class="line"><a name="l01795"></a><span class="lineno"> 1795</span> max_intensity = -FLT_MAX ;</div>
-<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span> <span class="keywordflow">for</span> ( col = 0 ; col < box_length ; col++ )</div>
-<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span> {</div>
-<div class="line"><a name="l01798"></a><span class="lineno"> 1798</span> <span class="keywordflow">for</span> ( i = 0 ; i < par[0]->n_params ; i++ )</div>
-<div class="line"><a name="l01799"></a><span class="lineno"> 1799</span> {</div>
-<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span> <span class="keywordflow">if</span> ( par[i]->column == col && par[i]->line != bad_line )</div>
-<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span> {</div>
-<div class="line"><a name="l01802"></a><span class="lineno"> 1802</span> <span class="keywordflow">if</span> ( par[i]->fit_par[0] > max_intensity )</div>
-<div class="line"><a name="l01803"></a><span class="lineno"> 1803</span> {</div>
-<div class="line"><a name="l01804"></a><span class="lineno"> 1804</span> <span class="keywordflow">if</span> ( par[i]->fit_par[1] > 0. )</div>
-<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span> {</div>
-<div class="line"><a name="l01806"></a><span class="lineno"> 1806</span> max_intensity = par[i]->fit_par[0] ;</div>
-<div class="line"><a name="l01807"></a><span class="lineno"> 1807</span> found = i ;</div>
-<div class="line"><a name="l01808"></a><span class="lineno"> 1808</span> }</div>
-<div class="line"><a name="l01809"></a><span class="lineno"> 1809</span> }</div>
-<div class="line"><a name="l01810"></a><span class="lineno"> 1810</span> }</div>
-<div class="line"><a name="l01811"></a><span class="lineno"> 1811</span> } </div>
-<div class="line"><a name="l01812"></a><span class="lineno"> 1812</span> }</div>
-<div class="line"><a name="l01813"></a><span class="lineno"> 1813</span> </div>
-<div class="line"><a name="l01814"></a><span class="lineno"> 1814</span> <span class="comment">/* --------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01815"></a><span class="lineno"> 1815</span> <span class="comment"> * check if the found line is usable and if the neighbouring line </span></div>
-<div class="line"><a name="l01816"></a><span class="lineno"> 1816</span> <span class="comment"> * have intensity on near rows in neighbouring slitlets </span></div>
-<div class="line"><a name="l01817"></a><span class="lineno"> 1817</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01818"></a><span class="lineno"> 1818</span> line = par[found]->line ;</div>
-<div class="line"><a name="l01819"></a><span class="lineno"> 1819</span> column = par[found]->column ;</div>
-<div class="line"><a name="l01820"></a><span class="lineno"> 1820</span> row_pos = par[found]->fit_par[2] ;</div>
-<div class="line"><a name="l01821"></a><span class="lineno"> 1821</span> <span class="keywordflow">if</span> ( found >= 0 && max_intensity > 0. )</div>
-<div class="line"><a name="l01822"></a><span class="lineno"> 1822</span> {</div>
-<div class="line"><a name="l01823"></a><span class="lineno"> 1823</span> <span class="keywordflow">for</span> ( i = 0 ; i < par[0]->n_params ; i++ )</div>
-<div class="line"><a name="l01824"></a><span class="lineno"> 1824</span> {</div>
-<div class="line"><a name="l01825"></a><span class="lineno"> 1825</span> <span class="keywordflow">if</span> ( par[i]->line == line-1 && </div>
-<div class="line"><a name="l01826"></a><span class="lineno"> 1826</span> par[i]->column == column + slit_length )</div>
-<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span> {</div>
-<div class="line"><a name="l01828"></a><span class="lineno"> 1828</span> <span class="keywordflow">if</span> ( par[i]->fit_par[2] <= (row_pos + y_box) &&</div>
-<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span> par[i]->fit_par[2] >= (row_pos - y_box) )</div>
-<div class="line"><a name="l01830"></a><span class="lineno"> 1830</span> {</div>
-<div class="line"><a name="l01831"></a><span class="lineno"> 1831</span> bad_line = line ;</div>
-<div class="line"><a name="l01832"></a><span class="lineno"> 1832</span> } </div>
-<div class="line"><a name="l01833"></a><span class="lineno"> 1833</span> }</div>
-<div class="line"><a name="l01834"></a><span class="lineno"> 1834</span> }</div>
-<div class="line"><a name="l01835"></a><span class="lineno"> 1835</span> <span class="keywordflow">if</span> ( bad_line != line )</div>
-<div class="line"><a name="l01836"></a><span class="lineno"> 1836</span> {</div>
-<div class="line"><a name="l01837"></a><span class="lineno"> 1837</span> agreed = 1 ;</div>
-<div class="line"><a name="l01838"></a><span class="lineno"> 1838</span> break ;</div>
-<div class="line"><a name="l01839"></a><span class="lineno"> 1839</span> }</div>
-<div class="line"><a name="l01840"></a><span class="lineno"> 1840</span> }</div>
-<div class="line"><a name="l01841"></a><span class="lineno"> 1841</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l01842"></a><span class="lineno"> 1842</span> {</div>
-<div class="line"><a name="l01843"></a><span class="lineno"> 1843</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no emission line found in the first image columns"</span>);</div>
-<div class="line"><a name="l01844"></a><span class="lineno"> 1844</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l01845"></a><span class="lineno"> 1845</span> } </div>
-<div class="line"><a name="l01846"></a><span class="lineno"> 1846</span> }</div>
-<div class="line"><a name="l01847"></a><span class="lineno"> 1847</span> </div>
-<div class="line"><a name="l01848"></a><span class="lineno"> 1848</span> </div>
-<div class="line"><a name="l01849"></a><span class="lineno"> 1849</span> <span class="keywordflow">if</span> ( agreed == -1 )</div>
-<div class="line"><a name="l01850"></a><span class="lineno"> 1850</span> {</div>
-<div class="line"><a name="l01851"></a><span class="lineno"> 1851</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no emission line found in the first image columns"</span>) ;</div>
-<div class="line"><a name="l01852"></a><span class="lineno"> 1852</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l01853"></a><span class="lineno"> 1853</span> } </div>
-<div class="line"><a name="l01854"></a><span class="lineno"> 1854</span> </div>
-<div class="line"><a name="l01855"></a><span class="lineno"> 1855</span> <span class="comment">/* now find and store the raw sinfo_edge positions of the found slitlet */</span> </div>
-<div class="line"><a name="l01856"></a><span class="lineno"> 1856</span> n = 0 ;</div>
-<div class="line"><a name="l01857"></a><span class="lineno"> 1857</span> ed = 0 ;</div>
-<div class="line"><a name="l01858"></a><span class="lineno"> 1858</span> position=cpl_calloc(ilx,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l01859"></a><span class="lineno"> 1859</span> </div>
-<div class="line"><a name="l01860"></a><span class="lineno"> 1860</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l01861"></a><span class="lineno"> 1861</span> {</div>
-<div class="line"><a name="l01862"></a><span class="lineno"> 1862</span> <span class="keywordflow">for</span> ( i = 0 ; i < par[0]->n_params ; i++ )</div>
-<div class="line"><a name="l01863"></a><span class="lineno"> 1863</span> {</div>
-<div class="line"><a name="l01864"></a><span class="lineno"> 1864</span> <span class="keywordflow">if</span> ( par[i]->column == col && par[i] -> line == line )</div>
-<div class="line"><a name="l01865"></a><span class="lineno"> 1865</span> {</div>
-<div class="line"><a name="l01866"></a><span class="lineno"> 1866</span> <span class="keywordflow">if</span> ( par[i]->fit_par[0] > 0. && par[i]->fit_par[1] > 0. )</div>
-<div class="line"><a name="l01867"></a><span class="lineno"> 1867</span> {</div>
-<div class="line"><a name="l01868"></a><span class="lineno"> 1868</span> position[n] = par[i]->fit_par[2] ;</div>
-<div class="line"><a name="l01869"></a><span class="lineno"> 1869</span> <span class="keywordflow">if</span> ( n > 0 && fabs(position[n] - position[n-1]) > y_box )</div>
-<div class="line"><a name="l01870"></a><span class="lineno"> 1870</span> {</div>
-<div class="line"><a name="l01871"></a><span class="lineno"> 1871</span> sinfo_edge[ed] = col ; </div>
-<div class="line"><a name="l01872"></a><span class="lineno"> 1872</span> pos_row[ed] = sinfo_new_nint( position[n-1] ) ;</div>
-<div class="line"><a name="l01873"></a><span class="lineno"> 1873</span> ed++ ;</div>
-<div class="line"><a name="l01874"></a><span class="lineno"> 1874</span> <span class="keywordflow">if</span> ( col >= ilx - slit_length - 5 ) </div>
-<div class="line"><a name="l01875"></a><span class="lineno"> 1875</span> {</div>
-<div class="line"><a name="l01876"></a><span class="lineno"> 1876</span> pos_row[ed] = sinfo_new_nint( position[n] ) ;</div>
-<div class="line"><a name="l01877"></a><span class="lineno"> 1877</span> }</div>
-<div class="line"><a name="l01878"></a><span class="lineno"> 1878</span> }</div>
-<div class="line"><a name="l01879"></a><span class="lineno"> 1879</span> n++ ;</div>
-<div class="line"><a name="l01880"></a><span class="lineno"> 1880</span> }</div>
-<div class="line"><a name="l01881"></a><span class="lineno"> 1881</span> }</div>
-<div class="line"><a name="l01882"></a><span class="lineno"> 1882</span> }</div>
-<div class="line"><a name="l01883"></a><span class="lineno"> 1883</span> }</div>
-<div class="line"><a name="l01884"></a><span class="lineno"> 1884</span> <span class="keywordflow">if</span> ( ed < (slit_length - 1) )</div>
-<div class="line"><a name="l01885"></a><span class="lineno"> 1885</span> {</div>
-<div class="line"><a name="l01886"></a><span class="lineno"> 1886</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"not enough slitlets found"</span>) ;</div>
-<div class="line"><a name="l01887"></a><span class="lineno"> 1887</span> <span class="keywordflow">return</span> -8 ;</div>
-<div class="line"><a name="l01888"></a><span class="lineno"> 1888</span> } </div>
-<div class="line"><a name="l01889"></a><span class="lineno"> 1889</span> </div>
-<div class="line"><a name="l01890"></a><span class="lineno"> 1890</span> <span class="comment">/* now find the clean sinfo_edge and row positions of the slitlets */</span></div>
-<div class="line"><a name="l01891"></a><span class="lineno"> 1891</span> <span class="keywordflow">for</span> ( i = 1 ; i <= ed ; i ++ )</div>
-<div class="line"><a name="l01892"></a><span class="lineno"> 1892</span> {</div>
-<div class="line"><a name="l01893"></a><span class="lineno"> 1893</span> <span class="keywordflow">if</span> (dummyedge[i-1] != -1)</div>
-<div class="line"><a name="l01894"></a><span class="lineno"> 1894</span> {</div>
-<div class="line"><a name="l01895"></a><span class="lineno"> 1895</span> dummyedge[i-1] = sinfo_edge[i-1] ;</div>
-<div class="line"><a name="l01896"></a><span class="lineno"> 1896</span> }</div>
-<div class="line"><a name="l01897"></a><span class="lineno"> 1897</span> <span class="keywordflow">if</span> ( (sinfo_edge[i] - sinfo_edge[i-1]) < slit_length - 3 ||</div>
-<div class="line"><a name="l01898"></a><span class="lineno"> 1898</span> (sinfo_edge[i] - sinfo_edge[i-1]) > slit_length + 3 )</div>
-<div class="line"><a name="l01899"></a><span class="lineno"> 1899</span> {</div>
-<div class="line"><a name="l01900"></a><span class="lineno"> 1900</span> dummyedge[i] = -1 ;</div>
-<div class="line"><a name="l01901"></a><span class="lineno"> 1901</span> }</div>
-<div class="line"><a name="l01902"></a><span class="lineno"> 1902</span> <span class="keywordflow">if</span> ( (sinfo_edge[i+1] - sinfo_edge[i]) < slit_length - 3 ||</div>
-<div class="line"><a name="l01903"></a><span class="lineno"> 1903</span> (sinfo_edge[i+1] - sinfo_edge[i]) > slit_length + 3 )</div>
-<div class="line"><a name="l01904"></a><span class="lineno"> 1904</span> {</div>
-<div class="line"><a name="l01905"></a><span class="lineno"> 1905</span> dummyedge[i+1] = -1 ; </div>
-<div class="line"><a name="l01906"></a><span class="lineno"> 1906</span> }</div>
-<div class="line"><a name="l01907"></a><span class="lineno"> 1907</span> }</div>
-<div class="line"><a name="l01908"></a><span class="lineno"> 1908</span> </div>
-<div class="line"><a name="l01909"></a><span class="lineno"> 1909</span> k = 0 ;</div>
-<div class="line"><a name="l01910"></a><span class="lineno"> 1910</span> <span class="keywordflow">for</span> ( i = 0 ; i < ed ; i++ )</div>
-<div class="line"><a name="l01911"></a><span class="lineno"> 1911</span> {</div>
-<div class="line"><a name="l01912"></a><span class="lineno"> 1912</span> <span class="keywordflow">if</span> ( dummyedge[i] != -1 && dummyedge[i] != 0 )</div>
-<div class="line"><a name="l01913"></a><span class="lineno"> 1913</span> {</div>
-<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span> edgeclean[k] = dummyedge[i] ;</div>
-<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span> pos_rowclean[k] = pos_row[i] ;</div>
-<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span> k++ ;</div>
-<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span> <span class="keywordflow">if</span>( edgeclean[k-1] > (ilx - slit_length - 6 ) )</div>
-<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span> {</div>
-<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span> pos_rowclean[k] = pos_row[ed] ;</div>
-<div class="line"><a name="l01920"></a><span class="lineno"> 1920</span> }</div>
-<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span> }</div>
-<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span> }</div>
-<div class="line"><a name="l01923"></a><span class="lineno"> 1923</span> </div>
-<div class="line"><a name="l01924"></a><span class="lineno"> 1924</span> <span class="keywordflow">if</span> ( k != slit_length - 1 )</div>
-<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span> {</div>
-<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"not enough clean slitlets found"</span>) ;</div>
-<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span> } </div>
-<div class="line"><a name="l01929"></a><span class="lineno"> 1929</span> </div>
-<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span> <span class="comment">/* determine the margins of the fitting box outside the slitlets */</span></div>
-<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span> margin = ( box_length - slit_length ) / 2 ;</div>
-<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span> </div>
-<div class="line"><a name="l01933"></a><span class="lineno"> 1933</span> <span class="comment">/* now go through the slitlets and store the intensity in a buffer </span></div>
-<div class="line"><a name="l01934"></a><span class="lineno"> 1934</span> <span class="comment"> sinfo_vector */</span></div>
-<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span> <span class="keywordflow">for</span> ( j = 0 ; j < k ; j++ )</div>
-<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span> {</div>
-<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span> m = 0 ;</div>
-<div class="line"><a name="l01938"></a><span class="lineno"> 1938</span> <span class="keywordflow">if</span> ( j == 0 )</div>
-<div class="line"><a name="l01939"></a><span class="lineno"> 1939</span> {</div>
-<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span> box_buffer = sinfo_new_vector( edgeclean[0] + margin ) ;</div>
-<div class="line"><a name="l01941"></a><span class="lineno"> 1941</span> <span class="keywordflow">for</span>( col = 0 ; col < edgeclean[0] + margin ; col++ )</div>
-<div class="line"><a name="l01942"></a><span class="lineno"> 1942</span> {</div>
-<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span> box_buffer->data[m] = pidata[col + ilx*pos_rowclean[0]] ;</div>
-<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span> m++ ;</div>
-<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span> }</div>
-<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span> <span class="comment">/* initial values for the fitted positions */</span></div>
-<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span> fitpar[0] = 1. ;</div>
-<div class="line"><a name="l01948"></a><span class="lineno"> 1948</span> fitpar[1] = (float)edgeclean[0] ;</div>
-<div class="line"><a name="l01949"></a><span class="lineno"> 1949</span> </div>
-<div class="line"><a name="l01950"></a><span class="lineno"> 1950</span> }</div>
-<div class="line"><a name="l01951"></a><span class="lineno"> 1951</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( j < k - 1 )</div>
-<div class="line"><a name="l01952"></a><span class="lineno"> 1952</span> {</div>
-<div class="line"><a name="l01953"></a><span class="lineno"> 1953</span> box_buffer = sinfo_new_vector( edgeclean[j] - </div>
-<div class="line"><a name="l01954"></a><span class="lineno"> 1954</span> edgeclean[j-1] + 2*margin ) ;</div>
-<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span> <span class="keywordflow">for</span> ( col = edgeclean[j - 1] - margin ; </div>
-<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span> col < edgeclean[j] + margin ; col++ )</div>
-<div class="line"><a name="l01957"></a><span class="lineno"> 1957</span> {</div>
-<div class="line"><a name="l01958"></a><span class="lineno"> 1958</span> box_buffer->data[m] = pidata[col + ilx*pos_rowclean[j]] ;</div>
-<div class="line"><a name="l01959"></a><span class="lineno"> 1959</span> m++ ;</div>
-<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span> }</div>
-<div class="line"><a name="l01961"></a><span class="lineno"> 1961</span> <span class="comment">/* initial values for the fitted positions */</span></div>
-<div class="line"><a name="l01962"></a><span class="lineno"> 1962</span> fitpar[0] = (float)margin ;</div>
-<div class="line"><a name="l01963"></a><span class="lineno"> 1963</span> fitpar[1] = (float)(edgeclean[j] - edgeclean[j-1] + margin ) ;</div>
-<div class="line"><a name="l01964"></a><span class="lineno"> 1964</span> }</div>
-<div class="line"><a name="l01965"></a><span class="lineno"> 1965</span> <span class="comment">/*else if ( j == k - 1 )*/</span></div>
-<div class="line"><a name="l01966"></a><span class="lineno"> 1966</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span> {</div>
-<div class="line"><a name="l01968"></a><span class="lineno"> 1968</span> box_buffer = sinfo_new_vector( ilx - edgeclean[k-1] + margin ) ;</div>
-<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span> <span class="keywordflow">for</span> ( col = edgeclean[k - 1] - margin ; col < ilx ; col++ )</div>
-<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span> {</div>
-<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span> box_buffer->data[m] = pidata[col + ilx*pos_rowclean[k]] ;</div>
-<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span> m++ ;</div>
-<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span> }</div>
-<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span> <span class="comment">/* initial values for the fitted positions */</span></div>
-<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span> fitpar[0] = (float)margin ;</div>
-<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span> fitpar[1] = (float)(m - 1) ;</div>
-<div class="line"><a name="l01977"></a><span class="lineno"> 1977</span> }</div>
-<div class="line"><a name="l01978"></a><span class="lineno"> 1978</span> </div>
-<div class="line"><a name="l01979"></a><span class="lineno"> 1979</span> xdat=(<span class="keywordtype">float</span> *) cpl_calloc( box_buffer -> n_elements, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span> wdat=(<span class="keywordtype">float</span> *) cpl_calloc( box_buffer -> n_elements, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l01981"></a><span class="lineno"> 1981</span> mpar=(<span class="keywordtype">int</span> *) cpl_calloc( NPAR, <span class="keyword">sizeof</span> (<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l01982"></a><span class="lineno"> 1982</span> </div>
-<div class="line"><a name="l01983"></a><span class="lineno"> 1983</span> <span class="comment">/* set initial values for the fitting routine */</span></div>
-<div class="line"><a name="l01984"></a><span class="lineno"> 1984</span> minval = FLT_MAX ;</div>
-<div class="line"><a name="l01985"></a><span class="lineno"> 1985</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l01986"></a><span class="lineno"> 1986</span> <span class="keywordflow">for</span> ( i = 0 ; i < box_buffer->n_elements ; i++ )</div>
-<div class="line"><a name="l01987"></a><span class="lineno"> 1987</span> {</div>
-<div class="line"><a name="l01988"></a><span class="lineno"> 1988</span> xdat[i] = i ;</div>
-<div class="line"><a name="l01989"></a><span class="lineno"> 1989</span> wdat[i] = 1.0 ;</div>
-<div class="line"><a name="l01990"></a><span class="lineno"> 1990</span> <span class="keywordflow">if</span> ( box_buffer -> data[i] < minval )</div>
-<div class="line"><a name="l01991"></a><span class="lineno"> 1991</span> {</div>
-<div class="line"><a name="l01992"></a><span class="lineno"> 1992</span> minval = box_buffer -> data[i] ;</div>
-<div class="line"><a name="l01993"></a><span class="lineno"> 1993</span> }</div>
-<div class="line"><a name="l01994"></a><span class="lineno"> 1994</span> <span class="keywordflow">if</span> ( box_buffer -> data[i] > maxval )</div>
-<div class="line"><a name="l01995"></a><span class="lineno"> 1995</span> {</div>
-<div class="line"><a name="l01996"></a><span class="lineno"> 1996</span> maxval = box_buffer -> data[i] ;</div>
-<div class="line"><a name="l01997"></a><span class="lineno"> 1997</span> }</div>
-<div class="line"><a name="l01998"></a><span class="lineno"> 1998</span> }</div>
-<div class="line"><a name="l01999"></a><span class="lineno"> 1999</span> </div>
-<div class="line"><a name="l02000"></a><span class="lineno"> 2000</span> <span class="keywordflow">for</span> ( i = 0 ; i < NPAR ; i++ )</div>
-<div class="line"><a name="l02001"></a><span class="lineno"> 2001</span> {</div>
-<div class="line"><a name="l02002"></a><span class="lineno"> 2002</span> mpar[i] = 1 ;</div>
-<div class="line"><a name="l02003"></a><span class="lineno"> 2003</span> dervpar[i] = 0. ;</div>
-<div class="line"><a name="l02004"></a><span class="lineno"> 2004</span> }</div>
-<div class="line"><a name="l02005"></a><span class="lineno"> 2005</span> </div>
-<div class="line"><a name="l02006"></a><span class="lineno"> 2006</span> xdim = XDIMA ;</div>
-<div class="line"><a name="l02007"></a><span class="lineno"> 2007</span> ndat = box_buffer -> n_elements ;</div>
-<div class="line"><a name="l02008"></a><span class="lineno"> 2008</span> numpar = NPAR ;</div>
-<div class="line"><a name="l02009"></a><span class="lineno"> 2009</span> tol = TOLA ;</div>
-<div class="line"><a name="l02010"></a><span class="lineno"> 2010</span> lab = LABA ;</div>
-<div class="line"><a name="l02011"></a><span class="lineno"> 2011</span> its = ITSA ;</div>
-<div class="line"><a name="l02012"></a><span class="lineno"> 2012</span> </div>
-<div class="line"><a name="l02013"></a><span class="lineno"> 2013</span> fitpar[2] = minval ;</div>
-<div class="line"><a name="l02014"></a><span class="lineno"> 2014</span> fitpar[3] = minval ;</div>
-<div class="line"><a name="l02015"></a><span class="lineno"> 2015</span> fitpar[4] = maxval ;</div>
-<div class="line"><a name="l02016"></a><span class="lineno"> 2016</span> </div>
-<div class="line"><a name="l02017"></a><span class="lineno"> 2017</span> <span class="comment">/* finally, do the least squares fit over the buffer data */</span></div>
-<div class="line"><a name="l02018"></a><span class="lineno"> 2018</span> <span class="keywordflow">if</span> ( 0 > ( iters = sinfo_new_lsqfit_edge( xdat, &xdim, </div>
-<div class="line"><a name="l02019"></a><span class="lineno"> 2019</span> box_buffer -> data, </div>
-<div class="line"><a name="l02020"></a><span class="lineno"> 2020</span> wdat, &ndat, fitpar,</div>
-<div class="line"><a name="l02021"></a><span class="lineno"> 2021</span> dervpar, mpar, &numpar, </div>
-<div class="line"><a name="l02022"></a><span class="lineno"> 2022</span> &tol, &its, &lab )) )</div>
-<div class="line"><a name="l02023"></a><span class="lineno"> 2023</span> {</div>
-<div class="line"><a name="l02024"></a><span class="lineno"> 2024</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"least squares fit failed, error no.: %d"</span>, </div>
-<div class="line"><a name="l02025"></a><span class="lineno"> 2025</span> iters) ;</div>
-<div class="line"><a name="l02026"></a><span class="lineno"> 2026</span> <span class="keywordflow">return</span> -9 ;</div>
-<div class="line"><a name="l02027"></a><span class="lineno"> 2027</span> }</div>
-<div class="line"><a name="l02028"></a><span class="lineno"> 2028</span> </div>
-<div class="line"><a name="l02029"></a><span class="lineno"> 2029</span> </div>
-<div class="line"><a name="l02030"></a><span class="lineno"> 2030</span> <span class="comment">/* take care of the column position of the fit boxes </span></div>
-<div class="line"><a name="l02031"></a><span class="lineno"> 2031</span> <span class="comment"> to get the absolute positions */</span></div>
-<div class="line"><a name="l02032"></a><span class="lineno"> 2032</span> <span class="keywordflow">if</span> ( j == 0 )</div>
-<div class="line"><a name="l02033"></a><span class="lineno"> 2033</span> {</div>
-<div class="line"><a name="l02034"></a><span class="lineno"> 2034</span> sinfo_slit_pos[0][0] = fitpar[0] + slopewidth/2. ;</div>
-<div class="line"><a name="l02035"></a><span class="lineno"> 2035</span> sinfo_slit_pos[0][1] = fitpar[1] - slopewidth/2. ;</div>
-<div class="line"><a name="l02036"></a><span class="lineno"> 2036</span> }</div>
-<div class="line"><a name="l02037"></a><span class="lineno"> 2037</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02038"></a><span class="lineno"> 2038</span> {</div>
-<div class="line"><a name="l02039"></a><span class="lineno"> 2039</span> sinfo_slit_pos[j][0] = fitpar[0] + slopewidth/2. + </div>
-<div class="line"><a name="l02040"></a><span class="lineno"> 2040</span> (float)edgeclean[j-1] - (<span class="keywordtype">float</span>)margin ;</div>
-<div class="line"><a name="l02041"></a><span class="lineno"> 2041</span> sinfo_slit_pos[j][1] = fitpar[1] - slopewidth/2. + </div>
-<div class="line"><a name="l02042"></a><span class="lineno"> 2042</span> (float)edgeclean[j-1] - (<span class="keywordtype">float</span>)margin ;</div>
-<div class="line"><a name="l02043"></a><span class="lineno"> 2043</span> }</div>
-<div class="line"><a name="l02044"></a><span class="lineno"> 2044</span> </div>
-<div class="line"><a name="l02045"></a><span class="lineno"> 2045</span> sinfo_slit_pos[k][0] = fitpar[0] + slopewidth/2. + </div>
-<div class="line"><a name="l02046"></a><span class="lineno"> 2046</span> (float)edgeclean[k-1] - (<span class="keywordtype">float</span>)margin ;</div>
-<div class="line"><a name="l02047"></a><span class="lineno"> 2047</span> sinfo_slit_pos[k][1] = fitpar[1] - slopewidth/2. + </div>
-<div class="line"><a name="l02048"></a><span class="lineno"> 2048</span> (float)edgeclean[k-1] - (<span class="keywordtype">float</span>)margin ;</div>
-<div class="line"><a name="l02049"></a><span class="lineno"> 2049</span> </div>
-<div class="line"><a name="l02050"></a><span class="lineno"> 2050</span> sinfo_new_destroy_vector ( box_buffer ) ;</div>
-<div class="line"><a name="l02051"></a><span class="lineno"> 2051</span> cpl_free( xdat ) ;</div>
-<div class="line"><a name="l02052"></a><span class="lineno"> 2052</span> cpl_free( wdat ) ;</div>
-<div class="line"><a name="l02053"></a><span class="lineno"> 2053</span> cpl_free( mpar ) ;</div>
-<div class="line"><a name="l02054"></a><span class="lineno"> 2054</span> }</div>
-<div class="line"><a name="l02055"></a><span class="lineno"> 2055</span> </div>
-<div class="line"><a name="l02056"></a><span class="lineno"> 2056</span> </div>
-<div class="line"><a name="l02057"></a><span class="lineno"> 2057</span> cpl_free( sinfo_edge ) ;</div>
-<div class="line"><a name="l02058"></a><span class="lineno"> 2058</span> cpl_free( pos_row ) ;</div>
-<div class="line"><a name="l02059"></a><span class="lineno"> 2059</span> cpl_free( edgeclean ) ;</div>
-<div class="line"><a name="l02060"></a><span class="lineno"> 2060</span> cpl_free( dummyedge ) ;</div>
-<div class="line"><a name="l02061"></a><span class="lineno"> 2061</span> cpl_free( pos_rowclean ) ;</div>
-<div class="line"><a name="l02062"></a><span class="lineno"> 2062</span> cpl_free( position );</div>
-<div class="line"><a name="l02063"></a><span class="lineno"> 2063</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l02064"></a><span class="lineno"> 2064</span> }</div>
-<div class="line"><a name="l02065"></a><span class="lineno"> 2065</span> </div>
-<div class="line"><a name="l02110"></a><span class="lineno"> 2110</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l02111"></a><span class="lineno"> 2111</span> sinfo_new_fit_slits2( cpl_image * lineImage, </div>
-<div class="line"><a name="l02112"></a><span class="lineno"> 2112</span> FitParams ** par,</div>
-<div class="line"><a name="l02113"></a><span class="lineno"> 2113</span> <span class="keywordtype">float</span> ** sinfo_slit_pos,</div>
-<div class="line"><a name="l02114"></a><span class="lineno"> 2114</span> <span class="keywordtype">int</span> box_length,</div>
-<div class="line"><a name="l02115"></a><span class="lineno"> 2115</span> <span class="keywordtype">float</span> y_box,</div>
-<div class="line"><a name="l02116"></a><span class="lineno"> 2116</span> <span class="keywordtype">float</span> diff_tol )</div>
-<div class="line"><a name="l02117"></a><span class="lineno"> 2117</span> {</div>
-<div class="line"><a name="l02118"></a><span class="lineno"> 2118</span> <span class="keywordtype">float</span>* position=NULL ;</div>
-<div class="line"><a name="l02119"></a><span class="lineno"> 2119</span> <span class="keywordtype">int</span> * sinfo_edge, * edgeclean ;</div>
-<div class="line"><a name="l02120"></a><span class="lineno"> 2120</span> <span class="keywordtype">int</span> * dummyedge ;</div>
-<div class="line"><a name="l02121"></a><span class="lineno"> 2121</span> <span class="keywordtype">int</span> * pos_row, * pos_rowclean ;</div>
-<div class="line"><a name="l02122"></a><span class="lineno"> 2122</span> Vector * box_buffer ;</div>
-<div class="line"><a name="l02123"></a><span class="lineno"> 2123</span> Vector * half_buffer ;</div>
-<div class="line"><a name="l02124"></a><span class="lineno"> 2124</span> <span class="keywordtype">float</span> max_intensity ;</div>
-<div class="line"><a name="l02125"></a><span class="lineno"> 2125</span> <span class="keywordtype">float</span> row_pos ;</div>
-<div class="line"><a name="l02126"></a><span class="lineno"> 2126</span> <span class="keywordtype">int</span> col ;</div>
-<div class="line"><a name="l02127"></a><span class="lineno"> 2127</span> <span class="keywordtype">int</span> i, j, k, m, n, ed ;</div>
-<div class="line"><a name="l02128"></a><span class="lineno"> 2128</span> <span class="keywordtype">int</span> found, init1 ;</div>
-<div class="line"><a name="l02129"></a><span class="lineno"> 2129</span> <span class="keywordtype">int</span> line ; </div>
-<div class="line"><a name="l02130"></a><span class="lineno"> 2130</span> <span class="keywordtype">int</span> nel, n_right, left_right ;</div>
-<div class="line"><a name="l02131"></a><span class="lineno"> 2131</span> <span class="keywordtype">int</span> column ;</div>
-<div class="line"><a name="l02132"></a><span class="lineno"> 2132</span> <span class="keywordtype">int</span> slit_length ;</div>
-<div class="line"><a name="l02133"></a><span class="lineno"> 2133</span> <span class="keywordtype">int</span> agreed ;</div>
-<div class="line"><a name="l02134"></a><span class="lineno"> 2134</span> <span class="keywordtype">int</span> bad_line ;</div>
-<div class="line"><a name="l02135"></a><span class="lineno"> 2135</span> <span class="keywordtype">int</span> margin ;</div>
-<div class="line"><a name="l02136"></a><span class="lineno"> 2136</span> <span class="keywordtype">int</span> iters, xdim, ndat ;</div>
-<div class="line"><a name="l02137"></a><span class="lineno"> 2137</span> <span class="keywordtype">int</span> numpar, its ;</div>
-<div class="line"><a name="l02138"></a><span class="lineno"> 2138</span> <span class="keywordtype">int</span> * mpar ;</div>
-<div class="line"><a name="l02139"></a><span class="lineno"> 2139</span> <span class="keywordtype">float</span> * xdat, * wdat ;</div>
-<div class="line"><a name="l02140"></a><span class="lineno"> 2140</span> <span class="keywordtype">float</span> tol, lab ;</div>
-<div class="line"><a name="l02141"></a><span class="lineno"> 2141</span> <span class="keywordtype">float</span> fitpar[NPAR] ;</div>
-<div class="line"><a name="l02142"></a><span class="lineno"> 2142</span> <span class="keywordtype">float</span> dervpar[NPAR] ;</div>
-<div class="line"><a name="l02143"></a><span class="lineno"> 2143</span> <span class="keywordtype">float</span> minval, maxval ;</div>
-<div class="line"><a name="l02144"></a><span class="lineno"> 2144</span> <span class="keywordtype">float</span> pos, last_pos ;</div>
-<div class="line"><a name="l02145"></a><span class="lineno"> 2145</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l02146"></a><span class="lineno"> 2146</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l02147"></a><span class="lineno"> 2147</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l02148"></a><span class="lineno"> 2148</span> </div>
-<div class="line"><a name="l02149"></a><span class="lineno"> 2149</span> </div>
-<div class="line"><a name="l02150"></a><span class="lineno"> 2150</span> <span class="keywordflow">if</span> ( NULL == lineImage )</div>
-<div class="line"><a name="l02151"></a><span class="lineno"> 2151</span> {</div>
-<div class="line"><a name="l02152"></a><span class="lineno"> 2152</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no line image given!"</span> ) ;</div>
-<div class="line"><a name="l02153"></a><span class="lineno"> 2153</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02154"></a><span class="lineno"> 2154</span> }</div>
-<div class="line"><a name="l02155"></a><span class="lineno"> 2155</span> ilx=cpl_image_get_size_x(lineImage);</div>
-<div class="line"><a name="l02156"></a><span class="lineno"> 2156</span> ily=cpl_image_get_size_y(lineImage);</div>
-<div class="line"><a name="l02157"></a><span class="lineno"> 2157</span> pidata=cpl_image_get_data_float(lineImage);</div>
-<div class="line"><a name="l02158"></a><span class="lineno"> 2158</span> </div>
-<div class="line"><a name="l02159"></a><span class="lineno"> 2159</span> slit_length = (int) sqrt (ilx) ;</div>
-<div class="line"><a name="l02160"></a><span class="lineno"> 2160</span> </div>
-<div class="line"><a name="l02161"></a><span class="lineno"> 2161</span> <span class="keywordflow">if</span> ( NULL == par )</div>
-<div class="line"><a name="l02162"></a><span class="lineno"> 2162</span> {</div>
-<div class="line"><a name="l02163"></a><span class="lineno"> 2163</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no line fit parameters given!"</span> ) ;</div>
-<div class="line"><a name="l02164"></a><span class="lineno"> 2164</span> <span class="keywordflow">return</span> -2 ;</div>
-<div class="line"><a name="l02165"></a><span class="lineno"> 2165</span> }</div>
-<div class="line"><a name="l02166"></a><span class="lineno"> 2166</span> </div>
-<div class="line"><a name="l02167"></a><span class="lineno"> 2167</span> <span class="keywordflow">if</span> ( NULL == sinfo_slit_pos )</div>
-<div class="line"><a name="l02168"></a><span class="lineno"> 2168</span> {</div>
-<div class="line"><a name="l02169"></a><span class="lineno"> 2169</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no position array allocated!"</span> ) ;</div>
-<div class="line"><a name="l02170"></a><span class="lineno"> 2170</span> <span class="keywordflow">return</span> -3 ;</div>
-<div class="line"><a name="l02171"></a><span class="lineno"> 2171</span> }</div>
-<div class="line"><a name="l02172"></a><span class="lineno"> 2172</span> </div>
-<div class="line"><a name="l02173"></a><span class="lineno"> 2173</span> <span class="keywordflow">if</span> ( box_length < slit_length ||</div>
-<div class="line"><a name="l02174"></a><span class="lineno"> 2174</span> box_length >= 3*slit_length )</div>
-<div class="line"><a name="l02175"></a><span class="lineno"> 2175</span> {</div>
-<div class="line"><a name="l02176"></a><span class="lineno"> 2176</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong fitting box length given!"</span> ) ;</div>
-<div class="line"><a name="l02177"></a><span class="lineno"> 2177</span> <span class="keywordflow">return</span> -4 ;</div>
-<div class="line"><a name="l02178"></a><span class="lineno"> 2178</span> }</div>
-<div class="line"><a name="l02179"></a><span class="lineno"> 2179</span> </div>
-<div class="line"><a name="l02180"></a><span class="lineno"> 2180</span> <span class="keywordflow">if</span> ( y_box <= 0. || y_box > 3. )</div>
-<div class="line"><a name="l02181"></a><span class="lineno"> 2181</span> {</div>
-<div class="line"><a name="l02182"></a><span class="lineno"> 2182</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong y box length given!"</span> ) ;</div>
-<div class="line"><a name="l02183"></a><span class="lineno"> 2183</span> <span class="keywordflow">return</span> -5 ;</div>
-<div class="line"><a name="l02184"></a><span class="lineno"> 2184</span> }</div>
-<div class="line"><a name="l02185"></a><span class="lineno"> 2185</span> </div>
-<div class="line"><a name="l02186"></a><span class="lineno"> 2186</span> <span class="keywordflow">if</span> ( diff_tol < 1. )</div>
-<div class="line"><a name="l02187"></a><span class="lineno"> 2187</span> {</div>
-<div class="line"><a name="l02188"></a><span class="lineno"> 2188</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"diff_tol too small!"</span> ) ;</div>
-<div class="line"><a name="l02189"></a><span class="lineno"> 2189</span> <span class="keywordflow">return</span> -6 ;</div>
-<div class="line"><a name="l02190"></a><span class="lineno"> 2190</span> }</div>
-<div class="line"><a name="l02191"></a><span class="lineno"> 2191</span> </div>
-<div class="line"><a name="l02192"></a><span class="lineno"> 2192</span> <span class="comment">/* allocate memory for the edges and the row positon of the slitlets */</span></div>
-<div class="line"><a name="l02193"></a><span class="lineno"> 2193</span> sinfo_edge = (<span class="keywordtype">int</span>*) cpl_calloc( 3*slit_length, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l02194"></a><span class="lineno"> 2194</span> dummyedge = (<span class="keywordtype">int</span>*) cpl_calloc( 3*slit_length, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l02195"></a><span class="lineno"> 2195</span> edgeclean = (<span class="keywordtype">int</span>*) cpl_calloc( slit_length-1, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l02196"></a><span class="lineno"> 2196</span> pos_row = (<span class="keywordtype">int</span>*) cpl_calloc( 3*slit_length, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l02197"></a><span class="lineno"> 2197</span> pos_rowclean = (<span class="keywordtype">int</span>*) cpl_calloc( slit_length, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l02198"></a><span class="lineno"> 2198</span> </div>
-<div class="line"><a name="l02199"></a><span class="lineno"> 2199</span> <span class="comment">/* ------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l02200"></a><span class="lineno"> 2200</span> <span class="comment"> * go through the first image columns and the fit parameters and find </span></div>
-<div class="line"><a name="l02201"></a><span class="lineno"> 2201</span> <span class="comment"> * the line with the highest intensity </span></div>
-<div class="line"><a name="l02202"></a><span class="lineno"> 2202</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02203"></a><span class="lineno"> 2203</span> agreed = -1 ;</div>
-<div class="line"><a name="l02204"></a><span class="lineno"> 2204</span> bad_line = -1 ;</div>
-<div class="line"><a name="l02205"></a><span class="lineno"> 2205</span> <span class="keywordflow">while</span>( agreed == -1 )</div>
-<div class="line"><a name="l02206"></a><span class="lineno"> 2206</span> {</div>
-<div class="line"><a name="l02207"></a><span class="lineno"> 2207</span> found = -1 ;</div>
-<div class="line"><a name="l02208"></a><span class="lineno"> 2208</span> max_intensity = -FLT_MAX ;</div>
-<div class="line"><a name="l02209"></a><span class="lineno"> 2209</span> <span class="keywordflow">for</span> ( col = 0 ; col < box_length ; col++ )</div>
-<div class="line"><a name="l02210"></a><span class="lineno"> 2210</span> {</div>
-<div class="line"><a name="l02211"></a><span class="lineno"> 2211</span> <span class="keywordflow">for</span> ( i = 0 ; i < par[0]->n_params ; i++ )</div>
-<div class="line"><a name="l02212"></a><span class="lineno"> 2212</span> {</div>
-<div class="line"><a name="l02213"></a><span class="lineno"> 2213</span> <span class="keywordflow">if</span> ( par[i]->column == col && par[i]->line != bad_line )</div>
-<div class="line"><a name="l02214"></a><span class="lineno"> 2214</span> {</div>
-<div class="line"><a name="l02215"></a><span class="lineno"> 2215</span> <span class="keywordflow">if</span> ( par[i]->fit_par[0] > max_intensity )</div>
-<div class="line"><a name="l02216"></a><span class="lineno"> 2216</span> {</div>
-<div class="line"><a name="l02217"></a><span class="lineno"> 2217</span> <span class="keywordflow">if</span> ( par[i]->fit_par[1] > 0. )</div>
-<div class="line"><a name="l02218"></a><span class="lineno"> 2218</span> {</div>
-<div class="line"><a name="l02219"></a><span class="lineno"> 2219</span> max_intensity = par[i]->fit_par[0] ;</div>
-<div class="line"><a name="l02220"></a><span class="lineno"> 2220</span> found = i ;</div>
-<div class="line"><a name="l02221"></a><span class="lineno"> 2221</span> }</div>
-<div class="line"><a name="l02222"></a><span class="lineno"> 2222</span> }</div>
-<div class="line"><a name="l02223"></a><span class="lineno"> 2223</span> }</div>
-<div class="line"><a name="l02224"></a><span class="lineno"> 2224</span> } </div>
-<div class="line"><a name="l02225"></a><span class="lineno"> 2225</span> }</div>
-<div class="line"><a name="l02226"></a><span class="lineno"> 2226</span> </div>
-<div class="line"><a name="l02227"></a><span class="lineno"> 2227</span> <span class="comment">/* --------------------------------------------------------------------</span></div>
-<div class="line"><a name="l02228"></a><span class="lineno"> 2228</span> <span class="comment"> * check if the found line is usable and if the neighbouring line </span></div>
-<div class="line"><a name="l02229"></a><span class="lineno"> 2229</span> <span class="comment"> * have intensity on near rows in neighbouring slitlets </span></div>
-<div class="line"><a name="l02230"></a><span class="lineno"> 2230</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02231"></a><span class="lineno"> 2231</span> line = par[found]->line ;</div>
-<div class="line"><a name="l02232"></a><span class="lineno"> 2232</span> column = par[found]->column ;</div>
-<div class="line"><a name="l02233"></a><span class="lineno"> 2233</span> row_pos = par[found]->fit_par[2] ;</div>
-<div class="line"><a name="l02234"></a><span class="lineno"> 2234</span> <span class="keywordflow">if</span> ( found >= 0 && max_intensity > 0. )</div>
-<div class="line"><a name="l02235"></a><span class="lineno"> 2235</span> {</div>
-<div class="line"><a name="l02236"></a><span class="lineno"> 2236</span> <span class="keywordflow">for</span> ( i = 0 ; i < par[0]->n_params ; i++ )</div>
-<div class="line"><a name="l02237"></a><span class="lineno"> 2237</span> {</div>
-<div class="line"><a name="l02238"></a><span class="lineno"> 2238</span> <span class="keywordflow">if</span> ( par[i]->line == line-1 && </div>
-<div class="line"><a name="l02239"></a><span class="lineno"> 2239</span> par[i]->column == column + slit_length )</div>
-<div class="line"><a name="l02240"></a><span class="lineno"> 2240</span> {</div>
-<div class="line"><a name="l02241"></a><span class="lineno"> 2241</span> <span class="keywordflow">if</span> ( par[i]->fit_par[2] <= (row_pos + y_box) &&</div>
-<div class="line"><a name="l02242"></a><span class="lineno"> 2242</span> par[i]->fit_par[2] >= (row_pos - y_box) )</div>
-<div class="line"><a name="l02243"></a><span class="lineno"> 2243</span> {</div>
-<div class="line"><a name="l02244"></a><span class="lineno"> 2244</span> bad_line = line ;</div>
-<div class="line"><a name="l02245"></a><span class="lineno"> 2245</span> } </div>
-<div class="line"><a name="l02246"></a><span class="lineno"> 2246</span> }</div>
-<div class="line"><a name="l02247"></a><span class="lineno"> 2247</span> }</div>
-<div class="line"><a name="l02248"></a><span class="lineno"> 2248</span> <span class="keywordflow">if</span> ( bad_line != line )</div>
-<div class="line"><a name="l02249"></a><span class="lineno"> 2249</span> {</div>
-<div class="line"><a name="l02250"></a><span class="lineno"> 2250</span> agreed = 1 ;</div>
-<div class="line"><a name="l02251"></a><span class="lineno"> 2251</span> break ;</div>
-<div class="line"><a name="l02252"></a><span class="lineno"> 2252</span> }</div>
-<div class="line"><a name="l02253"></a><span class="lineno"> 2253</span> }</div>
-<div class="line"><a name="l02254"></a><span class="lineno"> 2254</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l02255"></a><span class="lineno"> 2255</span> {</div>
-<div class="line"><a name="l02256"></a><span class="lineno"> 2256</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no emission line found in the first image columns"</span>);</div>
-<div class="line"><a name="l02257"></a><span class="lineno"> 2257</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l02258"></a><span class="lineno"> 2258</span> } </div>
-<div class="line"><a name="l02259"></a><span class="lineno"> 2259</span> }</div>
-<div class="line"><a name="l02260"></a><span class="lineno"> 2260</span> </div>
-<div class="line"><a name="l02261"></a><span class="lineno"> 2261</span> </div>
-<div class="line"><a name="l02262"></a><span class="lineno"> 2262</span> <span class="keywordflow">if</span> ( agreed == -1 )</div>
-<div class="line"><a name="l02263"></a><span class="lineno"> 2263</span> {</div>
-<div class="line"><a name="l02264"></a><span class="lineno"> 2264</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no emission line found in the first image columns"</span>) ;</div>
-<div class="line"><a name="l02265"></a><span class="lineno"> 2265</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l02266"></a><span class="lineno"> 2266</span> } </div>
-<div class="line"><a name="l02267"></a><span class="lineno"> 2267</span> </div>
-<div class="line"><a name="l02268"></a><span class="lineno"> 2268</span> <span class="comment">/* now find and store the raw sinfo_edge positions of the found slitlet */</span> </div>
-<div class="line"><a name="l02269"></a><span class="lineno"> 2269</span> n = 0 ;</div>
-<div class="line"><a name="l02270"></a><span class="lineno"> 2270</span> ed = 0 ;</div>
-<div class="line"><a name="l02271"></a><span class="lineno"> 2271</span> position=cpl_calloc(ilx,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02272"></a><span class="lineno"> 2272</span> </div>
-<div class="line"><a name="l02273"></a><span class="lineno"> 2273</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l02274"></a><span class="lineno"> 2274</span> {</div>
-<div class="line"><a name="l02275"></a><span class="lineno"> 2275</span> <span class="keywordflow">for</span> ( i = 0 ; i < par[0]->n_params ; i++ )</div>
-<div class="line"><a name="l02276"></a><span class="lineno"> 2276</span> {</div>
-<div class="line"><a name="l02277"></a><span class="lineno"> 2277</span> <span class="keywordflow">if</span> ( par[i]->column == col && par[i]->line == line )</div>
-<div class="line"><a name="l02278"></a><span class="lineno"> 2278</span> {</div>
-<div class="line"><a name="l02279"></a><span class="lineno"> 2279</span> <span class="keywordflow">if</span> ( par[i]->fit_par[0] > 0. && par[i]->fit_par[1] > 0. )</div>
-<div class="line"><a name="l02280"></a><span class="lineno"> 2280</span> {</div>
-<div class="line"><a name="l02281"></a><span class="lineno"> 2281</span> position[n] = par[i]->fit_par[2] ;</div>
-<div class="line"><a name="l02282"></a><span class="lineno"> 2282</span> <span class="keywordflow">if</span> ( n > 0 && fabs(position[n] - position[n-1]) > y_box )</div>
-<div class="line"><a name="l02283"></a><span class="lineno"> 2283</span> {</div>
-<div class="line"><a name="l02284"></a><span class="lineno"> 2284</span> sinfo_edge[ed] = col ; </div>
-<div class="line"><a name="l02285"></a><span class="lineno"> 2285</span> pos_row[ed] = sinfo_new_nint( position[n-1] ) ;</div>
-<div class="line"><a name="l02286"></a><span class="lineno"> 2286</span> ed++ ;</div>
-<div class="line"><a name="l02287"></a><span class="lineno"> 2287</span> <span class="keywordflow">if</span> ( col >= ilx - slit_length - 5 ) </div>
-<div class="line"><a name="l02288"></a><span class="lineno"> 2288</span> {</div>
-<div class="line"><a name="l02289"></a><span class="lineno"> 2289</span> pos_row[ed] = sinfo_new_nint( position[n] ) ;</div>
-<div class="line"><a name="l02290"></a><span class="lineno"> 2290</span> }</div>
-<div class="line"><a name="l02291"></a><span class="lineno"> 2291</span> }</div>
-<div class="line"><a name="l02292"></a><span class="lineno"> 2292</span> n++ ;</div>
-<div class="line"><a name="l02293"></a><span class="lineno"> 2293</span> }</div>
-<div class="line"><a name="l02294"></a><span class="lineno"> 2294</span> }</div>
-<div class="line"><a name="l02295"></a><span class="lineno"> 2295</span> }</div>
-<div class="line"><a name="l02296"></a><span class="lineno"> 2296</span> }</div>
-<div class="line"><a name="l02297"></a><span class="lineno"> 2297</span> <span class="keywordflow">if</span> ( ed < (slit_length - 1) )</div>
-<div class="line"><a name="l02298"></a><span class="lineno"> 2298</span> {</div>
-<div class="line"><a name="l02299"></a><span class="lineno"> 2299</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"not enough slitlets found"</span>) ;</div>
-<div class="line"><a name="l02300"></a><span class="lineno"> 2300</span> <span class="keywordflow">return</span> -8 ;</div>
-<div class="line"><a name="l02301"></a><span class="lineno"> 2301</span> } </div>
-<div class="line"><a name="l02302"></a><span class="lineno"> 2302</span> </div>
-<div class="line"><a name="l02303"></a><span class="lineno"> 2303</span> <span class="comment">/* now find the clean sinfo_edge and row positions of the slitlets */</span></div>
-<div class="line"><a name="l02304"></a><span class="lineno"> 2304</span> <span class="keywordflow">for</span> ( i = 1 ; i <= ed ; i ++ )</div>
-<div class="line"><a name="l02305"></a><span class="lineno"> 2305</span> {</div>
-<div class="line"><a name="l02306"></a><span class="lineno"> 2306</span> <span class="keywordflow">if</span> (dummyedge[i-1] != -1)</div>
-<div class="line"><a name="l02307"></a><span class="lineno"> 2307</span> {</div>
-<div class="line"><a name="l02308"></a><span class="lineno"> 2308</span> dummyedge[i-1] = sinfo_edge[i-1] ;</div>
-<div class="line"><a name="l02309"></a><span class="lineno"> 2309</span> }</div>
-<div class="line"><a name="l02310"></a><span class="lineno"> 2310</span> <span class="keywordflow">if</span> ( (sinfo_edge[i] - sinfo_edge[i-1]) < slit_length - 3 ||</div>
-<div class="line"><a name="l02311"></a><span class="lineno"> 2311</span> (sinfo_edge[i] - sinfo_edge[i-1]) > slit_length + 3 )</div>
-<div class="line"><a name="l02312"></a><span class="lineno"> 2312</span> {</div>
-<div class="line"><a name="l02313"></a><span class="lineno"> 2313</span> dummyedge[i] = -1 ;</div>
-<div class="line"><a name="l02314"></a><span class="lineno"> 2314</span> }</div>
-<div class="line"><a name="l02315"></a><span class="lineno"> 2315</span> <span class="keywordflow">if</span> ( (sinfo_edge[i+1] - sinfo_edge[i]) < slit_length - 3 ||</div>
-<div class="line"><a name="l02316"></a><span class="lineno"> 2316</span> (sinfo_edge[i+1] - sinfo_edge[i]) > slit_length + 3 )</div>
-<div class="line"><a name="l02317"></a><span class="lineno"> 2317</span> {</div>
-<div class="line"><a name="l02318"></a><span class="lineno"> 2318</span> dummyedge[i+1] = -1 ; </div>
-<div class="line"><a name="l02319"></a><span class="lineno"> 2319</span> }</div>
-<div class="line"><a name="l02320"></a><span class="lineno"> 2320</span> }</div>
-<div class="line"><a name="l02321"></a><span class="lineno"> 2321</span> </div>
-<div class="line"><a name="l02322"></a><span class="lineno"> 2322</span> k = 0 ;</div>
-<div class="line"><a name="l02323"></a><span class="lineno"> 2323</span> <span class="keywordflow">for</span> ( i = 0 ; i < ed ; i++ )</div>
-<div class="line"><a name="l02324"></a><span class="lineno"> 2324</span> {</div>
-<div class="line"><a name="l02325"></a><span class="lineno"> 2325</span> <span class="keywordflow">if</span> ( dummyedge[i] != -1 && dummyedge[i] != 0 )</div>
-<div class="line"><a name="l02326"></a><span class="lineno"> 2326</span> {</div>
-<div class="line"><a name="l02327"></a><span class="lineno"> 2327</span> edgeclean[k] = dummyedge[i] ;</div>
-<div class="line"><a name="l02328"></a><span class="lineno"> 2328</span> pos_rowclean[k] = pos_row[i] ;</div>
-<div class="line"><a name="l02329"></a><span class="lineno"> 2329</span> k++ ;</div>
-<div class="line"><a name="l02330"></a><span class="lineno"> 2330</span> <span class="keywordflow">if</span>( edgeclean[k-1] > (ilx - slit_length - 6 ) )</div>
-<div class="line"><a name="l02331"></a><span class="lineno"> 2331</span> {</div>
-<div class="line"><a name="l02332"></a><span class="lineno"> 2332</span> pos_rowclean[k] = pos_row[ed] ;</div>
-<div class="line"><a name="l02333"></a><span class="lineno"> 2333</span> }</div>
-<div class="line"><a name="l02334"></a><span class="lineno"> 2334</span> }</div>
-<div class="line"><a name="l02335"></a><span class="lineno"> 2335</span> }</div>
-<div class="line"><a name="l02336"></a><span class="lineno"> 2336</span> </div>
-<div class="line"><a name="l02337"></a><span class="lineno"> 2337</span> <span class="keywordflow">if</span> ( k != slit_length - 1 )</div>
-<div class="line"><a name="l02338"></a><span class="lineno"> 2338</span> {</div>
-<div class="line"><a name="l02339"></a><span class="lineno"> 2339</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"not enough clean slitlets found"</span>) ;</div>
-<div class="line"><a name="l02340"></a><span class="lineno"> 2340</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l02341"></a><span class="lineno"> 2341</span> } </div>
-<div class="line"><a name="l02342"></a><span class="lineno"> 2342</span> </div>
-<div class="line"><a name="l02343"></a><span class="lineno"> 2343</span> <span class="comment">/* determine the margins of the fitting box outside the slitlets */</span></div>
-<div class="line"><a name="l02344"></a><span class="lineno"> 2344</span> margin = ( box_length - slit_length ) / 2 ;</div>
-<div class="line"><a name="l02345"></a><span class="lineno"> 2345</span> </div>
-<div class="line"><a name="l02346"></a><span class="lineno"> 2346</span> <span class="comment">/* now go through the slitlets and store the intensity in a </span></div>
-<div class="line"><a name="l02347"></a><span class="lineno"> 2347</span> <span class="comment"> buffer sinfo_vector */</span></div>
-<div class="line"><a name="l02348"></a><span class="lineno"> 2348</span> <span class="keywordflow">for</span> ( j = 0 ; j <= k ; j++ )</div>
-<div class="line"><a name="l02349"></a><span class="lineno"> 2349</span> {</div>
-<div class="line"><a name="l02350"></a><span class="lineno"> 2350</span> m = 0 ;</div>
-<div class="line"><a name="l02351"></a><span class="lineno"> 2351</span> <span class="keywordflow">if</span> ( j == 0 )</div>
-<div class="line"><a name="l02352"></a><span class="lineno"> 2352</span> {</div>
-<div class="line"><a name="l02353"></a><span class="lineno"> 2353</span> box_buffer = sinfo_new_vector( edgeclean[0] + margin ) ;</div>
-<div class="line"><a name="l02354"></a><span class="lineno"> 2354</span> <span class="keywordflow">for</span>( col = 0 ; col < edgeclean[0] + margin ; col++ )</div>
-<div class="line"><a name="l02355"></a><span class="lineno"> 2355</span> {</div>
-<div class="line"><a name="l02356"></a><span class="lineno"> 2356</span> box_buffer->data[m] = pidata[col +ilx*pos_rowclean[0]] ;</div>
-<div class="line"><a name="l02357"></a><span class="lineno"> 2357</span> m++ ;</div>
-<div class="line"><a name="l02358"></a><span class="lineno"> 2358</span> }</div>
-<div class="line"><a name="l02359"></a><span class="lineno"> 2359</span> }</div>
-<div class="line"><a name="l02360"></a><span class="lineno"> 2360</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( j < k )</div>
-<div class="line"><a name="l02361"></a><span class="lineno"> 2361</span> {</div>
-<div class="line"><a name="l02362"></a><span class="lineno"> 2362</span> box_buffer = sinfo_new_vector( edgeclean[j] - </div>
-<div class="line"><a name="l02363"></a><span class="lineno"> 2363</span> edgeclean[j-1] + 2*margin ) ;</div>
-<div class="line"><a name="l02364"></a><span class="lineno"> 2364</span> <span class="keywordflow">for</span> ( col = edgeclean[j - 1] - margin ; </div>
-<div class="line"><a name="l02365"></a><span class="lineno"> 2365</span> col < edgeclean[j] + margin ; col++ )</div>
-<div class="line"><a name="l02366"></a><span class="lineno"> 2366</span> {</div>
-<div class="line"><a name="l02367"></a><span class="lineno"> 2367</span> box_buffer->data[m] = pidata[col + ilx*pos_rowclean[j]] ;</div>
-<div class="line"><a name="l02368"></a><span class="lineno"> 2368</span> m++ ;</div>
-<div class="line"><a name="l02369"></a><span class="lineno"> 2369</span> }</div>
-<div class="line"><a name="l02370"></a><span class="lineno"> 2370</span> }</div>
-<div class="line"><a name="l02371"></a><span class="lineno"> 2371</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l02372"></a><span class="lineno"> 2372</span> {</div>
-<div class="line"><a name="l02373"></a><span class="lineno"> 2373</span> box_buffer = sinfo_new_vector( ilx - edgeclean[k-1] + margin ) ;</div>
-<div class="line"><a name="l02374"></a><span class="lineno"> 2374</span> <span class="keywordflow">for</span> ( col = edgeclean[k - 1] - margin ; col < ilx ; col++ )</div>
-<div class="line"><a name="l02375"></a><span class="lineno"> 2375</span> {</div>
-<div class="line"><a name="l02376"></a><span class="lineno"> 2376</span> box_buffer->data[m] = pidata[col + ilx*pos_rowclean[k]] ;</div>
-<div class="line"><a name="l02377"></a><span class="lineno"> 2377</span> m++ ;</div>
-<div class="line"><a name="l02378"></a><span class="lineno"> 2378</span> }</div>
-<div class="line"><a name="l02379"></a><span class="lineno"> 2379</span> }</div>
-<div class="line"><a name="l02380"></a><span class="lineno"> 2380</span> </div>
-<div class="line"><a name="l02381"></a><span class="lineno"> 2381</span> <span class="keywordflow">for</span> ( left_right = 0 ; left_right <= 1 ; left_right++ )</div>
-<div class="line"><a name="l02382"></a><span class="lineno"> 2382</span> { </div>
-<div class="line"><a name="l02383"></a><span class="lineno"> 2383</span> nel = 0 ;</div>
-<div class="line"><a name="l02384"></a><span class="lineno"> 2384</span> <span class="keywordflow">if</span> ( left_right == 0 )</div>
-<div class="line"><a name="l02385"></a><span class="lineno"> 2385</span> {</div>
-<div class="line"><a name="l02386"></a><span class="lineno"> 2386</span> nel = box_buffer -> n_elements / 2 ;</div>
-<div class="line"><a name="l02387"></a><span class="lineno"> 2387</span> }</div>
-<div class="line"><a name="l02388"></a><span class="lineno"> 2388</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02389"></a><span class="lineno"> 2389</span> {</div>
-<div class="line"><a name="l02390"></a><span class="lineno"> 2390</span> <span class="keywordflow">if</span> ( box_buffer -> n_elements % 2 == 0 )</div>
-<div class="line"><a name="l02391"></a><span class="lineno"> 2391</span> {</div>
-<div class="line"><a name="l02392"></a><span class="lineno"> 2392</span> nel = box_buffer -> n_elements / 2 ;</div>
-<div class="line"><a name="l02393"></a><span class="lineno"> 2393</span> }</div>
-<div class="line"><a name="l02394"></a><span class="lineno"> 2394</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02395"></a><span class="lineno"> 2395</span> {</div>
-<div class="line"><a name="l02396"></a><span class="lineno"> 2396</span> nel = box_buffer -> n_elements / 2 + 1 ;</div>
-<div class="line"><a name="l02397"></a><span class="lineno"> 2397</span> }</div>
-<div class="line"><a name="l02398"></a><span class="lineno"> 2398</span> }</div>
-<div class="line"><a name="l02399"></a><span class="lineno"> 2399</span> </div>
-<div class="line"><a name="l02400"></a><span class="lineno"> 2400</span> <span class="comment">/* now split the buffer in the midth in a left and right </span></div>
-<div class="line"><a name="l02401"></a><span class="lineno"> 2401</span> <span class="comment"> part for fitting */</span></div>
-<div class="line"><a name="l02402"></a><span class="lineno"> 2402</span> half_buffer = sinfo_new_vector( nel ) ;</div>
-<div class="line"><a name="l02403"></a><span class="lineno"> 2403</span> <span class="keywordflow">if</span> ( left_right == 0 )</div>
-<div class="line"><a name="l02404"></a><span class="lineno"> 2404</span> {</div>
-<div class="line"><a name="l02405"></a><span class="lineno"> 2405</span> <span class="keywordflow">for</span> ( i = 0 ; i < nel ; i++ )</div>
-<div class="line"><a name="l02406"></a><span class="lineno"> 2406</span> {</div>
-<div class="line"><a name="l02407"></a><span class="lineno"> 2407</span> half_buffer -> data[i] = box_buffer -> data[i] ;</div>
-<div class="line"><a name="l02408"></a><span class="lineno"> 2408</span> }</div>
-<div class="line"><a name="l02409"></a><span class="lineno"> 2409</span> }</div>
-<div class="line"><a name="l02410"></a><span class="lineno"> 2410</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02411"></a><span class="lineno"> 2411</span> {</div>
-<div class="line"><a name="l02412"></a><span class="lineno"> 2412</span> n_right = 0 ;</div>
-<div class="line"><a name="l02413"></a><span class="lineno"> 2413</span> <span class="keywordflow">for</span> ( i = box_buffer -> n_elements - 1 ; </div>
-<div class="line"><a name="l02414"></a><span class="lineno"> 2414</span> i >= box_buffer -> n_elements - nel ; i-- )</div>
-<div class="line"><a name="l02415"></a><span class="lineno"> 2415</span> {</div>
-<div class="line"><a name="l02416"></a><span class="lineno"> 2416</span> half_buffer -> data[n_right] = box_buffer -> data[i] ;</div>
-<div class="line"><a name="l02417"></a><span class="lineno"> 2417</span> n_right++ ;</div>
-<div class="line"><a name="l02418"></a><span class="lineno"> 2418</span> }</div>
-<div class="line"><a name="l02419"></a><span class="lineno"> 2419</span> }</div>
-<div class="line"><a name="l02420"></a><span class="lineno"> 2420</span> </div>
-<div class="line"><a name="l02421"></a><span class="lineno"> 2421</span> xdat = (<span class="keywordtype">float</span> *) cpl_calloc( nel, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l02422"></a><span class="lineno"> 2422</span> wdat = (<span class="keywordtype">float</span> *) cpl_calloc( nel, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l02423"></a><span class="lineno"> 2423</span> mpar = (<span class="keywordtype">int</span> *) cpl_calloc( NPAR, <span class="keyword">sizeof</span> (<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l02424"></a><span class="lineno"> 2424</span> </div>
-<div class="line"><a name="l02425"></a><span class="lineno"> 2425</span> <span class="comment">/* set initial values for the fitting routine */</span></div>
-<div class="line"><a name="l02426"></a><span class="lineno"> 2426</span> minval = FLT_MAX ;</div>
-<div class="line"><a name="l02427"></a><span class="lineno"> 2427</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l02428"></a><span class="lineno"> 2428</span> <span class="keywordflow">for</span> ( i = 0 ; i < nel ; i++ )</div>
-<div class="line"><a name="l02429"></a><span class="lineno"> 2429</span> {</div>
-<div class="line"><a name="l02430"></a><span class="lineno"> 2430</span> xdat[i] = i ;</div>
-<div class="line"><a name="l02431"></a><span class="lineno"> 2431</span> wdat[i] = 1.0 ;</div>
-<div class="line"><a name="l02432"></a><span class="lineno"> 2432</span> <span class="keywordflow">if</span> ( half_buffer -> data[i] < minval )</div>
-<div class="line"><a name="l02433"></a><span class="lineno"> 2433</span> {</div>
-<div class="line"><a name="l02434"></a><span class="lineno"> 2434</span> minval = half_buffer -> data[i] ;</div>
-<div class="line"><a name="l02435"></a><span class="lineno"> 2435</span> }</div>
-<div class="line"><a name="l02436"></a><span class="lineno"> 2436</span> <span class="keywordflow">if</span> ( half_buffer -> data[i] > maxval )</div>
-<div class="line"><a name="l02437"></a><span class="lineno"> 2437</span> {</div>
-<div class="line"><a name="l02438"></a><span class="lineno"> 2438</span> maxval = half_buffer -> data[i] ;</div>
-<div class="line"><a name="l02439"></a><span class="lineno"> 2439</span> }</div>
-<div class="line"><a name="l02440"></a><span class="lineno"> 2440</span> }</div>
-<div class="line"><a name="l02441"></a><span class="lineno"> 2441</span> </div>
-<div class="line"><a name="l02442"></a><span class="lineno"> 2442</span> fitpar[2] = minval ;</div>
-<div class="line"><a name="l02443"></a><span class="lineno"> 2443</span> fitpar[3] = maxval ; </div>
-<div class="line"><a name="l02444"></a><span class="lineno"> 2444</span> </div>
-<div class="line"><a name="l02445"></a><span class="lineno"> 2445</span> <span class="comment">/* search for both positions of the half intensity of </span></div>
-<div class="line"><a name="l02446"></a><span class="lineno"> 2446</span> <span class="comment"> the hat within the buffer */</span></div>
-<div class="line"><a name="l02447"></a><span class="lineno"> 2447</span> init1 = -1 ; </div>
-<div class="line"><a name="l02448"></a><span class="lineno"> 2448</span> <span class="keywordflow">for</span> ( i = 0 ; i < nel ; i++ )</div>
-<div class="line"><a name="l02449"></a><span class="lineno"> 2449</span> {</div>
-<div class="line"><a name="l02450"></a><span class="lineno"> 2450</span> <span class="keywordflow">if</span> ( half_buffer -> data[i] >= ( maxval + minval ) / 2. )</div>
-<div class="line"><a name="l02451"></a><span class="lineno"> 2451</span> {</div>
-<div class="line"><a name="l02452"></a><span class="lineno"> 2452</span> init1 = i ;</div>
-<div class="line"><a name="l02453"></a><span class="lineno"> 2453</span> break ;</div>
-<div class="line"><a name="l02454"></a><span class="lineno"> 2454</span> }</div>
-<div class="line"><a name="l02455"></a><span class="lineno"> 2455</span> }</div>
-<div class="line"><a name="l02456"></a><span class="lineno"> 2456</span> </div>
-<div class="line"><a name="l02457"></a><span class="lineno"> 2457</span> <span class="comment">/* determine the initial positions from the found values */</span></div>
-<div class="line"><a name="l02458"></a><span class="lineno"> 2458</span> <span class="keywordflow">if</span> ( init1 != -1 )</div>
-<div class="line"><a name="l02459"></a><span class="lineno"> 2459</span> {</div>
-<div class="line"><a name="l02460"></a><span class="lineno"> 2460</span> fitpar[0] = ((float)init1 - 1.) ;</div>
-<div class="line"><a name="l02461"></a><span class="lineno"> 2461</span> fitpar[1] = ((float)init1 + 1.) ;</div>
-<div class="line"><a name="l02462"></a><span class="lineno"> 2462</span> }</div>
-<div class="line"><a name="l02463"></a><span class="lineno"> 2463</span> </div>
-<div class="line"><a name="l02464"></a><span class="lineno"> 2464</span> <span class="keywordflow">for</span> ( i = 0 ; i < NPAR ; i++ )</div>
-<div class="line"><a name="l02465"></a><span class="lineno"> 2465</span> {</div>
-<div class="line"><a name="l02466"></a><span class="lineno"> 2466</span> mpar[i] = 1 ;</div>
-<div class="line"><a name="l02467"></a><span class="lineno"> 2467</span> dervpar[i] = 0. ;</div>
-<div class="line"><a name="l02468"></a><span class="lineno"> 2468</span> }</div>
-<div class="line"><a name="l02469"></a><span class="lineno"> 2469</span> </div>
-<div class="line"><a name="l02470"></a><span class="lineno"> 2470</span> xdim = XDIMA ;</div>
-<div class="line"><a name="l02471"></a><span class="lineno"> 2471</span> ndat = nel ;</div>
-<div class="line"><a name="l02472"></a><span class="lineno"> 2472</span> numpar = NPAR ;</div>
-<div class="line"><a name="l02473"></a><span class="lineno"> 2473</span> tol = TOLA ;</div>
-<div class="line"><a name="l02474"></a><span class="lineno"> 2474</span> lab = LABA ;</div>
-<div class="line"><a name="l02475"></a><span class="lineno"> 2475</span> its = ITSA ;</div>
-<div class="line"><a name="l02476"></a><span class="lineno"> 2476</span> </div>
-<div class="line"><a name="l02477"></a><span class="lineno"> 2477</span> <span class="comment">/* finally, do the least squares fit over the buffer data */</span></div>
-<div class="line"><a name="l02478"></a><span class="lineno"> 2478</span> <span class="keywordflow">if</span> ( 0 > ( iters = sinfo_new_lsqfit_edge( xdat, &xdim, </div>
-<div class="line"><a name="l02479"></a><span class="lineno"> 2479</span> half_buffer -> data, </div>
-<div class="line"><a name="l02480"></a><span class="lineno"> 2480</span> wdat, &ndat, fitpar,</div>
-<div class="line"><a name="l02481"></a><span class="lineno"> 2481</span> dervpar, mpar, &numpar, </div>
-<div class="line"><a name="l02482"></a><span class="lineno"> 2482</span> &tol, &its, &lab )) )</div>
-<div class="line"><a name="l02483"></a><span class="lineno"> 2483</span> { </div>
-<div class="line"><a name="l02484"></a><span class="lineno"> 2484</span> <span class="comment">/* if the fit doesn't succeed the initial values are taken */</span></div>
-<div class="line"><a name="l02485"></a><span class="lineno"> 2485</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">" least squares fit failed, error"</span></div>
-<div class="line"><a name="l02486"></a><span class="lineno"> 2486</span> <span class="stringliteral">" no.: %d in slitlet: %d\n"</span>, iters, j) ;</div>
-<div class="line"><a name="l02487"></a><span class="lineno"> 2487</span> fitpar[0] = ((float)init1 - 1.) ;</div>
-<div class="line"><a name="l02488"></a><span class="lineno"> 2488</span> fitpar[1] = ((float)init1 + 1.) ;</div>
-<div class="line"><a name="l02489"></a><span class="lineno"> 2489</span> }</div>
-<div class="line"><a name="l02490"></a><span class="lineno"> 2490</span> </div>
-<div class="line"><a name="l02491"></a><span class="lineno"> 2491</span> pos = (fitpar[0] + fitpar[1]) / 2. ;</div>
-<div class="line"><a name="l02492"></a><span class="lineno"> 2492</span> </div>
-<div class="line"><a name="l02493"></a><span class="lineno"> 2493</span> <span class="comment">/*---------------------------------------------------------------- </span></div>
-<div class="line"><a name="l02494"></a><span class="lineno"> 2494</span> <span class="comment"> * now discern the left and the right sinfo_edge fit of the </span></div>
-<div class="line"><a name="l02495"></a><span class="lineno"> 2495</span> <span class="comment"> * slitlets and associate the fit results with the absolute </span></div>
-<div class="line"><a name="l02496"></a><span class="lineno"> 2496</span> <span class="comment"> * positions in the image consider the difference of the fitted </span></div>
-<div class="line"><a name="l02497"></a><span class="lineno"> 2497</span> <span class="comment"> * slit position to the expected position and decide wether the </span></div>
-<div class="line"><a name="l02498"></a><span class="lineno"> 2498</span> <span class="comment"> * fit is taken or the expected value is taken.</span></div>
-<div class="line"><a name="l02499"></a><span class="lineno"> 2499</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02500"></a><span class="lineno"> 2500</span> <span class="keywordflow">if</span> ( left_right == 0 )</div>
-<div class="line"><a name="l02501"></a><span class="lineno"> 2501</span> {</div>
-<div class="line"><a name="l02502"></a><span class="lineno"> 2502</span> <span class="comment">/* take care of the column position of the fit boxes </span></div>
-<div class="line"><a name="l02503"></a><span class="lineno"> 2503</span> <span class="comment"> to get the absolute positions */</span></div>
-<div class="line"><a name="l02504"></a><span class="lineno"> 2504</span> <span class="keywordflow">if</span> ( j == 0 )</div>
-<div class="line"><a name="l02505"></a><span class="lineno"> 2505</span> {</div>
-<div class="line"><a name="l02506"></a><span class="lineno"> 2506</span> <span class="keywordflow">if</span> ( fabs(pos - ((<span class="keywordtype">float</span>)edgeclean[0] - 1. - </div>
-<div class="line"><a name="l02507"></a><span class="lineno"> 2507</span> (float)slit_length)) < diff_tol )</div>
-<div class="line"><a name="l02508"></a><span class="lineno"> 2508</span> {</div>
-<div class="line"><a name="l02509"></a><span class="lineno"> 2509</span> sinfo_slit_pos[0][0] = pos ;</div>
-<div class="line"><a name="l02510"></a><span class="lineno"> 2510</span> }</div>
-<div class="line"><a name="l02511"></a><span class="lineno"> 2511</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02512"></a><span class="lineno"> 2512</span> {</div>
-<div class="line"><a name="l02513"></a><span class="lineno"> 2513</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"something wrong with fitted left"</span></div>
-<div class="line"><a name="l02514"></a><span class="lineno"> 2514</span> <span class="stringliteral">" position of slitlet 0"</span>) ;</div>
-<div class="line"><a name="l02515"></a><span class="lineno"> 2515</span> <span class="keywordflow">if</span> ( (<span class="keywordtype">float</span>) edgeclean[0] - 1. - </div>
-<div class="line"><a name="l02516"></a><span class="lineno"> 2516</span> (<span class="keywordtype">float</span>)slit_length < 0. )</div>
-<div class="line"><a name="l02517"></a><span class="lineno"> 2517</span> {</div>
-<div class="line"><a name="l02518"></a><span class="lineno"> 2518</span> sinfo_slit_pos[0][0] = 0. ;</div>
-<div class="line"><a name="l02519"></a><span class="lineno"> 2519</span> }</div>
-<div class="line"><a name="l02520"></a><span class="lineno"> 2520</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02521"></a><span class="lineno"> 2521</span> {</div>
-<div class="line"><a name="l02522"></a><span class="lineno"> 2522</span> sinfo_slit_pos[0][0] = (float)edgeclean[0] - 1. - </div>
-<div class="line"><a name="l02523"></a><span class="lineno"> 2523</span> (<span class="keywordtype">float</span>)slit_length ;</div>
-<div class="line"><a name="l02524"></a><span class="lineno"> 2524</span> }</div>
-<div class="line"><a name="l02525"></a><span class="lineno"> 2525</span> }</div>
-<div class="line"><a name="l02526"></a><span class="lineno"> 2526</span> }</div>
-<div class="line"><a name="l02527"></a><span class="lineno"> 2527</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( j < k )</div>
-<div class="line"><a name="l02528"></a><span class="lineno"> 2528</span> {</div>
-<div class="line"><a name="l02529"></a><span class="lineno"> 2529</span> <span class="keywordflow">if</span> ( fabs( pos - (<span class="keywordtype">float</span>)margin ) < diff_tol )</div>
-<div class="line"><a name="l02530"></a><span class="lineno"> 2530</span> {</div>
-<div class="line"><a name="l02531"></a><span class="lineno"> 2531</span> sinfo_slit_pos[j][0] = pos + (float)edgeclean[j-1] - </div>
-<div class="line"><a name="l02532"></a><span class="lineno"> 2532</span> (<span class="keywordtype">float</span>)margin ;</div>
-<div class="line"><a name="l02533"></a><span class="lineno"> 2533</span> }</div>
-<div class="line"><a name="l02534"></a><span class="lineno"> 2534</span> else</div>
-<div class="line"><a name="l02535"></a><span class="lineno"> 2535</span> {</div>
-<div class="line"><a name="l02536"></a><span class="lineno"> 2536</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"something wrong with fitted left"</span></div>
-<div class="line"><a name="l02537"></a><span class="lineno"> 2537</span> <span class="stringliteral">" position of slitlet %d"</span>, j) ;</div>
-<div class="line"><a name="l02538"></a><span class="lineno"> 2538</span> sinfo_slit_pos[j][0] = (float)edgeclean[j-1] - 1. ;</div>
-<div class="line"><a name="l02539"></a><span class="lineno"> 2539</span> }</div>
-<div class="line"><a name="l02540"></a><span class="lineno"> 2540</span> }</div>
-<div class="line"><a name="l02541"></a><span class="lineno"> 2541</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02542"></a><span class="lineno"> 2542</span> {</div>
-<div class="line"><a name="l02543"></a><span class="lineno"> 2543</span> <span class="keywordflow">if</span> ( fabs( pos - (<span class="keywordtype">float</span>)margin ) < diff_tol )</div>
-<div class="line"><a name="l02544"></a><span class="lineno"> 2544</span> {</div>
-<div class="line"><a name="l02545"></a><span class="lineno"> 2545</span> sinfo_slit_pos[k][0] = pos + (float)edgeclean[k-1] - </div>
-<div class="line"><a name="l02546"></a><span class="lineno"> 2546</span> (<span class="keywordtype">float</span>)margin ;</div>
-<div class="line"><a name="l02547"></a><span class="lineno"> 2547</span> }</div>
-<div class="line"><a name="l02548"></a><span class="lineno"> 2548</span> else</div>
-<div class="line"><a name="l02549"></a><span class="lineno"> 2549</span> {</div>
-<div class="line"><a name="l02550"></a><span class="lineno"> 2550</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"something wrong with fitted left"</span></div>
-<div class="line"><a name="l02551"></a><span class="lineno"> 2551</span> <span class="stringliteral">" position of slitlet %d"</span>, j) ;</div>
-<div class="line"><a name="l02552"></a><span class="lineno"> 2552</span> sinfo_slit_pos[k][0] = (float)edgeclean[k-1] - 1. ;</div>
-<div class="line"><a name="l02553"></a><span class="lineno"> 2553</span> }</div>
-<div class="line"><a name="l02554"></a><span class="lineno"> 2554</span> }</div>
-<div class="line"><a name="l02555"></a><span class="lineno"> 2555</span> }</div>
-<div class="line"><a name="l02556"></a><span class="lineno"> 2556</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02557"></a><span class="lineno"> 2557</span> {</div>
-<div class="line"><a name="l02558"></a><span class="lineno"> 2558</span> <span class="comment">/* take care of the column position of the fit boxes </span></div>
-<div class="line"><a name="l02559"></a><span class="lineno"> 2559</span> <span class="comment"> to get the absolute positions */</span></div>
-<div class="line"><a name="l02560"></a><span class="lineno"> 2560</span> <span class="keywordflow">if</span> ( j == 0 )</div>
-<div class="line"><a name="l02561"></a><span class="lineno"> 2561</span> {</div>
-<div class="line"><a name="l02562"></a><span class="lineno"> 2562</span> <span class="keywordflow">if</span> ( fabs( (<span class="keywordtype">float</span>)box_buffer->n_elements - pos - </div>
-<div class="line"><a name="l02563"></a><span class="lineno"> 2563</span> (<span class="keywordtype">float</span>)edgeclean[0] ) < diff_tol )</div>
-<div class="line"><a name="l02564"></a><span class="lineno"> 2564</span> {</div>
-<div class="line"><a name="l02565"></a><span class="lineno"> 2565</span> sinfo_slit_pos[0][1] = (float)(box_buffer->n_elements - </div>
-<div class="line"><a name="l02566"></a><span class="lineno"> 2566</span> 1) - pos ;</div>
-<div class="line"><a name="l02567"></a><span class="lineno"> 2567</span> }</div>
-<div class="line"><a name="l02568"></a><span class="lineno"> 2568</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02569"></a><span class="lineno"> 2569</span> {</div>
-<div class="line"><a name="l02570"></a><span class="lineno"> 2570</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"something wrong with fitted "</span></div>
-<div class="line"><a name="l02571"></a><span class="lineno"> 2571</span> <span class="stringliteral">"right position of slitlet 0"</span>) ;</div>
-<div class="line"><a name="l02572"></a><span class="lineno"> 2572</span> sinfo_slit_pos[0][1] = (float)edgeclean[0] - 1. ;</div>
-<div class="line"><a name="l02573"></a><span class="lineno"> 2573</span> }</div>
-<div class="line"><a name="l02574"></a><span class="lineno"> 2574</span> }</div>
-<div class="line"><a name="l02575"></a><span class="lineno"> 2575</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( j < k )</div>
-<div class="line"><a name="l02576"></a><span class="lineno"> 2576</span> {</div>
-<div class="line"><a name="l02577"></a><span class="lineno"> 2577</span> <span class="keywordflow">if</span> ( fabs( (<span class="keywordtype">float</span>)box_buffer->n_elements - pos</div>
-<div class="line"><a name="l02578"></a><span class="lineno"> 2578</span> + (<span class="keywordtype">float</span>)edgeclean[j-1] - (<span class="keywordtype">float</span>)margin - </div>
-<div class="line"><a name="l02579"></a><span class="lineno"> 2579</span> (<span class="keywordtype">float</span>)edgeclean[j] ) < diff_tol )</div>
-<div class="line"><a name="l02580"></a><span class="lineno"> 2580</span> {</div>
-<div class="line"><a name="l02581"></a><span class="lineno"> 2581</span> sinfo_slit_pos[j][1] = (float)(box_buffer->n_elements -</div>
-<div class="line"><a name="l02582"></a><span class="lineno"> 2582</span> 1) - pos</div>
-<div class="line"><a name="l02583"></a><span class="lineno"> 2583</span> + (float)edgeclean[j-1] - (<span class="keywordtype">float</span>)margin ;</div>
-<div class="line"><a name="l02584"></a><span class="lineno"> 2584</span> }</div>
-<div class="line"><a name="l02585"></a><span class="lineno"> 2585</span> else</div>
-<div class="line"><a name="l02586"></a><span class="lineno"> 2586</span> {</div>
-<div class="line"><a name="l02587"></a><span class="lineno"> 2587</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"something wrong with fitted right "</span></div>
-<div class="line"><a name="l02588"></a><span class="lineno"> 2588</span> <span class="stringliteral">"position of slitlet %d"</span>, j) ;</div>
-<div class="line"><a name="l02589"></a><span class="lineno"> 2589</span> sinfo_slit_pos[j][1] = (float)edgeclean[j] - 1. ;</div>
-<div class="line"><a name="l02590"></a><span class="lineno"> 2590</span> }</div>
-<div class="line"><a name="l02591"></a><span class="lineno"> 2591</span> }</div>
-<div class="line"><a name="l02592"></a><span class="lineno"> 2592</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02593"></a><span class="lineno"> 2593</span> {</div>
-<div class="line"><a name="l02594"></a><span class="lineno"> 2594</span> <span class="keywordflow">if</span> ( edgeclean[k-1] + slit_length > ilx )</div>
-<div class="line"><a name="l02595"></a><span class="lineno"> 2595</span> {</div>
-<div class="line"><a name="l02596"></a><span class="lineno"> 2596</span> last_pos = (float)(ilx - 1) ;</div>
-<div class="line"><a name="l02597"></a><span class="lineno"> 2597</span> }</div>
-<div class="line"><a name="l02598"></a><span class="lineno"> 2598</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02599"></a><span class="lineno"> 2599</span> {</div>
-<div class="line"><a name="l02600"></a><span class="lineno"> 2600</span> last_pos = (float)(edgeclean[k-1] - 1 + slit_length) ;</div>
-<div class="line"><a name="l02601"></a><span class="lineno"> 2601</span> }</div>
-<div class="line"><a name="l02602"></a><span class="lineno"> 2602</span> <span class="keywordflow">if</span> ( fabs( (<span class="keywordtype">float</span>)(box_buffer->n_elements - 1) - pos</div>
-<div class="line"><a name="l02603"></a><span class="lineno"> 2603</span> + (<span class="keywordtype">float</span>)edgeclean[k-1] - (float)margin - </div>
-<div class="line"><a name="l02604"></a><span class="lineno"> 2604</span> last_pos ) < diff_tol )</div>
-<div class="line"><a name="l02605"></a><span class="lineno"> 2605</span> {</div>
-<div class="line"><a name="l02606"></a><span class="lineno"> 2606</span> sinfo_slit_pos[k][1] = (float)(box_buffer->n_elements -</div>
-<div class="line"><a name="l02607"></a><span class="lineno"> 2607</span> 1) - pos</div>
-<div class="line"><a name="l02608"></a><span class="lineno"> 2608</span> + (float)edgeclean[k-1] - (<span class="keywordtype">float</span>)margin ;</div>
-<div class="line"><a name="l02609"></a><span class="lineno"> 2609</span> }</div>
-<div class="line"><a name="l02610"></a><span class="lineno"> 2610</span> else</div>
-<div class="line"><a name="l02611"></a><span class="lineno"> 2611</span> {</div>
-<div class="line"><a name="l02612"></a><span class="lineno"> 2612</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"something wrong with fitted right "</span></div>
-<div class="line"><a name="l02613"></a><span class="lineno"> 2613</span> <span class="stringliteral">"position of slitlet %d\n"</span>, j) ;</div>
-<div class="line"><a name="l02614"></a><span class="lineno"> 2614</span> sinfo_slit_pos[k][1] = last_pos ;</div>
-<div class="line"><a name="l02615"></a><span class="lineno"> 2615</span> }</div>
-<div class="line"><a name="l02616"></a><span class="lineno"> 2616</span> }</div>
-<div class="line"><a name="l02617"></a><span class="lineno"> 2617</span> }</div>
-<div class="line"><a name="l02618"></a><span class="lineno"> 2618</span> </div>
-<div class="line"><a name="l02619"></a><span class="lineno"> 2619</span> sinfo_new_destroy_vector ( half_buffer ) ;</div>
-<div class="line"><a name="l02620"></a><span class="lineno"> 2620</span> cpl_free( xdat ) ;</div>
-<div class="line"><a name="l02621"></a><span class="lineno"> 2621</span> cpl_free( wdat ) ;</div>
-<div class="line"><a name="l02622"></a><span class="lineno"> 2622</span> cpl_free( mpar ) ;</div>
-<div class="line"><a name="l02623"></a><span class="lineno"> 2623</span> }</div>
-<div class="line"><a name="l02624"></a><span class="lineno"> 2624</span> sinfo_new_destroy_vector ( box_buffer ) ;</div>
-<div class="line"><a name="l02625"></a><span class="lineno"> 2625</span> }</div>
-<div class="line"><a name="l02626"></a><span class="lineno"> 2626</span> </div>
-<div class="line"><a name="l02627"></a><span class="lineno"> 2627</span> cpl_free( sinfo_edge ) ;</div>
-<div class="line"><a name="l02628"></a><span class="lineno"> 2628</span> cpl_free( pos_row ) ;</div>
-<div class="line"><a name="l02629"></a><span class="lineno"> 2629</span> cpl_free( edgeclean ) ;</div>
-<div class="line"><a name="l02630"></a><span class="lineno"> 2630</span> cpl_free( dummyedge ) ;</div>
-<div class="line"><a name="l02631"></a><span class="lineno"> 2631</span> cpl_free( pos_rowclean ) ;</div>
-<div class="line"><a name="l02632"></a><span class="lineno"> 2632</span> cpl_free(position);</div>
-<div class="line"><a name="l02633"></a><span class="lineno"> 2633</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l02634"></a><span class="lineno"> 2634</span> }</div>
-<div class="line"><a name="l02635"></a><span class="lineno"> 2635</span> </div>
-<div class="line"><a name="l02670"></a><span class="lineno"> 2670</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l02671"></a><span class="lineno"> 2671</span> sinfo_new_fit_slits_edge( cpl_image * lineImage, </div>
-<div class="line"><a name="l02672"></a><span class="lineno"> 2672</span> FitParams ** par,</div>
-<div class="line"><a name="l02673"></a><span class="lineno"> 2673</span> <span class="keywordtype">float</span> ** sinfo_slit_pos,</div>
-<div class="line"><a name="l02674"></a><span class="lineno"> 2674</span> <span class="keywordtype">int</span> box_length,</div>
-<div class="line"><a name="l02675"></a><span class="lineno"> 2675</span> <span class="keywordtype">float</span> y_box,</div>
-<div class="line"><a name="l02676"></a><span class="lineno"> 2676</span> <span class="keywordtype">float</span> diff_tol )</div>
-<div class="line"><a name="l02677"></a><span class="lineno"> 2677</span> {</div>
-<div class="line"><a name="l02678"></a><span class="lineno"> 2678</span> <span class="keywordtype">float</span>* position=NULL ;</div>
-<div class="line"><a name="l02679"></a><span class="lineno"> 2679</span> <span class="keywordtype">int</span> * sinfo_edge, * edgeclean ;</div>
-<div class="line"><a name="l02680"></a><span class="lineno"> 2680</span> <span class="keywordtype">int</span> * dummyedge ;</div>
-<div class="line"><a name="l02681"></a><span class="lineno"> 2681</span> <span class="keywordtype">int</span> * pos_row, * pos_rowclean ;</div>
-<div class="line"><a name="l02682"></a><span class="lineno"> 2682</span> Vector * box_buffer ;</div>
-<div class="line"><a name="l02683"></a><span class="lineno"> 2683</span> Vector * half_buffer ;</div>
-<div class="line"><a name="l02684"></a><span class="lineno"> 2684</span> <span class="keywordtype">float</span> max_intensity ;</div>
-<div class="line"><a name="l02685"></a><span class="lineno"> 2685</span> <span class="keywordtype">float</span> row_pos ;</div>
-<div class="line"><a name="l02686"></a><span class="lineno"> 2686</span> <span class="keywordtype">int</span> row, col ;</div>
-<div class="line"><a name="l02687"></a><span class="lineno"> 2687</span> <span class="keywordtype">int</span> i, j, k, m, n, ed ;</div>
-<div class="line"><a name="l02688"></a><span class="lineno"> 2688</span> <span class="keywordtype">int</span> found, init1 ;</div>
-<div class="line"><a name="l02689"></a><span class="lineno"> 2689</span> <span class="keywordtype">int</span> line ; </div>
-<div class="line"><a name="l02690"></a><span class="lineno"> 2690</span> <span class="keywordtype">int</span> nel, n_right, left_right ;</div>
-<div class="line"><a name="l02691"></a><span class="lineno"> 2691</span> <span class="keywordtype">int</span> column ;</div>
-<div class="line"><a name="l02692"></a><span class="lineno"> 2692</span> <span class="keywordtype">int</span> slit_length ;</div>
-<div class="line"><a name="l02693"></a><span class="lineno"> 2693</span> <span class="keywordtype">int</span> agreed ;</div>
-<div class="line"><a name="l02694"></a><span class="lineno"> 2694</span> <span class="keywordtype">int</span> bad_line ;</div>
-<div class="line"><a name="l02695"></a><span class="lineno"> 2695</span> <span class="keywordtype">int</span> margin ;</div>
-<div class="line"><a name="l02696"></a><span class="lineno"> 2696</span> <span class="keywordtype">int</span> iters, xdim, ndat ;</div>
-<div class="line"><a name="l02697"></a><span class="lineno"> 2697</span> <span class="keywordtype">int</span> numpar, its ;</div>
-<div class="line"><a name="l02698"></a><span class="lineno"> 2698</span> <span class="keywordtype">int</span> * mpar ;</div>
-<div class="line"><a name="l02699"></a><span class="lineno"> 2699</span> <span class="keywordtype">float</span> * xdat, * wdat ;</div>
-<div class="line"><a name="l02700"></a><span class="lineno"> 2700</span> <span class="keywordtype">float</span> tol, lab ;</div>
-<div class="line"><a name="l02701"></a><span class="lineno"> 2701</span> <span class="keywordtype">float</span> fitpar[NPAR] ;</div>
-<div class="line"><a name="l02702"></a><span class="lineno"> 2702</span> <span class="keywordtype">float</span> dervpar[NPAR] ;</div>
-<div class="line"><a name="l02703"></a><span class="lineno"> 2703</span> <span class="keywordtype">float</span> minval, maxval ;</div>
-<div class="line"><a name="l02704"></a><span class="lineno"> 2704</span> <span class="keywordtype">float</span> pos, last_pos ;</div>
-<div class="line"><a name="l02705"></a><span class="lineno"> 2705</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l02706"></a><span class="lineno"> 2706</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l02707"></a><span class="lineno"> 2707</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l02708"></a><span class="lineno"> 2708</span> </div>
-<div class="line"><a name="l02709"></a><span class="lineno"> 2709</span> </div>
-<div class="line"><a name="l02710"></a><span class="lineno"> 2710</span> <span class="keywordflow">if</span> ( NULL == lineImage )</div>
-<div class="line"><a name="l02711"></a><span class="lineno"> 2711</span> {</div>
-<div class="line"><a name="l02712"></a><span class="lineno"> 2712</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no line image given!"</span> ) ;</div>
-<div class="line"><a name="l02713"></a><span class="lineno"> 2713</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02714"></a><span class="lineno"> 2714</span> }</div>
-<div class="line"><a name="l02715"></a><span class="lineno"> 2715</span> ilx=cpl_image_get_size_x(lineImage);</div>
-<div class="line"><a name="l02716"></a><span class="lineno"> 2716</span> ily=cpl_image_get_size_y(lineImage);</div>
-<div class="line"><a name="l02717"></a><span class="lineno"> 2717</span> pidata=cpl_image_get_data_float(lineImage);</div>
-<div class="line"><a name="l02718"></a><span class="lineno"> 2718</span> </div>
-<div class="line"><a name="l02719"></a><span class="lineno"> 2719</span> slit_length = (int) sqrt (ilx) ;</div>
-<div class="line"><a name="l02720"></a><span class="lineno"> 2720</span> </div>
-<div class="line"><a name="l02721"></a><span class="lineno"> 2721</span> <span class="keywordflow">if</span> ( NULL == par )</div>
-<div class="line"><a name="l02722"></a><span class="lineno"> 2722</span> {</div>
-<div class="line"><a name="l02723"></a><span class="lineno"> 2723</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no line fit parameters given!"</span> ) ;</div>
-<div class="line"><a name="l02724"></a><span class="lineno"> 2724</span> <span class="keywordflow">return</span> -2 ;</div>
-<div class="line"><a name="l02725"></a><span class="lineno"> 2725</span> }</div>
-<div class="line"><a name="l02726"></a><span class="lineno"> 2726</span> </div>
-<div class="line"><a name="l02727"></a><span class="lineno"> 2727</span> <span class="keywordflow">if</span> ( NULL == sinfo_slit_pos )</div>
-<div class="line"><a name="l02728"></a><span class="lineno"> 2728</span> {</div>
-<div class="line"><a name="l02729"></a><span class="lineno"> 2729</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no position array allocated!"</span> ) ;</div>
-<div class="line"><a name="l02730"></a><span class="lineno"> 2730</span> <span class="keywordflow">return</span> -3 ;</div>
-<div class="line"><a name="l02731"></a><span class="lineno"> 2731</span> }</div>
-<div class="line"><a name="l02732"></a><span class="lineno"> 2732</span> </div>
-<div class="line"><a name="l02733"></a><span class="lineno"> 2733</span> <span class="keywordflow">if</span> ( box_length < 4 ||</div>
-<div class="line"><a name="l02734"></a><span class="lineno"> 2734</span> box_length >= 2*slit_length )</div>
-<div class="line"><a name="l02735"></a><span class="lineno"> 2735</span> {</div>
-<div class="line"><a name="l02736"></a><span class="lineno"> 2736</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong fitting box length given!"</span> ) ;</div>
-<div class="line"><a name="l02737"></a><span class="lineno"> 2737</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" Must be 4 <= box_length < %d "</span>,2*slit_length ) ;</div>
-<div class="line"><a name="l02738"></a><span class="lineno"> 2738</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" You have chosen box_length = %d "</span>,box_length);</div>
-<div class="line"><a name="l02739"></a><span class="lineno"> 2739</span> <span class="keywordflow">return</span> -4 ;</div>
-<div class="line"><a name="l02740"></a><span class="lineno"> 2740</span> }</div>
-<div class="line"><a name="l02741"></a><span class="lineno"> 2741</span> </div>
-<div class="line"><a name="l02742"></a><span class="lineno"> 2742</span> <span class="keywordflow">if</span> ( y_box <= 0. || y_box > 3. )</div>
-<div class="line"><a name="l02743"></a><span class="lineno"> 2743</span> {</div>
-<div class="line"><a name="l02744"></a><span class="lineno"> 2744</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong y box length given!"</span> ) ;</div>
-<div class="line"><a name="l02745"></a><span class="lineno"> 2745</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" y_box=%f not in range (0,3]!"</span>,y_box);</div>
-<div class="line"><a name="l02746"></a><span class="lineno"> 2746</span> <span class="keywordflow">return</span> -5 ;</div>
-<div class="line"><a name="l02747"></a><span class="lineno"> 2747</span> }</div>
-<div class="line"><a name="l02748"></a><span class="lineno"> 2748</span> </div>
-<div class="line"><a name="l02749"></a><span class="lineno"> 2749</span> <span class="keywordflow">if</span> ( diff_tol < 1. )</div>
-<div class="line"><a name="l02750"></a><span class="lineno"> 2750</span> {</div>
-<div class="line"><a name="l02751"></a><span class="lineno"> 2751</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" diff_tol too small!"</span> ) ;</div>
-<div class="line"><a name="l02752"></a><span class="lineno"> 2752</span> <span class="keywordflow">return</span> -6 ;</div>
-<div class="line"><a name="l02753"></a><span class="lineno"> 2753</span> }</div>
-<div class="line"><a name="l02754"></a><span class="lineno"> 2754</span> </div>
-<div class="line"><a name="l02755"></a><span class="lineno"> 2755</span> <span class="comment">/* allocate memory for the edges and the row positon of the slitlets */</span></div>
-<div class="line"><a name="l02756"></a><span class="lineno"> 2756</span> sinfo_edge = (<span class="keywordtype">int</span>*) cpl_calloc( 3*slit_length, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l02757"></a><span class="lineno"> 2757</span> dummyedge = (<span class="keywordtype">int</span>*) cpl_calloc( 3*slit_length, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l02758"></a><span class="lineno"> 2758</span> edgeclean = (<span class="keywordtype">int</span>*) cpl_calloc( slit_length-1, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l02759"></a><span class="lineno"> 2759</span> pos_row = (<span class="keywordtype">int</span>*) cpl_calloc( 3*slit_length, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l02760"></a><span class="lineno"> 2760</span> pos_rowclean = (<span class="keywordtype">int</span>*) cpl_calloc( slit_length, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l02761"></a><span class="lineno"> 2761</span> </div>
-<div class="line"><a name="l02762"></a><span class="lineno"> 2762</span> <span class="comment">/* ------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l02763"></a><span class="lineno"> 2763</span> <span class="comment"> * go through the first image columns and the fit parameters and find </span></div>
-<div class="line"><a name="l02764"></a><span class="lineno"> 2764</span> <span class="comment"> * the line with the highest intensity </span></div>
-<div class="line"><a name="l02765"></a><span class="lineno"> 2765</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02766"></a><span class="lineno"> 2766</span> agreed = -1 ;</div>
-<div class="line"><a name="l02767"></a><span class="lineno"> 2767</span> bad_line = -1 ;</div>
-<div class="line"><a name="l02768"></a><span class="lineno"> 2768</span> <span class="keywordflow">while</span>( agreed == -1 )</div>
-<div class="line"><a name="l02769"></a><span class="lineno"> 2769</span> {</div>
-<div class="line"><a name="l02770"></a><span class="lineno"> 2770</span> found = -1 ;</div>
-<div class="line"><a name="l02771"></a><span class="lineno"> 2771</span> max_intensity = -FLT_MAX ;</div>
-<div class="line"><a name="l02772"></a><span class="lineno"> 2772</span> <span class="keywordflow">for</span> ( col = 0 ; col < slit_length ; col++ )</div>
-<div class="line"><a name="l02773"></a><span class="lineno"> 2773</span> {</div>
-<div class="line"><a name="l02774"></a><span class="lineno"> 2774</span> <span class="keywordflow">for</span> ( i = 0 ; i < par[0]->n_params ; i++ )</div>
-<div class="line"><a name="l02775"></a><span class="lineno"> 2775</span> {</div>
-<div class="line"><a name="l02776"></a><span class="lineno"> 2776</span> <span class="keywordflow">if</span> ( par[i]->column == col && par[i] -> line != bad_line )</div>
-<div class="line"><a name="l02777"></a><span class="lineno"> 2777</span> {</div>
-<div class="line"><a name="l02778"></a><span class="lineno"> 2778</span> <span class="keywordflow">if</span> ( par[i]->fit_par[0] > max_intensity )</div>
-<div class="line"><a name="l02779"></a><span class="lineno"> 2779</span> {</div>
-<div class="line"><a name="l02780"></a><span class="lineno"> 2780</span> <span class="keywordflow">if</span> ( par[i]->fit_par[1] >= 1. && </div>
-<div class="line"><a name="l02781"></a><span class="lineno"> 2781</span> par[i]->fit_par[2] > 0. )</div>
-<div class="line"><a name="l02782"></a><span class="lineno"> 2782</span> {</div>
-<div class="line"><a name="l02783"></a><span class="lineno"> 2783</span> max_intensity = par[i]->fit_par[0] ;</div>
-<div class="line"><a name="l02784"></a><span class="lineno"> 2784</span> found = i ;</div>
-<div class="line"><a name="l02785"></a><span class="lineno"> 2785</span> }</div>
-<div class="line"><a name="l02786"></a><span class="lineno"> 2786</span> }</div>
-<div class="line"><a name="l02787"></a><span class="lineno"> 2787</span> }</div>
-<div class="line"><a name="l02788"></a><span class="lineno"> 2788</span> } </div>
-<div class="line"><a name="l02789"></a><span class="lineno"> 2789</span> }</div>
-<div class="line"><a name="l02790"></a><span class="lineno"> 2790</span> </div>
-<div class="line"><a name="l02791"></a><span class="lineno"> 2791</span> <span class="comment">/* --------------------------------------------------------------------</span></div>
-<div class="line"><a name="l02792"></a><span class="lineno"> 2792</span> <span class="comment"> * check if the found line is usable and if the neighbouring line </span></div>
-<div class="line"><a name="l02793"></a><span class="lineno"> 2793</span> <span class="comment"> * have intensity on near rows in neighbouring slitlets </span></div>
-<div class="line"><a name="l02794"></a><span class="lineno"> 2794</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02795"></a><span class="lineno"> 2795</span> line = par[found]->line ;</div>
-<div class="line"><a name="l02796"></a><span class="lineno"> 2796</span> column = par[found]->column ;</div>
-<div class="line"><a name="l02797"></a><span class="lineno"> 2797</span> row_pos = par[found]->fit_par[2] ;</div>
-<div class="line"><a name="l02798"></a><span class="lineno"> 2798</span> <span class="keywordflow">if</span> ( found >= 0 && max_intensity > 0. )</div>
-<div class="line"><a name="l02799"></a><span class="lineno"> 2799</span> {</div>
-<div class="line"><a name="l02800"></a><span class="lineno"> 2800</span> <span class="keywordflow">for</span> ( i = 0 ; i < par[0]->n_params ; i++ )</div>
-<div class="line"><a name="l02801"></a><span class="lineno"> 2801</span> {</div>
-<div class="line"><a name="l02802"></a><span class="lineno"> 2802</span> <span class="keywordflow">if</span> ( par[i]->line == line-1 && </div>
-<div class="line"><a name="l02803"></a><span class="lineno"> 2803</span> par[i]->column == column + slit_length )</div>
-<div class="line"><a name="l02804"></a><span class="lineno"> 2804</span> {</div>
-<div class="line"><a name="l02805"></a><span class="lineno"> 2805</span> <span class="keywordflow">if</span> ( par[i]->fit_par[2] <= (row_pos + y_box) &&</div>
-<div class="line"><a name="l02806"></a><span class="lineno"> 2806</span> par[i]->fit_par[2] >= (row_pos - y_box) )</div>
-<div class="line"><a name="l02807"></a><span class="lineno"> 2807</span> {</div>
-<div class="line"><a name="l02808"></a><span class="lineno"> 2808</span> bad_line = line ;</div>
-<div class="line"><a name="l02809"></a><span class="lineno"> 2809</span> } </div>
-<div class="line"><a name="l02810"></a><span class="lineno"> 2810</span> }</div>
-<div class="line"><a name="l02811"></a><span class="lineno"> 2811</span> }</div>
-<div class="line"><a name="l02812"></a><span class="lineno"> 2812</span> <span class="keywordflow">if</span> ( bad_line != line )</div>
-<div class="line"><a name="l02813"></a><span class="lineno"> 2813</span> {</div>
-<div class="line"><a name="l02814"></a><span class="lineno"> 2814</span> agreed = 1 ;</div>
-<div class="line"><a name="l02815"></a><span class="lineno"> 2815</span> break ;</div>
-<div class="line"><a name="l02816"></a><span class="lineno"> 2816</span> }</div>
-<div class="line"><a name="l02817"></a><span class="lineno"> 2817</span> }</div>
-<div class="line"><a name="l02818"></a><span class="lineno"> 2818</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l02819"></a><span class="lineno"> 2819</span> {</div>
-<div class="line"><a name="l02820"></a><span class="lineno"> 2820</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no emission line found in "</span></div>
-<div class="line"><a name="l02821"></a><span class="lineno"> 2821</span> <span class="stringliteral">"the first image columns"</span>) ;</div>
-<div class="line"><a name="l02822"></a><span class="lineno"> 2822</span> cpl_free( sinfo_edge ) ;</div>
-<div class="line"><a name="l02823"></a><span class="lineno"> 2823</span> cpl_free( pos_row ) ;</div>
-<div class="line"><a name="l02824"></a><span class="lineno"> 2824</span> cpl_free( edgeclean ) ;</div>
-<div class="line"><a name="l02825"></a><span class="lineno"> 2825</span> cpl_free( dummyedge ) ;</div>
-<div class="line"><a name="l02826"></a><span class="lineno"> 2826</span> cpl_free( pos_rowclean ) ;</div>
-<div class="line"><a name="l02827"></a><span class="lineno"> 2827</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l02828"></a><span class="lineno"> 2828</span> } </div>
-<div class="line"><a name="l02829"></a><span class="lineno"> 2829</span> }</div>
-<div class="line"><a name="l02830"></a><span class="lineno"> 2830</span> </div>
-<div class="line"><a name="l02831"></a><span class="lineno"> 2831</span> </div>
-<div class="line"><a name="l02832"></a><span class="lineno"> 2832</span> <span class="keywordflow">if</span> ( agreed == -1 )</div>
-<div class="line"><a name="l02833"></a><span class="lineno"> 2833</span> {</div>
-<div class="line"><a name="l02834"></a><span class="lineno"> 2834</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no emission line found in the first image columns"</span>) ;</div>
-<div class="line"><a name="l02835"></a><span class="lineno"> 2835</span> cpl_free( sinfo_edge ) ;</div>
-<div class="line"><a name="l02836"></a><span class="lineno"> 2836</span> cpl_free( pos_row ) ;</div>
-<div class="line"><a name="l02837"></a><span class="lineno"> 2837</span> cpl_free( edgeclean ) ;</div>
-<div class="line"><a name="l02838"></a><span class="lineno"> 2838</span> cpl_free( dummyedge ) ;</div>
-<div class="line"><a name="l02839"></a><span class="lineno"> 2839</span> cpl_free( pos_rowclean ) ;</div>
-<div class="line"><a name="l02840"></a><span class="lineno"> 2840</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l02841"></a><span class="lineno"> 2841</span> } </div>
-<div class="line"><a name="l02842"></a><span class="lineno"> 2842</span> </div>
-<div class="line"><a name="l02843"></a><span class="lineno"> 2843</span> <span class="comment">/* now find and store the raw sinfo_edge positions of the found slitlet */</span> </div>
-<div class="line"><a name="l02844"></a><span class="lineno"> 2844</span> n = 0 ;</div>
-<div class="line"><a name="l02845"></a><span class="lineno"> 2845</span> ed = 0 ;</div>
-<div class="line"><a name="l02846"></a><span class="lineno"> 2846</span> position=cpl_calloc(ilx,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02847"></a><span class="lineno"> 2847</span> </div>
-<div class="line"><a name="l02848"></a><span class="lineno"> 2848</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l02849"></a><span class="lineno"> 2849</span> {</div>
-<div class="line"><a name="l02850"></a><span class="lineno"> 2850</span> <span class="keywordflow">for</span> ( i = 0 ; i < par[0]->n_params ; i++ )</div>
-<div class="line"><a name="l02851"></a><span class="lineno"> 2851</span> {</div>
-<div class="line"><a name="l02852"></a><span class="lineno"> 2852</span> <span class="keywordflow">if</span> ( par[i]->column == col && par[i]->line == line )</div>
-<div class="line"><a name="l02853"></a><span class="lineno"> 2853</span> {</div>
-<div class="line"><a name="l02854"></a><span class="lineno"> 2854</span> <span class="keywordflow">if</span> ( par[i]->fit_par[0] > 0. && </div>
-<div class="line"><a name="l02855"></a><span class="lineno"> 2855</span> par[i]->fit_par[1] >= 1. && </div>
-<div class="line"><a name="l02856"></a><span class="lineno"> 2856</span> par[i]->fit_par[2] > 0. )</div>
-<div class="line"><a name="l02857"></a><span class="lineno"> 2857</span> {</div>
-<div class="line"><a name="l02858"></a><span class="lineno"> 2858</span> position[n] = par[i]->fit_par[2] ;</div>
-<div class="line"><a name="l02859"></a><span class="lineno"> 2859</span> <span class="keywordflow">if</span> ( n > 0 && fabs(position[n] - position[n-1]) > y_box )</div>
-<div class="line"><a name="l02860"></a><span class="lineno"> 2860</span> {</div>
-<div class="line"><a name="l02861"></a><span class="lineno"> 2861</span> sinfo_edge[ed] = col ; </div>
-<div class="line"><a name="l02862"></a><span class="lineno"> 2862</span> pos_row[ed] = sinfo_new_nint( position[n-1] ) ;</div>
-<div class="line"><a name="l02863"></a><span class="lineno"> 2863</span> ed++ ;</div>
-<div class="line"><a name="l02864"></a><span class="lineno"> 2864</span> <span class="keywordflow">if</span> ( col >= ilx - slit_length - 5 ) </div>
-<div class="line"><a name="l02865"></a><span class="lineno"> 2865</span> {</div>
-<div class="line"><a name="l02866"></a><span class="lineno"> 2866</span> pos_row[ed] = sinfo_new_nint( position[n] ) ;</div>
-<div class="line"><a name="l02867"></a><span class="lineno"> 2867</span> }</div>
-<div class="line"><a name="l02868"></a><span class="lineno"> 2868</span> }</div>
-<div class="line"><a name="l02869"></a><span class="lineno"> 2869</span> n++ ;</div>
-<div class="line"><a name="l02870"></a><span class="lineno"> 2870</span> }</div>
-<div class="line"><a name="l02871"></a><span class="lineno"> 2871</span> }</div>
-<div class="line"><a name="l02872"></a><span class="lineno"> 2872</span> }</div>
-<div class="line"><a name="l02873"></a><span class="lineno"> 2873</span> }</div>
-<div class="line"><a name="l02874"></a><span class="lineno"> 2874</span> <span class="keywordflow">if</span> ( ed < (slit_length - 1) )</div>
-<div class="line"><a name="l02875"></a><span class="lineno"> 2875</span> {</div>
-<div class="line"><a name="l02876"></a><span class="lineno"> 2876</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" not enough slitlets found"</span>) ;</div>
-<div class="line"><a name="l02877"></a><span class="lineno"> 2877</span> cpl_free( sinfo_edge ) ;</div>
-<div class="line"><a name="l02878"></a><span class="lineno"> 2878</span> cpl_free( pos_row ) ;</div>
-<div class="line"><a name="l02879"></a><span class="lineno"> 2879</span> cpl_free( edgeclean ) ;</div>
-<div class="line"><a name="l02880"></a><span class="lineno"> 2880</span> cpl_free( dummyedge ) ;</div>
-<div class="line"><a name="l02881"></a><span class="lineno"> 2881</span> cpl_free( pos_rowclean ) ;</div>
-<div class="line"><a name="l02882"></a><span class="lineno"> 2882</span> <span class="keywordflow">return</span> -8 ;</div>
-<div class="line"><a name="l02883"></a><span class="lineno"> 2883</span> } </div>
-<div class="line"><a name="l02884"></a><span class="lineno"> 2884</span> </div>
-<div class="line"><a name="l02885"></a><span class="lineno"> 2885</span> <span class="comment">/* now find the clean sinfo_edge and row positions of the slitlets */</span></div>
-<div class="line"><a name="l02886"></a><span class="lineno"> 2886</span> <span class="keywordflow">for</span> ( i = 1 ; i <= ed ; i ++ )</div>
-<div class="line"><a name="l02887"></a><span class="lineno"> 2887</span> {</div>
-<div class="line"><a name="l02888"></a><span class="lineno"> 2888</span> <span class="keywordflow">if</span> ( i == ed )</div>
-<div class="line"><a name="l02889"></a><span class="lineno"> 2889</span> {</div>
-<div class="line"><a name="l02890"></a><span class="lineno"> 2890</span> <span class="keywordflow">if</span> ( (sinfo_edge[i-1] - sinfo_edge[i-2]) < slit_length - 3 ||</div>
-<div class="line"><a name="l02891"></a><span class="lineno"> 2891</span> (sinfo_edge[i-1] - sinfo_edge[i-2]) > slit_length + 3 )</div>
-<div class="line"><a name="l02892"></a><span class="lineno"> 2892</span> {</div>
-<div class="line"><a name="l02893"></a><span class="lineno"> 2893</span> dummyedge[i-1] = -1 ;</div>
-<div class="line"><a name="l02894"></a><span class="lineno"> 2894</span> }</div>
-<div class="line"><a name="l02895"></a><span class="lineno"> 2895</span> </div>
-<div class="line"><a name="l02896"></a><span class="lineno"> 2896</span> }</div>
-<div class="line"><a name="l02897"></a><span class="lineno"> 2897</span> <span class="keywordflow">if</span> (dummyedge[i-1] != -1)</div>
-<div class="line"><a name="l02898"></a><span class="lineno"> 2898</span> {</div>
-<div class="line"><a name="l02899"></a><span class="lineno"> 2899</span> dummyedge[i-1] = sinfo_edge[i-1] ;</div>
-<div class="line"><a name="l02900"></a><span class="lineno"> 2900</span> }</div>
-<div class="line"><a name="l02901"></a><span class="lineno"> 2901</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02902"></a><span class="lineno"> 2902</span> {</div>
-<div class="line"><a name="l02903"></a><span class="lineno"> 2903</span> continue ;</div>
-<div class="line"><a name="l02904"></a><span class="lineno"> 2904</span> }</div>
-<div class="line"><a name="l02905"></a><span class="lineno"> 2905</span> <span class="keywordflow">if</span> ( i < ed )</div>
-<div class="line"><a name="l02906"></a><span class="lineno"> 2906</span> {</div>
-<div class="line"><a name="l02907"></a><span class="lineno"> 2907</span> <span class="keywordflow">if</span> ( (sinfo_edge[i] - sinfo_edge[i-1]) < slit_length - 3 ||</div>
-<div class="line"><a name="l02908"></a><span class="lineno"> 2908</span> (sinfo_edge[i] - sinfo_edge[i-1]) > slit_length + 3 )</div>
-<div class="line"><a name="l02909"></a><span class="lineno"> 2909</span> {</div>
-<div class="line"><a name="l02910"></a><span class="lineno"> 2910</span> dummyedge[i] = -1 ;</div>
-<div class="line"><a name="l02911"></a><span class="lineno"> 2911</span> }</div>
-<div class="line"><a name="l02912"></a><span class="lineno"> 2912</span> }</div>
-<div class="line"><a name="l02913"></a><span class="lineno"> 2913</span> <span class="keywordflow">if</span> ( i + 1 < ed && dummyedge[i] != -1 )</div>
-<div class="line"><a name="l02914"></a><span class="lineno"> 2914</span> {</div>
-<div class="line"><a name="l02915"></a><span class="lineno"> 2915</span> <span class="keywordflow">if</span> ( (sinfo_edge[i+1] - sinfo_edge[i]) < slit_length - 3 ||</div>
-<div class="line"><a name="l02916"></a><span class="lineno"> 2916</span> (sinfo_edge[i+1] - sinfo_edge[i]) > slit_length + 3 )</div>
-<div class="line"><a name="l02917"></a><span class="lineno"> 2917</span> {</div>
-<div class="line"><a name="l02918"></a><span class="lineno"> 2918</span> dummyedge[i+1] = -1 ; </div>
-<div class="line"><a name="l02919"></a><span class="lineno"> 2919</span> }</div>
-<div class="line"><a name="l02920"></a><span class="lineno"> 2920</span> }</div>
-<div class="line"><a name="l02921"></a><span class="lineno"> 2921</span> }</div>
-<div class="line"><a name="l02922"></a><span class="lineno"> 2922</span> </div>
-<div class="line"><a name="l02923"></a><span class="lineno"> 2923</span> k = 0 ;</div>
-<div class="line"><a name="l02924"></a><span class="lineno"> 2924</span> <span class="keywordflow">for</span> ( i = 0 ; i < ed ; i++ )</div>
-<div class="line"><a name="l02925"></a><span class="lineno"> 2925</span> {</div>
-<div class="line"><a name="l02926"></a><span class="lineno"> 2926</span> <span class="keywordflow">if</span> ( dummyedge[i] != -1 && dummyedge[i] != 0 )</div>
-<div class="line"><a name="l02927"></a><span class="lineno"> 2927</span> {</div>
-<div class="line"><a name="l02928"></a><span class="lineno"> 2928</span> edgeclean[k] = dummyedge[i] ;</div>
-<div class="line"><a name="l02929"></a><span class="lineno"> 2929</span> pos_rowclean[k] = pos_row[i] ;</div>
-<div class="line"><a name="l02930"></a><span class="lineno"> 2930</span> k++ ;</div>
-<div class="line"><a name="l02931"></a><span class="lineno"> 2931</span> <span class="keywordflow">if</span>( edgeclean[k-1] > (ilx - slit_length - 6 ) )</div>
-<div class="line"><a name="l02932"></a><span class="lineno"> 2932</span> {</div>
-<div class="line"><a name="l02933"></a><span class="lineno"> 2933</span> pos_rowclean[k] = pos_row[ed] ;</div>
-<div class="line"><a name="l02934"></a><span class="lineno"> 2934</span> }</div>
-<div class="line"><a name="l02935"></a><span class="lineno"> 2935</span> }</div>
-<div class="line"><a name="l02936"></a><span class="lineno"> 2936</span> }</div>
-<div class="line"><a name="l02937"></a><span class="lineno"> 2937</span> </div>
-<div class="line"><a name="l02938"></a><span class="lineno"> 2938</span> <span class="keywordflow">if</span> ( k != slit_length - 1 )</div>
-<div class="line"><a name="l02939"></a><span class="lineno"> 2939</span> {</div>
-<div class="line"><a name="l02940"></a><span class="lineno"> 2940</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" not enough clean slitlets found"</span>) ;</div>
-<div class="line"><a name="l02941"></a><span class="lineno"> 2941</span> cpl_free( sinfo_edge ) ;</div>
-<div class="line"><a name="l02942"></a><span class="lineno"> 2942</span> cpl_free( pos_row ) ;</div>
-<div class="line"><a name="l02943"></a><span class="lineno"> 2943</span> cpl_free( edgeclean ) ;</div>
-<div class="line"><a name="l02944"></a><span class="lineno"> 2944</span> cpl_free( dummyedge ) ;</div>
-<div class="line"><a name="l02945"></a><span class="lineno"> 2945</span> cpl_free( pos_rowclean ) ;</div>
-<div class="line"><a name="l02946"></a><span class="lineno"> 2946</span> <span class="keywordflow">return</span> -8 ;</div>
-<div class="line"><a name="l02947"></a><span class="lineno"> 2947</span> } </div>
-<div class="line"><a name="l02948"></a><span class="lineno"> 2948</span> </div>
-<div class="line"><a name="l02949"></a><span class="lineno"> 2949</span> <span class="comment">/* determine the margins of the fitting box outside the slitlets */</span></div>
-<div class="line"><a name="l02950"></a><span class="lineno"> 2950</span> margin = box_length / 2 ;</div>
-<div class="line"><a name="l02951"></a><span class="lineno"> 2951</span> </div>
-<div class="line"><a name="l02952"></a><span class="lineno"> 2952</span> <span class="comment">/* ------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l02953"></a><span class="lineno"> 2953</span> <span class="comment"> * now go through the slitlets, search along each column within a box with </span></div>
-<div class="line"><a name="l02954"></a><span class="lineno"> 2954</span> <span class="comment"> * half width y_box the maximum value and store these found values in a </span></div>
-<div class="line"><a name="l02955"></a><span class="lineno"> 2955</span> <span class="comment"> * buffer</span></div>
-<div class="line"><a name="l02956"></a><span class="lineno"> 2956</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02957"></a><span class="lineno"> 2957</span> <span class="keywordflow">for</span> ( j = 0 ; j <= k ; j++ )</div>
-<div class="line"><a name="l02958"></a><span class="lineno"> 2958</span> {</div>
-<div class="line"><a name="l02959"></a><span class="lineno"> 2959</span> m = 0 ;</div>
-<div class="line"><a name="l02960"></a><span class="lineno"> 2960</span> <span class="keywordflow">if</span> ( j == 0 )</div>
-<div class="line"><a name="l02961"></a><span class="lineno"> 2961</span> {</div>
-<div class="line"><a name="l02962"></a><span class="lineno"> 2962</span> box_buffer = sinfo_new_vector( edgeclean[0] + margin ) ;</div>
-<div class="line"><a name="l02963"></a><span class="lineno"> 2963</span> <span class="keywordflow">for</span>( col = 0 ; col < edgeclean[0] + margin ; col++ )</div>
-<div class="line"><a name="l02964"></a><span class="lineno"> 2964</span> {</div>
-<div class="line"><a name="l02965"></a><span class="lineno"> 2965</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l02966"></a><span class="lineno"> 2966</span> <span class="keywordflow">for</span> ( row = pos_rowclean[0] - sinfo_new_nint(y_box) ; </div>
-<div class="line"><a name="l02967"></a><span class="lineno"> 2967</span> row <= pos_rowclean[0] + sinfo_new_nint(y_box) ; row++ )</div>
-<div class="line"><a name="l02968"></a><span class="lineno"> 2968</span> {</div>
-<div class="line"><a name="l02969"></a><span class="lineno"> 2969</span> <span class="keywordflow">if</span> ( maxval < pidata[col + ilx*row] )</div>
-<div class="line"><a name="l02970"></a><span class="lineno"> 2970</span> {</div>
-<div class="line"><a name="l02971"></a><span class="lineno"> 2971</span> maxval = pidata[col + ilx*row] ;</div>
-<div class="line"><a name="l02972"></a><span class="lineno"> 2972</span> }</div>
-<div class="line"><a name="l02973"></a><span class="lineno"> 2973</span> }</div>
-<div class="line"><a name="l02974"></a><span class="lineno"> 2974</span> box_buffer->data[m] = maxval ;</div>
-<div class="line"><a name="l02975"></a><span class="lineno"> 2975</span> m++ ;</div>
-<div class="line"><a name="l02976"></a><span class="lineno"> 2976</span> }</div>
-<div class="line"><a name="l02977"></a><span class="lineno"> 2977</span> }</div>
-<div class="line"><a name="l02978"></a><span class="lineno"> 2978</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( j < k )</div>
-<div class="line"><a name="l02979"></a><span class="lineno"> 2979</span> {</div>
-<div class="line"><a name="l02980"></a><span class="lineno"> 2980</span> box_buffer = sinfo_new_vector( edgeclean[j] - </div>
-<div class="line"><a name="l02981"></a><span class="lineno"> 2981</span> edgeclean[j-1] + 2*margin ) ;</div>
-<div class="line"><a name="l02982"></a><span class="lineno"> 2982</span> <span class="keywordflow">for</span> ( col = edgeclean[j - 1] - margin ; </div>
-<div class="line"><a name="l02983"></a><span class="lineno"> 2983</span> col < edgeclean[j] + margin ; col++ )</div>
-<div class="line"><a name="l02984"></a><span class="lineno"> 2984</span> {</div>
-<div class="line"><a name="l02985"></a><span class="lineno"> 2985</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l02986"></a><span class="lineno"> 2986</span> <span class="keywordflow">for</span> ( row = pos_rowclean[j] - sinfo_new_nint(y_box) ; </div>
-<div class="line"><a name="l02987"></a><span class="lineno"> 2987</span> row <= pos_rowclean[j] + sinfo_new_nint(y_box) ; row++ )</div>
-<div class="line"><a name="l02988"></a><span class="lineno"> 2988</span> {</div>
-<div class="line"><a name="l02989"></a><span class="lineno"> 2989</span> <span class="keywordflow">if</span> ( maxval < pidata[col + ilx*row] )</div>
-<div class="line"><a name="l02990"></a><span class="lineno"> 2990</span> {</div>
-<div class="line"><a name="l02991"></a><span class="lineno"> 2991</span> maxval = pidata[col + ilx*row] ;</div>
-<div class="line"><a name="l02992"></a><span class="lineno"> 2992</span> }</div>
-<div class="line"><a name="l02993"></a><span class="lineno"> 2993</span> }</div>
-<div class="line"><a name="l02994"></a><span class="lineno"> 2994</span> box_buffer->data[m] = maxval ;</div>
-<div class="line"><a name="l02995"></a><span class="lineno"> 2995</span> m++ ;</div>
-<div class="line"><a name="l02996"></a><span class="lineno"> 2996</span> }</div>
-<div class="line"><a name="l02997"></a><span class="lineno"> 2997</span> }</div>
-<div class="line"><a name="l02998"></a><span class="lineno"> 2998</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l02999"></a><span class="lineno"> 2999</span> {</div>
-<div class="line"><a name="l03000"></a><span class="lineno"> 3000</span> box_buffer = sinfo_new_vector( ilx - edgeclean[k-1] + margin ) ;</div>
-<div class="line"><a name="l03001"></a><span class="lineno"> 3001</span> <span class="keywordflow">for</span> ( col = edgeclean[k - 1] - margin ; col < ilx ; col++ )</div>
-<div class="line"><a name="l03002"></a><span class="lineno"> 3002</span> {</div>
-<div class="line"><a name="l03003"></a><span class="lineno"> 3003</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l03004"></a><span class="lineno"> 3004</span> <span class="keywordflow">for</span> ( row = pos_rowclean[k] - sinfo_new_nint(y_box) ; </div>
-<div class="line"><a name="l03005"></a><span class="lineno"> 3005</span> row <= pos_rowclean[k] + sinfo_new_nint(y_box) ; row++ )</div>
-<div class="line"><a name="l03006"></a><span class="lineno"> 3006</span> {</div>
-<div class="line"><a name="l03007"></a><span class="lineno"> 3007</span> <span class="keywordflow">if</span> ( maxval < pidata[col + ilx*row] )</div>
-<div class="line"><a name="l03008"></a><span class="lineno"> 3008</span> {</div>
-<div class="line"><a name="l03009"></a><span class="lineno"> 3009</span> maxval = pidata[col + ilx*row] ;</div>
-<div class="line"><a name="l03010"></a><span class="lineno"> 3010</span> }</div>
-<div class="line"><a name="l03011"></a><span class="lineno"> 3011</span> }</div>
-<div class="line"><a name="l03012"></a><span class="lineno"> 3012</span> box_buffer->data[m] = maxval ;</div>
-<div class="line"><a name="l03013"></a><span class="lineno"> 3013</span> m++ ;</div>
-<div class="line"><a name="l03014"></a><span class="lineno"> 3014</span> }</div>
-<div class="line"><a name="l03015"></a><span class="lineno"> 3015</span> }</div>
-<div class="line"><a name="l03016"></a><span class="lineno"> 3016</span> </div>
-<div class="line"><a name="l03017"></a><span class="lineno"> 3017</span> <span class="keywordflow">for</span> ( left_right = 0 ; left_right <= 1 ; left_right++ )</div>
-<div class="line"><a name="l03018"></a><span class="lineno"> 3018</span> { </div>
-<div class="line"><a name="l03019"></a><span class="lineno"> 3019</span> nel = 0 ;</div>
-<div class="line"><a name="l03020"></a><span class="lineno"> 3020</span> <span class="keywordflow">if</span> ( left_right == 0 )</div>
-<div class="line"><a name="l03021"></a><span class="lineno"> 3021</span> {</div>
-<div class="line"><a name="l03022"></a><span class="lineno"> 3022</span> nel = box_buffer -> n_elements / 2 ;</div>
-<div class="line"><a name="l03023"></a><span class="lineno"> 3023</span> }</div>
-<div class="line"><a name="l03024"></a><span class="lineno"> 3024</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03025"></a><span class="lineno"> 3025</span> {</div>
-<div class="line"><a name="l03026"></a><span class="lineno"> 3026</span> <span class="keywordflow">if</span> ( box_buffer -> n_elements % 2 == 0 )</div>
-<div class="line"><a name="l03027"></a><span class="lineno"> 3027</span> {</div>
-<div class="line"><a name="l03028"></a><span class="lineno"> 3028</span> nel = box_buffer -> n_elements / 2 ;</div>
-<div class="line"><a name="l03029"></a><span class="lineno"> 3029</span> }</div>
-<div class="line"><a name="l03030"></a><span class="lineno"> 3030</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03031"></a><span class="lineno"> 3031</span> {</div>
-<div class="line"><a name="l03032"></a><span class="lineno"> 3032</span> nel = box_buffer -> n_elements / 2 + 1 ;</div>
-<div class="line"><a name="l03033"></a><span class="lineno"> 3033</span> }</div>
-<div class="line"><a name="l03034"></a><span class="lineno"> 3034</span> }</div>
-<div class="line"><a name="l03035"></a><span class="lineno"> 3035</span> </div>
-<div class="line"><a name="l03036"></a><span class="lineno"> 3036</span> <span class="comment">/* now split the buffer in the midth in a left and right </span></div>
-<div class="line"><a name="l03037"></a><span class="lineno"> 3037</span> <span class="comment"> part for fitting */</span></div>
-<div class="line"><a name="l03038"></a><span class="lineno"> 3038</span> half_buffer = sinfo_new_vector( nel ) ;</div>
-<div class="line"><a name="l03039"></a><span class="lineno"> 3039</span> <span class="keywordflow">if</span> ( left_right == 0 )</div>
-<div class="line"><a name="l03040"></a><span class="lineno"> 3040</span> {</div>
-<div class="line"><a name="l03041"></a><span class="lineno"> 3041</span> <span class="keywordflow">for</span> ( i = 0 ; i < nel ; i++ )</div>
-<div class="line"><a name="l03042"></a><span class="lineno"> 3042</span> {</div>
-<div class="line"><a name="l03043"></a><span class="lineno"> 3043</span> half_buffer -> data[i] = box_buffer -> data[i] ;</div>
-<div class="line"><a name="l03044"></a><span class="lineno"> 3044</span> }</div>
-<div class="line"><a name="l03045"></a><span class="lineno"> 3045</span> }</div>
-<div class="line"><a name="l03046"></a><span class="lineno"> 3046</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03047"></a><span class="lineno"> 3047</span> {</div>
-<div class="line"><a name="l03048"></a><span class="lineno"> 3048</span> n_right = 0 ;</div>
-<div class="line"><a name="l03049"></a><span class="lineno"> 3049</span> <span class="keywordflow">for</span> ( i = box_buffer -> n_elements - 1 ; </div>
-<div class="line"><a name="l03050"></a><span class="lineno"> 3050</span> i >= box_buffer -> n_elements - nel ; i-- )</div>
-<div class="line"><a name="l03051"></a><span class="lineno"> 3051</span> {</div>
-<div class="line"><a name="l03052"></a><span class="lineno"> 3052</span> half_buffer -> data[n_right] = box_buffer -> data[i] ;</div>
-<div class="line"><a name="l03053"></a><span class="lineno"> 3053</span> n_right++ ;</div>
-<div class="line"><a name="l03054"></a><span class="lineno"> 3054</span> }</div>
-<div class="line"><a name="l03055"></a><span class="lineno"> 3055</span> }</div>
-<div class="line"><a name="l03056"></a><span class="lineno"> 3056</span> </div>
-<div class="line"><a name="l03057"></a><span class="lineno"> 3057</span> xdat = (<span class="keywordtype">float</span> *) cpl_calloc( nel, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l03058"></a><span class="lineno"> 3058</span> wdat = (<span class="keywordtype">float</span> *) cpl_calloc( nel, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l03059"></a><span class="lineno"> 3059</span> mpar = (<span class="keywordtype">int</span> *) cpl_calloc( NPAR, <span class="keyword">sizeof</span> (<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l03060"></a><span class="lineno"> 3060</span> </div>
-<div class="line"><a name="l03061"></a><span class="lineno"> 3061</span> <span class="comment">/* set initial values for the fitting routine */</span></div>
-<div class="line"><a name="l03062"></a><span class="lineno"> 3062</span> minval = FLT_MAX ;</div>
-<div class="line"><a name="l03063"></a><span class="lineno"> 3063</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l03064"></a><span class="lineno"> 3064</span> <span class="keywordflow">for</span> ( i = 0 ; i < nel ; i++ )</div>
-<div class="line"><a name="l03065"></a><span class="lineno"> 3065</span> {</div>
-<div class="line"><a name="l03066"></a><span class="lineno"> 3066</span> xdat[i] = i ;</div>
-<div class="line"><a name="l03067"></a><span class="lineno"> 3067</span> wdat[i] = 1.0 ;</div>
-<div class="line"><a name="l03068"></a><span class="lineno"> 3068</span> <span class="keywordflow">if</span> ( half_buffer -> data[i] < minval )</div>
-<div class="line"><a name="l03069"></a><span class="lineno"> 3069</span> {</div>
-<div class="line"><a name="l03070"></a><span class="lineno"> 3070</span> minval = half_buffer -> data[i] ;</div>
-<div class="line"><a name="l03071"></a><span class="lineno"> 3071</span> }</div>
-<div class="line"><a name="l03072"></a><span class="lineno"> 3072</span> <span class="keywordflow">if</span> ( half_buffer -> data[i] > maxval )</div>
-<div class="line"><a name="l03073"></a><span class="lineno"> 3073</span> {</div>
-<div class="line"><a name="l03074"></a><span class="lineno"> 3074</span> maxval = half_buffer -> data[i] ;</div>
-<div class="line"><a name="l03075"></a><span class="lineno"> 3075</span> }</div>
-<div class="line"><a name="l03076"></a><span class="lineno"> 3076</span> }</div>
-<div class="line"><a name="l03077"></a><span class="lineno"> 3077</span> </div>
-<div class="line"><a name="l03078"></a><span class="lineno"> 3078</span> fitpar[2] = minval ;</div>
-<div class="line"><a name="l03079"></a><span class="lineno"> 3079</span> fitpar[3] = maxval ; </div>
-<div class="line"><a name="l03080"></a><span class="lineno"> 3080</span> </div>
-<div class="line"><a name="l03081"></a><span class="lineno"> 3081</span> <span class="comment">/* search for both positions of the half intensity of </span></div>
-<div class="line"><a name="l03082"></a><span class="lineno"> 3082</span> <span class="comment"> the hat within the buffer */</span></div>
-<div class="line"><a name="l03083"></a><span class="lineno"> 3083</span> init1 = -1 ; </div>
-<div class="line"><a name="l03084"></a><span class="lineno"> 3084</span> <span class="keywordflow">for</span> ( i = 0 ; i < nel ; i++ )</div>
-<div class="line"><a name="l03085"></a><span class="lineno"> 3085</span> {</div>
-<div class="line"><a name="l03086"></a><span class="lineno"> 3086</span> <span class="keywordflow">if</span> ( half_buffer -> data[i] >= ( maxval + minval ) / 2. )</div>
-<div class="line"><a name="l03087"></a><span class="lineno"> 3087</span> {</div>
-<div class="line"><a name="l03088"></a><span class="lineno"> 3088</span> init1 = i ;</div>
-<div class="line"><a name="l03089"></a><span class="lineno"> 3089</span> break ;</div>
-<div class="line"><a name="l03090"></a><span class="lineno"> 3090</span> }</div>
-<div class="line"><a name="l03091"></a><span class="lineno"> 3091</span> }</div>
-<div class="line"><a name="l03092"></a><span class="lineno"> 3092</span> </div>
-<div class="line"><a name="l03093"></a><span class="lineno"> 3093</span> <span class="comment">/* determine the initial positions from the found values */</span></div>
-<div class="line"><a name="l03094"></a><span class="lineno"> 3094</span> <span class="keywordflow">if</span> ( init1 != -1 )</div>
-<div class="line"><a name="l03095"></a><span class="lineno"> 3095</span> {</div>
-<div class="line"><a name="l03096"></a><span class="lineno"> 3096</span> fitpar[0] = ((float)init1 - 1.) ;</div>
-<div class="line"><a name="l03097"></a><span class="lineno"> 3097</span> fitpar[1] = ((float)init1 + 1.) ;</div>
-<div class="line"><a name="l03098"></a><span class="lineno"> 3098</span> }</div>
-<div class="line"><a name="l03099"></a><span class="lineno"> 3099</span> </div>
-<div class="line"><a name="l03100"></a><span class="lineno"> 3100</span> <span class="keywordflow">for</span> ( i = 0 ; i < NPAR ; i++ )</div>
-<div class="line"><a name="l03101"></a><span class="lineno"> 3101</span> {</div>
-<div class="line"><a name="l03102"></a><span class="lineno"> 3102</span> mpar[i] = 1 ;</div>
-<div class="line"><a name="l03103"></a><span class="lineno"> 3103</span> dervpar[i] = 0. ;</div>
-<div class="line"><a name="l03104"></a><span class="lineno"> 3104</span> }</div>
-<div class="line"><a name="l03105"></a><span class="lineno"> 3105</span> </div>
-<div class="line"><a name="l03106"></a><span class="lineno"> 3106</span> xdim = XDIMA ;</div>
-<div class="line"><a name="l03107"></a><span class="lineno"> 3107</span> ndat = nel ;</div>
-<div class="line"><a name="l03108"></a><span class="lineno"> 3108</span> numpar = NPAR ;</div>
-<div class="line"><a name="l03109"></a><span class="lineno"> 3109</span> tol = TOLA ;</div>
-<div class="line"><a name="l03110"></a><span class="lineno"> 3110</span> lab = LABA ;</div>
-<div class="line"><a name="l03111"></a><span class="lineno"> 3111</span> its = ITSA ;</div>
-<div class="line"><a name="l03112"></a><span class="lineno"> 3112</span> </div>
-<div class="line"><a name="l03113"></a><span class="lineno"> 3113</span> <span class="comment">/* finally, do the least squares fit over the buffer data */</span></div>
-<div class="line"><a name="l03114"></a><span class="lineno"> 3114</span> <span class="keywordflow">if</span> ( 0 > ( iters = sinfo_new_lsqfit_edge( xdat, &xdim, </div>
-<div class="line"><a name="l03115"></a><span class="lineno"> 3115</span> half_buffer -> data, </div>
-<div class="line"><a name="l03116"></a><span class="lineno"> 3116</span> wdat, &ndat, fitpar,</div>
-<div class="line"><a name="l03117"></a><span class="lineno"> 3117</span> dervpar, mpar, &numpar, </div>
-<div class="line"><a name="l03118"></a><span class="lineno"> 3118</span> &tol, &its, &lab )) )</div>
-<div class="line"><a name="l03119"></a><span class="lineno"> 3119</span> { </div>
-<div class="line"><a name="l03120"></a><span class="lineno"> 3120</span> <span class="comment">/* if the fit doesn't succeed the initial values are taken */</span></div>
-<div class="line"><a name="l03121"></a><span class="lineno"> 3121</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">"least squares fit failed, error "</span></div>
-<div class="line"><a name="l03122"></a><span class="lineno"> 3122</span> <span class="stringliteral">"no.: %d in slitlet: %d"</span>, iters, j) ;</div>
-<div class="line"><a name="l03123"></a><span class="lineno"> 3123</span> fitpar[0] = ((float)init1 - 1.) ;</div>
-<div class="line"><a name="l03124"></a><span class="lineno"> 3124</span> fitpar[1] = ((float)init1 + 1.) ;</div>
-<div class="line"><a name="l03125"></a><span class="lineno"> 3125</span> }</div>
-<div class="line"><a name="l03126"></a><span class="lineno"> 3126</span> </div>
-<div class="line"><a name="l03127"></a><span class="lineno"> 3127</span> pos = (fitpar[0] + fitpar[1]) / 2. ;</div>
-<div class="line"><a name="l03128"></a><span class="lineno"> 3128</span> </div>
-<div class="line"><a name="l03129"></a><span class="lineno"> 3129</span> <span class="comment">/*----------------------------------------------------------------- </span></div>
-<div class="line"><a name="l03130"></a><span class="lineno"> 3130</span> <span class="comment"> * now discern the left and the right sinfo_edge fit of the </span></div>
-<div class="line"><a name="l03131"></a><span class="lineno"> 3131</span> <span class="comment"> * slitlets and associate the fit results with the absolute </span></div>
-<div class="line"><a name="l03132"></a><span class="lineno"> 3132</span> <span class="comment"> * positions in the image consider the difference of the fitted </span></div>
-<div class="line"><a name="l03133"></a><span class="lineno"> 3133</span> <span class="comment"> * slit position to the expected position and decide wether the </span></div>
-<div class="line"><a name="l03134"></a><span class="lineno"> 3134</span> <span class="comment"> * fit is taken or the expected value is taken.</span></div>
-<div class="line"><a name="l03135"></a><span class="lineno"> 3135</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03136"></a><span class="lineno"> 3136</span> <span class="keywordflow">if</span> ( left_right == 0 )</div>
-<div class="line"><a name="l03137"></a><span class="lineno"> 3137</span> {</div>
-<div class="line"><a name="l03138"></a><span class="lineno"> 3138</span> <span class="comment">/* take care of the column position of the fit boxes to get </span></div>
-<div class="line"><a name="l03139"></a><span class="lineno"> 3139</span> <span class="comment"> the absolute positions */</span></div>
-<div class="line"><a name="l03140"></a><span class="lineno"> 3140</span> <span class="keywordflow">if</span> ( j == 0 )</div>
-<div class="line"><a name="l03141"></a><span class="lineno"> 3141</span> {</div>
-<div class="line"><a name="l03142"></a><span class="lineno"> 3142</span> <span class="keywordflow">if</span> ( fabs(pos - ((<span class="keywordtype">float</span>)edgeclean[0] - 1. - </div>
-<div class="line"><a name="l03143"></a><span class="lineno"> 3143</span> (float)slit_length)) < diff_tol )</div>
-<div class="line"><a name="l03144"></a><span class="lineno"> 3144</span> {</div>
-<div class="line"><a name="l03145"></a><span class="lineno"> 3145</span> sinfo_slit_pos[0][0] = pos ;</div>
-<div class="line"><a name="l03146"></a><span class="lineno"> 3146</span> }</div>
-<div class="line"><a name="l03147"></a><span class="lineno"> 3147</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03148"></a><span class="lineno"> 3148</span> {</div>
-<div class="line"><a name="l03149"></a><span class="lineno"> 3149</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"something wrong with fitted "</span></div>
-<div class="line"><a name="l03150"></a><span class="lineno"> 3150</span> <span class="stringliteral">"left position of slitlet 0"</span>) ;</div>
-<div class="line"><a name="l03151"></a><span class="lineno"> 3151</span> <span class="keywordflow">if</span> ((<span class="keywordtype">float</span>) edgeclean[0] - 1. - </div>
-<div class="line"><a name="l03152"></a><span class="lineno"> 3152</span> (<span class="keywordtype">float</span>)slit_length < 0. )</div>
-<div class="line"><a name="l03153"></a><span class="lineno"> 3153</span> {</div>
-<div class="line"><a name="l03154"></a><span class="lineno"> 3154</span> sinfo_slit_pos[0][0] = 0. ;</div>
-<div class="line"><a name="l03155"></a><span class="lineno"> 3155</span> }</div>
-<div class="line"><a name="l03156"></a><span class="lineno"> 3156</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03157"></a><span class="lineno"> 3157</span> {</div>
-<div class="line"><a name="l03158"></a><span class="lineno"> 3158</span> sinfo_slit_pos[0][0] = (float)edgeclean[0] - 1. - </div>
-<div class="line"><a name="l03159"></a><span class="lineno"> 3159</span> (<span class="keywordtype">float</span>)slit_length ;</div>
-<div class="line"><a name="l03160"></a><span class="lineno"> 3160</span> }</div>
-<div class="line"><a name="l03161"></a><span class="lineno"> 3161</span> }</div>
-<div class="line"><a name="l03162"></a><span class="lineno"> 3162</span> }</div>
-<div class="line"><a name="l03163"></a><span class="lineno"> 3163</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( j < k )</div>
-<div class="line"><a name="l03164"></a><span class="lineno"> 3164</span> {</div>
-<div class="line"><a name="l03165"></a><span class="lineno"> 3165</span> <span class="keywordflow">if</span> ( fabs( pos - (<span class="keywordtype">float</span>)margin ) < diff_tol )</div>
-<div class="line"><a name="l03166"></a><span class="lineno"> 3166</span> {</div>
-<div class="line"><a name="l03167"></a><span class="lineno"> 3167</span> sinfo_slit_pos[j][0] = pos + (float)edgeclean[j-1] - </div>
-<div class="line"><a name="l03168"></a><span class="lineno"> 3168</span> (<span class="keywordtype">float</span>)margin ;</div>
-<div class="line"><a name="l03169"></a><span class="lineno"> 3169</span> }</div>
-<div class="line"><a name="l03170"></a><span class="lineno"> 3170</span> else</div>
-<div class="line"><a name="l03171"></a><span class="lineno"> 3171</span> {</div>
-<div class="line"><a name="l03172"></a><span class="lineno"> 3172</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"something wrong with fitted "</span></div>
-<div class="line"><a name="l03173"></a><span class="lineno"> 3173</span> <span class="stringliteral">"left position of slitlet %d"</span>, j) ;</div>
-<div class="line"><a name="l03174"></a><span class="lineno"> 3174</span> sinfo_slit_pos[j][0] = (float)edgeclean[j-1] - 1. ;</div>
-<div class="line"><a name="l03175"></a><span class="lineno"> 3175</span> }</div>
-<div class="line"><a name="l03176"></a><span class="lineno"> 3176</span> }</div>
-<div class="line"><a name="l03177"></a><span class="lineno"> 3177</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03178"></a><span class="lineno"> 3178</span> {</div>
-<div class="line"><a name="l03179"></a><span class="lineno"> 3179</span> <span class="keywordflow">if</span> ( fabs( pos - (<span class="keywordtype">float</span>)margin ) < diff_tol )</div>
-<div class="line"><a name="l03180"></a><span class="lineno"> 3180</span> {</div>
-<div class="line"><a name="l03181"></a><span class="lineno"> 3181</span> sinfo_slit_pos[k][0] = pos + (float)edgeclean[k-1] - </div>
-<div class="line"><a name="l03182"></a><span class="lineno"> 3182</span> (<span class="keywordtype">float</span>)margin ;</div>
-<div class="line"><a name="l03183"></a><span class="lineno"> 3183</span> }</div>
-<div class="line"><a name="l03184"></a><span class="lineno"> 3184</span> else</div>
-<div class="line"><a name="l03185"></a><span class="lineno"> 3185</span> {</div>
-<div class="line"><a name="l03186"></a><span class="lineno"> 3186</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"something wrong with fitted left "</span></div>
-<div class="line"><a name="l03187"></a><span class="lineno"> 3187</span> <span class="stringliteral">"position of slitlet %d"</span>, j) ;</div>
-<div class="line"><a name="l03188"></a><span class="lineno"> 3188</span> sinfo_slit_pos[k][0] = (float)edgeclean[k-1] - 1. ;</div>
-<div class="line"><a name="l03189"></a><span class="lineno"> 3189</span> }</div>
-<div class="line"><a name="l03190"></a><span class="lineno"> 3190</span> }</div>
-<div class="line"><a name="l03191"></a><span class="lineno"> 3191</span> }</div>
-<div class="line"><a name="l03192"></a><span class="lineno"> 3192</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03193"></a><span class="lineno"> 3193</span> {</div>
-<div class="line"><a name="l03194"></a><span class="lineno"> 3194</span> <span class="comment">/* take care of the column position of the fit boxes to </span></div>
-<div class="line"><a name="l03195"></a><span class="lineno"> 3195</span> <span class="comment"> get the absolute positions */</span></div>
-<div class="line"><a name="l03196"></a><span class="lineno"> 3196</span> <span class="keywordflow">if</span> ( j == 0 )</div>
-<div class="line"><a name="l03197"></a><span class="lineno"> 3197</span> {</div>
-<div class="line"><a name="l03198"></a><span class="lineno"> 3198</span> <span class="keywordflow">if</span> ( fabs( (<span class="keywordtype">float</span>)box_buffer->n_elements - pos - </div>
-<div class="line"><a name="l03199"></a><span class="lineno"> 3199</span> (<span class="keywordtype">float</span>)edgeclean[0] ) < diff_tol )</div>
-<div class="line"><a name="l03200"></a><span class="lineno"> 3200</span> {</div>
-<div class="line"><a name="l03201"></a><span class="lineno"> 3201</span> sinfo_slit_pos[0][1] = (float)(box_buffer->n_elements - </div>
-<div class="line"><a name="l03202"></a><span class="lineno"> 3202</span> 1) - pos ;</div>
-<div class="line"><a name="l03203"></a><span class="lineno"> 3203</span> }</div>
-<div class="line"><a name="l03204"></a><span class="lineno"> 3204</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03205"></a><span class="lineno"> 3205</span> {</div>
-<div class="line"><a name="l03206"></a><span class="lineno"> 3206</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"something wrong with fitted "</span></div>
-<div class="line"><a name="l03207"></a><span class="lineno"> 3207</span> <span class="stringliteral">"right position of slitlet 0"</span>) ;</div>
-<div class="line"><a name="l03208"></a><span class="lineno"> 3208</span> sinfo_slit_pos[0][1] = (float)edgeclean[0] - 1. ;</div>
-<div class="line"><a name="l03209"></a><span class="lineno"> 3209</span> }</div>
-<div class="line"><a name="l03210"></a><span class="lineno"> 3210</span> }</div>
-<div class="line"><a name="l03211"></a><span class="lineno"> 3211</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( j < k )</div>
-<div class="line"><a name="l03212"></a><span class="lineno"> 3212</span> {</div>
-<div class="line"><a name="l03213"></a><span class="lineno"> 3213</span> <span class="keywordflow">if</span> ( fabs( (<span class="keywordtype">float</span>)box_buffer->n_elements - pos</div>
-<div class="line"><a name="l03214"></a><span class="lineno"> 3214</span> + (<span class="keywordtype">float</span>)edgeclean[j-1] - (<span class="keywordtype">float</span>)margin - </div>
-<div class="line"><a name="l03215"></a><span class="lineno"> 3215</span> (<span class="keywordtype">float</span>)edgeclean[j] ) < diff_tol )</div>
-<div class="line"><a name="l03216"></a><span class="lineno"> 3216</span> {</div>
-<div class="line"><a name="l03217"></a><span class="lineno"> 3217</span> sinfo_slit_pos[j][1] = (float)(box_buffer->n_elements -</div>
-<div class="line"><a name="l03218"></a><span class="lineno"> 3218</span> 1) - pos</div>
-<div class="line"><a name="l03219"></a><span class="lineno"> 3219</span> + (float)edgeclean[j-1] - (<span class="keywordtype">float</span>)margin;</div>
-<div class="line"><a name="l03220"></a><span class="lineno"> 3220</span> }</div>
-<div class="line"><a name="l03221"></a><span class="lineno"> 3221</span> else</div>
-<div class="line"><a name="l03222"></a><span class="lineno"> 3222</span> {</div>
-<div class="line"><a name="l03223"></a><span class="lineno"> 3223</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"something wrong with fitted "</span></div>
-<div class="line"><a name="l03224"></a><span class="lineno"> 3224</span> <span class="stringliteral">"right position of slitlet %d"</span>, j) ;</div>
-<div class="line"><a name="l03225"></a><span class="lineno"> 3225</span> sinfo_slit_pos[j][1] = (float)edgeclean[j] - 1. ;</div>
-<div class="line"><a name="l03226"></a><span class="lineno"> 3226</span> }</div>
-<div class="line"><a name="l03227"></a><span class="lineno"> 3227</span> }</div>
-<div class="line"><a name="l03228"></a><span class="lineno"> 3228</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03229"></a><span class="lineno"> 3229</span> {</div>
-<div class="line"><a name="l03230"></a><span class="lineno"> 3230</span> <span class="keywordflow">if</span> ( edgeclean[k-1] + slit_length > ilx )</div>
-<div class="line"><a name="l03231"></a><span class="lineno"> 3231</span> {</div>
-<div class="line"><a name="l03232"></a><span class="lineno"> 3232</span> last_pos = (float)(ilx - 1) ;</div>
-<div class="line"><a name="l03233"></a><span class="lineno"> 3233</span> }</div>
-<div class="line"><a name="l03234"></a><span class="lineno"> 3234</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03235"></a><span class="lineno"> 3235</span> {</div>
-<div class="line"><a name="l03236"></a><span class="lineno"> 3236</span> last_pos = (float)(edgeclean[k-1] - 1 + slit_length) ;</div>
-<div class="line"><a name="l03237"></a><span class="lineno"> 3237</span> }</div>
-<div class="line"><a name="l03238"></a><span class="lineno"> 3238</span> <span class="keywordflow">if</span> ( fabs( (<span class="keywordtype">float</span>)(box_buffer->n_elements - 1) - pos</div>
-<div class="line"><a name="l03239"></a><span class="lineno"> 3239</span> + (<span class="keywordtype">float</span>)edgeclean[k-1] - (float)margin - </div>
-<div class="line"><a name="l03240"></a><span class="lineno"> 3240</span> last_pos ) < diff_tol )</div>
-<div class="line"><a name="l03241"></a><span class="lineno"> 3241</span> {</div>
-<div class="line"><a name="l03242"></a><span class="lineno"> 3242</span> sinfo_slit_pos[k][1] = (float)(box_buffer->n_elements -</div>
-<div class="line"><a name="l03243"></a><span class="lineno"> 3243</span> 1) - pos</div>
-<div class="line"><a name="l03244"></a><span class="lineno"> 3244</span> + (float)edgeclean[k-1] - (<span class="keywordtype">float</span>)margin ;</div>
-<div class="line"><a name="l03245"></a><span class="lineno"> 3245</span> }</div>
-<div class="line"><a name="l03246"></a><span class="lineno"> 3246</span> else</div>
-<div class="line"><a name="l03247"></a><span class="lineno"> 3247</span> {</div>
-<div class="line"><a name="l03248"></a><span class="lineno"> 3248</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"something wrong with fitted "</span></div>
-<div class="line"><a name="l03249"></a><span class="lineno"> 3249</span> <span class="stringliteral">"right position of slitlet %d"</span>, j) ;</div>
-<div class="line"><a name="l03250"></a><span class="lineno"> 3250</span> sinfo_slit_pos[k][1] = last_pos ;</div>
-<div class="line"><a name="l03251"></a><span class="lineno"> 3251</span> }</div>
-<div class="line"><a name="l03252"></a><span class="lineno"> 3252</span> }</div>
-<div class="line"><a name="l03253"></a><span class="lineno"> 3253</span> }</div>
-<div class="line"><a name="l03254"></a><span class="lineno"> 3254</span> </div>
-<div class="line"><a name="l03255"></a><span class="lineno"> 3255</span> sinfo_new_destroy_vector ( half_buffer ) ;</div>
-<div class="line"><a name="l03256"></a><span class="lineno"> 3256</span> cpl_free( xdat ) ;</div>
-<div class="line"><a name="l03257"></a><span class="lineno"> 3257</span> cpl_free( wdat ) ;</div>
-<div class="line"><a name="l03258"></a><span class="lineno"> 3258</span> cpl_free( mpar ) ;</div>
-<div class="line"><a name="l03259"></a><span class="lineno"> 3259</span> }</div>
-<div class="line"><a name="l03260"></a><span class="lineno"> 3260</span> sinfo_new_destroy_vector ( box_buffer ) ;</div>
-<div class="line"><a name="l03261"></a><span class="lineno"> 3261</span> }</div>
-<div class="line"><a name="l03262"></a><span class="lineno"> 3262</span> </div>
-<div class="line"><a name="l03263"></a><span class="lineno"> 3263</span> cpl_free( sinfo_edge ) ;</div>
-<div class="line"><a name="l03264"></a><span class="lineno"> 3264</span> cpl_free( pos_row ) ;</div>
-<div class="line"><a name="l03265"></a><span class="lineno"> 3265</span> cpl_free( edgeclean ) ;</div>
-<div class="line"><a name="l03266"></a><span class="lineno"> 3266</span> cpl_free( dummyedge ) ;</div>
-<div class="line"><a name="l03267"></a><span class="lineno"> 3267</span> cpl_free( pos_rowclean ) ;</div>
-<div class="line"><a name="l03268"></a><span class="lineno"> 3268</span> cpl_free( position );</div>
-<div class="line"><a name="l03269"></a><span class="lineno"> 3269</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03270"></a><span class="lineno"> 3270</span> }</div>
-<div class="line"><a name="l03271"></a><span class="lineno"> 3271</span> </div>
-<div class="line"><a name="l03294"></a><span class="lineno"> 3294</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l03295"></a><span class="lineno"> 3295</span> sinfo_new_fit_slits_edge_with_estimate ( cpl_image * lineImage,</div>
-<div class="line"><a name="l03296"></a><span class="lineno"> 3296</span> <span class="keywordtype">float</span> ** sinfo_slit_pos,</div>
-<div class="line"><a name="l03297"></a><span class="lineno"> 3297</span> <span class="keywordtype">int</span> box_length,</div>
-<div class="line"><a name="l03298"></a><span class="lineno"> 3298</span> <span class="keywordtype">float</span> y_box,</div>
-<div class="line"><a name="l03299"></a><span class="lineno"> 3299</span> <span class="keywordtype">float</span> diff_tol,</div>
-<div class="line"><a name="l03300"></a><span class="lineno"> 3300</span> <span class="keywordtype">int</span> low_pos,</div>
-<div class="line"><a name="l03301"></a><span class="lineno"> 3301</span> <span class="keywordtype">int</span> high_pos )</div>
-<div class="line"><a name="l03302"></a><span class="lineno"> 3302</span> {</div>
-<div class="line"><a name="l03303"></a><span class="lineno"> 3303</span> <span class="keywordtype">int</span>* position=NULL ;</div>
-<div class="line"><a name="l03304"></a><span class="lineno"> 3304</span> Vector * box_buffer ;</div>
-<div class="line"><a name="l03305"></a><span class="lineno"> 3305</span> Vector * in_buffer ;</div>
-<div class="line"><a name="l03306"></a><span class="lineno"> 3306</span> <span class="keywordtype">int</span> found_row ;</div>
-<div class="line"><a name="l03307"></a><span class="lineno"> 3307</span> <span class="keywordtype">int</span> row, col ;</div>
-<div class="line"><a name="l03308"></a><span class="lineno"> 3308</span> <span class="keywordtype">int</span> col_first, col_last ;</div>
-<div class="line"><a name="l03309"></a><span class="lineno"> 3309</span> <span class="keywordtype">int</span> row_first, row_last ;</div>
-<div class="line"><a name="l03310"></a><span class="lineno"> 3310</span> <span class="keywordtype">int</span> i, j, m, n ;</div>
-<div class="line"><a name="l03311"></a><span class="lineno"> 3311</span> <span class="keywordtype">int</span> init1 ;</div>
-<div class="line"><a name="l03312"></a><span class="lineno"> 3312</span> <span class="keywordtype">int</span> left_right ;</div>
-<div class="line"><a name="l03313"></a><span class="lineno"> 3313</span> <span class="keywordtype">int</span> n_buf, shift ;</div>
-<div class="line"><a name="l03314"></a><span class="lineno"> 3314</span> <span class="keywordtype">int</span> slit_length ;</div>
-<div class="line"><a name="l03315"></a><span class="lineno"> 3315</span> <span class="keywordtype">int</span> iters, xdim, ndat ;</div>
-<div class="line"><a name="l03316"></a><span class="lineno"> 3316</span> <span class="keywordtype">int</span> numpar, its ;</div>
-<div class="line"><a name="l03317"></a><span class="lineno"> 3317</span> <span class="keywordtype">int</span> * mpar ;</div>
-<div class="line"><a name="l03318"></a><span class="lineno"> 3318</span> <span class="keywordtype">float</span> * xdat, * wdat ;</div>
-<div class="line"><a name="l03319"></a><span class="lineno"> 3319</span> <span class="keywordtype">float</span> tol, lab ;</div>
-<div class="line"><a name="l03320"></a><span class="lineno"> 3320</span> <span class="keywordtype">float</span> fitpar[NPAR] ;</div>
-<div class="line"><a name="l03321"></a><span class="lineno"> 3321</span> <span class="keywordtype">float</span> dervpar[NPAR] ;</div>
-<div class="line"><a name="l03322"></a><span class="lineno"> 3322</span> <span class="keywordtype">float</span> minval, maxval ;</div>
-<div class="line"><a name="l03323"></a><span class="lineno"> 3323</span> <span class="keywordtype">float</span> pos ;</div>
-<div class="line"><a name="l03324"></a><span class="lineno"> 3324</span> <span class="keywordtype">float</span> new_pos ;</div>
-<div class="line"><a name="l03325"></a><span class="lineno"> 3325</span> <span class="keywordtype">int</span> slitposition[SLITLENGTH] ;</div>
-<div class="line"><a name="l03326"></a><span class="lineno"> 3326</span> pixelvalue rowpos[SLITLENGTH] ;</div>
-<div class="line"><a name="l03327"></a><span class="lineno"> 3327</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l03328"></a><span class="lineno"> 3328</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l03329"></a><span class="lineno"> 3329</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l03330"></a><span class="lineno"> 3330</span> </div>
-<div class="line"><a name="l03331"></a><span class="lineno"> 3331</span> slit_length = SLITLENGTH ; <span class="comment">/* this is too high: 64 */</span></div>
-<div class="line"><a name="l03332"></a><span class="lineno"> 3332</span> slit_length = N_SLITLETS ; <span class="comment">/* this is better: 32 */</span></div>
-<div class="line"><a name="l03333"></a><span class="lineno"> 3333</span> </div>
-<div class="line"><a name="l03334"></a><span class="lineno"> 3334</span> </div>
-<div class="line"><a name="l03335"></a><span class="lineno"> 3335</span> <span class="keywordflow">if</span> ( NULL == lineImage )</div>
-<div class="line"><a name="l03336"></a><span class="lineno"> 3336</span> {</div>
-<div class="line"><a name="l03337"></a><span class="lineno"> 3337</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no line image given!"</span> ) ;</div>
-<div class="line"><a name="l03338"></a><span class="lineno"> 3338</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03339"></a><span class="lineno"> 3339</span> }</div>
-<div class="line"><a name="l03340"></a><span class="lineno"> 3340</span> ilx=cpl_image_get_size_x(lineImage);</div>
-<div class="line"><a name="l03341"></a><span class="lineno"> 3341</span> ily=cpl_image_get_size_y(lineImage);</div>
-<div class="line"><a name="l03342"></a><span class="lineno"> 3342</span> pidata=cpl_image_get_data_float(lineImage);</div>
-<div class="line"><a name="l03343"></a><span class="lineno"> 3343</span> </div>
-<div class="line"><a name="l03344"></a><span class="lineno"> 3344</span> <span class="keywordflow">if</span> ( NULL == sinfo_slit_pos )</div>
-<div class="line"><a name="l03345"></a><span class="lineno"> 3345</span> {</div>
-<div class="line"><a name="l03346"></a><span class="lineno"> 3346</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no position array allocated!"</span> ) ;</div>
-<div class="line"><a name="l03347"></a><span class="lineno"> 3347</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03348"></a><span class="lineno"> 3348</span> }</div>
-<div class="line"><a name="l03349"></a><span class="lineno"> 3349</span> </div>
-<div class="line"><a name="l03350"></a><span class="lineno"> 3350</span> <span class="keywordflow">if</span> ( box_length < 4 ||</div>
-<div class="line"><a name="l03351"></a><span class="lineno"> 3351</span> box_length > 2*slit_length )</div>
-<div class="line"><a name="l03352"></a><span class="lineno"> 3352</span> {</div>
-<div class="line"><a name="l03353"></a><span class="lineno"> 3353</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong fitting box length given!"</span> ) ;</div>
-<div class="line"><a name="l03354"></a><span class="lineno"> 3354</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" Must be 4 <= box_length < %d "</span>,2*slit_length ) ;</div>
-<div class="line"><a name="l03355"></a><span class="lineno"> 3355</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" You have chosen box_length = %d"</span>,box_length);</div>
-<div class="line"><a name="l03356"></a><span class="lineno"> 3356</span> </div>
-<div class="line"><a name="l03357"></a><span class="lineno"> 3357</span> </div>
-<div class="line"><a name="l03358"></a><span class="lineno"> 3358</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03359"></a><span class="lineno"> 3359</span> }</div>
-<div class="line"><a name="l03360"></a><span class="lineno"> 3360</span> </div>
-<div class="line"><a name="l03361"></a><span class="lineno"> 3361</span> <span class="keywordflow">if</span> ( y_box <= 0. || y_box > 6. )</div>
-<div class="line"><a name="l03362"></a><span class="lineno"> 3362</span> {</div>
-<div class="line"><a name="l03363"></a><span class="lineno"> 3363</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong y box length given!"</span> ) ;</div>
-<div class="line"><a name="l03364"></a><span class="lineno"> 3364</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"You have chosen y_box=%f not in range (0,6]!"</span>,y_box);</div>
-<div class="line"><a name="l03365"></a><span class="lineno"> 3365</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03366"></a><span class="lineno"> 3366</span> }</div>
-<div class="line"><a name="l03367"></a><span class="lineno"> 3367</span> <span class="keywordflow">if</span> ( diff_tol <= 0. )</div>
-<div class="line"><a name="l03368"></a><span class="lineno"> 3368</span> {</div>
-<div class="line"><a name="l03369"></a><span class="lineno"> 3369</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong diff_tol given!"</span> ) ;</div>
-<div class="line"><a name="l03370"></a><span class="lineno"> 3370</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03371"></a><span class="lineno"> 3371</span> }</div>
-<div class="line"><a name="l03372"></a><span class="lineno"> 3372</span> </div>
-<div class="line"><a name="l03373"></a><span class="lineno"> 3373</span> <span class="keywordflow">if</span> ( low_pos >= high_pos || low_pos < 0 || </div>
-<div class="line"><a name="l03374"></a><span class="lineno"> 3374</span> high_pos <= 0 || high_pos > ily )</div>
-<div class="line"><a name="l03375"></a><span class="lineno"> 3375</span> {</div>
-<div class="line"><a name="l03376"></a><span class="lineno"> 3376</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong user given search positions!"</span> ) ;</div>
-<div class="line"><a name="l03377"></a><span class="lineno"> 3377</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03378"></a><span class="lineno"> 3378</span> }</div>
-<div class="line"><a name="l03379"></a><span class="lineno"> 3379</span> </div>
-<div class="line"><a name="l03380"></a><span class="lineno"> 3380</span> <span class="comment">/* now search for the maximum between the given positions for each col */</span></div>
-<div class="line"><a name="l03381"></a><span class="lineno"> 3381</span> position=cpl_calloc(ilx,<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)) ;</div>
-<div class="line"><a name="l03382"></a><span class="lineno"> 3382</span> </div>
-<div class="line"><a name="l03383"></a><span class="lineno"> 3383</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l03384"></a><span class="lineno"> 3384</span> {</div>
-<div class="line"><a name="l03385"></a><span class="lineno"> 3385</span> found_row = -1 ;</div>
-<div class="line"><a name="l03386"></a><span class="lineno"> 3386</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l03387"></a><span class="lineno"> 3387</span> <span class="keywordflow">for</span> ( row = low_pos ; row <= high_pos ; row++ )</div>
-<div class="line"><a name="l03388"></a><span class="lineno"> 3388</span> {</div>
-<div class="line"><a name="l03389"></a><span class="lineno"> 3389</span> <span class="keywordflow">if</span> ( maxval < pidata[col+row*ilx] )</div>
-<div class="line"><a name="l03390"></a><span class="lineno"> 3390</span> {</div>
-<div class="line"><a name="l03391"></a><span class="lineno"> 3391</span> maxval = pidata[col+row*ilx] ;</div>
-<div class="line"><a name="l03392"></a><span class="lineno"> 3392</span> found_row = row ;</div>
-<div class="line"><a name="l03393"></a><span class="lineno"> 3393</span> }</div>
-<div class="line"><a name="l03394"></a><span class="lineno"> 3394</span> }</div>
-<div class="line"><a name="l03395"></a><span class="lineno"> 3395</span> <span class="keywordflow">if</span> ( maxval > -FLT_MAX && found_row > low_pos )</div>
-<div class="line"><a name="l03396"></a><span class="lineno"> 3396</span> {</div>
-<div class="line"><a name="l03397"></a><span class="lineno"> 3397</span> position[col] = found_row ;</div>
-<div class="line"><a name="l03398"></a><span class="lineno"> 3398</span> }</div>
-<div class="line"><a name="l03399"></a><span class="lineno"> 3399</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03400"></a><span class="lineno"> 3400</span> {</div>
-<div class="line"><a name="l03401"></a><span class="lineno"> 3401</span> position[col] = 0 ;</div>
-<div class="line"><a name="l03402"></a><span class="lineno"> 3402</span> }</div>
-<div class="line"><a name="l03403"></a><span class="lineno"> 3403</span> }</div>
-<div class="line"><a name="l03404"></a><span class="lineno"> 3404</span> </div>
-<div class="line"><a name="l03405"></a><span class="lineno"> 3405</span> <span class="comment">/* ------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l03406"></a><span class="lineno"> 3406</span> <span class="comment"> * now go through the slitlets, search along each column within a box with</span></div>
-<div class="line"><a name="l03407"></a><span class="lineno"> 3407</span> <span class="comment"> * half width y_box the maximum value and store these found values in a </span></div>
-<div class="line"><a name="l03408"></a><span class="lineno"> 3408</span> <span class="comment"> * buffer</span></div>
-<div class="line"><a name="l03409"></a><span class="lineno"> 3409</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03410"></a><span class="lineno"> 3410</span> <span class="keywordflow">for</span> ( j = 0 ; j < slit_length ; j++ )</div>
-<div class="line"><a name="l03411"></a><span class="lineno"> 3411</span> {</div>
-<div class="line"><a name="l03412"></a><span class="lineno"> 3412</span> <span class="comment">/* now go through the columns and determine the slitlet positions by</span></div>
-<div class="line"><a name="l03413"></a><span class="lineno"> 3413</span> <span class="comment"> * calculating the sinfo_median of the found positions</span></div>
-<div class="line"><a name="l03414"></a><span class="lineno"> 3414</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03415"></a><span class="lineno"> 3415</span> n = 0 ;</div>
-<div class="line"><a name="l03416"></a><span class="lineno"> 3416</span> <span class="keywordflow">for</span> ( col = sinfo_new_nint(sinfo_slit_pos[j][0])+ 1 ; </div>
-<div class="line"><a name="l03417"></a><span class="lineno"> 3417</span> col < sinfo_new_nint(sinfo_slit_pos[j][1]) -1 ; col++ )</div>
-<div class="line"><a name="l03418"></a><span class="lineno"> 3418</span> {</div>
-<div class="line"><a name="l03419"></a><span class="lineno"> 3419</span> rowpos[n] = (pixelvalue)position[col] ;</div>
-<div class="line"><a name="l03420"></a><span class="lineno"> 3420</span> n++ ;</div>
-<div class="line"><a name="l03421"></a><span class="lineno"> 3421</span> }</div>
-<div class="line"><a name="l03422"></a><span class="lineno"> 3422</span> slitposition[j] = (int)sinfo_new_median(rowpos, n) ;</div>
-<div class="line"><a name="l03423"></a><span class="lineno"> 3423</span> <span class="keywordflow">for</span> ( left_right = 0 ; left_right <= 1 ; left_right++ )</div>
-<div class="line"><a name="l03424"></a><span class="lineno"> 3424</span> </div>
-<div class="line"><a name="l03425"></a><span class="lineno"> 3425</span> {</div>
-<div class="line"><a name="l03426"></a><span class="lineno"> 3426</span> init1 = 0 ;</div>
-<div class="line"><a name="l03427"></a><span class="lineno"> 3427</span> col_first = sinfo_new_nint( sinfo_slit_pos[j][left_right] ) - </div>
-<div class="line"><a name="l03428"></a><span class="lineno"> 3428</span> box_length/2 ;</div>
-<div class="line"><a name="l03429"></a><span class="lineno"> 3429</span> col_last = sinfo_new_nint( sinfo_slit_pos[j][left_right] ) + </div>
-<div class="line"><a name="l03430"></a><span class="lineno"> 3430</span> box_length/2 ;</div>
-<div class="line"><a name="l03431"></a><span class="lineno"> 3431</span> <span class="keywordflow">if</span> ( col_first < 0 )</div>
-<div class="line"><a name="l03432"></a><span class="lineno"> 3432</span> {</div>
-<div class="line"><a name="l03433"></a><span class="lineno"> 3433</span> col_first = 0 ;</div>
-<div class="line"><a name="l03434"></a><span class="lineno"> 3434</span> init1 = 1 ;</div>
-<div class="line"><a name="l03435"></a><span class="lineno"> 3435</span> }</div>
-<div class="line"><a name="l03436"></a><span class="lineno"> 3436</span> <span class="keywordflow">if</span> ( col_last > ilx )</div>
-<div class="line"><a name="l03437"></a><span class="lineno"> 3437</span> {</div>
-<div class="line"><a name="l03438"></a><span class="lineno"> 3438</span> col_last = ilx ;</div>
-<div class="line"><a name="l03439"></a><span class="lineno"> 3439</span> init1 = 1 ;</div>
-<div class="line"><a name="l03440"></a><span class="lineno"> 3440</span> }</div>
-<div class="line"><a name="l03441"></a><span class="lineno"> 3441</span> <span class="keywordflow">if</span> ( col_last - col_first <= 0 )</div>
-<div class="line"><a name="l03442"></a><span class="lineno"> 3442</span> {</div>
-<div class="line"><a name="l03443"></a><span class="lineno"> 3443</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" first and last column wrong!"</span> ) ;</div>
-<div class="line"><a name="l03444"></a><span class="lineno"> 3444</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03445"></a><span class="lineno"> 3445</span> }</div>
-<div class="line"><a name="l03446"></a><span class="lineno"> 3446</span> box_buffer = sinfo_new_vector( col_last - col_first ) ;</div>
-<div class="line"><a name="l03447"></a><span class="lineno"> 3447</span> m = 0 ;</div>
-<div class="line"><a name="l03448"></a><span class="lineno"> 3448</span> <span class="keywordflow">if</span> ( left_right == 0 )</div>
-<div class="line"><a name="l03449"></a><span class="lineno"> 3449</span> {</div>
-<div class="line"><a name="l03450"></a><span class="lineno"> 3450</span> <span class="keywordflow">for</span>( col = col_first ; col < col_last ; col++ )</div>
-<div class="line"><a name="l03451"></a><span class="lineno"> 3451</span> {</div>
-<div class="line"><a name="l03452"></a><span class="lineno"> 3452</span> row_first = slitposition[j] - sinfo_new_nint(y_box) ;</div>
-<div class="line"><a name="l03453"></a><span class="lineno"> 3453</span> row_last = slitposition[j] + sinfo_new_nint(y_box) ;</div>
-<div class="line"><a name="l03454"></a><span class="lineno"> 3454</span> <span class="keywordflow">if</span> ( row_first < 0 )</div>
-<div class="line"><a name="l03455"></a><span class="lineno"> 3455</span> {</div>
-<div class="line"><a name="l03456"></a><span class="lineno"> 3456</span> row_first = 0 ;</div>
-<div class="line"><a name="l03457"></a><span class="lineno"> 3457</span> }</div>
-<div class="line"><a name="l03458"></a><span class="lineno"> 3458</span> <span class="keywordflow">if</span> ( row_last >= ily )</div>
-<div class="line"><a name="l03459"></a><span class="lineno"> 3459</span> {</div>
-<div class="line"><a name="l03460"></a><span class="lineno"> 3460</span> row_last = ily - 1 ;</div>
-<div class="line"><a name="l03461"></a><span class="lineno"> 3461</span> }</div>
-<div class="line"><a name="l03462"></a><span class="lineno"> 3462</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l03463"></a><span class="lineno"> 3463</span> <span class="keywordflow">for</span> ( row = row_first ; row <= row_last ; row++ )</div>
-<div class="line"><a name="l03464"></a><span class="lineno"> 3464</span> {</div>
-<div class="line"><a name="l03465"></a><span class="lineno"> 3465</span> <span class="keywordflow">if</span> ( maxval < pidata[col + ilx*row] )</div>
-<div class="line"><a name="l03466"></a><span class="lineno"> 3466</span> {</div>
-<div class="line"><a name="l03467"></a><span class="lineno"> 3467</span> maxval = pidata[col + ilx*row] ;</div>
-<div class="line"><a name="l03468"></a><span class="lineno"> 3468</span> }</div>
-<div class="line"><a name="l03469"></a><span class="lineno"> 3469</span> }</div>
-<div class="line"><a name="l03470"></a><span class="lineno"> 3470</span> box_buffer->data[m] = maxval ;</div>
-<div class="line"><a name="l03471"></a><span class="lineno"> 3471</span> m++ ;</div>
-<div class="line"><a name="l03472"></a><span class="lineno"> 3472</span> }</div>
-<div class="line"><a name="l03473"></a><span class="lineno"> 3473</span> }</div>
-<div class="line"><a name="l03474"></a><span class="lineno"> 3474</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03475"></a><span class="lineno"> 3475</span> {</div>
-<div class="line"><a name="l03476"></a><span class="lineno"> 3476</span> <span class="keywordflow">for</span>( col = col_last-1 ; col >= col_first ; col-- )</div>
-<div class="line"><a name="l03477"></a><span class="lineno"> 3477</span> {</div>
-<div class="line"><a name="l03478"></a><span class="lineno"> 3478</span> row_first = slitposition[j] - sinfo_new_nint(y_box) ;</div>
-<div class="line"><a name="l03479"></a><span class="lineno"> 3479</span> row_last = slitposition[j] + sinfo_new_nint(y_box) ;</div>
-<div class="line"><a name="l03480"></a><span class="lineno"> 3480</span> <span class="keywordflow">if</span> ( row_first < 0 )</div>
-<div class="line"><a name="l03481"></a><span class="lineno"> 3481</span> {</div>
-<div class="line"><a name="l03482"></a><span class="lineno"> 3482</span> row_first = 0 ;</div>
-<div class="line"><a name="l03483"></a><span class="lineno"> 3483</span> }</div>
-<div class="line"><a name="l03484"></a><span class="lineno"> 3484</span> <span class="keywordflow">if</span> ( row_last >= ily )</div>
-<div class="line"><a name="l03485"></a><span class="lineno"> 3485</span> {</div>
-<div class="line"><a name="l03486"></a><span class="lineno"> 3486</span> row_last = ily - 1 ;</div>
-<div class="line"><a name="l03487"></a><span class="lineno"> 3487</span> }</div>
-<div class="line"><a name="l03488"></a><span class="lineno"> 3488</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l03489"></a><span class="lineno"> 3489</span> <span class="keywordflow">for</span> ( row = row_first ; row <= row_last ; row++ )</div>
-<div class="line"><a name="l03490"></a><span class="lineno"> 3490</span> {</div>
-<div class="line"><a name="l03491"></a><span class="lineno"> 3491</span> <span class="keywordflow">if</span> ( maxval < pidata[col + ilx*row] )</div>
-<div class="line"><a name="l03492"></a><span class="lineno"> 3492</span> {</div>
-<div class="line"><a name="l03493"></a><span class="lineno"> 3493</span> maxval = pidata[col + ilx*row] ;</div>
-<div class="line"><a name="l03494"></a><span class="lineno"> 3494</span> }</div>
-<div class="line"><a name="l03495"></a><span class="lineno"> 3495</span> }</div>
-<div class="line"><a name="l03496"></a><span class="lineno"> 3496</span> box_buffer->data[m] = maxval ;</div>
-<div class="line"><a name="l03497"></a><span class="lineno"> 3497</span> m++ ;</div>
-<div class="line"><a name="l03498"></a><span class="lineno"> 3498</span> }</div>
-<div class="line"><a name="l03499"></a><span class="lineno"> 3499</span> }</div>
-<div class="line"><a name="l03500"></a><span class="lineno"> 3500</span> </div>
-<div class="line"><a name="l03501"></a><span class="lineno"> 3501</span> xdat=(<span class="keywordtype">float</span> *)cpl_calloc( box_buffer->n_elements, sizeof (<span class="keywordtype">float</span>));</div>
-<div class="line"><a name="l03502"></a><span class="lineno"> 3502</span> wdat=(<span class="keywordtype">float</span> *)cpl_calloc( box_buffer->n_elements, sizeof (<span class="keywordtype">float</span>));</div>
-<div class="line"><a name="l03503"></a><span class="lineno"> 3503</span> mpar=(<span class="keywordtype">int</span> *) cpl_calloc( NPAR, <span class="keyword">sizeof</span> (<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l03504"></a><span class="lineno"> 3504</span> </div>
-<div class="line"><a name="l03505"></a><span class="lineno"> 3505</span> <span class="comment">/* set initial values for the fitting routine */</span></div>
-<div class="line"><a name="l03506"></a><span class="lineno"> 3506</span> minval = FLT_MAX ;</div>
-<div class="line"><a name="l03507"></a><span class="lineno"> 3507</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l03508"></a><span class="lineno"> 3508</span> <span class="keywordflow">for</span> ( i = 0 ; i < box_buffer->n_elements ; i++ )</div>
-<div class="line"><a name="l03509"></a><span class="lineno"> 3509</span> {</div>
-<div class="line"><a name="l03510"></a><span class="lineno"> 3510</span> xdat[i] = i ;</div>
-<div class="line"><a name="l03511"></a><span class="lineno"> 3511</span> wdat[i] = 1.0 ;</div>
-<div class="line"><a name="l03512"></a><span class="lineno"> 3512</span> <span class="keywordflow">if</span> ( box_buffer -> data[i] < minval )</div>
-<div class="line"><a name="l03513"></a><span class="lineno"> 3513</span> {</div>
-<div class="line"><a name="l03514"></a><span class="lineno"> 3514</span> minval = box_buffer -> data[i] ;</div>
-<div class="line"><a name="l03515"></a><span class="lineno"> 3515</span> }</div>
-<div class="line"><a name="l03516"></a><span class="lineno"> 3516</span> <span class="keywordflow">if</span> ( box_buffer -> data[i] > maxval )</div>
-<div class="line"><a name="l03517"></a><span class="lineno"> 3517</span> {</div>
-<div class="line"><a name="l03518"></a><span class="lineno"> 3518</span> maxval = box_buffer -> data[i] ;</div>
-<div class="line"><a name="l03519"></a><span class="lineno"> 3519</span> }</div>
-<div class="line"><a name="l03520"></a><span class="lineno"> 3520</span> }</div>
-<div class="line"><a name="l03521"></a><span class="lineno"> 3521</span> fitpar[2] = minval ;</div>
-<div class="line"><a name="l03522"></a><span class="lineno"> 3522</span> fitpar[3] = maxval ;</div>
-<div class="line"><a name="l03523"></a><span class="lineno"> 3523</span> <span class="comment">/*----------------------------------------------------------------</span></div>
-<div class="line"><a name="l03524"></a><span class="lineno"> 3524</span> <span class="comment"> * if we have too few left background values (at the image edges)</span></div>
-<div class="line"><a name="l03525"></a><span class="lineno"> 3525</span> <span class="comment"> * the left margin of the buffer to fit is filled with the minimal</span></div>
-<div class="line"><a name="l03526"></a><span class="lineno"> 3526</span> <span class="comment"> * values in order to get a good fit</span></div>
-<div class="line"><a name="l03527"></a><span class="lineno"> 3527</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03528"></a><span class="lineno"> 3528</span> </div>
-<div class="line"><a name="l03529"></a><span class="lineno"> 3529</span> <span class="keywordflow">if</span> ( init1 == 1 )</div>
-<div class="line"><a name="l03530"></a><span class="lineno"> 3530</span> {</div>
-<div class="line"><a name="l03531"></a><span class="lineno"> 3531</span> n_buf = box_buffer->n_elements + box_length/2 ;</div>
-<div class="line"><a name="l03532"></a><span class="lineno"> 3532</span> in_buffer = sinfo_new_vector( n_buf ) ;</div>
-<div class="line"><a name="l03533"></a><span class="lineno"> 3533</span> <span class="keywordflow">for</span> ( i = 0 ; i < box_length/2 ; i++ )</div>
-<div class="line"><a name="l03534"></a><span class="lineno"> 3534</span> {</div>
-<div class="line"><a name="l03535"></a><span class="lineno"> 3535</span> in_buffer -> data[i] = minval ;</div>
-<div class="line"><a name="l03536"></a><span class="lineno"> 3536</span> }</div>
-<div class="line"><a name="l03537"></a><span class="lineno"> 3537</span> shift = 0 ;</div>
-<div class="line"><a name="l03538"></a><span class="lineno"> 3538</span> <span class="keywordflow">for</span> ( i = box_length/2 ; i < n_buf ; i++ )</div>
-<div class="line"><a name="l03539"></a><span class="lineno"> 3539</span> {</div>
-<div class="line"><a name="l03540"></a><span class="lineno"> 3540</span> in_buffer -> data[i] = box_buffer -> data[shift] ;</div>
-<div class="line"><a name="l03541"></a><span class="lineno"> 3541</span> shift++ ;</div>
-<div class="line"><a name="l03542"></a><span class="lineno"> 3542</span> }</div>
-<div class="line"><a name="l03543"></a><span class="lineno"> 3543</span> sinfo_new_destroy_vector ( box_buffer ) ;</div>
-<div class="line"><a name="l03544"></a><span class="lineno"> 3544</span> box_buffer = sinfo_new_vector ( n_buf ) ;</div>
-<div class="line"><a name="l03545"></a><span class="lineno"> 3545</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_buf ; i++ )</div>
-<div class="line"><a name="l03546"></a><span class="lineno"> 3546</span> {</div>
-<div class="line"><a name="l03547"></a><span class="lineno"> 3547</span> box_buffer -> data[i] = in_buffer -> data[i] ;</div>
-<div class="line"><a name="l03548"></a><span class="lineno"> 3548</span> }</div>
-<div class="line"><a name="l03549"></a><span class="lineno"> 3549</span> sinfo_new_destroy_vector ( in_buffer ) ;</div>
-<div class="line"><a name="l03550"></a><span class="lineno"> 3550</span> }</div>
-<div class="line"><a name="l03551"></a><span class="lineno"> 3551</span> <span class="comment">/* determine the initial positions from the found values */</span></div>
-<div class="line"><a name="l03552"></a><span class="lineno"> 3552</span> fitpar[0] = (float)box_buffer->n_elements/2. - 1. ;</div>
-<div class="line"><a name="l03553"></a><span class="lineno"> 3553</span> fitpar[1] = (<span class="keywordtype">float</span>)box_buffer->n_elements/2. + 1. ;</div>
-<div class="line"><a name="l03554"></a><span class="lineno"> 3554</span> </div>
-<div class="line"><a name="l03555"></a><span class="lineno"> 3555</span> <span class="keywordflow">for</span> ( i = 0 ; i < NPAR ; i++ )</div>
-<div class="line"><a name="l03556"></a><span class="lineno"> 3556</span> {</div>
-<div class="line"><a name="l03557"></a><span class="lineno"> 3557</span> mpar[i] = 1 ;</div>
-<div class="line"><a name="l03558"></a><span class="lineno"> 3558</span> dervpar[i] = 0. ;</div>
-<div class="line"><a name="l03559"></a><span class="lineno"> 3559</span> }</div>
-<div class="line"><a name="l03560"></a><span class="lineno"> 3560</span> </div>
-<div class="line"><a name="l03561"></a><span class="lineno"> 3561</span> xdim = XDIMA ;</div>
-<div class="line"><a name="l03562"></a><span class="lineno"> 3562</span> ndat = box_buffer->n_elements ;</div>
-<div class="line"><a name="l03563"></a><span class="lineno"> 3563</span> numpar = NPAR ;</div>
-<div class="line"><a name="l03564"></a><span class="lineno"> 3564</span> tol = TOLA ;</div>
-<div class="line"><a name="l03565"></a><span class="lineno"> 3565</span> lab = LABA ;</div>
-<div class="line"><a name="l03566"></a><span class="lineno"> 3566</span> its = ITSA ;</div>
-<div class="line"><a name="l03567"></a><span class="lineno"> 3567</span> </div>
-<div class="line"><a name="l03568"></a><span class="lineno"> 3568</span> <span class="comment">/* finally, do the least squares fit over the buffer data */</span></div>
-<div class="line"><a name="l03569"></a><span class="lineno"> 3569</span> <span class="keywordflow">if</span> ( 0 > ( iters = sinfo_new_lsqfit_edge( xdat, &xdim, </div>
-<div class="line"><a name="l03570"></a><span class="lineno"> 3570</span> box_buffer -> data, </div>
-<div class="line"><a name="l03571"></a><span class="lineno"> 3571</span> wdat, &ndat, fitpar,</div>
-<div class="line"><a name="l03572"></a><span class="lineno"> 3572</span> dervpar, mpar, &numpar, </div>
-<div class="line"><a name="l03573"></a><span class="lineno"> 3573</span> &tol, &its, &lab )) )</div>
-<div class="line"><a name="l03574"></a><span class="lineno"> 3574</span> {</div>
-<div class="line"><a name="l03575"></a><span class="lineno"> 3575</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">" least squares fit failed, error "</span></div>
-<div class="line"><a name="l03576"></a><span class="lineno"> 3576</span> <span class="stringliteral">"no.: %d in slitlet: %d\n"</span>, iters, j) ;</div>
-<div class="line"><a name="l03577"></a><span class="lineno"> 3577</span> sinfo_new_destroy_vector(box_buffer) ;</div>
-<div class="line"><a name="l03578"></a><span class="lineno"> 3578</span> cpl_free( xdat ) ;</div>
-<div class="line"><a name="l03579"></a><span class="lineno"> 3579</span> cpl_free( wdat ) ;</div>
-<div class="line"><a name="l03580"></a><span class="lineno"> 3580</span> cpl_free( mpar ) ;</div>
-<div class="line"><a name="l03581"></a><span class="lineno"> 3581</span> continue ;</div>
-<div class="line"><a name="l03582"></a><span class="lineno"> 3582</span> }</div>
-<div class="line"><a name="l03583"></a><span class="lineno"> 3583</span> <span class="keywordflow">if</span> ( fitpar[1] <= fitpar[0] )</div>
-<div class="line"><a name="l03584"></a><span class="lineno"> 3584</span> {</div>
-<div class="line"><a name="l03585"></a><span class="lineno"> 3585</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">"fit failed due to negative slope of "</span></div>
-<div class="line"><a name="l03586"></a><span class="lineno"> 3586</span> <span class="stringliteral">"sinfo_new_edge function in slitlet: %d"</span>,j);</div>
-<div class="line"><a name="l03587"></a><span class="lineno"> 3587</span> sinfo_new_destroy_vector(box_buffer) ;</div>
-<div class="line"><a name="l03588"></a><span class="lineno"> 3588</span> cpl_free( xdat ) ;</div>
-<div class="line"><a name="l03589"></a><span class="lineno"> 3589</span> cpl_free( wdat ) ;</div>
-<div class="line"><a name="l03590"></a><span class="lineno"> 3590</span> cpl_free( mpar ) ;</div>
-<div class="line"><a name="l03591"></a><span class="lineno"> 3591</span> continue ;</div>
-<div class="line"><a name="l03592"></a><span class="lineno"> 3592</span> }</div>
-<div class="line"><a name="l03593"></a><span class="lineno"> 3593</span> </div>
-<div class="line"><a name="l03594"></a><span class="lineno"> 3594</span> pos = (fitpar[0] + fitpar[1])/2. ;</div>
-<div class="line"><a name="l03595"></a><span class="lineno"> 3595</span> <span class="keywordflow">if</span> ( init1 == 1 )</div>
-<div class="line"><a name="l03596"></a><span class="lineno"> 3596</span> {</div>
-<div class="line"><a name="l03597"></a><span class="lineno"> 3597</span> pos -= (float)box_length/2. ;</div>
-<div class="line"><a name="l03598"></a><span class="lineno"> 3598</span> }</div>
-<div class="line"><a name="l03599"></a><span class="lineno"> 3599</span> </div>
-<div class="line"><a name="l03600"></a><span class="lineno"> 3600</span> <span class="comment">/*-------------------------------------------------------------</span></div>
-<div class="line"><a name="l03601"></a><span class="lineno"> 3601</span> <span class="comment"> * now compute the real slit positions using the guess positions</span></div>
-<div class="line"><a name="l03602"></a><span class="lineno"> 3602</span> <span class="comment"> * if the fit did not work the guess positions are taken</span></div>
-<div class="line"><a name="l03603"></a><span class="lineno"> 3603</span> <span class="comment"> * the same is done if the deviations are too big.</span></div>
-<div class="line"><a name="l03604"></a><span class="lineno"> 3604</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03605"></a><span class="lineno"> 3605</span> <span class="keywordflow">if</span> ( pos != 0. )</div>
-<div class="line"><a name="l03606"></a><span class="lineno"> 3606</span> {</div>
-<div class="line"><a name="l03607"></a><span class="lineno"> 3607</span> <span class="keywordflow">if</span> ( left_right == 0 )</div>
-<div class="line"><a name="l03608"></a><span class="lineno"> 3608</span> {</div>
-<div class="line"><a name="l03609"></a><span class="lineno"> 3609</span> new_pos = (float)col_first + pos ;</div>
-<div class="line"><a name="l03610"></a><span class="lineno"> 3610</span> }</div>
-<div class="line"><a name="l03611"></a><span class="lineno"> 3611</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03612"></a><span class="lineno"> 3612</span> {</div>
-<div class="line"><a name="l03613"></a><span class="lineno"> 3613</span> new_pos = (float)col_last-1 - pos ;</div>
-<div class="line"><a name="l03614"></a><span class="lineno"> 3614</span> }</div>
-<div class="line"><a name="l03615"></a><span class="lineno"> 3615</span> <span class="keywordflow">if</span> ( fabs(new_pos - sinfo_slit_pos[j][left_right]) < diff_tol )</div>
-<div class="line"><a name="l03616"></a><span class="lineno"> 3616</span> {</div>
-<div class="line"><a name="l03617"></a><span class="lineno"> 3617</span> sinfo_slit_pos[j][left_right] = new_pos ;</div>
-<div class="line"><a name="l03618"></a><span class="lineno"> 3618</span> }</div>
-<div class="line"><a name="l03619"></a><span class="lineno"> 3619</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03620"></a><span class="lineno"> 3620</span> {</div>
-<div class="line"><a name="l03621"></a><span class="lineno"> 3621</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">" deviation bigger than tolerance,"</span></div>
-<div class="line"><a name="l03622"></a><span class="lineno"> 3622</span> <span class="stringliteral">" take the estimated slitlet positiona"</span></div>
-<div class="line"><a name="l03623"></a><span class="lineno"> 3623</span> <span class="stringliteral">" in slitlet: %d\n"</span>, j) ;</div>
-<div class="line"><a name="l03624"></a><span class="lineno"> 3624</span> }</div>
-<div class="line"><a name="l03625"></a><span class="lineno"> 3625</span> }</div>
-<div class="line"><a name="l03626"></a><span class="lineno"> 3626</span> </div>
-<div class="line"><a name="l03627"></a><span class="lineno"> 3627</span> cpl_free( xdat ) ;</div>
-<div class="line"><a name="l03628"></a><span class="lineno"> 3628</span> cpl_free( wdat ) ;</div>
-<div class="line"><a name="l03629"></a><span class="lineno"> 3629</span> cpl_free( mpar ) ;</div>
-<div class="line"><a name="l03630"></a><span class="lineno"> 3630</span> sinfo_new_destroy_vector ( box_buffer ) ;</div>
-<div class="line"><a name="l03631"></a><span class="lineno"> 3631</span> }</div>
-<div class="line"><a name="l03632"></a><span class="lineno"> 3632</span> }</div>
-<div class="line"><a name="l03633"></a><span class="lineno"> 3633</span> cpl_free(position);</div>
-<div class="line"><a name="l03634"></a><span class="lineno"> 3634</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03635"></a><span class="lineno"> 3635</span> }</div>
-<div class="line"><a name="l03636"></a><span class="lineno"> 3636</span> </div>
-<div class="line"><a name="l03637"></a><span class="lineno"> 3637</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__absolute_8h_source.html b/html/sinfo__absolute_8h_source.html
deleted file mode 100644
index c976e9c..0000000
--- a/html/sinfo__absolute_8h_source.html
+++ /dev/null
@@ -1,186 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_absolute.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_absolute.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*****************************************************************************</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* "@(#) $Id: sinfo_absolute.h,v 1.3 2007/08/20 10:01:05 amodigli Exp $"</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* schreib 14/11/00 created</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef SINFO_ABSOLUTE_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_ABSOLUTE_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * absolute.h</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> * routines to determine the absolute positions of the slitlets out of </span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> * an emission line frame</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include "sinfo_spectrum_ops.h"</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include "sinfo_recipes.h"</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> * Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">float</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> sinfo_new_edge(<span class="keywordtype">float</span> * xdat, <span class="keywordtype">float</span> * parlist<span class="comment">/*, int * npar, int * ndat */</span>) ;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">float</span> </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <a class="code" href="group__sinfo__boltzmann.html#ga858ad4d37da835f1ff4740d0f23920c1" title="calculates the value of a Boltzmann function with parameters parlist at the position xdat...">sinfo_new_boltz</a> ( <span class="keywordtype">float</span> * xdat, <span class="keywordtype">float</span> * parlist ) ;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> sinfo_new_edge_deriv(<span class="keywordtype">float</span> * xdat, </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordtype">float</span> * parlist, <span class="keywordtype">float</span> * dervs<span class="comment">/*, int * npar */</span>) ;</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <a class="code" href="group__sinfo__boltzmann.html#ga72b3c6f0c971fb402bd68c8d0fcf5e30" title="calculates the partial derivatives for a Boltzmann function with parameters parlist at position xdat...">sinfo_new_boltz_deriv</a>( <span class="keywordtype">float</span> * xdat, <span class="keywordtype">float</span> * parlist, <span class="keywordtype">float</span> * dervs ) ;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keywordtype">int</span> <a class="code" href="group__sinfo__boltzmann.html#ga7e03e34851f7c367ab3827c58e8c81c5" title="makes a least-squares fit of a function to a set of data points.">sinfo_new_lsqfit</a> ( <span class="keywordtype">float</span> * xdat,</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keywordtype">int</span> * xdim,</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordtype">float</span> * ydat,</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="keywordtype">float</span> * wdat,</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keywordtype">int</span> * ndat,</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordtype">float</span> * fpar,</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="keywordtype">float</span> * epar,</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordtype">int</span> * mpar,</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordtype">int</span> * npar,</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keywordtype">float</span> * tol ,</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordtype">int</span> * its ,</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordtype">float</span> * lab ) ;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> sinfo_new_lsqfit_edge ( <span class="keywordtype">float</span> * xdat,</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordtype">int</span> * xdim,</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="keywordtype">float</span> * ydat,</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="keywordtype">float</span> * wdat,</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keywordtype">int</span> * ndat,</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keywordtype">float</span> * fpar,</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="keywordtype">float</span> * epar,</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="keywordtype">int</span> * mpar,</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="keywordtype">int</span> * npar,</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keywordtype">float</span> * tol ,</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keywordtype">int</span> * its ,</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="keywordtype">float</span> * lab ) ;</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> sinfo_new_fit_slits_edge( cpl_image * lineImage,</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> FitParams ** par,</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="keywordtype">float</span> ** sinfo_slit_pos,</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keywordtype">int</span> box_length,</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keywordtype">float</span> y_box,</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="keywordtype">float</span> diff_tol ) ;</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <a class="code" href="group__sinfo__boltzmann.html#gab3549f7bb876fb4091ba3c0bd64d267d" title="fits the beginning and end position of the slitlets by using non-linear least square fitting of a Bol...">sinfo_new_fit_slits_boltz</a>( cpl_image * lineImage,</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> FitParams ** par,</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="keywordtype">float</span> ** sinfo_slit_pos,</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="keywordtype">int</span> box_length,</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="keywordtype">float</span> y_box,</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="keywordtype">float</span> diff_tol ) ;</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> </div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <a class="code" href="group__sinfo__boltzmann.html#gafe44b4032a5b85ff4b88bf7518793b21" title="fits the beginning and end position of the slitlets by using non-linear least square fitting of a Bol...">sinfo_new_fit_slits_boltz_single_line</a> ( cpl_image * lineImage,</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="keywordtype">float</span> ** sinfo_slit_pos,</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="keywordtype">int</span> box_length,</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="keywordtype">float</span> y_box,</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="keywordtype">int</span> low_pos,</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="keywordtype">int</span> high_pos ) ;</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> </div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <a class="code" href="group__sinfo__boltzmann.html#ga1851d695a240ae0d23d20657f02867bb" title="its the beginning and end position of the slitlets by using non-linear least square fitting of a Bolt...">sinfo_new_fit_slits_boltz_with_estimate</a> ( cpl_image * lineImage,</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="keywordtype">float</span> ** sinfo_slit_pos,</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="keywordtype">int</span> box_length,</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="keywordtype">float</span> y_box,</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="keywordtype">float</span> diff_tol,</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="keywordtype">int</span> low_pos,</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="keywordtype">int</span> high_pos ) ;</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> </div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> </div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> sinfo_new_fit_slits_edge_with_estimate ( cpl_image * lineImage,</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="keywordtype">float</span> ** sinfo_slit_pos,</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="keywordtype">int</span> box_length,</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="keywordtype">float</span> y_box,</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="keywordtype">float</span> diff_tol,</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="keywordtype">int</span> low_pos,</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="keywordtype">int</span> high_pos ) ;</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> </div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> </div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="preprocessor">#endif </span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__atmo__disp_8c_source.html b/html/sinfo__atmo__disp_8c_source.html
deleted file mode 100644
index f27e185..0000000
--- a/html/sinfo__atmo__disp_8c_source.html
+++ /dev/null
@@ -1,375 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_atmo_disp.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_atmo_disp.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004-2009 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2011/12/08 16:15:40 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.7 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span> <span class="comment">/* allows the program compilation */</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_atmo_disp.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_resampling.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_image_ops.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">struct </span>_disp_data</div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> {</div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keywordtype">double</span> p1;</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keywordtype">double</span> d1;</div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keywordtype">double</span> d2;</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keywordtype">double</span> N0;</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keywordtype">double</span> predelta;</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keywordtype">double</span> parallactic_shiftX;</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keywordtype">double</span> parallactic_shiftY;</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> };</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>_disp_data disp_data;</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">static</span> <span class="keywordtype">double</span> sinfo_disp_calc_N(<span class="keyword">const</span> disp_data* pdata, <span class="keywordtype">double</span> lambda);</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> sinfo_disp_prepare_data(disp_data* pdata,</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">double</span> lambda0,</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">double</span> Tc,</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">double</span> rh,</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">double</span> airm,</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">double</span> p,</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">double</span> parallactic,</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">double</span> pixelscale );</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> sinfo_disp_calc(disp_data* pdata, <span class="keywordtype">double</span> lambda, <span class="keywordtype">double</span> *shiftx, <span class="keywordtype">double</span> *shiftY);</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> sinfo_atmo_rotate_point(<span class="keywordtype">double</span>* x_value, <span class="keywordtype">double</span> * y_value, <span class="keywordtype">double</span> rot_angle);</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">/*------------------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keyword">static</span> <span class="keywordtype">double</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> sinfo_disp_calc_N(<span class="keyword">const</span> disp_data* pdata, <span class="keywordtype">double</span> lambda)</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> {</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">double</span> s = 1.0 /lambda;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keywordtype">double</span> s2 = s * s;</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">double</span> s3 = s2 * s;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">double</span> s4 = s3 * s;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">double</span> s5 = s4 * s;</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">double</span> s6 = s5 * s;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">double</span> a = 83939.7/(130 - s2);</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">double</span> b = 4547.3/(38.99 - s2);</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">double</span> c = 6487.31 + 58.058*s2 - 0.71150*s4 + 0.08851*s6;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">double</span> N = 1e-8 * ( ((2371.34 + a + b) * pdata->d1) + ( c * pdata->d2));</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordflow">return</span> N;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> }</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> sinfo_disp_prepare_data(disp_data* pdata,</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">double</span> lambda0,</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">double</span> Tc,</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">double</span> rh,</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordtype">double</span> airm,</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">double</span> p,</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">double</span> parallactic,</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">double</span> pixelscale )</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> {</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordtype">double</span> ps,p2,p1,T,T2,T3;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">double</span> zenith;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment">// const double PI_NUMBer = 3.1415926535;</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> T = Tc + 273.15;T2 = T * T; T3 = T2 * T;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> ps = -10474 + (116.43 * T) - (0.43284 *T2) + (0.00053840 * T3);</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> p2 = (rh/100)*ps;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> p1 = p - p2;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> pdata->d1 = (p1/T)*(1+p1*( (57.90e-8) - ((9.3250e-4)/T) + (0.25844/T2)));</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> pdata->d2 = (p2/T)*(1+p2*(1+3.7e-4*p2)*( (-2.37321e-3) + (2.23366/T) - (710.792/T2) + ((7.75141e-4)/T3) )) ;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> pdata->N0 = sinfo_disp_calc_N(pdata, lambda0);</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> zenith = acos(1/airm);</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> pdata->predelta = ((tan(zenith)) / (PI_NUMB/180)) * 3600;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> pdata->parallactic_shiftX = sin ( (parallactic)* (PI_NUMB/180) ) / pixelscale;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> pdata->parallactic_shiftY = cos ( (parallactic)* (PI_NUMB/180) ) / pixelscale;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"atm disp N0[%f] d1[%f] d2[%f] pshiftX[%f] pshiftY[%f]"</span>,</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> pdata->N0,pdata->d1, pdata->d2, pdata->parallactic_shiftX ,</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> pdata->parallactic_shiftY);</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> }</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> sinfo_disp_calc(disp_data* pdata, <span class="keywordtype">double</span> lambda, <span class="keywordtype">double</span> *shiftx, <span class="keywordtype">double</span> *shifty)</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> {</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">double</span> n = sinfo_disp_calc_N(pdata, lambda);</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">double</span> delta = pdata->predelta * (n - pdata->N0);</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> *shiftx = -delta * pdata->parallactic_shiftX;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> *shifty = delta * pdata->parallactic_shiftY ;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> }</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> cpl_error_code </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> sinfo_atm_dispersion_cube(cpl_imagelist* pCube,</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordtype">int</span> centpix, <span class="comment">// central plane in the cube CRPIX3</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordtype">double</span> centlambda, <span class="comment">// wavelength of the central plane CRVAL3</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordtype">double</span> Tc, <span class="comment">// temperature in Celsius TEL.AMBI.TEMP</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keywordtype">double</span> Rh, <span class="comment">// relative humidity in % TEL.AMBI.RHUM</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">double</span> airm, <span class="comment">// airmass for the moment of observation TEL.AMBI.PRES</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordtype">double</span> p, <span class="comment">// atmospheric pressure TEL.AMBI.PRES</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordtype">double</span> parallactic, <span class="comment">// TEL.PARANG</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordtype">double</span> pixelscale, <span class="comment">// could be for SINFONI 0.025, 0.100, 0.250</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordtype">double</span> pixelsz <span class="comment">// microns per pixel CDELT3</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> )</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> {</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> cpl_error_code err = CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordtype">int</span> cubesize = cpl_imagelist_get_size(pCube);</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordtype">double</span> * kernel = sinfo_generate_interpolation_kernel(<span class="stringliteral">"default"</span>);</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> disp_data ddata;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordtype">int</span> i = 0;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> sinfo_disp_prepare_data(&ddata, centlambda, Tc, Rh, airm, p, parallactic, pixelscale);</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordflow">for</span> (i = 0; i < cubesize; i++)</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> {</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordtype">double</span> shiftx = 0;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordtype">double</span> shifty = 0;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> cpl_image* pnewImage = 0;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment">// 1. get an image</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> cpl_image* plane = cpl_imagelist_get(pCube, i);</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment">// 2. calculate dispersion and shift</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keywordtype">double</span> lambda = centlambda - (centpix - i) * pixelsz;</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> sinfo_disp_calc(&ddata, lambda, &shiftx, &shifty);</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment">// 3. aplly shift</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment">// int szx = cpl_image_get_size_x(plane);</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment">//int szy = cpl_image_get_size_y(plane);</span></div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment">//if (i % 10 == 0)</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">" shift image #%d, dx[%f] dy[%f]"</span>, i, shiftx, shifty);</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> pnewImage = sinfo_new_shift_image(</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> plane,</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> shiftx,</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> shifty,</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> kernel);</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> err = cpl_imagelist_set(pCube, pnewImage, i);</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordflow">if</span> (err != CPL_ERROR_NONE)</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> }</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> cpl_free(kernel);</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordflow">return</span> err;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> }</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment">/*----------------------------------------------------</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment"> * Atmospheric correction using polynomial fit</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment"> *----------------------------------------------------*/</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> cpl_polynomial* </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> sinfo_atmo_load_polynom(<span class="keyword">const</span> <span class="keywordtype">char</span>* filename)</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> {</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* COL_NAME_TEMPLATE = <span class="stringliteral">"col_%d"</span>;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* COL_NAME_VALUE = <span class="stringliteral">"value"</span>;</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> cpl_polynomial* poly = NULL;</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> cpl_table* ptable = NULL;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> ptable = cpl_table_load(filename, 1, 0);</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">if</span> (ptable)</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> {</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordtype">int</span> dim = 0;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordtype">int</span> nrows = 0;</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keywordtype">int</span> i = 0;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> cpl_size* expo = NULL;</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> dim = cpl_table_get_ncol(ptable) - 1;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> poly = cpl_polynomial_new(dim );</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> nrows = cpl_table_get_nrow(ptable);</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> expo = cpl_malloc(dim * <span class="keyword">sizeof</span>(expo[0]));</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> memset(&expo[0], 0, dim * <span class="keyword">sizeof</span>(expo[0]));</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keywordflow">for</span> (i = 0; i < nrows; i++)</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> {</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keywordtype">int</span> j = 0;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keywordtype">int</span> inull = 0;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keywordtype">double</span> value = 0;</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="keywordflow">for</span> (j = 0; j < dim; j++)</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> {</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keywordtype">char</span> col_name[255];</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> sprintf(col_name, COL_NAME_TEMPLATE, j);</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> expo[j] = cpl_table_get_int(ptable, col_name, i, &inull);</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> }</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> value = cpl_table_get(ptable, COL_NAME_VALUE, i, &inull);</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> cpl_polynomial_set_coeff(poly, expo, value);</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE)</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> {</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordflow">if</span> (poly)</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> {</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> sinfo_free_polynomial(&poly);</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> }</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> }</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> }</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> cpl_free(expo);</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> }</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> sinfo_free_table(&ptable);</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keywordflow">return</span> poly;</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> }</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> sinfo_atmo_rotate_point(<span class="keywordtype">double</span>* x_value, <span class="keywordtype">double</span> * y_value, <span class="keywordtype">double</span> rot_angle)</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> {</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordtype">double</span> newx = *x_value * cos(rot_angle) - *y_value * sin(rot_angle);</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keywordtype">double</span> newy = *x_value * sin(rot_angle) + *y_value * cos(rot_angle);</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> *x_value = newx;</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> *y_value = newy;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> }</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> cpl_imagelist* </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> sinfo_atmo_apply_cube_polynomial_shift(</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> cpl_polynomial* poly,</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> cpl_imagelist* pCube,</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordtype">double</span> lambda0,</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keywordtype">double</span> airmass,</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordtype">double</span> parallactic, <span class="comment">// should be in radian</span></div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="keywordtype">double</span> pixelsz,</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="keywordtype">int</span> centpix)</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> {</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> cpl_imagelist* retcube = NULL;</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> cpl_error_code err = CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> cpl_vector* vparams = NULL;</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="keywordtype">double</span> * kernel = sinfo_generate_interpolation_kernel(<span class="stringliteral">"default"</span>);</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keywordtype">int</span> cubesize = 0;</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keywordtype">int</span> i = 0;</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="comment">// the following two parameters are necessary for computing the shift</span></div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="comment">// in case when polynom for H+K band is used for H or K</span></div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordtype">double</span> l0_shift_x = 0; <span class="comment">// shift for the central point by X</span></div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keywordtype">double</span> l0_shift_y = 0; <span class="comment">// shift for the central point by Y</span></div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> vparams = cpl_vector_new(2);</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> cpl_vector_set(vparams, 0, airmass);</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> cpl_vector_set(vparams, 1, lambda0);</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> err = cpl_error_get_code();</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="keywordflow">if</span> (err == CPL_ERROR_NONE)</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> {</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> l0_shift_y = cpl_polynomial_eval(poly, vparams); <span class="comment">// North - South</span></div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> l0_shift_x = 0; <span class="comment">// (EAST-WEST direction)</span></div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="comment">// rotate the shift</span></div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> sinfo_atmo_rotate_point(&l0_shift_x, &l0_shift_y, parallactic);</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> cubesize = cpl_imagelist_get_size(pCube);</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> err = cpl_error_get_code();</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> }</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="keywordflow">if</span> (err == CPL_ERROR_NONE)</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> {</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> retcube = cpl_imagelist_new();</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="keywordflow">for</span> (i = 0; i < cubesize; i++)</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> {</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="comment">// calculate the wavelength</span></div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="keywordtype">double</span> lambda = lambda0 - (centpix - i) * pixelsz;</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keywordtype">double</span> shift_y = 0;</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="keywordtype">double</span> shift_x = 0;</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> cpl_vector_set(vparams, 1, lambda);</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="comment">// calc the shift</span></div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> shift_y = cpl_polynomial_eval(poly, vparams); <span class="comment">// North - South</span></div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> err = cpl_error_get_code();</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="keywordflow">if</span> (err == CPL_ERROR_NONE)</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> {</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="keywordtype">double</span> res_shift_x = -(shift_x - l0_shift_x);</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="keywordtype">double</span> res_shift_y = -(shift_y - l0_shift_y);</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> cpl_image* plane = NULL;</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> cpl_image* pimresult = NULL;</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="comment">// rotate the shift</span></div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> sinfo_atmo_rotate_point(&res_shift_x, &res_shift_y, parallactic);</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> plane = cpl_imagelist_get(pCube, i);</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> pimresult = sinfo_new_shift_image(</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> plane,</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> res_shift_x, <span class="comment">// x shift</span></div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> res_shift_y, <span class="comment">// y shift</span></div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> kernel);</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="keywordflow">if</span> (err == CPL_ERROR_NONE)</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> {</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> err = cpl_imagelist_set(retcube, pimresult, i);</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> }</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> {</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Error sinfo_new_shift_image, %s"</span>,</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> cpl_error_get_where());</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> }</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="keywordflow">if</span> (err != CPL_ERROR_NONE)</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> }</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> {</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Error polynomial_eval, %s"</span>,</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> cpl_error_get_where());</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> }</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="keywordflow">if</span> (err != CPL_ERROR_NONE)</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> }</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> }</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="keywordflow">if</span> (err != CPL_ERROR_NONE)</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> {</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> sinfo_free_imagelist(&retcube);</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Error during shift planes in the cube, %s"</span>,</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> cpl_error_get_where());</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> }</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> sinfoni_free_vector(&vparams);</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> cpl_free(kernel);</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="keywordflow">return</span> retcube;</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__atmo__disp_8h_source.html b/html/sinfo__atmo__disp_8h_source.html
deleted file mode 100644
index 176752a..0000000
--- a/html/sinfo__atmo__disp_8h_source.html
+++ /dev/null
@@ -1,117 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_atmo_disp.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_atmo_disp.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004-2009 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2010/02/08 07:15:18 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.4 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifndef SINFO_ATMO_DISP_H_</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_ATMO_DISP_H_</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> cpl_error_code </div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> sinfo_atm_dispersion_cube(cpl_imagelist* pCube,</div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="keywordtype">int</span> centpix, <span class="comment">// central plane in the cube CRPIX3</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="keywordtype">double</span> centlambda, <span class="comment">// wavelength of the central plane CRVAL3</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="keywordtype">double</span> Tc, <span class="comment">// temperature in Celsius TEL.AMBI.TEMP</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="keywordtype">double</span> Rh, <span class="comment">// relative humidity in % TEL.AMBI.RHUM</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keywordtype">double</span> airm, <span class="comment">// airmass for the moment of observation TEL.AMBI.PRES</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="keywordtype">double</span> p, <span class="comment">// atmospheric pressure TEL.AMBI.PRES</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keywordtype">double</span> parallactic, <span class="comment">// TEL.PARANG</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="keywordtype">double</span> pixelscale, <span class="comment">// could be for SINFONI 0.025, 0.100, 0.250</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keywordtype">double</span> pixelsz <span class="comment">// microns per pixel CDELT3</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> );</div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keywordtype">void</span> calcAtmosphericDispersion( <span class="keywordtype">double</span> lambda, <span class="keywordtype">double</span> lambda0, <span class="keywordtype">double</span> *shiftX, <span class="keywordtype">double</span> *shiftY, <span class="keywordtype">double</span> *deltaR,</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keywordtype">double</span> Tc,</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keywordtype">double</span> rh,</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keywordtype">double</span> airm,</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keywordtype">double</span> p,</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keywordtype">double</span> parallactic,</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keywordtype">double</span> pixelscale);</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> cpl_error_code sinfo_atmo_dispersion_cube(cpl_imagelist* pCube,</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">int</span> centpix, <span class="comment">// central plane in the cube</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">double</span> centlambda, <span class="comment">// wavelength of the central plane</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">double</span> Tc, <span class="comment">// temperature in Celsius TEL.AMBI.TEMP</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">double</span> Rh, <span class="comment">// relative humidity in % TEL.AMBI.RHUM</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">double</span> airm, <span class="comment">// airmass for the moment of observation TEL.AMBI.PRES</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">double</span> p, <span class="comment">// atmospheric pressure TEL.AMBI.PRES</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">double</span> parallactic, <span class="comment">// TEL.PARANG</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">double</span> pixelscale, <span class="comment">// could be for SINFONI 0.025, 0.100, 0.250</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">double</span> pixelsz <span class="comment">// microns per pixel CDELT3</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> );</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> cpl_imagelist* sinfo_atmo_apply_cube_polynomial_shift(</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> cpl_polynomial* poly,</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> cpl_imagelist* pCube,</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">double</span> lambda0,</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">double</span> airmass,</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">double</span> parallactic, <span class="comment">// should be in radian</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keywordtype">double</span> pixelsz,</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">int</span> centpix);</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> cpl_polynomial* sinfo_atmo_load_polynom(<span class="keyword">const</span> <span class="keywordtype">char</span>* filename);</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor">#endif </span><span class="comment">/* SINFO_ATM_DISP_H_ */</span><span class="preprocessor"></span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__bad__cfg_8c_source.html b/html/sinfo__bad__cfg_8c_source.html
deleted file mode 100644
index 804d065..0000000
--- a/html/sinfo__bad__cfg_8c_source.html
+++ /dev/null
@@ -1,102 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_bad_cfg.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_bad_cfg.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_bad_cfg.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Autor : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : October 2001</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : handles the data structure bad_config</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_bad_cfg.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> bad_config * </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> sinfo_bad_cfg_create(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> {</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordflow">return</span> cpl_calloc(1, <span class="keyword">sizeof</span>(bad_config));</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> }</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> sinfo_bad_cfg_destroy(bad_config * sc)</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> {</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordflow">if</span> (sc==NULL) return ;</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">/* Free main struct */</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> cpl_free(sc);</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> return ;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> }</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__bad__cfg_8h_source.html b/html/sinfo__bad__cfg_8h_source.html
deleted file mode 100644
index 1ffd0b3..0000000
--- a/html/sinfo__bad__cfg_8h_source.html
+++ /dev/null
@@ -1,158 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_bad_cfg.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_bad_cfg.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : bad_cfg.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : October 2001</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : bad_ini definitions + handling prototypes</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifndef SINFO_BAD_CFG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_BAD_CFG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <stdlib.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> New types</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> bad pixels search blackboard container</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> This structure holds all information related to the bad pixels search</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> routine. It is used as a container for the flux of ancillary data,</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> computed values, and algorithm status. Pixel flux is separated from</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> the blackboard.</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>bad_config {</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/*-------General---------*/</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">char</span> inFile[FILE_NAME_SZ] ; <span class="comment">/* file name of the file containing </span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> the list of all input frames */</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">char</span> outName[FILE_NAME_SZ] ; <span class="comment">/* output name of resulting bad pixel </span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> mask (fits file)*/</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">char</span> ** framelist ; <span class="comment">/* list of frames */</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">int</span> nframes ; <span class="comment">/* number of frames in frame list */</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">/*------ BadPix ------*/</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/* factor of noise within which the pixels are used to fit a </span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> straight line to the column intensity */</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">float</span> sigmaFactor ; </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">/* factor of calculated standard deviation beyond which the </span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> deviation of a pixel value from the </span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> median of the 8 nearest neighbors declares a pixel as bad */</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keywordtype">float</span> factor ;</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">/* number of iterations of sinfo_median filter */</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">int</span> iterations ;</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">/* percentage of extreme pixel value to reject when calculating </span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> the mean and stdev */</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">float</span> loReject ;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">float</span> hiReject ;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">/* pixel coordinate of lower left edge of a rectangle zone from </span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> which image statistics are computed */</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">int</span> llx ;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">int</span> lly ;</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">/* pixel coordinate of upper right edge of a rectangle zone from </span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> which image statistics are computed */</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">int</span> urx ;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">int</span> ury ;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">/*------ Thresh ------*/</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">/* indicates if the values beyond threshold values should </span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> be marked as bad before proceeding </span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> to sinfo_median filtering */</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">int</span> threshInd ;</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">/* factor to the clean standard deviation to define the </span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"> threshold deviation from the clean mean */</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordtype">float</span> meanfactor ;</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">/* minimum vlaue of good data */</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">float</span> mincut ;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment">/* maximum vlaue of good data */</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordtype">float</span> maxcut ;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment">/* indicates which method will be used */</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">int</span> methodInd ;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> } bad_config ;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"> Function prototypes</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> bad_config * </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> sinfo_bad_cfg_create(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> sinfo_bad_cfg_destroy(bad_config * sc);</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__bad__ini_8h_source.html b/html/sinfo__bad__ini_8h_source.html
deleted file mode 100644
index 60df354..0000000
--- a/html/sinfo__bad__ini_8h_source.html
+++ /dev/null
@@ -1,102 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_bad_ini.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_bad_ini.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : bad_ini.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Oct 25, 2001</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : prepare handling of .ini file for the search for static </span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> bad pixels</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifndef SINFO_BAD_INI_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_BAD_INI_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_bad_cfg.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> generateBad_ini_file(</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">char</span> * ini_name,</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">char</span> * name_i,</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">char</span> * name_o</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> );</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> bad_config * </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> parse_bad_ini_file(<span class="keywordtype">char</span> * ini_name) ;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__baddist__ini__by__cpl_8c_source.html b/html/sinfo__baddist__ini__by__cpl_8c_source.html
deleted file mode 100644
index bb33a51..0000000
--- a/html/sinfo__baddist__ini__by__cpl_8c_source.html
+++ /dev/null
@@ -1,302 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_baddist_ini_by_cpl.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_baddist_ini_by_cpl.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_baddist_ini_by_cpl.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Jun 16, 2004</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : parse cpl input for the search of static bad pixels</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_baddist_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_hidden.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_raw_types.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_file_handling.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> Functions private to this module</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_frames(bad_config * cfg, </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> cpl_frameset* sof, <span class="keyword">const</span> <span class="keywordtype">char</span>* procatg, cpl_frameset** raw, <span class="keywordtype">int</span>* status);</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_badpix(bad_config * cfg, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_thresh(bad_config * cfg, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> bad_config * </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> sinfo_parse_cpl_input_baddist(cpl_parameterlist * cpl_cfg, </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> cpl_frameset* sof,</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* procatg,</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> cpl_frameset** raw) </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> {</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> bad_config * cfg ;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">int</span> status = 0;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">/* Removed check on ini_file */</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">/* Removed load of ini file */</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> cfg = sinfo_bad_cfg_create();</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> * Perform sanity checks, fill up the structure with what was</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"> * found in the ini file</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> parse_section_badpix (cfg, cpl_cfg);</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> parse_section_thresh (cfg, cpl_cfg);</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> parse_section_frames (cfg, sof, procatg, raw,&status);</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordflow">if</span>(status>0) {</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"parsing cpl input"</span>);</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> sinfo_bad_cfg_destroy(cfg);</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> cfg = NULL ;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> }</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordflow">return</span> cfg ;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> }</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> parse_section_frames(bad_config * cfg,</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> cpl_frameset * sof,</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * procatg, </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> cpl_frameset ** raw,</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">int</span>* status)</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> {</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">int</span> nraw = 0;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">char</span> * tag=NULL;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordtype">int</span> nraw_good = 0;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> cpl_frame* frame=NULL;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keywordtype">char</span> spat_res[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">char</span> lamp_status[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordtype">char</span> band[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordtype">int</span> ins_set=0;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordflow">if</span>(strcmp(procatg,PRO_BP_MAP_DI) == 0 ) {</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> sinfo_extract_raw_frames_type(sof,raw,PRO_MASTER_FLAT_LAMP);</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> nraw=cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(strcmp(procatg,PRO_BP_MAP_NO) == 0 ) {</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> sinfo_extract_raw_frames_type(sof,raw,PRO_MASTER_FLAT_LAMP);</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> nraw=cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> sinfo_extract_raw_frames_type(sof,raw,RAW_FLAT_LAMP);</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> nraw=cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordflow">if</span> (nraw==0) {</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> sinfo_extract_raw_frames_type(sof,raw,RAW_FLAT_NS);</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> nraw=cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> } </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> }</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keywordflow">if</span> (nraw==0) {</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> sinfo_extract_raw_frames_type(sof,raw,RAW_FLAT_LAMP);</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> nraw=cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> }</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">if</span> (nraw==0) {</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> sinfo_extract_raw_frames_type(sof,raw,RAW_FLAT_NS);</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> nraw=cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> }</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> nraw=cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordflow">if</span> (nraw < 1) {</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Too few (%d) raw frames (%s or %s) present in"</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="stringliteral">"frameset!Aborting..."</span>,nraw,</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> RAW_FLAT_LAMP,RAW_FLAT_NS);</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> (*status)++;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> }</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment">/* Removed: get "general:infile" read it, check input sinfo_matrix */</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment">/* Allocate structures to go into the blackboard */</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> cfg->framelist = cpl_malloc(nraw * <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>*));</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment">/* read input frames */</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordflow">for</span> (i=0 ; i<nraw ; i++) {</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> frame = cpl_frameset_get_frame(*raw,i);</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> tag = (<span class="keywordtype">char</span>*)cpl_frame_get_tag(frame) ;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keywordflow">if</span>(sinfo_file_exists((<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame))==1) </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> {</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment">/* Store file name into framelist */</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> cfg->framelist[i]=(<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> nraw_good++;</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> }</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> }</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">if</span>(nraw_good<1) {</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Error: no good raw frame in input, something wrong!"</span>);</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> (*status)++;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> }</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment">/* Copy relevant information into the blackboard */</span></div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> cfg->nframes = nraw_good ;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment">/* Output */</span></div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> strcpy(cfg -> outName, BP_DIST_OUT_FILENAME);</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> frame = cpl_frameset_get_frame(*raw,0);</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> sinfo_get_spatial_res(frame,spat_res);</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordflow">switch</span>(sinfo_frame_is_on(frame)) </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> {</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keywordflow">case</span> 0: </div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> strcpy(lamp_status,<span class="stringliteral">"on"</span>);</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keywordflow">case</span> 1: </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> strcpy(lamp_status,<span class="stringliteral">"off"</span>);</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keywordflow">case</span> -1:</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keywordflow">default</span>: </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> }</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> sinfo_get_band(frame,band);</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> sinfo_msg(<span class="stringliteral">"Spatial resolution: %s lamp_status: %s band: %s \n"</span>,</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> spat_res, lamp_status, band);</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> sinfo_get_ins_set(band,&ins_set);</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> }</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> parse_section_badpix(bad_config * cfg, cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> {</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> cpl_parameter *p; </div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_dist.sigma_factor"</span>);</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> cfg -> sigmaFactor = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_dist.method_index"</span>);</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> cfg -> methodInd = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_dist.factor"</span>);</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> cfg -> factor = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_dist.iterations"</span>);</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> cfg -> iterations = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_dist.low_rejection"</span>);</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> cfg -> loReject = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_dist.high_rejection"</span>);</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> cfg -> hiReject = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_dist.llx"</span>);</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> cfg -> llx = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_dist.lly"</span>);</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> cfg -> lly = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_dist.urx"</span>);</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> cfg -> urx = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_dist.ury"</span>);</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> cfg -> ury = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> }</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> parse_section_thresh(bad_config * cfg, cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> {</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> cpl_parameter *p; </div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_dist.threshold_index"</span>);</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> cfg -> threshInd = cpl_parameter_get_bool(p);</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_dist.mean_factor"</span>);</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> cfg -> meanfactor = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> </div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_dist.min_cut"</span>);</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> cfg -> mincut = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_dist.max_cut"</span>);</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> cfg -> maxcut = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__baddist__ini__by__cpl_8h_source.html b/html/sinfo__baddist__ini__by__cpl_8h_source.html
deleted file mode 100644
index 422b903..0000000
--- a/html/sinfo__baddist__ini__by__cpl_8h_source.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_baddist_ini_by_cpl.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_baddist_ini_by_cpl.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_baddist_ini_by_cpl.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Jun 16, 2004</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : parse cpl input for the search for static bad pixels</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#ifndef SINFO_BADDIST_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_BADDIST_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_bad_cfg.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> sinfo_bad_free(bad_config * cfg);</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> bad_config * </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> sinfo_parse_cpl_input_baddist(cpl_parameterlist * cpl_cfg, </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* procatg, </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> cpl_frameset** raw);</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__badnorm__ini__by__cpl_8c_source.html b/html/sinfo__badnorm__ini__by__cpl_8c_source.html
deleted file mode 100644
index 9d511f1..0000000
--- a/html/sinfo__badnorm__ini__by__cpl_8c_source.html
+++ /dev/null
@@ -1,326 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_badnorm_ini_by_cpl.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_badnorm_ini_by_cpl.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_badnorm_ini_by_cpl.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Jun 16, 2004</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : parse cpl input for the search of static bad pixels</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_badnorm_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_raw_types.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_hidden.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_file_handling.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> Functions private to this module</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_frames(bad_config * cfg, </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> cpl_frameset* sof, <span class="keyword">const</span> <span class="keywordtype">char</span>* procatg, cpl_frameset** raw, <span class="keywordtype">int</span>* status);</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_badpix(bad_config * cfg, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_thresh(bad_config * cfg, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> bad_config * </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> sinfo_parse_cpl_input_badnorm(cpl_parameterlist * cpl_cfg, </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> cpl_frameset* sof,</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* procatg,</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> cpl_frameset** raw) </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> {</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> bad_config * cfg ;</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">int</span> status = 0;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/* Removed check on ini_file */</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">/* Removed load of ini file */</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> cfg = sinfo_bad_cfg_create();</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> * Perform sanity checks, fill up the structure with what was</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> * found in the ini file</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> parse_section_badpix (cfg, cpl_cfg);</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> parse_section_thresh (cfg, cpl_cfg);</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> parse_section_frames (cfg, sof, procatg, raw,&status);</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordflow">if</span>(status>0) {</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"parsing cpl input"</span>);</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> sinfo_bad_cfg_destroy(cfg);</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> cfg = NULL ;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> }</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordflow">return</span> cfg ;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> }</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> parse_section_frames(bad_config * cfg,</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> cpl_frameset * sof,</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * procatg, </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> cpl_frameset ** raw,</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">int</span>* status)</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> {</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">int</span> nraw = 0;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordtype">char</span> * tag=NULL;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordtype">int</span> nraw_good = 0;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> cpl_frame* frame=NULL;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">char</span> spat_res[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordtype">char</span> lamp_status[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordtype">char</span> band[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordtype">int</span> ins_set=0;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordflow">if</span>(strcmp(procatg,PRO_BP_MAP_DI) == 0 ) {</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> sinfo_extract_raw_frames_type(sof,raw,PRO_MASTER_FLAT_LAMP);</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> nraw=cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(strcmp(procatg,PRO_BP_MAP_NO) == 0 ) {</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> sinfo_extract_raw_frames_type(sof,raw,PRO_MASTER_FLAT_LAMP);</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> nraw=cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> sinfo_extract_raw_frames_type(sof,raw,RAW_FLAT_LAMP);</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> nraw=cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordflow">if</span> (nraw==0) {</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> sinfo_extract_raw_frames_type(sof,raw,RAW_FLAT_NS);</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> nraw=cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> } </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> }</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keywordflow">if</span> (nraw==0) {</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> sinfo_extract_raw_frames_type(sof,raw,RAW_FLAT_LAMP);</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> nraw=cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> }</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordflow">if</span> (nraw==0) {</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> sinfo_extract_raw_frames_type(sof,raw,RAW_FLAT_NS);</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> nraw=cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> }</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordflow">if</span> (nraw < 1) {</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Too few (%d) raw frames (%s or %s or %s) present in"</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="stringliteral">"frameset!Aborting..."</span>,nraw,</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> PRO_MASTER_FLAT_LAMP,RAW_FLAT_LAMP,RAW_FLAT_NS);</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> (*status)++;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> }</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment">/* Removed: get "general:infile" read it, check input sinfo_matrix */</span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment">/* Allocate structures to go into the blackboard */</span></div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> cfg->framelist = cpl_malloc(nraw * <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>*));</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment">/* read input frames */</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordflow">for</span> (i=0 ; i<nraw ; i++) {</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> frame = cpl_frameset_get_frame(*raw,i);</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> tag = (<span class="keywordtype">char</span>*)cpl_frame_get_tag(frame) ;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordflow">if</span>(sinfo_file_exists((<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame))==1) </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> {</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment">/* Store file name into framelist */</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> cfg->framelist[i]=(<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> nraw_good++;</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> }</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> }</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">if</span>(nraw_good<1) {</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Error: no good raw frame in input, something wrong!"</span>);</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> (*status)++;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> }</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment">/* Copy relevant information into the blackboard */</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> cfg->nframes = nraw_good ;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment">/* Output */</span></div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">if</span> (strcmp(procatg,PRO_BP_MAP_NO) == 0) {</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> strcpy(cfg -> outName, BP_NORM_OUT_FILENAME);</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(procatg,PRO_BP_MAP_DI) == 0) {</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> strcpy(cfg -> outName, BP_DIST_OUT_FILENAME);</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(procatg,PRO_DEFAULT) == 0) {</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> strcpy(cfg -> outName, BP_NORM_OUT_FILENAME);</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Error: PRO.CATG %s, not supported!"</span>,procatg);</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> (*status)++;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> }</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> frame = cpl_frameset_get_frame(*raw,0);</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> sinfo_get_spatial_res(frame,spat_res);</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keywordflow">switch</span>(sinfo_frame_is_on(frame)) </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> {</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keywordflow">case</span> 0: </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> strcpy(lamp_status,<span class="stringliteral">"on"</span>);</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordflow">case</span> 1: </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> strcpy(lamp_status,<span class="stringliteral">"off"</span>);</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keywordflow">case</span> -1:</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keywordflow">default</span>: </div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> }</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> sinfo_get_band(frame,band);</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> sinfo_msg(<span class="stringliteral">"Spatial resolution: %s lamp status: %s band: %s \n"</span>,</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> spat_res, lamp_status, band);</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> sinfo_get_ins_set(band,&ins_set);</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> }</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> parse_section_badpix(bad_config * cfg, cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> {</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> cpl_parameter *p; </div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_norm.sigma_factor"</span>);</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> cfg -> sigmaFactor = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_norm.method_index"</span>);</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> cfg -> methodInd = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_norm.factor"</span>);</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> cfg -> factor = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_norm.iterations"</span>);</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> cfg -> iterations = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_norm.low_rejection"</span>);</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> cfg -> loReject = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_norm.high_rejection"</span>);</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> cfg -> hiReject = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_norm.llx"</span>);</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> cfg -> llx = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_norm.lly"</span>);</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> cfg -> lly = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_norm.urx"</span>);</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> cfg -> urx = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_norm.ury"</span>);</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> cfg -> ury = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> }</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> parse_section_thresh(bad_config * cfg, cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> {</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> cpl_parameter *p; </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_norm.threshold_index"</span>);</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> cfg -> threshInd = cpl_parameter_get_bool(p);</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_norm.mean_factor"</span>);</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> cfg -> meanfactor = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> </div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_norm.min_cut"</span>);</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> cfg -> mincut = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_norm.max_cut"</span>);</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> cfg -> maxcut = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> }</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> sinfo_badnorm_free(bad_config ** cfg)</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> { </div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="keywordflow">if</span>((*cfg) != NULL) {</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="keywordflow">if</span>((*cfg)->framelist != NULL) {</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> cpl_free((*cfg)->framelist);</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> (*cfg)->framelist=NULL;</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> }</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> sinfo_bad_cfg_destroy((*cfg));</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> *cfg =NULL;</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> }</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__badnorm__ini__by__cpl_8h_source.html b/html/sinfo__badnorm__ini__by__cpl_8h_source.html
deleted file mode 100644
index ccc0bef..0000000
--- a/html/sinfo__badnorm__ini__by__cpl_8h_source.html
+++ /dev/null
@@ -1,97 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_badnorm_ini_by_cpl.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_badnorm_ini_by_cpl.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_badnorm_ini_by_cpl.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Jun 16, 2004</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : parse cpl input for the search for static bad pixels</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifndef SINFO_BADNORM_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_BADNORM_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_bad_cfg.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> bad_config * </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> sinfo_parse_cpl_input_badnorm(cpl_parameterlist * cpl_cfg, </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* procatg, </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> cpl_frameset** raw);</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> sinfo_badnorm_free(bad_config ** cfg);</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__badsky__cfg_8c_source.html b/html/sinfo__badsky__cfg_8c_source.html
deleted file mode 100644
index a634a98..0000000
--- a/html/sinfo__badsky__cfg_8c_source.html
+++ /dev/null
@@ -1,100 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_badsky_cfg.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_badsky_cfg.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_badsky_cfg.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Autor : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : October 2001</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : handles the data structure bad_config</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_badsky_cfg.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> badsky_config * sinfo_badsky_cfg_create(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> {</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordflow">return</span> cpl_calloc(1, <span class="keyword">sizeof</span>(badsky_config));</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> }</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">void</span> sinfo_badsky_cfg_destroy(badsky_config * sc)</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> {</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keywordflow">if</span> (sc==NULL) return ;</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">/* Free main struct */</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> cpl_free(sc);</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> return ;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> }</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__badsky__cfg_8h_source.html b/html/sinfo__badsky__cfg_8h_source.html
deleted file mode 100644
index daaec32..0000000
--- a/html/sinfo__badsky__cfg_8h_source.html
+++ /dev/null
@@ -1,154 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_badsky_cfg.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_badsky_cfg.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_badsky_cfg.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : October 2001</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : bad_ini definitions + handling prototypes</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifndef SINFO_BADSKY_CFG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_BADSKY_CFG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <stdlib.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> New types</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> bad pixels search blackboard container</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> This structure holds all information related to the bad pixels search</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> routine. It is used as a container for the flux of ancillary data,</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> computed values, and algorithm status. Pixel flux is separated from</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> the blackboard.</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>badsky_config {</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">/*-------General---------*/</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">char</span> inFile[FILE_NAME_SZ] ; <span class="comment">/* file name of the </span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> file containing the list of </span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> all input frames */</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">char</span> sinfo_dark[FILE_NAME_SZ] ; <span class="comment">/* Input sinfo_dark */</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">char</span> outName[FILE_NAME_SZ] ; <span class="comment">/* output name of resulting </span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> bad pixel mask (fits file)*/</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">char</span> ** framelist ; <span class="comment">/* list of frames */</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">int</span> nframes ; <span class="comment">/* number of frames in frame list */</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/*------ BadPix ------*/</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">/* factor of noise within which the pixels are used to fit a </span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> straight line to the column intensity */</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">float</span> sigmaFactor ; </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">/* factor of calculated standard deviation beyond </span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> which the deviation of a pixel value from the </span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> median of the 8 nearest neighbors declares a pixel as bad */</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">float</span> factor ;</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">/* number of iterations of sinfo_median filter */</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">int</span> iterations ;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">/* percentage of extreme pixel value to reject </span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> when calculating the mean and stdev */</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">float</span> loReject ;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">float</span> hiReject ;</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">/* pixel coordinate of lower left sinfo_edge of a </span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> rectangle zone from which image statistics are computed */</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">int</span> llx ;</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">int</span> lly ;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/* pixel coordinate of upper right sinfo_edge of a rectangle </span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> zone from which image statistics are computed */</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">int</span> urx ;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">int</span> ury ;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">/*------ Thresh ------*/</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">/* indicates if the values beyond threshold values should be </span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> marked as bad before proceeding </span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> to sinfo_median filtering */</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">int</span> threshInd ;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment">/* factor to the clean standard deviation to define the </span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"> threshold deviation from the clean mean */</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">float</span> meanfactor ;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">/* minimum vlaue of good data */</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">float</span> mincut ;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">/* maximum vlaue of good data */</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordtype">float</span> maxcut ;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment">/* indicates which method will be used */</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">int</span> methodInd ;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> } badsky_config ;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"> Function prototypes</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> badsky_config * </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> sinfo_badsky_cfg_create(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> sinfo_badsky_cfg_destroy(badsky_config * sc);</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__badsky__ini__by__cpl_8c_source.html b/html/sinfo__badsky__ini__by__cpl_8c_source.html
deleted file mode 100644
index ec79694..0000000
--- a/html/sinfo__badsky__ini__by__cpl_8c_source.html
+++ /dev/null
@@ -1,291 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_badsky_ini_by_cpl.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_badsky_ini_by_cpl.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> File name : sinfo_badsky_ini_by_cpl.c</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Created on : Jun 16, 2004</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> Description : parse cpl input for the search of static bad pixels</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"></span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_badsky_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_raw_types.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_hidden.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_file_handling.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> Functions private to this module</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> parse_section_frames(badsky_config * cfg, cpl_parameterlist* cpl_cfg, </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> cpl_frameset* sof, cpl_frameset** raw, <span class="keywordtype">int</span>* status);</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> parse_section_badpix(badsky_config * cfg, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> parse_section_thresh(badsky_config * cfg, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> badsky_config * </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> sinfo_parse_cpl_input_badsky(cpl_parameterlist * cpl_cfg, </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> cpl_frameset* sof,</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> cpl_frameset** raw) </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> {</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> badsky_config * cfg ;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">int</span> status = 0;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> cfg = sinfo_badsky_cfg_create();</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> parse_section_badpix (cfg, cpl_cfg);</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> parse_section_thresh (cfg, cpl_cfg);</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> parse_section_frames (cfg, cpl_cfg, sof, raw,&status);</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keywordflow">if</span>(status>0) {</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"parsing cpl input"</span>);</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> sinfo_badsky_cfg_destroy(cfg);</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> cfg = NULL ;</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> }</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordflow">return</span> cfg ;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> }</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> parse_section_frames(badsky_config * cfg,</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> cpl_parameterlist * cpl_cfg,</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> cpl_frameset * sof, </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> cpl_frameset ** raw,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keywordtype">int</span>* status)</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> {</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">int</span> nraw = 0;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">char</span> * tag=NULL;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordtype">int</span> nraw_good = 0;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> cpl_frame* frame=NULL;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> cpl_parameter *p; </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">char</span> spat_res[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">char</span> lamp_status[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">char</span> band[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordtype">int</span> ins_set=0;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> *raw=cpl_frameset_new();</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> sinfo_contains_frames_type(sof,raw,RAW_SKY);</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> nraw=cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordflow">if</span> (nraw < 1) {</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Too few (%d) raw frames %s present in"</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="stringliteral">"frameset!Aborting..."</span>,nraw,RAW_SKY);</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> (*status)++;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> }</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment">/* Removed: get "general:infile" read it, check input sinfo_matrix */</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment">/* Allocate structures to go into the blackboard */</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> cfg->framelist = cpl_malloc(nraw * <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>*));</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment">/* read input frames */</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordflow">for</span> (i=0 ; i<nraw ; i++) {</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> frame = cpl_frameset_get_frame(*raw,i);</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> tag = (<span class="keywordtype">char</span>*)cpl_frame_get_tag(frame) ;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordflow">if</span>(sinfo_file_exists((<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame))==1) </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> {</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment">/* Store file name into framelist */</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> cfg->framelist[i]=cpl_strdup(cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> nraw_good++;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> }</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> }</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keywordflow">if</span>(nraw_good<1) {</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Error: no good raw frame in input, something wrong!"</span>);</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> (*status)++;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> }</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_MASTER_DARK)) {</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> frame = cpl_frameset_find(sof,PRO_MASTER_DARK);</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> strcpy(cfg -> sinfo_dark, </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> cpl_strdup(cpl_frame_get_filename(frame)));</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"Frame %s not found!"</span>, PRO_MASTER_DARK);</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> }</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment">/* Copy relevant information into the blackboard */</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> cfg->nframes = nraw_good ;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment">/* Output */</span></div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_sky.out_filename"</span>);</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> strcpy(cfg -> outName, cpl_parameter_get_string(p));</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> frame = cpl_frameset_get_frame(*raw,0);</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> sinfo_get_spatial_res(frame,spat_res);</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordflow">switch</span>(sinfo_frame_is_on(frame)) </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> {</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keywordflow">case</span> 0: </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> strcpy(lamp_status,<span class="stringliteral">"on"</span>);</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="keywordflow">case</span> 1: </div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> strcpy(lamp_status,<span class="stringliteral">"off"</span>);</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="keywordflow">case</span> -1:</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keywordflow">default</span>: </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> }</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> sinfo_get_band(frame,band);</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> sinfo_msg(<span class="stringliteral">"Spatial resolution: %s lamp status: %s band: %s \n"</span>,</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> spat_res, lamp_status, band);</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> sinfo_get_ins_set(band,&ins_set);</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> }</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> parse_section_badpix(badsky_config * cfg, cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> {</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> cpl_parameter *p; </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_sky.sigma_factor"</span>);</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> cfg -> sigmaFactor = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_sky.method_index"</span>);</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> cfg -> methodInd = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_sky.factor"</span>);</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> cfg -> factor = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_sky.iterations"</span>);</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> cfg -> iterations = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_sky.low_rejection"</span>);</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> cfg -> loReject = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_sky.high_rejection"</span>);</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> cfg -> hiReject = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_sky.llx"</span>);</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> cfg -> llx = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_sky.lly"</span>);</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> cfg -> lly = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_sky.urx"</span>);</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> cfg -> urx = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_sky.ury"</span>);</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> cfg -> ury = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> }</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> parse_section_thresh(badsky_config * cfg, cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> {</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> cpl_parameter *p; </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_sky.threshold_index"</span>);</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> cfg -> threshInd = cpl_parameter_get_bool(p);</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_sky.mean_factor"</span>);</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> cfg -> meanfactor = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_sky.min_cut"</span>);</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> cfg -> mincut = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_sky.max_cut"</span>);</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> cfg -> maxcut = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> }</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> sinfo_badsky_free(badsky_config * cfg)</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> { </div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> cpl_free(cfg->framelist);</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> sinfo_badsky_cfg_destroy(cfg);</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__badsky__ini__by__cpl_8h_source.html b/html/sinfo__badsky__ini__by__cpl_8h_source.html
deleted file mode 100644
index ef5c612..0000000
--- a/html/sinfo__badsky__ini__by__cpl_8h_source.html
+++ /dev/null
@@ -1,97 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_badsky_ini_by_cpl.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_badsky_ini_by_cpl.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_badnorm_ini_by_cpl.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Jun 16, 2004</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : parse cpl input for the search for static bad pixels</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifndef SINFO_BADSKY_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_BADSKY_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_badsky_cfg.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> badsky_config * </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> sinfo_parse_cpl_input_badsky(cpl_parameterlist * cpl_cfg, </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> cpl_frameset** raw);</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> sinfo_badsky_free(badsky_config * cfg);</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__balance_8c_source.html b/html/sinfo__balance_8c_source.html
deleted file mode 100644
index be8cc16..0000000
--- a/html/sinfo__balance_8c_source.html
+++ /dev/null
@@ -1,177 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_balance.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_balance.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor"></span><span class="preprocessor">#include "sinfo_solve_poly_root.h"</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> </div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#define RADIX 2</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor"></span><span class="preprocessor">#define RADIX2 (RADIX*RADIX)</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> sinfo_balance_companion_matrix (<span class="keywordtype">double</span> *m, <span class="keywordtype">size_t</span> nc)</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> {</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keywordtype">int</span> not_converged = 1;</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keywordtype">double</span> row_norm = 0;</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keywordtype">double</span> col_norm = 0;</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keywordflow">while</span> (not_converged)</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> {</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">size_t</span> i, j;</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">double</span> g, f, s;</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> not_converged = 0;</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordflow">for</span> (i = 0; i < nc; i++)</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> {</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">/* column norm, excluding the diagonal */</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keywordflow">if</span> (i != nc - 1)</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> {</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> col_norm = fabs (MAT (m, i + 1, i, nc));</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> }</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> {</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> col_norm = 0;</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordflow">for</span> (j = 0; j < nc - 1; j++)</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> {</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> col_norm += fabs (MAT (m, j, nc - 1, nc));</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> }</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> }</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">/* row norm, excluding the diagonal */</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordflow">if</span> (i == 0)</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> {</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> row_norm = fabs (MAT (m, 0, nc - 1, nc));</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> }</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (i == nc - 1)</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> {</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> row_norm = fabs (MAT (m, i, i - 1, nc));</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> }</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> {</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> row_norm = (fabs (MAT (m, i, i - 1, nc)) </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> + fabs (MAT (m, i, nc - 1, nc)));</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> }</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordflow">if</span> (col_norm == 0 || row_norm == 0)</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> {</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordflow">continue</span>;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> }</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> g = row_norm / RADIX;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> f = 1;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> s = col_norm + row_norm;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keywordflow">while</span> (col_norm < g)</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> {</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> f *= RADIX;</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> col_norm *= RADIX2;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> }</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> g = row_norm * RADIX;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordflow">while</span> (col_norm > g)</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> {</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> f /= RADIX;</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> col_norm /= RADIX2;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> }</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordflow">if</span> ((row_norm + col_norm) < 0.95 * s * f)</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> {</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> not_converged = 1;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> g = 1 / f;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordflow">if</span> (i == 0)</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> {</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> MAT (m, 0, nc - 1, nc) *= g;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> }</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> {</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> MAT (m, i, i - 1, nc) *= g;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> MAT (m, i, nc - 1, nc) *= g;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> }</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordflow">if</span> (i == nc - 1)</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> {</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordflow">for</span> (j = 0; j < nc; j++)</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> {</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> MAT (m, j, i, nc) *= f;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> }</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> }</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> {</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> MAT (m, i + 1, i, nc) *= f;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> }</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> }</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> }</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> }</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__baryvel_8c_source.html b/html/sinfo__baryvel_8c_source.html
deleted file mode 100644
index 1c09773..0000000
--- a/html/sinfo__baryvel_8c_source.html
+++ /dev/null
@@ -1,1072 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_baryvel.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_baryvel.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* *</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory *</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This library is free software; you can redistribute it and/or modify *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or *</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version. *</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful, *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details. *</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA *</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2012/03/02 08:42:20 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.3 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Log: sinfo_baryvel.c,v $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * Revision 1.3 2012/03/02 08:42:20 amodigli</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * fixed some typos on doxygen</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> * Revision 1.2 2009/04/28 11:42:18 amodigli</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> * now return cpl_error_code</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * Revision 1.1 2009/01/02 08:27:58 amodigli</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * added to repository</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> * Revision 1.8 2007/06/06 08:17:33 amodigli</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> * replace tab with 4 spaces</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#include <sinfo_baryvel.h></span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#include <sinfo_pfits.h></span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">#include <sinfo_utils.h></span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor">#include <sinfo_functions.h></span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="preprocessor">#define H_GEOLAT "ESO TEL GEOLAT"</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="preprocessor"></span><span class="preprocessor">#define H_GEOLON "ESO TEL GEOLON"</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="preprocessor"></span><span class="preprocessor">#define H_UTC "UTC"</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> Local functions</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keyword">static</span> <span class="keywordtype">double</span> sinfo_pfits_get_geolat(<span class="keyword">const</span> cpl_propertylist * plist);</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keyword">static</span> <span class="keywordtype">double</span> sinfo_pfits_get_geolon(<span class="keyword">const</span> cpl_propertylist * plist);</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keyword">static</span> <span class="keywordtype">double</span> sinfo_pfits_get_utc(<span class="keyword">const</span> cpl_propertylist * plist);</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keyword">static</span> <span class="keywordtype">void</span> deg2dms(<span class="keywordtype">double</span> in_val, </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordtype">double</span> *degs,</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordtype">double</span> *minutes,</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">double</span> *seconds);</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keyword">static</span> <span class="keywordtype">void</span> deg2hms(<span class="keywordtype">double</span> in_val, </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">double</span> *hour,</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordtype">double</span> *min,</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">double</span> *sec);</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keyword">static</span> <span class="keywordtype">void</span> compxy(<span class="keywordtype">double</span> inputr[19], <span class="keywordtype">char</span> inputc[4],</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">double</span> outputr[4],</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">double</span> utr, <span class="keywordtype">double</span> mod_juldat);</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keyword">static</span> <span class="keywordtype">void</span> barvel(<span class="keywordtype">double</span> DJE, <span class="keywordtype">double</span> DEQ,</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordtype">double</span> DVELH[4], <span class="keywordtype">double</span> DVELB[4]);</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keyword">static</span> <span class="keywordtype">double</span> sinfo_pfits_get_geolat(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> {</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">double</span> returnvalue = 0;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> check(returnvalue=cpl_propertylist_get_double(plist, H_GEOLAT), </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="stringliteral">"Error reading keyword '%s'"</span>, H_GEOLAT);</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> cleanup:</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">return</span> returnvalue;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> }</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keyword">static</span> <span class="keywordtype">double</span> sinfo_pfits_get_geolon(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> {</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">double</span> returnvalue = 0;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> check(returnvalue=cpl_propertylist_get_double(plist, H_GEOLON), </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="stringliteral">"Error reading keyword '%s'"</span>, H_GEOLON);</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> cleanup:</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordflow">return</span> returnvalue;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> }</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keyword">static</span> <span class="keywordtype">double</span> sinfo_pfits_get_utc(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> {</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordtype">double</span> returnvalue = 0;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> check(returnvalue=cpl_propertylist_get_double(plist, H_UTC), </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="stringliteral">"Error reading keyword '%s'"</span>, H_UTC);</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> cleanup:</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordflow">return</span> returnvalue;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> }</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="preprocessor">#if 0 </span><span class="comment">/* Not used / needed.</span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment"> We simply get the julian date from the input FITS header */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment">// SUBROUTINE JULDAT(INDATE,UTR,JD)</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment">//C++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment">//C</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment">//C.IDENTIFICATION</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="comment">//C FORTRAN subroutine JULDAT version 1.0 870102</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment">//C original coding: D. Gillet ESO - Garching</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment">//C variables renamed and restructured: D. Baade ST-ECF, Garching</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment">//C</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment">//C.KEYWORDS</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment">//C geocentric Julian date</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment">//C</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment">//C.PURPOSE</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment">//C calculate geocentric Julian date for any civil date (time in UT)</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment">//C</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment">//C.ALGORITHM</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="comment">//C adapted from MEEUS J.,1980, ASTRONOMICAL FORMULAE FOR CALCULATORS</span></div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment">//C</span></div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment">//C.INPUT/OUTPUT</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment">//C the following are passed from and to the calling program:</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment">//C INDATE(3) : civil date as year,month,day OR year.fraction</span></div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment">//C UT : universal time expressed in real hours</span></div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment">//C JD : real geocentric Julian date</span></div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment">//C</span></div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="comment">//C.REVISIONS</span></div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment">//C made to accept also REAL dates D. Baade 910408</span></div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment">//C</span></div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment">//C---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment">//C</span></div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> juldat(<span class="keywordtype">double</span> *INDATE,</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordtype">double</span> UTR,</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keywordtype">double</span> *JD)</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> {</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keywordtype">double</span> UT;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keywordtype">int</span> DATE[4];</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> UT=UTR / 24.0;</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="comment"> CHECK FORMAT OF DATE: may be either year,month,date OR year.fraction,0,0 </span></div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="comment"> (Note that the fraction of the year must NOT include fractions of a day.)</span></div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="comment"> For all other formats exit and terminate also calling command sequence.</span></div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="comment"> IF ((INDATE(1)-INT(INDATE(1))).GT.1.0E-6) THEN </span></div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment"> IF ((INDATE(2).GT.1.0E-6).OR.(INDATE(3).GT.1.0E-6)) </span></div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment"> + CALL STETER(1,'Error: Date was entered in wrong format.')</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment"></span></div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="comment"> copy date input buffer copy to other buffer so that calling program </span></div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="comment"> does not notice any changes</span></div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="comment"></span></div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="comment"> FIRST CASE: format was year.fraction</span></div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="comment"></span></div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="comment"> DATE(1)=INT(INDATE(1))</span></div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="comment"> FRAC=INDATE(1)-DATE(1)</span></div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment"> DATE(2)=1</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="comment"> DATE(3)=1</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="comment"> ELSE</span></div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="comment"> SECOND CASE: format was year,month,day</span></div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> DATE[1]=sinfo_round_double(INDATE[1]);</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> FRAC = 0;</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> DATE[2]=sinfo_round_double(INDATE[2]);</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> DATE[3]=sinfo_round_double(INDATE[3]);</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="keywordflow">if</span> ((DATE[2] == 0) && (DATE[3] == 0)) {</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> DATE[2]=1;</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> DATE[3]=1;</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> }</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="comment"> from here on, the normal procedure applies which is based on the </span></div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="comment"> format year,month,day:</span></div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keywordflow">if</span> (DATE[2] > 2) {</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> YP=DATE[1];</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> P=DATE[2];</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> YP=DATE[1]-1;</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> P=DATE(2)+12.0;</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> }</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> C = DATE[1] + DATE[2]*1.E-2 + DATE[3]*1.E-4 + UT*1.E-6;</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="keywordflow">if</span> (C > 1582.1015E0) {</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> IA=(int) (YP/100.D0);</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> A=IA;</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> IB=2-IA+((int)(A/4.D0));</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> IB=0;</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> }</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> *JD = ((int) (365.25E0*YP)) + ((<span class="keywordtype">int</span>)(30.6001D0*(P+1.D0))) + DATE[3] + UT</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> + IB + 1720994.5E0;</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="comment"> finally, take into account fraction of year (if any), respect leap</span></div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="comment"> year conventions</span></div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="keywordflow">if</span> (FRAC > 1.0E-6) {</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> ND=365;</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> IF (C >= 1582.1015E0) {</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> IC = DATE[1] % 4;</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="keywordflow">if</span> (IC == 0) {</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> ND=366;</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> IC = DATE[1] % 100;</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keywordflow">if</span> (IC == 0) {</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> IC = DATE[1] % 400;</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="keywordflow">if</span> (IC != 0) ND=365;</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> }</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> }</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> }</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="keywordflow">if</span> (fabs(FRAC*ND-sinfo_round_double(FRAC*ND)) > 0.3) {</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"Fraction of year MAY not correspond to "</span></div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="stringliteral">"integer number of days"</span>);</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> }</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> *JD = *JD+sinfo_round_double(FRAC*ND);</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> }</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> }</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="preprocessor">#define MIDAS_BUG 0</span></div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> deg2hms(<span class="keywordtype">double</span> in_val, </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="keywordtype">double</span> *hours,</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="keywordtype">double</span> *minutes,</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="keywordtype">double</span> *seconds)</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> {</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="keywordtype">double</span> tmp;</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="keywordtype">char</span> sign;</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="keywordflow">if</span> (in_val < 0) {</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> in_val = fabs(in_val);</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> sign = <span class="charliteral">'-'</span>;</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> }</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> sign = <span class="charliteral">'+'</span>;</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> }</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> tmp = in_val / 15;</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="comment">/* takes the integer part = hours */</span></div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="preprocessor">#if MIDAS_BUG</span></div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="preprocessor"></span> *hours= sinfo_round_double(tmp);</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="preprocessor"></span> *hours= (int) tmp;</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="comment">/* takes the mantissa */</span></div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> tmp = tmp - *hours;</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="comment">/* converts the mantissa in minutes */</span></div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> tmp = tmp * 60;</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="comment">/* takes the integer part = minutes */</span></div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="preprocessor">#if MIDAS_BUG</span></div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="preprocessor"></span> *minutes= sinfo_round_double(tmp);</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="preprocessor"></span> *minutes= (int) tmp;</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="comment">/* takes the mantissa */</span></div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> tmp = tmp - *minutes;</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> </div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="comment">/* converts the mantissa in seconds = seconds (with decimal) */</span></div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> *seconds= tmp * 60;</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> </div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="comment">/* Rather than returning it explicitly, just attach sign to hours */</span></div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="keywordflow">if</span> (sign == <span class="charliteral">'-'</span>) *hours = -(*hours);</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> }</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> deg2dms(<span class="keywordtype">double</span> in_val, </div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="keywordtype">double</span> *degs,</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="keywordtype">double</span> *minutes,</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keywordtype">double</span> *seconds)</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> {</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> deg2hms(in_val*15, degs, minutes, seconds);</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> }</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> </div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> </div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> </div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="comment">/* @cond Convert FORTRAN indexing -> C indexing */</span></div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="preprocessor">#define DCFEL(x,y) dcfel[y][x]</span></div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="preprocessor"></span><span class="preprocessor">#define DCFEPS(x,y) dcfeps[y][x]</span></div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="preprocessor"></span><span class="preprocessor">#define CCSEL(x,y) ccsel[y][x]</span></div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="preprocessor"></span><span class="preprocessor">#define DCARGS(x,y) dcargs[y][x]</span></div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="preprocessor"></span><span class="preprocessor">#define CCAMPS(x,y) ccamps[y][x]</span></div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="preprocessor"></span><span class="preprocessor">#define CCSEC(x,y) ccsec[y][x]</span></div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="preprocessor"></span><span class="preprocessor">#define DCARGM(x,y) dcargm[y][x]</span></div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="preprocessor"></span><span class="preprocessor">#define CCAMPM(x,y) ccampm[y][x]</span></div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="preprocessor"></span><span class="preprocessor">#define DCEPS(x) dceps[x]</span></div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="preprocessor"></span><span class="preprocessor">#define FORBEL(x) forbel[x]</span></div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="preprocessor"></span><span class="preprocessor">#define SORBEL(x) sorbel[x]</span></div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="preprocessor"></span><span class="preprocessor">#define SN(x) sn[x]</span></div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="preprocessor"></span><span class="preprocessor">#define SINLP(x) sinlp[x]</span></div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="preprocessor"></span><span class="preprocessor">#define COSLP(x) coslp[x]</span></div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="preprocessor"></span><span class="preprocessor">#define CCPAMV(x) ccpamv[x]</span></div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="preprocessor"></span><span class="comment">/* @endcond */</span></div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> </div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="keyword">static</span> </div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="keywordtype">void</span> barvel(<span class="keywordtype">double</span> DJE, <span class="keywordtype">double</span> DEQ,</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="keywordtype">double</span> DVELH[4], <span class="keywordtype">double</span> DVELB[4])</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> {</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="keywordtype">double</span> sn[5];</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="keywordtype">double</span> DT,DTL,DTSQ,DLOCAL;</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="keywordtype">double</span> DRD,DRLD;</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <span class="keywordtype">double</span> DXBD,DYBD,DZBD,DZHD,DXHD,DYHD;</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> <span class="keywordtype">double</span> DYAHD,DZAHD,DYABD,DZABD;</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="keywordtype">double</span> DML,DEPS,PHI,PHID,PSID,DPARAM,PARAM;</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="keywordtype">double</span> PLON,POMG,PECC;</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="keywordtype">double</span> PERTL,PERTLD,PERTRD,PERTP,PERTR,PERTPD;</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="keywordtype">double</span> SINA,TL;</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="keywordtype">double</span> COSA,ESQ;</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="keywordtype">double</span> A,B,F,SINF,COSF,T,TSQ,TWOE,TWOG;</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> </div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="keywordtype">double</span> DPSI,D1PDRO,DSINLS;</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="keywordtype">double</span> DCOSLS,DSINEP,DCOSEP;</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="keywordtype">double</span> forbel[8], sorbel[18], sinlp[5], coslp[5];</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="keywordtype">double</span> SINLM,COSLM,SIGMA;</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="keywordtype">int</span> IDEQ,K,N;</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> </div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="keywordtype">double</span> *E = sorbel + 1 - 1;</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="keywordtype">double</span> *G = forbel + 1 - 1;</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="keywordtype">double</span> DC2PI = 6.2831853071796E0;</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="keywordtype">double</span> CC2PI = 6.283185; <span class="comment">/* ??? */</span></div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> </div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="keywordtype">double</span> DC1 = 1.0;</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <span class="keywordtype">double</span> DCT0 = 2415020.0E0;</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="keywordtype">double</span> DCJUL = 36525.0E0;</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> </div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> <span class="keywordtype">double</span> dcfel[][4] = { {0, 0, 0, 0},</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> {0, 1.7400353E+00, 6.2833195099091E+02, 5.2796E-06},</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> {0, 6.2565836E+00, 6.2830194572674E+02,-2.6180E-06},</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> {0, 4.7199666E+00, 8.3997091449254E+03,-1.9780E-05},</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> {0, 1.9636505E-01, 8.4334662911720E+03,-5.6044E-05},</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> {0, 4.1547339E+00, 5.2993466764997E+01, 5.8845E-06},</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> {0, 4.6524223E+00, 2.1354275911213E+01, 5.6797E-06},</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> {0, 4.2620486E+00, 7.5025342197656E+00, 5.5317E-06},</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> {0, 1.4740694E+00, 3.8377331909193E+00, 5.6093E-06} };</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> </div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="keywordtype">double</span> dceps[4] = {0, 4.093198E-01,-2.271110E-04,-2.860401E-08};</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> </div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="keywordtype">double</span> ccsel[][4] = { {0, 0, 0, 0},</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> {0, 1.675104E-02, -4.179579E-05, -1.260516E-07},</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> {0, 2.220221E-01, 2.809917E-02, 1.852532E-05},</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> {0, 1.589963E+00, 3.418075E-02, 1.430200E-05},</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> {0, 2.994089E+00, 2.590824E-02, 4.155840E-06},</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> {0, 8.155457E-01, 2.486352E-02, 6.836840E-06},</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> {0, 1.735614E+00, 1.763719E-02, 6.370440E-06},</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> {0, 1.968564E+00, 1.524020E-02, -2.517152E-06},</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> {0, 1.282417E+00, 8.703393E-03, 2.289292E-05},</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> {0, 2.280820E+00, 1.918010E-02, 4.484520E-06},</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> {0, 4.833473E-02, 1.641773E-04, -4.654200E-07},</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> {0, 5.589232E-02, -3.455092E-04, -7.388560E-07},</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> {0, 4.634443E-02, -2.658234E-05, 7.757000E-08},</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> {0, 8.997041E-03, 6.329728E-06, -1.939256E-09},</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> {0, 2.284178E-02, -9.941590E-05, 6.787400E-08},</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> {0, 4.350267E-02, -6.839749E-05, -2.714956E-07},</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> {0, 1.348204E-02, 1.091504E-05, 6.903760E-07},</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> {0, 3.106570E-02, -1.665665E-04, -1.590188E-07} };</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> </div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> </div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="keywordtype">double</span> dcargs[][3] = { {0, 0, 0},</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> {0, 5.0974222E+00, -7.8604195454652E+02},</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> {0, 3.9584962E+00, -5.7533848094674E+02},</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> {0, 1.6338070E+00, -1.1506769618935E+03},</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> {0, 2.5487111E+00, -3.9302097727326E+02},</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> {0, 4.9255514E+00, -5.8849265665348E+02},</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> {0, 1.3363463E+00, -5.5076098609303E+02},</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> {0, 1.6072053E+00, -5.2237501616674E+02},</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> {0, 1.3629480E+00, -1.1790629318198E+03},</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> {0, 5.5657014E+00, -1.0977134971135E+03},</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> {0, 5.0708205E+00, -1.5774000881978E+02},</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> {0, 3.9318944E+00, 5.2963464780000E+01},</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> {0, 4.8989497E+00, 3.9809289073258E+01},</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> {0, 1.3097446E+00, 7.7540959633708E+01},</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> {0, 3.5147141E+00, 7.9618578146517E+01},</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> {0, 3.5413158E+00, -5.4868336758022E+02} };</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> </div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> </div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="keywordtype">double</span> ccamps[][6] = </div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> {{0, 0, 0, 0, 0, 0},</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> {0, -2.279594E-5, 1.407414E-5, 8.273188E-6, 1.340565E-5, -2.490817E-7},</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> {0, -3.494537E-5, 2.860401E-7, 1.289448E-7, 1.627237E-5, -1.823138E-7},</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> {0, 6.593466E-7, 1.322572E-5, 9.258695E-6, -4.674248E-7, -3.646275E-7},</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> {0, 1.140767E-5, -2.049792E-5, -4.747930E-6, -2.638763E-6, -1.245408E-7},</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> {0, 9.516893E-6, -2.748894E-6, -1.319381E-6, -4.549908E-6, -1.864821E-7},</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> {0, 7.310990E-6, -1.924710E-6, -8.772849E-7, -3.334143E-6, -1.745256E-7},</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> {0, -2.603449E-6, 7.359472E-6, 3.168357E-6, 1.119056E-6, -1.655307E-7},</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> {0, -3.228859E-6, 1.308997E-7, 1.013137E-7, 2.403899E-6, -3.736225E-7},</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> {0, 3.442177E-7, 2.671323E-6, 1.832858E-6, -2.394688E-7, -3.478444E-7},</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> {0, 8.702406E-6, -8.421214E-6, -1.372341E-6, -1.455234E-6, -4.998479E-8},</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> {0, -1.488378E-6, -1.251789E-5, 5.226868E-7, -2.049301E-7, 0.0E0},</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> {0, -8.043059E-6, -2.991300E-6, 1.473654E-7, -3.154542E-7, 0.0E0},</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> {0, 3.699128E-6, -3.316126E-6, 2.901257E-7, 3.407826E-7, 0.0E0},</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> {0, 2.550120E-6, -1.241123E-6, 9.901116E-8, 2.210482E-7, 0.0E0},</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> {0, -6.351059E-7, 2.341650E-6, 1.061492E-6, 2.878231E-7, 0.0E0}};</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> </div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> </div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> </div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> <span class="keywordtype">double</span> CCSEC3 = -7.757020E-08;</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> </div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> <span class="keywordtype">double</span> ccsec[][4] = { {0, 0, 0, 0},</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> {0, 1.289600E-06, 5.550147E-01, 2.076942E+00},</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> {0, 3.102810E-05, 4.035027E+00, 3.525565E-01},</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> {0, 9.124190E-06, 9.990265E-01, 2.622706E+00},</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> {0, 9.793240E-07, 5.508259E+00, 1.559103E+01}};</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> </div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> <span class="keywordtype">double</span> DCSLD = 1.990987E-07, CCSGD = 1.990969E-07;</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> </div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> <span class="keywordtype">double</span> CCKM = 3.122140E-05, CCMLD = 2.661699E-06, CCFDI = 2.399485E-07;</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> </div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> <span class="keywordtype">double</span> dcargm[][3] = {{0, 0, 0},</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> {0, 5.1679830E+00, 8.3286911095275E+03},</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> {0, 5.4913150E+00, -7.2140632838100E+03},</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> {0, 5.9598530E+00, 1.5542754389685E+04}};</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> </div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <span class="keywordtype">double</span> ccampm[][5] = {{0, 0, 0, 0, 0},</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> {0, 1.097594E-01, 2.896773E-07, 5.450474E-02, 1.438491E-07},</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> {0, -2.223581E-02, 5.083103E-08, 1.002548E-02, -2.291823E-08},</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> {0, 1.148966E-02, 5.658888E-08, 8.249439E-03, 4.063015E-08} };</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> </div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <span class="keywordtype">double</span> ccpamv[] = {0, 8.326827E-11, 1.843484E-11, 1.988712E-12, 1.881276E-12};</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> </div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> <span class="keywordtype">double</span> DC1MME = 0.99999696E0;</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> </div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> IDEQ=DEQ;</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> </div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> DT=(DJE-DCT0)/DCJUL;</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> </div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> T=DT;</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> </div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> DTSQ=DT*DT;</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> </div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> TSQ=DTSQ;</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> </div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> DML = 0; <span class="comment">/* Suppress warning */</span></div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> <span class="keywordflow">for</span> (K = 1; K <= 8; K++) {</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> </div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> DLOCAL=fmod(DCFEL(1,K)+DT*DCFEL(2,K)+DTSQ*DCFEL(3,K),DC2PI);</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> </div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> <span class="keywordflow">if</span> (K == 1) DML=DLOCAL;</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> </div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> <span class="keywordflow">if</span> (K != 1) FORBEL(K-1)=DLOCAL;</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> }</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> </div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> DEPS=fmod(DCEPS(1)+DT*DCEPS(2)+DTSQ*DCEPS(3), DC2PI);</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> </div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="keywordflow">for</span> (K = 1; K <= 17; K++) {</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> </div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> SORBEL(K)=fmod(CCSEL(1,K)+T*CCSEL(2,K)+TSQ*CCSEL(3,K),CC2PI);</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> </div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> }</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> </div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <span class="keywordflow">for</span> (K = 1; K <= 4; K++) {</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> </div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> A=fmod(CCSEC(2,K)+T*CCSEC(3,K),CC2PI);</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> </div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> SN(K)=sin(A);</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> </div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> }</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> </div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> PERTL = CCSEC(1,1) *SN(1) +CCSEC(1,2)*SN(2)</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> +(CCSEC(1,3)+T*CCSEC3)*SN(3) +CCSEC(1,4)*SN(4);</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> </div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> PERTLD=0.0;</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> PERTR =0.0;</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> PERTRD=0.0;</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> </div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="keywordflow">for</span> (K = 1; K <= 15; K++) {</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> </div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> A=fmod(DCARGS(1,K)+DT*DCARGS(2,K), DC2PI);</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> </div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> COSA=cos(A);</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> </div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> SINA=sin(A);</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> </div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> PERTL =PERTL+CCAMPS(1,K)*COSA+CCAMPS(2,K)*SINA;</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> </div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> PERTR =PERTR+CCAMPS(3,K)*COSA+CCAMPS(4,K)*SINA;</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> </div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="keywordflow">if</span> (K >= 11) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> </div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> PERTLD=PERTLD+(CCAMPS(2,K)*COSA-CCAMPS(1,K)*SINA)*CCAMPS(5,K);</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> </div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> PERTRD=PERTRD+(CCAMPS(4,K)*COSA-CCAMPS(3,K)*SINA)*CCAMPS(5,K);</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> </div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> }</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> </div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> </div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> ESQ=E[1]*E[1];</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> </div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> DPARAM=DC1-ESQ;</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> </div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> PARAM=DPARAM;</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> </div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> TWOE=E[1]+E[1];</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> </div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> TWOG=G[1]+G[1];</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> </div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> PHI=TWOE*((1.0-ESQ*0.125 )*sin(G[1])+E[1]*0.625 *sin(TWOG)</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> +ESQ*0.5416667 *sin(G[1]+TWOG) ) ;</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> </div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> F=G[1]+PHI;</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> </div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> SINF=sin(F);</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> </div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> COSF=cos(F);</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> </div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> DPSI=DPARAM/(DC1+E[1]*COSF);</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> </div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> PHID=TWOE*CCSGD*((1.0+ESQ*1.5 )*COSF+E[1]*(1.25 -SINF*SINF*0.5 ));</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> </div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> PSID=CCSGD*E[1]*SINF/sqrt(PARAM);</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> </div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> D1PDRO=(DC1+PERTR);</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> </div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> DRD=D1PDRO*(PSID+DPSI*PERTRD);</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> </div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> DRLD=D1PDRO*DPSI*(DCSLD+PHID+PERTLD);</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> </div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> DTL=fmod(DML+PHI+PERTL, DC2PI);</div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> </div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> DSINLS=sin(DTL);</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> </div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> DCOSLS=cos(DTL);</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> </div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> DXHD = DRD*DCOSLS-DRLD*DSINLS;</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> </div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> DYHD = DRD*DSINLS+DRLD*DCOSLS;</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> </div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> PERTL =0.0;</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> </div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> PERTLD=0.0;</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> </div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> PERTP =0.0;</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> </div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> PERTPD=0.0;</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> </div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> <span class="keywordflow">for</span> (K = 1; K <= 3; K++) {</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> A=fmod(DCARGM(1,K)+DT*DCARGM(2,K), DC2PI);</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> </div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> SINA =sin(A);</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> </div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> COSA =cos(A);</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> </div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> PERTL =PERTL +CCAMPM(1,K)*SINA;</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> </div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> PERTLD=PERTLD+CCAMPM(2,K)*COSA;</div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> </div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> PERTP =PERTP +CCAMPM(3,K)*COSA;</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> </div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> PERTPD=PERTPD-CCAMPM(4,K)*SINA;</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> }</div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> </div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> TL=FORBEL(2)+PERTL;</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> </div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> SINLM=sin(TL);</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> </div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> COSLM=cos(TL);</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> </div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> SIGMA=CCKM/(1.0+PERTP);</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> </div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> A=SIGMA*(CCMLD+PERTLD);</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> </div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> B=SIGMA*PERTPD;</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> </div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> DXHD=DXHD+A*SINLM+B*COSLM;</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> </div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> DYHD=DYHD-A*COSLM+B*SINLM;</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> </div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> DZHD= -SIGMA*CCFDI* cos(FORBEL(3));</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> </div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> DXBD=DXHD*DC1MME;</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> </div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> DYBD=DYHD*DC1MME;</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> </div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> DZBD=DZHD*DC1MME;</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> </div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> <span class="keywordflow">for</span> (K = 1; K <= 4; K++) {</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> </div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> PLON=FORBEL(K+3);</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> </div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> POMG=SORBEL(K+1);</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> </div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> PECC=SORBEL(K+9);</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> </div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> TL=fmod(PLON+2.0*PECC* sin(PLON-POMG), CC2PI);</div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> </div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> SINLP(K)= sin(TL);</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> </div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> COSLP(K)= cos(TL);</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> </div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> DXBD=DXBD+CCPAMV(K)*(SINLP(K)+PECC*sin(POMG));</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> </div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> DYBD=DYBD-CCPAMV(K)*(COSLP(K)+PECC*cos(POMG));</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> </div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> DZBD=DZBD-CCPAMV(K)*SORBEL(K+13)*cos(PLON-SORBEL(K+5));</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> </div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> }</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> </div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> DCOSEP=cos(DEPS);</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> DSINEP=sin(DEPS);</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> DYAHD=DCOSEP*DYHD-DSINEP*DZHD;</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> DZAHD=DSINEP*DYHD+DCOSEP*DZHD;</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> DYABD=DCOSEP*DYBD-DSINEP*DZBD;</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> DZABD=DSINEP*DYBD+DCOSEP*DZBD;</div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> </div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> DVELH[1]=DXHD;</div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> DVELH[2]=DYAHD;</div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> DVELH[3]=DZAHD;</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> </div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> DVELB[1]=DXBD;</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> DVELB[2]=DYABD;</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> DVELB[3]=DZABD;</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> </div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <span class="keywordflow">for</span> (N = 1; N <= 3; N++) {</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> DVELH[N]=DVELH[N]*1.4959787E8;</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> DVELB[N]=DVELB[N]*1.4959787E8;</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> }</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> }</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> </div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> </div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> </div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> </div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> compxy(<span class="keywordtype">double</span> inputr[19], <span class="keywordtype">char</span> inputc[4],</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> <span class="keywordtype">double</span> outputr[4],</div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> <span class="keywordtype">double</span> utr, <span class="keywordtype">double</span> mod_juldat)</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> {</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> <span class="keywordtype">double</span> STR;</div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> <span class="keywordtype">double</span> t0, dl, theta0, pe, st0hg, stg;</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> <span class="keywordtype">double</span> jd, jd0h;</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> <span class="keywordtype">double</span> dvelb[4], dvelh[4];</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> <span class="keywordtype">double</span> alp, del, beov, berv, EDV;</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> <span class="keywordtype">double</span> HAR, phi, heov, herv;</div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> <span class="keywordtype">double</span> *rbuf;</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> <span class="keywordtype">char</span> inpsgn[4];</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> <span class="keywordtype">double</span> *olong, *olat, *alpha, *delta;</div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> <span class="keywordtype">char</span> signs[] = <span class="stringliteral">"+++"</span>;</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> rbuf = inputr;</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> inpsgn[1] = inputc[1];</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> inpsgn[2] = inputc[2];</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> inpsgn[3] = inputc[3];</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> olong = rbuf + 7 - 1;</div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> olat = rbuf + 10 - 1;</div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> alpha = rbuf + 13 - 1;</div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> delta = rbuf + 16 - 1;</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> <span class="comment">// ... convert UT to real hours, calculate Julian date</span></div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> <span class="comment">/* We know this one already but convert seconds -> hours */</span></div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> utr /= 3600;</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> </div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> </div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> jd = mod_juldat + 2400000.5;</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> </div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> <span class="comment">// ... likewise convert longitude and latitude of observatory to real hours</span></div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> <span class="comment">// ... and degrees, respectively; take care of signs</span></div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> <span class="comment">// ... NOTE: east longitude is assumed for input !!</span></div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> </div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> <span class="keywordflow">if</span> (olong[1] < 0 || olong[2] < 0 ||</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> olong[3] < 0 || inpsgn[1] == <span class="charliteral">'-'</span>) {</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> signs[1] = <span class="charliteral">'-'</span>;</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> olong[1] = fabs(olong[1]);</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> olong[2] = fabs(olong[2]);</div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> olong[3] = fabs(olong[3]);</div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> }</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> dl = olong[1]+olong[2]/60. +olong[3]/3600.;</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> <span class="keywordflow">if</span> (signs[1] == <span class="charliteral">'-'</span>) dl = -dl;</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> dl = -dl*24. /360.;</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> </div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> <span class="keywordflow">if</span> (olat[1] < 0 || olat[2] < 0 ||</div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> olat[3] < 0 || inpsgn[2] == <span class="charliteral">'-'</span>) {</div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> signs[2] = <span class="charliteral">'-'</span>;</div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> </div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> olat[1] = fabs(olat[1]);</div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> olat[2] = fabs(olat[2]);</div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> olat[3] = fabs(olat[3]);</div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> </div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> }</div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> </div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> phi = olat[1]+olat[2]/60. +olat[3]/3600.;</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> </div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> <span class="keywordflow">if</span> (signs[2] == <span class="charliteral">'-'</span>) phi = -phi;</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> </div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> phi = phi*M_PI/180. ;</div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> </div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> <span class="comment">// ... convert right ascension and declination to real radians</span></div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> </div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> alp = (alpha[1]*3600. +alpha[2]*60. +alpha[3])*M_PI/(12. *3600. );</div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> </div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> <span class="keywordflow">if</span> (delta[1] < 0 || delta[2] < 0 ||</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> delta[3] < 0 || inpsgn[3] == <span class="charliteral">'-'</span>) {</div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> </div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> signs[3] = <span class="charliteral">'-'</span>;</div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> </div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> delta[1] = fabs(delta[1]);</div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> delta[2] = fabs(delta[2]);</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> delta[3] = fabs(delta[3]);</div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> </div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> }</div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> </div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> del = (delta[1]*3600.0 + delta[2]*60. + delta[3])</div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> * M_PI/(3600. *180. );</div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> </div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> </div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> </div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> <span class="keywordflow">if</span> (signs[3] == <span class="charliteral">'-'</span>) del = - del;</div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> </div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> <span class="comment">// ... calculate earth's orbital velocity in rectangular coordinates X,Y,Z</span></div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> <span class="comment">// ... for both heliocentric and barycentric frames (DVELH, DVELB)</span></div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> <span class="comment">// ... Note that setting the second argument of BARVEL to zero as done below</span></div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> <span class="comment">// ... means that the input coordinates will not be corrected for precession.</span></div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> </div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> </div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> barvel(jd, 0.0, dvelh, dvelb);</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> </div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> <span class="comment">// ... with the rectangular velocity components known, the respective projections</span></div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> <span class="comment">// ... HEOV and BEOV on a given line of sight (ALP,DEL) can be determined:</span></div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> </div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> <span class="comment">// ... REFERENCE: THE ASTRONOMICAL ALMANAC 1982 PAGE:B17</span></div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> </div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> beov =</div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> dvelb[1]*cos(alp)*cos(del)+</div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> dvelb[2]*sin(alp)*cos(del)+</div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> dvelb[3]*sin(del);</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> </div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> heov =</div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> dvelh[1]*cos(alp)*cos(del)+</div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> dvelh[2]*sin(alp)*cos(del)+</div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> dvelh[3]*sin(del);</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> </div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> </div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> <span class="comment">// ... For determination also of the contribution due to the diurnal rotation of</span></div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> <span class="comment">// ... the earth (EDV), the hour angle (HAR) is needed at which the observation</span></div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> <span class="comment">// ... was made which requires conversion of UT to sidereal time (ST).</span></div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> </div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> <span class="comment">// ... Therefore, first compute ST at 0 hours UT (ST0HG)</span></div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> </div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> <span class="comment">// ... REFERENCE : MEEUS J.,1980,ASTRONOMICAL FORMULAE FOR CALCULATORS</span></div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> </div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> </div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> jd0h = jd - (utr/24.0);</div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> </div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> t0 = (jd0h-2415020. )/36525. ;</div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> </div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> </div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> theta0 = 0.276919398 +100.0021359 *t0+0.000001075 *t0*t0 ;</div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> </div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> pe = (int) theta0;</div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> </div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> theta0 = theta0 - pe;</div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> </div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> st0hg = theta0*24. ;</div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> </div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> <span class="comment">// ... now do the conversion UT -> ST (MEAN SIDEREAL TIME)</span></div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> </div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> <span class="comment">// ... REFERENCE : THE ASTRONOMICAL ALMANAC 1983, P B7</span></div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> <span class="comment">// ... IN 1983: 1 MEAN SOLAR DAY = 1.00273790931 MEAN SIDEREAL DAYS</span></div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> <span class="comment">// ... ST WITHOUT EQUATION OF EQUINOXES CORRECTION => ACCURACY +/- 1 SEC</span></div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> <span class="comment">//</span></div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> stg = st0hg+utr*1.00273790931 ;</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> </div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> <span class="keywordflow">if</span> (stg < dl) stg = stg +24. ;</div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> </div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> STR = stg-dl;</div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> </div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> </div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> <span class="keywordflow">if</span> (STR >= 24. ) STR = STR-24. ;</div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> </div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> STR = STR*M_PI/12. ;</div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> </div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> HAR = STR-alp;</div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> </div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> </div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> EDV = -0.4654 * sin(HAR)* cos(del)* cos(phi);</div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> </div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> <span class="comment">// ... the total correction (in km/s) is the sum of orbital and diurnal components</span></div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> </div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> </div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> herv=heov+EDV;</div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> berv=beov+EDV;</div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> </div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> <span class="comment">/* The following is not needed. Do not translate */</span></div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> </div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> <span class="preprocessor">#if 0</span></div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> <span class="preprocessor"></span> <span class="comment">// ... Calculation of the barycentric and heliocentric correction times</span></div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> <span class="comment">// ... (BCT and HCT) requires knowledge of the earth's position in its</span></div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> <span class="comment">// ... orbit. Subroutine BARCOR returns the rectangular barycentric (DCORB)</span></div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> <span class="comment">// ... and heliocentric (DCORH) coordinates.</span></div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> </div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> <span class="comment">// CALL BARCOR(DCORH,DCORB)</span></div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> </div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> <span class="comment">// ... from this, the correction times (in days) can be determined:</span></div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> <span class="comment">// ... (REFERENCE: THE ASTRONOMICAL ALMANAC 1982 PAGE:B16)</span></div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> </div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> <span class="comment">// BCT=+0.0057756D0*(DCORB(1)*DCOS(ALP)*DCOS(DEL)+</span></div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> <span class="comment">// 1 DCORB(2)*DSIN(ALP)*DCOS(DEL)+</span></div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> <span class="comment">// 2 DCORB(3)* DSIN(DEL))</span></div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> <span class="comment">// HCT=+0.0057756D0*(DCORH(1)*DCOS(ALP)*DCOS(DEL)+</span></div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> <span class="comment">// 1 DCORH(2)*DSIN(ALP)*DCOS(DEL)+</span></div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> <span class="comment">// 2 DCORH(3)* DSIN(DEL))</span></div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> </div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> <span class="comment">//... write results to keywords</span></div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> </div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> <span class="comment">// CALL STKWRD('OUTPUTD',BCT,1,1,KUN,STAT) ! barycentric correction time</span></div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> <span class="comment">// CALL STKWRD('OUTPUTD',HCT,2,1,KUN,STAT) ! heliocentric correction time</span></div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> rbuf[1] = berv; <span class="comment">/* barocentric RV correction */</span></div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> rbuf[2] = herv; <span class="comment">/* heliocentric RV correction */</span></div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> rbuf[3] = EDV; <span class="comment">/* diurnal RV correction */</span></div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> </div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> </div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> outputr[1] = rbuf[1];</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> outputr[2] = rbuf[2];</div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> outputr[3] = rbuf[3];</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> </div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> }</div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> </div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> </div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> </div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> cpl_error_code</div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> sinfo_baryvel(<span class="keyword">const</span> cpl_propertylist *raw_header,</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> <span class="keywordtype">double</span> *bary_corr,</div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> <span class="keywordtype">double</span> *helio_corr)</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> {</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> </div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> <span class="keywordtype">double</span> outputr[4];</div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> </div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> <span class="keywordtype">char</span> inputc[] = <span class="stringliteral">"X+++"</span>; <span class="comment">/* 0th index not used */</span></div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> </div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> <span class="keywordtype">double</span> rneg = 1.0;</div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> </div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> <span class="keywordtype">double</span> inputr[19]; <span class="comment">/* Do not use the zeroth element */</span></div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> </div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> </div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> <span class="comment"> qc_ra = m$value({p1},O_POS(1))</span></div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> <span class="comment"> qc_dec = m$value({p1},O_POS(2))</span></div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> <span class="comment"> qc_geolat = m$value({p1},{h_geolat})</span></div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> <span class="comment"> qc_geolon = m$value({p1},{h_geolon})</span></div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> <span class="comment"> qc_obs_time = m$value({p1},O_TIME(7)) !using an image as input it take the</span></div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> <span class="comment"> !date from the descriptor O_TIME(1,2,3)</span></div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> <span class="comment"> !and the UT from O_TIME(5)</span></div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> <span class="keywordtype">double</span> qc_ra;</div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> <span class="keywordtype">double</span> qc_dec;</div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> <span class="keywordtype">double</span> qc_geolat;</div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> <span class="keywordtype">double</span> qc_geolon;</div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> </div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> <span class="keywordtype">double</span> utr;</div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> <span class="keywordtype">double</span> mod_juldat;</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> </div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> <span class="keywordtype">double</span> ra_hour, ra_min, ra_sec;</div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> <span class="keywordtype">double</span> dec_deg, dec_min, dec_sec;</div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> <span class="keywordtype">double</span> lat_deg, lat_min, lat_sec;</div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> <span class="keywordtype">double</span> lon_deg, lon_min, lon_sec;</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> </div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> check( qc_ra = sinfo_pfits_get_ra(raw_header), <span class="comment">/* in degrees */</span></div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> <span class="stringliteral">"Error getting object right ascension"</span>);</div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> check( qc_dec = sinfo_pfits_get_dec(raw_header),</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> <span class="stringliteral">"Error getting object declination"</span>);</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> </div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> check( qc_geolat = sinfo_pfits_get_geolat(raw_header),</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> <span class="stringliteral">"Error getting telescope latitude"</span>);</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> check( qc_geolon = sinfo_pfits_get_geolon(raw_header),</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> <span class="stringliteral">"Error getting telescope longitude"</span>);</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> </div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> <span class="comment">/* double qc_obs_time = sinfo_pfits_get_exptime(raw_header); Not used! */</span></div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> </div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> check( utr = sinfo_pfits_get_utc(raw_header),</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> <span class="stringliteral">"Error reading UTC"</span>);</div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> check( mod_juldat = sinfo_pfits_get_mjdobs(raw_header),</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> <span class="stringliteral">"Error julian date"</span>);</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> </div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> deg2hms(qc_ra, &ra_hour, &ra_min, &ra_sec);</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> deg2dms(qc_dec, &dec_deg, &dec_min, &dec_sec);</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> deg2dms(qc_geolat, &lat_deg, &lat_min, &lat_sec);</div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> deg2dms(qc_geolon, &lon_deg, &lon_min, &lon_sec);</div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> </div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> </div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> inputr[7] = lon_deg;</div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> inputr[8] = lon_min;</div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> inputr[9] = lon_sec;</div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> </div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> </div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> rneg = (inputr[7]*3600.)+(inputr[8]*60.)+inputr[9];</div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> </div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> inputc[1] = (lon_deg >= 0) ? <span class="charliteral">'+'</span> : <span class="charliteral">'-'</span>;</div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> </div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> <span class="keywordflow">if</span> (rneg < 0) inputc[1] = <span class="charliteral">'-'</span>;</div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> </div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> </div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> inputr[10] = lat_deg;</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> inputr[11] = lat_min;</div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> inputr[12] = lat_sec;</div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> </div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> </div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> rneg = (inputr[10]*3600.)+(inputr[11]*60.)+inputr[12];</div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> </div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> inputc[2] = (lat_deg >= 0) ? <span class="charliteral">'+'</span> : <span class="charliteral">'-'</span>;</div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> </div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> <span class="keywordflow">if</span> (rneg < 0) inputc[2] = <span class="charliteral">'-'</span>;</div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> </div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> </div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> inputr[13] = ra_hour;</div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> inputr[14] = ra_min;</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> inputr[15] = ra_sec;</div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> </div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> </div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> inputr[16] = dec_deg;</div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> inputr[17] = dec_min;</div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> inputr[18] = dec_sec;</div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> </div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> </div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> inputc[3] = (dec_deg >= 0) ? <span class="charliteral">'+'</span> : <span class="charliteral">'-'</span>;</div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> </div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> rneg = (inputr[16]*3600.)+(inputr[17]*60.)+inputr[18];</div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> </div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> <span class="keywordflow">if</span> (rneg < 0) inputc[3] = <span class="charliteral">'-'</span>;</div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> </div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> </div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> <span class="comment">//C INPUTR/R/1/3 date: year,month,day</span></div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> <span class="comment">//C INPUTR/R/4/3 universal time: hour,min,sec</span></div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> <span class="comment">//C INPUTR/R/7/3 EAST longitude of observatory: degree,min,sec !! NOTE</span></div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> <span class="comment">//C INPUTR/R/10/3 latitude of observatory: degree,min,sec</span></div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> <span class="comment">//C INPUTR/R/13/3 right ascension: hour,min,sec</span></div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> <span class="comment">//C INPUTR/R/16/3 declination: degree,min,sec</span></div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> </div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> <span class="comment">/* compute the corrections */</span></div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> compxy(inputr, inputc, outputr, utr, mod_juldat);</div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> </div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">" Total barycentric RV correction: %f km/s"</span>, outputr[1]);</div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">" Total heliocentric RV correction: %f km/s"</span>, outputr[2]);</div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">" (incl. diurnal RV correction of %f km/s)"</span>, outputr[3]);</div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> </div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> </div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> *bary_corr = outputr[1];</div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> *helio_corr = outputr[2];</div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> </div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> cleanup:</div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> sinfo_check_rec_status(0);</div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> }</div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__baryvel_8h_source.html b/html/sinfo__baryvel_8h_source.html
deleted file mode 100644
index c2932e1..0000000
--- a/html/sinfo__baryvel_8h_source.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_baryvel.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_baryvel.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO UVES Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2009/04/28 11:42:18 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.2 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Log: sinfo_baryvel.h,v $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * Revision 1.2 2009/04/28 11:42:18 amodigli</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * now return cpl_error_code</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> * Revision 1.1 2009/01/02 08:38:07 amodigli</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> * added to CVS</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * Revision 1.3 2007/06/06 08:17:33 amodigli</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * replace tab with 4 spaces</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> * Revision 1.2 2007/04/24 12:50:29 jmlarsen</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> * Replaced cpl_propertylist -> uves_propertylist which is much faster</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * Revision 1.1 2006/10/04 11:03:08 jmlarsen</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> * Implemented QC.VRAD parameters</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> * Revision 1.4 2006/08/17 13:56:52 jmlarsen</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> * Reduced max line length</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> * Revision 1.3 2006/02/28 09:15:22 jmlarsen</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> * Minor update</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> * Revision 1.2 2005/12/19 16:17:56 jmlarsen</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> * Replaced bool -> int</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#ifndef SINFO_BARYVEL_H</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_BARYVEL_H</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> cpl_error_code</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> sinfo_baryvel(<span class="keyword">const</span> cpl_propertylist *raw_header,</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">double</span> *barycor,</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">double</span> *helicor);</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#endif </span><span class="comment">/* SINFO_BARYVEL_H */</span><span class="preprocessor"></span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__boltzmann_8c_source.html b/html/sinfo__boltzmann_8c_source.html
deleted file mode 100644
index 16cfccf..0000000
--- a/html/sinfo__boltzmann_8c_source.html
+++ /dev/null
@@ -1,2323 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_boltzmann.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_boltzmann.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*************************************************************************</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* schreib 27/02/01 created</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">* NAME</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">* new_boltzmann.c -</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">* routines to determine the absolute positions of the slitlets out</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">* of an emission line frame</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">* SYNOPSIS</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">* #include "absolute.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">* 1) float sinfo_new_boltz ( float * xdat, float * parlist )</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">* 2) void sinfo_new_boltz_deriv( float * xdat, float * parlist, </span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> float * dervs )</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">* 3) static int sinfo_new_inv_mat (void)</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">* 4) static void sinfo_new_get_mat ( float * xdat,</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">* int * xdim,</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">* float * ydat,</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">* float * wdat,</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">* int * ndat,</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">* float * fpar,</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">* float * epar,</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">* int * npar )</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">* 5) static int sinfo_new_get_vec ( float * xdat,</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">* int * xdim,</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">* float * ydat,</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">* float * wdat,</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">* int * ndat,</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">* float * fpar,</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">* float * epar,</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">* int * npar )</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">* 6) int sinfo_new_lsqfit ( float * xdat,</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">* int * xdim,</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">* float * ydat,</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">* float * wdat,</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">* int * ndat,</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">* float * fpar,</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">* float * epar,</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">* int * mpar,</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">* int * npar,</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">* float * tol ,</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">* int * its ,</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">* float * lab )</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">* 7) int sinfo_new_fit_slits_boltz( cpl_image * lineImage, </span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">* FitParams ** par,</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">* float ** slit_pos,</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">* int box_length,</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">* float y_box,</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">* float diff_tol )</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">* 8) int sinfo_new_fit_slits_boltz_single_line ( cpl_image * lineImage, </span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">* float ** slit_pos,</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">* int box_length,</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">* float y_box,</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">* int low_pos,</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">* int high_pos )</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">* 9) int sinfo_new_fit_slits_boltz_with_estimate ( cpl_image * lineImage, </span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">* float ** slit_pos,</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">* int box_length,</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">* float y_box,</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment">* float diff_tol,</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">* int low_pos,</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment">* int high_pos )</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">* DESCRIPTION</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">* 1) calculates the value of a Boltzmann function with parameters </span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment">* parlist at the position xdat </span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">* 2) calculates the partial derivatives for a Boltzmann function with</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment">* parameters parlist at position xdat </span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment">* 3) calculates the inverse of matrix2. The algorithm used </span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment">* is the Gauss-Jordan algorithm described in Stoer,</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment">* Numerische Mathematik, 1. Teil.</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment">* 4) builds the sinfo_matrix </span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment">* 5) calculates the correction sinfo_vector. The sinfo_matrix has been</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment">* built by get_mat(), we only have to rescale it for the </span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment">* current value of labda. The sinfo_matrix is rescaled so that</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment">* the diagonal gets the value 1 + labda.</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">* Next we calculate the inverse of the sinfo_matrix and then</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment">* the correction sinfo_vector.</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment">* 6) this is a routine for making a least-squares fit of a</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment">* function to a set of data points. The method used is</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">* described in: Marquardt, J.Soc.Ind.Appl.Math. 11. 431 (1963).</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment">* This method is a mixture of the steepest descent method </span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment">* and the Taylor method.</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">* 7) fits the beginning and end position of the slitlets</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment">* by using non-linear least square fitting of Boltzmann function</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment">* fits a Boltzmann function to the slitlet edges exposed and indicated</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">* by the brightest emission lines. To achieve this, the fit</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment">* parameters are used to find the brightest emission line</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment">* and to get its position for each column.</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment">* The least squares fit is done by using a box smaller than</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment">* the size of two slitlets</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment">* 8) fits the beginning and end position of the slitlets</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">* by using non-linear least square fitting of a Boltzmann function</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment">* fits a Boltzmann function to the slitlet edges exposed and indicated</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment">* by the brightest emission lines. The slitlet is searched within</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment">* user given positions.</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">* The least squares fit is done by using a box smaller than</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment">* the size of two slitlets </span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment">* 9) fits the beginning and end position of the slitlets</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment">* by using non-linear least square fitting of a Boltzmann function</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">* fits a Boltzmann function to the slitlet edges exposed and indicated</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment">* by the brightest emission lines. The slitlet is searched within</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment">* user given positions.</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment">* The least squares fit is done by using a box smaller than</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment">* the size of two slitlets </span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment">* FILES</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">* ENVIRONMENT</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment">* RETURN VALUES</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment">* CAUTIONS</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment">* EXAMPLES</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment">* SEE ALSO</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment">* BUGS</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment">*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="preprocessor"></span><span class="preprocessor">#include "sinfo_vltPort.h"</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment"> * System Headers</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment"> * Local Headers</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="preprocessor">#include "sinfo_absolute.h"</span></div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="preprocessor">#include "sinfo_recipes.h"</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment"> * Defines</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="preprocessor">#define XDIMA 1 </span><span class="comment">/* dimension of the x values */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="preprocessor"></span><span class="preprocessor">#define TOLA 0.001 </span><span class="comment">/* fitting tolerance */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="preprocessor"></span><span class="preprocessor">#define LABA 0.1 </span><span class="comment">/* labda parameter */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="preprocessor"></span><span class="preprocessor">#define ITSA 200 </span><span class="comment">/* maximum number of iterations */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="preprocessor"></span><span class="preprocessor">#define LABFACA 10.0 </span><span class="comment">/* labda step factor */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="preprocessor"></span><span class="preprocessor">#define LABMAXA 1.0e+10 </span><span class="comment">/* maximum value for labda */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="preprocessor"></span><span class="preprocessor">#define LABMINA 1.0e-10 </span><span class="comment">/* minimum value for labda */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="preprocessor"></span><span class="preprocessor">#define NPAR 4 </span><span class="comment">/* number of fit parameters */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="comment"> * Local variables</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keyword">static</span> <span class="keywordtype">double</span> chi1 ; <span class="comment">/* old reduced chi-squared */</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keyword">static</span> <span class="keywordtype">double</span> chi2 ; <span class="comment">/* new reduced chi-squared */</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="keyword">static</span> <span class="keywordtype">double</span> labda ; <span class="comment">/* mixing parameter */</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keyword">static</span> <span class="keywordtype">double</span> vec[NPAR] ; <span class="comment">/* correction sinfo_vector */</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keyword">static</span> <span class="keywordtype">double</span> matrix1[NPAR][NPAR] ; <span class="comment">/* original sinfo_matrix */</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="keyword">static</span> <span class="keywordtype">double</span> matrix2[NPAR][NPAR] ; <span class="comment">/* inverse of matrix1 */</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keyword">static</span> <span class="keywordtype">int</span> nfree ; <span class="comment">/* number of free parameters */</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keyword">static</span> <span class="keywordtype">int</span> parptr[NPAR] ; <span class="comment">/* parameter pointer */</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment"> * Functions private to this module</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_new_inv_mat (<span class="keywordtype">void</span>) ;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keyword">static</span> <span class="keywordtype">void</span> sinfo_new_get_mat ( <span class="keywordtype">float</span> * xdat,</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keywordtype">int</span> * xdim,</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="keywordtype">float</span> * ydat,</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keywordtype">float</span> * wdat,</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keywordtype">int</span> * ndat,</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keywordtype">float</span> * fpar,</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="keywordtype">float</span> * epar<span class="comment">/*,</span></div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment"> int * npar*/</span> ) ;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_new_get_vec ( <span class="keywordtype">float</span> * xdat,</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keywordtype">int</span> * xdim,</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keywordtype">float</span> * ydat,</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keywordtype">float</span> * wdat,</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keywordtype">int</span> * ndat,</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keywordtype">float</span> * fpar,</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keywordtype">float</span> * epar,</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordtype">int</span> * npar ) ;</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment"> * Function codes</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div>
-<div class="line"><a name="l00245"></a><span class="lineno"><a class="code" href="group__sinfo__boltzmann.html#ga858ad4d37da835f1ff4740d0f23920c1"> 245</a></span> <span class="keywordtype">float</span> <a class="code" href="group__sinfo__boltzmann.html#ga858ad4d37da835f1ff4740d0f23920c1" title="calculates the value of a Boltzmann function with parameters parlist at the position xdat...">sinfo_new_boltz</a> ( <span class="keywordtype">float</span> * xdat, <span class="keywordtype">f [...]
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> {</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="keywordtype">float</span> return_value ;</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="comment">/* now build the boltzman function out of the parameters */</span></div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> return_value = </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> (parlist[0] - parlist[1]) / (1 + exp(( xdat[0] - parlist[2] ) / </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> parlist[3])) + parlist[1] ;</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordflow">return</span> return_value ;</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> }</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
-<div class="line"><a name="l00278"></a><span class="lineno"><a class="code" href="group__sinfo__boltzmann.html#ga72b3c6f0c971fb402bd68c8d0fcf5e30"> 278</a></span> <span class="keywordtype">void</span> <a class="code" href="group__sinfo__boltzmann.html#ga72b3c6f0c971fb402bd68c8d0fcf5e30" title="calculates the partial derivatives for a Boltzmann function with parameters parlist at position xdat...">sinfo_new_boltz_deriv</a>( <span class="keywordtype">float</span> * xdat, <span class= [...]
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> {</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keywordtype">float</span> subst ;</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> subst = (xdat[0] - parlist[2]) / parlist[3] ;</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> dervs[0] = 1. / ( 1. + exp(subst) ) ;</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> dervs[1] = -1. / ( 1. + exp(subst) ) + 1. ;</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> dervs[2] = ( (parlist[0] - parlist[1]) / parlist[3] * exp(subst) ) /</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> ( (1. + exp(subst)) * (1. + exp(subst)) ) ;</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> dervs[3] = ( (parlist[0] - parlist[1]) * (xdat[0] - parlist[2]) /</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> (parlist[3]*parlist[3]) * exp(subst) ) /</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> ( (1. + exp(subst)) * (1. + exp(subst)) ) ;</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> }</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_new_inv_mat (<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> {</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="keywordtype">double</span> even ;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="keywordtype">double</span> hv[NPAR] ;</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="keywordtype">double</span> mjk ;</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="keywordtype">double</span> rowmax ;</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keywordtype">int</span> evin ;</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="keywordtype">int</span> i, j, k, row ;</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="keywordtype">int</span> per[NPAR] ;</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="comment">/* set permutation array */</span></div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="keywordflow">for</span> ( i = 0 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> {</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> per[i] = i ;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> }</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> </div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="keywordflow">for</span> ( j = 0 ; j < nfree ; j++ ) <span class="comment">/* in j-th column */</span></div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> {</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="comment">/* determine largest element of a row */</span> </div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> rowmax = fabs ( matrix2[j][j] ) ;</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> row = j ; </div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="keywordflow">for</span> ( i = j + 1 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> {</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="keywordflow">if</span> ( fabs ( matrix2[i][j] ) > rowmax )</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> {</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> rowmax = fabs( matrix2[i][j] ) ;</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> row = i ;</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> }</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> }</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> </div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="comment">/* determinant is zero! */</span></div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="keywordflow">if</span> ( matrix2[row][j] == 0.0 )</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> {</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="keywordflow">return</span> -6 ;</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> }</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="comment">/* if the largest element is not on the diagonal, then permutate rows */</span></div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="keywordflow">if</span> ( row > j )</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> {</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="keywordflow">for</span> ( k = 0 ; k < nfree ; k++ )</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> {</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> even = matrix2[j][k] ;</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> matrix2[j][k] = matrix2[row][k] ;</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> matrix2[row][k] = even ;</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> }</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="comment">/* keep track of permutation */</span></div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> evin = per[j] ;</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> per[j] = per[row] ;</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> per[row] = evin ;</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> }</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="comment">/* modify column */</span></div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> even = 1.0 / matrix2[j][j] ;</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="keywordflow">for</span> ( i = 0 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> {</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> matrix2[i][j] *= even ;</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> }</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> matrix2[j][j] = even ;</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> </div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="keywordflow">for</span> ( k = 0 ; k < j ; k++ )</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> {</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> mjk = matrix2[j][k] ;</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="keywordflow">for</span> ( i = 0 ; i < j ; i++ )</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> {</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> matrix2[i][k] -= matrix2[i][j] * mjk ;</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> }</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="keywordflow">for</span> ( i = j + 1 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> {</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> matrix2[i][k] -= matrix2[i][j] * mjk ;</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> }</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> matrix2[j][k] = -even * mjk ;</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> }</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="keywordflow">for</span> ( k = j + 1 ; k < nfree ; k++ )</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> {</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> mjk = matrix2[j][k] ;</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="keywordflow">for</span> ( i = 0 ; i < j ; i++ )</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> {</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> matrix2[i][k] -= matrix2[i][j] * mjk ;</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> }</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="keywordflow">for</span> ( i = j + 1 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> {</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> matrix2[i][k] -= matrix2[i][j] * mjk ;</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> }</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> matrix2[j][k] = -even * mjk ;</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> }</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> }</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="comment">/* finally, repermute the columns */</span></div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="keywordflow">for</span> ( i = 0 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> {</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="keywordflow">for</span> ( k = 0 ; k < nfree ; k++ )</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> {</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> hv[per[k]] = matrix2[i][k] ;</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> }</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="keywordflow">for</span> ( k = 0 ; k < nfree ; k++ )</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> {</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> matrix2[i][k] = hv[k] ;</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> }</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> }</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="comment">/* all is well */</span></div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> }</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> </div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="keyword">static</span> <span class="keywordtype">void</span> sinfo_new_get_mat ( <span class="keywordtype">float</span> * xdat,</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="keywordtype">int</span> * xdim,</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="keywordtype">float</span> * ydat,</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="keywordtype">float</span> * wdat,</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="keywordtype">int</span> * ndat,</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="keywordtype">float</span> * fpar,</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="keywordtype">float</span> * epar<span class="comment">/*,</span></div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="comment"> int * npar*/</span> )</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> {</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="keywordtype">double</span> wd ;</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="keywordtype">double</span> wn ;</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="keywordtype">double</span> yd ;</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <span class="keywordtype">int</span> i, j, n ;</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> </div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="keywordflow">for</span> ( j = 0 ; j < nfree ; j++ )</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> {</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> vec[j] = 0.0 ; <span class="comment">/* zero sinfo_vector */</span></div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="keywordflow">for</span> ( i = 0 ; i<= j ; i++ ) <span class="comment">/* zero sinfo_matrix only </span></div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="comment"> on and below diagonal */</span></div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> {</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> matrix1[j][i] = 0.0 ;</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> }</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> }</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> chi2 = 0.0 ; <span class="comment">/* reset reduced chi-squared */</span></div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> </div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="comment">/* loop through data points */</span></div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <span class="keywordflow">for</span> ( n = 0 ; n < (*ndat) ; n++ )</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> {</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> wn = wdat[n] ;</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="keywordflow">if</span> ( wn > 0.0 ) <span class="comment">/* legal weight ? */</span></div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> {</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> yd = ydat[n] - <a class="code" href="group__sinfo__boltzmann.html#ga858ad4d37da835f1ff4740d0f23920c1" title="calculates the value of a Boltzmann function with parameters parlist at the position xdat...">sinfo_new_boltz</a>( &xdat[(*xdim) * n], fpar ) ;</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <a class="code" href="group__sinfo__boltzmann.html#ga72b3c6f0c971fb402bd68c8d0fcf5e30" title="calculates the partial derivatives for a Boltzmann function with parameters parlist at position xdat...">sinfo_new_boltz_deriv</a>( &xdat[(*xdim) * n], fpar, epar ) ;</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> chi2 += yd * yd * wn ; <span class="comment">/* add to chi-squared */</span></div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="keywordflow">for</span> ( j = 0 ; j < nfree ; j++ )</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> {</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> wd = epar[parptr[j]] * wn ; <span class="comment">/* weighted derivative */</span></div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> vec[j] += yd * wd ; <span class="comment">/* fill sinfo_vector */</span></div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="keywordflow">for</span> ( i = 0 ; i <= j ; i++ ) <span class="comment">/* fill sinfo_matrix */</span></div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> {</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> matrix1[j][i] += epar[parptr[i]] * wd ;</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> }</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> }</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> }</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> } </div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> } </div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> </div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> </div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_new_get_vec ( <span class="keywordtype">float</span> * xdat,</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="keywordtype">int</span> * xdim,</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="keywordtype">float</span> * ydat,</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <span class="keywordtype">float</span> * wdat,</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> <span class="keywordtype">int</span> * ndat,</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="keywordtype">float</span> * fpar,</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="keywordtype">float</span> * epar,</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="keywordtype">int</span> * npar )</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> {</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="keywordtype">double</span> dj ;</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="keywordtype">double</span> dy ;</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="keywordtype">double</span> mii ;</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="keywordtype">double</span> mji ;</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> <span class="keywordtype">double</span> mjj ;</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="keywordtype">double</span> wn ;</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="keywordtype">int</span> i, j, n, r ;</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> </div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="comment">/* loop to modify and scale the sinfo_matrix */</span></div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="keywordflow">for</span> ( j = 0 ; j < nfree ; j++ )</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> {</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> mjj = matrix1[j][j] ;</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="keywordflow">if</span> ( mjj <= 0.0 ) <span class="comment">/* diagonal element wrong */</span></div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> {</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> <span class="keywordflow">return</span> -5 ;</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> }</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> mjj = sqrt( mjj ) ;</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="keywordflow">for</span> ( i = 0 ; i < j ; i++ )</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> {</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> mji = matrix1[j][i] / mjj / sqrt( matrix1[i][i] ) ;</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> matrix2[i][j] = matrix2[j][i] = mji ;</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> }</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> matrix2[j][j] = 1.0 + labda ; <span class="comment">/* scaled value on diagonal */</span></div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> } </div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> </div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <span class="keywordflow">if</span> ( (r = sinfo_new_inv_mat()) ) <span class="comment">/* sinfo_invert sinfo_matrix inlace */</span></div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> {</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> <span class="keywordflow">return</span> r ;</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> }</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> </div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> <span class="keywordflow">for</span> ( i = 0 ; i < (*npar) ; i ++ )</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> {</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> epar[i] = fpar[i] ;</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> }</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> </div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> <span class="comment">/* loop to calculate correction sinfo_vector */</span></div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> <span class="keywordflow">for</span> ( j = 0 ; j < nfree ; j++ )</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> {</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> dj = 0.0 ;</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> mjj = matrix1[j][j] ;</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> <span class="keywordflow">if</span> ( mjj <= 0.0) <span class="comment">/* not allowed */</span></div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> {</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> }</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> mjj = sqrt ( mjj ) ;</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <span class="keywordflow">for</span> ( i = 0 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> {</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> mii = matrix1[i][i] ;</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> <span class="keywordflow">if</span> ( mii <= 0.0 )</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> {</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> }</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> mii = sqrt( mii ) ;</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> dj += vec[i] * matrix2[j][i] / mjj / mii ;</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> }</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> epar[parptr[j]] += dj ; <span class="comment">/* new parameters */</span></div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> } </div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> chi1 = 0.0 ; <span class="comment">/* reset reduced chi-squared */</span></div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> </div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <span class="comment">/* loop through the data points */</span></div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <span class="keywordflow">for</span> ( n = 0 ; n < (*ndat) ; n++ )</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> {</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> wn = wdat[n] ; <span class="comment">/* get weight */</span></div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <span class="keywordflow">if</span> ( wn > 0.0 ) <span class="comment">/* legal weight */</span></div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> {</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> dy = ydat[n] - <a class="code" href="group__sinfo__boltzmann.html#ga858ad4d37da835f1ff4740d0f23920c1" title="calculates the value of a Boltzmann function with parameters parlist at the position xdat...">sinfo_new_boltz</a>( &xdat[(*xdim) * n], epar) ;</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> chi1 += wdat[n] * dy * dy ;</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> }</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> }</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> } </div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> </div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> </div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> </div>
-<div class="line"><a name="l00627"></a><span class="lineno"><a class="code" href="group__sinfo__boltzmann.html#ga7e03e34851f7c367ab3827c58e8c81c5"> 627</a></span> <span class="keywordtype">int</span> <a class="code" href="group__sinfo__boltzmann.html#ga7e03e34851f7c367ab3827c58e8c81c5" title="makes a least-squares fit of a function to a set of data points.">sinfo_new_lsqfit</a> ( <span class="keywordtype">float</span> * xdat,</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> <span class="keywordtype">int</span> * xdim,</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> <span class="keywordtype">float</span> * ydat,</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="keywordtype">float</span> * wdat,</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="keywordtype">int</span> * ndat,</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> <span class="keywordtype">float</span> * fpar,</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> <span class="keywordtype">float</span> * epar,</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> <span class="keywordtype">int</span> * mpar,</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> <span class="keywordtype">int</span> * npar,</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> <span class="keywordtype">float</span> * tol ,</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> <span class="keywordtype">int</span> * its ,</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> <span class="keywordtype">float</span> * lab )</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> {</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="keywordtype">int</span> i, n, r ;</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> <span class="keywordtype">int</span> itc ; <span class="comment">/* fate of fit */</span></div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> <span class="keywordtype">int</span> found ; <span class="comment">/* fit converged: 1, not yet converged: 0 */</span></div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> <span class="keywordtype">int</span> nuse ; <span class="comment">/* number of useable data points */</span></div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> <span class="keywordtype">double</span> tolerance ; <span class="comment">/* accuracy */</span></div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> </div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> itc = 0 ; <span class="comment">/* fate of fit */</span></div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> found = 0 ; <span class="comment">/* reset */</span></div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> nfree = 0 ; <span class="comment">/* number of free parameters */</span></div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> nuse = 0 ; <span class="comment">/* number of legal data points */</span></div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> </div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <span class="keywordflow">if</span> ( *tol < (FLT_EPSILON * 10.0 ) )</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> {</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> tolerance = FLT_EPSILON * 10.0 ; <span class="comment">/* default tolerance */</span></div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> }</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> {</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> tolerance = *tol ; <span class="comment">/* tolerance */</span></div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> }</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> </div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> labda = fabs( *lab ) * LABFACA ; <span class="comment">/* start value for mixing parameter */</span></div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> <span class="keywordflow">for</span> ( i = 0 ; i < (*npar) ; i++ )</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> {</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <span class="keywordflow">if</span> ( mpar[i] )</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> {</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> <span class="keywordflow">if</span> ( nfree > NPAR ) <span class="comment">/* too many free parameters */</span></div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> {</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> }</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> parptr[nfree++] = i ; <span class="comment">/* a free parameter */</span></div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> }</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> }</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> </div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> <span class="keywordflow">if</span> (nfree == 0) <span class="comment">/* no free parameters */</span> </div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> {</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> <span class="keywordflow">return</span> -2 ;</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> }</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> </div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> <span class="keywordflow">for</span> ( n = 0 ; n < (*ndat) ; n++ )</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> {</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> <span class="keywordflow">if</span> ( wdat[n] > 0.0 ) <span class="comment">/* legal weight */</span></div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> {</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> nuse ++ ;</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> }</div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> }</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> </div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> <span class="keywordflow">if</span> ( nfree >= nuse )</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> {</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> <span class="keywordflow">return</span> -3 ; <span class="comment">/* no degrees of freedom */</span></div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> }</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> <span class="keywordflow">if</span> ( labda == 0.0 ) <span class="comment">/* linear fit */</span></div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> {</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> <span class="comment">/* initialize fpar array */</span></div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> <span class="keywordflow">for</span> ( i = 0 ; i < nfree ; fpar[parptr[i++]] = 0.0 ) ; </div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> sinfo_new_get_mat(xdat,xdim,ydat,wdat,ndat,fpar,epar<span class="comment">/*, npar*/</span> ) ;</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> r = sinfo_new_get_vec(xdat,xdim,ydat,wdat,ndat,fpar,epar,npar) ;</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> <span class="keywordflow">if</span> ( r ) <span class="comment">/* error */</span></div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> {</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> <span class="keywordflow">return</span> r ;</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> }</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> <span class="keywordflow">for</span> ( i = 0 ; i < (*npar) ; i++ )</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> {</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> fpar[i] = epar[i] ; <span class="comment">/* save new parameters */</span></div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> epar[i] = 0.0 ; <span class="comment">/* and set errors to zero */</span></div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> }</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> chi1 = sqrt( chi1 / (<span class="keywordtype">double</span>) (nuse - nfree) ) ;</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> <span class="keywordflow">for</span> ( i = 0 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> {</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> <span class="keywordflow">if</span> ( (matrix1[i][i] <= 0.0 ) || (matrix2[i][i] <= 0.0) )</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> {</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> }</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> epar[parptr[i]] = chi1 * sqrt( matrix2[i][i] ) / </div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> sqrt( matrix1[i][i] ) ;</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> }</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> }</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> <span class="keywordflow">else</span> <span class="comment">/* non-linear fit */</span></div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> {</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> <span class="comment">/*----------------------------------------------------------------</span></div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> <span class="comment"> * the non-linear fit uses the steepest descent method in combination</span></div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> <span class="comment"> * with the Taylor method. The mixing of these methods is controlled</span></div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> <span class="comment"> * by labda. In the outer loop ( called the iteration loop ) we build</span></div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> <span class="comment"> * the sinfo_matrix and calculate the correction sinfo_vector. </span></div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> <span class="comment"> * In the inner loop</span></div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> <span class="comment"> * (called the interpolation loop) we check whether we have obtained a</span></div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> <span class="comment"> * better solution than the previous one. If so, we leave the inner </span></div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> <span class="comment"> * loop</span></div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> <span class="comment"> * else we increase labda ( give more weight to the steepest descent </span></div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> <span class="comment"> * method) calculate the correction sinfo_vector and check again. </span></div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> <span class="comment"> * After the inner loop</span></div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> <span class="comment"> * we do a final check on the goodness of the fit and if this satisfies</span></div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> <span class="comment"> * the tolerance we calculate the errors of the fitted parameters.</span></div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> <span class="keywordflow">while</span> ( !found ) <span class="comment">/* iteration loop */</span></div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> { </div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> <span class="keywordflow">if</span> ( itc++ == (*its) ) <span class="comment">/* increase iteration counter */</span></div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> {</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> <span class="keywordflow">return</span> -4 ; </div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> }</div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> sinfo_new_get_mat(xdat,xdim,ydat,wdat,ndat,fpar,epar<span class="comment">/*, npar */</span>) ;</div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> </div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> <span class="comment">/*-------------------------------------------------------------</span></div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> <span class="comment"> * here we decrease labda since we may assume that each iteration</span></div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> <span class="comment"> * brings us closer to the answer.</span></div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> <span class="keywordflow">if</span> ( labda > LABMINA )</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> {</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> labda = labda / LABFACA ; <span class="comment">/* decrease labda */</span></div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> }</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> r = sinfo_new_get_vec ( xdat, xdim, ydat, wdat, </div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> ndat, fpar, epar, npar ) ;</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> </div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="keywordflow">if</span> ( r ) <span class="comment">/* error */</span></div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> {</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> <span class="keywordflow">return</span> r ;</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> }</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> </div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> <span class="keywordflow">while</span> ( chi1 >= chi2 ) <span class="comment">/* interpolation loop */</span></div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> {</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> <span class="comment">/*-----------------------------------------------------------</span></div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> <span class="comment"> * The next statement is based on experience, not on the </span></div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> <span class="comment"> * mathematics of the problem. It is assumed that we have </span></div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> <span class="comment"> * reached convergence when the pure steepest descent method </span></div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> <span class="comment"> * does not produce a better solution.</span></div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> <span class="keywordflow">if</span> ( labda > LABMAXA ) <span class="comment">/* assume solution found */</span></div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> {</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> break ;</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> }</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> labda = labda * LABFACA ; <span class="comment">/* increase mixing parameter */</span></div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> r = sinfo_new_get_vec ( xdat, xdim, ydat, wdat, </div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> ndat, fpar, epar, npar ) ;</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> </div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> <span class="keywordflow">if</span> ( r ) <span class="comment">/* error */</span></div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> {</div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> <span class="keywordflow">return</span> r ;</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> }</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> }</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> </div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> <span class="keywordflow">if</span> ( labda <= LABMAXA ) <span class="comment">/* save old parameters */</span></div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> {</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> <span class="keywordflow">for</span> ( i = 0 ; i < *npar ; i++ )</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> {</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> fpar[i] = epar[i] ;</div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> }</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> }</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> <span class="keywordflow">if</span> ( (fabs( chi2 - chi1 ) <= (tolerance * chi1)) || </div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> (labda > LABMAXA) )</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> {</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> <span class="comment">/*---------------------------------------------------------</span></div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> <span class="comment"> * we have a satisfying solution, so now we need to calculate </span></div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> <span class="comment"> * the correct errors of the fitted parameters. This we do by </span></div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> <span class="comment"> * using the pure Taylor method because we are very close to </span></div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> <span class="comment"> * the real solution.</span></div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> labda = LABMINA ; <span class="comment">/* for Taylor solution */</span></div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> sinfo_new_get_mat(xdat,xdim,ydat,wdat,ndat,fpar,epar<span class="comment">/*,npar*/</span>);</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> r = sinfo_new_get_vec(xdat,xdim,ydat,wdat,ndat,fpar,epar,npar);</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> </div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> <span class="keywordflow">if</span> ( r ) <span class="comment">/* error */</span></div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> {</div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> <span class="keywordflow">return</span> r ;</div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> }</div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> <span class="keywordflow">for</span> ( i = 0 ; i < (*npar) ; i++ )</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> {</div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> epar[i] = 0.0 ; <span class="comment">/* set error to zero */</span></div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> }</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> chi2 = sqrt ( chi2 / (<span class="keywordtype">double</span>) (nuse - nfree) ) ;</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> </div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> <span class="keywordflow">for</span> ( i = 0 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> {</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> <span class="keywordflow">if</span> ( (matrix1[i][i] <= 0.0) || (matrix2[i][i] <= 0.0) )</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> {</div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> }</div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> epar[parptr[i]] = chi2 * sqrt( matrix2[i][i] ) / </div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> sqrt( matrix1[i][i] ) ;</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> }</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> found = 1 ; <span class="comment">/* we found a solution */</span></div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> }</div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> }</div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> }</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> <span class="keywordflow">return</span> itc ; <span class="comment">/* return number of iterations */</span></div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> }</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> </div>
-<div class="line"><a name="l00865"></a><span class="lineno"><a class="code" href="group__sinfo__boltzmann.html#gab3549f7bb876fb4091ba3c0bd64d267d"> 865</a></span> <span class="keywordtype">int</span> <a class="code" href="group__sinfo__boltzmann.html#gab3549f7bb876fb4091ba3c0bd64d267d" title="fits the beginning and end position of the slitlets by using non-linear least square fitting of a Bol...">sinfo_new_fit_slits_boltz</a> ( cpl_image * lineImage, </div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> FitParams ** par,</div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> <span class="keywordtype">float</span> ** slit_pos,</div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> <span class="keywordtype">int</span> box_length,</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> <span class="keywordtype">float</span> y_box,</div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> <span class="keywordtype">float</span> diff_tol )</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> {</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> <span class="keywordtype">float</span>* position=NULL ;</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> <span class="keywordtype">int</span> * sinfo_edge, * edgeclean ;</div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> <span class="keywordtype">int</span> * dummyedge ;</div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> <span class="keywordtype">int</span> * pos_row, * pos_rowclean ;</div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> Vector * box_buffer ;</div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> Vector * half_buffer ;</div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> Vector * in_buffer ;</div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> <span class="keywordtype">float</span> max_intensity ;</div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> <span class="keywordtype">float</span> row_pos ;</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> <span class="keywordtype">int</span> row, col ;</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> <span class="keywordtype">int</span> i, j, k, m, n, ed ;</div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> <span class="keywordtype">int</span> found, init1 ;</div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> <span class="keywordtype">int</span> line ; </div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> <span class="keywordtype">int</span> nel, n_right, left_right ;</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> <span class="keywordtype">int</span> n_buf, edge_ind, shift ;</div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> <span class="keywordtype">int</span> column ;</div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> <span class="keywordtype">int</span> slit_length ;</div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> <span class="keywordtype">int</span> agreed ;</div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> <span class="keywordtype">int</span> bad_line ;</div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> <span class="keywordtype">int</span> margin ;</div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> <span class="keywordtype">int</span> iters, xdim, ndat ;</div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> <span class="keywordtype">int</span> numpar, its ;</div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> <span class="keywordtype">int</span> * mpar ;</div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> <span class="keywordtype">float</span> * xdat, * wdat ;</div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> <span class="keywordtype">float</span> tol, lab ;</div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> <span class="keywordtype">float</span> fitpar[NPAR] ;</div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> <span class="keywordtype">float</span> dervpar[NPAR] ;</div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> <span class="keywordtype">float</span> minval, maxval ;</div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> <span class="keywordtype">float</span> min ;</div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> <span class="keywordtype">float</span> pos, last_pos ;</div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> <span class="keywordtype">int</span> old_col=0;</div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> <span class="keywordtype">int</span> old_pos=0;</div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> </div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> </div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> slit_length = SLITLENGTH ;</div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> <span class="keywordflow">if</span> ( NULL == lineImage )</div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> {</div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no line image given!"</span> ) ;</div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> }</div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> </div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> <span class="keywordflow">if</span> ( NULL == par )</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> {</div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no line fit parameters given!"</span> ) ;</div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> <span class="keywordflow">return</span> -2 ;</div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> }</div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> </div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> <span class="keywordflow">if</span> ( NULL == slit_pos )</div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> {</div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no position array allocated!"</span> ) ;</div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> <span class="keywordflow">return</span> -3 ;</div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> }</div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> </div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> <span class="keywordflow">if</span> ( box_length < 4 ||</div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> box_length > 2*slit_length )</div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> {</div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong fitting box length given!"</span> ) ;</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> <span class="keywordflow">return</span> -4 ;</div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> }</div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> </div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> <span class="keywordflow">if</span> ( y_box <= 0. || y_box > 6. )</div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> {</div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong y box length given!"</span> ) ;</div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> <span class="keywordflow">return</span> -5 ;</div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> }</div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> </div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> <span class="keywordflow">if</span> ( diff_tol < 1. )</div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> {</div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" diff_tol too small!"</span> ) ;</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> <span class="keywordflow">return</span> -6 ;</div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> }</div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> </div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> <span class="comment">/* allocate memory for the edges and the row positon of the slitlets */</span></div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> sinfo_edge = (<span class="keywordtype">int</span>*) cpl_calloc( 3*slit_length, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> dummyedge = (<span class="keywordtype">int</span>*) cpl_calloc( 3*slit_length, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> edgeclean = (<span class="keywordtype">int</span>*) cpl_calloc( slit_length-1, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> pos_row = (<span class="keywordtype">int</span>*) cpl_calloc( 3*slit_length, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> pos_rowclean = (<span class="keywordtype">int</span>*) cpl_calloc( slit_length, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> </div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> </div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> <span class="comment">/* -----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> <span class="comment"> * go through the first image columns and the fit parameters and find the </span></div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> <span class="comment"> line with the highest intensity </span></div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> agreed = -1 ;</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> bad_line = -1 ;</div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> <span class="keywordflow">while</span>( agreed == -1 )</div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> {</div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> found = -1 ;</div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> max_intensity = -FLT_MAX ;</div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> <span class="keywordflow">for</span> ( col = 0 ; col < slit_length ; col++ )</div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> {</div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> <span class="keywordflow">for</span> ( i = 0 ; i < par[0]->n_params ; i++ )</div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> {</div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> <span class="keywordflow">if</span> ( par[i]->column == col && par[i]->line != bad_line )</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> {</div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> <span class="keywordflow">if</span> ( par[i]->fit_par[0] > max_intensity )</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> {</div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> <span class="keywordflow">if</span> ( par[i]->fit_par[1] >= 1. && </div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> par[i]->fit_par[2] > 0. )</div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> {</div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> max_intensity = par[i]->fit_par[0] ;</div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> found = i ;</div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> }</div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> }</div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> }</div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> } </div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> }</div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> </div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> <span class="comment">/* --------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> <span class="comment"> * check if the found line is usable and if the neighbouring line </span></div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> <span class="comment"> * have intensity on near rows in neighbouring slitlets </span></div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> line = par[found]->line ;</div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> column = par[found]->column ;</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> row_pos = par[found]->fit_par[2] ;</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> <span class="keywordflow">if</span> ( found >= 0 && max_intensity > 0. )</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> {</div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> <span class="keywordflow">for</span> ( i = 0 ; i < par[0]->n_params ; i++ )</div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> {</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> <span class="keywordflow">if</span> ( par[i]->line == line-1 && </div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> par[i]->column == column + slit_length )</div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> {</div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> <span class="keywordflow">if</span> ( par[i]->fit_par[2] <= (row_pos + y_box) &&</div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> par[i]->fit_par[2] >= (row_pos - y_box) )</div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> {</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> bad_line = line ;</div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> } </div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> }</div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> }</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> <span class="keywordflow">if</span> ( bad_line != line )</div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> {</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> agreed = 1 ;</div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> break ;</div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> }</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> }</div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> {</div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no emission line found in the first image columns"</span>) ;</div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> cpl_free( sinfo_edge ) ;</div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> cpl_free( pos_row ) ;</div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> cpl_free( edgeclean ) ;</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> cpl_free( dummyedge ) ;</div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> cpl_free( pos_rowclean ) ;</div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> } </div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> }</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> </div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> </div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> </div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> <span class="keywordflow">if</span> ( agreed == -1 )</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> {</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no emission line found in the first image columns"</span>) ;</div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> cpl_free( sinfo_edge ) ;</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> cpl_free( pos_row ) ;</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> cpl_free( edgeclean ) ;</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> cpl_free( dummyedge ) ;</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> cpl_free( pos_rowclean ) ;</div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> } </div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> </div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> ilx=cpl_image_get_size_x(lineImage);</div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> ily=cpl_image_get_size_y(lineImage);</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> pidata=cpl_image_get_data_float(lineImage);</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> </div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> <span class="comment">/* now find and store the raw sinfo_edge positions of the found slitlet */</span> </div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> n = 0 ;</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> ed = 0 ;</div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> position=cpl_calloc(ilx,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> </div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> <span class="comment">/* was for ( col = 0 ; col < ilx - slit_length/2 ; col++ ) */</span></div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> <span class="keywordflow">for</span> ( col = slit_length/2 ; col < ilx - slit_length/2 ; col++ )</div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> {</div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> <span class="keywordflow">for</span> ( i = 0 ; i < par[0]->n_params ; i++ )</div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> { </div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> <span class="comment"> printf("p1=%f p2=%f p3=%f\n",</span></div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> <span class="comment"> par[i]->fit_par[0],par[i]->fit_par[1],par[i]->fit_par[2]);</span></div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> <span class="keywordflow">if</span> ( par[i]->column == col && par[i]->line == line )</div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> {</div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> <span class="keywordflow">if</span> ( par[i]->fit_par[0] > 0. && </div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> par[i]->fit_par[1] >= 1. && </div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> par[i]->fit_par[2] > 0. )</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> {</div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> position[n] = par[i]->fit_par[2] ;</div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> old_pos=position[n];</div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> <span class="keywordflow">if</span> ( n > 0 && </div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> fabs(position[n] - position[n-1]) > y_box && </div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> (col-old_col) > (slit_length-SLIT_POS_ERR) )</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> {</div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> </div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> old_col=col;</div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> sinfo_edge[ed] = col ; </div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> pos_row[ed] = sinfo_new_nint( position[n-1] ) ;</div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> <span class="comment">/* printf("sinfo_edge[%d]=%d , pos_row=%d\n",</span></div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> <span class="comment"> ed,sinfo_edge[ed],pos_row[ed]); */</span> </div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> ed++ ;</div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> <span class="keywordflow">if</span> ( col >= ilx - slit_length - SLIT_POS_ERR ) {</div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> pos_row[ed] = sinfo_new_nint( position[n] ) ;</div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> } </div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( ((col-old_col) > </div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> (slit_length+SLIT_POS_ERR)) &&</div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> (col>120) ) {</div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> old_col=col;</div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> sinfo_edge[ed] = col ; </div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> pos_row[ed] = sinfo_new_nint( position[n-1] ) ;</div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"add1 slitlet edge[%d]=%d, pos_row=%d"</span>,</div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> ed,sinfo_edge[ed],pos_row[ed]);</div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> ed++ ;</div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> <span class="keywordflow">if</span> ( col >= ilx - slit_length - SLIT_POS_ERR ) {</div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> pos_row[ed] = sinfo_new_nint( position[n] ) ;</div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> } </div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> }</div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> n++ ;</div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> }</div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( ((col-old_col) > (slit_length+SLIT_POS_ERR)) && </div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> (col>120) ) {</div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> <span class="comment"> printf("check col=%d col-old_col=%d check=%d\n",</span></div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> <span class="comment"> col,(col-old_col),(slit_length+SLIT_POS_ERR));</span></div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> position[n] = old_pos ;</div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> </div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> old_col+=slit_length;</div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> sinfo_edge[ed] = old_col; ; </div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> pos_row[ed] = sinfo_new_nint( position[n-1] ) ;</div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> </div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> </div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"added2 slitlet sinfo_edge[%d]=%d, pos_row=%d"</span>,</div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> ed,sinfo_edge[ed],pos_row[ed]);</div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> ed++ ;</div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> <span class="keywordflow">if</span> ( old_col >= ilx - slit_length - SLIT_POS_ERR ) {</div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> pos_row[ed] = old_pos ;</div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> }</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> n++;</div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> }</div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> }</div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> }</div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> </div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> </div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> <span class="keywordflow">if</span> ( ed < (N_SLITLETS - 1) )</div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> {</div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" not enough slitlets, found: %d"</span>, ed) ;</div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> cpl_free( sinfo_edge ) ;</div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> cpl_free( pos_row ) ;</div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> cpl_free( edgeclean ) ;</div>
-<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> cpl_free( dummyedge ) ;</div>
-<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span> cpl_free( pos_rowclean ) ;</div>
-<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> <span class="keywordflow">return</span> -8 ;</div>
-<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> } </div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> </div>
-<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> <span class="comment">/* now find the clean sinfo_edge and row positions of the slitlets */</span></div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> <span class="comment">/* printf("ed=%d\n",ed); */</span></div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> <span class="keywordflow">for</span> ( i = 1 ; i <= ed ; i ++ )</div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> {</div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> <span class="keywordflow">if</span> ( i == ed )</div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> {</div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> <span class="keywordflow">if</span> ( (sinfo_edge[i-1] - sinfo_edge[i-2]) < </div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> slit_length - SLIT_LEN_ERR ||</div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> (sinfo_edge[i-1] - sinfo_edge[i-2]) > </div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> slit_length + SLIT_LEN_ERR )</div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> {</div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> <span class="comment">/* printf("e(i-1)=%d e(i-2)=%d i=%d\n",</span></div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> <span class="comment"> edge[i-1], edge[i-2],i); */</span></div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> dummyedge[i-1] = -1 ;</div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> }</div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> }</div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> <span class="keywordflow">if</span> (dummyedge[i-1] != -1)</div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> {</div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> dummyedge[i-1] = sinfo_edge[i-1] ;</div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> }</div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> {</div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> continue ;</div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> }</div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> <span class="keywordflow">if</span> ( i < ed )</div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> {</div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> <span class="keywordflow">if</span> ( (sinfo_edge[i] - sinfo_edge[i-1]) < </div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> slit_length - SLIT_LEN_ERR ||</div>
-<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> (sinfo_edge[i] - sinfo_edge[i-1]) > </div>
-<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> slit_length + SLIT_LEN_ERR )</div>
-<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> {</div>
-<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> <span class="comment">/* printf("e(i)=%d e(i-1)=%d i=%d\n",edge[i], edge[i-1],i); */</span></div>
-<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> dummyedge[i] = -1 ;</div>
-<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> }</div>
-<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> }</div>
-<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> <span class="keywordflow">if</span> ( i+1 < ed && dummyedge[i] != -1 )</div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> {</div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> <span class="keywordflow">if</span> ( (sinfo_edge[i+1] - sinfo_edge[i]) < </div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> slit_length - SLIT_LEN_ERR ||</div>
-<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> (sinfo_edge[i+1] - sinfo_edge[i]) > </div>
-<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> slit_length + SLIT_LEN_ERR )</div>
-<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> {</div>
-<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> <span class="comment">/* printf("e(i+1)=%d e(i)=%d i=%d\n",edge[i+1], edge[i],i); */</span></div>
-<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> dummyedge[i+1] = -1 ; </div>
-<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span> }</div>
-<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span> }</div>
-<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> }</div>
-<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> </div>
-<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> k = 0 ;</div>
-<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> <span class="keywordflow">for</span> ( i = 0 ; i < ed ; i++ )</div>
-<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> {</div>
-<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span> <span class="keywordflow">if</span> ( dummyedge[i] != -1 && dummyedge[i] != 0 )</div>
-<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> {</div>
-<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span> edgeclean[k] = dummyedge[i] ;</div>
-<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> pos_rowclean[k] = pos_row[i] ;</div>
-<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> k++ ;</div>
-<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> <span class="keywordflow">if</span>( edgeclean[k-1] > (ilx - slit_length -2*SLIT_LEN_ERR ) )</div>
-<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> {</div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> pos_rowclean[k] = pos_row[ed] ;</div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> } </div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> }</div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> }</div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> <span class="comment"> for ( i = 0 ; i < k ; i++ )</span></div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> <span class="comment"> sinfo_msg_warning("%d %d", edgeclean[i], pos_rowclean[i]);</span></div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> <span class="keywordflow">if</span> ( k != N_SLITLETS - 1 )</div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> {</div>
-<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong number of clean slitlets found: %d"</span>, k+1) ;</div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> cpl_free( sinfo_edge ) ;</div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> cpl_free( pos_row ) ;</div>
-<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> cpl_free( edgeclean ) ;</div>
-<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> cpl_free( dummyedge ) ;</div>
-<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> cpl_free( pos_rowclean ) ;</div>
-<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span> } </div>
-<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> </div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> <span class="comment">/* determine the margins of the fitting box outside the slitlets */</span></div>
-<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> margin = box_length / 2 ;</div>
-<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> </div>
-<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> <span class="comment">/* ----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> <span class="comment"> * now go through the slitlets, search along each column within a box with </span></div>
-<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> <span class="comment"> * half width y_box the maximum value and store these found values </span></div>
-<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> <span class="comment"> * in a buffer</span></div>
-<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span> <span class="keywordflow">if</span>(</div>
-<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> ( (pos_rowclean[0]-sinfo_new_nint(y_box)) < 0 ) ||</div>
-<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span> ( (pos_rowclean[0]+sinfo_new_nint(y_box)) >ily )</div>
-<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> ) {</div>
-<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span> </div>
-<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"pos_rowclean[0] <0 something wrong!"</span>) ;</div>
-<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> cpl_free( sinfo_edge ) ;</div>
-<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span> cpl_free( pos_row ) ;</div>
-<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span> cpl_free( edgeclean ) ;</div>
-<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span> cpl_free( dummyedge ) ;</div>
-<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> cpl_free( pos_rowclean ) ;</div>
-<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span> </div>
-<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> }</div>
-<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span> </div>
-<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span> <span class="keywordflow">for</span> ( j = 0 ; j <= k ; j++ )</div>
-<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span> {</div>
-<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span> m = 0 ;</div>
-<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span> <span class="keywordflow">if</span> ( j == 0 )</div>
-<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span> {</div>
-<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span> box_buffer = sinfo_new_vector( edgeclean[0] + margin ) ;</div>
-<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span> <span class="keywordflow">for</span>( col = 0 ; col < edgeclean[0] + margin ; col++ )</div>
-<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> {</div>
-<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span> <span class="keywordflow">for</span> ( row = pos_rowclean[0] - sinfo_new_nint(y_box) ; </div>
-<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span> row <= pos_rowclean[0] + sinfo_new_nint(y_box) ; row++ )</div>
-<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span> {</div>
-<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span> <span class="keywordflow">if</span> ( maxval < pidata[col + ilx*row] )</div>
-<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span> {</div>
-<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span> maxval = pidata[col + ilx*row] ;</div>
-<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span> }</div>
-<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span> }</div>
-<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span> box_buffer->data[m] = maxval ;</div>
-<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span> m++ ;</div>
-<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span> }</div>
-<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span> }</div>
-<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( j < k )</div>
-<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span> {</div>
-<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> box_buffer = sinfo_new_vector( edgeclean[j] - </div>
-<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> edgeclean[j-1] + 2*margin ) ;</div>
-<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> <span class="keywordflow">for</span> ( col = edgeclean[j - 1] - margin ; </div>
-<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> col < edgeclean[j] + margin ; col++ )</div>
-<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> {</div>
-<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> <span class="keywordflow">for</span> ( row = pos_rowclean[j] - sinfo_new_nint(y_box) ; </div>
-<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> row <= pos_rowclean[j] + sinfo_new_nint(y_box) ; row++ )</div>
-<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> {</div>
-<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> <span class="keywordflow">if</span> ( maxval < pidata[col + ilx*row] )</div>
-<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> {</div>
-<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> maxval = pidata[col + ilx*row] ;</div>
-<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> }</div>
-<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> }</div>
-<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> box_buffer->data[m] = maxval ;</div>
-<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> m++ ;</div>
-<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> }</div>
-<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> }</div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> {</div>
-<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> box_buffer = sinfo_new_vector( ilx - edgeclean[k-1] + margin ) ;</div>
-<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> <span class="keywordflow">for</span> ( col = edgeclean[k - 1] - margin ; col < ilx ; col++ )</div>
-<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> {</div>
-<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> <span class="keywordflow">for</span> ( row = pos_rowclean[k-2] - sinfo_new_nint(y_box) ; </div>
-<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> row <= pos_rowclean[k-2] + sinfo_new_nint(y_box) ; row++ )</div>
-<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span> {</div>
-<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> <span class="keywordflow">if</span> ( maxval < pidata[col + ilx*row] )</div>
-<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span> {</div>
-<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span> maxval = pidata[col + ilx*row] ;</div>
-<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> }</div>
-<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> }</div>
-<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span> <span class="keywordflow">if</span>(maxval>0) box_buffer->data[m] = maxval ;</div>
-<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span> <span class="keywordflow">else</span> box_buffer->data[m] = 0;</div>
-<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span> m++ ;</div>
-<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span> }</div>
-<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> }</div>
-<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span> </div>
-<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span> <span class="comment">/* determine the minimum value in the box to get background1 </span></div>
-<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span> <span class="comment"> value for the sinfo_edge slitlets */</span></div>
-<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> min = FLT_MAX ;</div>
-<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span> <span class="keywordflow">for</span> ( i = 0 ; i < box_buffer->n_elements ; i++ )</div>
-<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span> {</div>
-<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span> <span class="keywordflow">if</span> ( box_buffer -> data[i] < min )</div>
-<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span> {</div>
-<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> min = box_buffer -> data[i] ;</div>
-<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> }</div>
-<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span> }</div>
-<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> </div>
-<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span> <span class="keywordflow">for</span> ( left_right = 0 ; left_right <= 1 ; left_right++ )</div>
-<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> { </div>
-<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span> nel = 0 ;</div>
-<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span> <span class="keywordflow">if</span> ( left_right == 0 )</div>
-<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> {</div>
-<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span> nel = box_buffer -> n_elements / 2 ;</div>
-<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> }</div>
-<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span> {</div>
-<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> <span class="keywordflow">if</span> ( box_buffer -> n_elements % 2 == 0 )</div>
-<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> {</div>
-<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span> nel = box_buffer -> n_elements / 2 ;</div>
-<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span> }</div>
-<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span> {</div>
-<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span> nel = box_buffer -> n_elements / 2 + 1 ;</div>
-<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span> }</div>
-<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span> }</div>
-<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span> </div>
-<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span> <span class="comment">/* now split the buffer in the midth in a left and right </span></div>
-<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span> <span class="comment"> part for fitting */</span></div>
-<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span> half_buffer = sinfo_new_vector( nel ) ;</div>
-<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span> <span class="keywordflow">if</span> ( left_right == 0 )</div>
-<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span> {</div>
-<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> <span class="keywordflow">for</span> ( i = 0 ; i < nel ; i++ )</div>
-<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span> {</div>
-<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span> half_buffer -> data[i] = box_buffer -> data[i] ;</div>
-<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> }</div>
-<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> }</div>
-<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span> {</div>
-<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span> n_right = 0 ;</div>
-<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span> <span class="keywordflow">for</span> ( i = box_buffer -> n_elements - 1 ; </div>
-<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span> i >= box_buffer -> n_elements - nel ; i-- )</div>
-<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span> {</div>
-<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span> half_buffer -> data[n_right] = box_buffer -> data[i] ;</div>
-<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span> n_right++ ;</div>
-<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span> }</div>
-<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span> }</div>
-<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span> </div>
-<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span> xdat = (<span class="keywordtype">float</span> *) cpl_calloc( nel, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span> wdat = (<span class="keywordtype">float</span> *) cpl_calloc( nel, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span> mpar = (<span class="keywordtype">int</span> *) cpl_calloc( NPAR, <span class="keyword">sizeof</span> (<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span> </div>
-<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span> <span class="comment">/* set initial values for the fitting routine */</span></div>
-<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span> minval = FLT_MAX ;</div>
-<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> <span class="keywordflow">for</span> ( i = 0 ; i < nel ; i++ )</div>
-<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span> {</div>
-<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span> xdat[i] = i ;</div>
-<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> wdat[i] = 1.0 ;</div>
-<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span> <span class="keywordflow">if</span> ( half_buffer -> data[i] < minval )</div>
-<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> {</div>
-<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span> minval = half_buffer -> data[i] ;</div>
-<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span> }</div>
-<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span> <span class="keywordflow">if</span> ( half_buffer -> data[i] > maxval )</div>
-<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span> {</div>
-<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span> maxval = half_buffer -> data[i] ;</div>
-<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span> }</div>
-<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span> }</div>
-<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span> </div>
-<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span> fitpar[0] = minval ;</div>
-<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span> fitpar[1] = maxval ; </div>
-<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span> </div>
-<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span> <span class="comment">/* search for both positions of the half intensity </span></div>
-<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span> <span class="comment"> of the hat within the buffer */</span></div>
-<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span> init1 = -1 ; </div>
-<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span> <span class="keywordflow">for</span> ( i = 0 ; i < nel ; i++ )</div>
-<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span> {</div>
-<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span> <span class="keywordflow">if</span> ( half_buffer -> data[i] >= ( maxval + minval ) / 2. )</div>
-<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span> {</div>
-<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span> init1 = i ;</div>
-<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span> break ;</div>
-<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span> }</div>
-<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span> }</div>
-<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span> </div>
-<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span> <span class="comment">/*----------------------------------------------------------------</span></div>
-<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span> <span class="comment"> * if we have too few left background values (at the image edges)</span></div>
-<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span> <span class="comment"> * the left margin of the buffer to fit is filled with the minimal</span></div>
-<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span> <span class="comment"> * values in order to get a good fit</span></div>
-<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span> </div>
-<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span> edge_ind = 0 ;</div>
-<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span> <span class="keywordflow">if</span> ( init1 < 3 )</div>
-<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span> {</div>
-<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span> n_buf = half_buffer->n_elements + margin ;</div>
-<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span> in_buffer = sinfo_new_vector( n_buf ) ; </div>
-<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span> <span class="keywordflow">for</span> ( i = 0 ; i < margin ; i++ )</div>
-<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span> {</div>
-<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span> in_buffer -> data[i] = min ;</div>
-<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span> }</div>
-<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span> shift = 0 ;</div>
-<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span> <span class="keywordflow">for</span> ( i = margin ; i < n_buf ; i++ )</div>
-<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span> {</div>
-<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span> in_buffer -> data[i] = half_buffer -> data[shift] ;</div>
-<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span> shift++ ;</div>
-<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span> }</div>
-<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span> sinfo_new_destroy_vector ( half_buffer ) ;</div>
-<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span> half_buffer = sinfo_new_vector ( n_buf ) ;</div>
-<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_buf ; i++ )</div>
-<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span> {</div>
-<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span> half_buffer -> data[i] = in_buffer -> data[i] ;</div>
-<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span> }</div>
-<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span> edge_ind = 1 ;</div>
-<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span> init1 += margin ;</div>
-<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span> sinfo_new_destroy_vector ( in_buffer ) ;</div>
-<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span> }</div>
-<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span> </div>
-<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span> <span class="comment">/* determine the initial positions from the found values */</span></div>
-<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span> <span class="keywordflow">if</span> ( init1 != -1 )</div>
-<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span> {</div>
-<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span> fitpar[2] = (float)init1 ;</div>
-<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span> }</div>
-<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span> fitpar[3] = 1. ;</div>
-<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span> </div>
-<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span> <span class="keywordflow">for</span> ( i = 0 ; i < NPAR ; i++ )</div>
-<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span> {</div>
-<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span> mpar[i] = 1 ;</div>
-<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span> dervpar[i] = 0. ;</div>
-<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span> }</div>
-<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span> </div>
-<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span> xdim = XDIMA ;</div>
-<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span> ndat = nel ;</div>
-<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span> numpar = NPAR ;</div>
-<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span> tol = TOLA ;</div>
-<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span> lab = LABA ;</div>
-<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span> its = ITSA ;</div>
-<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span> </div>
-<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span> <span class="comment">/* finally, do the least squares fit over the buffer data */</span></div>
-<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span> <span class="keywordflow">if</span> ( 0 > ( iters = <a class="code" href="group__sinfo__boltzmann.html#ga7e03e34851f7c367ab3827c58e8c81c5" title="makes a least-squares fit of a function to a set of data points.">sinfo_new_lsqfit</a>( xdat, &xdim, </div>
-<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span> half_buffer -> data, </div>
-<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span> wdat, &ndat, fitpar,</div>
-<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span> dervpar, mpar, &numpar, </div>
-<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span> &tol, &its, &lab )) )</div>
-<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span> { </div>
-<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span> <span class="comment">/* if the fit doesn't succeed the initial values are taken */</span></div>
-<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">" least squares fit failed,"</span></div>
-<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span> <span class="stringliteral">" error no.: %d in slitlet: %d"</span>, iters, j) ;</div>
-<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span> fitpar[2] = (float)init1 ;</div>
-<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span> }</div>
-<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span> </div>
-<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span> pos = fitpar[2] ;</div>
-<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span> <span class="keywordflow">if</span> ( edge_ind == 1 )</div>
-<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span> {</div>
-<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span> pos -= (float)margin ;</div>
-<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span> }</div>
-<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span> </div>
-<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span> <span class="comment">/*---------------------------------------------------------------- </span></div>
-<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span> <span class="comment"> * now discern the left and the right sinfo_edge fit of the </span></div>
-<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span> <span class="comment"> * slitlets and associate the fit results with the absolute </span></div>
-<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span> <span class="comment"> * positions in the image consider the difference of the fitted </span></div>
-<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span> <span class="comment"> * slit position to the expected position and decide wether the </span></div>
-<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span> <span class="comment"> * fit is taken or the expected value is taken.</span></div>
-<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span> <span class="keywordflow">if</span> ( left_right == 0 )</div>
-<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span> {</div>
-<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span> <span class="comment">/* take care of the column position of the fit boxes to get </span></div>
-<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span> <span class="comment"> the absolute positions */</span></div>
-<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span> <span class="keywordflow">if</span> ( j == 0 )</div>
-<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span> {</div>
-<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span> <span class="keywordflow">if</span> ( fabs(pos - ((<span class="keywordtype">float</span>)edgeclean[0] - 1. - </div>
-<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span> (<span class="keywordtype">float</span>)slit_length)) < diff_tol )</div>
-<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span> {</div>
-<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span> slit_pos[0][0] = pos ;</div>
-<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span> }</div>
-<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span> {</div>
-<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"something wrong with fitted "</span></div>
-<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span> <span class="stringliteral">"left position of slitlet 0"</span>) ;</div>
-<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span> <span class="keywordflow">if</span> ( (<span class="keywordtype">float</span>) edgeclean[0] - 1. - </div>
-<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span> (<span class="keywordtype">float</span>)slit_length < 0. )</div>
-<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span> {</div>
-<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span> slit_pos[0][0] = 0. ;</div>
-<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span> }</div>
-<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span> {</div>
-<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span> slit_pos[0][0] = (float)edgeclean[0] - 1. - </div>
-<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span> (<span class="keywordtype">float</span>)slit_length ;</div>
-<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span> }</div>
-<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span> }</div>
-<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span> }</div>
-<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( j < k )</div>
-<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span> {</div>
-<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span> <span class="keywordflow">if</span> ( fabs( pos - (<span class="keywordtype">float</span>)margin ) < diff_tol )</div>
-<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span> {</div>
-<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span> slit_pos[j][0] = pos + (float)edgeclean[j-1] - </div>
-<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span> (<span class="keywordtype">float</span>)margin ;</div>
-<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span> }</div>
-<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span> {</div>
-<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"something wrong with fitted "</span></div>
-<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span> <span class="stringliteral">"left position of slitlet %d"</span>, j) ;</div>
-<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span> slit_pos[j][0] = (float)edgeclean[j-1] - 1. ;</div>
-<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span> }</div>
-<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span> }</div>
-<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span> {</div>
-<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span> <span class="keywordflow">if</span> ( fabs( pos - (<span class="keywordtype">float</span>)margin ) < diff_tol )</div>
-<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span> {</div>
-<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span> slit_pos[k][0] = pos + (float)edgeclean[k-1] - </div>
-<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span> (<span class="keywordtype">float</span>)margin ;</div>
-<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span> }</div>
-<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span> {</div>
-<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"something wrong with fitted "</span></div>
-<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span> <span class="stringliteral">"left position of slitlet %d"</span>, j) ;</div>
-<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span> slit_pos[k][0] = (float)edgeclean[k-1] - 1. ;</div>
-<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span> }</div>
-<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span> }</div>
-<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span> }</div>
-<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span> {</div>
-<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span> <span class="comment">/* take care of the column position of the fit boxes to </span></div>
-<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span> <span class="comment"> get the absolute positions */</span></div>
-<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span> <span class="keywordflow">if</span> ( j == 0 )</div>
-<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span> {</div>
-<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span> <span class="keywordflow">if</span> ( fabs( (<span class="keywordtype">float</span>)box_buffer->n_elements - pos - </div>
-<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span> (<span class="keywordtype">float</span>)edgeclean[0] ) < diff_tol )</div>
-<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span> {</div>
-<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span> slit_pos[0][1] = (float)(box_buffer->n_elements - 1) - </div>
-<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span> pos ;</div>
-<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span> }</div>
-<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span> {</div>
-<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"something wrong with fitted "</span></div>
-<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span> <span class="stringliteral">"right position of slitlet 0"</span>) ;</div>
-<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span> slit_pos[0][1] = (float)edgeclean[0] - 1. ;</div>
-<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span> }</div>
-<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span> }</div>
-<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( j < k )</div>
-<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span> {</div>
-<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span> <span class="keywordflow">if</span> ( fabs( (<span class="keywordtype">float</span>)box_buffer->n_elements - pos</div>
-<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span> + (<span class="keywordtype">float</span>)edgeclean[j-1] - (<span class="keywordtype">float</span>)margin - </div>
-<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span> (<span class="keywordtype">float</span>)edgeclean[j] ) < diff_tol )</div>
-<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span> {</div>
-<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span> slit_pos[j][1] = (float)(box_buffer->n_elements - 1) - </div>
-<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span> pos</div>
-<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span> + (float)edgeclean[j-1] - (<span class="keywordtype">float</span>)margin ;</div>
-<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span> }</div>
-<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span> {</div>
-<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"something wrong with fitted "</span></div>
-<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span> <span class="stringliteral">"right position of slitlet %d"</span>, j) ;</div>
-<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span> slit_pos[j][1] = (float)edgeclean[j] - 1. ;</div>
-<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span> }</div>
-<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span> }</div>
-<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span> {</div>
-<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span> <span class="keywordflow">if</span> ( edgeclean[k-1] + slit_length > ilx )</div>
-<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span> {</div>
-<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span> last_pos = (float)(ilx - 1) ;</div>
-<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span> }</div>
-<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span> {</div>
-<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span> last_pos = (float)(edgeclean[k-1] - 1 + slit_length) ;</div>
-<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span> }</div>
-<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span> <span class="keywordflow">if</span> ( fabs( (<span class="keywordtype">float</span>)(box_buffer->n_elements - 1) - pos</div>
-<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span> + (<span class="keywordtype">float</span>)edgeclean[k-1] - (float)margin - </div>
-<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span> last_pos ) < diff_tol )</div>
-<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span> {</div>
-<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span> slit_pos[k][1] = (float)(box_buffer->n_elements - 1) - </div>
-<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span> pos</div>
-<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span> + (float)edgeclean[k-1] - (<span class="keywordtype">float</span>)margin ;</div>
-<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span> }</div>
-<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span> {</div>
-<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"something wrong with fitted "</span></div>
-<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span> <span class="stringliteral">"right position of slitlet %d"</span>, j) ;</div>
-<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span> slit_pos[k][1] = last_pos ;</div>
-<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span> }</div>
-<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span> }</div>
-<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span> }</div>
-<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span> </div>
-<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span> sinfo_new_destroy_vector ( half_buffer ) ;</div>
-<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span> cpl_free( xdat ) ;</div>
-<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span> cpl_free( wdat ) ;</div>
-<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span> cpl_free( mpar ) ;</div>
-<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span> }</div>
-<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span> sinfo_new_destroy_vector ( box_buffer ) ;</div>
-<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span> }</div>
-<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span> </div>
-<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span> </div>
-<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span> cpl_free( sinfo_edge ) ;</div>
-<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span> cpl_free( pos_row ) ;</div>
-<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span> cpl_free( edgeclean ) ;</div>
-<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span> cpl_free( dummyedge ) ;</div>
-<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span> cpl_free( pos_rowclean ) ;</div>
-<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span> cpl_free( position);</div>
-<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span> }</div>
-<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span> </div>
-<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l01620"></a><span class="lineno"><a class="code" href="group__sinfo__boltzmann.html#gafe44b4032a5b85ff4b88bf7518793b21"> 1620</a></span> <a class="code" href="group__sinfo__boltzmann.html#gafe44b4032a5b85ff4b88bf7518793b21" title="fits the beginning and end position of the slitlets by using non-linear least square fitting of a Bol...">sinfo_new_fit_slits_boltz_single_line</a> ( cpl_image * lineImage, </div>
-<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span> <span class="keywordtype">float</span> ** slit_pos,</div>
-<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span> <span class="keywordtype">int</span> box_length,</div>
-<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span> <span class="keywordtype">float</span> y_box,</div>
-<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span> <span class="keywordtype">int</span> low_pos,</div>
-<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span> <span class="keywordtype">int</span> high_pos )</div>
-<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span> {</div>
-<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span> <span class="keywordtype">int</span>* position=NULL ;</div>
-<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span> <span class="keywordtype">int</span> * sinfo_edge, * edgeclean ;</div>
-<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span> <span class="keywordtype">int</span> * dummyedge ;</div>
-<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span> <span class="keywordtype">int</span> * pos_row, * pos_rowclean ;</div>
-<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span> Vector * box_buffer ;</div>
-<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span> Vector * half_buffer ;</div>
-<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span> Vector * in_buffer ;</div>
-<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span> <span class="keywordtype">int</span> found_row ;</div>
-<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span> <span class="keywordtype">int</span> row, col ;</div>
-<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span> <span class="keywordtype">int</span> i, j, k, m, ed ;</div>
-<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span> <span class="keywordtype">int</span> init1 ;</div>
-<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span> <span class="keywordtype">int</span> nel, n_right, left_right ;</div>
-<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span> <span class="keywordtype">int</span> n_buf, edge_ind, shift ;</div>
-<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span> <span class="keywordtype">int</span> slit_length ;</div>
-<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span> <span class="keywordtype">int</span> margin ;</div>
-<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span> <span class="keywordtype">int</span> iters, xdim, ndat ;</div>
-<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span> <span class="keywordtype">int</span> numpar, its ;</div>
-<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span> <span class="keywordtype">int</span> * mpar ;</div>
-<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span> <span class="keywordtype">float</span> * xdat, * wdat ;</div>
-<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span> <span class="keywordtype">float</span> tol, lab ;</div>
-<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span> <span class="keywordtype">float</span> fitpar[NPAR] ;</div>
-<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span> <span class="keywordtype">float</span> dervpar[NPAR] ;</div>
-<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span> <span class="keywordtype">float</span> minval, maxval ;</div>
-<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span> <span class="keywordtype">float</span> min ;</div>
-<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span> <span class="keywordtype">float</span> pos, last_pos ;</div>
-<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span> </div>
-<div class="line"><a name="l01656"></a><span class="lineno"> 1656</span> slit_length = SLITLENGTH ;</div>
-<div class="line"><a name="l01657"></a><span class="lineno"> 1657</span> </div>
-<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span> <span class="keywordflow">if</span> ( NULL == lineImage )</div>
-<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span> {</div>
-<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no line image given!"</span> ) ;</div>
-<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01662"></a><span class="lineno"> 1662</span> }</div>
-<div class="line"><a name="l01663"></a><span class="lineno"> 1663</span> </div>
-<div class="line"><a name="l01664"></a><span class="lineno"> 1664</span> <span class="keywordflow">if</span> ( NULL == slit_pos )</div>
-<div class="line"><a name="l01665"></a><span class="lineno"> 1665</span> {</div>
-<div class="line"><a name="l01666"></a><span class="lineno"> 1666</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no position array allocated!"</span> ) ;</div>
-<div class="line"><a name="l01667"></a><span class="lineno"> 1667</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span> }</div>
-<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span> </div>
-<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span> <span class="keywordflow">if</span> ( box_length < 4 ||</div>
-<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span> box_length > 2*slit_length )</div>
-<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span> {</div>
-<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong fitting box length given!"</span> ) ;</div>
-<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span> }</div>
-<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span> </div>
-<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span> <span class="keywordflow">if</span> ( y_box <= 0. || y_box > 6. )</div>
-<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span> {</div>
-<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong y box length given!"</span> ) ;</div>
-<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span> }</div>
-<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span> </div>
-<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span> ilx=cpl_image_get_size_x(lineImage);</div>
-<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span> ily=cpl_image_get_size_y(lineImage);</div>
-<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span> pidata=cpl_image_get_data_float(lineImage);</div>
-<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span> </div>
-<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span> <span class="keywordflow">if</span> ( low_pos >= high_pos || low_pos < 0 || </div>
-<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span> high_pos <= 0 || high_pos >= ilx )</div>
-<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span> {</div>
-<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong user given search positions!"</span> ) ;</div>
-<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span> }</div>
-<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span> </div>
-<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span> <span class="comment">/* allocate memory for the edges and the row position of the slitlets */</span></div>
-<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span> sinfo_edge = (<span class="keywordtype">int</span>*) cpl_calloc( ilx/2, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span> dummyedge = (<span class="keywordtype">int</span>*) cpl_calloc( ilx/2, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span> edgeclean = (<span class="keywordtype">int</span>*) cpl_calloc( ilx/2, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span> pos_row = (<span class="keywordtype">int</span>*) cpl_calloc( ilx/2, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span> pos_rowclean = (<span class="keywordtype">int</span>*) cpl_calloc( ilx/2, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span> </div>
-<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span> <span class="comment">/* now search for the maximum between the given positions for each col */</span></div>
-<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span> position=cpl_calloc(ilx,<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)); ;</div>
-<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span> </div>
-<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span> {</div>
-<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span> found_row = -1 ;</div>
-<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span> <span class="keywordflow">for</span> ( row = low_pos ; row <= high_pos ; row++ )</div>
-<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span> {</div>
-<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span> <span class="keywordflow">if</span> ( maxval < pidata[col+row*ilx] )</div>
-<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span> {</div>
-<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span> maxval = pidata[col+row*ilx] ;</div>
-<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span> found_row = row ;</div>
-<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span> }</div>
-<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span> }</div>
-<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span> <span class="keywordflow">if</span> ( maxval > -FLT_MAX && found_row > low_pos )</div>
-<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span> {</div>
-<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span> position[col] = found_row ;</div>
-<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span> }</div>
-<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span> {</div>
-<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span> position[col] = 0 ;</div>
-<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span> }</div>
-<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span> }</div>
-<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span> </div>
-<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span> <span class="comment">/* now find and store the raw sinfo_edge positions of the found slitlet */</span> </div>
-<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span> ed = 0 ;</div>
-<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span> <span class="keywordflow">for</span> ( col = 0 ; col < (ilx) - 1 ; col++ )</div>
-<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span> {</div>
-<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span> <span class="keywordflow">if</span> ( position[col] > 0 && position[col+1] > 0 &&</div>
-<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span> abs(position[col+1] - position[col]) > 10 ) </div>
-<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span> {</div>
-<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span> sinfo_edge[ed] = col ; </div>
-<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span> pos_row[ed] = position[col] ;</div>
-<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span> ed++ ;</div>
-<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span> }</div>
-<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span> </div>
-<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span> }</div>
-<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span> <span class="keywordflow">if</span> (ed <= 1)</div>
-<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span> {</div>
-<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no slitlets found!"</span> ) ;</div>
-<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span> cpl_free( sinfo_edge ) ;</div>
-<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span> cpl_free( pos_row ) ;</div>
-<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span> cpl_free( edgeclean ) ;</div>
-<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span> cpl_free( dummyedge ) ;</div>
-<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span> cpl_free( pos_rowclean ) ;</div>
-<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span> }</div>
-<div class="line"><a name="l01749"></a><span class="lineno"> 1749</span> </div>
-<div class="line"><a name="l01750"></a><span class="lineno"> 1750</span> <span class="comment">/* now find the clean sinfo_edge and row positions of the slitlets */</span></div>
-<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span> <span class="keywordflow">for</span> ( i = 1 ; i <= ed ; i ++ )</div>
-<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span> {</div>
-<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span> <span class="keywordflow">if</span> ( i == ed )</div>
-<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span> {</div>
-<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span> <span class="keywordflow">if</span> ( (sinfo_edge[i-1] - sinfo_edge[i-2]) < </div>
-<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span> slit_length - SLIT_LEN_ERR ||</div>
-<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span> (sinfo_edge[i-1] - sinfo_edge[i-2]) > </div>
-<div class="line"><a name="l01758"></a><span class="lineno"> 1758</span> slit_length + SLIT_LEN_ERR )</div>
-<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span> {</div>
-<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span> dummyedge[i-1] = -1 ;</div>
-<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span> }</div>
-<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span> }</div>
-<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span> <span class="keywordflow">if</span> (dummyedge[i-1] != -1)</div>
-<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span> {</div>
-<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span> dummyedge[i-1] = sinfo_edge[i-1] ;</div>
-<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span> }</div>
-<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span> {</div>
-<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span> continue ;</div>
-<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span> }</div>
-<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span> <span class="keywordflow">if</span> ( i < ed )</div>
-<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span> {</div>
-<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span> <span class="keywordflow">if</span> ( (sinfo_edge[i] - sinfo_edge[i-1]) < </div>
-<div class="line"><a name="l01774"></a><span class="lineno"> 1774</span> slit_length - SLIT_LEN_ERR ||</div>
-<div class="line"><a name="l01775"></a><span class="lineno"> 1775</span> (sinfo_edge[i] - sinfo_edge[i-1]) > </div>
-<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span> slit_length + SLIT_LEN_ERR )</div>
-<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span> {</div>
-<div class="line"><a name="l01778"></a><span class="lineno"> 1778</span> dummyedge[i] = -1 ;</div>
-<div class="line"><a name="l01779"></a><span class="lineno"> 1779</span> }</div>
-<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span> }</div>
-<div class="line"><a name="l01781"></a><span class="lineno"> 1781</span> <span class="keywordflow">if</span> ( i+1 < ed && dummyedge[i] != -1 )</div>
-<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span> {</div>
-<div class="line"><a name="l01783"></a><span class="lineno"> 1783</span> <span class="keywordflow">if</span> ( (sinfo_edge[i+1] - sinfo_edge[i]) < </div>
-<div class="line"><a name="l01784"></a><span class="lineno"> 1784</span> slit_length - SLIT_LEN_ERR ||</div>
-<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span> (sinfo_edge[i+1] - sinfo_edge[i]) > </div>
-<div class="line"><a name="l01786"></a><span class="lineno"> 1786</span> slit_length + SLIT_LEN_ERR )</div>
-<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span> {</div>
-<div class="line"><a name="l01788"></a><span class="lineno"> 1788</span> dummyedge[i+1] = -1 ; </div>
-<div class="line"><a name="l01789"></a><span class="lineno"> 1789</span> }</div>
-<div class="line"><a name="l01790"></a><span class="lineno"> 1790</span> }</div>
-<div class="line"><a name="l01791"></a><span class="lineno"> 1791</span> }</div>
-<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span> </div>
-<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span> k = 0 ;</div>
-<div class="line"><a name="l01794"></a><span class="lineno"> 1794</span> <span class="keywordflow">for</span> ( i = 0 ; i < ed ; i++ )</div>
-<div class="line"><a name="l01795"></a><span class="lineno"> 1795</span> {</div>
-<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span> <span class="keywordflow">if</span> ( dummyedge[i] != -1 && dummyedge[i] != 0 )</div>
-<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span> {</div>
-<div class="line"><a name="l01798"></a><span class="lineno"> 1798</span> edgeclean[k] = dummyedge[i] ;</div>
-<div class="line"><a name="l01799"></a><span class="lineno"> 1799</span> pos_rowclean[k] = pos_row[i] ;</div>
-<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span> k++ ;</div>
-<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span> <span class="keywordflow">if</span>( edgeclean[k-1] > (ilx - slit_length - 2*SLIT_LEN_ERR ) )</div>
-<div class="line"><a name="l01802"></a><span class="lineno"> 1802</span> {</div>
-<div class="line"><a name="l01803"></a><span class="lineno"> 1803</span> pos_rowclean[k] = pos_row[ed] ;</div>
-<div class="line"><a name="l01804"></a><span class="lineno"> 1804</span> }</div>
-<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span> }</div>
-<div class="line"><a name="l01806"></a><span class="lineno"> 1806</span> }</div>
-<div class="line"><a name="l01807"></a><span class="lineno"> 1807</span> </div>
-<div class="line"><a name="l01808"></a><span class="lineno"> 1808</span> <span class="comment">/* determine the margins of the fitting box outside the slitlets */</span></div>
-<div class="line"><a name="l01809"></a><span class="lineno"> 1809</span> margin = box_length / 2 ;</div>
-<div class="line"><a name="l01810"></a><span class="lineno"> 1810</span> </div>
-<div class="line"><a name="l01811"></a><span class="lineno"> 1811</span> <span class="comment">/* ------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01812"></a><span class="lineno"> 1812</span> <span class="comment"> * now go through the slitlets, search along each column within a box with </span></div>
-<div class="line"><a name="l01813"></a><span class="lineno"> 1813</span> <span class="comment"> * half width y_box the maximum value and store these found values in a </span></div>
-<div class="line"><a name="l01814"></a><span class="lineno"> 1814</span> <span class="comment"> * buffer</span></div>
-<div class="line"><a name="l01815"></a><span class="lineno"> 1815</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01816"></a><span class="lineno"> 1816</span> <span class="keywordflow">for</span> ( j = 0 ; j <= k ; j++ )</div>
-<div class="line"><a name="l01817"></a><span class="lineno"> 1817</span> {</div>
-<div class="line"><a name="l01818"></a><span class="lineno"> 1818</span> m = 0 ;</div>
-<div class="line"><a name="l01819"></a><span class="lineno"> 1819</span> <span class="keywordflow">if</span> ( j == 0 )</div>
-<div class="line"><a name="l01820"></a><span class="lineno"> 1820</span> {</div>
-<div class="line"><a name="l01821"></a><span class="lineno"> 1821</span> box_buffer = sinfo_new_vector( edgeclean[0] + margin ) ;</div>
-<div class="line"><a name="l01822"></a><span class="lineno"> 1822</span> <span class="keywordflow">for</span>( col = 0 ; col < edgeclean[0] + margin ; col++ )</div>
-<div class="line"><a name="l01823"></a><span class="lineno"> 1823</span> {</div>
-<div class="line"><a name="l01824"></a><span class="lineno"> 1824</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l01825"></a><span class="lineno"> 1825</span> <span class="keywordflow">for</span> ( row = pos_rowclean[0] - sinfo_new_nint(y_box) ; </div>
-<div class="line"><a name="l01826"></a><span class="lineno"> 1826</span> row <= pos_rowclean[0] + sinfo_new_nint(y_box) ; row++ )</div>
-<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span> {</div>
-<div class="line"><a name="l01828"></a><span class="lineno"> 1828</span> <span class="keywordflow">if</span> ( maxval < pidata[col + ilx*row] )</div>
-<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span> {</div>
-<div class="line"><a name="l01830"></a><span class="lineno"> 1830</span> maxval = pidata[col + ilx*row] ;</div>
-<div class="line"><a name="l01831"></a><span class="lineno"> 1831</span> }</div>
-<div class="line"><a name="l01832"></a><span class="lineno"> 1832</span> }</div>
-<div class="line"><a name="l01833"></a><span class="lineno"> 1833</span> box_buffer->data[m] = maxval ;</div>
-<div class="line"><a name="l01834"></a><span class="lineno"> 1834</span> m++ ;</div>
-<div class="line"><a name="l01835"></a><span class="lineno"> 1835</span> }</div>
-<div class="line"><a name="l01836"></a><span class="lineno"> 1836</span> }</div>
-<div class="line"><a name="l01837"></a><span class="lineno"> 1837</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( j < k )</div>
-<div class="line"><a name="l01838"></a><span class="lineno"> 1838</span> {</div>
-<div class="line"><a name="l01839"></a><span class="lineno"> 1839</span> box_buffer = sinfo_new_vector( edgeclean[j] - </div>
-<div class="line"><a name="l01840"></a><span class="lineno"> 1840</span> edgeclean[j-1] + 2*margin ) ;</div>
-<div class="line"><a name="l01841"></a><span class="lineno"> 1841</span> <span class="keywordflow">for</span> ( col = edgeclean[j - 1] - margin ; </div>
-<div class="line"><a name="l01842"></a><span class="lineno"> 1842</span> col < edgeclean[j] + margin ; col++ )</div>
-<div class="line"><a name="l01843"></a><span class="lineno"> 1843</span> {</div>
-<div class="line"><a name="l01844"></a><span class="lineno"> 1844</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l01845"></a><span class="lineno"> 1845</span> <span class="keywordflow">for</span> ( row = pos_rowclean[j] - sinfo_new_nint(y_box) ; </div>
-<div class="line"><a name="l01846"></a><span class="lineno"> 1846</span> row <= pos_rowclean[j] + sinfo_new_nint(y_box) ; row++ )</div>
-<div class="line"><a name="l01847"></a><span class="lineno"> 1847</span> {</div>
-<div class="line"><a name="l01848"></a><span class="lineno"> 1848</span> <span class="keywordflow">if</span> ( maxval < pidata[col + ilx*row] )</div>
-<div class="line"><a name="l01849"></a><span class="lineno"> 1849</span> {</div>
-<div class="line"><a name="l01850"></a><span class="lineno"> 1850</span> maxval = pidata[col + ilx*row] ;</div>
-<div class="line"><a name="l01851"></a><span class="lineno"> 1851</span> }</div>
-<div class="line"><a name="l01852"></a><span class="lineno"> 1852</span> }</div>
-<div class="line"><a name="l01853"></a><span class="lineno"> 1853</span> box_buffer->data[m] = maxval ;</div>
-<div class="line"><a name="l01854"></a><span class="lineno"> 1854</span> m++ ;</div>
-<div class="line"><a name="l01855"></a><span class="lineno"> 1855</span> }</div>
-<div class="line"><a name="l01856"></a><span class="lineno"> 1856</span> }</div>
-<div class="line"><a name="l01857"></a><span class="lineno"> 1857</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l01858"></a><span class="lineno"> 1858</span> {</div>
-<div class="line"><a name="l01859"></a><span class="lineno"> 1859</span> box_buffer = sinfo_new_vector( ilx - edgeclean[k-1] + margin ) ;</div>
-<div class="line"><a name="l01860"></a><span class="lineno"> 1860</span> <span class="keywordflow">for</span> ( col = edgeclean[k - 1] - margin ; col < ilx ; col++ )</div>
-<div class="line"><a name="l01861"></a><span class="lineno"> 1861</span> {</div>
-<div class="line"><a name="l01862"></a><span class="lineno"> 1862</span> <span class="keywordflow">if</span> ( col < 0 )</div>
-<div class="line"><a name="l01863"></a><span class="lineno"> 1863</span> {</div>
-<div class="line"><a name="l01864"></a><span class="lineno"> 1864</span> col = 0 ;</div>
-<div class="line"><a name="l01865"></a><span class="lineno"> 1865</span> }</div>
-<div class="line"><a name="l01866"></a><span class="lineno"> 1866</span> </div>
-<div class="line"><a name="l01867"></a><span class="lineno"> 1867</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l01868"></a><span class="lineno"> 1868</span> <span class="keywordflow">for</span> ( row = pos_rowclean[k] - sinfo_new_nint(y_box) ; </div>
-<div class="line"><a name="l01869"></a><span class="lineno"> 1869</span> row <= pos_rowclean[k] + sinfo_new_nint(y_box) ; row++ )</div>
-<div class="line"><a name="l01870"></a><span class="lineno"> 1870</span> {</div>
-<div class="line"><a name="l01871"></a><span class="lineno"> 1871</span> <span class="keywordflow">if</span> ( row < 0 )</div>
-<div class="line"><a name="l01872"></a><span class="lineno"> 1872</span> {</div>
-<div class="line"><a name="l01873"></a><span class="lineno"> 1873</span> continue ;</div>
-<div class="line"><a name="l01874"></a><span class="lineno"> 1874</span> }</div>
-<div class="line"><a name="l01875"></a><span class="lineno"> 1875</span> <span class="keywordflow">if</span> ( maxval < pidata[col + row * ilx] )</div>
-<div class="line"><a name="l01876"></a><span class="lineno"> 1876</span> {</div>
-<div class="line"><a name="l01877"></a><span class="lineno"> 1877</span> maxval = pidata[col + row * ilx] ;</div>
-<div class="line"><a name="l01878"></a><span class="lineno"> 1878</span> }</div>
-<div class="line"><a name="l01879"></a><span class="lineno"> 1879</span> }</div>
-<div class="line"><a name="l01880"></a><span class="lineno"> 1880</span> box_buffer->data[m] = maxval ;</div>
-<div class="line"><a name="l01881"></a><span class="lineno"> 1881</span> m++ ;</div>
-<div class="line"><a name="l01882"></a><span class="lineno"> 1882</span> }</div>
-<div class="line"><a name="l01883"></a><span class="lineno"> 1883</span> }</div>
-<div class="line"><a name="l01884"></a><span class="lineno"> 1884</span> </div>
-<div class="line"><a name="l01885"></a><span class="lineno"> 1885</span> <span class="comment">/* determine the minimum value in the box to get background1 </span></div>
-<div class="line"><a name="l01886"></a><span class="lineno"> 1886</span> <span class="comment"> value for the sinfo_edge slitlets */</span></div>
-<div class="line"><a name="l01887"></a><span class="lineno"> 1887</span> min = FLT_MAX ;</div>
-<div class="line"><a name="l01888"></a><span class="lineno"> 1888</span> <span class="keywordflow">for</span> ( i = 0 ; i < box_buffer->n_elements ; i++ )</div>
-<div class="line"><a name="l01889"></a><span class="lineno"> 1889</span> {</div>
-<div class="line"><a name="l01890"></a><span class="lineno"> 1890</span> <span class="keywordflow">if</span> ( box_buffer -> data[i] < min )</div>
-<div class="line"><a name="l01891"></a><span class="lineno"> 1891</span> {</div>
-<div class="line"><a name="l01892"></a><span class="lineno"> 1892</span> min = box_buffer -> data[i] ;</div>
-<div class="line"><a name="l01893"></a><span class="lineno"> 1893</span> }</div>
-<div class="line"><a name="l01894"></a><span class="lineno"> 1894</span> }</div>
-<div class="line"><a name="l01895"></a><span class="lineno"> 1895</span> </div>
-<div class="line"><a name="l01896"></a><span class="lineno"> 1896</span> <span class="keywordflow">for</span> ( left_right = 0 ; left_right <= 1 ; left_right++ )</div>
-<div class="line"><a name="l01897"></a><span class="lineno"> 1897</span> { </div>
-<div class="line"><a name="l01898"></a><span class="lineno"> 1898</span> nel = 0 ;</div>
-<div class="line"><a name="l01899"></a><span class="lineno"> 1899</span> <span class="keywordflow">if</span> ( left_right == 0 )</div>
-<div class="line"><a name="l01900"></a><span class="lineno"> 1900</span> {</div>
-<div class="line"><a name="l01901"></a><span class="lineno"> 1901</span> nel = box_buffer -> n_elements / 2 ;</div>
-<div class="line"><a name="l01902"></a><span class="lineno"> 1902</span> }</div>
-<div class="line"><a name="l01903"></a><span class="lineno"> 1903</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01904"></a><span class="lineno"> 1904</span> {</div>
-<div class="line"><a name="l01905"></a><span class="lineno"> 1905</span> <span class="keywordflow">if</span> ( box_buffer -> n_elements % 2 == 0 )</div>
-<div class="line"><a name="l01906"></a><span class="lineno"> 1906</span> {</div>
-<div class="line"><a name="l01907"></a><span class="lineno"> 1907</span> nel = box_buffer -> n_elements / 2 ;</div>
-<div class="line"><a name="l01908"></a><span class="lineno"> 1908</span> }</div>
-<div class="line"><a name="l01909"></a><span class="lineno"> 1909</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01910"></a><span class="lineno"> 1910</span> {</div>
-<div class="line"><a name="l01911"></a><span class="lineno"> 1911</span> nel = box_buffer -> n_elements / 2 + 1 ;</div>
-<div class="line"><a name="l01912"></a><span class="lineno"> 1912</span> }</div>
-<div class="line"><a name="l01913"></a><span class="lineno"> 1913</span> }</div>
-<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span> </div>
-<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span> <span class="comment">/* now split the buffer in the midth in a left and </span></div>
-<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span> <span class="comment"> right part for fitting */</span></div>
-<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span> half_buffer = sinfo_new_vector( nel ) ;</div>
-<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span> <span class="keywordflow">if</span> ( left_right == 0 )</div>
-<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span> {</div>
-<div class="line"><a name="l01920"></a><span class="lineno"> 1920</span> <span class="keywordflow">for</span> ( i = 0 ; i < nel ; i++ )</div>
-<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span> {</div>
-<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span> half_buffer -> data[i] = box_buffer -> data[i] ;</div>
-<div class="line"><a name="l01923"></a><span class="lineno"> 1923</span> }</div>
-<div class="line"><a name="l01924"></a><span class="lineno"> 1924</span> }</div>
-<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span> {</div>
-<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span> n_right = 0 ;</div>
-<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span> <span class="keywordflow">for</span> ( i = box_buffer -> n_elements - 1 ; </div>
-<div class="line"><a name="l01929"></a><span class="lineno"> 1929</span> i >= box_buffer -> n_elements - nel ; i-- )</div>
-<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span> {</div>
-<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span> half_buffer -> data[n_right] = box_buffer -> data[i] ;</div>
-<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span> n_right++ ;</div>
-<div class="line"><a name="l01933"></a><span class="lineno"> 1933</span> }</div>
-<div class="line"><a name="l01934"></a><span class="lineno"> 1934</span> }</div>
-<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span> </div>
-<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span> xdat = (<span class="keywordtype">float</span> *) cpl_calloc( nel, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span> wdat = (<span class="keywordtype">float</span> *) cpl_calloc( nel, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l01938"></a><span class="lineno"> 1938</span> mpar = (<span class="keywordtype">int</span> *) cpl_calloc( NPAR, <span class="keyword">sizeof</span> (<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l01939"></a><span class="lineno"> 1939</span> </div>
-<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span> <span class="comment">/* set initial values for the fitting routine */</span></div>
-<div class="line"><a name="l01941"></a><span class="lineno"> 1941</span> minval = FLT_MAX ;</div>
-<div class="line"><a name="l01942"></a><span class="lineno"> 1942</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span> <span class="keywordflow">for</span> ( i = 0 ; i < nel ; i++ )</div>
-<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span> {</div>
-<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span> xdat[i] = i ;</div>
-<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span> wdat[i] = 1.0 ;</div>
-<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span> <span class="keywordflow">if</span> ( half_buffer -> data[i] < minval )</div>
-<div class="line"><a name="l01948"></a><span class="lineno"> 1948</span> {</div>
-<div class="line"><a name="l01949"></a><span class="lineno"> 1949</span> minval = half_buffer -> data[i] ;</div>
-<div class="line"><a name="l01950"></a><span class="lineno"> 1950</span> }</div>
-<div class="line"><a name="l01951"></a><span class="lineno"> 1951</span> <span class="keywordflow">if</span> ( half_buffer -> data[i] > maxval )</div>
-<div class="line"><a name="l01952"></a><span class="lineno"> 1952</span> {</div>
-<div class="line"><a name="l01953"></a><span class="lineno"> 1953</span> maxval = half_buffer -> data[i] ;</div>
-<div class="line"><a name="l01954"></a><span class="lineno"> 1954</span> }</div>
-<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span> }</div>
-<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span> fitpar[0] = minval ;</div>
-<div class="line"><a name="l01957"></a><span class="lineno"> 1957</span> fitpar[1] = maxval ; </div>
-<div class="line"><a name="l01958"></a><span class="lineno"> 1958</span> </div>
-<div class="line"><a name="l01959"></a><span class="lineno"> 1959</span> <span class="comment">/* search for both positions of the half intensity of </span></div>
-<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span> <span class="comment"> the hat within the buffer */</span></div>
-<div class="line"><a name="l01961"></a><span class="lineno"> 1961</span> init1 = -1 ; </div>
-<div class="line"><a name="l01962"></a><span class="lineno"> 1962</span> <span class="keywordflow">for</span> ( i = 0 ; i < nel ; i++ )</div>
-<div class="line"><a name="l01963"></a><span class="lineno"> 1963</span> {</div>
-<div class="line"><a name="l01964"></a><span class="lineno"> 1964</span> <span class="keywordflow">if</span> ( half_buffer -> data[i] >= ( maxval + minval ) / 2. )</div>
-<div class="line"><a name="l01965"></a><span class="lineno"> 1965</span> {</div>
-<div class="line"><a name="l01966"></a><span class="lineno"> 1966</span> init1 = i ;</div>
-<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span> break ;</div>
-<div class="line"><a name="l01968"></a><span class="lineno"> 1968</span> }</div>
-<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span> }</div>
-<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span> </div>
-<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span> <span class="comment">/*---------------------------------------------------------------</span></div>
-<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span> <span class="comment"> * if we have too few left background values (at the image edges)</span></div>
-<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span> <span class="comment"> * the left margin of the buffer to fit is filled with the minimal</span></div>
-<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span> <span class="comment"> * values in order to get a good fit</span></div>
-<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span> </div>
-<div class="line"><a name="l01977"></a><span class="lineno"> 1977</span> edge_ind = 0 ;</div>
-<div class="line"><a name="l01978"></a><span class="lineno"> 1978</span> <span class="keywordflow">if</span> ( init1 < 3 )</div>
-<div class="line"><a name="l01979"></a><span class="lineno"> 1979</span> {</div>
-<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span> n_buf = half_buffer->n_elements + margin ;</div>
-<div class="line"><a name="l01981"></a><span class="lineno"> 1981</span> in_buffer = sinfo_new_vector( n_buf ) ; </div>
-<div class="line"><a name="l01982"></a><span class="lineno"> 1982</span> <span class="keywordflow">for</span> ( i = 0 ; i < margin ; i++ )</div>
-<div class="line"><a name="l01983"></a><span class="lineno"> 1983</span> {</div>
-<div class="line"><a name="l01984"></a><span class="lineno"> 1984</span> in_buffer -> data[i] = min ;</div>
-<div class="line"><a name="l01985"></a><span class="lineno"> 1985</span> }</div>
-<div class="line"><a name="l01986"></a><span class="lineno"> 1986</span> shift = 0 ;</div>
-<div class="line"><a name="l01987"></a><span class="lineno"> 1987</span> <span class="keywordflow">for</span> ( i = margin ; i < n_buf ; i++ )</div>
-<div class="line"><a name="l01988"></a><span class="lineno"> 1988</span> {</div>
-<div class="line"><a name="l01989"></a><span class="lineno"> 1989</span> in_buffer -> data[i] = half_buffer -> data[shift] ;</div>
-<div class="line"><a name="l01990"></a><span class="lineno"> 1990</span> shift++ ;</div>
-<div class="line"><a name="l01991"></a><span class="lineno"> 1991</span> }</div>
-<div class="line"><a name="l01992"></a><span class="lineno"> 1992</span> sinfo_new_destroy_vector ( half_buffer ) ;</div>
-<div class="line"><a name="l01993"></a><span class="lineno"> 1993</span> half_buffer = sinfo_new_vector ( n_buf ) ;</div>
-<div class="line"><a name="l01994"></a><span class="lineno"> 1994</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_buf ; i++ )</div>
-<div class="line"><a name="l01995"></a><span class="lineno"> 1995</span> {</div>
-<div class="line"><a name="l01996"></a><span class="lineno"> 1996</span> half_buffer -> data[i] = in_buffer -> data[i] ;</div>
-<div class="line"><a name="l01997"></a><span class="lineno"> 1997</span> }</div>
-<div class="line"><a name="l01998"></a><span class="lineno"> 1998</span> edge_ind = 1 ;</div>
-<div class="line"><a name="l01999"></a><span class="lineno"> 1999</span> init1 += margin ;</div>
-<div class="line"><a name="l02000"></a><span class="lineno"> 2000</span> sinfo_new_destroy_vector ( in_buffer ) ;</div>
-<div class="line"><a name="l02001"></a><span class="lineno"> 2001</span> }</div>
-<div class="line"><a name="l02002"></a><span class="lineno"> 2002</span> </div>
-<div class="line"><a name="l02003"></a><span class="lineno"> 2003</span> <span class="comment">/* determine the initial positions from the found values */</span></div>
-<div class="line"><a name="l02004"></a><span class="lineno"> 2004</span> <span class="keywordflow">if</span> ( init1 != -1 )</div>
-<div class="line"><a name="l02005"></a><span class="lineno"> 2005</span> {</div>
-<div class="line"><a name="l02006"></a><span class="lineno"> 2006</span> fitpar[2] = (float)init1 ;</div>
-<div class="line"><a name="l02007"></a><span class="lineno"> 2007</span> }</div>
-<div class="line"><a name="l02008"></a><span class="lineno"> 2008</span> fitpar[3] = 1. ;</div>
-<div class="line"><a name="l02009"></a><span class="lineno"> 2009</span> </div>
-<div class="line"><a name="l02010"></a><span class="lineno"> 2010</span> <span class="keywordflow">for</span> ( i = 0 ; i < NPAR ; i++ )</div>
-<div class="line"><a name="l02011"></a><span class="lineno"> 2011</span> {</div>
-<div class="line"><a name="l02012"></a><span class="lineno"> 2012</span> mpar[i] = 1 ;</div>
-<div class="line"><a name="l02013"></a><span class="lineno"> 2013</span> dervpar[i] = 0. ;</div>
-<div class="line"><a name="l02014"></a><span class="lineno"> 2014</span> }</div>
-<div class="line"><a name="l02015"></a><span class="lineno"> 2015</span> </div>
-<div class="line"><a name="l02016"></a><span class="lineno"> 2016</span> xdim = XDIMA ;</div>
-<div class="line"><a name="l02017"></a><span class="lineno"> 2017</span> ndat = nel ;</div>
-<div class="line"><a name="l02018"></a><span class="lineno"> 2018</span> numpar = NPAR ;</div>
-<div class="line"><a name="l02019"></a><span class="lineno"> 2019</span> tol = TOLA ;</div>
-<div class="line"><a name="l02020"></a><span class="lineno"> 2020</span> lab = LABA ;</div>
-<div class="line"><a name="l02021"></a><span class="lineno"> 2021</span> its = ITSA ;</div>
-<div class="line"><a name="l02022"></a><span class="lineno"> 2022</span> </div>
-<div class="line"><a name="l02023"></a><span class="lineno"> 2023</span> <span class="comment">/* finally, do the least squares fit over the buffer data */</span></div>
-<div class="line"><a name="l02024"></a><span class="lineno"> 2024</span> <span class="keywordflow">if</span> ( 0 > ( iters = <a class="code" href="group__sinfo__boltzmann.html#ga7e03e34851f7c367ab3827c58e8c81c5" title="makes a least-squares fit of a function to a set of data points.">sinfo_new_lsqfit</a>( xdat, &xdim, </div>
-<div class="line"><a name="l02025"></a><span class="lineno"> 2025</span> half_buffer -> data, </div>
-<div class="line"><a name="l02026"></a><span class="lineno"> 2026</span> wdat, &ndat, fitpar,</div>
-<div class="line"><a name="l02027"></a><span class="lineno"> 2027</span> dervpar, mpar, &numpar, </div>
-<div class="line"><a name="l02028"></a><span class="lineno"> 2028</span> &tol, &its, &lab )) )</div>
-<div class="line"><a name="l02029"></a><span class="lineno"> 2029</span> { </div>
-<div class="line"><a name="l02030"></a><span class="lineno"> 2030</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">" least squares fit failed, error "</span></div>
-<div class="line"><a name="l02031"></a><span class="lineno"> 2031</span> <span class="stringliteral">"no.: %d in slitlet: %d"</span>, iters, j) ;</div>
-<div class="line"><a name="l02032"></a><span class="lineno"> 2032</span> fitpar[2] = 0. ;</div>
-<div class="line"><a name="l02033"></a><span class="lineno"> 2033</span> }</div>
-<div class="line"><a name="l02034"></a><span class="lineno"> 2034</span> <span class="keywordflow">if</span> ( fitpar[3] <=0. )</div>
-<div class="line"><a name="l02035"></a><span class="lineno"> 2035</span> { </div>
-<div class="line"><a name="l02036"></a><span class="lineno"> 2036</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">" fit failed due to negative width"</span></div>
-<div class="line"><a name="l02037"></a><span class="lineno"> 2037</span> <span class="stringliteral">" of boltzmann function in slitlet: %d"</span>, j) ;</div>
-<div class="line"><a name="l02038"></a><span class="lineno"> 2038</span> fitpar[2] = 0. ;</div>
-<div class="line"><a name="l02039"></a><span class="lineno"> 2039</span> }</div>
-<div class="line"><a name="l02040"></a><span class="lineno"> 2040</span> </div>
-<div class="line"><a name="l02041"></a><span class="lineno"> 2041</span> pos = fitpar[2] ;</div>
-<div class="line"><a name="l02042"></a><span class="lineno"> 2042</span> <span class="keywordflow">if</span> ( edge_ind == 1 )</div>
-<div class="line"><a name="l02043"></a><span class="lineno"> 2043</span> {</div>
-<div class="line"><a name="l02044"></a><span class="lineno"> 2044</span> pos -= (float)margin ;</div>
-<div class="line"><a name="l02045"></a><span class="lineno"> 2045</span> }</div>
-<div class="line"><a name="l02046"></a><span class="lineno"> 2046</span> </div>
-<div class="line"><a name="l02047"></a><span class="lineno"> 2047</span> <span class="comment">/*------------------------------------------------------------- </span></div>
-<div class="line"><a name="l02048"></a><span class="lineno"> 2048</span> <span class="comment"> * now discern the left and the right sinfo_edge fit of the </span></div>
-<div class="line"><a name="l02049"></a><span class="lineno"> 2049</span> <span class="comment"> * slitlets and associate the fit results with the absolute </span></div>
-<div class="line"><a name="l02050"></a><span class="lineno"> 2050</span> <span class="comment"> * positions in the image consider the difference of the fitted </span></div>
-<div class="line"><a name="l02051"></a><span class="lineno"> 2051</span> <span class="comment"> * slit position to the expected position and decide wether the </span></div>
-<div class="line"><a name="l02052"></a><span class="lineno"> 2052</span> <span class="comment"> * fit is taken or the expected value is taken.</span></div>
-<div class="line"><a name="l02053"></a><span class="lineno"> 2053</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02054"></a><span class="lineno"> 2054</span> <span class="keywordflow">if</span> ( left_right == 0 )</div>
-<div class="line"><a name="l02055"></a><span class="lineno"> 2055</span> {</div>
-<div class="line"><a name="l02056"></a><span class="lineno"> 2056</span> <span class="comment">/* take care of the column position of the fit boxes to </span></div>
-<div class="line"><a name="l02057"></a><span class="lineno"> 2057</span> <span class="comment"> get the absolute positions */</span></div>
-<div class="line"><a name="l02058"></a><span class="lineno"> 2058</span> <span class="keywordflow">if</span> ( j == 0 )</div>
-<div class="line"><a name="l02059"></a><span class="lineno"> 2059</span> {</div>
-<div class="line"><a name="l02060"></a><span class="lineno"> 2060</span> slit_pos[0][0] = pos ;</div>
-<div class="line"><a name="l02061"></a><span class="lineno"> 2061</span> <span class="keywordflow">if</span> ( slit_pos[0][0] - (<span class="keywordtype">int</span>) slit_pos[0][0] == 0.)</div>
-<div class="line"><a name="l02062"></a><span class="lineno"> 2062</span> {</div>
-<div class="line"><a name="l02063"></a><span class="lineno"> 2063</span> slit_pos[0][0] = 0. ;</div>
-<div class="line"><a name="l02064"></a><span class="lineno"> 2064</span> }</div>
-<div class="line"><a name="l02065"></a><span class="lineno"> 2065</span> }</div>
-<div class="line"><a name="l02066"></a><span class="lineno"> 2066</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( j < k )</div>
-<div class="line"><a name="l02067"></a><span class="lineno"> 2067</span> {</div>
-<div class="line"><a name="l02068"></a><span class="lineno"> 2068</span> slit_pos[j][0] = pos + (float)edgeclean[j-1] - </div>
-<div class="line"><a name="l02069"></a><span class="lineno"> 2069</span> (<span class="keywordtype">float</span>)margin ;</div>
-<div class="line"><a name="l02070"></a><span class="lineno"> 2070</span> <span class="keywordflow">if</span> ( slit_pos[j][0] - (<span class="keywordtype">int</span>) slit_pos[j][0] == 0.)</div>
-<div class="line"><a name="l02071"></a><span class="lineno"> 2071</span> {</div>
-<div class="line"><a name="l02072"></a><span class="lineno"> 2072</span> slit_pos[j][0] = 0. ;</div>
-<div class="line"><a name="l02073"></a><span class="lineno"> 2073</span> }</div>
-<div class="line"><a name="l02074"></a><span class="lineno"> 2074</span> }</div>
-<div class="line"><a name="l02075"></a><span class="lineno"> 2075</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02076"></a><span class="lineno"> 2076</span> {</div>
-<div class="line"><a name="l02077"></a><span class="lineno"> 2077</span> slit_pos[k][0] = pos + (float)edgeclean[k-1] - </div>
-<div class="line"><a name="l02078"></a><span class="lineno"> 2078</span> (<span class="keywordtype">float</span>)margin ;</div>
-<div class="line"><a name="l02079"></a><span class="lineno"> 2079</span> <span class="keywordflow">if</span> ( slit_pos[k][0] - (<span class="keywordtype">int</span>) slit_pos[k][0] == 0.)</div>
-<div class="line"><a name="l02080"></a><span class="lineno"> 2080</span> {</div>
-<div class="line"><a name="l02081"></a><span class="lineno"> 2081</span> slit_pos[k][0] = 0. ;</div>
-<div class="line"><a name="l02082"></a><span class="lineno"> 2082</span> }</div>
-<div class="line"><a name="l02083"></a><span class="lineno"> 2083</span> }</div>
-<div class="line"><a name="l02084"></a><span class="lineno"> 2084</span> }</div>
-<div class="line"><a name="l02085"></a><span class="lineno"> 2085</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02086"></a><span class="lineno"> 2086</span> {</div>
-<div class="line"><a name="l02087"></a><span class="lineno"> 2087</span> <span class="comment">/* take care of the column position of the fit boxes to </span></div>
-<div class="line"><a name="l02088"></a><span class="lineno"> 2088</span> <span class="comment"> get the absolute positions */</span></div>
-<div class="line"><a name="l02089"></a><span class="lineno"> 2089</span> <span class="keywordflow">if</span> ( j == 0 )</div>
-<div class="line"><a name="l02090"></a><span class="lineno"> 2090</span> {</div>
-<div class="line"><a name="l02091"></a><span class="lineno"> 2091</span> slit_pos[0][1] = (float)(box_buffer->n_elements - 1) - pos;</div>
-<div class="line"><a name="l02092"></a><span class="lineno"> 2092</span> <span class="keywordflow">if</span> ( slit_pos[0][1] - (<span class="keywordtype">int</span>) slit_pos[0][1] == 0.)</div>
-<div class="line"><a name="l02093"></a><span class="lineno"> 2093</span> {</div>
-<div class="line"><a name="l02094"></a><span class="lineno"> 2094</span> slit_pos[0][1] = 0. ;</div>
-<div class="line"><a name="l02095"></a><span class="lineno"> 2095</span> }</div>
-<div class="line"><a name="l02096"></a><span class="lineno"> 2096</span> }</div>
-<div class="line"><a name="l02097"></a><span class="lineno"> 2097</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( j < k )</div>
-<div class="line"><a name="l02098"></a><span class="lineno"> 2098</span> {</div>
-<div class="line"><a name="l02099"></a><span class="lineno"> 2099</span> slit_pos[j][1] = (float)(box_buffer->n_elements - 1) - pos</div>
-<div class="line"><a name="l02100"></a><span class="lineno"> 2100</span> + (float)edgeclean[j-1] - (<span class="keywordtype">float</span>)margin ;</div>
-<div class="line"><a name="l02101"></a><span class="lineno"> 2101</span> <span class="keywordflow">if</span> ( slit_pos[j][1] - (<span class="keywordtype">int</span>) slit_pos[j][1] == 0.)</div>
-<div class="line"><a name="l02102"></a><span class="lineno"> 2102</span> {</div>
-<div class="line"><a name="l02103"></a><span class="lineno"> 2103</span> slit_pos[j][1] = 0. ;</div>
-<div class="line"><a name="l02104"></a><span class="lineno"> 2104</span> }</div>
-<div class="line"><a name="l02105"></a><span class="lineno"> 2105</span> }</div>
-<div class="line"><a name="l02106"></a><span class="lineno"> 2106</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02107"></a><span class="lineno"> 2107</span> {</div>
-<div class="line"><a name="l02108"></a><span class="lineno"> 2108</span> last_pos = (float)(edgeclean[k-1] - 1 + slit_length) ;</div>
-<div class="line"><a name="l02109"></a><span class="lineno"> 2109</span> slit_pos[k][1] = (float)(box_buffer->n_elements - 1) - pos</div>
-<div class="line"><a name="l02110"></a><span class="lineno"> 2110</span> + (float)edgeclean[k-1] - (<span class="keywordtype">float</span>)margin ;</div>
-<div class="line"><a name="l02111"></a><span class="lineno"> 2111</span> <span class="keywordflow">if</span> ( slit_pos[k][1] - (<span class="keywordtype">int</span>) slit_pos[k][1] == 0.)</div>
-<div class="line"><a name="l02112"></a><span class="lineno"> 2112</span> {</div>
-<div class="line"><a name="l02113"></a><span class="lineno"> 2113</span> slit_pos[k][1] = 0. ;</div>
-<div class="line"><a name="l02114"></a><span class="lineno"> 2114</span> }</div>
-<div class="line"><a name="l02115"></a><span class="lineno"> 2115</span> }</div>
-<div class="line"><a name="l02116"></a><span class="lineno"> 2116</span> }</div>
-<div class="line"><a name="l02117"></a><span class="lineno"> 2117</span> </div>
-<div class="line"><a name="l02118"></a><span class="lineno"> 2118</span> sinfo_new_destroy_vector ( half_buffer ) ;</div>
-<div class="line"><a name="l02119"></a><span class="lineno"> 2119</span> cpl_free( xdat ) ;</div>
-<div class="line"><a name="l02120"></a><span class="lineno"> 2120</span> cpl_free( wdat ) ;</div>
-<div class="line"><a name="l02121"></a><span class="lineno"> 2121</span> cpl_free( mpar ) ;</div>
-<div class="line"><a name="l02122"></a><span class="lineno"> 2122</span> }</div>
-<div class="line"><a name="l02123"></a><span class="lineno"> 2123</span> sinfo_new_destroy_vector ( box_buffer ) ;</div>
-<div class="line"><a name="l02124"></a><span class="lineno"> 2124</span> }</div>
-<div class="line"><a name="l02125"></a><span class="lineno"> 2125</span> </div>
-<div class="line"><a name="l02126"></a><span class="lineno"> 2126</span> cpl_free( sinfo_edge ) ;</div>
-<div class="line"><a name="l02127"></a><span class="lineno"> 2127</span> cpl_free( pos_row ) ;</div>
-<div class="line"><a name="l02128"></a><span class="lineno"> 2128</span> cpl_free( edgeclean ) ;</div>
-<div class="line"><a name="l02129"></a><span class="lineno"> 2129</span> cpl_free( dummyedge ) ;</div>
-<div class="line"><a name="l02130"></a><span class="lineno"> 2130</span> cpl_free( pos_rowclean ) ;</div>
-<div class="line"><a name="l02131"></a><span class="lineno"> 2131</span> cpl_free( position );</div>
-<div class="line"><a name="l02132"></a><span class="lineno"> 2132</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l02133"></a><span class="lineno"> 2133</span> }</div>
-<div class="line"><a name="l02134"></a><span class="lineno"> 2134</span> </div>
-<div class="line"><a name="l02163"></a><span class="lineno"> 2163</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l02164"></a><span class="lineno"><a class="code" href="group__sinfo__boltzmann.html#ga1851d695a240ae0d23d20657f02867bb"> 2164</a></span> <a class="code" href="group__sinfo__boltzmann.html#ga1851d695a240ae0d23d20657f02867bb" title="its the beginning and end position of the slitlets by using non-linear least square fitting of a Bolt...">sinfo_new_fit_slits_boltz_with_estimate</a> ( cpl_image * lineImage, </div>
-<div class="line"><a name="l02165"></a><span class="lineno"> 2165</span> <span class="keywordtype">float</span> ** slit_pos,</div>
-<div class="line"><a name="l02166"></a><span class="lineno"> 2166</span> <span class="keywordtype">int</span> box_length,</div>
-<div class="line"><a name="l02167"></a><span class="lineno"> 2167</span> <span class="keywordtype">float</span> y_box,</div>
-<div class="line"><a name="l02168"></a><span class="lineno"> 2168</span> <span class="keywordtype">float</span> diff_tol,</div>
-<div class="line"><a name="l02169"></a><span class="lineno"> 2169</span> <span class="keywordtype">int</span> low_pos,</div>
-<div class="line"><a name="l02170"></a><span class="lineno"> 2170</span> <span class="keywordtype">int</span> high_pos )</div>
-<div class="line"><a name="l02171"></a><span class="lineno"> 2171</span> {</div>
-<div class="line"><a name="l02172"></a><span class="lineno"> 2172</span> <span class="keywordtype">int</span>* position=NULL ;</div>
-<div class="line"><a name="l02173"></a><span class="lineno"> 2173</span> Vector * box_buffer ;</div>
-<div class="line"><a name="l02174"></a><span class="lineno"> 2174</span> Vector * in_buffer ;</div>
-<div class="line"><a name="l02175"></a><span class="lineno"> 2175</span> <span class="keywordtype">int</span> found_row ;</div>
-<div class="line"><a name="l02176"></a><span class="lineno"> 2176</span> <span class="keywordtype">int</span> row, col ;</div>
-<div class="line"><a name="l02177"></a><span class="lineno"> 2177</span> <span class="keywordtype">int</span> col_first, col_last ;</div>
-<div class="line"><a name="l02178"></a><span class="lineno"> 2178</span> <span class="keywordtype">int</span> row_first, row_last ;</div>
-<div class="line"><a name="l02179"></a><span class="lineno"> 2179</span> <span class="keywordtype">int</span> i, j, m, n ;</div>
-<div class="line"><a name="l02180"></a><span class="lineno"> 2180</span> <span class="keywordtype">int</span> init1 ;</div>
-<div class="line"><a name="l02181"></a><span class="lineno"> 2181</span> <span class="keywordtype">int</span> left_right ;</div>
-<div class="line"><a name="l02182"></a><span class="lineno"> 2182</span> <span class="keywordtype">int</span> n_buf, shift ;</div>
-<div class="line"><a name="l02183"></a><span class="lineno"> 2183</span> <span class="keywordtype">int</span> slit_length ;</div>
-<div class="line"><a name="l02184"></a><span class="lineno"> 2184</span> <span class="keywordtype">int</span> iters, xdim, ndat ;</div>
-<div class="line"><a name="l02185"></a><span class="lineno"> 2185</span> <span class="keywordtype">int</span> numpar, its ;</div>
-<div class="line"><a name="l02186"></a><span class="lineno"> 2186</span> <span class="keywordtype">int</span> * mpar ;</div>
-<div class="line"><a name="l02187"></a><span class="lineno"> 2187</span> <span class="keywordtype">float</span> * xdat, * wdat ;</div>
-<div class="line"><a name="l02188"></a><span class="lineno"> 2188</span> <span class="keywordtype">float</span> tol, lab ;</div>
-<div class="line"><a name="l02189"></a><span class="lineno"> 2189</span> <span class="keywordtype">float</span> fitpar[NPAR] ;</div>
-<div class="line"><a name="l02190"></a><span class="lineno"> 2190</span> <span class="keywordtype">float</span> dervpar[NPAR] ;</div>
-<div class="line"><a name="l02191"></a><span class="lineno"> 2191</span> <span class="keywordtype">float</span> minval, maxval ;</div>
-<div class="line"><a name="l02192"></a><span class="lineno"> 2192</span> <span class="keywordtype">float</span> pos ;</div>
-<div class="line"><a name="l02193"></a><span class="lineno"> 2193</span> <span class="keywordtype">float</span> new_pos ;</div>
-<div class="line"><a name="l02194"></a><span class="lineno"> 2194</span> <span class="keywordtype">int</span> slitposition[SLITLENGTH] ;</div>
-<div class="line"><a name="l02195"></a><span class="lineno"> 2195</span> pixelvalue rowpos[SLITLENGTH] ;</div>
-<div class="line"><a name="l02196"></a><span class="lineno"> 2196</span> </div>
-<div class="line"><a name="l02197"></a><span class="lineno"> 2197</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l02198"></a><span class="lineno"> 2198</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l02199"></a><span class="lineno"> 2199</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l02200"></a><span class="lineno"> 2200</span> </div>
-<div class="line"><a name="l02201"></a><span class="lineno"> 2201</span> slit_length = SLITLENGTH ; <span class="comment">/* this setting is too much 64 */</span></div>
-<div class="line"><a name="l02202"></a><span class="lineno"> 2202</span> slit_length = N_SLITLETS ; <span class="comment">/* this setting is better: 32 */</span></div>
-<div class="line"><a name="l02203"></a><span class="lineno"> 2203</span> </div>
-<div class="line"><a name="l02204"></a><span class="lineno"> 2204</span> <span class="keywordflow">if</span> ( NULL == lineImage )</div>
-<div class="line"><a name="l02205"></a><span class="lineno"> 2205</span> {</div>
-<div class="line"><a name="l02206"></a><span class="lineno"> 2206</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no line image given!"</span> ) ;</div>
-<div class="line"><a name="l02207"></a><span class="lineno"> 2207</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02208"></a><span class="lineno"> 2208</span> }</div>
-<div class="line"><a name="l02209"></a><span class="lineno"> 2209</span> </div>
-<div class="line"><a name="l02210"></a><span class="lineno"> 2210</span> <span class="keywordflow">if</span> ( NULL == slit_pos )</div>
-<div class="line"><a name="l02211"></a><span class="lineno"> 2211</span> {</div>
-<div class="line"><a name="l02212"></a><span class="lineno"> 2212</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no position array allocated!"</span> ) ;</div>
-<div class="line"><a name="l02213"></a><span class="lineno"> 2213</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02214"></a><span class="lineno"> 2214</span> }</div>
-<div class="line"><a name="l02215"></a><span class="lineno"> 2215</span> </div>
-<div class="line"><a name="l02216"></a><span class="lineno"> 2216</span> <span class="keywordflow">if</span> ( box_length < 4 ||</div>
-<div class="line"><a name="l02217"></a><span class="lineno"> 2217</span> box_length > 2*slit_length )</div>
-<div class="line"><a name="l02218"></a><span class="lineno"> 2218</span> {</div>
-<div class="line"><a name="l02219"></a><span class="lineno"> 2219</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong fitting box length given!"</span> ) ;</div>
-<div class="line"><a name="l02220"></a><span class="lineno"> 2220</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02221"></a><span class="lineno"> 2221</span> }</div>
-<div class="line"><a name="l02222"></a><span class="lineno"> 2222</span> </div>
-<div class="line"><a name="l02223"></a><span class="lineno"> 2223</span> <span class="keywordflow">if</span> ( y_box <= 0. || y_box > 6. )</div>
-<div class="line"><a name="l02224"></a><span class="lineno"> 2224</span> {</div>
-<div class="line"><a name="l02225"></a><span class="lineno"> 2225</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong y box length given!"</span> ) ;</div>
-<div class="line"><a name="l02226"></a><span class="lineno"> 2226</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02227"></a><span class="lineno"> 2227</span> }</div>
-<div class="line"><a name="l02228"></a><span class="lineno"> 2228</span> <span class="keywordflow">if</span> ( diff_tol <= 0. )</div>
-<div class="line"><a name="l02229"></a><span class="lineno"> 2229</span> {</div>
-<div class="line"><a name="l02230"></a><span class="lineno"> 2230</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong diff_tol given!"</span> ) ;</div>
-<div class="line"><a name="l02231"></a><span class="lineno"> 2231</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02232"></a><span class="lineno"> 2232</span> }</div>
-<div class="line"><a name="l02233"></a><span class="lineno"> 2233</span> </div>
-<div class="line"><a name="l02234"></a><span class="lineno"> 2234</span> ilx=cpl_image_get_size_x(lineImage);</div>
-<div class="line"><a name="l02235"></a><span class="lineno"> 2235</span> ily=cpl_image_get_size_y(lineImage);</div>
-<div class="line"><a name="l02236"></a><span class="lineno"> 2236</span> pidata=cpl_image_get_data_float(lineImage);</div>
-<div class="line"><a name="l02237"></a><span class="lineno"> 2237</span> </div>
-<div class="line"><a name="l02238"></a><span class="lineno"> 2238</span> <span class="keywordflow">if</span> ( low_pos >= high_pos || low_pos < 0 || </div>
-<div class="line"><a name="l02239"></a><span class="lineno"> 2239</span> high_pos <= 0 || high_pos > ily )</div>
-<div class="line"><a name="l02240"></a><span class="lineno"> 2240</span> {</div>
-<div class="line"><a name="l02241"></a><span class="lineno"> 2241</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong user given search positions!"</span> ) ;</div>
-<div class="line"><a name="l02242"></a><span class="lineno"> 2242</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02243"></a><span class="lineno"> 2243</span> }</div>
-<div class="line"><a name="l02244"></a><span class="lineno"> 2244</span> </div>
-<div class="line"><a name="l02245"></a><span class="lineno"> 2245</span> <span class="comment">/* now search for the maximum between the given positions for each col */</span></div>
-<div class="line"><a name="l02246"></a><span class="lineno"> 2246</span> position=cpl_calloc(ilx,<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)) ;</div>
-<div class="line"><a name="l02247"></a><span class="lineno"> 2247</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l02248"></a><span class="lineno"> 2248</span> {</div>
-<div class="line"><a name="l02249"></a><span class="lineno"> 2249</span> found_row = -1 ;</div>
-<div class="line"><a name="l02250"></a><span class="lineno"> 2250</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l02251"></a><span class="lineno"> 2251</span> <span class="keywordflow">for</span> ( row = low_pos ; row <= high_pos ; row++ )</div>
-<div class="line"><a name="l02252"></a><span class="lineno"> 2252</span> {</div>
-<div class="line"><a name="l02253"></a><span class="lineno"> 2253</span> <span class="keywordflow">if</span> ( maxval < pidata[col+row*ilx] )</div>
-<div class="line"><a name="l02254"></a><span class="lineno"> 2254</span> {</div>
-<div class="line"><a name="l02255"></a><span class="lineno"> 2255</span> maxval = pidata[col+row*ilx] ;</div>
-<div class="line"><a name="l02256"></a><span class="lineno"> 2256</span> found_row = row ;</div>
-<div class="line"><a name="l02257"></a><span class="lineno"> 2257</span> }</div>
-<div class="line"><a name="l02258"></a><span class="lineno"> 2258</span> }</div>
-<div class="line"><a name="l02259"></a><span class="lineno"> 2259</span> <span class="keywordflow">if</span> ( maxval > -FLT_MAX && found_row > low_pos )</div>
-<div class="line"><a name="l02260"></a><span class="lineno"> 2260</span> {</div>
-<div class="line"><a name="l02261"></a><span class="lineno"> 2261</span> position[col] = found_row ;</div>
-<div class="line"><a name="l02262"></a><span class="lineno"> 2262</span> }</div>
-<div class="line"><a name="l02263"></a><span class="lineno"> 2263</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02264"></a><span class="lineno"> 2264</span> {</div>
-<div class="line"><a name="l02265"></a><span class="lineno"> 2265</span> position[col] = 0 ;</div>
-<div class="line"><a name="l02266"></a><span class="lineno"> 2266</span> }</div>
-<div class="line"><a name="l02267"></a><span class="lineno"> 2267</span> }</div>
-<div class="line"><a name="l02268"></a><span class="lineno"> 2268</span> </div>
-<div class="line"><a name="l02269"></a><span class="lineno"> 2269</span> <span class="comment">/* ------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l02270"></a><span class="lineno"> 2270</span> <span class="comment"> * now go through the slitlets, search along each column within a box with </span></div>
-<div class="line"><a name="l02271"></a><span class="lineno"> 2271</span> <span class="comment"> * half width y_box the maximum value and store these found values in a </span></div>
-<div class="line"><a name="l02272"></a><span class="lineno"> 2272</span> <span class="comment"> * buffer</span></div>
-<div class="line"><a name="l02273"></a><span class="lineno"> 2273</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02274"></a><span class="lineno"> 2274</span> <span class="keywordflow">for</span> ( j = 0 ; j < slit_length ; j++ )</div>
-<div class="line"><a name="l02275"></a><span class="lineno"> 2275</span> {</div>
-<div class="line"><a name="l02276"></a><span class="lineno"> 2276</span> <span class="comment">/* now go through the columns and determine the slitlet positions by</span></div>
-<div class="line"><a name="l02277"></a><span class="lineno"> 2277</span> <span class="comment"> * calculating the median of the found positions </span></div>
-<div class="line"><a name="l02278"></a><span class="lineno"> 2278</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02279"></a><span class="lineno"> 2279</span> n = 0 ;</div>
-<div class="line"><a name="l02280"></a><span class="lineno"> 2280</span> </div>
-<div class="line"><a name="l02281"></a><span class="lineno"> 2281</span> <span class="keywordflow">for</span> ( col = sinfo_new_nint(slit_pos[j][0])+ 1 ; </div>
-<div class="line"><a name="l02282"></a><span class="lineno"> 2282</span> col < sinfo_new_nint(slit_pos[j][1]) -1 ; col++ )</div>
-<div class="line"><a name="l02283"></a><span class="lineno"> 2283</span> {</div>
-<div class="line"><a name="l02284"></a><span class="lineno"> 2284</span> rowpos[n] = (pixelvalue)position[col] ;</div>
-<div class="line"><a name="l02285"></a><span class="lineno"> 2285</span> n++ ;</div>
-<div class="line"><a name="l02286"></a><span class="lineno"> 2286</span> }</div>
-<div class="line"><a name="l02287"></a><span class="lineno"> 2287</span> </div>
-<div class="line"><a name="l02288"></a><span class="lineno"> 2288</span> slitposition[j] = (int)sinfo_new_median(rowpos, n) ;</div>
-<div class="line"><a name="l02289"></a><span class="lineno"> 2289</span> <span class="keywordflow">for</span> ( left_right = 0 ; left_right <= 1 ; left_right++ )</div>
-<div class="line"><a name="l02290"></a><span class="lineno"> 2290</span> {</div>
-<div class="line"><a name="l02291"></a><span class="lineno"> 2291</span> init1 = 0 ;</div>
-<div class="line"><a name="l02292"></a><span class="lineno"> 2292</span> col_first = sinfo_new_nint( slit_pos[j][left_right] ) - </div>
-<div class="line"><a name="l02293"></a><span class="lineno"> 2293</span> box_length/2 ;</div>
-<div class="line"><a name="l02294"></a><span class="lineno"> 2294</span> col_last = sinfo_new_nint( slit_pos[j][left_right] ) + </div>
-<div class="line"><a name="l02295"></a><span class="lineno"> 2295</span> box_length/2 ;</div>
-<div class="line"><a name="l02296"></a><span class="lineno"> 2296</span> <span class="keywordflow">if</span> ( col_first < 0 )</div>
-<div class="line"><a name="l02297"></a><span class="lineno"> 2297</span> {</div>
-<div class="line"><a name="l02298"></a><span class="lineno"> 2298</span> col_first = 0 ;</div>
-<div class="line"><a name="l02299"></a><span class="lineno"> 2299</span> init1 = 1 ;</div>
-<div class="line"><a name="l02300"></a><span class="lineno"> 2300</span> }</div>
-<div class="line"><a name="l02301"></a><span class="lineno"> 2301</span> <span class="keywordflow">if</span> ( col_last > ilx )</div>
-<div class="line"><a name="l02302"></a><span class="lineno"> 2302</span> {</div>
-<div class="line"><a name="l02303"></a><span class="lineno"> 2303</span> col_last = ilx ;</div>
-<div class="line"><a name="l02304"></a><span class="lineno"> 2304</span> init1 = 1 ;</div>
-<div class="line"><a name="l02305"></a><span class="lineno"> 2305</span> }</div>
-<div class="line"><a name="l02306"></a><span class="lineno"> 2306</span> <span class="keywordflow">if</span> ( col_last - col_first <= 0 )</div>
-<div class="line"><a name="l02307"></a><span class="lineno"> 2307</span> {</div>
-<div class="line"><a name="l02308"></a><span class="lineno"> 2308</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" first and last column wrong!"</span> ) ;</div>
-<div class="line"><a name="l02309"></a><span class="lineno"> 2309</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02310"></a><span class="lineno"> 2310</span> }</div>
-<div class="line"><a name="l02311"></a><span class="lineno"> 2311</span> box_buffer = sinfo_new_vector( col_last - col_first ) ;</div>
-<div class="line"><a name="l02312"></a><span class="lineno"> 2312</span> m = 0 ;</div>
-<div class="line"><a name="l02313"></a><span class="lineno"> 2313</span> </div>
-<div class="line"><a name="l02314"></a><span class="lineno"> 2314</span> </div>
-<div class="line"><a name="l02315"></a><span class="lineno"> 2315</span> <span class="keywordflow">if</span> ( left_right == 0 )</div>
-<div class="line"><a name="l02316"></a><span class="lineno"> 2316</span> {</div>
-<div class="line"><a name="l02317"></a><span class="lineno"> 2317</span> <span class="keywordflow">for</span>( col = col_first ; col < col_last ; col++ )</div>
-<div class="line"><a name="l02318"></a><span class="lineno"> 2318</span> {</div>
-<div class="line"><a name="l02319"></a><span class="lineno"> 2319</span> row_first = slitposition[j] - sinfo_new_nint(y_box) ;</div>
-<div class="line"><a name="l02320"></a><span class="lineno"> 2320</span> row_last = slitposition[j] + sinfo_new_nint(y_box) ;</div>
-<div class="line"><a name="l02321"></a><span class="lineno"> 2321</span> <span class="keywordflow">if</span> ( row_first < 0 )</div>
-<div class="line"><a name="l02322"></a><span class="lineno"> 2322</span> {</div>
-<div class="line"><a name="l02323"></a><span class="lineno"> 2323</span> row_first = 0 ;</div>
-<div class="line"><a name="l02324"></a><span class="lineno"> 2324</span> }</div>
-<div class="line"><a name="l02325"></a><span class="lineno"> 2325</span> <span class="keywordflow">if</span> ( row_last >= ily )</div>
-<div class="line"><a name="l02326"></a><span class="lineno"> 2326</span> {</div>
-<div class="line"><a name="l02327"></a><span class="lineno"> 2327</span> row_last = ily - 1 ;</div>
-<div class="line"><a name="l02328"></a><span class="lineno"> 2328</span> }</div>
-<div class="line"><a name="l02329"></a><span class="lineno"> 2329</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l02330"></a><span class="lineno"> 2330</span> <span class="keywordflow">for</span> ( row = row_first ; row <= row_last ; row++ )</div>
-<div class="line"><a name="l02331"></a><span class="lineno"> 2331</span> {</div>
-<div class="line"><a name="l02332"></a><span class="lineno"> 2332</span> <span class="keywordflow">if</span> ( maxval < pidata[col + ilx*row] )</div>
-<div class="line"><a name="l02333"></a><span class="lineno"> 2333</span> {</div>
-<div class="line"><a name="l02334"></a><span class="lineno"> 2334</span> maxval = pidata[col + ilx*row] ;</div>
-<div class="line"><a name="l02335"></a><span class="lineno"> 2335</span> }</div>
-<div class="line"><a name="l02336"></a><span class="lineno"> 2336</span> }</div>
-<div class="line"><a name="l02337"></a><span class="lineno"> 2337</span> box_buffer->data[m] = maxval ;</div>
-<div class="line"><a name="l02338"></a><span class="lineno"> 2338</span> m++ ;</div>
-<div class="line"><a name="l02339"></a><span class="lineno"> 2339</span> }</div>
-<div class="line"><a name="l02340"></a><span class="lineno"> 2340</span> </div>
-<div class="line"><a name="l02341"></a><span class="lineno"> 2341</span> }</div>
-<div class="line"><a name="l02342"></a><span class="lineno"> 2342</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l02343"></a><span class="lineno"> 2343</span> {</div>
-<div class="line"><a name="l02344"></a><span class="lineno"> 2344</span> </div>
-<div class="line"><a name="l02345"></a><span class="lineno"> 2345</span> <span class="keywordflow">for</span>( col = col_last-1 ; col >= col_first ; col-- )</div>
-<div class="line"><a name="l02346"></a><span class="lineno"> 2346</span> {</div>
-<div class="line"><a name="l02347"></a><span class="lineno"> 2347</span> row_first = slitposition[j] - sinfo_new_nint(y_box) ;</div>
-<div class="line"><a name="l02348"></a><span class="lineno"> 2348</span> row_last = slitposition[j] + sinfo_new_nint(y_box) ;</div>
-<div class="line"><a name="l02349"></a><span class="lineno"> 2349</span> <span class="keywordflow">if</span> ( row_first < 0 )</div>
-<div class="line"><a name="l02350"></a><span class="lineno"> 2350</span> {</div>
-<div class="line"><a name="l02351"></a><span class="lineno"> 2351</span> row_first = 0 ;</div>
-<div class="line"><a name="l02352"></a><span class="lineno"> 2352</span> }</div>
-<div class="line"><a name="l02353"></a><span class="lineno"> 2353</span> <span class="keywordflow">if</span> ( row_last >= ily )</div>
-<div class="line"><a name="l02354"></a><span class="lineno"> 2354</span> {</div>
-<div class="line"><a name="l02355"></a><span class="lineno"> 2355</span> row_last = ily - 1 ;</div>
-<div class="line"><a name="l02356"></a><span class="lineno"> 2356</span> }</div>
-<div class="line"><a name="l02357"></a><span class="lineno"> 2357</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l02358"></a><span class="lineno"> 2358</span> <span class="keywordflow">for</span> ( row = row_first ; row <= row_last ; row++ )</div>
-<div class="line"><a name="l02359"></a><span class="lineno"> 2359</span> {</div>
-<div class="line"><a name="l02360"></a><span class="lineno"> 2360</span> <span class="keywordflow">if</span> ( maxval < pidata[col + ilx*row] )</div>
-<div class="line"><a name="l02361"></a><span class="lineno"> 2361</span> {</div>
-<div class="line"><a name="l02362"></a><span class="lineno"> 2362</span> maxval = pidata[col + ilx*row] ;</div>
-<div class="line"><a name="l02363"></a><span class="lineno"> 2363</span> }</div>
-<div class="line"><a name="l02364"></a><span class="lineno"> 2364</span> }</div>
-<div class="line"><a name="l02365"></a><span class="lineno"> 2365</span> box_buffer->data[m] = maxval ;</div>
-<div class="line"><a name="l02366"></a><span class="lineno"> 2366</span> m++ ;</div>
-<div class="line"><a name="l02367"></a><span class="lineno"> 2367</span> }</div>
-<div class="line"><a name="l02368"></a><span class="lineno"> 2368</span> </div>
-<div class="line"><a name="l02369"></a><span class="lineno"> 2369</span> }</div>
-<div class="line"><a name="l02370"></a><span class="lineno"> 2370</span> </div>
-<div class="line"><a name="l02371"></a><span class="lineno"> 2371</span> xdat=(<span class="keywordtype">float</span> *) cpl_calloc(box_buffer->n_elements, sizeof (<span class="keywordtype">float</span>) );</div>
-<div class="line"><a name="l02372"></a><span class="lineno"> 2372</span> wdat=(<span class="keywordtype">float</span> *) cpl_calloc(box_buffer->n_elements, sizeof (<span class="keywordtype">float</span>) );</div>
-<div class="line"><a name="l02373"></a><span class="lineno"> 2373</span> mpar=(<span class="keywordtype">int</span> *) cpl_calloc(NPAR, <span class="keyword">sizeof</span> (<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l02374"></a><span class="lineno"> 2374</span> </div>
-<div class="line"><a name="l02375"></a><span class="lineno"> 2375</span> <span class="comment">/* set initial values for the fitting routine */</span></div>
-<div class="line"><a name="l02376"></a><span class="lineno"> 2376</span> minval = FLT_MAX ;</div>
-<div class="line"><a name="l02377"></a><span class="lineno"> 2377</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l02378"></a><span class="lineno"> 2378</span> </div>
-<div class="line"><a name="l02379"></a><span class="lineno"> 2379</span> <span class="keywordflow">for</span> ( i = 0 ; i < box_buffer->n_elements ; i++ )</div>
-<div class="line"><a name="l02380"></a><span class="lineno"> 2380</span> {</div>
-<div class="line"><a name="l02381"></a><span class="lineno"> 2381</span> xdat[i] = i ;</div>
-<div class="line"><a name="l02382"></a><span class="lineno"> 2382</span> wdat[i] = 1.0 ;</div>
-<div class="line"><a name="l02383"></a><span class="lineno"> 2383</span> <span class="keywordflow">if</span> ( box_buffer -> data[i] < minval )</div>
-<div class="line"><a name="l02384"></a><span class="lineno"> 2384</span> {</div>
-<div class="line"><a name="l02385"></a><span class="lineno"> 2385</span> minval = box_buffer -> data[i] ;</div>
-<div class="line"><a name="l02386"></a><span class="lineno"> 2386</span> }</div>
-<div class="line"><a name="l02387"></a><span class="lineno"> 2387</span> <span class="keywordflow">if</span> ( box_buffer -> data[i] > maxval )</div>
-<div class="line"><a name="l02388"></a><span class="lineno"> 2388</span> {</div>
-<div class="line"><a name="l02389"></a><span class="lineno"> 2389</span> maxval = box_buffer -> data[i] ;</div>
-<div class="line"><a name="l02390"></a><span class="lineno"> 2390</span> }</div>
-<div class="line"><a name="l02391"></a><span class="lineno"> 2391</span> }</div>
-<div class="line"><a name="l02392"></a><span class="lineno"> 2392</span> fitpar[0] = minval ;</div>
-<div class="line"><a name="l02393"></a><span class="lineno"> 2393</span> fitpar[1] = maxval ; </div>
-<div class="line"><a name="l02394"></a><span class="lineno"> 2394</span> </div>
-<div class="line"><a name="l02395"></a><span class="lineno"> 2395</span> <span class="comment">/*-----------------------------------------------------------------</span></div>
-<div class="line"><a name="l02396"></a><span class="lineno"> 2396</span> <span class="comment"> * if we have too few left background values (at the image edges)</span></div>
-<div class="line"><a name="l02397"></a><span class="lineno"> 2397</span> <span class="comment"> * the left margin of the buffer to fit is filled with the minimal</span></div>
-<div class="line"><a name="l02398"></a><span class="lineno"> 2398</span> <span class="comment"> * values in order to get a good fit</span></div>
-<div class="line"><a name="l02399"></a><span class="lineno"> 2399</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02400"></a><span class="lineno"> 2400</span> </div>
-<div class="line"><a name="l02401"></a><span class="lineno"> 2401</span> </div>
-<div class="line"><a name="l02402"></a><span class="lineno"> 2402</span> <span class="keywordflow">if</span> ( init1 == 1 )</div>
-<div class="line"><a name="l02403"></a><span class="lineno"> 2403</span> {</div>
-<div class="line"><a name="l02404"></a><span class="lineno"> 2404</span> n_buf = box_buffer->n_elements + box_length/2 ;</div>
-<div class="line"><a name="l02405"></a><span class="lineno"> 2405</span> in_buffer = sinfo_new_vector( n_buf ) ; </div>
-<div class="line"><a name="l02406"></a><span class="lineno"> 2406</span> <span class="keywordflow">for</span> ( i = 0 ; i < box_length/2 ; i++ )</div>
-<div class="line"><a name="l02407"></a><span class="lineno"> 2407</span> {</div>
-<div class="line"><a name="l02408"></a><span class="lineno"> 2408</span> in_buffer -> data[i] = minval ;</div>
-<div class="line"><a name="l02409"></a><span class="lineno"> 2409</span> }</div>
-<div class="line"><a name="l02410"></a><span class="lineno"> 2410</span> shift = 0 ;</div>
-<div class="line"><a name="l02411"></a><span class="lineno"> 2411</span> <span class="keywordflow">for</span> ( i = box_length/2 ; i < n_buf ; i++ )</div>
-<div class="line"><a name="l02412"></a><span class="lineno"> 2412</span> {</div>
-<div class="line"><a name="l02413"></a><span class="lineno"> 2413</span> in_buffer -> data[i] = box_buffer -> data[shift] ;</div>
-<div class="line"><a name="l02414"></a><span class="lineno"> 2414</span> shift++ ;</div>
-<div class="line"><a name="l02415"></a><span class="lineno"> 2415</span> }</div>
-<div class="line"><a name="l02416"></a><span class="lineno"> 2416</span> sinfo_new_destroy_vector ( box_buffer ) ;</div>
-<div class="line"><a name="l02417"></a><span class="lineno"> 2417</span> box_buffer = sinfo_new_vector ( n_buf ) ;</div>
-<div class="line"><a name="l02418"></a><span class="lineno"> 2418</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_buf ; i++ )</div>
-<div class="line"><a name="l02419"></a><span class="lineno"> 2419</span> {</div>
-<div class="line"><a name="l02420"></a><span class="lineno"> 2420</span> box_buffer -> data[i] = in_buffer -> data[i] ;</div>
-<div class="line"><a name="l02421"></a><span class="lineno"> 2421</span> }</div>
-<div class="line"><a name="l02422"></a><span class="lineno"> 2422</span> sinfo_new_destroy_vector ( in_buffer ) ;</div>
-<div class="line"><a name="l02423"></a><span class="lineno"> 2423</span> }</div>
-<div class="line"><a name="l02424"></a><span class="lineno"> 2424</span> </div>
-<div class="line"><a name="l02425"></a><span class="lineno"> 2425</span> <span class="comment">/* determine the initial positions from the found values */</span></div>
-<div class="line"><a name="l02426"></a><span class="lineno"> 2426</span> fitpar[2] = (float)box_buffer->n_elements/2. ;</div>
-<div class="line"><a name="l02427"></a><span class="lineno"> 2427</span> fitpar[3] = 1. ;</div>
-<div class="line"><a name="l02428"></a><span class="lineno"> 2428</span> </div>
-<div class="line"><a name="l02429"></a><span class="lineno"> 2429</span> for ( i = 0 ; i < NPAR ; i++ )</div>
-<div class="line"><a name="l02430"></a><span class="lineno"> 2430</span> {</div>
-<div class="line"><a name="l02431"></a><span class="lineno"> 2431</span> mpar[i] = 1 ;</div>
-<div class="line"><a name="l02432"></a><span class="lineno"> 2432</span> dervpar[i] = 0. ;</div>
-<div class="line"><a name="l02433"></a><span class="lineno"> 2433</span> }</div>
-<div class="line"><a name="l02434"></a><span class="lineno"> 2434</span> </div>
-<div class="line"><a name="l02435"></a><span class="lineno"> 2435</span> xdim = XDIMA ;</div>
-<div class="line"><a name="l02436"></a><span class="lineno"> 2436</span> ndat = box_buffer->n_elements ;</div>
-<div class="line"><a name="l02437"></a><span class="lineno"> 2437</span> numpar = NPAR ;</div>
-<div class="line"><a name="l02438"></a><span class="lineno"> 2438</span> tol = TOLA ;</div>
-<div class="line"><a name="l02439"></a><span class="lineno"> 2439</span> lab = LABA ;</div>
-<div class="line"><a name="l02440"></a><span class="lineno"> 2440</span> its = ITSA ;</div>
-<div class="line"><a name="l02441"></a><span class="lineno"> 2441</span> </div>
-<div class="line"><a name="l02442"></a><span class="lineno"> 2442</span> <span class="comment">/* finally, do the least squares fit over the buffer data */</span></div>
-<div class="line"><a name="l02443"></a><span class="lineno"> 2443</span> <span class="keywordflow">if</span> ( 0 > ( iters = <a class="code" href="group__sinfo__boltzmann.html#ga7e03e34851f7c367ab3827c58e8c81c5" title="makes a least-squares fit of a function to a set of data points.">sinfo_new_lsqfit</a>( xdat, &xdim, </div>
-<div class="line"><a name="l02444"></a><span class="lineno"> 2444</span> box_buffer -> data, </div>
-<div class="line"><a name="l02445"></a><span class="lineno"> 2445</span> wdat, &ndat, fitpar,</div>
-<div class="line"><a name="l02446"></a><span class="lineno"> 2446</span> dervpar, mpar, &numpar, </div>
-<div class="line"><a name="l02447"></a><span class="lineno"> 2447</span> &tol, &its, &lab )) )</div>
-<div class="line"><a name="l02448"></a><span class="lineno"> 2448</span> { </div>
-<div class="line"><a name="l02449"></a><span class="lineno"> 2449</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">"least squares fit failed, error "</span></div>
-<div class="line"><a name="l02450"></a><span class="lineno"> 2450</span> <span class="stringliteral">"no.: %d in slitlet: %d\n"</span>, iters, j) ;</div>
-<div class="line"><a name="l02451"></a><span class="lineno"> 2451</span> sinfo_new_destroy_vector(box_buffer) ;</div>
-<div class="line"><a name="l02452"></a><span class="lineno"> 2452</span> cpl_free( xdat ) ;</div>
-<div class="line"><a name="l02453"></a><span class="lineno"> 2453</span> cpl_free( wdat ) ;</div>
-<div class="line"><a name="l02454"></a><span class="lineno"> 2454</span> cpl_free( mpar ) ;</div>
-<div class="line"><a name="l02455"></a><span class="lineno"> 2455</span> continue ;</div>
-<div class="line"><a name="l02456"></a><span class="lineno"> 2456</span> }</div>
-<div class="line"><a name="l02457"></a><span class="lineno"> 2457</span> </div>
-<div class="line"><a name="l02458"></a><span class="lineno"> 2458</span> <span class="keywordflow">if</span> ( fitpar[3] <=0. )</div>
-<div class="line"><a name="l02459"></a><span class="lineno"> 2459</span> { </div>
-<div class="line"><a name="l02460"></a><span class="lineno"> 2460</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">"fit failed due to negative width of "</span></div>
-<div class="line"><a name="l02461"></a><span class="lineno"> 2461</span> <span class="stringliteral">"boltzmann function in slitlet: %d\n"</span>, j) ;</div>
-<div class="line"><a name="l02462"></a><span class="lineno"> 2462</span> sinfo_new_destroy_vector(box_buffer) ;</div>
-<div class="line"><a name="l02463"></a><span class="lineno"> 2463</span> cpl_free( xdat ) ;</div>
-<div class="line"><a name="l02464"></a><span class="lineno"> 2464</span> cpl_free( wdat ) ;</div>
-<div class="line"><a name="l02465"></a><span class="lineno"> 2465</span> cpl_free( mpar ) ;</div>
-<div class="line"><a name="l02466"></a><span class="lineno"> 2466</span> continue ;</div>
-<div class="line"><a name="l02467"></a><span class="lineno"> 2467</span> }</div>
-<div class="line"><a name="l02468"></a><span class="lineno"> 2468</span> pos = fitpar[2] ;</div>
-<div class="line"><a name="l02469"></a><span class="lineno"> 2469</span> <span class="keywordflow">if</span> ( init1 == 1 )</div>
-<div class="line"><a name="l02470"></a><span class="lineno"> 2470</span> {</div>
-<div class="line"><a name="l02471"></a><span class="lineno"> 2471</span> pos -= (float)box_length/2. ;</div>
-<div class="line"><a name="l02472"></a><span class="lineno"> 2472</span> }</div>
-<div class="line"><a name="l02473"></a><span class="lineno"> 2473</span> </div>
-<div class="line"><a name="l02474"></a><span class="lineno"> 2474</span> <span class="comment">/*-------------------------------------------------------------</span></div>
-<div class="line"><a name="l02475"></a><span class="lineno"> 2475</span> <span class="comment"> * now compute the real slit positions using the guess positions</span></div>
-<div class="line"><a name="l02476"></a><span class="lineno"> 2476</span> <span class="comment"> * if the fit did not work the guess positions are taken</span></div>
-<div class="line"><a name="l02477"></a><span class="lineno"> 2477</span> <span class="comment"> * the same is done if the deviations are too big.</span></div>
-<div class="line"><a name="l02478"></a><span class="lineno"> 2478</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02479"></a><span class="lineno"> 2479</span> <span class="keywordflow">if</span> ( pos != 0. ) </div>
-<div class="line"><a name="l02480"></a><span class="lineno"> 2480</span> {</div>
-<div class="line"><a name="l02481"></a><span class="lineno"> 2481</span> <span class="keywordflow">if</span> ( left_right == 0 )</div>
-<div class="line"><a name="l02482"></a><span class="lineno"> 2482</span> {</div>
-<div class="line"><a name="l02483"></a><span class="lineno"> 2483</span> new_pos = (float)col_first + pos ;</div>
-<div class="line"><a name="l02484"></a><span class="lineno"> 2484</span> }</div>
-<div class="line"><a name="l02485"></a><span class="lineno"> 2485</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02486"></a><span class="lineno"> 2486</span> {</div>
-<div class="line"><a name="l02487"></a><span class="lineno"> 2487</span> new_pos = (float)col_last-1 - pos ;</div>
-<div class="line"><a name="l02488"></a><span class="lineno"> 2488</span> }</div>
-<div class="line"><a name="l02489"></a><span class="lineno"> 2489</span> <span class="keywordflow">if</span> ( fabs(new_pos - slit_pos[j][left_right]) < diff_tol )</div>
-<div class="line"><a name="l02490"></a><span class="lineno"> 2490</span> {</div>
-<div class="line"><a name="l02491"></a><span class="lineno"> 2491</span> slit_pos[j][left_right] = new_pos ;</div>
-<div class="line"><a name="l02492"></a><span class="lineno"> 2492</span> }</div>
-<div class="line"><a name="l02493"></a><span class="lineno"> 2493</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02494"></a><span class="lineno"> 2494</span> {</div>
-<div class="line"><a name="l02495"></a><span class="lineno"> 2495</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">" deviation bigger than tolerance,"</span></div>
-<div class="line"><a name="l02496"></a><span class="lineno"> 2496</span> <span class="stringliteral">" take the estimated slitlet position "</span></div>
-<div class="line"><a name="l02497"></a><span class="lineno"> 2497</span> <span class="stringliteral">" in slitlet: %d\n"</span>, j) ;</div>
-<div class="line"><a name="l02498"></a><span class="lineno"> 2498</span> }</div>
-<div class="line"><a name="l02499"></a><span class="lineno"> 2499</span> }</div>
-<div class="line"><a name="l02500"></a><span class="lineno"> 2500</span> </div>
-<div class="line"><a name="l02501"></a><span class="lineno"> 2501</span> cpl_free( xdat ) ;</div>
-<div class="line"><a name="l02502"></a><span class="lineno"> 2502</span> cpl_free( wdat ) ;</div>
-<div class="line"><a name="l02503"></a><span class="lineno"> 2503</span> cpl_free( mpar ) ;</div>
-<div class="line"><a name="l02504"></a><span class="lineno"> 2504</span> sinfo_new_destroy_vector ( box_buffer ) ;</div>
-<div class="line"><a name="l02505"></a><span class="lineno"> 2505</span> </div>
-<div class="line"><a name="l02506"></a><span class="lineno"> 2506</span> }</div>
-<div class="line"><a name="l02507"></a><span class="lineno"> 2507</span> }</div>
-<div class="line"><a name="l02508"></a><span class="lineno"> 2508</span> cpl_free(position);</div>
-<div class="line"><a name="l02509"></a><span class="lineno"> 2509</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l02510"></a><span class="lineno"> 2510</span> }</div>
-<div class="line"><a name="l02511"></a><span class="lineno"> 2511</span> </div>
-<div class="line"><a name="l02512"></a><span class="lineno"> 2512</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__bp__config_8c_source.html b/html/sinfo__bp__config_8c_source.html
deleted file mode 100644
index 9133995..0000000
--- a/html/sinfo__bp__config_8c_source.html
+++ /dev/null
@@ -1,109 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_bp_config.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_bp_config.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_bp_config.c,v 1.5 2012/03/02 08:42:20 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2012/03/02 08:42:20 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.5 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> * Bad pixel search *</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_bp_config.h"</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/* Bad pixel parameters */</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> sinfo_bp_config_add(cpl_parameterlist *list)</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> {</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> cpl_parameter *p;</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keywordflow">if</span> (!list) {</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> }</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">/* indicates which method will be used */</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> p = cpl_parameter_new_enum(<span class="stringliteral">"sinfoni.bp.method"</span>,</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> CPL_TYPE_STRING,</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="stringliteral">"Data reduction method: "</span>,</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="stringliteral">"sinfoni.general_noise"</span>,</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="stringliteral">"Normal"</span>,</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> 3,</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="stringliteral">"Normal"</span>,<span class="stringliteral">"Linear"</span>,<span class="stringliteral">"Noise"</span>);</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"bp-method"</span>);</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__bp__config_8h_source.html b/html/sinfo__bp__config_8h_source.html
deleted file mode 100644
index 6c1b032..0000000
--- a/html/sinfo__bp__config_8h_source.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_bp_config.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_bp_config.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_bp_config.h,v 1.1 2006/10/20 08:06:32 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2006/10/20 08:06:32 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Bad pixel search (normal method) *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifndef SINFO_BP_CONFIG_H</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_BP_CONFIG_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "cpl.h"</span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keywordtype">void</span> sinfo_bp_config_add(cpl_parameterlist *list);</div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__bp__dist__config_8c_source.html b/html/sinfo__bp__dist__config_8c_source.html
deleted file mode 100644
index ea7a69a..0000000
--- a/html/sinfo__bp__dist__config_8c_source.html
+++ /dev/null
@@ -1,301 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_bp_dist_config.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_bp_dist_config.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_bp_dist_config.c,v 1.4 2007/06/06 07:10:45 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2007/06/06 07:10:45 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.4 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> * Bad pixel search (normal method) *</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_bp_dist_config.h"</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/* Bad pixel parameters */</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"><a class="code" href="group__sinfo__bad__pix__search.html#ga4f320ea65a00f127ece79fd2c6416a15"> 55</a></span> <a class="code" href="group__sinfo__bad__pix__search.html#ga4f320ea65a00f127ece79fd2c6416a15" title="Adds parameters for the spectrum extraction.">sinfo_bp_dist_config_add</a>(cpl_parameterlist *list)</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> {</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> cpl_parameter *p;</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordflow">if</span> (!list) {</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> }</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">/* factor of noise within which the pixels are used to fit a straight line </span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> to the column intensity */</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.bp_dist.sigma_factor"</span>,</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="stringliteral">"Threshold Sigma Factor: "</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="stringliteral">"to remove the column intensity tilt only "</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="stringliteral">"pixels which lie within a defined noise"</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="stringliteral">"limit are used to fit a straight line"</span>,</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="stringliteral">"sinfoni.bp_dist"</span>,</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> 2.0);</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> cpl_parameter_set_alias(p,CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"bp_dist-s_factor"</span>);</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/* bad pixel search determination method */</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> p = cpl_parameter_new_enum(<span class="stringliteral">"sinfoni.bp_dist.method_index"</span>,</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="stringliteral">"Bad pixel Method Index"</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="stringliteral">"1: median of nearest neighbors,"</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="stringliteral">"2: absolute distances check, "</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="stringliteral">"3: mean of nearest spectral neighbors"</span>,</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="stringliteral">"sinfoni.bp_dist"</span>,</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> 1,</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> 3,1,2,3);</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_dist-method_ind"</span>);</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">/* factor of calculated standard deviation beyond which the deviation </span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> of a pixel value from the median of the 8 nearest neighbors declares </span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> a pixel as bad */</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.bp_dist.factor"</span>,</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="stringliteral">"Factor: "</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="stringliteral">"if |pixel - sinfo_median| > factor * standard deviation -> "</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="stringliteral">"then the pixel value is replaced by "</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="stringliteral">"the median of the 8 nearest neighbors"</span>,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="stringliteral">"sinfoni.bp_dist"</span>,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> 999.0);</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_dist-fct"</span>);</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment">/* no of iterations to find bad pix clusters */</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment">/* number of iterations of sinfo_median filter */</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.bp_dist.iterations"</span>,</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="stringliteral">"Iterations: number of iterations to of median"</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="stringliteral">" filtering to find bad pixel clusters"</span>,</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="stringliteral">"sinfoni.bp_dist"</span>,</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> 8);</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_dist-it"</span>);</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment">/* float </span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment"> threshold used in the clean mean percentage of rejection used to reject </span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment"> low and high frame */</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">/* percentage of extreme pixel value to reject when calculating the mean </span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment"> and stdev */</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.bp_dist.low_rejection"</span>,</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="stringliteral">"low_rejection: "</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="stringliteral">"percentage of rejected low intensity "</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="stringliteral">"pixels before averaging"</span>,</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="stringliteral">"sinfoni.bp_dist"</span>,</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> 0.1,0.0,1.0);</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_dist-lo_rej"</span>);</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment">/* float </span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment"> threshold used in the clean mean percentage of rejection used to reject </span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment"> low and high frame */</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment">/* percentage of extreme pixel value to reject when calculating the mean </span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment"> and stdev */</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.bp_dist.high_rejection"</span>,</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="stringliteral">"high_rejection: "</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="stringliteral">"percentage of rejected high intensity "</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="stringliteral">"pixels before averaging"</span>,</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="stringliteral">"sinfoni.bp_dist"</span>,</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> 0.1,0.0,1.0);</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_dist-hi_rej"</span>);</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment">/* position in the frame lower left in X */</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment">/* pixel coordinate of lower left sinfo_edge of a rectangle zone from which </span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment"> image statistics are computed */</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.bp_dist.llx"</span>,</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="stringliteral">"llx: "</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="stringliteral">"to compute image statistics on a rectangular"</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="stringliteral">"zone of the image the coordinates of the "</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="stringliteral">"rectangle are needed:"</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="stringliteral">"lower left x coordinate"</span>,</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="stringliteral">"sinfoni.bp_dist"</span>,</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> 1350,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment">/* 1000 */</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_dist-llx"</span>);</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment">/* position in the frame lower left in Y */</span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment">/* pixel coordinate of lower left sinfo_edge of a rectangle zone from which </span></div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment"> image statistics are computed */</span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.bp_dist.lly"</span>,</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="stringliteral">"lly: "</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="stringliteral">"to compute image statistics on a rectangular"</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="stringliteral">"zone of the image the coordinates of the "</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="stringliteral">"rectangle are needed:"</span> </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="stringliteral">"lower left y coordinate"</span>,</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="stringliteral">"sinfoni.bp_dist"</span>,</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> 1000,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment">/* 1000 */</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_dist-lly"</span>);</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment">/* Upper right position in CCD : should be urx */</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment">/* pixel coordinate of upper right sinfo_edge of a rectangle zone from which </span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment"> image statistics are computed */</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.bp_dist.urx"</span>,</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="stringliteral">"urx: "</span></div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="stringliteral">"to compute image statistics on a rectangular"</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="stringliteral">"zone of the image the coordinates of the "</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="stringliteral">"rectangle are needed:"</span> </div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="stringliteral">"upper right x coordinate"</span>,</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="stringliteral">"sinfoni.bp_dist"</span>,</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> 1390,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="comment">/* 1350*/</span></div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_dist-urx"</span>);</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment">/* Upper right position in CCD : should be ury */</span></div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment">/* pixel coordinate of upper right sinfo_edge of a rectangle zone from which </span></div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment"> image statistics are computed */</span></div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.bp_dist.ury"</span>,</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="stringliteral">"ury: "</span></div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="stringliteral">"to compute image statistics on a rectangular"</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="stringliteral">"zone of the image the coordinates of the "</span></div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="stringliteral">"rectangle are needed:"</span> </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="stringliteral">"upper right y coordinate"</span>,</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="stringliteral">"sinfoni.bp_dist"</span>,</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> 1200,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="comment">/* 1390 */</span></div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_dist-ury"</span>);</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="comment">/* boolean (implemented as integer) useda s a switch */</span></div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="comment">/* indicates if the values beyond threshold values should be marked </span></div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="comment"> as bad before proceeding to sinfo_median filtering */</span></div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.bp_dist.threshold_index"</span>,</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="stringliteral">"Threshold Index: "</span></div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="stringliteral">"indicator that indicates if the values "</span></div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="stringliteral">"beyond a threshold deviation from the mean "</span></div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="stringliteral">"are flagged as bad pixels"</span>,</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="stringliteral">"sinfoni.bp_dist"</span>,</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> TRUE);</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_dist-thr_ind"</span>);</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="comment">/* threshold value. Float. Threshold used to find bad pixel */</span></div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="comment">/* factor to the clean standard deviation to define the threshold </span></div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="comment"> deviation from the clean mean */</span></div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.bp_dist.mean_factor"</span>,</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="stringliteral">"Mean Factor: "</span></div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="stringliteral">"factor to the clean standard deviation to "</span></div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="stringliteral">"define the threshold deviation from the "</span></div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="stringliteral">"clean mean"</span>,</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="stringliteral">"sinfoni.bp_dist"</span>,</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> 999.,0.1,1.e10);</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_dist-mean_fct"</span>);</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.bp_dist.min_cut"</span>,</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="stringliteral">"the minimum value of real data"</span>,</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="stringliteral">"sinfoni.bp_dist"</span>,</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> 0.1);</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_dist-min_cut"</span>);</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.bp_dist.max_cut"</span>,</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="stringliteral">"the minimum value of real data"</span>,</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="stringliteral">"sinfoni.bp_dist"</span>,</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> 50000.);</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_dist-max_cut"</span>);</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__bp__dist__config_8h_source.html b/html/sinfo__bp__dist__config_8h_source.html
deleted file mode 100644
index b045c4d..0000000
--- a/html/sinfo__bp__dist__config_8h_source.html
+++ /dev/null
@@ -1,88 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_bp_dist_config.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_bp_dist_config.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_bp_dist_config.h,v 1.1 2006/10/20 08:06:32 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2006/10/20 08:06:32 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Bad pixel search (normal method) *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifndef SINFO_BP_DIST_CONFIG_H</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_BP_DIST_CONFIG_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "cpl.h"</span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">#include "sinfo_dfs.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keywordtype">void</span> <a class="code" href="group__sinfo__bad__pix__search.html#ga4f320ea65a00f127ece79fd2c6416a15" title="Adds parameters for the spectrum extraction.">sinfo_bp_dist_config_add</a>(cpl_parameterlist *list);</div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__bp__lin_8c_source.html b/html/sinfo__bp__lin_8c_source.html
deleted file mode 100644
index 9d49f06..0000000
--- a/html/sinfo__bp__lin_8c_source.html
+++ /dev/null
@@ -1,400 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_bp_lin.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_bp_lin.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"></span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_bp_lin.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : J. Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : May 5, 2003</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : Different methods for searching for bad pixels</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> used in the recipe spiffi_badsearch</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"></span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">//#include <cpl_imagelist_basic.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_bp_lin.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_detlin.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_detlin_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_pro_save.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_hidden.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> Function Definitions</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> sinfo_new_bp_search_lin(<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id,</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> cpl_parameterlist* config,</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> cpl_frameset* sof)</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> {</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> detlin_config * cfg=NULL;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> cpl_imagelist * imgl=NULL ;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> cpl_imagelist * coeffs_imgl=NULL;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> cpl_image * img_tmp=NULL ;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> cpl_image * mask=NULL;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> cpl_vector* cube_mean=NULL;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> cpl_frameset* raw=NULL;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> cpl_frameset* raw_on=NULL;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> cpl_frameset* raw_of=NULL;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> cpl_frame* frm=NULL;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> cpl_frame* frm_dup=NULL;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> cpl_table* qclog_tbl=NULL;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> cpl_parameter *p=NULL;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> cpl_polynomial *pol=NULL;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> cpl_vector* vec_adl=NULL;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> cpl_vector* vec_med=NULL;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keywordtype">double</span>* mse=NULL;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">int</span> n_bad=0 ;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keywordtype">int</span> nff=0;</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordtype">char</span> key_value[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">char</span> key_name[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> cpl_table* det_lin=NULL;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">int</span> nraw=0;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">int</span>* status=NULL;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> cpl_table* gain=NULL;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">int</span> ngain=0;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">int</span> sz_imgl=0;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">int</span> llx=270;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">int</span> lly=1030;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordtype">int</span> urx=310;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordtype">int</span> ury=1060;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordtype">int</span> zone[4];</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">//int kappa=5;</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment">//int nclip=25;</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordtype">int</span> pdensity=0;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> check_nomsg(p=cpl_parameterlist_find(config,<span class="stringliteral">"sinfoni.product.density"</span>));</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> check_nomsg(pdensity=cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment">/* parse the file names and parameters to the bad_config</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment"> data structure cfg */</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> check_nomsg(raw=cpl_frameset_new());</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> cknull(cfg = sinfo_parse_cpl_input_detlin(config,sof,&raw),</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="stringliteral">"could not parse .ini file!"</span>);</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment">/* ======================================================================</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment"> DETERMINES LINEARITY COEFF AS DFO DOES</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment"> ======================================================================</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> nff=cpl_frameset_get_size(raw);</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> raw_on=cpl_frameset_new();</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> raw_of=cpl_frameset_new();</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment">/* separates on and off frames */</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keywordflow">for</span>(i=0;i<nff;i++) {</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> frm=cpl_frameset_get_frame(raw,i);</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> frm_dup=cpl_frame_duplicate(frm);</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keywordflow">if</span>(sinfo_frame_is_on(frm)) {</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> cpl_frameset_insert(raw_on,frm_dup);</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> cpl_frameset_insert(raw_of,frm_dup);</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> }</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> }</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment"> cknull(det_lin=sinfo_get_linearity(raw_on,raw_of),</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment"> "Error computing linearity");</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> zone[0]=llx;</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> zone[1]=lly;</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> zone[2]=urx;</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> zone[3]=ury;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment">//If one refers to a larger area</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> zone[0]=20;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> zone[1]=2028;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> zone[2]=20;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> zone[3]=2028;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment"> cknull(det_lin=irplib_compute_linearity(raw_on,raw_of),</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment"> "Error computing linearity");</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordflow">if</span>(pdensity > 1 ) {</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> sinfo_msg(<span class="stringliteral">"Computes linearity"</span>);</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> cknull(det_lin=sinfo_compute_linearity(raw_on,raw_of),</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="stringliteral">"Error computing linearity"</span>);</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> check_nomsg(nraw=cpl_table_get_nrow(det_lin));</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> check_nomsg(vec_adl=cpl_vector_new(nraw));</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> check_nomsg(vec_med=cpl_vector_new(nraw));</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">for</span>(i=0;i<nraw;i++) {</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> cpl_vector_set(vec_adl,i,cpl_table_get_double(det_lin,<span class="stringliteral">"adl"</span>,i,status));</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> cpl_vector_set(vec_med,i,cpl_table_get_double(det_lin,<span class="stringliteral">"med"</span>,i,status));</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> }</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> check_nomsg(pol=sinfo_polynomial_fit_1d_create(vec_adl,vec_med,</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> cfg->order,mse));</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> sinfo_free_my_vector(&vec_adl);</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> sinfo_free_my_vector(&vec_med);</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> cknull_nomsg(qclog_tbl=sinfo_qclog_init());</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> cpl_size deg=0;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keywordflow">for</span>(deg=0;deg<cfg->order+1;deg++) {</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> snprintf(key_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%"</span> CPL_SIZE_FORMAT <span class="stringliteral">"%s"</span>,<span class="stringliteral">"QC BP-MAP LIN"</span>,deg,<span class="stringliteral">" MED"</span>);</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> sinfo_qclog_add_double(qclog_tbl,key_name,</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> cpl_polynomial_get_coeff(pol,°),</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="stringliteral">"Linearity Polynomial Coeff"</span>,<span class="stringliteral">"%g"</span>);</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> }</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> sinfo_free_polynomial(&pol);</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> check_nomsg(p = cpl_parameterlist_find(config, <span class="stringliteral">"sinfoni.bp.method"</span>));</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> snprintf(key_value, MAX_NAME_SIZE-1,<span class="stringliteral">"%s"</span>,cpl_parameter_get_string(p));</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> ck0_nomsg(sinfo_qclog_add_string(qclog_tbl,<span class="stringliteral">"QC BP-MAP METHOD"</span>,key_value,</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="stringliteral">"BP search method"</span>,<span class="stringliteral">"%s"</span>));</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> ck0(sinfo_pro_save_tbl(det_lin,raw,sof,BP_LIN_LIN_DET_INFO_OUT_FILENAME,</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> PRO_LIN_DET_INFO,qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="stringliteral">"cannot dump ims %s"</span>,BP_LIN_LIN_DET_INFO_OUT_FILENAME);</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> sinfo_free_table(&det_lin);</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> }</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment">/*=======================================================*/</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keywordflow">if</span>(pdensity > 1 ) {</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> sinfo_msg(<span class="stringliteral">"Computes gain"</span>);</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> cknull(gain=sinfo_compute_gain(raw_on,raw_of),<span class="stringliteral">"Error computing gain"</span>);</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="comment">//cknull(gain=irplib_compute_gain(raw_on,raw_of,zone,kappa,nclip),</span></div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="comment">// "Error computing gain");</span></div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> sinfo_free_frameset(&raw_on);</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> sinfo_free_frameset(&raw_of);</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> check_nomsg(ngain=cpl_table_get_nrow(gain));</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> cknull_nomsg(qclog_tbl=sinfo_qclog_init());</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordflow">for</span>(i=0;i<ngain;i++) {</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> snprintf(key_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%i"</span>,<span class="stringliteral">"QC GAIN"</span>,i);</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,key_name,</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> cpl_table_get_double(gain,<span class="stringliteral">"gain"</span>,i,status),</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="stringliteral">"Detector gain"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> }</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC GAIN"</span>,</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> cpl_table_get_column_median(gain,<span class="stringliteral">"gain"</span>),<span class="stringliteral">"Detector gain median"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC GAINERR"</span>,</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> cpl_table_get_column_stdev(gain,<span class="stringliteral">"gain"</span>),<span class="stringliteral">"Detector gain error"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> ck0(sinfo_pro_save_tbl(gain,raw,sof,BP_LIN_GAIN_OUT_FILENAME,PRO_GAIN_INFO,</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="stringliteral">"cannot dump tbl %s"</span>, BP_LIN_GAIN_OUT_FILENAME);</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> sinfo_free_table(&gain);</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> }</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="comment">/* =======================================================================</span></div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="comment"> DETERMINES LINEARITY COEFF AS MPE DOES</span></div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="comment"> =======================================================================</span></div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> check_nomsg(imgl = cpl_imagelist_new());</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="keywordflow">for</span> ( i = 0 ; i < cfg->nframes ; i++ )</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> {</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="keywordflow">if</span>(sinfo_is_fits_file (cfg->framelist[i]) != 1) {</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Input file %s is not FITS"</span>,cfg->framelist[i] );</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> }</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> check_nomsg(img_tmp=cpl_image_load(cfg->framelist[i],CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> check_nomsg(cpl_imagelist_set(imgl,img_tmp,i));</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> }</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="comment">/*----------------------------------------------------------------</span></div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="comment"> *---------------------- SEARCH FOR BAD PIXELS---------------------</span></div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="comment"> *--------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> sinfo_msg(<span class="stringliteral">"Search for bad pixels"</span>);</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> cknull(coeffs_imgl=sinfo_new_fit_intensity_course(imgl,</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> cfg->order,</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> cfg->loReject,</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> cfg->hiReject),</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="stringliteral">"could not fit polynomial and store coeffs in a data cube!"</span>);</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> sinfo_free_imagelist(&imgl) ;</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> check_nomsg(sz_imgl=cpl_imagelist_get_size(coeffs_imgl));</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="comment">/*---store the polynomial fit coefficients in a data cube----*/</span></div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="comment">/* CUBE NOT DUMPED BECAUSE PROBLEMS ON LAST PLANE */</span></div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> cube_mean=cpl_vector_new(sz_imgl);</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="comment">/* QC LOG */</span></div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> cknull_nomsg(qclog_tbl=sinfo_qclog_init());</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="keywordflow">for</span>(i=0;i<sz_imgl;i++) {</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> cpl_vector_set(cube_mean,i,</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> cpl_image_get_median(cpl_imagelist_get(coeffs_imgl,i)));</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> snprintf(key_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%i%s"</span>,<span class="stringliteral">"QC BP-MAP LIN"</span>,i,<span class="stringliteral">" MEAN"</span>);</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> snprintf(key_value,MAX_NAME_SIZE-1,<span class="stringliteral">"%g"</span>,cpl_vector_get(cube_mean,i));</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,key_name,</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> cpl_vector_get(cube_mean,i),</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="stringliteral">"Linearity Polynomial Coeff"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> }</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> sinfo_free_my_vector(&cube_mean);</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> check_nomsg(p = cpl_parameterlist_find(config, <span class="stringliteral">"sinfoni.bp.method"</span>));</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> snprintf(key_value, MAX_NAME_SIZE-1,<span class="stringliteral">"%s"</span>,cpl_parameter_get_string(p));</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> ck0_nomsg(sinfo_qclog_add_string(qclog_tbl,<span class="stringliteral">"QC BP-MAP METHOD"</span>,key_value,</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="stringliteral">"BP search method"</span>,<span class="stringliteral">"%s"</span>));</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> </div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> ck0(sinfo_pro_save_ims(coeffs_imgl,raw,sof,cfg->coeffsCubeName,</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> PRO_BP_COEFF,qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="stringliteral">"cannot dump ims %s"</span>, cfg->coeffsCubeName);</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> </div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="comment">/* =======================================================================</span></div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="comment"> DETERMINES BAD PIXEL MAP</span></div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="comment"> =======================================================================</span></div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> sinfo_msg(<span class="stringliteral">"Generates bad pixel map"</span>);</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> cknull(mask = sinfo_new_search_bad_pixels (coeffs_imgl,</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> cfg->threshSigmaFactor,</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> cfg->nonlinearThresh,</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> cfg->loReject,</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> cfg->hiReject),</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="stringliteral">"could not create bad pixel mask!"</span>) ;</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> </div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> sinfo_free_imagelist(&coeffs_imgl) ;</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> </div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> check_nomsg(n_bad = sinfo_new_count_bad_pixels(mask)) ;</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> sinfo_msg( <span class="stringliteral">"No of bad pixels: %d"</span>, n_bad ) ;</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="comment">/* QC LOG */</span></div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> cknull_nomsg(qclog_tbl=sinfo_qclog_init());</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> check_nomsg(p = cpl_parameterlist_find(config, <span class="stringliteral">"sinfoni.bp.method"</span>));</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> snprintf(key_value, MAX_NAME_SIZE-1,<span class="stringliteral">"%s"</span>,cpl_parameter_get_string(p));</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> ck0_nomsg(sinfo_qclog_add_string(qclog_tbl,<span class="stringliteral">"QC BP-MAP METHOD"</span>,key_value,</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="stringliteral">"BP search method"</span>,<span class="stringliteral">"%s"</span>));</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC BP-MAP NBADPIX"</span>,n_bad,</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="stringliteral">"No of bad pixels"</span>,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> ck0(sinfo_pro_save_ima(mask,raw,sof,cfg->outName,PRO_BP_MAP_NL,qclog_tbl,</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> plugin_id,config),</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="stringliteral">"cannot save ima %s"</span>, cfg->outName);</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> </div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> </div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="comment">/* ======================================================================</span></div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="comment"> FREE MEMORY</span></div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="comment"> ======================================================================</span></div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> </div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> sinfo_free_image(&mask);</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> sinfo_free_frameset(&raw);</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> sinfo_detlin_free(&cfg);</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> </div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> </div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> cleanup:</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> sinfo_free_frameset(&raw_on);</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> sinfo_free_frameset(&raw_of);</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> </div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> sinfo_free_image(&mask) ;</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> sinfo_free_my_vector(&cube_mean);</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> sinfo_free_imagelist(&imgl);</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> sinfo_free_imagelist(&coeffs_imgl);</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> sinfo_free_table(&gain);</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> sinfo_free_table(&det_lin);</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> sinfo_free_my_vector(&vec_adl);</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> sinfo_free_my_vector(&vec_med);</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> sinfo_free_polynomial(&pol);</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> sinfo_detlin_free(&cfg);</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> sinfo_free_frameset(&raw);</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> </div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> </div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__bp__lin_8h_source.html b/html/sinfo__bp__lin_8h_source.html
deleted file mode 100644
index 3a00518..0000000
--- a/html/sinfo__bp__lin_8h_source.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_bp_lin.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_bp_lin.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_BP_LIN_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_BP_LIN_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*******************************************************************************</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* "@(#) $Id: sinfo_bp_lin.h,v 1.2 2007/06/06 07:10:45 amodigli Exp $"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* schreib 06/05/03 created</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * bp_lin.h</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * routines to search for bad pixels</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> * Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> sinfo_new_bp_search_lin (<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id, </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> cpl_parameterlist* config, </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> cpl_frameset* <span class="keyword">set</span>);</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#endif </span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor"></span><span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__bp__lin__config_8c_source.html b/html/sinfo__bp__lin__config_8c_source.html
deleted file mode 100644
index 774306a..0000000
--- a/html/sinfo__bp__lin__config_8c_source.html
+++ /dev/null
@@ -1,176 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_bp_lin_config.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_bp_lin_config.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_bp_lin_config.c,v 1.5 2012/03/02 08:42:20 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2012/03/02 08:42:20 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.5 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> * Bad pixel search (Linear method) *</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_bp_lin_config.h"</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/* Bad pixel parameters */</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> sinfo_bp_lin_config_add(cpl_parameterlist *list)</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> {</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> cpl_parameter *p;</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordflow">if</span> (!list) {</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> }</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">/* order of the fit polynomial = number of coefficents - 1 */</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.bp_lin.order"</span>,</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="stringliteral">"Order: "</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="stringliteral">"order of the fit polynomial = "</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="stringliteral">"number of coefficents - 1"</span>,</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="stringliteral">"sinfoni.bp_lin"</span>,</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> 2);</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_lin-order"</span>);</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.bp_lin.thresh_sigma_factor"</span>,</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="stringliteral">"Threshold Sigma Factor: "</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="stringliteral">"threshold factor of the clean standard "</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="stringliteral">"deviation. If the deviations of the linear "</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="stringliteral">"polynomial coefficients exceed this threshold "</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="stringliteral">"the corresponding pixels are declared as bad "</span>,</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="stringliteral">"sinfoni.bp_noise"</span>,</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> 10.);</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_lin-thresh_sigma_fct"</span>);</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment">/* if a non-linear coefficient exceeds this value the </span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment"> corresponding pixel is declared as bad</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.bp_lin.nlin_threshold"</span>,</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="stringliteral">"Non Linear Threshold"</span>,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="stringliteral">"sinfoni.bp_lin"</span>,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> 0.5);</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_lin-nlin_threshold"</span>);</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">/* float </span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment"> threshold used in the clean mean percentage of rejection used to reject </span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment"> low and high frame */</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">/* percentage of extreme pixel value to reject when calculating the mean </span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment"> and stdev */</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.bp_lin.low_rejection"</span>,</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="stringliteral">"low_rejection: "</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="stringliteral">"percentage of rejected low intensity "</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="stringliteral">"pixels before averaging"</span>,</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="stringliteral">"sinfoni.bp_lin"</span>,</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> 10.,</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> 0.,</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> 100.);</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_lin-lo_rej"</span>);</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment">/* float </span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment"> threshold used in the clean mean percentage of rejection used to reject </span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment"> low and high frame */</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment">/* percentage of extreme pixel value to reject when calculating the mean </span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment"> and stdev */</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.bp_lin.high_rejection"</span>,</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="stringliteral">"high_rejection: "</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="stringliteral">"percentage of rejected high intensity "</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="stringliteral">"pixels before averaging"</span>,</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="stringliteral">"sinfoni.bp_lin"</span>,</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> 10.,0.,100.);</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_lin-hi_rej"</span>);</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__bp__lin__config_8h_source.html b/html/sinfo__bp__lin__config_8h_source.html
deleted file mode 100644
index 2f8c8a3..0000000
--- a/html/sinfo__bp__lin__config_8h_source.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_bp_lin_config.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_bp_lin_config.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_bp_lin_config.h,v 1.2 2006/10/22 14:12:27 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2006/10/22 14:12:27 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.2 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Bad pixel search (normal method) *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifndef SINFO_BP_LIN_CONFIG_H</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_BP_LIN_CONFIG_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "cpl.h"</span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keywordtype">void</span> sinfo_bp_lin_config_add(cpl_parameterlist *list);</div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__bp__noise_8c_source.html b/html/sinfo__bp__noise_8c_source.html
deleted file mode 100644
index 03e402e..0000000
--- a/html/sinfo__bp__noise_8c_source.html
+++ /dev/null
@@ -1,182 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_bp_noise.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_bp_noise.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_bp_noise.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : J. Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : May 5, 2003</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : Different methods for searching for bad pixels</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> used in the recipe spiffi_bp_noise </span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"></span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_bp_noise.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_detnoise_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_pro_save.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_raw_types.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_detlin.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> Function Definitions</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> sinfo_new_bp_search_noise (<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id,</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> cpl_parameterlist* config, </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* out_name )</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> {</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> detnoise_config * cfg =NULL;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> cpl_imagelist * image_list=NULL ;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> cpl_image * img_tmp=NULL ;</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> cpl_image * mask=NULL ;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> cpl_parameter *p=NULL;</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> cpl_frameset* raw=NULL;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> cpl_table* qclog_tbl=NULL;</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordtype">char</span> key_value[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">int</span> n_bad =0;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">/*parse the file names and parameters to the detnoise_config data </span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> structure cfg*/</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> check_nomsg(raw=cpl_frameset_new());</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> ck0(sinfo_extract_raw_frames_type1(sof,raw,RAW_DARK),</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="stringliteral">"Error extracting %s frames"</span>,RAW_DARK);</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> cknull(cfg = sinfo_parse_cpl_input_detnoise(config,sof,&raw),</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="stringliteral">" could not parse .ini file!"</span>) ;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> check_nomsg(image_list = cpl_imagelist_new());</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordflow">for</span> ( i = 0 ; i < cfg->nframes ; i++ )</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> {</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keywordflow">if</span>(sinfo_is_fits_file (cfg->framelist[i]) != 1) {</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Input file %s is not FITS"</span>,cfg->framelist[i] );</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> }</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> check_nomsg(img_tmp=cpl_image_load(cfg->framelist[i],</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> check_nomsg(cpl_imagelist_set(image_list,img_tmp,i));</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> }</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">/*-----------------------------------------------------------------</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment"> *---------------------- SEARCH FOR BAD PIXELS---------------------</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"> *-----------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> sinfo_msg(<span class="stringliteral">"Noise Search for bad pixels"</span>);</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment">/*---generate the bad pixel mask-------------*/</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> cknull(mask=sinfo_new_search_bad_pixels_via_noise (image_list, </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> cfg->threshSigmaFactor,</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> cfg->loReject,</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> cfg->hiReject),</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="stringliteral">" could not create bad pixel mask!"</span>) ;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> n_bad = sinfo_new_count_bad_pixels(mask) ;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> sinfo_msg (<span class="stringliteral">"number of bad pixels: %d\n"</span>, n_bad) ;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">/* QC LOG */</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> cknull_nomsg(qclog_tbl = sinfo_qclog_init());</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> check_nomsg(p = cpl_parameterlist_find(config, <span class="stringliteral">"sinfoni.bp.method"</span>));</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> snprintf(key_value, MAX_NAME_SIZE-1,<span class="stringliteral">"%s"</span>,cpl_parameter_get_string(p));</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> ck0_nomsg(sinfo_qclog_add_string(qclog_tbl,<span class="stringliteral">"QC BP-MAP METHOD"</span>,key_value,</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="stringliteral">"BP search method"</span>,<span class="stringliteral">"%s"</span>));</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC BP-MAP NBADPIX"</span>,n_bad,</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="stringliteral">"No of bad pixels"</span>,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> ck0(sinfo_pro_save_ima(mask,raw,sof,(<span class="keywordtype">char</span> *) out_name,</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> PRO_BP_MAP_HP,qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="stringliteral">"cannot save ima %s"</span>, out_name);</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> sinfo_free_image(&mask);</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> sinfo_free_imagelist(&image_list) ;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> sinfo_detnoise_free(cfg);</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> sinfo_free_frameset(&raw);</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> cleanup:</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> sinfo_free_imagelist(&image_list) ;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> sinfo_free_image(&mask) ;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> sinfo_detnoise_free(cfg);</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> sinfo_free_frameset(&raw);</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__bp__noise_8h_source.html b/html/sinfo__bp__noise_8h_source.html
deleted file mode 100644
index d2366a0..0000000
--- a/html/sinfo__bp__noise_8h_source.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_bp_noise.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_bp_noise.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_BP_NOISE_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_BP_NOISE_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*******************************************************************************</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* "@(#) $Id: sinfo_bp_noise.h,v 1.3 2007/06/06 07:10:45 amodigli Exp $"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* schreib 06/05/03 created</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * bp_noise.h</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * routine to search for bad pixels</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> * Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> sinfo_new_bp_search_noise (<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id, </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> cpl_parameterlist* config, </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> cpl_frameset* <span class="keyword">set</span>, </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* out_name);</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#endif </span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__bp__noise__config_8c_source.html b/html/sinfo__bp__noise__config_8c_source.html
deleted file mode 100644
index 1267eee..0000000
--- a/html/sinfo__bp__noise__config_8c_source.html
+++ /dev/null
@@ -1,145 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_bp_noise_config.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_bp_noise_config.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_bp_noise_config.c,v 1.5 2008/01/17 07:54:04 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2008/01/17 07:54:04 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.5 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> * Bad pixel search (noise method) *</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_bp_noise_config.h"</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/* Bad pixel parameters */</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"><a class="code" href="group__sinfo__bad__pix__search.html#gaa86bb476f2328523607038df849c2beb"> 55</a></span> <a class="code" href="group__sinfo__bad__pix__search.html#gaa86bb476f2328523607038df849c2beb" title="Adds parameters for the spectrum extraction.">sinfo_bp_noise_config_add</a>(cpl_parameterlist *list)</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> {</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> cpl_parameter *p;</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordflow">if</span> (!list) {</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> }</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">/* factor of noise within which the pixels are used to fit a straight line </span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> to the column intensity */</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.bp_noise.thresh_sigma_factor"</span>,</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="stringliteral">"Threshold Sigma Factor: "</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="stringliteral">"If the mean noise exceeds this "</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="stringliteral">"threshold times the clean standard deviation "</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="stringliteral">"of the clean mean the corresponding pixels "</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="stringliteral">"are declared as bad "</span>,</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="stringliteral">"sinfoni.bp_noise"</span>,</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> 10.);</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="stringliteral">"bp_noise-thresh_sigma_fct"</span>);</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">/* float </span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> threshold used in the clean mean percentage of rejection used to reject </span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> low and high frame */</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">/* percentage of extreme pixel value to reject when calculating the mean </span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> and stdev */</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.bp_noise.low_rejection"</span>,</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="stringliteral">"low_rejection: "</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="stringliteral">"percentage of rejected low intensity "</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="stringliteral">"pixels before averaging"</span>,</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="stringliteral">"sinfoni.bp_noise"</span>,</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> 10.,0.,100.);</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_noise-lo_rej"</span>);</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment">/* float </span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"> threshold used in the clean mean percentage of rejection used to reject </span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"> low and high frame */</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment">/* percentage of extreme pixel value to reject when calculating the mean </span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"> and stdev */</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.bp_noise.high_rejection"</span>,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="stringliteral">"high_rejection: "</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="stringliteral">"percentage of rejected high intensity "</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="stringliteral">"pixels before averaging"</span>,</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="stringliteral">"sinfoni.bp_noise"</span>,</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> 10.,0.,100.);</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_noise-hi_rej"</span>);</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__bp__noise__config_8h_source.html b/html/sinfo__bp__noise__config_8h_source.html
deleted file mode 100644
index f52537b..0000000
--- a/html/sinfo__bp__noise__config_8h_source.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_bp_noise_config.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_bp_noise_config.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_bp_noise_config.h,v 1.2 2006/10/22 14:12:27 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2006/10/22 14:12:27 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.2 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Bad pixel search (noise method) *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifndef SINFO_BP_NOISE_CONFIG_H</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_BP_NOISE_CONFIG_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "cpl.h"</span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keywordtype">void</span> <a class="code" href="group__sinfo__bad__pix__search.html#gaa86bb476f2328523607038df849c2beb" title="Adds parameters for the spectrum extraction.">sinfo_bp_noise_config_add</a>(cpl_parameterlist *list);</div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__bp__norm_8c_source.html b/html/sinfo__bp__norm_8c_source.html
deleted file mode 100644
index fdd7382..0000000
--- a/html/sinfo__bp__norm_8c_source.html
+++ /dev/null
@@ -1,400 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_bp_norm.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_bp_norm.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_bp_norm.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : J. Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : May 5, 2003</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : Different methods for searching for bad pixels</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> used in the recipe sinfo_rec_mflat </span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"></span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span><span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_bp_norm.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_image_ops.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_detlin.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_badnorm_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_baddist_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_pro_save.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_hidden.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> Function Definitions</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> sinfo_new_bp_search_normal (<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id,</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> cpl_parameterlist* config, </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> cpl_frameset* ref_set, </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* procatg)</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> {</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> bad_config * cfg =NULL;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> cpl_imagelist * image_list =NULL;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> cpl_image ** med=NULL ;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> cpl_image * medImage =NULL;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> cpl_image * medIm =NULL;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> cpl_image * colImage =NULL;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> cpl_image * compImage =NULL;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> cpl_image * maskImage =NULL;</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> cpl_image * threshIm =NULL;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> Stats * stats =NULL;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> cpl_parameter *p=NULL; </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordtype">int</span> no=0;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">float</span> lo_cut=0.;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">float</span> hi_cut=0.;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">int</span> n=0;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordtype">int</span> half_box_size=0 ;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> cpl_frameset* raw=NULL;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> cpl_table* qclog_tbl=NULL;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">char</span> key_value[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment">/* parse the file names and parameters to the bad_config data structure </span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment"> cfg */</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> sinfo_check_rec_status(0);</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> check_nomsg(raw=cpl_frameset_new());</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> sinfo_check_rec_status(1);</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordflow">if</span> (strcmp(procatg,PRO_BP_MAP_NO) == 0) {</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> cknull(cfg = sinfo_parse_cpl_input_badnorm(config,sof,procatg,&raw),</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="stringliteral">"could not parse cpl input!"</span>);</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(procatg,PRO_BP_MAP_DI) == 0) {</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> cknull(cfg = sinfo_parse_cpl_input_baddist(config,sof,procatg,&raw),</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="stringliteral">"could not parse cpl input!"</span>);</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(procatg,PRO_DEFAULT) == 0) {</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> cknull(cfg = sinfo_parse_cpl_input_badnorm(config,sof,procatg,&raw),</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="stringliteral">"could not parse cpl input!"</span>);</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Error: PRO.CATG %s, not supported!"</span>,procatg);</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> }</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> sinfo_check_rec_status(2);</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment">/* take a clean mean of the frames */</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> sinfo_msg(<span class="stringliteral">"Takes a clean mean of the frames"</span>);</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> check_nomsg(image_list = cpl_imagelist_new());</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> sinfo_check_rec_status(3);</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">for</span> ( i = 0 ; i < cfg->nframes ; i++ ){</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordflow">if</span>(sinfo_is_fits_file (cfg->framelist[i]) != 1) {</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Input file %s is not FITS"</span>,cfg->framelist[i] );</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> }</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> check_nomsg(cpl_imagelist_set(image_list, </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> cpl_image_load(cfg->framelist[i],CPL_TYPE_FLOAT,0,0),i));</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> }</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment">/* finally take the average image of the cube by </span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment"> rejecting the extreme values */</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> check_nomsg(no=cpl_imagelist_get_size(image_list));</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> lo_cut=(floor)(cfg->loReject*no+0.5);</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> hi_cut=(floor)(cfg->hiReject*no+0.5);</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> cknull(medImage=cpl_imagelist_collapse_minmax_create(image_list,</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> lo_cut,</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> hi_cut),</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="stringliteral">"error in sinfo_average_with_rejection"</span>) ;</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment">/* free memory */</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> sinfo_free_imagelist(&image_list) ;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment">/*----------------------------------------------</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment"> * remove the intensity tilt from every column</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment"> * and compute the standard deviation on a rectangular zone</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> cknull(medIm = sinfo_new_thresh_image(medImage, cfg->mincut, cfg->maxcut),</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="stringliteral">"error sinfo_new_thresh_image"</span>);</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> cknull(colImage = sinfo_new_col_tilt( medIm, cfg->sigmaFactor ),</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="stringliteral">"sinfo_colTilt failed"</span> ) ;</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> cknull(stats = sinfo_new_image_stats_on_rectangle(colImage, </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> cfg->loReject, </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> cfg->hiReject,</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> cfg->llx,</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> cfg->lly,</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> cfg->urx,</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> cfg->ury),</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="stringliteral">" sinfo_get_image_stats_on_vig failed"</span>) ;</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keywordflow">if</span>(stats!=NULL) {</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> sinfo_msg(<span class="stringliteral">"Clean stdev: %f\n"</span>, stats->cleanstdev ) ;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> sinfo_msg(<span class="stringliteral">"Clean mean: %f\n"</span>, stats->cleanmean ) ;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> }</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="comment"> cknull_nomsg(qclog_tbl = sinfo_qclog_init());</span></div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment"> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,"QC ICTILT STDEV",</span></div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment"> stats->cleanstdev,</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment"> "Intensity column clean stdev","%g"));</span></div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="comment"> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,"QC ICTILT MEAN",</span></div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="comment"> stats->cleanmean,</span></div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="comment"> "Intensity column clean mean","%g"));</span></div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="comment"></span></div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="comment"> ck0(sinfo_pro_save_ima(colImage,raw,sof,</span></div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="comment"> (char*) BP_NORM_INT_COL_TILT_CORR_OUT_FILENAME,</span></div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="comment"> PRO_INT_COL_TILT_COR,qclog_tbl,plugin_id,config),</span></div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="comment"> "cannot save ima %s",</span></div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="comment"> BP_NORM_INT_COL_TILT_CORR_OUT_FILENAME);</span></div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="comment"></span></div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment"> sinfo_free_table(&qclog_tbl);</span></div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="comment">/* indicate pixels with great deviations from the clean mean as bad */</span></div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keywordflow">if</span> (cfg->threshInd == 1) {</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> cknull(threshIm = sinfo_new_thresh_image(colImage, </div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> stats->cleanmean-cfg->meanfactor*stats->cleanstdev, </div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> stats->cleanmean+cfg->meanfactor*stats->cleanstdev),</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="stringliteral">" sinfo_threshImage failed"</span> ) ;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> }</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordflow">if</span> (cfg->threshInd == 0 ) {</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> threshIm = colImage ;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> }</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="comment">/* AMO here invalid fread? */</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> med = (cpl_image**) cpl_calloc (cfg -> iterations, <span class="keyword">sizeof</span>(cpl_image*)) ;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="comment">/* filter iteratively the images by a sinfo_median filter of the nearest </span></div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="comment"> neighbors under the condition of a deviation greater than a factor </span></div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="comment"> times the standard deviation */</span></div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> sinfo_msg(<span class="stringliteral">"Apply sinfo_median filter on pixel nearest neighbors"</span>);</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keywordflow">if</span> (cfg->methodInd == 1) {</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keywordflow">if</span> (cfg->factor>0) {</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> cknull(med[0]=sinfo_new_median_image(threshIm,</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> -cfg->factor*stats->cleanstdev),</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="stringliteral">" sinfo_medianImage failed (1)"</span> ) ;</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keywordflow">for</span> ( i = 0 ; i < cfg->iterations - 1 ; i++ ) {</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> cknull(med[i+1]=sinfo_new_median_image(med[i], </div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> -cfg->factor*stats->cleanstdev),</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="stringliteral">"sinfo_medianImage failed (2)"</span>);</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> }</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> cknull(med[0] = sinfo_new_median_image(threshIm, -cfg->factor),</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="stringliteral">" sinfo_medianImage failed (1)"</span> ) ;</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="keywordflow">for</span> ( i = 0 ; i < cfg->iterations - 1 ; i++ ) {</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> cknull(med[i+1] = sinfo_new_median_image(med[i], -cfg->factor),</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="stringliteral">" sinfo_medianImage failed (%d)"</span>,i ) ;</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> }</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> }</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (cfg->methodInd == 2) {</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> cknull(med[0] = sinfo_new_abs_dist_image(threshIm, -cfg->factor),</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="stringliteral">" sinfo_absDistImage failed (1)"</span> ) ;</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="keywordflow">for</span> ( i = 0 ; i < cfg->iterations -1 ; i++ ) {</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> cknull(med[i+1] = sinfo_new_abs_dist_image(med[i], -cfg->factor),</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="stringliteral">" sinfo_absDistImage failed (2)"</span> ) ;</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> }</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (cfg->methodInd == 3) {</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> cknull(med[0] = sinfo_new_mean_image_in_spec(threshIm, </div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> -cfg->factor*stats->cleanstdev),</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="stringliteral">"sinfo_meanImageInSpec failed (1)"</span>);</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="keywordflow">for</span> ( i = 0 ; i < cfg->iterations - 1 ; i++ ) {</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> cknull(med[i+1] = sinfo_new_mean_image_in_spec(med[i], </div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> -cfg->factor*stats->cleanstdev),</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="stringliteral">" sinfo_meanImageInSpec failed (2)"</span>);</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> }</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (cfg->methodInd == 4) {</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> half_box_size = (cfg->urx - cfg->llx) / 2 ;</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> cknull(med[0] = sinfo_new_local_median_image(threshIm, </div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> -cfg->factor,</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> cfg->loReject,</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> cfg->hiReject,</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> half_box_size),</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="stringliteral">" sinfo_localMedianImage failed (1)"</span> ) ;</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keywordflow">for</span> ( i = 0 ; i < cfg->iterations - 1 ; i++ ) {</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> cknull(med[i+1] = sinfo_new_local_median_image(med[i],</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> -cfg->factor,</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> cfg->loReject,</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> cfg->hiReject,</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> half_box_size),</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="stringliteral">" sinfo_localMedianImage failed (2)"</span> ) ;</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> }</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" wrong indicator methodInd !"</span> ) ;</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="keywordflow">goto</span> cleanup ;</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> }</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="comment">/* compare the filtered image with the input image */</span></div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> cknull(compImage = sinfo_new_compare_images(threshIm, </div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> med[cfg->iterations - 1], </div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> medImage),</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="stringliteral">" sinfo_compareImages failed"</span> ) ;</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="comment">/* generate the bad pixel mask */</span></div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> sinfo_msg(<span class="stringliteral">"Generates bad pixel map"</span>);</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> cknull(maskImage = sinfo_new_promote_image_to_mask( compImage, &n ),</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="stringliteral">" error in sinfo_promoteImageToMask"</span> ) ;</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> sinfo_msg(<span class="stringliteral">"No of bad pixels: %d\n"</span>, n ) ;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> cknull_nomsg(qclog_tbl = sinfo_qclog_init());</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> check_nomsg(p = cpl_parameterlist_find(config, <span class="stringliteral">"sinfoni.bp.method"</span>));</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> snprintf(key_value, MAX_NAME_SIZE-1,<span class="stringliteral">"%s"</span>, cpl_parameter_get_string(p));</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> </div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> ck0_nomsg(sinfo_qclog_add_string(qclog_tbl,<span class="stringliteral">"QC BP-MAP METHOD"</span>,</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> key_value,<span class="stringliteral">"BP search method"</span>,<span class="stringliteral">"%s"</span>));</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC BP-MAP NBADPIX"</span>,n,</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="stringliteral">"No of bad pixels"</span>,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> ck0(sinfo_pro_save_ima(maskImage,ref_set,sof,cfg->outName,</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> procatg,qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="stringliteral">"cannot save ima %s"</span>, cfg->outName);</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> sinfo_free_image(&maskImage);</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> sinfo_free_image(&compImage);</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> sinfo_free_image_array(&med,cfg->iterations);</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="comment"> if (med != NULL) {</span></div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="comment"> for ( i = 0 ; i < cfg->iterations ; i++ ) {</span></div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="comment"> if(med[i] != NULL) {</span></div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="comment"> cpl_image_delete(med[i]) ;</span></div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="comment"> med[i]=NULL;</span></div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="comment"> cpl_free(med) ; </span></div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="comment"> med=NULL;</span></div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="keywordflow">if</span> (stats != NULL) {</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> cpl_free(stats) ;</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> stats=NULL;</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> }</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> sinfo_free_image(&medIm);</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> sinfo_free_image(&medImage);</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> sinfo_free_image(&colImage);</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="keywordflow">if</span> (cfg->threshInd == 1 ) {</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> sinfo_free_image(&threshIm);</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> }</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> sinfo_badnorm_free(&cfg) ;</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> sinfo_free_frameset(&raw);</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> cleanup:</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> </div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> sinfo_free_image_array(&med,cfg->iterations);</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="comment"> if (med != NULL) {</span></div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="comment"> for ( i = 0 ; i < cfg->iterations ; i++ ) {</span></div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="comment"> if(med[i] != NULL) {</span></div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="comment"> cpl_image_delete(med[i]) ;</span></div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="comment"> med[i]=NULL;</span></div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="comment"> cpl_free(med) ; </span></div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="comment"> med=NULL;</span></div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> sinfo_free_image(&compImage) ;</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> sinfo_free_image(&maskImage) ;</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> sinfo_free_image(&threshIm) ;</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> sinfo_free_image(&threshIm) ;</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="keywordflow">if</span> (stats != NULL) {</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> cpl_free(stats) ;</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> stats=NULL;</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> }</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> sinfo_free_image(&medIm);</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> sinfo_free_image(&medImage);</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> sinfo_free_image(&colImage);</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> sinfo_free_imagelist(&image_list) ;</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> sinfo_free_frameset(&raw);</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> sinfo_badnorm_free(&cfg);</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> </div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> }</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__bp__norm_8h_source.html b/html/sinfo__bp__norm_8h_source.html
deleted file mode 100644
index 828558c..0000000
--- a/html/sinfo__bp__norm_8h_source.html
+++ /dev/null
@@ -1,101 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_bp_norm.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_bp_norm.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_BP_NORM_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_BP_NORM_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*******************************************************************************</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* "@(#) $Id: sinfo_bp_norm.h,v 1.4 2007/09/21 14:13:43 amodigli Exp $"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* schreib 06/05/03 created</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * bp_norm.h</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * routine to search for bad pixels</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> * Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> sinfo_new_bp_search_normal (<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id, </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> cpl_parameterlist* config, </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> cpl_frameset* <span class="keyword">set</span>, </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> cpl_frameset* ref_set, </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* procatg);</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__bp__norm__config_8c_source.html b/html/sinfo__bp__norm__config_8c_source.html
deleted file mode 100644
index 0505f5e..0000000
--- a/html/sinfo__bp__norm__config_8c_source.html
+++ /dev/null
@@ -1,302 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_bp_norm_config.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_bp_norm_config.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_bp_norm_config.c,v 1.4 2007/06/06 07:10:45 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2007/06/06 07:10:45 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.4 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> * Bad pixel search (normal method) *</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_bp_norm_config.h"</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/* Bad pixel parameters */</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"><a class="code" href="group__sinfo__bad__pix__search.html#ga6f49eed82217a86089ff7f23465ae3e0"> 55</a></span> <a class="code" href="group__sinfo__bad__pix__search.html#ga6f49eed82217a86089ff7f23465ae3e0" title="Adds parameters for the spectrum extraction.">sinfo_bp_norm_config_add</a>(cpl_parameterlist *list)</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> {</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> cpl_parameter *p;</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordflow">if</span> (!list) {</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> }</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">/* factor of noise within which the pixels are used to fit a straight line </span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> to the column intensity */</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.bp_norm.sigma_factor"</span>,</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="stringliteral">"Threshold Sigma Factor: "</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="stringliteral">"to remove the column intensity tilt only "</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="stringliteral">"pixels which lie within a defined noise"</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="stringliteral">"limit are used to fit a straight line"</span>,</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="stringliteral">"sinfoni.bp_noise"</span>,</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> 5.0);</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_norm-s_factor"</span>);</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">/* bad pixel search determination method */</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> p = cpl_parameter_new_enum(<span class="stringliteral">"sinfoni.bp_norm.method_index"</span>,</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="stringliteral">"Bad pixel Method Index"</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="stringliteral">"1: median of nearest neighbors,"</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="stringliteral">"2: absolute distances check, "</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="stringliteral">"3: mean of nearest spectral neighbors"</span>,</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="stringliteral">"sinfoni.bp_norm"</span>,</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> 1,</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> 3,1,2,3);</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_norm-method_ind"</span>);</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment">/* factor of calculated standard deviation beyond which the deviation </span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> of a pixel value from the median of the 8 nearest neighbors declares </span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"> a pixel as bad */</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.bp_norm.factor"</span>,</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="stringliteral">"Factor: "</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="stringliteral">"if |pixel - median| > factor * standard deviation -> "</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="stringliteral">"then the pixel value is replaced by "</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="stringliteral">"the median of the 8 nearest neighbors"</span>,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="stringliteral">"sinfoni.bp_norm"</span>,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> 10.0);</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_norm-fct"</span>);</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment">/* no of iterations to find bad pix clusters */</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">/* number of iterations of sinfo_median filter */</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.bp_norm.iterations"</span>,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="stringliteral">"Iterations: number of iterations to of median"</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="stringliteral">" filtering to find bad pixel clusters"</span>,</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="stringliteral">"sinfoni.bp_norm"</span>,</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> 8);</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_norm-it"</span>);</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment">/* float </span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment"> threshold used in the clean mean percentage of rejection used to reject </span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment"> low and high frame */</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment">/* percentage of extreme pixel value to reject when calculating the mean </span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment"> and stdev */</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.bp_norm.low_rejection"</span>,</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="stringliteral">"low_rejection: "</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="stringliteral">"percentage of rejected low intensity "</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="stringliteral">"pixels before averaging"</span>,</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="stringliteral">"sinfoni.bp_norm"</span>,</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> 0.1,0.0,1.0);</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_norm-lo_rej"</span>);</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment">/* float </span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment"> threshold used in the clean mean percentage of rejection used to reject </span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment"> low and high frame */</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment">/* percentage of extreme pixel value to reject when calculating the mean </span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment"> and stdev */</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.bp_norm.high_rejection"</span>,</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="stringliteral">"high_rejection: "</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="stringliteral">"percentage of rejected high intensity "</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="stringliteral">"pixels before averaging"</span>,</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="stringliteral">"sinfoni.bp_norm"</span>,</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> 0.1,0.0,1.0);</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_norm-hi_rej"</span>);</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment">/* position in the frame lower left in X */</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment">/* pixel coordinate of lower left sinfo_edge of a rectangle zone from which </span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment"> image statistics are computed */</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.bp_norm.llx"</span>,</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="stringliteral">"llx: "</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="stringliteral">"to compute image statistics on a rectangular"</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="stringliteral">"zone of the image the coordinates of the "</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="stringliteral">"rectangle are needed:"</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="stringliteral">"lower left x coordinate"</span>,</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="stringliteral">"sinfoni.bp_norm"</span>,</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> 270,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_norm-llx"</span>);</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment">/* position in the frame lower left in Y */</span></div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment">/* pixel coordinate of lower left sinfo_edge of a rectangle zone from which </span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment"> image statistics are computed */</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.bp_norm.lly"</span>,</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="stringliteral">"lly: "</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="stringliteral">"to compute image statistics on a rectangular"</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="stringliteral">"zone of the image the coordinates of the "</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="stringliteral">"rectangle are needed:"</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="stringliteral">"lower left y coordinate"</span>,</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="stringliteral">"sinfoni.bp_norm"</span>,</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> LLY,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_norm-lly"</span>);</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment">/* Upper right position in CCD : should be urx */</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment">/* pixel coordinate of upper right sinfo_edge of a rectangle zone from which </span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment"> image statistics are computed */</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.bp_norm.urx"</span>,</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="stringliteral">"urx: "</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="stringliteral">"to compute image statistics on a rectangular"</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="stringliteral">"zone of the image the coordinates of the "</span></div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="stringliteral">"rectangle are needed:"</span> </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="stringliteral">"upper right x coordinate"</span>,</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="stringliteral">"sinfoni.bp_norm"</span>,</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> 310,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_norm-urx"</span>);</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment">/* Upper right position in CCD : should be ury */</span></div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment">/* pixel coordinate of upper right sinfo_edge of a rectangle zone from which </span></div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment"> image statistics are computed */</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.bp_norm.ury"</span>,</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="stringliteral">"ury: "</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="stringliteral">"to compute image statistics on a rectangular"</span></div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="stringliteral">"zone of the image the coordinates of the "</span></div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="stringliteral">"rectangle are needed:"</span> </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="stringliteral">"upper right y coordinate"</span>,</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="stringliteral">"sinfoni.bp_norm"</span>,</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> URY,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_norm-ury"</span>);</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="comment">/* boolean (implemented as integer) useda s a switch */</span></div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="comment">/* indicates if the values beyond threshold values should be marked </span></div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment"> as bad before proceeding to sinfo_median filtering */</span></div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.bp_norm.threshold_index"</span>,</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="stringliteral">"Threshold Index: "</span></div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="stringliteral">"indicator that indicates if the values "</span></div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="stringliteral">"beyond a threshold deviation from the mean "</span></div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="stringliteral">"are flagged as bad pixels"</span>,</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="stringliteral">"sinfoni.bp_norm"</span>,</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> TRUE);</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_norm-thr_ind"</span>);</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="comment">/* threshold value. Float. Threshold used to find bad pixel */</span></div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="comment">/* factor to the clean standard deviation to define the threshold </span></div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="comment"> deviation from the clean mean */</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.bp_norm.mean_factor"</span>,</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="stringliteral">"Mean Factor: "</span></div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="stringliteral">"factor to the clean standard deviation to "</span></div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="stringliteral">"define the threshold deviation from the "</span></div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="stringliteral">"clean mean"</span>,</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="stringliteral">"sinfoni.bp_norm"</span>,</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> 100.,0.1,1.e10);</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_norm-mean_fct"</span>);</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.bp_norm.min_cut"</span>,</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="stringliteral">"the minimum value of real data"</span>,</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="stringliteral">"sinfoni.bp_norm"</span>,</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> 0.0);</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_norm-min_cut"</span>);</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.bp_norm.max_cut"</span>,</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="stringliteral">"the minimum value of real data"</span>,</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="stringliteral">"sinfoni.bp_norm"</span>,</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> 50000.);</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_norm-max_cut"</span>);</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__bp__norm__config_8h_source.html b/html/sinfo__bp__norm__config_8h_source.html
deleted file mode 100644
index aefa6b8..0000000
--- a/html/sinfo__bp__norm__config_8h_source.html
+++ /dev/null
@@ -1,88 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_bp_norm_config.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_bp_norm_config.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_bp_norm_config.h,v 1.1 2006/10/20 08:06:32 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2006/10/20 08:06:32 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Bad pixel search (normal method) *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifndef SINFO_BP_NORM_CONFIG_H</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_BP_NORM_CONFIG_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "cpl.h"</span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">#include "sinfo_dfs.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keywordtype">void</span> <a class="code" href="group__sinfo__bad__pix__search.html#ga6f49eed82217a86089ff7f23465ae3e0" title="Adds parameters for the spectrum extraction.">sinfo_bp_norm_config_add</a>(cpl_parameterlist *list);</div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__bp__sky__config_8c_source.html b/html/sinfo__bp__sky__config_8c_source.html
deleted file mode 100644
index d008156..0000000
--- a/html/sinfo__bp__sky__config_8c_source.html
+++ /dev/null
@@ -1,312 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_bp_sky_config.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_bp_sky_config.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_bp_sky_config.c,v 1.4 2007/06/06 07:10:45 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2007/06/06 07:10:45 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.4 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> * Bad pixel search (normal method) *</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_bp_sky_config.h"</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/* Bad pixel parameters */</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"><a class="code" href="group__sinfo__bad__pix__search.html#gaba8d9bda2f23ab3e4218598434a3ceeb"> 55</a></span> <a class="code" href="group__sinfo__bad__pix__search.html#gaba8d9bda2f23ab3e4218598434a3ceeb" title="Adds parameters for the spectrum extraction.">sinfo_bp_sky_config_add</a>(cpl_parameterlist *list)</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> {</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> cpl_parameter *p;</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordflow">if</span> (!list) {</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> }</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">/* Output file name */</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.bp_sky.out_filename"</span>,</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> CPL_TYPE_STRING,</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="stringliteral">"Output File Name: "</span>,</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="stringliteral">"sinfoni.bp_sky"</span>,</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="stringliteral">"out_bp_sky.fits"</span>);</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> cpl_parameter_set_alias(p,CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"out-bp_sky_filename"</span>);</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">/* factor of noise within which the pixels are used to fit a straight line </span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> to the column intensity */</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.bp_sky.sigma_factor"</span>,</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="stringliteral">"Threshold Sigma Factor: "</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="stringliteral">"to remove the column intensity tilt only "</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="stringliteral">"pixels which lie within a defined noise"</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="stringliteral">"limit are used to fit a straight line"</span>,</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="stringliteral">"sinfoni.bp_noise"</span>,</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> 5.0);</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_sky-s_factor"</span>);</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">/* bad pixel search determination method */</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> p = cpl_parameter_new_enum(<span class="stringliteral">"sinfoni.bp_sky.method_index"</span>,</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="stringliteral">"Bad pixel Method Index"</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="stringliteral">"1: median of nearest neighbors,"</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="stringliteral">"2: absolute distances check, "</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="stringliteral">"3: mean of nearest spectral neighbors"</span>,</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="stringliteral">"sinfoni.bp_sky"</span>,</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> 1,</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> 3,1,2,3);</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_sky-method_ind"</span>);</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment">/* factor of calculated standard deviation beyond which the deviation </span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment"> of a pixel value from the median of the 8 nearest neighbors declares </span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment"> a pixel as bad */</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.bp_sky.factor"</span>,</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="stringliteral">"Factor: "</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="stringliteral">"if |pixel - sinfo_median| > factor * standard deviation -> "</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="stringliteral">"then the pixel value is replaced by "</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="stringliteral">"the median of the 8 nearest neighbors"</span>,</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="stringliteral">"sinfoni.bp_sky"</span>,</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> 3.0);</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_sky-fct"</span>);</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">/* no of iterations to find bad pix clusters */</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment">/* number of iterations of sinfo_median filter */</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.bp_sky.iterations"</span>,</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="stringliteral">"Iterations: number of iterations to of median"</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="stringliteral">" filtering to find bad pixel clusters"</span>,</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="stringliteral">"sinfoni.bp_sky"</span>,</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> 8);</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_sky-it"</span>);</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment">/* float </span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment"> threshold used in the clean mean percentage of rejection used to reject </span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment"> low and high frame */</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">/* percentage of extreme pixel value to reject when calculating the mean </span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment"> and stdev */</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.bp_sky.low_rejection"</span>,</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="stringliteral">"low_rejection: "</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="stringliteral">"percentage of rejected low intensity "</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="stringliteral">"pixels before averaging"</span>,</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="stringliteral">"sinfoni.bp_sky"</span>,</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> 0.1,0.0,1.0);</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_sky-low_rej"</span>);</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment">/* float </span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment"> threshold used in the clean mean percentage of rejection used to reject </span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment"> low and high frame */</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment">/* percentage of extreme pixel value to reject when calculating the mean </span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment"> and stdev */</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.bp_sky.high_rejection"</span>,</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="stringliteral">"high_rejection: "</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="stringliteral">"percentage of rejected high intensity "</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="stringliteral">"pixels before averaging"</span>,</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="stringliteral">"sinfoni.bp_sky"</span>,</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> 0.1,0.0,1.0);</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_sky-upp_rej"</span>);</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment">/* position in the frame lower left in X */</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment">/* pixel coordinate of lower left sinfo_edge of a rectangle zone from which </span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment"> image statistics are computed */</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.bp_sky.llx"</span>,</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="stringliteral">"llx: "</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="stringliteral">"to compute image statistics on a rectangular"</span></div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="stringliteral">"zone of the image the coordinates of the "</span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="stringliteral">"rectangle are needed:"</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="stringliteral">"lower left x coordinate"</span>,</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="stringliteral">"sinfoni.bp_sky"</span>,</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> LLX,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_sky-llx"</span>);</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment">/* position in the frame lower left in Y */</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment">/* pixel coordinate of lower left sinfo_edge of a rectangle zone from which </span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment"> image statistics are computed */</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.bp_sky.lly"</span>,</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="stringliteral">"lly: "</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="stringliteral">"to compute image statistics on a rectangular"</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="stringliteral">"zone of the image the coordinates of the "</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="stringliteral">"rectangle are needed:"</span> </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="stringliteral">"lower left y coordinate"</span>,</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="stringliteral">"sinfoni.bp_sky"</span>,</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> LLY,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_sky-lly"</span>);</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment">/* Upper right position in CCD : should be urx */</span></div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="comment">/* pixel coordinate of upper right sinfo_edge of a rectangle zone from which </span></div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment"> image statistics are computed */</span></div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.bp_sky.urx"</span>,</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="stringliteral">"urx: "</span></div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="stringliteral">"to compute image statistics on a rectangular"</span></div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="stringliteral">"zone of the image the coordinates of the "</span></div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="stringliteral">"rectangle are needed:"</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="stringliteral">"upper right x coordinate"</span>,</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="stringliteral">"sinfoni.bp_sky"</span>,</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> URX,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_sky-urx"</span>);</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="comment">/* Upper right position in CCD : should be ury */</span></div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="comment">/* pixel coordinate of upper right sinfo_edge of a rectangle zone from which </span></div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="comment"> image statistics are computed */</span></div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.bp_sky.ury"</span>,</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="stringliteral">"ury: "</span></div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="stringliteral">"to compute image statistics on a rectangular"</span></div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="stringliteral">"zone of the image the coordinates of the "</span></div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="stringliteral">"rectangle are needed:"</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="stringliteral">"upper right y coordinate"</span>,</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="stringliteral">"sinfoni.bp_sky"</span>,</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> URY,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_sky-ury"</span>);</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="comment">/* boolean (implemented as integer) useda s a switch */</span></div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="comment">/* indicates if the values beyond threshold values should be marked </span></div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment"> as bad before proceeding to sinfo_median filtering */</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.bp_sky.threshold_index"</span>,</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="stringliteral">"Threshold Index: "</span></div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="stringliteral">"indicator that indicates if the values "</span></div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="stringliteral">"beyond a threshold deviation from the mean "</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="stringliteral">"are flagged as bad pixels"</span>,</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="stringliteral">"sinfoni.bp_sky"</span>,</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> TRUE);</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_sky-thr-ind"</span>);</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="comment">/* threshold value. Float. Threshold used to find bad pixel */</span></div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="comment">/* factor to the clean standard deviation to define the threshold </span></div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="comment"> deviation from the clean mean */</span></div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.bp_sky.mean_factor"</span>,</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="stringliteral">"Mean Factor: "</span></div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="stringliteral">"factor to the clean standard deviation to "</span></div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="stringliteral">"define the threshold deviation from the "</span></div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="stringliteral">"clean mean"</span>,</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="stringliteral">"sinfoni.bp_sky"</span>,</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> 10.,0.1,1.e10);</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_sky-mean-fct"</span>);</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.bp_sky.min_cut"</span>,</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="stringliteral">"the minimum value of real data"</span>,</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="stringliteral">"sinfoni.bp_sky"</span>,</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> 0.1);</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_sky-min_cut"</span>);</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.bp_sky.max_cut"</span>,</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="stringliteral">"the minimum value of real data"</span>,</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="stringliteral">"sinfoni.bp_sky"</span>,</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> 50000.);</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"bp_sky-max_cut"</span>);</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__bp__sky__config_8h_source.html b/html/sinfo__bp__sky__config_8h_source.html
deleted file mode 100644
index 75d2fc6..0000000
--- a/html/sinfo__bp__sky__config_8h_source.html
+++ /dev/null
@@ -1,85 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_bp_sky_config.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_bp_sky_config.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_bp_sky_config.h,v 1.1 2006/10/20 08:06:32 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2006/10/20 08:06:32 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Bad pixel search (normal method) *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifndef SINFO_BP_SKY_CONFIG_H</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_BP_SKY_CONFIG_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "cpl.h"</span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="keywordtype">void</span> <a class="code" href="group__sinfo__bad__pix__search.html#gaba8d9bda2f23ab3e4218598434a3ceeb" title="Adds parameters for the spectrum extraction.">sinfo_bp_sky_config_add</a>(cpl_parameterlist *list);</div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__coltilt_8c_source.html b/html/sinfo__coltilt_8c_source.html
deleted file mode 100644
index 891e3da..0000000
--- a/html/sinfo__coltilt_8c_source.html
+++ /dev/null
@@ -1,1160 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_coltilt.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_coltilt.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*******************************************************************************</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* schreib 19/12/00 created</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">* NAME</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">* sinfo_coltilt.c -</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">* procedures to correct for tilted spectra </span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">* SYNOPSIS</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">* 1) float sinfo_new_slope_of_spectrum(cpl_image * ns_image,</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">* int box_length,</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">* float fwhm,</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">* float minDiff )</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">* 2) cpl_image * sinfo_new_shift_rows(cpl_image * image,</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">* float slope )</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">* 3) void sinfo_new_parameter_to_ascii ( float * parameter, </span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">* int n,</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">* char * filename )</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">* 4) float * sinfo_new_ascii_to_parameter ( char * filename,</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">* int * n )</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">* 5) double * sinfo_new_curvature_of_spectrum( cpl_image * ns_image,</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">* int order,</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">* int box_length,</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">* int left_pos,</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">* int right_pos,</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">* float fwhm,</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">* float minDiff )</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">* DESCRIPTION</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">* 1) determines the sub-pixel shifts of each row by using</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">* an image with at least one continuum spectrum of a pinhole</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">* this is done by searching the spectrum within the image</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">* then fitting the spectrum along the rows within a given box</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">* by a sinfo_gaussian, so that the exact position is determined for</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">* each row. Afterwards, a straight line is fitted through the</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">* fitted positions. The slope of this linear fit is returned.</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">* 2) shifts the rows of a raw image by using the output of </span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">* sinfo_slopeOfSpectrum and applying polynomial interpolation</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">* 3) stores parameters in an ASCII file </span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">* 4) writes parameters stored in an ASCII file in an float array</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">* 5) this routine determines the curvature of a spectrum by fitting</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">* a polynomial to a continuum spectrum. This is done by using</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">* an image with at least one continuum spectrum of a pinhole.</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">* this is done by searching the spectrum within the image</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">* then fitting the spectrum along the rows within a given box</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">* by a sinfo_gaussian, so that the exact position is determined for</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">* each row. Afterwards, a polynomial is fitted through the</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">* found positions. The polynomial coefficients are returned.</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">* FILES</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">* ENVIRONMENT</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">* RETURN VALUES</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">* CAUTIONS</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">* EXAMPLES</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">* SEE ALSO</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">* BUGS</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor">#define POSIX_SOURCE 1</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="preprocessor"></span><span class="preprocessor">#include "sinfo_vltPort.h"</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment"> * System Headers</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment"> * Local Headers</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="preprocessor">#include "sinfo_coltilt.h"</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="preprocessor">#include "sinfo_new_resampling.h"</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="preprocessor">#include "sinfo_fit_curve.h"</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment"> * Function codes</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordtype">float</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> sinfo_new_slope_of_spectrum( cpl_image * ns_image,</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordtype">int</span> box_length,</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordtype">float</span> fwhm,</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordtype">float</span> minDiff )</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> {</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordtype">int</span> i, k, row, col ;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordtype">int</span> counter, iters ;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keywordtype">int</span> xdim, ndat, its, numpar ;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keywordtype">float</span> maxval ;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keywordtype">float</span> tol, lab ;</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keywordtype">float</span>* col_value=NULL ;</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordtype">float</span>* column_value=NULL ;</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> pixelvalue* col_position=NULL ;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordtype">int</span>* column_position=NULL ;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordtype">float</span>* x_position=NULL ;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keywordtype">int</span> col_median ;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordtype">float</span> * xdat, * wdat ;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordtype">int</span> * mpar ;</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> Vector * line ;</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> FitParams ** dec_par ;</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> FitParams * par ;</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordtype">float</span>* x=NULL; </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keywordtype">float</span>* y=NULL; </div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordtype">float</span>* sig=NULL ;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordtype">int</span> position ;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordtype">int</span> ndata, mwt ;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keywordtype">float</span> a, b, siga, sigb, chi2, q ;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordtype">int</span> bad_ind ;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordtype">int</span> lx=0;</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordtype">int</span> ly=0;</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordtype">float</span>* pdata=NULL;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordflow">if</span> ( ns_image == NULL )</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> {</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" sorry, no image given"</span>) ;</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keywordflow">return</span> FLAG ;</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> }</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> lx=cpl_image_get_size_x(ns_image);</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> ly=cpl_image_get_size_x(ns_image);</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">if</span> ( box_length <= 1 || box_length >= (<span class="keywordtype">int</span>) sqrt(lx) )</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> {</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong box length given"</span>) ;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordflow">return</span> FLAG ;</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> }</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordflow">if</span> ( fwhm < 1. || fwhm > 10. )</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> {</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong full width at half maximum given"</span>) ;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">return</span> FLAG ;</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> }</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keywordflow">if</span> ( minDiff < 1. )</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> {</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong amplitude threshold given"</span>) ;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keywordflow">return</span> FLAG ;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> }</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> col_value=cpl_calloc(ly,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> column_value=cpl_calloc(ly,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> col_position=(pixelvalue*)cpl_calloc(ly,<span class="keyword">sizeof</span>(pixelvalue)) ;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> column_position=cpl_calloc(ly,<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)) ;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> x_position=cpl_calloc(ly,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> x=cpl_calloc(lx,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)); </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> y=cpl_calloc(lx,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)); </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> sig=cpl_calloc(lx,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> pdata=cpl_image_get_data_float(ns_image);</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="comment">/* go through the image rows */</span></div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordflow">for</span> ( row = 0 ; row < ly ; row++ )</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> {</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> col_value[row] = -FLT_MAX ;</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> col_position[row] = -1. ;</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment">/* find the maximum value in each row and store the found column */</span></div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keywordflow">for</span> ( col = 0 ; col < lx ; col++ )</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> {</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordflow">if</span> ( pdata[col+row*lx] > col_value[row] )</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> {</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> col_value[row] = pdata[col+row*lx] ;</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> col_position[row] = (pixelvalue)col ;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> }</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> }</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> }</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="comment">/* now determine the sinfo_new_median of the found columns to be sure </span></div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="comment"> to have the brightest spectrum */</span></div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> col_median = (int)sinfo_new_median(col_position, ly) ;</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> sinfo_msg (<span class="stringliteral">"sinfo_new_median column position of brightest spectrum %d\n"</span>, </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> col_median) ;</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="comment">/* now find the peaks around col_median over the whole spectral range */</span></div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordflow">for</span> ( row = 0 ; row < ly ; row++ )</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> {</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> x_position[row] = 0. ;</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> column_value[row] = -FLT_MAX ;</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> column_position[row] = -1 ;</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="keywordflow">for</span> ( col = col_median - box_length ; </div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> col <= col_median + box_length ; col++ )</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> {</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keywordflow">if</span> ( pdata[col+row*lx] > column_value[row] )</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> {</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> column_value[row] = pdata[col+row*lx] ; </div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> column_position[row] = col ;</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> }</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> }</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="comment">/* allocate memory for the array where the line is fitted in */</span></div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keywordflow">if</span> ( NULL == (line = sinfo_new_vector (2*box_length + 1)) )</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> {</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new Vector in row %d"</span>, row) ;</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="keywordflow">return</span> FLAG ;</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> }</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> xdat = (<span class="keywordtype">float</span> *) cpl_calloc( line -> n_elements, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> wdat = (<span class="keywordtype">float</span> *) cpl_calloc( line -> n_elements, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> mpar = (<span class="keywordtype">int</span> *) cpl_calloc( MAXPAR, <span class="keyword">sizeof</span> (<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> dec_par = sinfo_new_fit_params(1) ;</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> par = dec_par[0];</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> counter = 0 ;</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> bad_ind = 0 ;</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="comment">/* store the values to fit in a Vector object */</span></div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="keywordflow">for</span> ( col = column_position[row] - box_length ; </div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> col <= column_position[row] + box_length ; col++ )</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> {</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keywordflow">if</span> ( col < 0 || col >= lx )</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> {</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"wrong spectrum position or box_length "</span></div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="stringliteral">"given in row: %d"</span>, row) ;</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> cpl_free (xdat) ;</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> cpl_free (wdat) ;</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> cpl_free (mpar) ;</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> sinfo_new_destroy_fit_params(&dec_par) ;</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> sinfo_new_destroy_vector( line ) ;</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="keywordflow">return</span> FLAG ;</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> }</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( isnan(pdata[col+row*lx]) )</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> {</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> bad_ind = 1 ;</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> }</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> {</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> line -> data[counter] = pdata[col + row*lx] ;</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> counter++ ;</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> }</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> }</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="comment">/* go to the next row if a bad pixel is inside the box */</span></div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="keywordflow">if</span> ( bad_ind == 1 )</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> {</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">"sorry, bad pixel inside fitting "</span></div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="stringliteral">"box in row: %d"</span>, row) ;</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> cpl_free (xdat) ;</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> cpl_free (wdat) ;</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> cpl_free (mpar) ;</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> sinfo_new_destroy_fit_params(&dec_par) ;</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> sinfo_new_destroy_vector( line ) ;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> continue ;</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> }</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="comment">/*--------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="comment"> * go through the line sinfo_vector</span></div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="comment"> * determine the maximum pixel value in the line sinfo_vector</span></div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> position = -INT32_MAX ;</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="keywordflow">for</span> ( i = 0 ; i < counter ; i++ )</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> {</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> xdat[i] = i ;</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> wdat[i] = 1.0 ;</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="keywordflow">if</span> ( line -> data[i] >= maxval )</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> {</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> maxval = line -> data[i] ;</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> position = i ;</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> }</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> }</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> </div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="comment">/* set initial values for the fitting routine */</span></div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> xdim = XDIM ;</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> ndat = line -> n_elements ;</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> numpar = MAXPAR ;</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> tol = TOL ;</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> lab = LAB ;</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> its = ITS ;</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> (*par).fit_par[1] = fwhm ;</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> (*par).fit_par[2] = (float) position ;</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> (*par).fit_par[3] = (float) (line -> data[0] + </div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> line -> data[line->n_elements - 1]) / 2.0 ;</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> </div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> (*par).fit_par[0] = maxval - ((*par).fit_par[3]) ;</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="comment">/* exclude negative peaks and low signal cases */</span></div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="keywordflow">if</span> ( (*par).fit_par[0] < minDiff )</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> {</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">"sorry, negative peak or signal of line "</span></div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="stringliteral">"too low to fit in row: %d"</span>, row) ;</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> cpl_free (xdat) ;</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> cpl_free (wdat) ;</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> cpl_free (mpar) ;</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> sinfo_new_destroy_fit_params(&dec_par) ;</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> sinfo_new_destroy_vector( line ) ;</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> continue ;</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> }</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="keywordflow">for</span> ( k = 0 ; k < MAXPAR ; k++ )</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> {</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> (*par).derv_par[k] = 0.0 ;</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> mpar[k] = 1 ;</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> }</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> </div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="comment">/* finally, do the least square fit using a sinfo_gaussian */</span></div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="keywordflow">if</span> ( 0 > ( iters = sinfo_new_lsqfit_c( xdat, &xdim, </div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> line -> data, wdat, </div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> &ndat, (*par).fit_par,</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> (*par).derv_par, mpar, </div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> &numpar, &tol, &its, &lab )) )</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> {</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">"sinfo_new_lsqfit_c: least squares fit "</span></div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="stringliteral">"failed in row: %d, error no.: %d"</span>,row,iters) ;</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> cpl_free (xdat) ;</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> cpl_free (wdat) ;</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> cpl_free (mpar) ;</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> sinfo_new_destroy_fit_params(&dec_par) ;</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> sinfo_new_destroy_vector( line ) ;</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> continue ;</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> }</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="comment">/* check for negative fit results */</span></div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="keywordflow">if</span> ( (*par).fit_par[0] <= 0. || (*par).fit_par[1] <= 0. ||</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> (*par).fit_par[2] <= 0. )</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> {</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">"negative parameters as fit result, "</span></div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="stringliteral">"not used! in row: %d"</span>, row) ;</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> cpl_free (xdat) ;</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> cpl_free (wdat) ;</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> cpl_free (mpar) ;</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> sinfo_new_destroy_fit_params(&dec_par) ;</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> sinfo_new_destroy_vector( line ) ;</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> continue ;</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> }</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> </div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="comment">/* correct the fitted position for the given row of the line in </span></div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="comment"> image coordinates */</span></div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> x_position[row] = (float) (column_position[row] - box_length) + </div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> (*par).fit_par[2] ;</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> </div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="comment">/* store the fit errors of the positions as weights for the later </span></div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="comment"> linear fit */</span></div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> sig[row] = (*par).derv_par[2] ;</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> </div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="comment">/* free memory */</span></div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> sinfo_new_destroy_fit_params(&dec_par) ;</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> sinfo_new_destroy_vector ( line ) ;</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> cpl_free ( xdat ) ;</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> cpl_free ( wdat ) ;</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> cpl_free ( mpar ) ;</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> }</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> </div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="comment">/* -----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="comment"> * now that we have a sub-pixel resolved list of spectral maxima stored </span></div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="comment"> * in x_position[row]</span></div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="comment"> * We can fit a flux weighted straight line to the positions to determine </span></div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="comment"> * the spectral column shifts.</span></div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> ndata = 0 ;</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="keywordflow">for</span> ( row = 0 ; row < lx ; row++ )</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> {</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="keywordflow">if</span> ( x_position[row] == 0. || sig[row] == 0. )</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> {</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> continue ;</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> }</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> {</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> y[ndata] = x_position[row] ;</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> x[ndata] = (float)row ;</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> sig[ndata] = sig[row] ;</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> ndata++ ;</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> }</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> }</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="keywordflow">if</span> ( ndata < 10 )</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> {</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"not enough positions to do the linear fit"</span>) ;</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="keywordflow">return</span> FLAG ;</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> }</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="comment">/* now do the fit and return the slope of the straight line */</span></div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> mwt = 0 ;</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> sinfo_my_fit(x, y, ndata, sig, mwt, &a, &b, &siga, &sigb, &chi2, &q) ;</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> </div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> cpl_free(col_value) ;</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> cpl_free(column_value) ;</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> cpl_free(col_position) ;</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> cpl_free(column_position) ;</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> cpl_free(x_position) ;</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> </div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> cpl_free(x); </div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> cpl_free(y); </div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> cpl_free(sig) ;</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="keywordflow">return</span> b ;</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> }</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> </div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> cpl_image * </div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> sinfo_new_shift_rows( cpl_image * image,</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> <span class="keywordtype">float</span> slope, </div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="keywordtype">int</span> n_order )</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> {</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> cpl_image * returnImage=NULL ;</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="keywordtype">float</span> xshift=0 ;</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="keywordtype">int</span> intshift = 0 ;</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="keywordtype">float</span> sum=0;</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="keywordtype">float</span> new_sum=0;</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> </div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="keywordtype">float</span>* xnum=NULL ;</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="keywordtype">float</span>* row_data=NULL ;</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="keywordtype">float</span>* corrected_row_data=NULL ;</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> </div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="keywordtype">float</span> eval=0 <span class="comment">/*, dy*/</span> ;</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="keywordtype">float</span> * imageptr=NULL ;</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="keywordtype">int</span> col=0;</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="keywordtype">int</span> row=0;</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="keywordtype">int</span> firstpos=0;</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="keywordtype">int</span> n_points=0;</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="keywordtype">int</span> flag=0;</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="keywordtype">int</span> olx=0;</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="keywordtype">int</span> oly=0;</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> </div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="keywordflow">if</span> ( image == NULL )</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> {</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"sorry, no image given"</span>) ;</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> }</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> </div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="keywordflow">if</span> ( slope == 0. )</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> {</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"there is no need to shift the image rows!"</span>) ;</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> }</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> </div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="keywordflow">if</span> ( n_order <= 0 )</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> {</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong order of interpolation polynom given!"</span>) ;</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> }</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> </div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> returnImage = cpl_image_duplicate( image ) ;</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> ilx=cpl_image_get_size_x(image);</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> ily=cpl_image_get_size_y(image);</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> olx=cpl_image_get_size_x(returnImage);</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> oly=cpl_image_get_size_y(returnImage);</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> pidata=cpl_image_get_data_float(image);</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> podata=cpl_image_get_data_float(returnImage);</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> </div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> </div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> n_points = n_order + 1 ;</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> <span class="keywordflow">if</span> ( n_points % 2 == 0 )</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> {</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> firstpos = (int)(n_points/2) - 1 ;</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> }</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> {</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> firstpos = (int)(n_points/2) ;</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> }</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> </div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> </div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> xnum=cpl_calloc(n_order + 1,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> row_data=cpl_calloc(ilx,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> corrected_row_data=cpl_calloc(ilx,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> </div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="comment">/* fill the xa[] array for the polint function */</span></div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_points ; i++ )</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> {</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> xnum[i] = i ;</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> }</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> </div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="comment">/* go through the image rows */</span></div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> {</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="comment">/* determine the shift for each row, the middle row is not shifted */</span></div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> xshift = slope * (float)( (ily / 2) - row ) ;</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> </div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> intshift = sinfo_new_nint(xshift) ;</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> xshift = xshift - (float)intshift ;</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> </div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> {</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> corrected_row_data[col] = 0. ;</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> }</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> sum = 0. ; <span class="comment">/* initialize flux for later rescaling */</span></div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> <span class="comment">/* go through the image columns */</span></div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> {</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="comment">/* consider integer pixel shifts */</span></div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="keywordflow">if</span> ( intshift < 0 )</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> {</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <span class="keywordflow">if</span> ( col - intshift < ilx )</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> {</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> row_data[col] = pidata[col-intshift+row*ilx] ;</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> }</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> {</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> row_data[col] = 0. ;</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> }</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> }</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( intshift > 0 )</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> {</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> <span class="keywordflow">if</span> ( col - intshift >= 0 )</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> {</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> row_data[col] = pidata[col-intshift+row*ilx] ;</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> }</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> {</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> row_data[col] = 0. ;</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> }</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> }</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> {</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> row_data[col] = pidata[col+row*ilx] ;</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> }</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> </div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> <span class="comment">/* don't consider the sinfo_edge pixels for flux calculation */</span></div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> <span class="keywordflow">if</span> ( col != 0 && col != ilx - 1 && !isnan(row_data[col]) )</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> {</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> sum += row_data[col] ;</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> }</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> <span class="keywordflow">if</span> (isnan(row_data[col])) </div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> {</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> row_data[col] = 0. ;</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> <span class="keywordflow">for</span> (i = col - firstpos ; i < col - firstpos + n_points ; i++ )</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> {</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> <span class="keywordflow">if</span> ( i < 0 ) continue ;</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <span class="keywordflow">if</span> ( i >= ilx) continue ;</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> corrected_row_data[i] = ZERO ;</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> }</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> }</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> }</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> </div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> </div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> <span class="comment">/* --------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> <span class="comment"> * now we do the polynomial interpolation to achieve the fractional</span></div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="comment"> * shift that means call polint</span></div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> new_sum = 0. ;</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> {</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="comment">/* ---------------------------------------------------------------</span></div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <span class="comment"> * now determine the arrays of size n_points with which the</span></div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <span class="comment"> * polynom is determined and determine the position eval</span></div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="comment"> * where the polynom is evaluated in polint of N.R..</span></div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="comment"> * Take care of the points near the row edges!</span></div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="keywordflow">if</span> ( isnan(corrected_row_data[col]) )</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> {</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> continue ;</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> }</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <span class="keywordflow">if</span> ( col - firstpos < 0 )</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> {</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> imageptr = &row_data[0] ;</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> eval = (float)col - xshift ;</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> }</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( col - firstpos + n_points >= ilx )</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> {</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> imageptr = &row_data[ilx - n_points] ;</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> eval = (float)(col + n_points - ilx) - xshift ;</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> }</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> {</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> imageptr = &row_data[col-firstpos] ;</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> eval = (float)firstpos - xshift ;</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> }</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> </div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> flag=0;</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> corrected_row_data[col]=sinfo_new_nev_ille(xnum,imageptr,</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> n_order,eval,&flag);</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> <span class="comment">/*polint( xnum - 1, imageptr, n_points, eval, </span></div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> <span class="comment"> &corrected_row_data[col], &dy ) ;*/</span></div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> </div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> <span class="comment">/* don't take the sinfo_edge points to calculate </span></div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> <span class="comment"> the scaling factor */</span></div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> <span class="keywordflow">if</span> (col != 0 && col != ilx - 1 && !isnan(corrected_row_data[col]) )</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> {</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> new_sum += corrected_row_data[col] ;</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> }</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> }</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> </div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> <span class="keywordflow">if</span> ( new_sum == 0. )</div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> {</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> new_sum = 1. ;</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> }</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> {</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="keywordflow">if</span> ( isnan(corrected_row_data[col]))</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> {</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> podata[col+row*ilx] = ZERO ;</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> }</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> {</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> <span class="comment">/* rescale the row data and fill the returned image */</span></div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> <span class="comment">/* This gives sometimes inconsistent results if </span></div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> <span class="comment"> bad pixels are around */</span></div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> <span class="comment">/* rescaling is commented out because it delivers wrong results</span></div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="comment"> in case of appearance of blanks or bad pixels */</span></div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> <span class="comment">/* corrected_row_data[col] *= sum / new_sum ; */</span></div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> podata[col+row*ilx] = corrected_row_data[col] ;</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> }</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> }</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> } </div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> </div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> cpl_free(xnum) ;</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> cpl_free(row_data) ;</div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> cpl_free(corrected_row_data);</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> </div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> <span class="keywordflow">return</span> returnImage ;</div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> }</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> </div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> </div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> sinfo_new_parameter_to_ascii ( <span class="keywordtype">float</span> * parameter, </div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> <span class="keywordtype">int</span> n,</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> <span class="keywordtype">char</span> * filename )</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> {</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> FILE * fp ;</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> <span class="keywordtype">int</span> i=0 ;</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> </div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> <span class="keywordflow">if</span> ( parameter == NULL || filename == NULL || n <= 0 )</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> {</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"input is missing or wrong!"</span>) ;</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> return ;</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> }</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> </div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> <span class="keywordflow">if</span> ( NULL == (fp = fopen ( filename, <span class="stringliteral">"w"</span> ) ) )</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> {</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot open %s"</span>, filename) ;</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> return ;</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> }</div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> </div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> <span class="keywordflow">for</span> ( i = 0 ; i < n ; i++ )</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> {</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> fprintf (fp, <span class="stringliteral">"%le\n"</span>, parameter[i] ) ;</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> }</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> fclose (fp ) ;</div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> }</div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> </div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> <span class="keywordtype">float</span> * </div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> sinfo_new_ascii_to_parameter ( <span class="keywordtype">char</span> * filename,</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> <span class="keywordtype">int</span> * n )</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> {</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> FILE * fp ;</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> <span class="keywordtype">float</span> * parameter=NULL ;</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> <span class="keywordtype">int</span> i=0 ;</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> </div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> <span class="keywordflow">if</span> ( filename == NULL || n == NULL )</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> {</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"Input is missing or wrong"</span>) ;</div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> }</div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> </div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> <span class="keywordflow">if</span> ( NULL == (fp = fopen ( filename, <span class="stringliteral">"r"</span> ) ) )</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> {</div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot open %s"</span>, filename) ;</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> }</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> </div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> </div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> <span class="keywordflow">if</span> (NULL == ( parameter = (<span class="keywordtype">float</span>*) cpl_calloc (ESTIMATE, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ) )</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> {</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate memory"</span>) ;</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> fclose (fp ) ;</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> }</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> </div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> i = 0 ;</div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> <span class="keywordflow">while</span> ( fscanf(fp, <span class="stringliteral">"%g\n"</span>, ¶meter[i]) != EOF )</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> {</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> i++ ;</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> }</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> *n = i ;</div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> </div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> fclose (fp ) ;</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> </div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> <span class="keywordflow">return</span> parameter ;</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> }</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> </div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> </div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> <span class="keywordtype">double</span> * </div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> sinfo_new_curvature_of_spectrum( cpl_image * ns_image,</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> <span class="keywordtype">int</span> order,</div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> <span class="keywordtype">int</span> box_length,</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> <span class="keywordtype">int</span> left_pos,</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> <span class="keywordtype">int</span> right_pos,</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> <span class="keywordtype">float</span> fwhm,</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> <span class="keywordtype">float</span> minDiff )</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> {</div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> <span class="keywordtype">int</span> row=0;</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> <span class="keywordtype">int</span> col=0;</div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> <span class="keywordtype">int</span> counter=0;</div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> <span class="keywordtype">int</span> iters=0;</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> <span class="keywordtype">int</span> xdim=0;</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> <span class="keywordtype">int</span> ndat=0;</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> <span class="keywordtype">int</span> its=0;</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> <span class="keywordtype">int</span> numpar=0;</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> <span class="keywordtype">float</span> maxval=0 ;</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> <span class="keywordtype">float</span> tol=0;</div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> <span class="keywordtype">float</span> lab=0;</div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> </div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> <span class="keywordtype">float</span>* col_value=NULL ;</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> <span class="keywordtype">float</span>* column_value=NULL ;</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> pixelvalue* col_position=NULL ;</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> <span class="keywordtype">int</span>* column_position=NULL ;</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> <span class="keywordtype">float</span>* x_position=NULL ;</div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> </div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> <span class="keywordtype">int</span> col_median=0;</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> <span class="keywordtype">float</span> * xdat=NULL;</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> <span class="keywordtype">float</span> * wdat=NULL;</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> <span class="keywordtype">int</span> * mpar=NULL;</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> Vector * line=NULL;</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> FitParams ** dec_par=NULL ;</div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> FitParams * par=NULL ;</div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> <span class="keywordtype">int</span> position=0 ;</div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> <span class="keywordtype">int</span> ndata=0 ;</div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> <span class="keywordtype">int</span> bad_ind=0 ;</div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> dpoint * list=NULL ;</div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> <span class="keywordtype">double</span> * coeffs=NULL ;</div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> <span class="keywordtype">double</span> offset=0 ;</div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> <span class="keywordtype">int</span> lx=0;</div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> <span class="keywordtype">int</span> ly=0;</div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> <span class="keywordtype">float</span>* pdata=NULL;</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> </div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> <span class="keywordflow">if</span> ( ns_image == NULL )</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> {</div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"sorry, no image given"</span>) ;</div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> }</div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> lx=cpl_image_get_size_x(ns_image);</div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> ly=cpl_image_get_size_y(ns_image);</div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> </div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> <span class="keywordflow">if</span> ( box_length <= 1 || box_length >= right_pos - left_pos )</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> {</div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong box length given"</span>) ;</div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> }</div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> <span class="keywordflow">if</span> ( fwhm < 1. || fwhm > 10. )</div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> {</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong full width at half maximum given"</span>) ;</div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> }</div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> <span class="keywordflow">if</span> ( left_pos < 0 || right_pos <= left_pos || right_pos > lx )</div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> {</div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong left and right positions"</span>) ;</div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> }</div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> <span class="keywordflow">if</span> ( minDiff < 1. )</div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> {</div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong amplitude threshold given!"</span>) ;</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> }</div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> </div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> </div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> </div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> col_value=cpl_calloc(ly,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> column_value=cpl_calloc(ly,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> col_position=(pixelvalue*)cpl_calloc(ly,<span class="keyword">sizeof</span>(pixelvalue)) ;</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> column_position=cpl_calloc(ly,<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)) ;</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> x_position=cpl_calloc(ly,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> </div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> <span class="comment">/* go through the image rows */</span></div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> <span class="keywordflow">for</span> ( row = 0 ; row < ly ; row++ )</div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> {</div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> col_value[row] = -FLT_MAX ;</div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> col_position[row] = -1. ;</div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> <span class="comment">/* find the maximum value in each row and store the found column */</span></div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> <span class="keywordflow">for</span> ( col = left_pos ; col < right_pos ; col++ )</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> {</div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> <span class="keywordflow">if</span> ( pdata[col+row*lx] > col_value[row] )</div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> {</div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> col_value[row] = pdata[col+row*lx] ;</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> col_position[row] = (pixelvalue)col ;</div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> }</div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> }</div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> }</div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> </div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> <span class="comment">/* now determine the sinfo_new_median of the found columns to be sure </span></div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> <span class="comment"> to have the brightest spectrum */</span></div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> col_median = (int)sinfo_new_median(col_position, right_pos - left_pos) ;</div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> </div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> <span class="comment">/* now find the peaks around col_median over the whole spectral range */</span></div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> <span class="keywordflow">for</span> ( row = 0 ; row < ly ; row++ )</div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> {</div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> x_position[row] = 0. ;</div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> column_value[row] = -FLT_MAX ;</div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> column_position[row] = -1 ;</div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> <span class="keywordflow">for</span> ( col = col_median - box_length ; </div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> col <= col_median + box_length ; col++ )</div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> {</div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> <span class="keywordflow">if</span> ( pdata[col+row*lx] > column_value[row] )</div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> {</div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> column_value[row] = pdata[col+row*lx] ; </div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> column_position[row] = col ;</div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> }</div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> }</div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> </div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> <span class="comment">/* allocate memory for the array where the line is fitted in */</span></div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> <span class="keywordflow">if</span> ( NULL == (line = sinfo_new_vector (2*box_length + 1)) )</div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> {</div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new Vector in row: %d"</span>, row) ;</div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> }</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> </div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> xdat = (<span class="keywordtype">float</span> *) cpl_calloc( line -> n_elements, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> wdat = (<span class="keywordtype">float</span> *) cpl_calloc( line -> n_elements, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> mpar = (<span class="keywordtype">int</span> *) cpl_calloc( MAXPAR, <span class="keyword">sizeof</span> (<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> dec_par = sinfo_new_fit_params(1) ;</div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> par = dec_par[0];</div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> </div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> counter = 0 ;</div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> bad_ind = 0 ;</div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> <span class="comment">/* store the values to fit in a Vector object */</span></div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> <span class="keywordflow">for</span> ( col = column_position[row] - box_length ; </div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> col <= column_position[row] + box_length ; col++ )</div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> {</div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> <span class="keywordflow">if</span> ( col < 0 || col >= lx )</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> {</div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"wrong spectrum position or box_length "</span></div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> <span class="stringliteral">"given in row: %d"</span>, row) ;</div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> cpl_free (xdat) ;</div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> cpl_free (wdat) ;</div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> cpl_free (mpar) ;</div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> sinfo_new_destroy_fit_params(&dec_par) ;</div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> sinfo_new_destroy_vector( line ) ;</div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> }</div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( isnan(pdata[col+row*lx]) )</div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> {</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> bad_ind = 1 ;</div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> }</div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> {</div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> line -> data[counter] = pdata[col + row*lx] ;</div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> counter++ ;</div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> }</div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> }</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> </div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> <span class="comment">/* go to the next row if a bad pixel is inside the box */</span></div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> <span class="keywordflow">if</span> ( bad_ind == 1 )</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> {</div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">"sorry, bad pixel inside fitting box "</span></div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> <span class="stringliteral">"in row: %d"</span>, row) ;</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> cpl_free (xdat) ;</div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> cpl_free (wdat) ;</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> cpl_free (mpar) ;</div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> sinfo_new_destroy_fit_params(&dec_par) ;</div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> sinfo_new_destroy_vector( line ) ;</div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> continue ;</div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> }</div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> </div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> <span class="comment">/*--------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> <span class="comment"> * go through the line sinfo_vector</span></div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> <span class="comment"> * determine the maximum pixel value in the line sinfo_vector</span></div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> position = -INT32_MAX ;</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> <span class="keywordflow">for</span> ( i = 0 ; i < counter ; i++ )</div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> {</div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> xdat[i] = i ;</div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> wdat[i] = 1.0 ;</div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> <span class="keywordflow">if</span> ( line -> data[i] >= maxval )</div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> {</div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> maxval = line -> data[i] ;</div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> position = i ;</div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> }</div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> }</div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> </div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> <span class="comment">/* set initial values for the fitting routine */</span></div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> xdim = XDIM ;</div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> ndat = line -> n_elements ;</div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> numpar = MAXPAR ;</div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> tol = TOL ;</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> lab = LAB ;</div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> its = ITS ;</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> (*par).fit_par[1] = fwhm ;</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> (*par).fit_par[2] = (float) position ;</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> (*par).fit_par[3] = (float) (line -> data[0] + </div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> line -> data[line->n_elements - 1]) / 2.0;</div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> </div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> (*par).fit_par[0] = maxval - ((*par).fit_par[3]) ;</div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> <span class="comment">/* exclude negative peaks and low signal cases */</span></div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> <span class="keywordflow">if</span> ( (*par).fit_par[0] < minDiff )</div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> {</div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">"sorry, negative peak or signal of line "</span></div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> <span class="stringliteral">"too low to fit in row: %d"</span>, row) ;</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> cpl_free (xdat) ;</div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> cpl_free (wdat) ;</div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> cpl_free (mpar) ;</div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> sinfo_new_destroy_fit_params(&dec_par) ;</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> sinfo_new_destroy_vector( line ) ;</div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> continue ;</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> }</div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> </div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> <span class="keywordflow">for</span> ( k = 0 ; k < MAXPAR ; k++ )</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> {</div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> (*par).derv_par[k] = 0.0 ;</div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> mpar[k] = 1 ;</div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> }</div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> </div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> <span class="comment">/* finally, do the least square fit using a sinfo_gaussian */</span></div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> <span class="keywordflow">if</span> ( 0 > ( iters = sinfo_new_lsqfit_c( xdat, &xdim, </div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> line -> data, wdat, </div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> &ndat, (*par).fit_par,</div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> (*par).derv_par, mpar, </div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> &numpar, &tol, &its, &lab )) )</div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> {</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">"least squares fit failed in row: "</span></div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> <span class="stringliteral">"%d, error no.: %d"</span>, row, iters) ;</div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> cpl_free (xdat) ;</div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> cpl_free (wdat) ;</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> cpl_free (mpar) ;</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> sinfo_new_destroy_fit_params(&dec_par) ;</div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> sinfo_new_destroy_vector( line ) ;</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> continue ;</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> }</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> </div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> <span class="comment">/* check for negative fit results */</span></div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> <span class="keywordflow">if</span> ( (*par).fit_par[0] <= 0. || (*par).fit_par[1] <= 1. ||</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> (*par).fit_par[2] <= 0. )</div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> {</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">"negative parameters as fit result, "</span></div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> <span class="stringliteral">"not used! in row: %d"</span>, row) ;</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> cpl_free (xdat) ;</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> cpl_free (wdat) ;</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> cpl_free (mpar) ;</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> sinfo_new_destroy_fit_params(&dec_par) ;</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> sinfo_new_destroy_vector( line ) ;</div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> continue ;</div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> }</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> </div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> <span class="comment">/* correct the fitted position for the given row of the line </span></div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> <span class="comment"> in image coordinates */</span></div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> x_position[row] = (float) (column_position[row] - box_length) + </div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> (*par).fit_par[2] ;</div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> printf(<span class="stringliteral">"%d %f %f\n"</span>,row, (*par).fit_par[1], x_position[row] ) ;</div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> </div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> <span class="comment">/* free memory */</span></div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> sinfo_new_destroy_fit_params(&dec_par) ;</div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> sinfo_new_destroy_vector ( line ) ;</div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> cpl_free ( xdat ) ;</div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> cpl_free ( wdat ) ;</div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> cpl_free ( mpar ) ;</div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> }</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> <span class="comment">/* now allocate memory for the data to fit */</span></div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> <span class="keywordflow">if</span> ( NULL == ( list = (dpoint*) cpl_calloc (ly, <span class="keyword">sizeof</span> (dpoint)) ) ) </div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> {</div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not allocate memory!"</span>) ;</div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> }</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> </div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> <span class="comment">/* ------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> <span class="comment"> * now that we have a sub-pixel resolved list of spectral maxima stored </span></div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> <span class="comment"> * in x_position[row] We can fit a flux weighted straight line to the </span></div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> <span class="comment"> * positions to determine the spectral column shifts.</span></div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> offset = (double) ly/2. ;</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> ndata = 0 ;</div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> <span class="keywordflow">for</span> ( row = 0 ; row < ly ; row++ )</div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> {</div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> <span class="keywordflow">if</span> ( x_position[row] == 0. )</div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> {</div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> continue ;</div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> }</div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> {</div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> list[ndata].y = (double)x_position[row] ;</div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> list[ndata].x = (double)row - offset ;</div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> ndata++ ;</div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> }</div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> }</div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> </div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> </div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> <span class="keywordflow">if</span> ( NULL == (coeffs = sinfo_fit_1d_poly(order, list, ndata, NULL)) )</div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> {</div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"eclipse function sinfo_fit_1d_poly() did not work!"</span>) ;</div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> }</div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> cpl_free ( list ) ;</div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> </div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> </div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> </div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> cpl_free(col_value) ;</div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> cpl_free(column_value) ;</div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> cpl_free(col_position) ;</div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> cpl_free(column_position) ;</div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> cpl_free(x_position) ;</div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> </div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> <span class="keywordflow">return</span> coeffs ;</div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> }</div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> </div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> cpl_image * </div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> sinfo_new_image_warp_fits( cpl_image * image,</div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> <span class="keywordtype">char</span> * kernel_type, </div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> <span class="keywordtype">char</span> * poly_table )</div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> {</div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> cpl_image * warped=NULL;</div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> <span class="comment">/* Following are for polynomial transforms */</span></div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> cpl_polynomial * poly_u=NULL; <span class="comment">/* polynomial definition */</span></div>
-<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> cpl_polynomial * poly_v=NULL; <span class="comment">/* polynomial definition */</span></div>
-<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span> cpl_table* poly_tbl=NULL;</div>
-<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> cpl_vector * profile=NULL ;</div>
-<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> cpl_size local_pow[2];</div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> </div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> <span class="comment">/*fscanf(poly_in,"%s",poly_string);*/</span></div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> <span class="comment">/* sinfo_msg("%s",poly_string); */</span></div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> </div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> poly_u = cpl_polynomial_new(2);</div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> <span class="keywordflow">if</span> (poly_u == NULL) {</div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot read 2D poly from arc table"</span>) ;</div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> }</div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> </div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> <span class="keywordflow">if</span> (poly_u != NULL) {</div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Get the arc distortion from the file %s"</span>,</div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> poly_table);</div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(poly_table) != 1) {</div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Input file %s is not FITS"</span>,poly_table);</div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> }</div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> </div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> <span class="keywordflow">if</span>(NULL==(poly_tbl = cpl_table_load(poly_table,1,0))) {</div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot load the arc table"</span>) ;</div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> cpl_polynomial_delete(poly_u) ;</div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> }</div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> </div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> <span class="keywordflow">for</span> (i=0 ; i<cpl_table_get_nrow(poly_tbl) ; i++) {</div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> local_pow[0] = cpl_table_get_int(poly_tbl, <span class="stringliteral">"degx"</span>, i, NULL) ; </div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> local_pow[1] = cpl_table_get_int(poly_tbl, <span class="stringliteral">"degy"</span>, i, NULL) ;</div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> cpl_polynomial_set_coeff(poly_u, local_pow,</div>
-<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> cpl_table_get_double(poly_tbl, <span class="stringliteral">"coeff"</span>, i, NULL)) ;</div>
-<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> }</div>
-<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> </div>
-<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> cpl_table_delete(poly_tbl) ;</div>
-<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> sinfo_msg(<span class="stringliteral">"Use the ID polynomial for the arc dist"</span>) ;</div>
-<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> local_pow[0] = 1 ;</div>
-<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> local_pow[1] = 0 ;</div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> cpl_polynomial_set_coeff(poly_u, local_pow, 1.0) ;</div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> }</div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> </div>
-<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> poly_v=cpl_polynomial_new(2);</div>
-<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> local_pow[0]=0;</div>
-<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> local_pow[1]=1;</div>
-<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> </div>
-<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> cpl_polynomial_set_coeff(poly_v,local_pow,1.0);</div>
-<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span> profile = cpl_vector_new(CPL_KERNEL_DEF_SAMPLES) ;</div>
-<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span> cpl_vector_fill_kernel_profile(profile, CPL_KERNEL_TANH,</div>
-<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> CPL_KERNEL_DEF_WIDTH) ;</div>
-<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> warped=sinfo_new_warp_image_generic(image,kernel_type,poly_u,poly_v);</div>
-<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> <span class="comment">/* YVES WAY </span></div>
-<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> <span class="comment"> warped = cpl_image_new(cpl_image_get_size_x(image),</span></div>
-<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> <span class="comment"> cpl_image_get_size_y(image),</span></div>
-<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span> <span class="comment"> CPL_TYPE_FLOAT);</span></div>
-<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> <span class="comment"> </span></div>
-<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span> <span class="comment"> if (cpl_image_warp_polynomial(warped, image, poly_u, poly_v, </span></div>
-<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> <span class="comment"> profile,CPL_KERNEL_DEF_WIDTH,</span></div>
-<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> <span class="comment"> profile,CPL_KERNEL_DEF_WIDTH)</span></div>
-<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> <span class="comment"> != CPL_ERROR_NONE) {</span></div>
-<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> <span class="comment"> sinfo_msg_error("cannot correct the distortion") ;</span></div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> <span class="comment"> cpl_image_delete(warped) ;</span></div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> <span class="comment"> cpl_polynomial_delete(poly_u) ;</span></div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> <span class="comment"> cpl_polynomial_delete(poly_v) ;</span></div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> <span class="comment"> cpl_vector_delete(profile) ;</span></div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> <span class="comment"> return NULL;</span></div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> </div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> cpl_vector_delete(profile) ;</div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> <span class="keywordflow">if</span> (poly_u!=NULL) cpl_polynomial_delete(poly_u);</div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> <span class="keywordflow">if</span> (poly_v!=NULL) cpl_polynomial_delete(poly_v);</div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> </div>
-<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> <span class="keywordflow">return</span> warped;</div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> }</div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__coltilt_8h_source.html b/html/sinfo__coltilt_8h_source.html
deleted file mode 100644
index b424b03..0000000
--- a/html/sinfo__coltilt_8h_source.html
+++ /dev/null
@@ -1,149 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_coltilt.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_coltilt.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_COLTILT_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_COLTILT_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*******************************************************************************</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* "@(#) $Id: sinfo_coltilt.h,v 1.4 2007/06/06 07:10:45 amodigli Exp $"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* schreib 20/12/00 created</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * sinfo_coltilt.h</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * routines to calculate and correct the spatial tilt of spectra in raw images</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_recipes.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_wave_calibration.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_spiffi_types.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> * Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> @name sinfo_new_slope_of_spectrum()</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> @param ns_image image with at least one continuum spectrum of a pinhole</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> @param box_length width of the box in which the lines are fit by a Gaussian</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> @param fwhm first guess of the full width at half maximum</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> @param min_amplitude_factor factor peak/background below given threshold </span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> the fit is not carried through</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> @return slope of a straight line fitted to the spectrum. -FLT_MAX if </span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> something went wrong.</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> @doc determines the sub-pixel shifts of each row by using an image with </span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> at least one continuum spectrum of a pinhole this is done by </span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> searching the spectrum within the image then fitting the spectrum </span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> along the rows within a given box by a Gaussian, so that the exact </span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> position is determined for each row. Afterwards, a straight line is </span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> fitted through the fitted positions. The slope of this linear fit </span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> is returned.</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">float</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> sinfo_new_slope_of_spectrum(cpl_image * ns_image,</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">int</span> box_length,</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">float</span> fwhm,</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">float</span> min_amplitude_factor ) ;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> cpl_image * </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> sinfo_new_shift_rows(cpl_image * image,</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">float</span> slope,</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">int</span> n_order ) ;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> sinfo_new_parameter_to_ascii ( <span class="keywordtype">float</span> * parameter,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">int</span> n,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">char</span> * filename ) ;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordtype">float</span> * </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> sinfo_new_ascii_to_parameter ( <span class="keywordtype">char</span> * filename,</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">int</span> * n ) ;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordtype">double</span> * </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> sinfo_new_curvature_of_spectrum(cpl_image * ns_image,</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">int</span> order, </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordtype">int</span> box_length,</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordtype">int</span> left_pos,</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordtype">int</span> right_pos,</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordtype">float</span> fwhm,</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordtype">float</span> min_amplitude_factor ) ;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> cpl_image * </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> sinfo_new_image_warp_fits(cpl_image * image,</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordtype">char</span> * kernel_type, </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordtype">char</span> * poly_table );</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="preprocessor">#endif </span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__companion_8c_source.html b/html/sinfo__companion_8c_source.html
deleted file mode 100644
index c29da2a..0000000
--- a/html/sinfo__companion_8c_source.html
+++ /dev/null
@@ -1,85 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_companion.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_companion.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor"></span><span class="preprocessor">#include "sinfo_solve_poly_root.h"</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> sinfo_set_companion_matrix (<span class="keyword">const</span> <span class="keywordtype">double</span> *a, <span class="keywordtype">size_t</span> nc, <span class="keywordtype">double</span> *m)</div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> {</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keywordtype">size_t</span> i, j;</div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keywordflow">for</span> (i = 0; i < nc; i++)</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keywordflow">for</span> (j = 0; j < nc; j++)</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> MAT (m, i, j, nc) = 0.0;</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keywordflow">for</span> (i = 1; i < nc; i++)</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> MAT (m, i, i - 1, nc) = 1.0;</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordflow">for</span> (i = 0; i < nc; i++)</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> MAT (m, i, nc - 1, nc) = -a[i] / a[nc];</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__compare__tags_8h_source.html b/html/sinfo__compare__tags_8h_source.html
deleted file mode 100644
index 0735a00..0000000
--- a/html/sinfo__compare__tags_8h_source.html
+++ /dev/null
@@ -1,75 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_compare_tags.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_compare_tags.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#ifndef SINFO_COMPARE_TAGS_H</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_COMPARE_TAGS_H</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor"></span><span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include <strings.h></span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> compare_tags(cpl_frame * frame1,cpl_frame * frame2);</div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__cpl__size_8h_source.html b/html/sinfo__cpl__size_8h_source.html
deleted file mode 100644
index 4c0df80..0000000
--- a/html/sinfo__cpl__size_8h_source.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_cpl_size.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_cpl_size.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * sinfo_cpl_size.h</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Created on: Nov 23, 2011</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Author: amodigli</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> </div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#ifndef SINFO_CPL_SIZE_H_</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_CPL_SIZE_H_</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#if defined CPL_VERSION_CODE && CPL_VERSION_CODE <= CPL_VERSION(5, 5, 0)</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keywordtype">int</span> cpl_size; <span class="comment">/* The type as is was up to CPL 5.3 */</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#define CPL_SIZE_FORMAT "d"</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#endif </span><span class="comment">/* SINFO_CPL_SIZE_H_ */</span><span class="preprocessor"></span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__cube__construct_8c_source.html b/html/sinfo__cube__construct_8c_source.html
deleted file mode 100644
index 0987ca9..0000000
--- a/html/sinfo__cube__construct_8c_source.html
+++ /dev/null
@@ -1,3299 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_cube_construct.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_cube_construct.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* schreib 30/08/00 created</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">* NAME</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">* sinfo_cube_construct.c -</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">* some procedures to construct a data cube</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">* SYNOPSIS</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">* 1) cpl_image * sinfo_new_convolve_ns_image_by_gauss( cpl_image * lineImage,</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">* int hw )</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">* 2) float * sinfo_north_south_test( cpl_image * ns_image,</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">* int n_slitlets,</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">* int halfWidth,</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">* float fwhm,</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">* float minDiff,</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">* float estimated_dist,</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">* float devtol )</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">* 3) cpl_imagelist * sinfo_new_make_cube ( cpl_image * calibImage,</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">* float * distances,</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">* float * correct_diff_dist )</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">* 4) cpl_imagelist * sinfo_new_make_cube_spi ( cpl_image * calibImage,</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">* float ** slit_edges,</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">* float * shift )</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">* 5) cpl_imagelist * sinfo_new_make_cube_dist ( cpl_image * calibImage,</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">* float firstCol,</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">* float * distances,</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">* float * shift )</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">* 6) cpl_imagelist * sinfo_new_make_3D_cube_dist ( cpl_image * calibImage,</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">* float firstCol,</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">* float * distances,</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">* float * shift )</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">* 7) cpl_imagelist * sinfo_new_make_3D_cube ( cpl_image * calibImage,</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">* int * kpixshift, </span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">* int kpixfirst )</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">* 8) cpl_imagelist * </span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> sinfo_new_determine_mask_cube(cpl_imagelist * sourceMaskCube,</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">* float lowLimit,</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">* float highLimit )</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">* 9) cpl_imagelist * sinfo_new_interpol_cube ( cpl_imagelist * sourceCube,</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">* cpl_imagelist * maskCube,</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">* int n_neighbors, </span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">* int max_radius )</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">* 10) cpl_imagelist * sinfo_new_fine_tune_cube( cpl_imagelist * cube,</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">* float * correct_diff_dist )</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">* 11) cpl_imagelist * sinfo_new_fine_tune_cube_by_FFT( cpl_imagelist * cube,</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">* float * correct_diff_dist )</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">* 12) cpl_imagelist * sinfo_new_fine_tune_cube_by_spline(cpl_imagelist * cube,</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment">* float * correct_diff_dist )</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment">* DESCRIPTION</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">* 1) convolves a north-south-test image with a sinfo_gaussian</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">* with user given integer half width by using the eclipse</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment">* routine sinfo_function1d_filter_lowpass().</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">* 2) determines the distances of the slitlets</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment">* 3) makes a data cube out of a resampled source image</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment">* this SPIFFI specific routine takes into account the</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment">* Spiffi slitlet order on the detector.</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment">* Also shifts the resulting image rows by one pixel if</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment">* necessary according to the distances array gained from</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment">* the north-south test routine.</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment">* Can do the same with the bad pixel map image to generate a</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment">* bad pixel mask cube.</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment">* 4) makes a data cube out of a resampled source image</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">* this SPIFFI specific routine takes into account the</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment">* Spiffi slitlet order on the detector.</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment">* This routine takes fitted slitlet positions into account.</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment">* Can do the same with the bad pixel map image to generate a</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">* bad pixel mask cube.</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment">* 5) makes a data cube out of a resampled source image</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment">* this SPIFFI specific routine takes into account the</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">* Spiffi slitlet order on the detector.</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment">* Also shifts the resulting image rows by one pixel if</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment">* necessary according to the distances array gained from</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">* the north-south test routine.</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment">* Can do the same with the bad pixel map image to generate a</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment">* bad pixel mask cube.</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment">* 6) makes a data cube out of a resampled source image</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment">* this 3D specific routine takes into account the</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment">* 3D slitlet order on the detector.</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">* Also shifts the resulting image rows by one pixel if</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment">* necessary according to the distances array gained from</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment">* the north-south test routine.</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment">* Can do the same with the bad pixel map image to generate a</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">* bad pixel mask cube.</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment">* 7) makes a data cube out of a resampled source image</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment">* this MPE 3D specific routine takes into account the</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment">* 3D slitlet order on the detector.</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">* Also shifts the resulting image row by an integer pixel shift if</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment">* necessary according to the input kpixshift array </span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment">* Can do the same with the bad pixel map image to generate a</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment">* bad pixel mask cube.</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment">* 8) converts resampled bad pixels to real bad pixels in data cubes.</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment">* 9) Bad pixel interpolation 3D like (saturated pixels exist):</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment">* interpolates the bad pixels of the source cube by</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">* using the nearest neighbors. </span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">* first it is checked if the bad pixel is interpolatable:</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment">* it is only interpolatable if the number of good pixels </span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment">* in its spectrum of length 2*n_neighbors+1 exceeds 3 and</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment">* if there is at least one good pixel on either side of the</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment">* central pixel.</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment">* Afterwards good neighboring pixels are searched within the </span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment">* image plane of the bad pixel by using an increasing pixel radius. </span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment">* Good pixels mean, the corresponding spectral pixels of the </span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment">* bad pixel and its spatial neighboring pixel must have</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment">* at least 2 valid pixel pairs to be able to be used for</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment">* the interpolation. The search is stopped if 9 valid neighboring</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment">* pixels are found. </span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment">* Now normalize the found spectral values, collect the valid pixels </span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment">* (there must be at least 18) and take the sinfo_median of the valid </span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment">* pixels with which the bad pixel is replaced.</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment">* 10) fine tunes each row in the right position according </span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment">* to the distances of the slitlets to each other</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment">* (output of the north-south test).</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment">* This means that the rows must be realigned by a </span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment">* fraction of a pixel to accomodate non-integer slit </span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment">* length. The fractional realignment is done by using</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment">* the polynomial interpolation algorithm of N.R. </span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment">* Each row is rescaled so that the total flux is</span></div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment">* conserved.</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment">* 11) fine tunes each row in the right position according </span></div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment">* to the distances of the slitlets to each other</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment">* (output of the north-south test).</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment">* This means that the rows must be realigned by a </span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment">* fraction of a pixel to accomodate non-integer slit </span></div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment">* length. The fractional realignment is done by using</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment">* the FFT algorithm four1() of N.R. </span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment">* 12) fine tunes each row in the right position according </span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment">* to the distances of the slitlets to each other</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment">* (output of the north-south test).</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment">* This means that the rows must be realigned by a </span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="comment">* fraction of a pixel to accomodate non-integer slit </span></div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment">* length. The fractional realignment is done by using</span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment">* the spline interpolation algorithm splint in connection</span></div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment">* with the algorithm spline of N.R. </span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment">* This algorithms assume that each row is a tabulated</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment">* function. The first derivatives of the interpolating</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment">* function at the first and last point must be given.</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment">* These are set higher than 1xe^30, so the routine</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment">* sets the corresponding boundary condition for a natural</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment">* spline, with zero second derivative on that boundary.</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="comment">* Each row is rescaled so that the total flux is</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment">* conserved.</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment">* FILES</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment">* ENVIRONMENT</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment">* RETURN VALUES</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment">* CAUTIONS</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="comment">* EXAMPLES</span></div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment">* SEE ALSO</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment">* BUGS</span></div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment">*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="preprocessor"></span><span class="preprocessor">#define POSIX_SOURCE 1</span></div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="preprocessor"></span><span class="preprocessor">#include "sinfo_vltPort.h"</span></div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="comment"> * System Headers</span></div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="comment"> * Local Headers</span></div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="preprocessor">#include "sinfo_function_1d.h"</span></div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="preprocessor">#include "sinfo_cube_construct.h"</span></div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="preprocessor">#include "sinfo_spectrum_ops.h"</span></div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="preprocessor">#include "sinfo_wave_calibration.h"</span></div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="preprocessor">#include "sinfo_utilities.h"</span></div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="preprocessor">#include "sinfo_local_types.h"</span></div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="preprocessor">#include "sinfo_fft_base.h"</span></div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> sinfo_sort_slitlets(<span class="keyword">const</span> <span class="keywordtype">int</span> kslit);</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> sinfo_sort_slitlets_array(<span class="keyword">const</span> <span class="keywordtype">int</span> slit, <span class="keywordtype">int</span>* row_index);</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="comment"> * Function codes</span></div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> cpl_image * </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> sinfo_new_convolve_ns_image_by_gauss( cpl_image * lineImage,</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keywordtype">int</span> hw )</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> {</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> cpl_image * returnImage ;</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="keywordtype">float</span>* row_buffer=NULL ;</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordtype">float</span> * filter ;</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keywordtype">int</span> col, row ;</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="keywordflow">if</span> ( lineImage == NULL )</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> {</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no input image given!\n"</span>) ;</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> }</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> ilx=cpl_image_get_size_x(lineImage);</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> ily=cpl_image_get_size_y(lineImage);</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> pidata=cpl_image_get_data_float(lineImage);</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="keywordflow">if</span> ( hw < 1 )</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> {</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong half width given!\n"</span>) ;</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> }</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="comment">/* allocate memory for returned image */</span></div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keywordflow">if</span> ( NULL == ( returnImage = cpl_image_new(ilx,ily,CPL_TYPE_FLOAT ) ))</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> {</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot allocate a new image\n"</span>);</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> }</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> podata=cpl_image_get_data_float(returnImage);</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="comment">/* go through the image rows and save them in a buffer */</span></div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> row_buffer=cpl_calloc(ily,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> {</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> {</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="keywordflow">if</span> ( isnan(pidata[col+row*ilx]) )</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> {</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> row_buffer[col] = 0. ;</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> }</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> {</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> row_buffer[col] = pidata[col + row*ilx] ;</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> }</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> }</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="comment">/*--------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="comment"> * now low pass filter the rows by the gaussian and fill the return</span></div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="comment"> * image.</span></div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> filter = sinfo_function1d_filter_lowpass( row_buffer,</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> ilx,</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> LOW_PASS_GAUSSIAN,</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> hw ) ;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="keywordflow">for</span> ( col = 0 ; col < ily ; col++ )</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> {</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> podata[col + row*ilx] = filter[col] ;</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> }</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="comment">/* deallocate memory */</span></div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> sinfo_function1d_del (filter) ;</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> }</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> cpl_free(row_buffer); </div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="keywordflow">return</span> returnImage ;</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> }</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> </div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="keywordtype">float</span> * </div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> sinfo_north_south_test( cpl_image * ns_image,</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="keywordtype">int</span> n_slitlets,</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="keywordtype">int</span> halfWidth,</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="keywordtype">float</span> fwhm,</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="keywordtype">float</span> minDiff,</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="keywordtype">float</span> estimated_dist,</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="keywordtype">float</span> devtol,</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="keywordtype">int</span> bottom,</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="keywordtype">int</span> top )</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> {</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="keywordtype">int</span> i, j, k, m, row, col, n, ni, na ;</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="keywordtype">int</span> position, counter, iters ;</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="keywordtype">int</span> xdim, ndat, its, numpar ;</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> pixelvalue row_buf[cpl_image_get_size_x(ns_image)] ;</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="keywordtype">float</span> sum, mean, maxval ;</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="keywordtype">float</span> tol, lab ;</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="keywordtype">float</span> * distances ;</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="keywordtype">float</span> distances_buf[cpl_image_get_size_y(ns_image)][n_slitlets-1] ;</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="keywordtype">float</span> x_position[n_slitlets] ;</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="keywordtype">float</span> * xdat, * wdat ;</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="keywordtype">int</span> * mpar ;</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="keywordtype">int</span> found[3*n_slitlets], found_clean[3*n_slitlets] ;</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="keywordtype">int</span> found_cleanit[3*n_slitlets] ;</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> Vector * line ;</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> FitParams ** par ;</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="keywordtype">int</span> foundit, begin, end ;</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="keywordtype">int</span> zeroindicator ;</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> </div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="keywordflow">if</span> ( ns_image == NULL )</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> {</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"sorry, no image given\n"</span>) ;</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> }</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> ilx=cpl_image_get_size_x(ns_image);</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> ily=cpl_image_get_size_y(ns_image);</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> pidata=cpl_image_get_data_float(ns_image);</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="keywordflow">if</span> ( n_slitlets < 1 )</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> {</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong number of slitlets given\n"</span>) ;</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> }</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="keywordflow">if</span> ( halfWidth < 0 || halfWidth >= estimated_dist )</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> {</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong half width given\n"</span>) ;</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> }</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keywordflow">if</span> ( fwhm <= 0. )</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> {</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong fwhm given\n"</span>) ;</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> }</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="keywordflow">if</span> ( minDiff < 1. )</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> {</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong minDiff given\n"</span>) ;</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> }</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> </div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="comment">/* allocate memory for output array */</span></div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="keywordflow">if</span> (NULL == (distances = (<span class="keywordtype">float</span> *) cpl_calloc ( n_slitlets - 1 , </div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ))) </div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> {</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not allocate memory\n"</span>) ;</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> }</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="comment">/* go through the image rows */</span></div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="keywordflow">for</span> ( row = bottom ; row < top ; row++ )</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> {</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> zeroindicator = 0 ;</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> </div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="comment">/* initialize the distance buffer */</span></div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_slitlets-1 ; i++ )</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> {</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> distances_buf[row][i] = ZERO ;</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> }</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> </div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="comment">/* fill the row buffer array with image data */</span></div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> {</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> row_buf[col] = pidata[col + row*ilx] ;</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> }</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> </div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="comment">/* determine the mean of the row data */</span></div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> sum = 0. ;</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> n = 0 ;</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="keywordflow">for</span> ( i = 0 ; i < ilx ; i++ )</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> {</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="keywordflow">if</span> ( isnan(row_buf[i]) )</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> {</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> continue ;</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> }</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> sum += row_buf[i] ;</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> n++ ;</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> }</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> mean = sum / (float)n ;</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> </div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> </div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="comment">/* store the positions of image values greater than the mean */</span></div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> n = 0 ;</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="keywordflow">for</span> ( i = 0 ; i < ilx ; i++ )</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> {</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="keywordflow">if</span> (isnan(row_buf[i]))</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> {</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> continue ;</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> }</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="keywordflow">if</span> ( row_buf[i] > sqrt(mean*mean*9) )</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> {</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> found[n] = i ;</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> n++ ;</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> } </div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> }</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> </div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="keywordflow">if</span> ( n < n_slitlets )</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> {</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"t1 wrong number of intensity columns found "</span></div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="stringliteral">"in row: %d, found number: %d, mean: %g"</span>,</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> row, n, mean) ;</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> continue ;</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> }</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> { </div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="comment">/* find the maximum value position around the found columns */</span></div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> na = 0 ;</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="keywordflow">for</span> ( i = 1 ; i < n ; i ++ )</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> {</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="keywordflow">if</span> ( found[i] - found[i-1] < halfWidth )</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> {</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> begin = found[i] - halfWidth ;</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="keywordflow">if</span> ( begin < 0 )</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> {</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> begin = 0 ;</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> }</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> end = found[i] + halfWidth ;</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="keywordflow">if</span> ( end >= ilx )</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> {</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> end = ilx - 1 ;</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> }</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="comment">/* find the maximum value inside the box </span></div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="comment"> around the found positions*/</span></div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> foundit = 0 ;</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="keywordflow">for</span> ( j = begin ; j <= end ; j++ )</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> {</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="comment">/* do not consider boxes that contain bad pixels */</span></div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="keywordflow">if</span> (isnan(row_buf[j]))</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> {</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> continue ;</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> }</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="keywordflow">if</span> (row_buf[j] >= maxval )</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> {</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> maxval = row_buf[j] ;</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> foundit = j ;</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> }</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> }</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="keywordflow">if</span> (maxval == -FLT_MAX)</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> {</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> continue ;</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> }</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="keywordflow">for</span> ( k = 0 ; k < na ; k++ )</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> {</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="keywordflow">if</span> ( found_cleanit[k] >= begin && </div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> found_cleanit[k] < foundit )</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> {</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> na-- ;</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> }</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> }</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="keywordflow">for</span> ( k = 0 ; k < n ; k++ )</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> {</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <span class="keywordflow">if</span> ( found[k] == foundit)</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> {</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="keywordflow">if</span> (na>0){</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> <span class="keywordflow">if</span> ( found_cleanit[na-1] != found[k] )</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> {</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> found_cleanit[na] = found[k] ;</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> na++ ;</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> }</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> }</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> <span class="keywordflow">else</span>{</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> found_cleanit[na] = found[k] ; </div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> na++ ;</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> } </div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> }</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> }</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> }</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> {</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <span class="keywordflow">if</span> ( i == 1 )</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> {</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> found_cleanit[na] = found[0] ;</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> na++ ;</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> found_cleanit[na] = found[1] ;</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> na++ ;</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> }</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> { </div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="keywordflow">if</span> (na>0){</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> <span class="keywordflow">if</span> ( found_cleanit[na-1] != found[i-1])</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> {</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> found_cleanit[na] = found[i-1] ;</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> na++ ;</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> }</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> <span class="keywordflow">if</span> ( found_cleanit[na-1] != found[i])</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> {</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> found_cleanit[na] = found[i] ;</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> na++ ;</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> }</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> }</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> {</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> found_cleanit[na] = found[i] ;</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> na++ ;</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> }</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> } </div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> }</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> }</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> <span class="comment">/* determine only one pixel position for each slitlet intensity */</span></div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> j = 1 ;</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="keywordflow">for</span> ( i = 1 ; i < na ; i++ )</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> {</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> <span class="keywordflow">if</span> ( (<span class="keywordtype">float</span>)(found_cleanit[i] - found_cleanit[i-1]) < </div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> (estimated_dist - devtol) ||</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> (<span class="keywordtype">float</span>)(found_cleanit[i] - found_cleanit[i-1]) > </div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> (estimated_dist + devtol) )</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> {</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> continue ;</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> }</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> {</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> found_clean[j-1] = found_cleanit[i-1] ;</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> found_clean[j] = found_cleanit[i] ;</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> j++ ;</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> }</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> }</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> }</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="keywordflow">if</span> ( j > n_slitlets )</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> {</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <span class="comment">/* check the distance again */</span></div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> ni = 1 ;</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="keywordflow">for</span> ( i = 1 ; i < j ; i++ )</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> {</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="keywordflow">if</span> ( (<span class="keywordtype">float</span>)(found_clean[i] - found_clean[i-1]) < </div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> (estimated_dist - devtol ) ||</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> (<span class="keywordtype">float</span>)(found_clean[i] - found_clean[i-1]) > </div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> (estimated_dist + devtol ) )</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> { </div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> continue ;</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> }</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> {</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> </div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> found_clean[ni-1] = found_clean[i-1] ;</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> found_clean[ni] = found_clean[i] ;</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> ni++ ;</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> }</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> }</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> <span class="keywordflow">if</span> ( ni != n_slitlets )</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> {</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"t2 wrong number of intensity columns"</span></div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="stringliteral">" found in row: %d, found number: %d"</span>,</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> row, ni) ;</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> continue ;</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> }</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> {</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> j = ni ;</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> }</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> }</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( j < n_slitlets )</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> {</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> cpl_msg_debug (<span class="stringliteral">"north_south_test3:"</span>,</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="stringliteral">"t3 wrong number of intensity columns "</span></div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <span class="stringliteral">"found in row: %d , found number: %d, mean: %g\n"</span>, </div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> row, j, mean) ;</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> continue ;</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> }</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> counter = 0 ;</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="comment">/* go through the found intensity pixels in one row */</span></div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> <span class="keywordflow">for</span> ( i = 0 ; i < j ; i++ )</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> {</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> <span class="comment">/* allocate memory for the array where the line is fitted in */</span></div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <span class="keywordflow">if</span> ( NULL == (line = sinfo_new_vector (2*halfWidth + 1)) )</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> {</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new Vector \n"</span>) ;</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> cpl_free(distances) ;</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> }</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> </div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> xdat = (<span class="keywordtype">float</span> *) cpl_calloc( line -> n_elements, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> wdat = (<span class="keywordtype">float</span> *) cpl_calloc( line -> n_elements, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> mpar = (<span class="keywordtype">int</span> *) cpl_calloc( MAXPAR, <span class="keyword">sizeof</span> (<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> par = sinfo_new_fit_params(1) ;</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> </div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> m = 0 ;</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> <span class="keywordflow">for</span> ( k = found_clean[i]-halfWidth ; </div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> k <= found_clean[i]+halfWidth ; k++ )</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> {</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="keywordflow">if</span> ( k < 0 )</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> {</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> k = 0. ;</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> }</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( k >= ilx )</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> {</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> k = ilx - 1 ;</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> }</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( isnan(row_buf[k]) )</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> {</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> zeroindicator = 1 ;</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> break ;</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> }</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> {</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> line -> data[m] = row_buf[k] ;</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> m++ ;</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> }</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> }</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="keywordflow">if</span> ( zeroindicator == 1 )</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> {</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> sinfo_new_destroy_vector(line) ;</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> cpl_free(xdat) ;</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> cpl_free(wdat) ;</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> cpl_free(mpar) ;</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> sinfo_new_destroy_fit_params(&par) ;</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> break ;</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> }</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> </div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="comment">/*----------------------------------------------------------------</span></div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> <span class="comment"> * go through the spectral sinfo_vector</span></div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> <span class="comment"> * determine the maximum pixel value in the spectral sinfo_vector</span></div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> position = -INT32_MAX ;</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> <span class="keywordflow">for</span> ( k = 0 ; k < m ; k++ )</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> {</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> xdat[k] = k ;</div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> wdat[k] = 1.0 ;</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> <span class="keywordflow">if</span> ( line -> data[k] >= maxval )</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> {</div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> maxval = line -> data[k] ;</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> position = k ;</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> }</div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> }</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> </div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> <span class="comment">/* set initial values for the fitting routine */</span></div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> xdim = XDIM ;</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> ndat = line -> n_elements ;</div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> numpar = MAXPAR ;</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> tol = TOL ;</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> lab = LAB ;</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> its = ITS ;</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> (*par) -> fit_par[1] = fwhm ;</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> (*par) -> fit_par[2] = (float) position ;</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> (*par) -> fit_par[3] = (float) (line -> data[0] + </div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> line -> data[line->n_elements - 1]) / 2.0 ;</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> (*par) -> fit_par[0] = maxval - ((*par) -> fit_par[3]) ;</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> </div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> </div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> <span class="comment">/* exclude negative peaks and low signal cases */</span></div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> <span class="keywordflow">if</span> ( (*par) -> fit_par[0] < minDiff )</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> {</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">"sorry, signal of line too low to fit "</span></div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> <span class="stringliteral">"in row: %d in slitlet %d\n"</span>, row, i) ;</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> sinfo_new_destroy_vector(line) ;</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> cpl_free(xdat) ;</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> cpl_free(wdat) ;</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> cpl_free(mpar) ;</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> sinfo_new_destroy_fit_params(&par) ;</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> continue ;</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> }</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> </div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> <span class="keywordflow">for</span> ( k = 0 ; k < MAXPAR ; k++ )</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> {</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> (*par) -> derv_par[k] = 0.0 ;</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> mpar[k] = 1 ;</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> }</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> <span class="comment">/* finally, do the least square fit using a Gaussian */</span></div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> <span class="keywordflow">if</span> ( 0 > ( iters = sinfo_new_lsqfit_c( xdat, &xdim, </div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> line -> data, wdat, &ndat, </div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> (*par) -> fit_par,</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> (*par) -> derv_par, mpar, </div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> &numpar, &tol, &its, &lab)) )</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> {</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> <span class="comment"> cpl_msg_debug ("north_south_test:",</span></div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> <span class="comment"> "sinfo_lsqfit_c: least squares fit failed,"</span></div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> <span class="comment"> " error no.: %d in row: %d in slitlet %d\n",</span></div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> <span class="comment"> iters, row, i) ;</span></div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> sinfo_new_destroy_vector(line) ;</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> cpl_free(xdat) ;</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> cpl_free(wdat) ;</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> cpl_free(mpar) ;</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> sinfo_new_destroy_fit_params(&par) ;</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> continue ;</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> }</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> </div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> <span class="comment">/* check for negative fit results */</span></div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> <span class="keywordflow">if</span> ( (*par) -> fit_par[0] <= 0. || </div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> (*par) -> fit_par[1] <= 0. ||</div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> (*par) -> fit_par[2] < 0. )</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> {</div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">"negative parameters as fit result, "</span></div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> <span class="stringliteral">"not used! in row %d in slitlet %d"</span>, </div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> row, i) ;</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> sinfo_new_destroy_vector(line) ;</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> cpl_free(xdat) ;</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> cpl_free(wdat) ;</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> cpl_free(mpar) ;</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> sinfo_new_destroy_fit_params(&par) ;</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> continue ;</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> }</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> </div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> <span class="comment">/* correct the fitted position for the given row of the line </span></div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> <span class="comment"> in image coordinates */</span></div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> (*par) -> fit_par[2] = (float) (found_clean[i] - halfWidth) + </div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> (*par) -> fit_par[2] ;</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> x_position[counter] = (*par) -> fit_par[2] ;</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> counter ++ ;</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> </div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> <span class="comment">/* free memory */</span></div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> sinfo_new_destroy_fit_params(&par) ;</div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> sinfo_new_destroy_vector ( line ) ;</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> cpl_free ( xdat ) ;</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> cpl_free ( wdat ) ;</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> cpl_free ( mpar ) ;</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> }</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> <span class="keywordflow">if</span> (zeroindicator == 1)</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> {</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a> (<span class="stringliteral">"bad pixel in fitting box in row: %d\n"</span>, row) ;</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> continue ;</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> }</div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> </div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> <span class="keywordflow">if</span> ( counter != n_slitlets )</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> {</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> continue ;</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"wrong number of slitlets found in row: %d"</span>,row);</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> }</div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> <span class="comment">/* store the distances between the sources in a buffer */</span></div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> <span class="keywordflow">for</span> ( i = 1 ; i < n_slitlets ; i++ )</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> {</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> distances_buf[row][i-1] = x_position[i] - x_position[i-1] ;</div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> }</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> }</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> </div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> <span class="comment">/* ----------------------------------------------------------------</span></div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> <span class="comment"> * go through the rows again and take the mean of the distances, </span></div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> <span class="comment"> * throw away the runaways </span></div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_slitlets-1 ; i++ )</div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> {</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> n = 0 ;</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> sum = 0. ;</div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> <span class="keywordflow">for</span> ( row = bottom ; row < top ; row++ )</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> {</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> <span class="keywordflow">if</span> ( fabs( distances_buf[row][i] - estimated_dist ) > devtol || </div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> isnan(distances_buf[row][i]) )</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> {</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> <span class="comment"> sinfo_msg("dist=%g devtol=%g isan=%d", </span></div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> <span class="comment"> distances_buf[row][i],</span></div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> <span class="comment"> devtol,</span></div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> <span class="comment"> isnan(distances_buf[row][i]));</span></div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> continue ;</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> }</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> sum += distances_buf[row][i] ;</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> n++ ;</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> }</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> <span class="keywordflow">if</span> ( n < 2 )</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> {</div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"distances array could not be determined "</span></div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> <span class="stringliteral">"completely!, deviations of distances from number "</span></div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> <span class="stringliteral">"of slitlets too big\n"</span> ) ;</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> cpl_free(distances) ;</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> }</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> {</div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> distances[i] = sum / (float)n ;</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> }</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> }</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> <span class="keywordflow">return</span> distances ; </div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> }</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> </div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> cpl_imagelist * </div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> sinfo_new_make_cube ( cpl_image * calibImage,</div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> <span class="keywordtype">float</span> * distances,</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> <span class="keywordtype">float</span> * correct_diff_dist )</div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> {</div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> cpl_imagelist * returnCube ;</div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> <span class="keywordtype">int</span> imsize, kslit, kpix ;</div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> <span class="keywordtype">int</span> slit_index ;</div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> <span class="keywordtype">int</span> z, col, recol ;</div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> </div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> cpl_image* o_img;</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> </div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> <span class="keywordflow">if</span> ( NULL == calibImage )</div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> {</div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no resampled image given!\n"</span>) ;</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> }</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> ilx=cpl_image_get_size_x(calibImage);</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> ily=cpl_image_get_size_y(calibImage);</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> pidata=cpl_image_get_data_float(calibImage);</div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> </div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> <span class="keywordflow">if</span> ( NULL == distances )</div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> {</div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no distances array from ns_test given!/n"</span>) ;</div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> }</div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> </div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> <span class="keywordflow">if</span> ( NULL == correct_diff_dist )</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> {</div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"correct_diff_dist array is not allocated!/n"</span>) ;</div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> }</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> </div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> <span class="keywordflow">if</span> ( N_SLITLETS != 32 )</div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> {</div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"wrong number of slitlets given \n"</span> ) ;</div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> }</div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> imsize = ilx / N_SLITLETS ;</div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> </div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> <span class="comment">/* allocate memory */</span> </div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> <span class="keywordflow">if</span> ( NULL == (returnCube = cpl_imagelist_new()) )</div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> {</div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new cube \n"</span> ) ;</div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> }</div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> </div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> <span class="comment">/* now build the data cube out of the resampled image */</span></div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> <span class="keywordflow">for</span> ( z = 0 ; z < ily ; z++ ) <span class="comment">/* go through the z-axis */</span></div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> {</div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> </div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> o_img=cpl_image_new(imsize,N_SLITLETS,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> podata=cpl_image_get_data_float(o_img);</div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> kpix = 0 ;</div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> kslit = 0 ;</div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> slit_index = -1 ;</div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> recol = -1 ;</div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ ) <span class="comment">/* go through the image columns */</span></div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> {</div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> <span class="keywordflow">if</span> ( col % imsize == 0 )</div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> {</div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> recol = 0 ;</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> kslit = col/imsize ;</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> <span class="comment">/* sort the slitlets in the right spiffi specific way */</span></div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> <span class="keywordflow">if</span>((slit_index=sinfo_sort_slitlets(kslit)) == -1) {</div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong slitlet index: couldn't be a "</span></div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> <span class="stringliteral">"spiffi image, there must be 32 slitlets!"</span>) ;</div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> cpl_imagelist_delete(returnCube) ;</div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> }</div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> </div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> <span class="keywordflow">if</span> ( kslit != 0 )</div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> {</div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> <span class="comment">/*-------------------------------------------------------- </span></div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> <span class="comment"> * shift the first pixel by an integer if the absolute </span></div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> <span class="comment"> * amount of distances[]</span></div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> <span class="comment"> * is bigger than 0.5 </span></div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> kpix = sinfo_new_nint(distances[kslit-1]) ;</div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> </div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> <span class="comment">/*----------------------------------------------- </span></div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> <span class="comment"> * now sort the distances array according to the row order </span></div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> <span class="comment"> * and add a 0 value for the first (reference) slitlet </span></div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> <span class="comment"> * that means row 8 </span></div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> correct_diff_dist[slit_index] = distances[kslit-1] - </div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> (float)kpix ;</div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> }</div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> <span class="comment">/* refer all distances to the first slitlet */</span></div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> {</div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> correct_diff_dist[slit_index] = 0. ;</div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> }</div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> }</div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> </div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> <span class="comment">/* fill each cube plane with one image row */</span></div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> podata[recol+slit_index*imsize] = pidata[col+kpix+z*ilx];</div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> recol++ ;</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> </div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> <span class="keywordflow">if</span> ( recol > imsize )</div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> {</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong column of reconstructed "</span></div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> <span class="stringliteral">"image, shouldn't happen!\n"</span>) ; </div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> cpl_imagelist_delete(returnCube) ;</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> }</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> }</div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> }</div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> <span class="keywordflow">return</span> returnCube ;</div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> }</div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> </div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> </div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> </div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> sinfo_sort_slitlets(<span class="keyword">const</span> <span class="keywordtype">int</span> kslit)</div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> {</div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> <span class="keywordtype">int</span> slit_index=0;</div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> </div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> <span class="keywordflow">switch</span> (kslit)</div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> {</div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> <span class="keywordflow">case</span> 0:</div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> slit_index = 8 ;</div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> break ;</div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> <span class="keywordflow">case</span> 1:</div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> slit_index = 7 ;</div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> break ;</div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> <span class="keywordflow">case</span> 2:</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> slit_index = 9 ;</div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> break ;</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> <span class="keywordflow">case</span> 3:</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> slit_index = 6 ;</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> break ;</div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> <span class="keywordflow">case</span> 4:</div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> slit_index = 10 ;</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> break ;</div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> <span class="keywordflow">case</span> 5:</div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> slit_index = 5 ;</div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> break ;</div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> <span class="keywordflow">case</span> 6:</div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> slit_index = 11 ;</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> break ;</div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> <span class="keywordflow">case</span> 7:</div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> slit_index = 4 ;</div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> break ;</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> <span class="keywordflow">case</span> 8:</div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> slit_index = 12 ;</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> break ;</div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> <span class="keywordflow">case</span> 9:</div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> slit_index = 3 ;</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> break ;</div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> <span class="keywordflow">case</span> 10:</div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> slit_index = 13 ;</div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> break ;</div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> <span class="keywordflow">case</span> 11:</div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> slit_index = 2 ;</div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> break ;</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> <span class="keywordflow">case</span> 12:</div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> slit_index = 14 ;</div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> break ;</div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> <span class="keywordflow">case</span> 13:</div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> slit_index = 1 ;</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> break ;</div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> <span class="keywordflow">case</span> 14:</div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> slit_index = 15 ;</div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> break ;</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> <span class="keywordflow">case</span> 15:</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> slit_index = 0 ;</div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> break ;</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> <span class="keywordflow">case</span> 16:</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> slit_index = 31 ;</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> break ;</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> <span class="keywordflow">case</span> 17:</div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> slit_index = 16 ;</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> break ;</div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> <span class="keywordflow">case</span> 18:</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> slit_index = 30 ;</div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> break ;</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> <span class="keywordflow">case</span> 19:</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> slit_index = 17 ;</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> break ;</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> <span class="keywordflow">case</span> 20:</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> slit_index = 29 ;</div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> break ;</div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> <span class="keywordflow">case</span> 21:</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> slit_index = 18 ;</div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> break ;</div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> <span class="keywordflow">case</span> 22:</div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> slit_index = 28 ;</div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> break ;</div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> <span class="keywordflow">case</span> 23:</div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> slit_index = 19 ;</div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> break ;</div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> <span class="keywordflow">case</span> 24:</div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> slit_index = 27 ;</div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> break ;</div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> <span class="keywordflow">case</span> 25:</div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> slit_index = 20 ;</div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> break ;</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> <span class="keywordflow">case</span> 26:</div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> slit_index = 26 ;</div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> break ;</div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> <span class="keywordflow">case</span> 27:</div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> slit_index = 21 ;</div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> break ;</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> <span class="keywordflow">case</span> 28:</div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> slit_index = 25 ;</div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> break ;</div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> <span class="keywordflow">case</span> 29:</div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> slit_index = 22 ;</div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> break ;</div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> <span class="keywordflow">case</span> 30:</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> slit_index = 24 ;</div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> break ;</div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> <span class="keywordflow">case</span> 31:</div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> slit_index = 23 ;</div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> break ;</div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong slitlet index: couldn't be a "</span></div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> <span class="stringliteral">"spiffi image, there must be 32 slitlets!"</span>) ;</div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> </div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> </div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> }</div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> <span class="keywordflow">return</span> slit_index;</div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> </div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> }</div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> </div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> sinfo_sort_slitlets_array(<span class="keyword">const</span> <span class="keywordtype">int</span> slit, <span class="keywordtype">int</span>* row_index)</div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> {</div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> </div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> <span class="keywordflow">switch</span> (slit)</div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> {</div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> <span class="keywordflow">case</span> 0:</div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> row_index[0] = 8 ;</div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> break ;</div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> <span class="keywordflow">case</span> 1:</div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> row_index[1] = 7 ;</div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> break ;</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> <span class="keywordflow">case</span> 2:</div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> row_index[2] = 9 ;</div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> break ;</div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> <span class="keywordflow">case</span> 3:</div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> row_index[3] = 6 ;</div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> break ;</div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> <span class="keywordflow">case</span> 4:</div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> row_index[4] = 10 ;</div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> break ;</div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> <span class="keywordflow">case</span> 5:</div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> row_index[5] = 5 ;</div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> break ;</div>
-<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> <span class="keywordflow">case</span> 6:</div>
-<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span> row_index[6] = 11 ;</div>
-<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> break ;</div>
-<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> <span class="keywordflow">case</span> 7:</div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> row_index[7] = 4 ;</div>
-<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> break ;</div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> <span class="keywordflow">case</span> 8:</div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> row_index[8] = 12 ;</div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> break ;</div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> <span class="keywordflow">case</span> 9:</div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> row_index[9] = 3 ;</div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> break ;</div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> <span class="keywordflow">case</span> 10:</div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> row_index[10] = 13 ;</div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> break ;</div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> <span class="keywordflow">case</span> 11:</div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> row_index[11] = 2 ;</div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> break ;</div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> <span class="keywordflow">case</span> 12:</div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> row_index[12] = 14 ;</div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> break ;</div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> <span class="keywordflow">case</span> 13:</div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> row_index[13] = 1 ;</div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> break ;</div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> <span class="keywordflow">case</span> 14:</div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> row_index[14] = 15 ;</div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> break ;</div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> <span class="keywordflow">case</span> 15:</div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> row_index[15] = 0 ;</div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> break ;</div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> <span class="keywordflow">case</span> 16:</div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> row_index[16] = 31 ;</div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> break ;</div>
-<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> <span class="keywordflow">case</span> 17:</div>
-<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> row_index[17] = 16 ;</div>
-<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> break ;</div>
-<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> <span class="keywordflow">case</span> 18:</div>
-<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> row_index[18] = 30 ;</div>
-<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> break ;</div>
-<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> <span class="keywordflow">case</span> 19:</div>
-<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> row_index[19] = 17 ;</div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> break ;</div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> <span class="keywordflow">case</span> 20:</div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> row_index[20] = 29 ;</div>
-<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> break ;</div>
-<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> <span class="keywordflow">case</span> 21:</div>
-<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> row_index[21] = 18 ;</div>
-<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> break ;</div>
-<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> <span class="keywordflow">case</span> 22:</div>
-<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span> row_index[22] = 28 ;</div>
-<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span> break ;</div>
-<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> <span class="keywordflow">case</span> 23:</div>
-<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> row_index[23] = 19 ;</div>
-<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> break ;</div>
-<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> <span class="keywordflow">case</span> 24:</div>
-<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> row_index[24] = 27 ;</div>
-<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span> break ;</div>
-<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> <span class="keywordflow">case</span> 25:</div>
-<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span> row_index[25] = 20 ;</div>
-<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> break ;</div>
-<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> <span class="keywordflow">case</span> 26:</div>
-<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> row_index[26] = 26 ;</div>
-<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> break ;</div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> <span class="keywordflow">case</span> 27:</div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> row_index[27] = 21 ;</div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> break ;</div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> <span class="keywordflow">case</span> 28:</div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> row_index[28] = 25 ;</div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> break ;</div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> <span class="keywordflow">case</span> 29:</div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> row_index[29] = 22 ;</div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> break ;</div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> <span class="keywordflow">case</span> 30:</div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> row_index[30] = 24 ;</div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> break ;</div>
-<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> <span class="keywordflow">case</span> 31:</div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> row_index[31] = 23 ;</div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> break ;</div>
-<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong slitlet index: couldn't be a spiffi "</span></div>
-<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> <span class="stringliteral">"image, there must be 32 slitlets!\n"</span>) ;</div>
-<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span> }</div>
-<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> </div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> </div>
-<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> }</div>
-<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> </div>
-<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> </div>
-<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> </div>
-<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span> cpl_imagelist * </div>
-<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span> sinfo_new_make_cube_spi ( cpl_image * calibImage,</div>
-<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span> <span class="keywordtype">float</span> ** slit_edges,</div>
-<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span> <span class="keywordtype">float</span> * shift )</div>
-<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span> {</div>
-<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span> cpl_imagelist * returnCube ;</div>
-<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span> <span class="keywordtype">float</span> diff, start ;</div>
-<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span> <span class="keywordtype">float</span> * center ;</div>
-<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> <span class="keywordtype">int</span> * row_index ;</div>
-<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span> <span class="keywordtype">int</span> slit ;</div>
-<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span> <span class="keywordtype">int</span> col, z ;</div>
-<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span> <span class="keywordtype">int</span> imsize ;</div>
-<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span> <span class="keywordtype">int</span> * beginCol ;</div>
-<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span> <span class="keywordtype">int</span> col_counter ;</div>
-<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span> </div>
-<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span> cpl_image* o_img;</div>
-<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span> </div>
-<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span> </div>
-<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span> <span class="keywordflow">if</span> ( NULL == calibImage )</div>
-<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span> {</div>
-<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no resampled image given!\n"</span>) ;</div>
-<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> }</div>
-<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> ilx=cpl_image_get_size_x(calibImage);</div>
-<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> ily=cpl_image_get_size_y(calibImage);</div>
-<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> pidata=cpl_image_get_data_float(calibImage);</div>
-<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> </div>
-<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> <span class="keywordflow">if</span> ( NULL == slit_edges )</div>
-<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> {</div>
-<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no slit_edges array given from sinfo_fitSlits()!/n"</span>) ;</div>
-<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> }</div>
-<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> </div>
-<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> <span class="keywordflow">if</span> ( N_SLITLETS != 32 )</div>
-<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> {</div>
-<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"wrong number of slitlets given \n"</span> ) ;</div>
-<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> }</div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> imsize = ilx / N_SLITLETS ;</div>
-<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> </div>
-<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> <span class="comment">/* allocate memory */</span> </div>
-<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> <span class="keywordflow">if</span> ( NULL == (row_index = (<span class="keywordtype">int</span>*) cpl_calloc(N_SLITLETS, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)) ) )</div>
-<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> {</div>
-<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate memory \n"</span> ) ;</div>
-<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> }</div>
-<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span> <span class="keywordflow">if</span> ( NULL == (beginCol = (<span class="keywordtype">int</span>*) cpl_calloc(N_SLITLETS, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)) ) )</div>
-<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> {</div>
-<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate memory \n"</span> ) ;</div>
-<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span> cpl_free(row_index) ;</div>
-<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> }</div>
-<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span> <span class="keywordflow">if</span> ( NULL == (center = (<span class="keywordtype">float</span>*) cpl_calloc(N_SLITLETS, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ) )</div>
-<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span> {</div>
-<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate memory \n"</span> ) ;</div>
-<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span> cpl_free (row_index) ;</div>
-<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> cpl_free (beginCol) ;</div>
-<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span> }</div>
-<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span> <span class="keywordflow">if</span> ( NULL == (returnCube = cpl_imagelist_new()) )</div>
-<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> {</div>
-<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new cube \n"</span> ) ;</div>
-<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span> cpl_free (row_index) ;</div>
-<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span> cpl_free (beginCol) ;</div>
-<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span> cpl_free (center) ;</div>
-<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> }</div>
-<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span> <span class="comment">/* determine the absolute center of the slitlets and the distances </span></div>
-<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> <span class="comment"> inside the image*/</span></div>
-<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span> <span class="keywordflow">for</span> ( slit = 0 ; slit < N_SLITLETS ; slit++ ) </div>
-<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> <span class="comment">/* go through the slitlets of each row of the resampled image */</span></div>
-<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span> {</div>
-<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span> center[slit] = (slit_edges[slit][1] + slit_edges[slit][0]) / 2. ;</div>
-<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> <span class="comment">/* -------------------------------------------------------------</span></div>
-<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span> <span class="comment"> * sort the slitlets in the right spiffi specific way</span></div>
-<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> <span class="comment"> * the row_index describes the row index of the current slitlet </span></div>
-<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span> <span class="comment"> * in the resulting cube images.</span></div>
-<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> <span class="keywordflow">if</span>(-1 == sinfo_sort_slitlets_array(slit,row_index)) {</div>
-<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> cpl_imagelist_delete(returnCube) ;</div>
-<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span> cpl_free (row_index) ;</div>
-<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span> cpl_free (beginCol) ;</div>
-<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> cpl_free (center) ;</div>
-<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span> }</div>
-<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span> <span class="comment">/* determine the integer column on which the slitlet starts, center the</span></div>
-<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span> <span class="comment"> slitlet on the image row */</span></div>
-<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span> start = center[slit] - (float) (imsize - 1)/2. ;</div>
-<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span> beginCol[slit] = sinfo_new_nint (start) ;</div>
-<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span> <span class="comment">/* determine the error of using integer pixels */</span></div>
-<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span> diff = start - (float)beginCol[slit] ;</div>
-<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span> </div>
-<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span> <span class="comment">/*-------------------------------------------------------------------- </span></div>
-<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> <span class="comment"> * determine the output shift values by which the rows are finally </span></div>
-<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span> <span class="comment"> shifted, consider the integer pixel errors </span></div>
-<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span> <span class="comment"> * resort shift array to get the row index </span></div>
-<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> shift[row_index[slit]] = diff ;</div>
-<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span> } </div>
-<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span> </div>
-<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span> <span class="comment">/* now build the data cube out of the resampled image */</span></div>
-<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span> <span class="keywordflow">for</span> ( z = 0 ; z < ily ; z++ ) <span class="comment">/* go through the z-axis */</span></div>
-<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span> {</div>
-<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span> o_img=cpl_image_new(imsize,N_SLITLETS,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span> podata=cpl_image_get_data_float(o_img);</div>
-<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span> <span class="keywordflow">for</span> ( slit = 0 ; slit < N_SLITLETS ; slit++ )</div>
-<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span> {</div>
-<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span> col_counter = beginCol[slit] ;</div>
-<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span> <span class="comment">/* each slitlet is centered on the final image row */</span></div>
-<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span> <span class="keywordflow">for</span> ( col = 0 ; col < imsize ; col++ )</div>
-<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span> {</div>
-<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span> <span class="keywordflow">if</span> ( col_counter > ilx-1 )</div>
-<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span> {</div>
-<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span> col_counter-- ;</div>
-<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span> }</div>
-<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span> <span class="keywordflow">if</span> ( col_counter + z*ilx < 0 )</div>
-<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> {</div>
-<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span> podata[col+row_index[slit]*imsize] = pidata[0] ;</div>
-<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span> }</div>
-<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span> { </div>
-<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> podata[col+row_index[slit]*imsize]=pidata[col_counter+z*ilx];</div>
-<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span> }</div>
-<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span> </div>
-<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span> col_counter++ ;</div>
-<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span> }</div>
-<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span> }</div>
-<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span> cpl_imagelist_set(returnCube,o_img,z); </div>
-<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span> }</div>
-<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span> cpl_free (row_index) ;</div>
-<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span> cpl_free (beginCol) ;</div>
-<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span> cpl_free (center) ;</div>
-<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span> </div>
-<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span> <span class="keywordflow">return</span> returnCube ;</div>
-<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span> }</div>
-<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span> cpl_imagelist * </div>
-<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span> sinfo_new_make_cube_dist ( cpl_image * calibImage,</div>
-<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span> <span class="keywordtype">float</span> firstCol,</div>
-<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span> <span class="keywordtype">float</span> * distances,</div>
-<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span> <span class="keywordtype">float</span> * shift )</div>
-<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span> {</div>
-<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span> cpl_imagelist * returnCube ;</div>
-<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span> <span class="keywordtype">float</span> di ;</div>
-<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span> <span class="keywordtype">float</span> diff, start ;</div>
-<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span> <span class="keywordtype">int</span> * row_index ;</div>
-<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span> <span class="keywordtype">int</span> slit ;</div>
-<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span> <span class="keywordtype">int</span> col, z ;</div>
-<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span> <span class="keywordtype">int</span> imsize ;</div>
-<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span> <span class="keywordtype">int</span> * beginCol ;</div>
-<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span> <span class="keywordtype">int</span> col_counter ;</div>
-<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span> </div>
-<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span> cpl_image* o_img;</div>
-<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span> </div>
-<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span> <span class="keywordflow">if</span> ( NULL == calibImage )</div>
-<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span> {</div>
-<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no resampled image given!\n"</span>) ;</div>
-<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span> }</div>
-<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span> ilx=cpl_image_get_size_x(calibImage);</div>
-<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span> ily=cpl_image_get_size_y(calibImage);</div>
-<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span> pidata=cpl_image_get_data_float(calibImage);</div>
-<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span> </div>
-<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span> <span class="keywordflow">if</span> ( NULL == distances )</div>
-<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span> {</div>
-<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no distances array given from north_south_test()!"</span>) ;</div>
-<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span> }</div>
-<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span> </div>
-<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span> <span class="keywordflow">if</span> ( N_SLITLETS != 32 )</div>
-<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span> {</div>
-<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"wrong number of slitlets given \n"</span> ) ;</div>
-<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span> }</div>
-<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span> imsize = ilx / N_SLITLETS ;</div>
-<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span> </div>
-<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span> <span class="comment">/* allocate memory */</span> </div>
-<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span> <span class="keywordflow">if</span> ( NULL == (row_index = (<span class="keywordtype">int</span>*) cpl_calloc(N_SLITLETS, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)) ) )</div>
-<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span> {</div>
-<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate memory \n"</span> ) ;</div>
-<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span> }</div>
-<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span> <span class="keywordflow">if</span> ( NULL == (beginCol = (<span class="keywordtype">int</span>*) cpl_calloc(N_SLITLETS, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)) ) )</div>
-<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span> {</div>
-<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate memory \n"</span> ) ;</div>
-<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span> cpl_free(row_index) ;</div>
-<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span> }</div>
-<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span> <span class="keywordflow">if</span> ( NULL == (returnCube = cpl_imagelist_new()) )</div>
-<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span> {</div>
-<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new cube \n"</span> ) ;</div>
-<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span> cpl_free(row_index) ;</div>
-<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span> cpl_free(beginCol) ;</div>
-<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span> }</div>
-<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span> </div>
-<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span> di = 0. ;</div>
-<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span> <span class="comment">/* determine the absolute beginning of the slitlets and the distances </span></div>
-<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span> <span class="comment"> inside the image*/</span></div>
-<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span> <span class="keywordflow">for</span> ( slit = 0 ; slit < N_SLITLETS ; slit++ ) </div>
-<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span> <span class="comment">/* go through the slitlets of each row of the resampled image */</span></div>
-<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span> {</div>
-<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span> </div>
-<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span> <span class="comment">/* -------------------------------------------------------------</span></div>
-<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span> <span class="comment"> * sort the slitlets in the right spiffi specific way</span></div>
-<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span> <span class="comment"> * the row_index describes the row index of the current slitlet </span></div>
-<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span> <span class="comment"> * in the resulting cube images.</span></div>
-<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span> <span class="keywordflow">if</span>(-1 == sinfo_sort_slitlets_array(slit,row_index)) {</div>
-<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span> cpl_imagelist_delete(returnCube) ;</div>
-<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span> cpl_free(row_index) ;</div>
-<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span> cpl_free(beginCol) ;</div>
-<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span> }</div>
-<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span> </div>
-<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span> <span class="comment">/* determine the integer column on which the slitlet starts */</span></div>
-<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span> <span class="keywordflow">if</span> ( slit == 0 )</div>
-<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span> {</div>
-<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span> start = firstCol ;</div>
-<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span> }</div>
-<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span> {</div>
-<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span> di += distances[slit-1] ;</div>
-<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span> start = firstCol + di ;</div>
-<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span> }</div>
-<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span> beginCol[slit] = sinfo_new_nint(start) ;</div>
-<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span> </div>
-<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span> <span class="comment">/* determine the error of using integer pixels, its always smaller </span></div>
-<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span> <span class="comment"> than 1 */</span></div>
-<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span> diff = start - (float)beginCol[slit] ;</div>
-<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span> </div>
-<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span> <span class="comment">/*---------------------------------------------------------------- </span></div>
-<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span> <span class="comment"> * determine the output shift values by which the rows are finally </span></div>
-<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span> <span class="comment"> * shifted, consider the integer pixel errors and resort shift array </span></div>
-<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span> <span class="comment"> * to get the row index </span></div>
-<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span> shift[row_index[slit]] = diff ;</div>
-<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span> } </div>
-<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span> </div>
-<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span> <span class="comment">/* now build the data cube out of the resampled image */</span></div>
-<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span> <span class="keywordflow">for</span> ( z = 0 ; z < ily ; z++ ) <span class="comment">/* go through the z-axis */</span></div>
-<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span> {</div>
-<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span> o_img=cpl_image_new(imsize,N_SLITLETS,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span> podata=cpl_image_get_data_float(o_img);</div>
-<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span> <span class="keywordflow">for</span> ( slit = 0 ; slit < N_SLITLETS ; slit++ )</div>
-<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span> {</div>
-<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span> col_counter = beginCol[slit] ;</div>
-<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span> <span class="comment">/* each slitlet is centered on the final image row */</span></div>
-<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span> <span class="keywordflow">for</span> ( col = 0 ; col < imsize ; col++ )</div>
-<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span> {</div>
-<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span> <span class="keywordflow">if</span> ( col_counter > ilx-1 )</div>
-<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span> {</div>
-<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span> col_counter-- ;</div>
-<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span> }</div>
-<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span> <span class="keywordflow">if</span> ( col_counter + z*ilx < 0 )</div>
-<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span> {</div>
-<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span> podata[col+row_index[slit]*imsize] = podata[0] ;</div>
-<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span> }</div>
-<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span> { </div>
-<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span> podata[col+row_index[slit]*imsize]=pidata[col_counter+z*ilx];</div>
-<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span> }</div>
-<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span> </div>
-<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span> col_counter++ ;</div>
-<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span> }</div>
-<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span> } </div>
-<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span> cpl_imagelist_set(returnCube,o_img,z); </div>
-<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span> }</div>
-<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span> cpl_free (row_index) ;</div>
-<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span> cpl_free (beginCol) ;</div>
-<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span> </div>
-<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span> <span class="keywordflow">return</span> returnCube ;</div>
-<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span> }</div>
-<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span> cpl_imagelist * </div>
-<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span> sinfo_new_make_3D_cube_dist ( cpl_image * calibImage,</div>
-<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span> <span class="keywordtype">float</span> firstCol,</div>
-<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span> <span class="keywordtype">float</span> * distances,</div>
-<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span> <span class="keywordtype">float</span> * shift )</div>
-<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span> {</div>
-<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span> cpl_imagelist * returnCube ;</div>
-<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span> <span class="keywordtype">float</span> di ;</div>
-<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span> <span class="keywordtype">float</span> diff, start ;</div>
-<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span> <span class="keywordtype">int</span> * row_index ;</div>
-<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span> <span class="keywordtype">int</span> slit ;</div>
-<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span> <span class="keywordtype">int</span> col, z ;</div>
-<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span> <span class="keywordtype">int</span> imsize ;</div>
-<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span> <span class="keywordtype">int</span> * beginCol ;</div>
-<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span> <span class="keywordtype">int</span> col_counter ;</div>
-<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span> </div>
-<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span> cpl_image* o_img;</div>
-<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span> </div>
-<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span> <span class="keywordflow">if</span> ( NULL == calibImage )</div>
-<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span> {</div>
-<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no resampled image given!\n"</span>) ;</div>
-<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span> }</div>
-<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span> ilx=cpl_image_get_size_x(calibImage);</div>
-<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span> ily=cpl_image_get_size_y(calibImage);</div>
-<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span> pidata=cpl_image_get_data_float(calibImage);</div>
-<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span> </div>
-<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span> <span class="keywordflow">if</span> ( NULL == distances )</div>
-<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span> {</div>
-<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no distances array given from north_south_test()!"</span>) ;</div>
-<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span> }</div>
-<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span> </div>
-<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span> <span class="keywordflow">if</span> ( N_SLITLETS != 16 )</div>
-<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span> {</div>
-<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"wrong number of slitlets given \n"</span> ) ;</div>
-<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span> }</div>
-<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span> imsize = ilx / N_SLITLETS ;</div>
-<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span> </div>
-<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span> <span class="comment">/* allocate memory */</span> </div>
-<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span> <span class="keywordflow">if</span> ( NULL == (row_index = (<span class="keywordtype">int</span>*) cpl_calloc(N_SLITLETS, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)) ) )</div>
-<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span> {</div>
-<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate memory \n"</span> ) ;</div>
-<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span> }</div>
-<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span> <span class="keywordflow">if</span> ( NULL == (beginCol = (<span class="keywordtype">int</span>*) cpl_calloc(N_SLITLETS, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)) ) )</div>
-<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span> {</div>
-<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate memory \n"</span> ) ;</div>
-<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span> cpl_free(row_index) ;</div>
-<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span> }</div>
-<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span> <span class="keywordflow">if</span> ( NULL == (returnCube = cpl_imagelist_new()) )</div>
-<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span> {</div>
-<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new cube \n"</span> ) ;</div>
-<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span> cpl_free(row_index) ;</div>
-<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span> cpl_free(beginCol) ;</div>
-<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span> }</div>
-<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span> </div>
-<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span> di = 0. ;</div>
-<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span> <span class="comment">/* determine the absolute beginning of the slitlets and the distances </span></div>
-<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span> <span class="comment"> inside the image*/</span></div>
-<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span> <span class="keywordflow">for</span> ( slit = 0 ; slit < N_SLITLETS ; slit++ ) </div>
-<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span> <span class="comment">/* go through the slitlets of each row of the resampled image */</span></div>
-<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span> {</div>
-<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span> </div>
-<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span> <span class="comment">/* --------------------------------------------------------------</span></div>
-<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span> <span class="comment"> * sort the slitlets in the right 3D specific way</span></div>
-<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span> <span class="comment"> * the row_index describes the row index of the current slitlet </span></div>
-<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span> <span class="comment"> * in the resulting cube images.</span></div>
-<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span> row_index[slit] = slit ;</div>
-<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span> </div>
-<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span> <span class="comment">/* determine the integer column on which the slitlet starts */</span></div>
-<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span> <span class="keywordflow">if</span> ( slit == 0 )</div>
-<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span> {</div>
-<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span> start = firstCol ;</div>
-<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span> }</div>
-<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span> {</div>
-<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span> di += distances[slit-1] ;</div>
-<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span> start = firstCol + di ;</div>
-<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span> }</div>
-<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span> beginCol[slit] = sinfo_new_nint(start) ;</div>
-<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span> </div>
-<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span> <span class="comment">/* determine the error of using integer pixels, </span></div>
-<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span> <span class="comment"> `its always smaller than 1 */</span></div>
-<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span> diff = start - (float)beginCol[slit] ;</div>
-<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span> </div>
-<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span> <span class="comment">/*---------------------------------------------------------------- </span></div>
-<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span> <span class="comment"> * determine the output shift values by which the rows are finally </span></div>
-<div class="line"><a name="l01656"></a><span class="lineno"> 1656</span> <span class="comment"> shifted, consider the integer pixel errors and resort shift array </span></div>
-<div class="line"><a name="l01657"></a><span class="lineno"> 1657</span> <span class="comment"> to get the row index </span></div>
-<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span> shift[row_index[slit]] = diff ;</div>
-<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span> } </div>
-<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span> </div>
-<div class="line"><a name="l01662"></a><span class="lineno"> 1662</span> <span class="comment">/* now build the data cube out of the resampled image */</span></div>
-<div class="line"><a name="l01663"></a><span class="lineno"> 1663</span> <span class="keywordflow">for</span> ( z = 0 ; z < ily ; z++ ) <span class="comment">/* go through the z-axis */</span></div>
-<div class="line"><a name="l01664"></a><span class="lineno"> 1664</span> {</div>
-<div class="line"><a name="l01665"></a><span class="lineno"> 1665</span> o_img=cpl_image_new(imsize,N_SLITLETS,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l01666"></a><span class="lineno"> 1666</span> podata=cpl_image_get_data_float(o_img);</div>
-<div class="line"><a name="l01667"></a><span class="lineno"> 1667</span> <span class="keywordflow">for</span> ( slit = 0 ; slit < N_SLITLETS ; slit++ )</div>
-<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span> {</div>
-<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span> col_counter = beginCol[slit] ;</div>
-<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span> <span class="comment">/* each slitlet is centered on the final image row */</span></div>
-<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span> <span class="keywordflow">for</span> ( col = 0 ; col < imsize ; col++ )</div>
-<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span> {</div>
-<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span> <span class="keywordflow">if</span> ( col_counter > ilx-1 )</div>
-<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span> {</div>
-<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span> col_counter-- ;</div>
-<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span> }</div>
-<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span> podata[col+row_index[slit]*imsize]=pidata[col_counter+z*ilx];</div>
-<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span> col_counter++ ;</div>
-<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span> }</div>
-<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span> } </div>
-<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span> cpl_imagelist_set(returnCube,o_img,z); </div>
-<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span> }</div>
-<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span> cpl_free (row_index) ;</div>
-<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span> cpl_free (beginCol) ;</div>
-<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span> </div>
-<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span> <span class="keywordflow">return</span> returnCube ;</div>
-<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span> }</div>
-<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span> </div>
-<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span> cpl_imagelist * </div>
-<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span> sinfo_new_make_3D_cube ( cpl_image * calibImage,</div>
-<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span> <span class="keywordtype">int</span> * kpixshift, </div>
-<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span> <span class="keywordtype">int</span> kpixfirst )</div>
-<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span> {</div>
-<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span> cpl_imagelist * returnCube ;</div>
-<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span> <span class="keywordtype">int</span> imsize, kslit, kpix ;</div>
-<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span> <span class="keywordtype">int</span> z, col, recol ;</div>
-<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span> </div>
-<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span> cpl_image* o_img;</div>
-<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span> </div>
-<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span> <span class="keywordflow">if</span> ( NULL == calibImage )</div>
-<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span> {</div>
-<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no resampled image given!\n"</span>) ;</div>
-<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span> }</div>
-<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span> ilx=cpl_image_get_size_x(calibImage);</div>
-<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span> ily=cpl_image_get_size_y(calibImage);</div>
-<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span> pidata=cpl_image_get_data_float(calibImage);</div>
-<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span> </div>
-<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span> <span class="keywordflow">if</span> ( NULL == kpixshift )</div>
-<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span> {</div>
-<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no shift array given!/n"</span>) ;</div>
-<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span> }</div>
-<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span> </div>
-<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span> <span class="keywordflow">if</span> ( kpixfirst < 0 )</div>
-<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span> {</div>
-<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong first valid pixel given!/n"</span>) ;</div>
-<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span> }</div>
-<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span> </div>
-<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span> <span class="keywordflow">if</span> ( N_SLITLETS != 16 )</div>
-<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span> {</div>
-<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"wrong number of slitlets given \n"</span> ) ;</div>
-<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span> }</div>
-<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span> imsize = ilx / N_SLITLETS ;</div>
-<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span> </div>
-<div class="line"><a name="l01749"></a><span class="lineno"> 1749</span> <span class="keywordflow">if</span> ( NULL == (returnCube = cpl_imagelist_new()) )</div>
-<div class="line"><a name="l01750"></a><span class="lineno"> 1750</span> {</div>
-<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new cube \n"</span> ) ;</div>
-<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span> }</div>
-<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span> </div>
-<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span> <span class="comment">/* now build the data cube out of the resampled image */</span></div>
-<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span> <span class="keywordflow">for</span> ( z = 0 ; z < ily ; z++ ) <span class="comment">/* go through the z-axis */</span></div>
-<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span> {</div>
-<div class="line"><a name="l01758"></a><span class="lineno"> 1758</span> o_img=cpl_image_new(imsize,N_SLITLETS,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span> podata=cpl_image_get_data_float(o_img);</div>
-<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span> kpix = 0 ;</div>
-<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span> kslit = 0 ;</div>
-<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span> recol = -1 ;</div>
-<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ ) <span class="comment">/* go through the image columns */</span></div>
-<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span> {</div>
-<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span> <span class="keywordflow">if</span> ( col % imsize == 0 ) </div>
-<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span> {</div>
-<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span> recol = 0 ;</div>
-<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span> kslit = col/imsize ;</div>
-<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span> kpix = kpixfirst + kpixshift[kslit] ;</div>
-<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span> }</div>
-<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span> </div>
-<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span> <span class="comment">/* fill each cube plane with one image row */</span></div>
-<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span> podata[recol+kslit*imsize] = pidata[col+kpix+z*ilx] ;</div>
-<div class="line"><a name="l01774"></a><span class="lineno"> 1774</span> recol++ ;</div>
-<div class="line"><a name="l01775"></a><span class="lineno"> 1775</span> <span class="keywordflow">if</span> ( recol > imsize )</div>
-<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span> {</div>
-<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong column of reconstructed image, i"</span></div>
-<div class="line"><a name="l01778"></a><span class="lineno"> 1778</span> <span class="stringliteral">"shouldn't happen!\n"</span>) ; </div>
-<div class="line"><a name="l01779"></a><span class="lineno"> 1779</span> cpl_imagelist_delete(returnCube) ;</div>
-<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01781"></a><span class="lineno"> 1781</span> }</div>
-<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span> }</div>
-<div class="line"><a name="l01783"></a><span class="lineno"> 1783</span> cpl_imagelist_set(returnCube,o_img,z);</div>
-<div class="line"><a name="l01784"></a><span class="lineno"> 1784</span> }</div>
-<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span> <span class="keywordflow">return</span> returnCube ;</div>
-<div class="line"><a name="l01786"></a><span class="lineno"> 1786</span> }</div>
-<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span> </div>
-<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span> cpl_imagelist * </div>
-<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span> sinfo_new_determine_mask_cube ( cpl_imagelist * sourceMaskCube,</div>
-<div class="line"><a name="l01802"></a><span class="lineno"> 1802</span> <span class="keywordtype">float</span> lowLimit,</div>
-<div class="line"><a name="l01803"></a><span class="lineno"> 1803</span> <span class="keywordtype">float</span> highLimit )</div>
-<div class="line"><a name="l01804"></a><span class="lineno"> 1804</span> {</div>
-<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span> cpl_imagelist * retCube ; </div>
-<div class="line"><a name="l01806"></a><span class="lineno"> 1806</span> <span class="keywordtype">int</span> z, n ;</div>
-<div class="line"><a name="l01807"></a><span class="lineno"> 1807</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01808"></a><span class="lineno"> 1808</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01809"></a><span class="lineno"> 1809</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l01810"></a><span class="lineno"> 1810</span> <span class="keywordtype">int</span> olx=0;</div>
-<div class="line"><a name="l01811"></a><span class="lineno"> 1811</span> <span class="keywordtype">int</span> oly=0;</div>
-<div class="line"><a name="l01812"></a><span class="lineno"> 1812</span> <span class="keywordtype">int</span> onp=0;</div>
-<div class="line"><a name="l01813"></a><span class="lineno"> 1813</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l01814"></a><span class="lineno"> 1814</span> cpl_image* o_img;</div>
-<div class="line"><a name="l01815"></a><span class="lineno"> 1815</span> </div>
-<div class="line"><a name="l01816"></a><span class="lineno"> 1816</span> <span class="keywordflow">if</span> ( sourceMaskCube == NULL )</div>
-<div class="line"><a name="l01817"></a><span class="lineno"> 1817</span> {</div>
-<div class="line"><a name="l01818"></a><span class="lineno"> 1818</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no cube given!\n"</span>) ;</div>
-<div class="line"><a name="l01819"></a><span class="lineno"> 1819</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01820"></a><span class="lineno"> 1820</span> }</div>
-<div class="line"><a name="l01821"></a><span class="lineno"> 1821</span> ilx=cpl_image_get_size_x(cpl_imagelist_get(sourceMaskCube,0));</div>
-<div class="line"><a name="l01822"></a><span class="lineno"> 1822</span> ily=cpl_image_get_size_y(cpl_imagelist_get(sourceMaskCube,0));</div>
-<div class="line"><a name="l01823"></a><span class="lineno"> 1823</span> inp=cpl_imagelist_get_size(sourceMaskCube);</div>
-<div class="line"><a name="l01824"></a><span class="lineno"> 1824</span> </div>
-<div class="line"><a name="l01825"></a><span class="lineno"> 1825</span> </div>
-<div class="line"><a name="l01826"></a><span class="lineno"> 1826</span> <span class="keywordflow">if</span> ( lowLimit > 0. )</div>
-<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span> {</div>
-<div class="line"><a name="l01828"></a><span class="lineno"> 1828</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"lowLimit wrong!\n"</span>) ;</div>
-<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01830"></a><span class="lineno"> 1830</span> }</div>
-<div class="line"><a name="l01831"></a><span class="lineno"> 1831</span> <span class="keywordflow">if</span> ( highLimit >= 1. || highLimit < 0. )</div>
-<div class="line"><a name="l01832"></a><span class="lineno"> 1832</span> {</div>
-<div class="line"><a name="l01833"></a><span class="lineno"> 1833</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"highLimit wrong!\n"</span>) ;</div>
-<div class="line"><a name="l01834"></a><span class="lineno"> 1834</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01835"></a><span class="lineno"> 1835</span> }</div>
-<div class="line"><a name="l01836"></a><span class="lineno"> 1836</span> </div>
-<div class="line"><a name="l01837"></a><span class="lineno"> 1837</span> retCube = cpl_imagelist_duplicate (sourceMaskCube) ;</div>
-<div class="line"><a name="l01838"></a><span class="lineno"> 1838</span> onp=inp;</div>
-<div class="line"><a name="l01839"></a><span class="lineno"> 1839</span> olx=ilx;</div>
-<div class="line"><a name="l01840"></a><span class="lineno"> 1840</span> oly=ily;</div>
-<div class="line"><a name="l01841"></a><span class="lineno"> 1841</span> </div>
-<div class="line"><a name="l01842"></a><span class="lineno"> 1842</span> <span class="keywordflow">for</span> ( z = 0 ; z < onp ; z++ )</div>
-<div class="line"><a name="l01843"></a><span class="lineno"> 1843</span> {</div>
-<div class="line"><a name="l01844"></a><span class="lineno"> 1844</span> o_img=cpl_imagelist_get(retCube,0);</div>
-<div class="line"><a name="l01845"></a><span class="lineno"> 1845</span> podata=cpl_image_get_data_float(o_img);</div>
-<div class="line"><a name="l01846"></a><span class="lineno"> 1846</span> <span class="keywordflow">for</span> ( n = 0 ; n < (int) olx*oly; n++ )</div>
-<div class="line"><a name="l01847"></a><span class="lineno"> 1847</span> {</div>
-<div class="line"><a name="l01848"></a><span class="lineno"> 1848</span> <span class="keywordflow">if</span> ( podata[n] == 0. )</div>
-<div class="line"><a name="l01849"></a><span class="lineno"> 1849</span> {</div>
-<div class="line"><a name="l01850"></a><span class="lineno"> 1850</span> continue ;</div>
-<div class="line"><a name="l01851"></a><span class="lineno"> 1851</span> }</div>
-<div class="line"><a name="l01852"></a><span class="lineno"> 1852</span> <span class="keywordflow">if</span> ( podata[n] == 1. )</div>
-<div class="line"><a name="l01853"></a><span class="lineno"> 1853</span> {</div>
-<div class="line"><a name="l01854"></a><span class="lineno"> 1854</span> continue ;</div>
-<div class="line"><a name="l01855"></a><span class="lineno"> 1855</span> }</div>
-<div class="line"><a name="l01856"></a><span class="lineno"> 1856</span> <span class="keywordflow">if</span> ( podata[n] >= lowLimit && </div>
-<div class="line"><a name="l01857"></a><span class="lineno"> 1857</span> podata[n] <= highLimit )</div>
-<div class="line"><a name="l01858"></a><span class="lineno"> 1858</span> {</div>
-<div class="line"><a name="l01859"></a><span class="lineno"> 1859</span> podata[n] = 0. ;</div>
-<div class="line"><a name="l01860"></a><span class="lineno"> 1860</span> }</div>
-<div class="line"><a name="l01861"></a><span class="lineno"> 1861</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l01862"></a><span class="lineno"> 1862</span> {</div>
-<div class="line"><a name="l01863"></a><span class="lineno"> 1863</span> podata[n] = 1. ;</div>
-<div class="line"><a name="l01864"></a><span class="lineno"> 1864</span> }</div>
-<div class="line"><a name="l01865"></a><span class="lineno"> 1865</span> }</div>
-<div class="line"><a name="l01866"></a><span class="lineno"> 1866</span> }</div>
-<div class="line"><a name="l01867"></a><span class="lineno"> 1867</span> <span class="keywordflow">return</span> retCube ;</div>
-<div class="line"><a name="l01868"></a><span class="lineno"> 1868</span> }</div>
-<div class="line"><a name="l01907"></a><span class="lineno"> 1907</span> cpl_imagelist * </div>
-<div class="line"><a name="l01908"></a><span class="lineno"> 1908</span> sinfo_new_interpol_cube ( cpl_imagelist * sourceCube,</div>
-<div class="line"><a name="l01909"></a><span class="lineno"> 1909</span> cpl_imagelist * maskCube,</div>
-<div class="line"><a name="l01910"></a><span class="lineno"> 1910</span> <span class="keywordtype">int</span> n_neighbors, <span class="comment">/* 7 */</span></div>
-<div class="line"><a name="l01911"></a><span class="lineno"> 1911</span> <span class="keywordtype">int</span> max_radius ) <span class="comment">/* 5 */</span></div>
-<div class="line"><a name="l01912"></a><span class="lineno"> 1912</span> {</div>
-<div class="line"><a name="l01913"></a><span class="lineno"> 1913</span> cpl_imagelist * returnCube ;</div>
-<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span> <span class="keywordtype">float</span>** spec=NULL ;</div>
-<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span> <span class="keywordtype">float</span>* spec1=NULL ;</div>
-<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span> <span class="keywordtype">int</span> n_im, n_bad, n_bad1, n_bad2 ;</div>
-<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span> <span class="keywordtype">int</span> n_planes, specn, nspec1 ;</div>
-<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span> <span class="keywordtype">int</span> i, m, n, z, ni, kk, p ;</div>
-<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span> <span class="keywordtype">int</span> dis, dismin, dismax ;</div>
-<div class="line"><a name="l01920"></a><span class="lineno"> 1920</span> <span class="keywordtype">int</span> agreed ;</div>
-<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span> <span class="keywordtype">int</span> xcordi, ycordi, xcordm, ycordm ;</div>
-<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span> </div>
-<div class="line"><a name="l01923"></a><span class="lineno"> 1923</span> </div>
-<div class="line"><a name="l01924"></a><span class="lineno"> 1924</span> </div>
-<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span> </div>
-<div class="line"><a name="l01929"></a><span class="lineno"> 1929</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span> <span class="keywordtype">float</span>* pmdata=NULL;</div>
-<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l01933"></a><span class="lineno"> 1933</span> cpl_image* m_img=NULL;</div>
-<div class="line"><a name="l01934"></a><span class="lineno"> 1934</span> cpl_image* o_img=NULL;</div>
-<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span> </div>
-<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span> <span class="keywordflow">if</span> ( NULL == sourceCube )</div>
-<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span> {</div>
-<div class="line"><a name="l01938"></a><span class="lineno"> 1938</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no source cube given!\n"</span>) ;</div>
-<div class="line"><a name="l01939"></a><span class="lineno"> 1939</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span> }</div>
-<div class="line"><a name="l01941"></a><span class="lineno"> 1941</span> </div>
-<div class="line"><a name="l01942"></a><span class="lineno"> 1942</span> </div>
-<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span> ilx=cpl_image_get_size_x(cpl_imagelist_get(sourceCube,0));</div>
-<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span> ily=cpl_image_get_size_y(cpl_imagelist_get(sourceCube,0));</div>
-<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span> inp=cpl_imagelist_get_size(sourceCube);</div>
-<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span> </div>
-<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span> <span class="keywordflow">if</span> ( NULL == maskCube )</div>
-<div class="line"><a name="l01948"></a><span class="lineno"> 1948</span> {</div>
-<div class="line"><a name="l01949"></a><span class="lineno"> 1949</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no bad pixel mask cube given!\n"</span>) ;</div>
-<div class="line"><a name="l01950"></a><span class="lineno"> 1950</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01951"></a><span class="lineno"> 1951</span> }</div>
-<div class="line"><a name="l01952"></a><span class="lineno"> 1952</span> </div>
-<div class="line"><a name="l01953"></a><span class="lineno"> 1953</span> <span class="keywordflow">if</span> ( n_neighbors <= 0 )</div>
-<div class="line"><a name="l01954"></a><span class="lineno"> 1954</span> {</div>
-<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong number of neighbors in the spectral "</span></div>
-<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span> <span class="stringliteral">"direction given!"</span>) ;</div>
-<div class="line"><a name="l01957"></a><span class="lineno"> 1957</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01958"></a><span class="lineno"> 1958</span> }</div>
-<div class="line"><a name="l01959"></a><span class="lineno"> 1959</span> </div>
-<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span> <span class="keywordflow">if</span> ( max_radius <= 0 )</div>
-<div class="line"><a name="l01961"></a><span class="lineno"> 1961</span> {</div>
-<div class="line"><a name="l01962"></a><span class="lineno"> 1962</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong maximal radius for interpolation inside "</span></div>
-<div class="line"><a name="l01963"></a><span class="lineno"> 1963</span> <span class="stringliteral">"an image plane given!"</span>) ;</div>
-<div class="line"><a name="l01964"></a><span class="lineno"> 1964</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01965"></a><span class="lineno"> 1965</span> }</div>
-<div class="line"><a name="l01966"></a><span class="lineno"> 1966</span> </div>
-<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span> returnCube = cpl_imagelist_duplicate(sourceCube) ;</div>
-<div class="line"><a name="l01968"></a><span class="lineno"> 1968</span> </div>
-<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span> n_im = ilx * ily ;</div>
-<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span> n_planes = inp ;</div>
-<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span> </div>
-<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span> spec1=cpl_calloc(300,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span> spec=sinfo_new_2Dfloatarray(100,2*n_neighbors+1) ;</div>
-<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span> </div>
-<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span> <span class="comment">/* loop over the image planes and look for bad pixels and correct them */</span></div>
-<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span> <span class="keywordflow">for</span> ( z = 0 ; z < n_planes ; z++ ) <span class="comment">/* go through image planes */</span></div>
-<div class="line"><a name="l01977"></a><span class="lineno"> 1977</span> {</div>
-<div class="line"><a name="l01978"></a><span class="lineno"> 1978</span> m_img=cpl_imagelist_get(maskCube,z);</div>
-<div class="line"><a name="l01979"></a><span class="lineno"> 1979</span> pmdata=cpl_image_get_data_float(m_img);</div>
-<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span> o_img=cpl_imagelist_get(returnCube,z);</div>
-<div class="line"><a name="l01981"></a><span class="lineno"> 1981</span> podata=cpl_image_get_data_float(o_img);</div>
-<div class="line"><a name="l01982"></a><span class="lineno"> 1982</span> </div>
-<div class="line"><a name="l01983"></a><span class="lineno"> 1983</span> <span class="comment">/*-------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01984"></a><span class="lineno"> 1984</span> <span class="comment"> * determine n, the length of one wing in one spectrum with which the </span></div>
-<div class="line"><a name="l01985"></a><span class="lineno"> 1985</span> <span class="comment"> * bad pixel will be interpolated. The length of one wing is </span></div>
-<div class="line"><a name="l01986"></a><span class="lineno"> 1986</span> <span class="comment"> n_neighbors but less at the edges of the cube. </span></div>
-<div class="line"><a name="l01987"></a><span class="lineno"> 1987</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01988"></a><span class="lineno"> 1988</span> <span class="keywordflow">if</span> ( z < n_neighbors )</div>
-<div class="line"><a name="l01989"></a><span class="lineno"> 1989</span> {</div>
-<div class="line"><a name="l01990"></a><span class="lineno"> 1990</span> n = z ;</div>
-<div class="line"><a name="l01991"></a><span class="lineno"> 1991</span> }</div>
-<div class="line"><a name="l01992"></a><span class="lineno"> 1992</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( n_planes - z <= n_neighbors)</div>
-<div class="line"><a name="l01993"></a><span class="lineno"> 1993</span> {</div>
-<div class="line"><a name="l01994"></a><span class="lineno"> 1994</span> n = n_planes - z -1 ;</div>
-<div class="line"><a name="l01995"></a><span class="lineno"> 1995</span> }</div>
-<div class="line"><a name="l01996"></a><span class="lineno"> 1996</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01997"></a><span class="lineno"> 1997</span> { </div>
-<div class="line"><a name="l01998"></a><span class="lineno"> 1998</span> n = n_neighbors ;</div>
-<div class="line"><a name="l01999"></a><span class="lineno"> 1999</span> }</div>
-<div class="line"><a name="l02000"></a><span class="lineno"> 2000</span> </div>
-<div class="line"><a name="l02001"></a><span class="lineno"> 2001</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_im ; i ++ ) <span class="comment">/* go through one image */</span></div>
-<div class="line"><a name="l02002"></a><span class="lineno"> 2002</span> {</div>
-<div class="line"><a name="l02003"></a><span class="lineno"> 2003</span> <span class="comment">/* continue if the pixel is a good one */</span></div>
-<div class="line"><a name="l02004"></a><span class="lineno"> 2004</span> <span class="keywordflow">if</span> ( pmdata[i] != 0. )</div>
-<div class="line"><a name="l02005"></a><span class="lineno"> 2005</span> {</div>
-<div class="line"><a name="l02006"></a><span class="lineno"> 2006</span> continue ;</div>
-<div class="line"><a name="l02007"></a><span class="lineno"> 2007</span> }</div>
-<div class="line"><a name="l02008"></a><span class="lineno"> 2008</span> </div>
-<div class="line"><a name="l02009"></a><span class="lineno"> 2009</span> <span class="comment">/*-------------------------------------------------------------</span></div>
-<div class="line"><a name="l02010"></a><span class="lineno"> 2010</span> <span class="comment"> * exclude pixels with too many bad neighbors in the spectrum.</span></div>
-<div class="line"><a name="l02011"></a><span class="lineno"> 2011</span> <span class="comment"> * exit if: too few good pixels in the neighboring spectrum or </span></div>
-<div class="line"><a name="l02012"></a><span class="lineno"> 2012</span> <span class="comment"> * good pixels are only on one side of the spectrum.</span></div>
-<div class="line"><a name="l02013"></a><span class="lineno"> 2013</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02014"></a><span class="lineno"> 2014</span> n_bad = 0 ;</div>
-<div class="line"><a name="l02015"></a><span class="lineno"> 2015</span> n_bad1 = 0 ;</div>
-<div class="line"><a name="l02016"></a><span class="lineno"> 2016</span> n_bad2 = 0 ;</div>
-<div class="line"><a name="l02017"></a><span class="lineno"> 2017</span> <span class="comment">/* go through the neighbor spectral pixels */</span></div>
-<div class="line"><a name="l02018"></a><span class="lineno"> 2018</span> <span class="keywordflow">for</span> ( ni = z-n ; ni <= z+n ; ni++ ) </div>
-<div class="line"><a name="l02019"></a><span class="lineno"> 2019</span> {</div>
-<div class="line"><a name="l02020"></a><span class="lineno"> 2020</span> <span class="keywordflow">if</span> ( pmdata[i] == 0. )</div>
-<div class="line"><a name="l02021"></a><span class="lineno"> 2021</span> {</div>
-<div class="line"><a name="l02022"></a><span class="lineno"> 2022</span> n_bad++ ;</div>
-<div class="line"><a name="l02023"></a><span class="lineno"> 2023</span> <span class="comment">/* count bad pixels on either spectral side of </span></div>
-<div class="line"><a name="l02024"></a><span class="lineno"> 2024</span> <span class="comment"> the bad pixel to be interpolated */</span></div>
-<div class="line"><a name="l02025"></a><span class="lineno"> 2025</span> <span class="keywordflow">if</span> ( ni < z )</div>
-<div class="line"><a name="l02026"></a><span class="lineno"> 2026</span> {</div>
-<div class="line"><a name="l02027"></a><span class="lineno"> 2027</span> n_bad1++ ;</div>
-<div class="line"><a name="l02028"></a><span class="lineno"> 2028</span> }</div>
-<div class="line"><a name="l02029"></a><span class="lineno"> 2029</span> <span class="keywordflow">if</span> ( ni > z )</div>
-<div class="line"><a name="l02030"></a><span class="lineno"> 2030</span> {</div>
-<div class="line"><a name="l02031"></a><span class="lineno"> 2031</span> n_bad2++ ;</div>
-<div class="line"><a name="l02032"></a><span class="lineno"> 2032</span> }</div>
-<div class="line"><a name="l02033"></a><span class="lineno"> 2033</span> }</div>
-<div class="line"><a name="l02034"></a><span class="lineno"> 2034</span> }</div>
-<div class="line"><a name="l02035"></a><span class="lineno"> 2035</span> </div>
-<div class="line"><a name="l02036"></a><span class="lineno"> 2036</span> <span class="comment">/*--------------------------------------------------------------- </span></div>
-<div class="line"><a name="l02037"></a><span class="lineno"> 2037</span> <span class="comment"> * now the criteria are checked which the neighborhood in the </span></div>
-<div class="line"><a name="l02038"></a><span class="lineno"> 2038</span> <span class="comment"> spectral dimension has to match if the pixel is interpolatable.</span></div>
-<div class="line"><a name="l02039"></a><span class="lineno"> 2039</span> <span class="comment"> * The total number of the good pixel in the spectrum must be more </span></div>
-<div class="line"><a name="l02040"></a><span class="lineno"> 2040</span> <span class="comment"> than 3 and there must be at least one good pixel on either side </span></div>
-<div class="line"><a name="l02041"></a><span class="lineno"> 2041</span> <span class="comment"> of the central pixel.</span></div>
-<div class="line"><a name="l02042"></a><span class="lineno"> 2042</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02043"></a><span class="lineno"> 2043</span> <span class="keywordflow">if</span> ( (2*n+1 - n_bad) < 3 || (n - n_bad1) < 1 || (n - n_bad2) < 1 )</div>
-<div class="line"><a name="l02044"></a><span class="lineno"> 2044</span> {</div>
-<div class="line"><a name="l02045"></a><span class="lineno"> 2045</span> continue ;</div>
-<div class="line"><a name="l02046"></a><span class="lineno"> 2046</span> }</div>
-<div class="line"><a name="l02047"></a><span class="lineno"> 2047</span> </div>
-<div class="line"><a name="l02048"></a><span class="lineno"> 2048</span> <span class="comment">/* read the master spectrum into the first row of the array spec */</span></div>
-<div class="line"><a name="l02049"></a><span class="lineno"> 2049</span> kk = 0 ;</div>
-<div class="line"><a name="l02050"></a><span class="lineno"> 2050</span> <span class="keywordflow">for</span> ( ni = z-n ; ni <= z+n ; ni++ )</div>
-<div class="line"><a name="l02051"></a><span class="lineno"> 2051</span> {</div>
-<div class="line"><a name="l02052"></a><span class="lineno"> 2052</span> i_img=cpl_imagelist_get(sourceCube,ni);</div>
-<div class="line"><a name="l02053"></a><span class="lineno"> 2053</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l02054"></a><span class="lineno"> 2054</span> spec[1][kk] = pmdata[i] != 0. ? pidata[i] : ZERO ;</div>
-<div class="line"><a name="l02055"></a><span class="lineno"> 2055</span> kk++ ; <span class="comment">/* length of spectrum */</span></div>
-<div class="line"><a name="l02056"></a><span class="lineno"> 2056</span> }</div>
-<div class="line"><a name="l02057"></a><span class="lineno"> 2057</span> </div>
-<div class="line"><a name="l02058"></a><span class="lineno"> 2058</span> <span class="comment">/* look for appropriate neighbors in the x-y neighborhood */</span></div>
-<div class="line"><a name="l02059"></a><span class="lineno"> 2059</span> agreed = 1 ; <span class="comment">/* loop guard */</span></div>
-<div class="line"><a name="l02060"></a><span class="lineno"> 2060</span> specn = 2 ; <span class="comment">/* number of spectra in spec. </span></div>
-<div class="line"><a name="l02061"></a><span class="lineno"> 2061</span> <span class="comment"> First is master spectrum */</span></div>
-<div class="line"><a name="l02062"></a><span class="lineno"> 2062</span> dismin = 0 ; <span class="comment">/* x+y minimal distance to bad pixel */</span></div>
-<div class="line"><a name="l02063"></a><span class="lineno"> 2063</span> dismax = 1 ; <span class="comment">/* x+y maximal distance to bad pixel */</span></div>
-<div class="line"><a name="l02064"></a><span class="lineno"> 2064</span> <span class="keywordflow">do</span></div>
-<div class="line"><a name="l02065"></a><span class="lineno"> 2065</span> {</div>
-<div class="line"><a name="l02066"></a><span class="lineno"> 2066</span> <span class="keywordflow">for</span> ( m = 0 ; m < n_im ; m++ )</div>
-<div class="line"><a name="l02067"></a><span class="lineno"> 2067</span> {</div>
-<div class="line"><a name="l02068"></a><span class="lineno"> 2068</span> <span class="keywordflow">if</span> ( pmdata[m] == 0. )</div>
-<div class="line"><a name="l02069"></a><span class="lineno"> 2069</span> {</div>
-<div class="line"><a name="l02070"></a><span class="lineno"> 2070</span> continue ;</div>
-<div class="line"><a name="l02071"></a><span class="lineno"> 2071</span> }</div>
-<div class="line"><a name="l02072"></a><span class="lineno"> 2072</span> </div>
-<div class="line"><a name="l02073"></a><span class="lineno"> 2073</span> <span class="comment">/* --------------------------------------------------------</span></div>
-<div class="line"><a name="l02074"></a><span class="lineno"> 2074</span> <span class="comment"> * determine the x and y coordinates of the bad pixel (i)</span></div>
-<div class="line"><a name="l02075"></a><span class="lineno"> 2075</span> <span class="comment"> * and the pixels used to interpolate (m) </span></div>
-<div class="line"><a name="l02076"></a><span class="lineno"> 2076</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02077"></a><span class="lineno"> 2077</span> xcordi = i % ilx ;</div>
-<div class="line"><a name="l02078"></a><span class="lineno"> 2078</span> xcordm = m % ilx ;</div>
-<div class="line"><a name="l02079"></a><span class="lineno"> 2079</span> ycordi = i / ilx ;</div>
-<div class="line"><a name="l02080"></a><span class="lineno"> 2080</span> ycordm = m / ilx ;</div>
-<div class="line"><a name="l02081"></a><span class="lineno"> 2081</span> <span class="comment">/*----------------------------------------------------- </span></div>
-<div class="line"><a name="l02082"></a><span class="lineno"> 2082</span> <span class="comment"> * check the distance: take only close pixels</span></div>
-<div class="line"><a name="l02083"></a><span class="lineno"> 2083</span> <span class="comment"> * extension 'i' is coordinate of the bad pixel to be </span></div>
-<div class="line"><a name="l02084"></a><span class="lineno"> 2084</span> <span class="comment"> interpolated</span></div>
-<div class="line"><a name="l02085"></a><span class="lineno"> 2085</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02086"></a><span class="lineno"> 2086</span> dis = abs(xcordi-xcordm) + abs(ycordi-ycordm) ;</div>
-<div class="line"><a name="l02087"></a><span class="lineno"> 2087</span> <span class="keywordflow">if</span> ( dis <= dismin || dis > dismax )</div>
-<div class="line"><a name="l02088"></a><span class="lineno"> 2088</span> {</div>
-<div class="line"><a name="l02089"></a><span class="lineno"> 2089</span> continue ;</div>
-<div class="line"><a name="l02090"></a><span class="lineno"> 2090</span> }</div>
-<div class="line"><a name="l02091"></a><span class="lineno"> 2091</span> <span class="comment">/*--------------------------------------------------------</span></div>
-<div class="line"><a name="l02092"></a><span class="lineno"> 2092</span> <span class="comment"> * check on number of bad pixels in the spectrum of a </span></div>
-<div class="line"><a name="l02093"></a><span class="lineno"> 2093</span> <span class="comment"> * neighbor pixel; reject it if it contains less than 2 </span></div>
-<div class="line"><a name="l02094"></a><span class="lineno"> 2094</span> <span class="comment"> * usable pixel pairs. a bit more explanation:</span></div>
-<div class="line"><a name="l02095"></a><span class="lineno"> 2095</span> <span class="comment"> * let this be a 15 pixel spectrum with the pixel to be </span></div>
-<div class="line"><a name="l02096"></a><span class="lineno"> 2096</span> <span class="comment"> * interpolated denoted by '0' and other bad pixels marked </span></div>
-<div class="line"><a name="l02097"></a><span class="lineno"> 2097</span> <span class="comment"> * with 'b'. Good pixels are marked with '1'. Below a </span></div>
-<div class="line"><a name="l02098"></a><span class="lineno"> 2098</span> <span class="comment"> * neighbor spectrum is drawn containing bad pixels as </span></div>
-<div class="line"><a name="l02099"></a><span class="lineno"> 2099</span> <span class="comment"> * well. The third line shows the position of the usable </span></div>
-<div class="line"><a name="l02100"></a><span class="lineno"> 2100</span> <span class="comment"> * pixel pairs, spectral</span></div>
-<div class="line"><a name="l02101"></a><span class="lineno"> 2101</span> <span class="comment"> * positions, where both spectra have valid pixels.</span></div>
-<div class="line"><a name="l02102"></a><span class="lineno"> 2102</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l02103"></a><span class="lineno"> 2103</span> <span class="comment"> * 1 1 1 b b 1 1 0 b 1 b b 1 b b</span></div>
-<div class="line"><a name="l02104"></a><span class="lineno"> 2104</span> <span class="comment"> * b 1 1 1 b b 1 1 1 1 1 1 b b 1</span></div>
-<div class="line"><a name="l02105"></a><span class="lineno"> 2105</span> <span class="comment"> * ^ ^ ^ ^ 4 good pixel pairs</span></div>
-<div class="line"><a name="l02106"></a><span class="lineno"> 2106</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02107"></a><span class="lineno"> 2107</span> </div>
-<div class="line"><a name="l02108"></a><span class="lineno"> 2108</span> n_bad = 0 ;</div>
-<div class="line"><a name="l02109"></a><span class="lineno"> 2109</span> <span class="keywordflow">for</span> ( ni = z-n ; ni <= z+n ; ni++ )</div>
-<div class="line"><a name="l02110"></a><span class="lineno"> 2110</span> {</div>
-<div class="line"><a name="l02111"></a><span class="lineno"> 2111</span> <span class="keywordflow">if</span> ( pmdata[i] == 0. || pmdata[m] == 0. )</div>
-<div class="line"><a name="l02112"></a><span class="lineno"> 2112</span> {</div>
-<div class="line"><a name="l02113"></a><span class="lineno"> 2113</span> n_bad++ ;</div>
-<div class="line"><a name="l02114"></a><span class="lineno"> 2114</span> }</div>
-<div class="line"><a name="l02115"></a><span class="lineno"> 2115</span> }</div>
-<div class="line"><a name="l02116"></a><span class="lineno"> 2116</span> <span class="keywordflow">if</span> ( n_bad > 2*n-1 ) </div>
-<div class="line"><a name="l02117"></a><span class="lineno"> 2117</span> <span class="comment">/* we need at least 2 usable pixel pairs */</span></div>
-<div class="line"><a name="l02118"></a><span class="lineno"> 2118</span> {</div>
-<div class="line"><a name="l02119"></a><span class="lineno"> 2119</span> continue ;</div>
-<div class="line"><a name="l02120"></a><span class="lineno"> 2120</span> }</div>
-<div class="line"><a name="l02121"></a><span class="lineno"> 2121</span> </div>
-<div class="line"><a name="l02122"></a><span class="lineno"> 2122</span> <span class="comment">/* transfer the spectrum to the next position </span></div>
-<div class="line"><a name="l02123"></a><span class="lineno"> 2123</span> <span class="comment"> of array spec */</span></div>
-<div class="line"><a name="l02124"></a><span class="lineno"> 2124</span> kk = 0 ;</div>
-<div class="line"><a name="l02125"></a><span class="lineno"> 2125</span> <span class="keywordflow">for</span> ( ni = z-n ; ni <= z+n ; ni++ )</div>
-<div class="line"><a name="l02126"></a><span class="lineno"> 2126</span> {</div>
-<div class="line"><a name="l02127"></a><span class="lineno"> 2127</span> i_img=cpl_imagelist_get(sourceCube,ni);</div>
-<div class="line"><a name="l02128"></a><span class="lineno"> 2128</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l02129"></a><span class="lineno"> 2129</span> spec[specn][kk] = pmdata[m] != 0. ? pidata[m] : ZERO ;</div>
-<div class="line"><a name="l02130"></a><span class="lineno"> 2130</span> kk++ ;</div>
-<div class="line"><a name="l02131"></a><span class="lineno"> 2131</span> }</div>
-<div class="line"><a name="l02132"></a><span class="lineno"> 2132</span> specn++ ;</div>
-<div class="line"><a name="l02133"></a><span class="lineno"> 2133</span> <span class="keywordflow">if</span> ( specn > 10 ) <span class="comment">/* if we have 9 neighbors then break */</span></div>
-<div class="line"><a name="l02134"></a><span class="lineno"> 2134</span> {</div>
-<div class="line"><a name="l02135"></a><span class="lineno"> 2135</span> agreed = 0 ;</div>
-<div class="line"><a name="l02136"></a><span class="lineno"> 2136</span> break ;</div>
-<div class="line"><a name="l02137"></a><span class="lineno"> 2137</span> }</div>
-<div class="line"><a name="l02138"></a><span class="lineno"> 2138</span> }</div>
-<div class="line"><a name="l02139"></a><span class="lineno"> 2139</span> <span class="comment">/* if no break, increase search radius and continue */</span></div>
-<div class="line"><a name="l02140"></a><span class="lineno"> 2140</span> dismin++ ; </div>
-<div class="line"><a name="l02141"></a><span class="lineno"> 2141</span> dismax++ ;</div>
-<div class="line"><a name="l02142"></a><span class="lineno"> 2142</span> <span class="comment">/* if search radius is too big, exit with fewer </span></div>
-<div class="line"><a name="l02143"></a><span class="lineno"> 2143</span> <span class="comment"> good neighbors */</span></div>
-<div class="line"><a name="l02144"></a><span class="lineno"> 2144</span> <span class="keywordflow">if</span> ( dismax > max_radius )</div>
-<div class="line"><a name="l02145"></a><span class="lineno"> 2145</span> {</div>
-<div class="line"><a name="l02146"></a><span class="lineno"> 2146</span> agreed = 0 ;</div>
-<div class="line"><a name="l02147"></a><span class="lineno"> 2147</span> }</div>
-<div class="line"><a name="l02148"></a><span class="lineno"> 2148</span> } <span class="keywordflow">while</span>(agreed) ; </div>
-<div class="line"><a name="l02149"></a><span class="lineno"> 2149</span> </div>
-<div class="line"><a name="l02150"></a><span class="lineno"> 2150</span> specn-- ;</div>
-<div class="line"><a name="l02151"></a><span class="lineno"> 2151</span> dismax -= 2 ;</div>
-<div class="line"><a name="l02152"></a><span class="lineno"> 2152</span> <span class="comment">/* TODO: why compute dismax is later this is not used? */</span></div>
-<div class="line"><a name="l02153"></a><span class="lineno"> 2153</span> <span class="comment">/* ---------------------------------------------------------------</span></div>
-<div class="line"><a name="l02154"></a><span class="lineno"> 2154</span> <span class="comment"> * Take the master spectrum with the bad pixel in the middle and </span></div>
-<div class="line"><a name="l02155"></a><span class="lineno"> 2155</span> <span class="comment"> divide it by each of the neighbor spectra and normalize the </span></div>
-<div class="line"><a name="l02156"></a><span class="lineno"> 2156</span> <span class="comment"> division with the value in the center position.</span></div>
-<div class="line"><a name="l02157"></a><span class="lineno"> 2157</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02158"></a><span class="lineno"> 2158</span> <span class="keywordflow">for</span> ( kk = 0 ; kk < 2*n+1 ; kk++ )</div>
-<div class="line"><a name="l02159"></a><span class="lineno"> 2159</span> {</div>
-<div class="line"><a name="l02160"></a><span class="lineno"> 2160</span> <span class="keywordflow">if</span> ( kk == n ) <span class="comment">/* do not divide the master bad pixel */</span></div>
-<div class="line"><a name="l02161"></a><span class="lineno"> 2161</span> {</div>
-<div class="line"><a name="l02162"></a><span class="lineno"> 2162</span> continue ;</div>
-<div class="line"><a name="l02163"></a><span class="lineno"> 2163</span> }</div>
-<div class="line"><a name="l02164"></a><span class="lineno"> 2164</span> </div>
-<div class="line"><a name="l02165"></a><span class="lineno"> 2165</span> <span class="comment">/* do not divide bad pixels in the master spectrum */</span></div>
-<div class="line"><a name="l02166"></a><span class="lineno"> 2166</span> <span class="keywordflow">if</span> ( isnan(spec[1][kk]) ) </div>
-<div class="line"><a name="l02167"></a><span class="lineno"> 2167</span> {</div>
-<div class="line"><a name="l02168"></a><span class="lineno"> 2168</span> <span class="keywordflow">for</span> ( p = 2 ; p <= specn ; p++ )</div>
-<div class="line"><a name="l02169"></a><span class="lineno"> 2169</span> {</div>
-<div class="line"><a name="l02170"></a><span class="lineno"> 2170</span> spec[p][kk] = ZERO ;</div>
-<div class="line"><a name="l02171"></a><span class="lineno"> 2171</span> }</div>
-<div class="line"><a name="l02172"></a><span class="lineno"> 2172</span> } </div>
-<div class="line"><a name="l02173"></a><span class="lineno"> 2173</span> <span class="keywordflow">else</span> <span class="comment">/* all is well, now divide */</span></div>
-<div class="line"><a name="l02174"></a><span class="lineno"> 2174</span> {</div>
-<div class="line"><a name="l02175"></a><span class="lineno"> 2175</span> <span class="keywordflow">for</span> ( p = 2 ; p <= specn ; p++ )</div>
-<div class="line"><a name="l02176"></a><span class="lineno"> 2176</span> {</div>
-<div class="line"><a name="l02177"></a><span class="lineno"> 2177</span> <span class="keywordflow">if</span> ( !isnan(spec[p][kk]) && spec[p][kk] != 0. &&</div>
-<div class="line"><a name="l02178"></a><span class="lineno"> 2178</span> !isnan(spec[p][n]) )</div>
-<div class="line"><a name="l02179"></a><span class="lineno"> 2179</span> {</div>
-<div class="line"><a name="l02180"></a><span class="lineno"> 2180</span> spec[p][kk] = spec[1][kk] / </div>
-<div class="line"><a name="l02181"></a><span class="lineno"> 2181</span> spec[p][kk] * spec[p][n] ;</div>
-<div class="line"><a name="l02182"></a><span class="lineno"> 2182</span> }</div>
-<div class="line"><a name="l02183"></a><span class="lineno"> 2183</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02184"></a><span class="lineno"> 2184</span> {</div>
-<div class="line"><a name="l02185"></a><span class="lineno"> 2185</span> spec[p][kk] = ZERO ;</div>
-<div class="line"><a name="l02186"></a><span class="lineno"> 2186</span> }</div>
-<div class="line"><a name="l02187"></a><span class="lineno"> 2187</span> }</div>
-<div class="line"><a name="l02188"></a><span class="lineno"> 2188</span> }</div>
-<div class="line"><a name="l02189"></a><span class="lineno"> 2189</span> }</div>
-<div class="line"><a name="l02190"></a><span class="lineno"> 2190</span> </div>
-<div class="line"><a name="l02191"></a><span class="lineno"> 2191</span> <span class="comment">/*-----------------------------------------------------------------</span></div>
-<div class="line"><a name="l02192"></a><span class="lineno"> 2192</span> <span class="comment"> * determine the sinfo_median of all values. With 9 good neighbors </span></div>
-<div class="line"><a name="l02193"></a><span class="lineno"> 2193</span> <span class="comment"> * and at least 2 good values per neighbor we have between 18 and </span></div>
-<div class="line"><a name="l02194"></a><span class="lineno"> 2194</span> <span class="comment"> * 9*14 values for the statistics. If there are not enough good </span></div>
-<div class="line"><a name="l02195"></a><span class="lineno"> 2195</span> <span class="comment"> * neighbors available, only continue if we have collected at </span></div>
-<div class="line"><a name="l02196"></a><span class="lineno"> 2196</span> <span class="comment"> * least 18 values.</span></div>
-<div class="line"><a name="l02197"></a><span class="lineno"> 2197</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02198"></a><span class="lineno"> 2198</span> nspec1 = 0 ; </div>
-<div class="line"><a name="l02199"></a><span class="lineno"> 2199</span> <span class="comment">/* collect the good values in the array spec1 */</span> </div>
-<div class="line"><a name="l02200"></a><span class="lineno"> 2200</span> <span class="keywordflow">for</span> ( p = 2 ; p <= specn ; p++ )</div>
-<div class="line"><a name="l02201"></a><span class="lineno"> 2201</span> {</div>
-<div class="line"><a name="l02202"></a><span class="lineno"> 2202</span> <span class="keywordflow">for</span> ( kk = 0 ; kk < 2*n+1 ; kk++ )</div>
-<div class="line"><a name="l02203"></a><span class="lineno"> 2203</span> {</div>
-<div class="line"><a name="l02204"></a><span class="lineno"> 2204</span> <span class="keywordflow">if</span> ( !isnan(spec[p][kk]) && kk != n )</div>
-<div class="line"><a name="l02205"></a><span class="lineno"> 2205</span> {</div>
-<div class="line"><a name="l02206"></a><span class="lineno"> 2206</span> spec1[nspec1] = spec[p][kk] ;</div>
-<div class="line"><a name="l02207"></a><span class="lineno"> 2207</span> nspec1++ ;</div>
-<div class="line"><a name="l02208"></a><span class="lineno"> 2208</span> }</div>
-<div class="line"><a name="l02209"></a><span class="lineno"> 2209</span> }</div>
-<div class="line"><a name="l02210"></a><span class="lineno"> 2210</span> }</div>
-<div class="line"><a name="l02211"></a><span class="lineno"> 2211</span> </div>
-<div class="line"><a name="l02212"></a><span class="lineno"> 2212</span> <span class="comment">/* now test if we have at least 18 values */</span></div>
-<div class="line"><a name="l02213"></a><span class="lineno"> 2213</span> <span class="keywordflow">if</span> ( nspec1 < 18 )</div>
-<div class="line"><a name="l02214"></a><span class="lineno"> 2214</span> {</div>
-<div class="line"><a name="l02215"></a><span class="lineno"> 2215</span> continue ;</div>
-<div class="line"><a name="l02216"></a><span class="lineno"> 2216</span> }</div>
-<div class="line"><a name="l02217"></a><span class="lineno"> 2217</span> </div>
-<div class="line"><a name="l02218"></a><span class="lineno"> 2218</span> <span class="comment">/* interpolate the bad pixel by the sinfo_median of spec1 */</span></div>
-<div class="line"><a name="l02219"></a><span class="lineno"> 2219</span> podata[i] = sinfo_new_median(spec1, nspec1) ;</div>
-<div class="line"><a name="l02220"></a><span class="lineno"> 2220</span> pmdata[i] = 1 ;</div>
-<div class="line"><a name="l02221"></a><span class="lineno"> 2221</span> }</div>
-<div class="line"><a name="l02222"></a><span class="lineno"> 2222</span> } </div>
-<div class="line"><a name="l02223"></a><span class="lineno"> 2223</span> sinfo_new_destroy_2Dfloatarray(&spec,2*n_neighbors+1) ;</div>
-<div class="line"><a name="l02224"></a><span class="lineno"> 2224</span> cpl_free(spec1);</div>
-<div class="line"><a name="l02225"></a><span class="lineno"> 2225</span> <span class="keywordflow">return</span> returnCube ;</div>
-<div class="line"><a name="l02226"></a><span class="lineno"> 2226</span> }</div>
-<div class="line"><a name="l02247"></a><span class="lineno"> 2247</span> cpl_imagelist * </div>
-<div class="line"><a name="l02248"></a><span class="lineno"> 2248</span> sinfo_new_fine_tune_cube( cpl_imagelist * cube,</div>
-<div class="line"><a name="l02249"></a><span class="lineno"> 2249</span> <span class="keywordtype">float</span> * correct_diff_dist,</div>
-<div class="line"><a name="l02250"></a><span class="lineno"> 2250</span> <span class="keywordtype">int</span> n_order )</div>
-<div class="line"><a name="l02251"></a><span class="lineno"> 2251</span> {</div>
-<div class="line"><a name="l02252"></a><span class="lineno"> 2252</span> cpl_imagelist * returnCube ;</div>
-<div class="line"><a name="l02253"></a><span class="lineno"> 2253</span> <span class="keywordtype">float</span>* row_data=NULL ;</div>
-<div class="line"><a name="l02254"></a><span class="lineno"> 2254</span> <span class="keywordtype">float</span>* corrected_row_data=NULL ;</div>
-<div class="line"><a name="l02255"></a><span class="lineno"> 2255</span> <span class="keywordtype">float</span>* xnum=NULL ;</div>
-<div class="line"><a name="l02256"></a><span class="lineno"> 2256</span> <span class="keywordtype">float</span> sum, new_sum ;</div>
-<div class="line"><a name="l02257"></a><span class="lineno"> 2257</span> <span class="keywordtype">float</span> eval<span class="comment">/*, dy*/</span> ;</div>
-<div class="line"><a name="l02258"></a><span class="lineno"> 2258</span> <span class="keywordtype">float</span> * imageptr ;</div>
-<div class="line"><a name="l02259"></a><span class="lineno"> 2259</span> <span class="keywordtype">int</span> row, col ;</div>
-<div class="line"><a name="l02260"></a><span class="lineno"> 2260</span> <span class="keywordtype">int</span> i, z ;</div>
-<div class="line"><a name="l02261"></a><span class="lineno"> 2261</span> <span class="keywordtype">int</span> imsize, n_points ;</div>
-<div class="line"><a name="l02262"></a><span class="lineno"> 2262</span> <span class="keywordtype">int</span> firstpos ;</div>
-<div class="line"><a name="l02263"></a><span class="lineno"> 2263</span> <span class="keywordtype">int</span> flag;</div>
-<div class="line"><a name="l02264"></a><span class="lineno"> 2264</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l02265"></a><span class="lineno"> 2265</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l02266"></a><span class="lineno"> 2266</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l02267"></a><span class="lineno"> 2267</span> </div>
-<div class="line"><a name="l02268"></a><span class="lineno"> 2268</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l02269"></a><span class="lineno"> 2269</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l02270"></a><span class="lineno"> 2270</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l02271"></a><span class="lineno"> 2271</span> cpl_image* o_img=NULL;</div>
-<div class="line"><a name="l02272"></a><span class="lineno"> 2272</span> </div>
-<div class="line"><a name="l02273"></a><span class="lineno"> 2273</span> </div>
-<div class="line"><a name="l02274"></a><span class="lineno"> 2274</span> <span class="keywordflow">if</span> ( NULL == cube )</div>
-<div class="line"><a name="l02275"></a><span class="lineno"> 2275</span> {</div>
-<div class="line"><a name="l02276"></a><span class="lineno"> 2276</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no input cube given!\n"</span>) ;</div>
-<div class="line"><a name="l02277"></a><span class="lineno"> 2277</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02278"></a><span class="lineno"> 2278</span> }</div>
-<div class="line"><a name="l02279"></a><span class="lineno"> 2279</span> ilx=cpl_image_get_size_x(cpl_imagelist_get(cube,0));</div>
-<div class="line"><a name="l02280"></a><span class="lineno"> 2280</span> ily=cpl_image_get_size_y(cpl_imagelist_get(cube,0));</div>
-<div class="line"><a name="l02281"></a><span class="lineno"> 2281</span> inp=cpl_imagelist_get_size(cube);</div>
-<div class="line"><a name="l02282"></a><span class="lineno"> 2282</span> </div>
-<div class="line"><a name="l02283"></a><span class="lineno"> 2283</span> <span class="keywordflow">if</span> ( NULL == correct_diff_dist )</div>
-<div class="line"><a name="l02284"></a><span class="lineno"> 2284</span> {</div>
-<div class="line"><a name="l02285"></a><span class="lineno"> 2285</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no distances array from ns_test given!n"</span>) ;</div>
-<div class="line"><a name="l02286"></a><span class="lineno"> 2286</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02287"></a><span class="lineno"> 2287</span> }</div>
-<div class="line"><a name="l02288"></a><span class="lineno"> 2288</span> </div>
-<div class="line"><a name="l02289"></a><span class="lineno"> 2289</span> <span class="keywordflow">if</span> ( n_order <= 0 )</div>
-<div class="line"><a name="l02290"></a><span class="lineno"> 2290</span> {</div>
-<div class="line"><a name="l02291"></a><span class="lineno"> 2291</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong order of interpolation polynom given!"</span>) ;</div>
-<div class="line"><a name="l02292"></a><span class="lineno"> 2292</span> returnCube = cpl_imagelist_duplicate(cube);</div>
-<div class="line"><a name="l02293"></a><span class="lineno"> 2293</span> <span class="keywordflow">return</span> returnCube ;</div>
-<div class="line"><a name="l02294"></a><span class="lineno"> 2294</span> }</div>
-<div class="line"><a name="l02295"></a><span class="lineno"> 2295</span> </div>
-<div class="line"><a name="l02296"></a><span class="lineno"> 2296</span> returnCube = cpl_imagelist_duplicate(cube);</div>
-<div class="line"><a name="l02297"></a><span class="lineno"> 2297</span> </div>
-<div class="line"><a name="l02298"></a><span class="lineno"> 2298</span> imsize = ily ;</div>
-<div class="line"><a name="l02299"></a><span class="lineno"> 2299</span> <span class="keywordflow">if</span> ( imsize != N_SLITLETS )</div>
-<div class="line"><a name="l02300"></a><span class="lineno"> 2300</span> {</div>
-<div class="line"><a name="l02301"></a><span class="lineno"> 2301</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"wrong image size\n"</span> ) ;</div>
-<div class="line"><a name="l02302"></a><span class="lineno"> 2302</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02303"></a><span class="lineno"> 2303</span> }</div>
-<div class="line"><a name="l02304"></a><span class="lineno"> 2304</span> </div>
-<div class="line"><a name="l02305"></a><span class="lineno"> 2305</span> n_points = n_order + 1 ;</div>
-<div class="line"><a name="l02306"></a><span class="lineno"> 2306</span> <span class="keywordflow">if</span> ( n_points % 2 == 0 )</div>
-<div class="line"><a name="l02307"></a><span class="lineno"> 2307</span> {</div>
-<div class="line"><a name="l02308"></a><span class="lineno"> 2308</span> firstpos = (int)(n_points/2) - 1 ;</div>
-<div class="line"><a name="l02309"></a><span class="lineno"> 2309</span> }</div>
-<div class="line"><a name="l02310"></a><span class="lineno"> 2310</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02311"></a><span class="lineno"> 2311</span> {</div>
-<div class="line"><a name="l02312"></a><span class="lineno"> 2312</span> firstpos = (int)(n_points/2) ;</div>
-<div class="line"><a name="l02313"></a><span class="lineno"> 2313</span> }</div>
-<div class="line"><a name="l02314"></a><span class="lineno"> 2314</span> xnum=cpl_calloc(n_order+1,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02315"></a><span class="lineno"> 2315</span> </div>
-<div class="line"><a name="l02316"></a><span class="lineno"> 2316</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_points ; i++ )</div>
-<div class="line"><a name="l02317"></a><span class="lineno"> 2317</span> {</div>
-<div class="line"><a name="l02318"></a><span class="lineno"> 2318</span> xnum[i] = i ;</div>
-<div class="line"><a name="l02319"></a><span class="lineno"> 2319</span> } </div>
-<div class="line"><a name="l02320"></a><span class="lineno"> 2320</span> </div>
-<div class="line"><a name="l02321"></a><span class="lineno"> 2321</span> row_data=cpl_calloc(ilx,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02322"></a><span class="lineno"> 2322</span> corrected_row_data=cpl_calloc(ilx,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02323"></a><span class="lineno"> 2323</span> </div>
-<div class="line"><a name="l02324"></a><span class="lineno"> 2324</span> <span class="keywordflow">for</span> ( z = 0 ; z < inp ; z++ )</div>
-<div class="line"><a name="l02325"></a><span class="lineno"> 2325</span> {</div>
-<div class="line"><a name="l02326"></a><span class="lineno"> 2326</span> i_img=cpl_imagelist_get(cube,z);</div>
-<div class="line"><a name="l02327"></a><span class="lineno"> 2327</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l02328"></a><span class="lineno"> 2328</span> o_img=cpl_imagelist_get(returnCube,z);</div>
-<div class="line"><a name="l02329"></a><span class="lineno"> 2329</span> podata=cpl_image_get_data_float(o_img);</div>
-<div class="line"><a name="l02330"></a><span class="lineno"> 2330</span> </div>
-<div class="line"><a name="l02331"></a><span class="lineno"> 2331</span> </div>
-<div class="line"><a name="l02332"></a><span class="lineno"> 2332</span> <span class="keywordflow">for</span> ( row = 0 ; row < imsize ; row++ )</div>
-<div class="line"><a name="l02333"></a><span class="lineno"> 2333</span> {</div>
-<div class="line"><a name="l02334"></a><span class="lineno"> 2334</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l02335"></a><span class="lineno"> 2335</span> {</div>
-<div class="line"><a name="l02336"></a><span class="lineno"> 2336</span> corrected_row_data[col] = 0. ;</div>
-<div class="line"><a name="l02337"></a><span class="lineno"> 2337</span> }</div>
-<div class="line"><a name="l02338"></a><span class="lineno"> 2338</span> sum = 0. ; </div>
-<div class="line"><a name="l02339"></a><span class="lineno"> 2339</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l02340"></a><span class="lineno"> 2340</span> {</div>
-<div class="line"><a name="l02341"></a><span class="lineno"> 2341</span> row_data[col] = pidata[col+row*ilx] ;</div>
-<div class="line"><a name="l02342"></a><span class="lineno"> 2342</span> <span class="keywordflow">if</span> ( isnan(row_data[col]) )</div>
-<div class="line"><a name="l02343"></a><span class="lineno"> 2343</span> {</div>
-<div class="line"><a name="l02344"></a><span class="lineno"> 2344</span> row_data[col] = 0. ;</div>
-<div class="line"><a name="l02345"></a><span class="lineno"> 2345</span> <span class="keywordflow">for</span> ( i = col - firstpos ; </div>
-<div class="line"><a name="l02346"></a><span class="lineno"> 2346</span> i < col -firstpos+n_points ; i++ )</div>
-<div class="line"><a name="l02347"></a><span class="lineno"> 2347</span> {</div>
-<div class="line"><a name="l02348"></a><span class="lineno"> 2348</span> <span class="keywordflow">if</span> ( i < 0 ) continue ;</div>
-<div class="line"><a name="l02349"></a><span class="lineno"> 2349</span> <span class="keywordflow">if</span> ( i >= ilx) continue ; </div>
-<div class="line"><a name="l02350"></a><span class="lineno"> 2350</span> corrected_row_data[i] = ZERO ;</div>
-<div class="line"><a name="l02351"></a><span class="lineno"> 2351</span> }</div>
-<div class="line"><a name="l02352"></a><span class="lineno"> 2352</span> }</div>
-<div class="line"><a name="l02353"></a><span class="lineno"> 2353</span> <span class="keywordflow">if</span> ( col != 0 && col != ilx - 1 )</div>
-<div class="line"><a name="l02354"></a><span class="lineno"> 2354</span> {</div>
-<div class="line"><a name="l02355"></a><span class="lineno"> 2355</span> sum += row_data[col] ;</div>
-<div class="line"><a name="l02356"></a><span class="lineno"> 2356</span> }</div>
-<div class="line"><a name="l02357"></a><span class="lineno"> 2357</span> }</div>
-<div class="line"><a name="l02358"></a><span class="lineno"> 2358</span> </div>
-<div class="line"><a name="l02359"></a><span class="lineno"> 2359</span> </div>
-<div class="line"><a name="l02360"></a><span class="lineno"> 2360</span> new_sum = 0. ;</div>
-<div class="line"><a name="l02361"></a><span class="lineno"> 2361</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l02362"></a><span class="lineno"> 2362</span> {</div>
-<div class="line"><a name="l02363"></a><span class="lineno"> 2363</span> </div>
-<div class="line"><a name="l02364"></a><span class="lineno"> 2364</span> <span class="keywordflow">if</span> ( isnan(corrected_row_data[col]) )</div>
-<div class="line"><a name="l02365"></a><span class="lineno"> 2365</span> {</div>
-<div class="line"><a name="l02366"></a><span class="lineno"> 2366</span> continue ;</div>
-<div class="line"><a name="l02367"></a><span class="lineno"> 2367</span> }</div>
-<div class="line"><a name="l02368"></a><span class="lineno"> 2368</span> <span class="keywordflow">if</span> ( col - firstpos < 0 )</div>
-<div class="line"><a name="l02369"></a><span class="lineno"> 2369</span> {</div>
-<div class="line"><a name="l02370"></a><span class="lineno"> 2370</span> imageptr = &row_data[0] ;</div>
-<div class="line"><a name="l02371"></a><span class="lineno"> 2371</span> eval = correct_diff_dist[row] + col ;</div>
-<div class="line"><a name="l02372"></a><span class="lineno"> 2372</span> }</div>
-<div class="line"><a name="l02373"></a><span class="lineno"> 2373</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( col - firstpos + n_points >= ilx )</div>
-<div class="line"><a name="l02374"></a><span class="lineno"> 2374</span> {</div>
-<div class="line"><a name="l02375"></a><span class="lineno"> 2375</span> imageptr = &row_data[ilx - n_points] ;</div>
-<div class="line"><a name="l02376"></a><span class="lineno"> 2376</span> eval = correct_diff_dist[row] + col + n_points - ilx ;</div>
-<div class="line"><a name="l02377"></a><span class="lineno"> 2377</span> }</div>
-<div class="line"><a name="l02378"></a><span class="lineno"> 2378</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02379"></a><span class="lineno"> 2379</span> {</div>
-<div class="line"><a name="l02380"></a><span class="lineno"> 2380</span> imageptr = &row_data[col-firstpos] ;</div>
-<div class="line"><a name="l02381"></a><span class="lineno"> 2381</span> eval = correct_diff_dist[row] + firstpos ;</div>
-<div class="line"><a name="l02382"></a><span class="lineno"> 2382</span> }</div>
-<div class="line"><a name="l02383"></a><span class="lineno"> 2383</span> </div>
-<div class="line"><a name="l02384"></a><span class="lineno"> 2384</span> </div>
-<div class="line"><a name="l02385"></a><span class="lineno"> 2385</span> flag = 0;</div>
-<div class="line"><a name="l02386"></a><span class="lineno"> 2386</span> corrected_row_data[col]=sinfo_new_nev_ille(xnum, imageptr, </div>
-<div class="line"><a name="l02387"></a><span class="lineno"> 2387</span> n_order, eval, &flag);</div>
-<div class="line"><a name="l02388"></a><span class="lineno"> 2388</span> </div>
-<div class="line"><a name="l02389"></a><span class="lineno"> 2389</span> </div>
-<div class="line"><a name="l02390"></a><span class="lineno"> 2390</span> <span class="keywordflow">if</span> ( col != 0 && col != ilx - 1 )</div>
-<div class="line"><a name="l02391"></a><span class="lineno"> 2391</span> {</div>
-<div class="line"><a name="l02392"></a><span class="lineno"> 2392</span> new_sum += corrected_row_data[col] ;</div>
-<div class="line"><a name="l02393"></a><span class="lineno"> 2393</span> }</div>
-<div class="line"><a name="l02394"></a><span class="lineno"> 2394</span> }</div>
-<div class="line"><a name="l02395"></a><span class="lineno"> 2395</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l02396"></a><span class="lineno"> 2396</span> {</div>
-<div class="line"><a name="l02397"></a><span class="lineno"> 2397</span> </div>
-<div class="line"><a name="l02398"></a><span class="lineno"> 2398</span> <span class="keywordflow">if</span> ( col == 0 )</div>
-<div class="line"><a name="l02399"></a><span class="lineno"> 2399</span> {</div>
-<div class="line"><a name="l02400"></a><span class="lineno"> 2400</span> podata[col+row*ilx] = ZERO ;</div>
-<div class="line"><a name="l02401"></a><span class="lineno"> 2401</span> }</div>
-<div class="line"><a name="l02402"></a><span class="lineno"> 2402</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( col == ilx - 1 )</div>
-<div class="line"><a name="l02403"></a><span class="lineno"> 2403</span> {</div>
-<div class="line"><a name="l02404"></a><span class="lineno"> 2404</span> podata[col+row*ilx] = ZERO ;</div>
-<div class="line"><a name="l02405"></a><span class="lineno"> 2405</span> }</div>
-<div class="line"><a name="l02406"></a><span class="lineno"> 2406</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02407"></a><span class="lineno"> 2407</span> {</div>
-<div class="line"><a name="l02408"></a><span class="lineno"> 2408</span> <span class="keywordflow">if</span> ( isnan(corrected_row_data[col]) ) </div>
-<div class="line"><a name="l02409"></a><span class="lineno"> 2409</span> {</div>
-<div class="line"><a name="l02410"></a><span class="lineno"> 2410</span> podata[col+row*ilx] = ZERO ;</div>
-<div class="line"><a name="l02411"></a><span class="lineno"> 2411</span> }</div>
-<div class="line"><a name="l02412"></a><span class="lineno"> 2412</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02413"></a><span class="lineno"> 2413</span> {</div>
-<div class="line"><a name="l02414"></a><span class="lineno"> 2414</span> <span class="keywordflow">if</span> ( new_sum == 0. ) new_sum = 1. ;</div>
-<div class="line"><a name="l02415"></a><span class="lineno"> 2415</span> </div>
-<div class="line"><a name="l02416"></a><span class="lineno"> 2416</span> podata[col+row*ilx] = corrected_row_data[col] ;</div>
-<div class="line"><a name="l02417"></a><span class="lineno"> 2417</span> }</div>
-<div class="line"><a name="l02418"></a><span class="lineno"> 2418</span> }</div>
-<div class="line"><a name="l02419"></a><span class="lineno"> 2419</span> }</div>
-<div class="line"><a name="l02420"></a><span class="lineno"> 2420</span> }</div>
-<div class="line"><a name="l02421"></a><span class="lineno"> 2421</span> } </div>
-<div class="line"><a name="l02422"></a><span class="lineno"> 2422</span> </div>
-<div class="line"><a name="l02423"></a><span class="lineno"> 2423</span> cpl_free(xnum) ;</div>
-<div class="line"><a name="l02424"></a><span class="lineno"> 2424</span> cpl_free(row_data) ;</div>
-<div class="line"><a name="l02425"></a><span class="lineno"> 2425</span> cpl_free(corrected_row_data) ;</div>
-<div class="line"><a name="l02426"></a><span class="lineno"> 2426</span> </div>
-<div class="line"><a name="l02427"></a><span class="lineno"> 2427</span> <span class="keywordflow">return</span> returnCube ;</div>
-<div class="line"><a name="l02428"></a><span class="lineno"> 2428</span> }</div>
-<div class="line"><a name="l02429"></a><span class="lineno"> 2429</span> </div>
-<div class="line"><a name="l02449"></a><span class="lineno"> 2449</span> cpl_imagelist * </div>
-<div class="line"><a name="l02450"></a><span class="lineno"> 2450</span> sinfo_new_fine_tune_cube_by_FFT( cpl_imagelist * cube,</div>
-<div class="line"><a name="l02451"></a><span class="lineno"> 2451</span> <span class="keywordtype">float</span> * correct_diff_dist )</div>
-<div class="line"><a name="l02452"></a><span class="lineno"> 2452</span> {</div>
-<div class="line"><a name="l02453"></a><span class="lineno"> 2453</span> cpl_imagelist * returnCube ;</div>
-<div class="line"><a name="l02454"></a><span class="lineno"> 2454</span> </div>
-<div class="line"><a name="l02455"></a><span class="lineno"> 2455</span> <span class="keywordtype">float</span>* row_data=NULL ;</div>
-<div class="line"><a name="l02456"></a><span class="lineno"> 2456</span> dcomplex* data=NULL ;</div>
-<div class="line"><a name="l02457"></a><span class="lineno"> 2457</span> dcomplex* corrected_data=NULL ;</div>
-<div class="line"><a name="l02458"></a><span class="lineno"> 2458</span> </div>
-<div class="line"><a name="l02459"></a><span class="lineno"> 2459</span> <span class="keywordtype">unsigned</span> nn[2];</div>
-<div class="line"><a name="l02460"></a><span class="lineno"> 2460</span> <span class="comment">/*float corrected_row_data[cube->lx] ;*/</span></div>
-<div class="line"><a name="l02461"></a><span class="lineno"> 2461</span> <span class="keywordtype">float</span> phi, pphi ;</div>
-<div class="line"><a name="l02462"></a><span class="lineno"> 2462</span> <span class="keywordtype">float</span> coph, siph ;</div>
-<div class="line"><a name="l02463"></a><span class="lineno"> 2463</span> <span class="keywordtype">int</span> row, col ;</div>
-<div class="line"><a name="l02464"></a><span class="lineno"> 2464</span> <span class="keywordtype">int</span> i, z ;</div>
-<div class="line"><a name="l02465"></a><span class="lineno"> 2465</span> <span class="keywordtype">int</span> imsize ;</div>
-<div class="line"><a name="l02466"></a><span class="lineno"> 2466</span> <span class="keywordtype">int</span> blank_indicator ;</div>
-<div class="line"><a name="l02467"></a><span class="lineno"> 2467</span> </div>
-<div class="line"><a name="l02468"></a><span class="lineno"> 2468</span> </div>
-<div class="line"><a name="l02469"></a><span class="lineno"> 2469</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l02470"></a><span class="lineno"> 2470</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l02471"></a><span class="lineno"> 2471</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l02472"></a><span class="lineno"> 2472</span> </div>
-<div class="line"><a name="l02473"></a><span class="lineno"> 2473</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l02474"></a><span class="lineno"> 2474</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l02475"></a><span class="lineno"> 2475</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l02476"></a><span class="lineno"> 2476</span> cpl_image* o_img=NULL;</div>
-<div class="line"><a name="l02477"></a><span class="lineno"> 2477</span> </div>
-<div class="line"><a name="l02478"></a><span class="lineno"> 2478</span> </div>
-<div class="line"><a name="l02479"></a><span class="lineno"> 2479</span> </div>
-<div class="line"><a name="l02480"></a><span class="lineno"> 2480</span> <span class="keywordflow">if</span> ( NULL == cube )</div>
-<div class="line"><a name="l02481"></a><span class="lineno"> 2481</span> {</div>
-<div class="line"><a name="l02482"></a><span class="lineno"> 2482</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no input cube given!\n"</span>) ;</div>
-<div class="line"><a name="l02483"></a><span class="lineno"> 2483</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02484"></a><span class="lineno"> 2484</span> }</div>
-<div class="line"><a name="l02485"></a><span class="lineno"> 2485</span> ilx=cpl_image_get_size_x(cpl_imagelist_get(cube,0));</div>
-<div class="line"><a name="l02486"></a><span class="lineno"> 2486</span> ily=cpl_image_get_size_y(cpl_imagelist_get(cube,0));</div>
-<div class="line"><a name="l02487"></a><span class="lineno"> 2487</span> inp=cpl_imagelist_get_size(cube);</div>
-<div class="line"><a name="l02488"></a><span class="lineno"> 2488</span> </div>
-<div class="line"><a name="l02489"></a><span class="lineno"> 2489</span> nn[1] = ilx ;</div>
-<div class="line"><a name="l02490"></a><span class="lineno"> 2490</span> <span class="keywordflow">if</span> ( NULL == correct_diff_dist )</div>
-<div class="line"><a name="l02491"></a><span class="lineno"> 2491</span> {</div>
-<div class="line"><a name="l02492"></a><span class="lineno"> 2492</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no distances array from ns_test given!"</span>) ;</div>
-<div class="line"><a name="l02493"></a><span class="lineno"> 2493</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02494"></a><span class="lineno"> 2494</span> }</div>
-<div class="line"><a name="l02495"></a><span class="lineno"> 2495</span> </div>
-<div class="line"><a name="l02496"></a><span class="lineno"> 2496</span> returnCube = cpl_imagelist_duplicate( cube ) ;</div>
-<div class="line"><a name="l02497"></a><span class="lineno"> 2497</span> </div>
-<div class="line"><a name="l02498"></a><span class="lineno"> 2498</span> imsize = ily ;</div>
-<div class="line"><a name="l02499"></a><span class="lineno"> 2499</span> <span class="keywordflow">if</span> ( imsize != N_SLITLETS )</div>
-<div class="line"><a name="l02500"></a><span class="lineno"> 2500</span> {</div>
-<div class="line"><a name="l02501"></a><span class="lineno"> 2501</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"wrong image size\n"</span> ) ;</div>
-<div class="line"><a name="l02502"></a><span class="lineno"> 2502</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02503"></a><span class="lineno"> 2503</span> }</div>
-<div class="line"><a name="l02504"></a><span class="lineno"> 2504</span> </div>
-<div class="line"><a name="l02505"></a><span class="lineno"> 2505</span> data=cpl_calloc(ilx,<span class="keyword">sizeof</span>(dcomplex)) ;</div>
-<div class="line"><a name="l02506"></a><span class="lineno"> 2506</span> corrected_data=cpl_calloc(ilx,<span class="keyword">sizeof</span>(dcomplex)) ;</div>
-<div class="line"><a name="l02507"></a><span class="lineno"> 2507</span> </div>
-<div class="line"><a name="l02508"></a><span class="lineno"> 2508</span> row_data=cpl_calloc(ilx,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02509"></a><span class="lineno"> 2509</span> <span class="comment">/* loop over the image planes */</span></div>
-<div class="line"><a name="l02510"></a><span class="lineno"> 2510</span> <span class="keywordflow">for</span> ( z = 0 ; z < inp ; z++ )</div>
-<div class="line"><a name="l02511"></a><span class="lineno"> 2511</span> {</div>
-<div class="line"><a name="l02512"></a><span class="lineno"> 2512</span> i_img=cpl_imagelist_get(cube,z);</div>
-<div class="line"><a name="l02513"></a><span class="lineno"> 2513</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l02514"></a><span class="lineno"> 2514</span> o_img=cpl_imagelist_get(returnCube,z);</div>
-<div class="line"><a name="l02515"></a><span class="lineno"> 2515</span> podata=cpl_image_get_data_float(o_img);</div>
-<div class="line"><a name="l02516"></a><span class="lineno"> 2516</span> <span class="comment">/* consider one row at a time */</span></div>
-<div class="line"><a name="l02517"></a><span class="lineno"> 2517</span> <span class="keywordflow">for</span> ( row = 0 ; row < imsize ; row++ )</div>
-<div class="line"><a name="l02518"></a><span class="lineno"> 2518</span> {</div>
-<div class="line"><a name="l02519"></a><span class="lineno"> 2519</span> blank_indicator = 1 ;</div>
-<div class="line"><a name="l02520"></a><span class="lineno"> 2520</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l02521"></a><span class="lineno"> 2521</span> {</div>
-<div class="line"><a name="l02522"></a><span class="lineno"> 2522</span> <span class="comment">/* transfer the row data to a double sized array */</span></div>
-<div class="line"><a name="l02523"></a><span class="lineno"> 2523</span> row_data[col] = pidata[col+row*ilx] ;</div>
-<div class="line"><a name="l02524"></a><span class="lineno"> 2524</span> data[col].x = row_data[col] ;</div>
-<div class="line"><a name="l02525"></a><span class="lineno"> 2525</span> data[col].y = 0. ;</div>
-<div class="line"><a name="l02526"></a><span class="lineno"> 2526</span> <span class="comment">/* if row contains a blank pixel proceed */</span></div>
-<div class="line"><a name="l02527"></a><span class="lineno"> 2527</span> <span class="keywordflow">if</span> ( isnan(row_data[col]) )</div>
-<div class="line"><a name="l02528"></a><span class="lineno"> 2528</span> {</div>
-<div class="line"><a name="l02529"></a><span class="lineno"> 2529</span> blank_indicator = 0 ; </div>
-<div class="line"><a name="l02530"></a><span class="lineno"> 2530</span> }</div>
-<div class="line"><a name="l02531"></a><span class="lineno"> 2531</span> }</div>
-<div class="line"><a name="l02532"></a><span class="lineno"> 2532</span> </div>
-<div class="line"><a name="l02533"></a><span class="lineno"> 2533</span> <span class="comment">/* if row contains a blank don't apply FFT but proceed */</span></div>
-<div class="line"><a name="l02534"></a><span class="lineno"> 2534</span> <span class="keywordflow">if</span> ( blank_indicator == 0 )</div>
-<div class="line"><a name="l02535"></a><span class="lineno"> 2535</span> {</div>
-<div class="line"><a name="l02536"></a><span class="lineno"> 2536</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l02537"></a><span class="lineno"> 2537</span> {</div>
-<div class="line"><a name="l02538"></a><span class="lineno"> 2538</span> podata[col+row*ilx] = ZERO ;</div>
-<div class="line"><a name="l02539"></a><span class="lineno"> 2539</span> }</div>
-<div class="line"><a name="l02540"></a><span class="lineno"> 2540</span> continue ;</div>
-<div class="line"><a name="l02541"></a><span class="lineno"> 2541</span> }</div>
-<div class="line"><a name="l02542"></a><span class="lineno"> 2542</span> </div>
-<div class="line"><a name="l02543"></a><span class="lineno"> 2543</span> <span class="comment">/* FFT algorithm of eclipse */</span></div>
-<div class="line"><a name="l02544"></a><span class="lineno"> 2544</span> sinfo_fftn( data, nn, 1, 1 ) ;</div>
-<div class="line"><a name="l02545"></a><span class="lineno"> 2545</span> </div>
-<div class="line"><a name="l02546"></a><span class="lineno"> 2546</span> <span class="comment">/* calculate the corrected phase shift for each frequency */</span></div>
-<div class="line"><a name="l02547"></a><span class="lineno"> 2547</span> phi = 2*PI_NUMB/(float)ilx * correct_diff_dist[row] ;</div>
-<div class="line"><a name="l02548"></a><span class="lineno"> 2548</span> <span class="keywordflow">for</span> ( i = 0 ; i < ilx ; i++ )</div>
-<div class="line"><a name="l02549"></a><span class="lineno"> 2549</span> {</div>
-<div class="line"><a name="l02550"></a><span class="lineno"> 2550</span> <span class="comment">/* positive frequencies */</span></div>
-<div class="line"><a name="l02551"></a><span class="lineno"> 2551</span> <span class="keywordflow">if</span> ( i <= ilx/2 )</div>
-<div class="line"><a name="l02552"></a><span class="lineno"> 2552</span> {</div>
-<div class="line"><a name="l02553"></a><span class="lineno"> 2553</span> <span class="comment">/* phase shift */</span></div>
-<div class="line"><a name="l02554"></a><span class="lineno"> 2554</span> pphi = phi * (float)(i) ;</div>
-<div class="line"><a name="l02555"></a><span class="lineno"> 2555</span> <span class="comment">/* Euler factor */</span></div>
-<div class="line"><a name="l02556"></a><span class="lineno"> 2556</span> coph = cos ( pphi ) ;</div>
-<div class="line"><a name="l02557"></a><span class="lineno"> 2557</span> siph = sin ( pphi ) ;</div>
-<div class="line"><a name="l02558"></a><span class="lineno"> 2558</span> }</div>
-<div class="line"><a name="l02559"></a><span class="lineno"> 2559</span> <span class="keywordflow">else</span> <span class="comment">/* negative frequencies */</span></div>
-<div class="line"><a name="l02560"></a><span class="lineno"> 2560</span> {</div>
-<div class="line"><a name="l02561"></a><span class="lineno"> 2561</span> <span class="comment">/* phase shift */</span></div>
-<div class="line"><a name="l02562"></a><span class="lineno"> 2562</span> pphi = phi * (float)(i - ilx/2) ;</div>
-<div class="line"><a name="l02563"></a><span class="lineno"> 2563</span> <span class="comment">/* Euler factor */</span></div>
-<div class="line"><a name="l02564"></a><span class="lineno"> 2564</span> coph = cos ( pphi ) ;</div>
-<div class="line"><a name="l02565"></a><span class="lineno"> 2565</span> siph = sin ( pphi ) ;</div>
-<div class="line"><a name="l02566"></a><span class="lineno"> 2566</span> }</div>
-<div class="line"><a name="l02567"></a><span class="lineno"> 2567</span> </div>
-<div class="line"><a name="l02568"></a><span class="lineno"> 2568</span> <span class="comment">/* ------------------------------------------------------------</span></div>
-<div class="line"><a name="l02569"></a><span class="lineno"> 2569</span> <span class="comment"> * now calculate the shift in the pixel space by multiplying</span></div>
-<div class="line"><a name="l02570"></a><span class="lineno"> 2570</span> <span class="comment"> * the fourier transform by the Euler factor of the phase shift</span></div>
-<div class="line"><a name="l02571"></a><span class="lineno"> 2571</span> <span class="comment"> * and inverse fourier transforming.</span></div>
-<div class="line"><a name="l02572"></a><span class="lineno"> 2572</span> <span class="comment"> * used Fourier pair: h(x-x0) <==> H(k)*exp(2*pi*i*k*x0) </span></div>
-<div class="line"><a name="l02573"></a><span class="lineno"> 2573</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02574"></a><span class="lineno"> 2574</span> <span class="comment">/* calculate real part */</span></div>
-<div class="line"><a name="l02575"></a><span class="lineno"> 2575</span> corrected_data[i].x = data[i].x * coph - data[i].y * siph ; </div>
-<div class="line"><a name="l02576"></a><span class="lineno"> 2576</span> <span class="comment">/* calculate imaginary part */</span></div>
-<div class="line"><a name="l02577"></a><span class="lineno"> 2577</span> corrected_data[i].y = data[i].x * siph + data[i].y * coph ;</div>
-<div class="line"><a name="l02578"></a><span class="lineno"> 2578</span> }</div>
-<div class="line"><a name="l02579"></a><span class="lineno"> 2579</span> </div>
-<div class="line"><a name="l02580"></a><span class="lineno"> 2580</span> <span class="comment">/* transform back: inverse FFT */</span></div>
-<div class="line"><a name="l02581"></a><span class="lineno"> 2581</span> sinfo_fftn( corrected_data, nn, 1, -1 ) ;</div>
-<div class="line"><a name="l02582"></a><span class="lineno"> 2582</span> </div>
-<div class="line"><a name="l02583"></a><span class="lineno"> 2583</span> <span class="comment">/* normalize */</span> </div>
-<div class="line"><a name="l02584"></a><span class="lineno"> 2584</span> <span class="keywordflow">for</span> ( i = 0 ; i < ilx ; i++ )</div>
-<div class="line"><a name="l02585"></a><span class="lineno"> 2585</span> {</div>
-<div class="line"><a name="l02586"></a><span class="lineno"> 2586</span> corrected_data[i].x /= ilx ;</div>
-<div class="line"><a name="l02587"></a><span class="lineno"> 2587</span> corrected_data[i].y /= ilx ;</div>
-<div class="line"><a name="l02588"></a><span class="lineno"> 2588</span> } </div>
-<div class="line"><a name="l02589"></a><span class="lineno"> 2589</span> </div>
-<div class="line"><a name="l02590"></a><span class="lineno"> 2590</span> <span class="comment">/* now transfer row to output, leave the left-most </span></div>
-<div class="line"><a name="l02591"></a><span class="lineno"> 2591</span> <span class="comment"> and right-most pixel column */</span></div>
-<div class="line"><a name="l02592"></a><span class="lineno"> 2592</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l02593"></a><span class="lineno"> 2593</span> {</div>
-<div class="line"><a name="l02594"></a><span class="lineno"> 2594</span> <span class="keywordflow">if</span> ( col == 0 )</div>
-<div class="line"><a name="l02595"></a><span class="lineno"> 2595</span> {</div>
-<div class="line"><a name="l02596"></a><span class="lineno"> 2596</span> podata[col+row*ilx] = ZERO ;</div>
-<div class="line"><a name="l02597"></a><span class="lineno"> 2597</span> }</div>
-<div class="line"><a name="l02598"></a><span class="lineno"> 2598</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( col == ilx - 1 )</div>
-<div class="line"><a name="l02599"></a><span class="lineno"> 2599</span> {</div>
-<div class="line"><a name="l02600"></a><span class="lineno"> 2600</span> podata[col+row*ilx] = ZERO ;</div>
-<div class="line"><a name="l02601"></a><span class="lineno"> 2601</span> }</div>
-<div class="line"><a name="l02602"></a><span class="lineno"> 2602</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02603"></a><span class="lineno"> 2603</span> {</div>
-<div class="line"><a name="l02604"></a><span class="lineno"> 2604</span> podata[col+row*ilx] = corrected_data[col].x ; </div>
-<div class="line"><a name="l02605"></a><span class="lineno"> 2605</span> }</div>
-<div class="line"><a name="l02606"></a><span class="lineno"> 2606</span> }</div>
-<div class="line"><a name="l02607"></a><span class="lineno"> 2607</span> }</div>
-<div class="line"><a name="l02608"></a><span class="lineno"> 2608</span> }</div>
-<div class="line"><a name="l02609"></a><span class="lineno"> 2609</span> </div>
-<div class="line"><a name="l02610"></a><span class="lineno"> 2610</span> cpl_free(data) ;</div>
-<div class="line"><a name="l02611"></a><span class="lineno"> 2611</span> cpl_free(corrected_data) ;</div>
-<div class="line"><a name="l02612"></a><span class="lineno"> 2612</span> </div>
-<div class="line"><a name="l02613"></a><span class="lineno"> 2613</span> </div>
-<div class="line"><a name="l02614"></a><span class="lineno"> 2614</span> cpl_free(row_data);</div>
-<div class="line"><a name="l02615"></a><span class="lineno"> 2615</span> <span class="keywordflow">return</span> returnCube ;</div>
-<div class="line"><a name="l02616"></a><span class="lineno"> 2616</span> }</div>
-<div class="line"><a name="l02644"></a><span class="lineno"> 2644</span> cpl_imagelist * sinfo_new_fine_tune_cube_by_spline ( cpl_imagelist * cube,</div>
-<div class="line"><a name="l02645"></a><span class="lineno"> 2645</span> <span class="keywordtype">float</span> * correct_diff_dist )</div>
-<div class="line"><a name="l02646"></a><span class="lineno"> 2646</span> {</div>
-<div class="line"><a name="l02647"></a><span class="lineno"> 2647</span> cpl_imagelist * returnCube ;</div>
-<div class="line"><a name="l02648"></a><span class="lineno"> 2648</span> </div>
-<div class="line"><a name="l02649"></a><span class="lineno"> 2649</span> <span class="keywordtype">float</span>* row_data=NULL ;</div>
-<div class="line"><a name="l02650"></a><span class="lineno"> 2650</span> <span class="keywordtype">float</span>* corrected_row_data=NULL ;</div>
-<div class="line"><a name="l02651"></a><span class="lineno"> 2651</span> <span class="keywordtype">float</span>* xnum=NULL ;</div>
-<div class="line"><a name="l02652"></a><span class="lineno"> 2652</span> <span class="keywordtype">float</span>* eval=NULL ;</div>
-<div class="line"><a name="l02653"></a><span class="lineno"> 2653</span> </div>
-<div class="line"><a name="l02654"></a><span class="lineno"> 2654</span> <span class="keywordtype">float</span> sum, new_sum ;</div>
-<div class="line"><a name="l02655"></a><span class="lineno"> 2655</span> <span class="keywordtype">int</span> row, col ;</div>
-<div class="line"><a name="l02656"></a><span class="lineno"> 2656</span> <span class="keywordtype">int</span> i, z ;</div>
-<div class="line"><a name="l02657"></a><span class="lineno"> 2657</span> <span class="keywordtype">int</span> imsize ;</div>
-<div class="line"><a name="l02658"></a><span class="lineno"> 2658</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l02659"></a><span class="lineno"> 2659</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l02660"></a><span class="lineno"> 2660</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l02661"></a><span class="lineno"> 2661</span> </div>
-<div class="line"><a name="l02662"></a><span class="lineno"> 2662</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l02663"></a><span class="lineno"> 2663</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l02664"></a><span class="lineno"> 2664</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l02665"></a><span class="lineno"> 2665</span> cpl_image* o_img=NULL;</div>
-<div class="line"><a name="l02666"></a><span class="lineno"> 2666</span> </div>
-<div class="line"><a name="l02667"></a><span class="lineno"> 2667</span> </div>
-<div class="line"><a name="l02668"></a><span class="lineno"> 2668</span> <span class="keywordflow">if</span> ( NULL == cube )</div>
-<div class="line"><a name="l02669"></a><span class="lineno"> 2669</span> {</div>
-<div class="line"><a name="l02670"></a><span class="lineno"> 2670</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no input cube given!\n"</span>) ;</div>
-<div class="line"><a name="l02671"></a><span class="lineno"> 2671</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02672"></a><span class="lineno"> 2672</span> }</div>
-<div class="line"><a name="l02673"></a><span class="lineno"> 2673</span> ilx=cpl_image_get_size_x(cpl_imagelist_get(cube,0));</div>
-<div class="line"><a name="l02674"></a><span class="lineno"> 2674</span> ily=cpl_image_get_size_y(cpl_imagelist_get(cube,0));</div>
-<div class="line"><a name="l02675"></a><span class="lineno"> 2675</span> inp=cpl_imagelist_get_size(cube);</div>
-<div class="line"><a name="l02676"></a><span class="lineno"> 2676</span> </div>
-<div class="line"><a name="l02677"></a><span class="lineno"> 2677</span> <span class="keywordflow">if</span> ( NULL == correct_diff_dist )</div>
-<div class="line"><a name="l02678"></a><span class="lineno"> 2678</span> {</div>
-<div class="line"><a name="l02679"></a><span class="lineno"> 2679</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no distances array from ns_test given!/n"</span>) ;</div>
-<div class="line"><a name="l02680"></a><span class="lineno"> 2680</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02681"></a><span class="lineno"> 2681</span> }</div>
-<div class="line"><a name="l02682"></a><span class="lineno"> 2682</span> </div>
-<div class="line"><a name="l02683"></a><span class="lineno"> 2683</span> imsize = ily ;</div>
-<div class="line"><a name="l02684"></a><span class="lineno"> 2684</span> <span class="keywordflow">if</span> ( imsize != N_SLITLETS )</div>
-<div class="line"><a name="l02685"></a><span class="lineno"> 2685</span> {</div>
-<div class="line"><a name="l02686"></a><span class="lineno"> 2686</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"wrong image size\n"</span> ) ;</div>
-<div class="line"><a name="l02687"></a><span class="lineno"> 2687</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02688"></a><span class="lineno"> 2688</span> }</div>
-<div class="line"><a name="l02689"></a><span class="lineno"> 2689</span> </div>
-<div class="line"><a name="l02690"></a><span class="lineno"> 2690</span> returnCube = cpl_imagelist_duplicate( cube ) ;</div>
-<div class="line"><a name="l02691"></a><span class="lineno"> 2691</span> </div>
-<div class="line"><a name="l02692"></a><span class="lineno"> 2692</span> row_data=cpl_calloc(ilx,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02693"></a><span class="lineno"> 2693</span> corrected_row_data=cpl_calloc(ilx,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02694"></a><span class="lineno"> 2694</span> xnum=cpl_calloc(ilx,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02695"></a><span class="lineno"> 2695</span> eval=cpl_calloc(ilx,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02696"></a><span class="lineno"> 2696</span> </div>
-<div class="line"><a name="l02697"></a><span class="lineno"> 2697</span> <span class="comment">/* fill the xa[] array for a polynomial interpolation */</span></div>
-<div class="line"><a name="l02698"></a><span class="lineno"> 2698</span> <span class="keywordflow">for</span> ( i = 0 ; i < ilx ; i++ )</div>
-<div class="line"><a name="l02699"></a><span class="lineno"> 2699</span> {</div>
-<div class="line"><a name="l02700"></a><span class="lineno"> 2700</span> xnum[i] = i ;</div>
-<div class="line"><a name="l02701"></a><span class="lineno"> 2701</span> } </div>
-<div class="line"><a name="l02702"></a><span class="lineno"> 2702</span> </div>
-<div class="line"><a name="l02703"></a><span class="lineno"> 2703</span> <span class="comment">/* loop over the image planes */</span></div>
-<div class="line"><a name="l02704"></a><span class="lineno"> 2704</span> <span class="keywordflow">for</span> ( z = 0 ; z < inp ; z++ )</div>
-<div class="line"><a name="l02705"></a><span class="lineno"> 2705</span> {</div>
-<div class="line"><a name="l02706"></a><span class="lineno"> 2706</span> i_img=cpl_imagelist_get(cube,z);</div>
-<div class="line"><a name="l02707"></a><span class="lineno"> 2707</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l02708"></a><span class="lineno"> 2708</span> o_img=cpl_imagelist_get(returnCube,z);</div>
-<div class="line"><a name="l02709"></a><span class="lineno"> 2709</span> podata=cpl_image_get_data_float(o_img);</div>
-<div class="line"><a name="l02710"></a><span class="lineno"> 2710</span> <span class="comment">/* consider 1 row at a time */</span></div>
-<div class="line"><a name="l02711"></a><span class="lineno"> 2711</span> <span class="keywordflow">for</span> ( row = 0 ; row < imsize ; row++ )</div>
-<div class="line"><a name="l02712"></a><span class="lineno"> 2712</span> {</div>
-<div class="line"><a name="l02713"></a><span class="lineno"> 2713</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l02714"></a><span class="lineno"> 2714</span> {</div>
-<div class="line"><a name="l02715"></a><span class="lineno"> 2715</span> corrected_row_data[col] = 0. ;</div>
-<div class="line"><a name="l02716"></a><span class="lineno"> 2716</span> }</div>
-<div class="line"><a name="l02717"></a><span class="lineno"> 2717</span> sum = 0. ; <span class="comment">/* initialize flux for later rescaling */</span></div>
-<div class="line"><a name="l02718"></a><span class="lineno"> 2718</span> <span class="comment">/* go through the columns and compute the flux for each </span></div>
-<div class="line"><a name="l02719"></a><span class="lineno"> 2719</span> <span class="comment"> row (leave the sinfo_edge points) */</span></div>
-<div class="line"><a name="l02720"></a><span class="lineno"> 2720</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l02721"></a><span class="lineno"> 2721</span> { </div>
-<div class="line"><a name="l02722"></a><span class="lineno"> 2722</span> eval[col] = correct_diff_dist[row] + (float)col ;</div>
-<div class="line"><a name="l02723"></a><span class="lineno"> 2723</span> row_data[col] = pidata[col+row*ilx] ;</div>
-<div class="line"><a name="l02724"></a><span class="lineno"> 2724</span> <span class="keywordflow">if</span> (col != 0 && col != ilx - 1 && !isnan(row_data[col]) )</div>
-<div class="line"><a name="l02725"></a><span class="lineno"> 2725</span> {</div>
-<div class="line"><a name="l02726"></a><span class="lineno"> 2726</span> sum += row_data[col] ;</div>
-<div class="line"><a name="l02727"></a><span class="lineno"> 2727</span> }</div>
-<div class="line"><a name="l02728"></a><span class="lineno"> 2728</span> <span class="keywordflow">if</span> (isnan(row_data[col]) )</div>
-<div class="line"><a name="l02729"></a><span class="lineno"> 2729</span> {</div>
-<div class="line"><a name="l02730"></a><span class="lineno"> 2730</span> <span class="keywordflow">for</span> ( i = col -1 ; i <= col+1 ; i++ ) </div>
-<div class="line"><a name="l02731"></a><span class="lineno"> 2731</span> {</div>
-<div class="line"><a name="l02732"></a><span class="lineno"> 2732</span> <span class="keywordflow">if</span> ( i < 0 ) continue ;</div>
-<div class="line"><a name="l02733"></a><span class="lineno"> 2733</span> <span class="keywordflow">if</span> ( i >= ilx ) continue ;</div>
-<div class="line"><a name="l02734"></a><span class="lineno"> 2734</span> corrected_row_data[i] = ZERO ; </div>
-<div class="line"><a name="l02735"></a><span class="lineno"> 2735</span> }</div>
-<div class="line"><a name="l02736"></a><span class="lineno"> 2736</span> row_data[col] = 0. ;</div>
-<div class="line"><a name="l02737"></a><span class="lineno"> 2737</span> }</div>
-<div class="line"><a name="l02738"></a><span class="lineno"> 2738</span> }</div>
-<div class="line"><a name="l02739"></a><span class="lineno"> 2739</span> </div>
-<div class="line"><a name="l02740"></a><span class="lineno"> 2740</span> </div>
-<div class="line"><a name="l02741"></a><span class="lineno"> 2741</span> <span class="comment">/* ---------------------------------------------------------------</span></div>
-<div class="line"><a name="l02742"></a><span class="lineno"> 2742</span> <span class="comment"> * now we do the cubic spline interpolation to achieve the </span></div>
-<div class="line"><a name="l02743"></a><span class="lineno"> 2743</span> <span class="comment"> fractional (see eclipse).</span></div>
-<div class="line"><a name="l02744"></a><span class="lineno"> 2744</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02745"></a><span class="lineno"> 2745</span> <span class="keywordflow">if</span> ( -1 == sinfo_function1d_natural_spline(xnum,row_data, ilx, </div>
-<div class="line"><a name="l02746"></a><span class="lineno"> 2746</span> eval,corrected_row_data,</div>
-<div class="line"><a name="l02747"></a><span class="lineno"> 2747</span> ilx ) )</div>
-<div class="line"><a name="l02748"></a><span class="lineno"> 2748</span> {</div>
-<div class="line"><a name="l02749"></a><span class="lineno"> 2749</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"error in spline interpolation\n"</span>) ;</div>
-<div class="line"><a name="l02750"></a><span class="lineno"> 2750</span> cpl_imagelist_delete(returnCube) ;</div>
-<div class="line"><a name="l02751"></a><span class="lineno"> 2751</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02752"></a><span class="lineno"> 2752</span> } </div>
-<div class="line"><a name="l02753"></a><span class="lineno"> 2753</span> </div>
-<div class="line"><a name="l02754"></a><span class="lineno"> 2754</span> new_sum = 0. ;</div>
-<div class="line"><a name="l02755"></a><span class="lineno"> 2755</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l02756"></a><span class="lineno"> 2756</span> {</div>
-<div class="line"><a name="l02757"></a><span class="lineno"> 2757</span> <span class="keywordflow">if</span> (isnan(corrected_row_data[col])) continue ;</div>
-<div class="line"><a name="l02758"></a><span class="lineno"> 2758</span> <span class="comment">/* don't take the sinfo_edge points to calculate </span></div>
-<div class="line"><a name="l02759"></a><span class="lineno"> 2759</span> <span class="comment"> the scaling factor */</span></div>
-<div class="line"><a name="l02760"></a><span class="lineno"> 2760</span> <span class="keywordflow">if</span> ( col != 0 && col != ilx - 1 )</div>
-<div class="line"><a name="l02761"></a><span class="lineno"> 2761</span> {</div>
-<div class="line"><a name="l02762"></a><span class="lineno"> 2762</span> new_sum += corrected_row_data[col] ;</div>
-<div class="line"><a name="l02763"></a><span class="lineno"> 2763</span> }</div>
-<div class="line"><a name="l02764"></a><span class="lineno"> 2764</span> }</div>
-<div class="line"><a name="l02765"></a><span class="lineno"> 2765</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l02766"></a><span class="lineno"> 2766</span> {</div>
-<div class="line"><a name="l02767"></a><span class="lineno"> 2767</span> <span class="comment">/* ----------------------------------------------------------</span></div>
-<div class="line"><a name="l02768"></a><span class="lineno"> 2768</span> <span class="comment"> * rescale the row data and fill the returned cube, </span></div>
-<div class="line"><a name="l02769"></a><span class="lineno"> 2769</span> <span class="comment"> * leave the left-most and right-most</span></div>
-<div class="line"><a name="l02770"></a><span class="lineno"> 2770</span> <span class="comment"> * pixel column </span></div>
-<div class="line"><a name="l02771"></a><span class="lineno"> 2771</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02772"></a><span class="lineno"> 2772</span> <span class="keywordflow">if</span> ( col == 0 )</div>
-<div class="line"><a name="l02773"></a><span class="lineno"> 2773</span> {</div>
-<div class="line"><a name="l02774"></a><span class="lineno"> 2774</span> podata[col+row*ilx] = ZERO ;</div>
-<div class="line"><a name="l02775"></a><span class="lineno"> 2775</span> }</div>
-<div class="line"><a name="l02776"></a><span class="lineno"> 2776</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( col == ilx - 1 )</div>
-<div class="line"><a name="l02777"></a><span class="lineno"> 2777</span> {</div>
-<div class="line"><a name="l02778"></a><span class="lineno"> 2778</span> podata[col+row*ilx] = ZERO ;</div>
-<div class="line"><a name="l02779"></a><span class="lineno"> 2779</span> }</div>
-<div class="line"><a name="l02780"></a><span class="lineno"> 2780</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02781"></a><span class="lineno"> 2781</span> {</div>
-<div class="line"><a name="l02782"></a><span class="lineno"> 2782</span> <span class="keywordflow">if</span> ( isnan(corrected_row_data[col]) ) </div>
-<div class="line"><a name="l02783"></a><span class="lineno"> 2783</span> {</div>
-<div class="line"><a name="l02784"></a><span class="lineno"> 2784</span> podata[col+row*ilx] = ZERO ;</div>
-<div class="line"><a name="l02785"></a><span class="lineno"> 2785</span> }</div>
-<div class="line"><a name="l02786"></a><span class="lineno"> 2786</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02787"></a><span class="lineno"> 2787</span> {</div>
-<div class="line"><a name="l02788"></a><span class="lineno"> 2788</span> <span class="keywordflow">if</span> (new_sum == 0.) new_sum = 1. ;</div>
-<div class="line"><a name="l02789"></a><span class="lineno"> 2789</span> <span class="comment">/* rescaling is commented out because it delivers </span></div>
-<div class="line"><a name="l02790"></a><span class="lineno"> 2790</span> <span class="comment"> wrong results</span></div>
-<div class="line"><a name="l02791"></a><span class="lineno"> 2791</span> <span class="comment"> in case of appearance of blanks or bad pixels */</span></div>
-<div class="line"><a name="l02792"></a><span class="lineno"> 2792</span> <span class="comment">/* corrected_row_data[col] *= sum / new_sum ; */</span></div>
-<div class="line"><a name="l02793"></a><span class="lineno"> 2793</span> podata[col+row*ilx] = corrected_row_data[col] ;</div>
-<div class="line"><a name="l02794"></a><span class="lineno"> 2794</span> }</div>
-<div class="line"><a name="l02795"></a><span class="lineno"> 2795</span> }</div>
-<div class="line"><a name="l02796"></a><span class="lineno"> 2796</span> }</div>
-<div class="line"><a name="l02797"></a><span class="lineno"> 2797</span> }</div>
-<div class="line"><a name="l02798"></a><span class="lineno"> 2798</span> } </div>
-<div class="line"><a name="l02799"></a><span class="lineno"> 2799</span> </div>
-<div class="line"><a name="l02800"></a><span class="lineno"> 2800</span> cpl_free(row_data) ;</div>
-<div class="line"><a name="l02801"></a><span class="lineno"> 2801</span> cpl_free(corrected_row_data) ;</div>
-<div class="line"><a name="l02802"></a><span class="lineno"> 2802</span> cpl_free(xnum) ;</div>
-<div class="line"><a name="l02803"></a><span class="lineno"> 2803</span> cpl_free(eval) ;</div>
-<div class="line"><a name="l02804"></a><span class="lineno"> 2804</span> </div>
-<div class="line"><a name="l02805"></a><span class="lineno"> 2805</span> <span class="keywordflow">return</span> returnCube ;</div>
-<div class="line"><a name="l02806"></a><span class="lineno"> 2806</span> }</div>
-<div class="line"><a name="l02807"></a><span class="lineno"> 2807</span> </div>
-<div class="line"><a name="l02829"></a><span class="lineno"> 2829</span> <span class="keywordtype">float</span> * </div>
-<div class="line"><a name="l02830"></a><span class="lineno"> 2830</span> sinfo_new_calibrate_ns_test( cpl_image * ns_image,</div>
-<div class="line"><a name="l02831"></a><span class="lineno"> 2831</span> <span class="keywordtype">int</span> n_slitlets,</div>
-<div class="line"><a name="l02832"></a><span class="lineno"> 2832</span> <span class="keywordtype">int</span> halfWidth,</div>
-<div class="line"><a name="l02833"></a><span class="lineno"> 2833</span> <span class="keywordtype">float</span> fwhm,</div>
-<div class="line"><a name="l02834"></a><span class="lineno"> 2834</span> <span class="keywordtype">float</span> minDiff,</div>
-<div class="line"><a name="l02835"></a><span class="lineno"> 2835</span> <span class="keywordtype">float</span> estimated_dist,</div>
-<div class="line"><a name="l02836"></a><span class="lineno"> 2836</span> <span class="keywordtype">float</span> devtol,</div>
-<div class="line"><a name="l02837"></a><span class="lineno"> 2837</span> <span class="keywordtype">int</span> bottom,</div>
-<div class="line"><a name="l02838"></a><span class="lineno"> 2838</span> <span class="keywordtype">int</span> top )</div>
-<div class="line"><a name="l02839"></a><span class="lineno"> 2839</span> {</div>
-<div class="line"><a name="l02840"></a><span class="lineno"> 2840</span> <span class="keywordtype">int</span> i, j, k, m, row, col, n, ni, na ;</div>
-<div class="line"><a name="l02841"></a><span class="lineno"> 2841</span> <span class="keywordtype">int</span> position, counter, iters ;</div>
-<div class="line"><a name="l02842"></a><span class="lineno"> 2842</span> <span class="keywordtype">int</span> xdim, ndat, its, numpar ;</div>
-<div class="line"><a name="l02843"></a><span class="lineno"> 2843</span> <span class="keywordtype">float</span> sum, mean, maxval ;</div>
-<div class="line"><a name="l02844"></a><span class="lineno"> 2844</span> <span class="keywordtype">float</span> tol, lab ;</div>
-<div class="line"><a name="l02845"></a><span class="lineno"> 2845</span> <span class="keywordtype">float</span> * distances ;</div>
-<div class="line"><a name="l02846"></a><span class="lineno"> 2846</span> <span class="keywordtype">float</span> * ret_distances ;</div>
-<div class="line"><a name="l02847"></a><span class="lineno"> 2847</span> </div>
-<div class="line"><a name="l02848"></a><span class="lineno"> 2848</span> <span class="keywordtype">float</span> * xdat, * wdat ;</div>
-<div class="line"><a name="l02849"></a><span class="lineno"> 2849</span> <span class="keywordtype">int</span> * mpar ;</div>
-<div class="line"><a name="l02850"></a><span class="lineno"> 2850</span> </div>
-<div class="line"><a name="l02851"></a><span class="lineno"> 2851</span> pixelvalue* row_buf=NULL ;</div>
-<div class="line"><a name="l02852"></a><span class="lineno"> 2852</span> <span class="keywordtype">float</span>** distances_buf=NULL ;</div>
-<div class="line"><a name="l02853"></a><span class="lineno"> 2853</span> <span class="keywordtype">float</span>* x_position=NULL ;</div>
-<div class="line"><a name="l02854"></a><span class="lineno"> 2854</span> <span class="keywordtype">int</span>* found=NULL;</div>
-<div class="line"><a name="l02855"></a><span class="lineno"> 2855</span> <span class="keywordtype">int</span>* found_clean=NULL ;</div>
-<div class="line"><a name="l02856"></a><span class="lineno"> 2856</span> <span class="keywordtype">int</span>* found_cleanit=NULL ;</div>
-<div class="line"><a name="l02857"></a><span class="lineno"> 2857</span> </div>
-<div class="line"><a name="l02858"></a><span class="lineno"> 2858</span> Vector * line ;</div>
-<div class="line"><a name="l02859"></a><span class="lineno"> 2859</span> FitParams ** par ;</div>
-<div class="line"><a name="l02860"></a><span class="lineno"> 2860</span> <span class="keywordtype">int</span> foundit, begin, end ;</div>
-<div class="line"><a name="l02861"></a><span class="lineno"> 2861</span> <span class="keywordtype">int</span> zeroindicator ;</div>
-<div class="line"><a name="l02862"></a><span class="lineno"> 2862</span> <span class="keywordtype">int</span> row_index ;</div>
-<div class="line"><a name="l02863"></a><span class="lineno"> 2863</span> </div>
-<div class="line"><a name="l02864"></a><span class="lineno"> 2864</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l02865"></a><span class="lineno"> 2865</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l02866"></a><span class="lineno"> 2866</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l02867"></a><span class="lineno"> 2867</span> </div>
-<div class="line"><a name="l02868"></a><span class="lineno"> 2868</span> <span class="keywordflow">if</span> ( ns_image == NULL )</div>
-<div class="line"><a name="l02869"></a><span class="lineno"> 2869</span> {</div>
-<div class="line"><a name="l02870"></a><span class="lineno"> 2870</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"sorry, no image given\n"</span>) ;</div>
-<div class="line"><a name="l02871"></a><span class="lineno"> 2871</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02872"></a><span class="lineno"> 2872</span> }</div>
-<div class="line"><a name="l02873"></a><span class="lineno"> 2873</span> <span class="keywordflow">if</span> ( n_slitlets < 1 )</div>
-<div class="line"><a name="l02874"></a><span class="lineno"> 2874</span> {</div>
-<div class="line"><a name="l02875"></a><span class="lineno"> 2875</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong number of slitlets given\n"</span>) ;</div>
-<div class="line"><a name="l02876"></a><span class="lineno"> 2876</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02877"></a><span class="lineno"> 2877</span> }</div>
-<div class="line"><a name="l02878"></a><span class="lineno"> 2878</span> <span class="keywordflow">if</span> ( halfWidth < 0 || halfWidth >= estimated_dist )</div>
-<div class="line"><a name="l02879"></a><span class="lineno"> 2879</span> {</div>
-<div class="line"><a name="l02880"></a><span class="lineno"> 2880</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong half width given\n"</span>) ;</div>
-<div class="line"><a name="l02881"></a><span class="lineno"> 2881</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02882"></a><span class="lineno"> 2882</span> }</div>
-<div class="line"><a name="l02883"></a><span class="lineno"> 2883</span> <span class="keywordflow">if</span> ( fwhm <= 0. )</div>
-<div class="line"><a name="l02884"></a><span class="lineno"> 2884</span> {</div>
-<div class="line"><a name="l02885"></a><span class="lineno"> 2885</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong fwhm given\n"</span>) ;</div>
-<div class="line"><a name="l02886"></a><span class="lineno"> 2886</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02887"></a><span class="lineno"> 2887</span> }</div>
-<div class="line"><a name="l02888"></a><span class="lineno"> 2888</span> <span class="keywordflow">if</span> ( minDiff < 1. )</div>
-<div class="line"><a name="l02889"></a><span class="lineno"> 2889</span> {</div>
-<div class="line"><a name="l02890"></a><span class="lineno"> 2890</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong minDiff given\n"</span>) ;</div>
-<div class="line"><a name="l02891"></a><span class="lineno"> 2891</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02892"></a><span class="lineno"> 2892</span> }</div>
-<div class="line"><a name="l02893"></a><span class="lineno"> 2893</span> </div>
-<div class="line"><a name="l02894"></a><span class="lineno"> 2894</span> <span class="comment">/* allocate memory for output array */</span></div>
-<div class="line"><a name="l02895"></a><span class="lineno"> 2895</span> <span class="keywordflow">if</span> (NULL==(distances=(<span class="keywordtype">float</span> *)cpl_calloc( n_slitlets , <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ))) </div>
-<div class="line"><a name="l02896"></a><span class="lineno"> 2896</span> {</div>
-<div class="line"><a name="l02897"></a><span class="lineno"> 2897</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not allocate memory\n"</span>) ;</div>
-<div class="line"><a name="l02898"></a><span class="lineno"> 2898</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02899"></a><span class="lineno"> 2899</span> }</div>
-<div class="line"><a name="l02900"></a><span class="lineno"> 2900</span> <span class="comment">/* allocate memory for output array */</span></div>
-<div class="line"><a name="l02901"></a><span class="lineno"> 2901</span> <span class="keywordflow">if</span> (NULL == (ret_distances = (<span class="keywordtype">float</span> *) cpl_calloc ( n_slitlets , </div>
-<div class="line"><a name="l02902"></a><span class="lineno"> 2902</span> <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ))) </div>
-<div class="line"><a name="l02903"></a><span class="lineno"> 2903</span> {</div>
-<div class="line"><a name="l02904"></a><span class="lineno"> 2904</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not allocate memory\n"</span>) ;</div>
-<div class="line"><a name="l02905"></a><span class="lineno"> 2905</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02906"></a><span class="lineno"> 2906</span> }</div>
-<div class="line"><a name="l02907"></a><span class="lineno"> 2907</span> </div>
-<div class="line"><a name="l02908"></a><span class="lineno"> 2908</span> ilx=cpl_image_get_size_x(ns_image);</div>
-<div class="line"><a name="l02909"></a><span class="lineno"> 2909</span> ily=cpl_image_get_size_y(ns_image);</div>
-<div class="line"><a name="l02910"></a><span class="lineno"> 2910</span> pidata=cpl_image_get_data_float(ns_image);</div>
-<div class="line"><a name="l02911"></a><span class="lineno"> 2911</span> </div>
-<div class="line"><a name="l02912"></a><span class="lineno"> 2912</span> row_buf=(pixelvalue*)cpl_calloc(ilx,<span class="keyword">sizeof</span>(pixelvalue)) ;</div>
-<div class="line"><a name="l02913"></a><span class="lineno"> 2913</span> x_position=cpl_calloc(n_slitlets,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02914"></a><span class="lineno"> 2914</span> found=cpl_calloc(3*n_slitlets,<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>));</div>
-<div class="line"><a name="l02915"></a><span class="lineno"> 2915</span> found_clean=cpl_calloc(3*n_slitlets,<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)) ;</div>
-<div class="line"><a name="l02916"></a><span class="lineno"> 2916</span> found_cleanit=cpl_calloc(3*n_slitlets,<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)) ;</div>
-<div class="line"><a name="l02917"></a><span class="lineno"> 2917</span> distances_buf=sinfo_new_2Dfloatarray(ily,n_slitlets) ;</div>
-<div class="line"><a name="l02918"></a><span class="lineno"> 2918</span> </div>
-<div class="line"><a name="l02919"></a><span class="lineno"> 2919</span> <span class="comment">/* go through the image rows */</span></div>
-<div class="line"><a name="l02920"></a><span class="lineno"> 2920</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l02921"></a><span class="lineno"> 2921</span> {</div>
-<div class="line"><a name="l02922"></a><span class="lineno"> 2922</span> zeroindicator = 0 ;</div>
-<div class="line"><a name="l02923"></a><span class="lineno"> 2923</span> </div>
-<div class="line"><a name="l02924"></a><span class="lineno"> 2924</span> <span class="comment">/* initialize the distance buffer */</span></div>
-<div class="line"><a name="l02925"></a><span class="lineno"> 2925</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_slitlets ; i++ )</div>
-<div class="line"><a name="l02926"></a><span class="lineno"> 2926</span> {</div>
-<div class="line"><a name="l02927"></a><span class="lineno"> 2927</span> distances_buf[row][i] = ZERO ;</div>
-<div class="line"><a name="l02928"></a><span class="lineno"> 2928</span> }</div>
-<div class="line"><a name="l02929"></a><span class="lineno"> 2929</span> </div>
-<div class="line"><a name="l02930"></a><span class="lineno"> 2930</span> <span class="comment">/* fill the row buffer array with image data */</span></div>
-<div class="line"><a name="l02931"></a><span class="lineno"> 2931</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l02932"></a><span class="lineno"> 2932</span> {</div>
-<div class="line"><a name="l02933"></a><span class="lineno"> 2933</span> row_buf[col] = pidata[col + row*ilx] ;</div>
-<div class="line"><a name="l02934"></a><span class="lineno"> 2934</span> }</div>
-<div class="line"><a name="l02935"></a><span class="lineno"> 2935</span> </div>
-<div class="line"><a name="l02936"></a><span class="lineno"> 2936</span> <span class="comment">/* determine the mean of the row data */</span></div>
-<div class="line"><a name="l02937"></a><span class="lineno"> 2937</span> sum = 0. ;</div>
-<div class="line"><a name="l02938"></a><span class="lineno"> 2938</span> n = 0 ;</div>
-<div class="line"><a name="l02939"></a><span class="lineno"> 2939</span> <span class="keywordflow">for</span> ( i = 0 ; i < ilx ; i++ )</div>
-<div class="line"><a name="l02940"></a><span class="lineno"> 2940</span> {</div>
-<div class="line"><a name="l02941"></a><span class="lineno"> 2941</span> <span class="keywordflow">if</span> ( isnan(row_buf[i]) )</div>
-<div class="line"><a name="l02942"></a><span class="lineno"> 2942</span> {</div>
-<div class="line"><a name="l02943"></a><span class="lineno"> 2943</span> continue ;</div>
-<div class="line"><a name="l02944"></a><span class="lineno"> 2944</span> }</div>
-<div class="line"><a name="l02945"></a><span class="lineno"> 2945</span> sum += row_buf[i] ;</div>
-<div class="line"><a name="l02946"></a><span class="lineno"> 2946</span> n++ ;</div>
-<div class="line"><a name="l02947"></a><span class="lineno"> 2947</span> }</div>
-<div class="line"><a name="l02948"></a><span class="lineno"> 2948</span> mean = sum / (float)n ;</div>
-<div class="line"><a name="l02949"></a><span class="lineno"> 2949</span> </div>
-<div class="line"><a name="l02950"></a><span class="lineno"> 2950</span> <span class="comment">/* store the positions of image values greater than the mean */</span></div>
-<div class="line"><a name="l02951"></a><span class="lineno"> 2951</span> n = 0 ;</div>
-<div class="line"><a name="l02952"></a><span class="lineno"> 2952</span> <span class="keywordflow">for</span> ( i = 0 ; i < ilx ; i++ )</div>
-<div class="line"><a name="l02953"></a><span class="lineno"> 2953</span> {</div>
-<div class="line"><a name="l02954"></a><span class="lineno"> 2954</span> <span class="keywordflow">if</span> (isnan(row_buf[i]))</div>
-<div class="line"><a name="l02955"></a><span class="lineno"> 2955</span> {</div>
-<div class="line"><a name="l02956"></a><span class="lineno"> 2956</span> continue ;</div>
-<div class="line"><a name="l02957"></a><span class="lineno"> 2957</span> }</div>
-<div class="line"><a name="l02958"></a><span class="lineno"> 2958</span> <span class="keywordflow">if</span> ( row_buf[i] > mean + ESTIMATE )</div>
-<div class="line"><a name="l02959"></a><span class="lineno"> 2959</span> {</div>
-<div class="line"><a name="l02960"></a><span class="lineno"> 2960</span> found[n] = i ;</div>
-<div class="line"><a name="l02961"></a><span class="lineno"> 2961</span> n++ ;</div>
-<div class="line"><a name="l02962"></a><span class="lineno"> 2962</span> }</div>
-<div class="line"><a name="l02963"></a><span class="lineno"> 2963</span> }</div>
-<div class="line"><a name="l02964"></a><span class="lineno"> 2964</span> </div>
-<div class="line"><a name="l02965"></a><span class="lineno"> 2965</span> <span class="keywordflow">if</span> ( n < n_slitlets )</div>
-<div class="line"><a name="l02966"></a><span class="lineno"> 2966</span> {</div>
-<div class="line"><a name="l02967"></a><span class="lineno"> 2967</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"t4 wrong number of intensity columns "</span></div>
-<div class="line"><a name="l02968"></a><span class="lineno"> 2968</span> <span class="stringliteral">"found in row: %d, found number: %d"</span>, row, n) ;</div>
-<div class="line"><a name="l02969"></a><span class="lineno"> 2969</span> continue ;</div>
-<div class="line"><a name="l02970"></a><span class="lineno"> 2970</span> }</div>
-<div class="line"><a name="l02971"></a><span class="lineno"> 2971</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02972"></a><span class="lineno"> 2972</span> { </div>
-<div class="line"><a name="l02973"></a><span class="lineno"> 2973</span> <span class="comment">/* find the maximum value position around the found columns */</span></div>
-<div class="line"><a name="l02974"></a><span class="lineno"> 2974</span> na = 0 ;</div>
-<div class="line"><a name="l02975"></a><span class="lineno"> 2975</span> <span class="keywordflow">for</span> ( i = 1 ; i < n ; i ++ )</div>
-<div class="line"><a name="l02976"></a><span class="lineno"> 2976</span> {</div>
-<div class="line"><a name="l02977"></a><span class="lineno"> 2977</span> <span class="keywordflow">if</span> ( found[i] - found[i-1] < halfWidth )</div>
-<div class="line"><a name="l02978"></a><span class="lineno"> 2978</span> {</div>
-<div class="line"><a name="l02979"></a><span class="lineno"> 2979</span> begin = found[i] - halfWidth ;</div>
-<div class="line"><a name="l02980"></a><span class="lineno"> 2980</span> <span class="keywordflow">if</span> ( begin < 0 )</div>
-<div class="line"><a name="l02981"></a><span class="lineno"> 2981</span> {</div>
-<div class="line"><a name="l02982"></a><span class="lineno"> 2982</span> begin = 0 ;</div>
-<div class="line"><a name="l02983"></a><span class="lineno"> 2983</span> }</div>
-<div class="line"><a name="l02984"></a><span class="lineno"> 2984</span> end = found[i] + halfWidth ;</div>
-<div class="line"><a name="l02985"></a><span class="lineno"> 2985</span> <span class="keywordflow">if</span> ( end >= ilx )</div>
-<div class="line"><a name="l02986"></a><span class="lineno"> 2986</span> {</div>
-<div class="line"><a name="l02987"></a><span class="lineno"> 2987</span> end = ilx - 1 ;</div>
-<div class="line"><a name="l02988"></a><span class="lineno"> 2988</span> }</div>
-<div class="line"><a name="l02989"></a><span class="lineno"> 2989</span> <span class="comment">/* find the maximum value inside the box around </span></div>
-<div class="line"><a name="l02990"></a><span class="lineno"> 2990</span> <span class="comment"> the found positions*/</span></div>
-<div class="line"><a name="l02991"></a><span class="lineno"> 2991</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l02992"></a><span class="lineno"> 2992</span> foundit = 0 ;</div>
-<div class="line"><a name="l02993"></a><span class="lineno"> 2993</span> <span class="keywordflow">for</span> ( j = begin ; j <= end ; j++ )</div>
-<div class="line"><a name="l02994"></a><span class="lineno"> 2994</span> {</div>
-<div class="line"><a name="l02995"></a><span class="lineno"> 2995</span> <span class="comment">/* do not consider boxes that contain bad pixels */</span></div>
-<div class="line"><a name="l02996"></a><span class="lineno"> 2996</span> <span class="keywordflow">if</span> (isnan(row_buf[j]))</div>
-<div class="line"><a name="l02997"></a><span class="lineno"> 2997</span> {</div>
-<div class="line"><a name="l02998"></a><span class="lineno"> 2998</span> continue ;</div>
-<div class="line"><a name="l02999"></a><span class="lineno"> 2999</span> }</div>
-<div class="line"><a name="l03000"></a><span class="lineno"> 3000</span> <span class="keywordflow">if</span> (row_buf[j] >= maxval )</div>
-<div class="line"><a name="l03001"></a><span class="lineno"> 3001</span> {</div>
-<div class="line"><a name="l03002"></a><span class="lineno"> 3002</span> maxval = row_buf[j] ;</div>
-<div class="line"><a name="l03003"></a><span class="lineno"> 3003</span> foundit = j ;</div>
-<div class="line"><a name="l03004"></a><span class="lineno"> 3004</span> }</div>
-<div class="line"><a name="l03005"></a><span class="lineno"> 3005</span> }</div>
-<div class="line"><a name="l03006"></a><span class="lineno"> 3006</span> <span class="keywordflow">if</span> (maxval == -FLT_MAX)</div>
-<div class="line"><a name="l03007"></a><span class="lineno"> 3007</span> {</div>
-<div class="line"><a name="l03008"></a><span class="lineno"> 3008</span> continue ;</div>
-<div class="line"><a name="l03009"></a><span class="lineno"> 3009</span> }</div>
-<div class="line"><a name="l03010"></a><span class="lineno"> 3010</span> <span class="keywordflow">for</span> ( k = 0 ; k < na ; k++ )</div>
-<div class="line"><a name="l03011"></a><span class="lineno"> 3011</span> {</div>
-<div class="line"><a name="l03012"></a><span class="lineno"> 3012</span> <span class="keywordflow">if</span> ( found_cleanit[k] >= begin && </div>
-<div class="line"><a name="l03013"></a><span class="lineno"> 3013</span> found_cleanit[k] < foundit )</div>
-<div class="line"><a name="l03014"></a><span class="lineno"> 3014</span> {</div>
-<div class="line"><a name="l03015"></a><span class="lineno"> 3015</span> na-- ;</div>
-<div class="line"><a name="l03016"></a><span class="lineno"> 3016</span> }</div>
-<div class="line"><a name="l03017"></a><span class="lineno"> 3017</span> }</div>
-<div class="line"><a name="l03018"></a><span class="lineno"> 3018</span> <span class="keywordflow">for</span> ( k = 0 ; k < n ; k++ )</div>
-<div class="line"><a name="l03019"></a><span class="lineno"> 3019</span> {</div>
-<div class="line"><a name="l03020"></a><span class="lineno"> 3020</span> <span class="keywordflow">if</span> ( found[k] == foundit)</div>
-<div class="line"><a name="l03021"></a><span class="lineno"> 3021</span> {</div>
-<div class="line"><a name="l03022"></a><span class="lineno"> 3022</span> <span class="keywordflow">if</span> ( found_cleanit[na-1] != found[k] )</div>
-<div class="line"><a name="l03023"></a><span class="lineno"> 3023</span> {</div>
-<div class="line"><a name="l03024"></a><span class="lineno"> 3024</span> found_cleanit[na] = found[k] ;</div>
-<div class="line"><a name="l03025"></a><span class="lineno"> 3025</span> na++ ;</div>
-<div class="line"><a name="l03026"></a><span class="lineno"> 3026</span> }</div>
-<div class="line"><a name="l03027"></a><span class="lineno"> 3027</span> }</div>
-<div class="line"><a name="l03028"></a><span class="lineno"> 3028</span> }</div>
-<div class="line"><a name="l03029"></a><span class="lineno"> 3029</span> }</div>
-<div class="line"><a name="l03030"></a><span class="lineno"> 3030</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03031"></a><span class="lineno"> 3031</span> {</div>
-<div class="line"><a name="l03032"></a><span class="lineno"> 3032</span> <span class="keywordflow">if</span> ( i == 1 )</div>
-<div class="line"><a name="l03033"></a><span class="lineno"> 3033</span> {</div>
-<div class="line"><a name="l03034"></a><span class="lineno"> 3034</span> found_cleanit[na] = found[0] ;</div>
-<div class="line"><a name="l03035"></a><span class="lineno"> 3035</span> na++ ;</div>
-<div class="line"><a name="l03036"></a><span class="lineno"> 3036</span> found_cleanit[na] = found[1] ;</div>
-<div class="line"><a name="l03037"></a><span class="lineno"> 3037</span> na++ ;</div>
-<div class="line"><a name="l03038"></a><span class="lineno"> 3038</span> }</div>
-<div class="line"><a name="l03039"></a><span class="lineno"> 3039</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03040"></a><span class="lineno"> 3040</span> {</div>
-<div class="line"><a name="l03041"></a><span class="lineno"> 3041</span> <span class="keywordflow">if</span> ( found_cleanit[na-1] != found[i-1])</div>
-<div class="line"><a name="l03042"></a><span class="lineno"> 3042</span> {</div>
-<div class="line"><a name="l03043"></a><span class="lineno"> 3043</span> found_cleanit[na] = found[i-1] ;</div>
-<div class="line"><a name="l03044"></a><span class="lineno"> 3044</span> na++ ;</div>
-<div class="line"><a name="l03045"></a><span class="lineno"> 3045</span> }</div>
-<div class="line"><a name="l03046"></a><span class="lineno"> 3046</span> <span class="keywordflow">if</span> ( found_cleanit[na-1] != found[i])</div>
-<div class="line"><a name="l03047"></a><span class="lineno"> 3047</span> {</div>
-<div class="line"><a name="l03048"></a><span class="lineno"> 3048</span> found_cleanit[na] = found[i] ;</div>
-<div class="line"><a name="l03049"></a><span class="lineno"> 3049</span> na++ ;</div>
-<div class="line"><a name="l03050"></a><span class="lineno"> 3050</span> }</div>
-<div class="line"><a name="l03051"></a><span class="lineno"> 3051</span> }</div>
-<div class="line"><a name="l03052"></a><span class="lineno"> 3052</span> }</div>
-<div class="line"><a name="l03053"></a><span class="lineno"> 3053</span> }</div>
-<div class="line"><a name="l03054"></a><span class="lineno"> 3054</span> </div>
-<div class="line"><a name="l03055"></a><span class="lineno"> 3055</span> <span class="comment">/* determine only one pixel position for each slitlet intensity */</span></div>
-<div class="line"><a name="l03056"></a><span class="lineno"> 3056</span> j = 1 ;</div>
-<div class="line"><a name="l03057"></a><span class="lineno"> 3057</span> <span class="keywordflow">for</span> ( i = 1 ; i < na ; i++ )</div>
-<div class="line"><a name="l03058"></a><span class="lineno"> 3058</span> {</div>
-<div class="line"><a name="l03059"></a><span class="lineno"> 3059</span> <span class="keywordflow">if</span> ( (<span class="keywordtype">float</span>)(found_cleanit[i] - found_cleanit[i-1]) < </div>
-<div class="line"><a name="l03060"></a><span class="lineno"> 3060</span> (estimated_dist - devtol) ||</div>
-<div class="line"><a name="l03061"></a><span class="lineno"> 3061</span> (<span class="keywordtype">float</span>)(found_cleanit[i] - found_cleanit[i-1]) > </div>
-<div class="line"><a name="l03062"></a><span class="lineno"> 3062</span> (estimated_dist + devtol) )</div>
-<div class="line"><a name="l03063"></a><span class="lineno"> 3063</span> {</div>
-<div class="line"><a name="l03064"></a><span class="lineno"> 3064</span> continue ;</div>
-<div class="line"><a name="l03065"></a><span class="lineno"> 3065</span> }</div>
-<div class="line"><a name="l03066"></a><span class="lineno"> 3066</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03067"></a><span class="lineno"> 3067</span> {</div>
-<div class="line"><a name="l03068"></a><span class="lineno"> 3068</span> found_clean[j-1] = found_cleanit[i-1] ;</div>
-<div class="line"><a name="l03069"></a><span class="lineno"> 3069</span> found_clean[j] = found_cleanit[i] ;</div>
-<div class="line"><a name="l03070"></a><span class="lineno"> 3070</span> j++ ;</div>
-<div class="line"><a name="l03071"></a><span class="lineno"> 3071</span> }</div>
-<div class="line"><a name="l03072"></a><span class="lineno"> 3072</span> }</div>
-<div class="line"><a name="l03073"></a><span class="lineno"> 3073</span> }</div>
-<div class="line"><a name="l03074"></a><span class="lineno"> 3074</span> <span class="keywordflow">if</span> ( j > n_slitlets )</div>
-<div class="line"><a name="l03075"></a><span class="lineno"> 3075</span> {</div>
-<div class="line"><a name="l03076"></a><span class="lineno"> 3076</span> <span class="comment">/* check the distance again */</span></div>
-<div class="line"><a name="l03077"></a><span class="lineno"> 3077</span> ni = 1 ;</div>
-<div class="line"><a name="l03078"></a><span class="lineno"> 3078</span> <span class="keywordflow">for</span> ( i = 1 ; i < j ; i++ )</div>
-<div class="line"><a name="l03079"></a><span class="lineno"> 3079</span> {</div>
-<div class="line"><a name="l03080"></a><span class="lineno"> 3080</span> <span class="keywordflow">if</span> ( (<span class="keywordtype">float</span>)(found_clean[i] - found_clean[i-1]) < </div>
-<div class="line"><a name="l03081"></a><span class="lineno"> 3081</span> (estimated_dist - devtol ) ||</div>
-<div class="line"><a name="l03082"></a><span class="lineno"> 3082</span> (<span class="keywordtype">float</span>)(found_clean[i] - found_clean[i-1]) > </div>
-<div class="line"><a name="l03083"></a><span class="lineno"> 3083</span> (estimated_dist + devtol ) )</div>
-<div class="line"><a name="l03084"></a><span class="lineno"> 3084</span> { </div>
-<div class="line"><a name="l03085"></a><span class="lineno"> 3085</span> continue ;</div>
-<div class="line"><a name="l03086"></a><span class="lineno"> 3086</span> }</div>
-<div class="line"><a name="l03087"></a><span class="lineno"> 3087</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03088"></a><span class="lineno"> 3088</span> {</div>
-<div class="line"><a name="l03089"></a><span class="lineno"> 3089</span> found_clean[ni-1] = found_clean[i-1] ;</div>
-<div class="line"><a name="l03090"></a><span class="lineno"> 3090</span> found_clean[ni] = found_clean[i] ;</div>
-<div class="line"><a name="l03091"></a><span class="lineno"> 3091</span> ni++ ;</div>
-<div class="line"><a name="l03092"></a><span class="lineno"> 3092</span> }</div>
-<div class="line"><a name="l03093"></a><span class="lineno"> 3093</span> }</div>
-<div class="line"><a name="l03094"></a><span class="lineno"> 3094</span> <span class="keywordflow">if</span> ( ni != n_slitlets )</div>
-<div class="line"><a name="l03095"></a><span class="lineno"> 3095</span> {</div>
-<div class="line"><a name="l03096"></a><span class="lineno"> 3096</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"t5 wrong number of intensity columns "</span></div>
-<div class="line"><a name="l03097"></a><span class="lineno"> 3097</span> <span class="stringliteral">"found in row: %d, found number: %d"</span>,</div>
-<div class="line"><a name="l03098"></a><span class="lineno"> 3098</span> row,ni) ;</div>
-<div class="line"><a name="l03099"></a><span class="lineno"> 3099</span> continue ;</div>
-<div class="line"><a name="l03100"></a><span class="lineno"> 3100</span> }</div>
-<div class="line"><a name="l03101"></a><span class="lineno"> 3101</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l03102"></a><span class="lineno"> 3102</span> {</div>
-<div class="line"><a name="l03103"></a><span class="lineno"> 3103</span> j = ni ;</div>
-<div class="line"><a name="l03104"></a><span class="lineno"> 3104</span> }</div>
-<div class="line"><a name="l03105"></a><span class="lineno"> 3105</span> }</div>
-<div class="line"><a name="l03106"></a><span class="lineno"> 3106</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( j < n_slitlets )</div>
-<div class="line"><a name="l03107"></a><span class="lineno"> 3107</span> {</div>
-<div class="line"><a name="l03108"></a><span class="lineno"> 3108</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"t6 wrong number of intensity columns found "</span></div>
-<div class="line"><a name="l03109"></a><span class="lineno"> 3109</span> <span class="stringliteral">"in row: %d , found number: %d\n"</span>, row, j) ;</div>
-<div class="line"><a name="l03110"></a><span class="lineno"> 3110</span> continue ;</div>
-<div class="line"><a name="l03111"></a><span class="lineno"> 3111</span> }</div>
-<div class="line"><a name="l03112"></a><span class="lineno"> 3112</span> counter = 0 ;</div>
-<div class="line"><a name="l03113"></a><span class="lineno"> 3113</span> <span class="comment">/* go through the found intensity pixels in one row */</span></div>
-<div class="line"><a name="l03114"></a><span class="lineno"> 3114</span> <span class="keywordflow">for</span> ( i = 0 ; i < j ; i++ )</div>
-<div class="line"><a name="l03115"></a><span class="lineno"> 3115</span> {</div>
-<div class="line"><a name="l03116"></a><span class="lineno"> 3116</span> <span class="comment">/* allocate memory for the array where the line is fitted in */</span></div>
-<div class="line"><a name="l03117"></a><span class="lineno"> 3117</span> <span class="keywordflow">if</span> ( NULL == (line = sinfo_new_vector (2*halfWidth + 1)) )</div>
-<div class="line"><a name="l03118"></a><span class="lineno"> 3118</span> {</div>
-<div class="line"><a name="l03119"></a><span class="lineno"> 3119</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new Vector \n"</span>) ;</div>
-<div class="line"><a name="l03120"></a><span class="lineno"> 3120</span> cpl_free(distances) ;</div>
-<div class="line"><a name="l03121"></a><span class="lineno"> 3121</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03122"></a><span class="lineno"> 3122</span> }</div>
-<div class="line"><a name="l03123"></a><span class="lineno"> 3123</span> </div>
-<div class="line"><a name="l03124"></a><span class="lineno"> 3124</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l03125"></a><span class="lineno"> 3125</span> xdat = (<span class="keywordtype">float</span> *) cpl_calloc( line -> n_elements, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l03126"></a><span class="lineno"> 3126</span> wdat = (<span class="keywordtype">float</span> *) cpl_calloc( line -> n_elements, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l03127"></a><span class="lineno"> 3127</span> mpar = (<span class="keywordtype">int</span> *) cpl_calloc( MAXPAR, <span class="keyword">sizeof</span> (<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l03128"></a><span class="lineno"> 3128</span> par = sinfo_new_fit_params(1) ;</div>
-<div class="line"><a name="l03129"></a><span class="lineno"> 3129</span> </div>
-<div class="line"><a name="l03130"></a><span class="lineno"> 3130</span> m = 0 ;</div>
-<div class="line"><a name="l03131"></a><span class="lineno"> 3131</span> <span class="keywordflow">for</span> ( k = found_clean[i]-halfWidth ; </div>
-<div class="line"><a name="l03132"></a><span class="lineno"> 3132</span> k <= found_clean[i]+halfWidth ; k++ )</div>
-<div class="line"><a name="l03133"></a><span class="lineno"> 3133</span> {</div>
-<div class="line"><a name="l03134"></a><span class="lineno"> 3134</span> <span class="keywordflow">if</span> ( k < 0 )</div>
-<div class="line"><a name="l03135"></a><span class="lineno"> 3135</span> {</div>
-<div class="line"><a name="l03136"></a><span class="lineno"> 3136</span> k = 0. ;</div>
-<div class="line"><a name="l03137"></a><span class="lineno"> 3137</span> }</div>
-<div class="line"><a name="l03138"></a><span class="lineno"> 3138</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( k >= ilx )</div>
-<div class="line"><a name="l03139"></a><span class="lineno"> 3139</span> {</div>
-<div class="line"><a name="l03140"></a><span class="lineno"> 3140</span> k = ilx - 1 ;</div>
-<div class="line"><a name="l03141"></a><span class="lineno"> 3141</span> }</div>
-<div class="line"><a name="l03142"></a><span class="lineno"> 3142</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( isnan(row_buf[k]) )</div>
-<div class="line"><a name="l03143"></a><span class="lineno"> 3143</span> {</div>
-<div class="line"><a name="l03144"></a><span class="lineno"> 3144</span> zeroindicator = 1 ;</div>
-<div class="line"><a name="l03145"></a><span class="lineno"> 3145</span> break ;</div>
-<div class="line"><a name="l03146"></a><span class="lineno"> 3146</span> }</div>
-<div class="line"><a name="l03147"></a><span class="lineno"> 3147</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03148"></a><span class="lineno"> 3148</span> {</div>
-<div class="line"><a name="l03149"></a><span class="lineno"> 3149</span> line -> data[m] = row_buf[k] ;</div>
-<div class="line"><a name="l03150"></a><span class="lineno"> 3150</span> m++ ;</div>
-<div class="line"><a name="l03151"></a><span class="lineno"> 3151</span> }</div>
-<div class="line"><a name="l03152"></a><span class="lineno"> 3152</span> }</div>
-<div class="line"><a name="l03153"></a><span class="lineno"> 3153</span> <span class="keywordflow">if</span> ( zeroindicator == 1 )</div>
-<div class="line"><a name="l03154"></a><span class="lineno"> 3154</span> {</div>
-<div class="line"><a name="l03155"></a><span class="lineno"> 3155</span> sinfo_new_destroy_vector(line) ;</div>
-<div class="line"><a name="l03156"></a><span class="lineno"> 3156</span> cpl_free(xdat) ;</div>
-<div class="line"><a name="l03157"></a><span class="lineno"> 3157</span> cpl_free(wdat) ;</div>
-<div class="line"><a name="l03158"></a><span class="lineno"> 3158</span> cpl_free(mpar) ;</div>
-<div class="line"><a name="l03159"></a><span class="lineno"> 3159</span> sinfo_new_destroy_fit_params(&par) ;</div>
-<div class="line"><a name="l03160"></a><span class="lineno"> 3160</span> break ;</div>
-<div class="line"><a name="l03161"></a><span class="lineno"> 3161</span> }</div>
-<div class="line"><a name="l03162"></a><span class="lineno"> 3162</span> </div>
-<div class="line"><a name="l03163"></a><span class="lineno"> 3163</span> <span class="comment">/*-----------------------------------------------------------------</span></div>
-<div class="line"><a name="l03164"></a><span class="lineno"> 3164</span> <span class="comment"> * go through the spectral sinfo_vector</span></div>
-<div class="line"><a name="l03165"></a><span class="lineno"> 3165</span> <span class="comment"> * determine the maximum pixel value in the spectral sinfo_vector</span></div>
-<div class="line"><a name="l03166"></a><span class="lineno"> 3166</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03167"></a><span class="lineno"> 3167</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l03168"></a><span class="lineno"> 3168</span> position = -INT32_MAX ;</div>
-<div class="line"><a name="l03169"></a><span class="lineno"> 3169</span> <span class="keywordflow">for</span> ( k = 0 ; k < m ; k++ )</div>
-<div class="line"><a name="l03170"></a><span class="lineno"> 3170</span> {</div>
-<div class="line"><a name="l03171"></a><span class="lineno"> 3171</span> xdat[k] = k ;</div>
-<div class="line"><a name="l03172"></a><span class="lineno"> 3172</span> wdat[k] = 1.0 ;</div>
-<div class="line"><a name="l03173"></a><span class="lineno"> 3173</span> <span class="keywordflow">if</span> ( line -> data[k] >= maxval )</div>
-<div class="line"><a name="l03174"></a><span class="lineno"> 3174</span> {</div>
-<div class="line"><a name="l03175"></a><span class="lineno"> 3175</span> maxval = line -> data[k] ;</div>
-<div class="line"><a name="l03176"></a><span class="lineno"> 3176</span> position = k ;</div>
-<div class="line"><a name="l03177"></a><span class="lineno"> 3177</span> }</div>
-<div class="line"><a name="l03178"></a><span class="lineno"> 3178</span> }</div>
-<div class="line"><a name="l03179"></a><span class="lineno"> 3179</span> </div>
-<div class="line"><a name="l03180"></a><span class="lineno"> 3180</span> <span class="comment">/* set initial values for the fitting routine */</span></div>
-<div class="line"><a name="l03181"></a><span class="lineno"> 3181</span> xdim = XDIM ;</div>
-<div class="line"><a name="l03182"></a><span class="lineno"> 3182</span> ndat = line -> n_elements ;</div>
-<div class="line"><a name="l03183"></a><span class="lineno"> 3183</span> numpar = MAXPAR ;</div>
-<div class="line"><a name="l03184"></a><span class="lineno"> 3184</span> tol = TOL ;</div>
-<div class="line"><a name="l03185"></a><span class="lineno"> 3185</span> lab = LAB ;</div>
-<div class="line"><a name="l03186"></a><span class="lineno"> 3186</span> its = ITS ;</div>
-<div class="line"><a name="l03187"></a><span class="lineno"> 3187</span> (*par) -> fit_par[1] = fwhm ;</div>
-<div class="line"><a name="l03188"></a><span class="lineno"> 3188</span> (*par) -> fit_par[2] = (float) position ;</div>
-<div class="line"><a name="l03189"></a><span class="lineno"> 3189</span> (*par) -> fit_par[3] = (float) (line -> data[0] + </div>
-<div class="line"><a name="l03190"></a><span class="lineno"> 3190</span> line -> data[line->n_elements - 1]) / 2.0 ;</div>
-<div class="line"><a name="l03191"></a><span class="lineno"> 3191</span> (*par) -> fit_par[0] = maxval - ((*par) -> fit_par[3]) ;</div>
-<div class="line"><a name="l03192"></a><span class="lineno"> 3192</span> </div>
-<div class="line"><a name="l03193"></a><span class="lineno"> 3193</span> </div>
-<div class="line"><a name="l03194"></a><span class="lineno"> 3194</span> <span class="comment">/* exclude negative peaks and low signal cases */</span></div>
-<div class="line"><a name="l03195"></a><span class="lineno"> 3195</span> <span class="keywordflow">if</span> ( (*par) -> fit_par[0] < minDiff )</div>
-<div class="line"><a name="l03196"></a><span class="lineno"> 3196</span> {</div>
-<div class="line"><a name="l03197"></a><span class="lineno"> 3197</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">"sorry, signal of line too low to fit "</span></div>
-<div class="line"><a name="l03198"></a><span class="lineno"> 3198</span> <span class="stringliteral">"in row: %d in slitlet %d\n"</span>, row, i) ;</div>
-<div class="line"><a name="l03199"></a><span class="lineno"> 3199</span> sinfo_new_destroy_vector(line) ;</div>
-<div class="line"><a name="l03200"></a><span class="lineno"> 3200</span> cpl_free(xdat) ;</div>
-<div class="line"><a name="l03201"></a><span class="lineno"> 3201</span> cpl_free(wdat) ;</div>
-<div class="line"><a name="l03202"></a><span class="lineno"> 3202</span> cpl_free(mpar) ;</div>
-<div class="line"><a name="l03203"></a><span class="lineno"> 3203</span> sinfo_new_destroy_fit_params(&par) ;</div>
-<div class="line"><a name="l03204"></a><span class="lineno"> 3204</span> continue ;</div>
-<div class="line"><a name="l03205"></a><span class="lineno"> 3205</span> }</div>
-<div class="line"><a name="l03206"></a><span class="lineno"> 3206</span> </div>
-<div class="line"><a name="l03207"></a><span class="lineno"> 3207</span> <span class="keywordflow">for</span> ( k = 0 ; k < MAXPAR ; k++ )</div>
-<div class="line"><a name="l03208"></a><span class="lineno"> 3208</span> {</div>
-<div class="line"><a name="l03209"></a><span class="lineno"> 3209</span> (*par) -> derv_par[k] = 0.0 ;</div>
-<div class="line"><a name="l03210"></a><span class="lineno"> 3210</span> mpar[k] = 1 ;</div>
-<div class="line"><a name="l03211"></a><span class="lineno"> 3211</span> }</div>
-<div class="line"><a name="l03212"></a><span class="lineno"> 3212</span> <span class="comment">/* finally, do the least square fit using a sinfo_gaussian */</span></div>
-<div class="line"><a name="l03213"></a><span class="lineno"> 3213</span> <span class="keywordflow">if</span> ( 0 > ( iters = sinfo_new_lsqfit_c(xdat, &xdim, </div>
-<div class="line"><a name="l03214"></a><span class="lineno"> 3214</span> line -> data, wdat, </div>
-<div class="line"><a name="l03215"></a><span class="lineno"> 3215</span> &ndat, (*par) -> fit_par,</div>
-<div class="line"><a name="l03216"></a><span class="lineno"> 3216</span> (*par) -> derv_par, mpar, </div>
-<div class="line"><a name="l03217"></a><span class="lineno"> 3217</span> &numpar, &tol, </div>
-<div class="line"><a name="l03218"></a><span class="lineno"> 3218</span> &its, &lab )) )</div>
-<div class="line"><a name="l03219"></a><span class="lineno"> 3219</span> {</div>
-<div class="line"><a name="l03220"></a><span class="lineno"> 3220</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l03221"></a><span class="lineno"> 3221</span> <span class="comment"> cpl_msg_debug ("sinfo_calibrate_ns_test:",</span></div>
-<div class="line"><a name="l03222"></a><span class="lineno"> 3222</span> <span class="comment"> "sinfo_lsqfit_c: least squares fit failed,"</span></div>
-<div class="line"><a name="l03223"></a><span class="lineno"> 3223</span> <span class="comment"> " error no.: %d in row: %d in slitlet %d\n", </span></div>
-<div class="line"><a name="l03224"></a><span class="lineno"> 3224</span> <span class="comment"> iters, row, i) ;</span></div>
-<div class="line"><a name="l03225"></a><span class="lineno"> 3225</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03226"></a><span class="lineno"> 3226</span> sinfo_new_destroy_vector(line) ;</div>
-<div class="line"><a name="l03227"></a><span class="lineno"> 3227</span> cpl_free(xdat) ;</div>
-<div class="line"><a name="l03228"></a><span class="lineno"> 3228</span> cpl_free(wdat) ;</div>
-<div class="line"><a name="l03229"></a><span class="lineno"> 3229</span> cpl_free(mpar) ;</div>
-<div class="line"><a name="l03230"></a><span class="lineno"> 3230</span> sinfo_new_destroy_fit_params(&par) ;</div>
-<div class="line"><a name="l03231"></a><span class="lineno"> 3231</span> continue ;</div>
-<div class="line"><a name="l03232"></a><span class="lineno"> 3232</span> }</div>
-<div class="line"><a name="l03233"></a><span class="lineno"> 3233</span> </div>
-<div class="line"><a name="l03234"></a><span class="lineno"> 3234</span> <span class="comment">/* check for negative fit results */</span></div>
-<div class="line"><a name="l03235"></a><span class="lineno"> 3235</span> <span class="keywordflow">if</span> ( (*par) -> fit_par[0] <= 0. || (*par) -> fit_par[1] <= 0. ||</div>
-<div class="line"><a name="l03236"></a><span class="lineno"> 3236</span> (*par) -> fit_par[2] < 0. )</div>
-<div class="line"><a name="l03237"></a><span class="lineno"> 3237</span> {</div>
-<div class="line"><a name="l03238"></a><span class="lineno"> 3238</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">"negative parameters as fit result, not "</span></div>
-<div class="line"><a name="l03239"></a><span class="lineno"> 3239</span> <span class="stringliteral">"used! in row %d in slitlet %d"</span>, row, i) ;</div>
-<div class="line"><a name="l03240"></a><span class="lineno"> 3240</span> sinfo_new_destroy_vector(line) ;</div>
-<div class="line"><a name="l03241"></a><span class="lineno"> 3241</span> cpl_free(xdat) ;</div>
-<div class="line"><a name="l03242"></a><span class="lineno"> 3242</span> cpl_free(wdat) ;</div>
-<div class="line"><a name="l03243"></a><span class="lineno"> 3243</span> cpl_free(mpar) ;</div>
-<div class="line"><a name="l03244"></a><span class="lineno"> 3244</span> sinfo_new_destroy_fit_params(&par) ;</div>
-<div class="line"><a name="l03245"></a><span class="lineno"> 3245</span> continue ;</div>
-<div class="line"><a name="l03246"></a><span class="lineno"> 3246</span> }</div>
-<div class="line"><a name="l03247"></a><span class="lineno"> 3247</span> </div>
-<div class="line"><a name="l03248"></a><span class="lineno"> 3248</span> <span class="comment">/* correct the fitted position for the given row of the line </span></div>
-<div class="line"><a name="l03249"></a><span class="lineno"> 3249</span> <span class="comment"> in image coordinates */</span></div>
-<div class="line"><a name="l03250"></a><span class="lineno"> 3250</span> (*par) -> fit_par[2] = (float) (found_clean[i] - halfWidth) + </div>
-<div class="line"><a name="l03251"></a><span class="lineno"> 3251</span> (*par) -> fit_par[2] ;</div>
-<div class="line"><a name="l03252"></a><span class="lineno"> 3252</span> x_position[counter] = (*par) -> fit_par[2] ;</div>
-<div class="line"><a name="l03253"></a><span class="lineno"> 3253</span> counter ++ ;</div>
-<div class="line"><a name="l03254"></a><span class="lineno"> 3254</span> </div>
-<div class="line"><a name="l03255"></a><span class="lineno"> 3255</span> <span class="comment">/* free memory */</span></div>
-<div class="line"><a name="l03256"></a><span class="lineno"> 3256</span> sinfo_new_destroy_fit_params(&par) ;</div>
-<div class="line"><a name="l03257"></a><span class="lineno"> 3257</span> sinfo_new_destroy_vector ( line ) ;</div>
-<div class="line"><a name="l03258"></a><span class="lineno"> 3258</span> cpl_free ( xdat ) ;</div>
-<div class="line"><a name="l03259"></a><span class="lineno"> 3259</span> cpl_free ( wdat ) ;</div>
-<div class="line"><a name="l03260"></a><span class="lineno"> 3260</span> cpl_free ( mpar ) ;</div>
-<div class="line"><a name="l03261"></a><span class="lineno"> 3261</span> }</div>
-<div class="line"><a name="l03262"></a><span class="lineno"> 3262</span> <span class="keywordflow">if</span> (zeroindicator == 1)</div>
-<div class="line"><a name="l03263"></a><span class="lineno"> 3263</span> {</div>
-<div class="line"><a name="l03264"></a><span class="lineno"> 3264</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a> (<span class="stringliteral">"bad pixel in fitting box in row: %d\n"</span>, row) ;</div>
-<div class="line"><a name="l03265"></a><span class="lineno"> 3265</span> continue ;</div>
-<div class="line"><a name="l03266"></a><span class="lineno"> 3266</span> }</div>
-<div class="line"><a name="l03267"></a><span class="lineno"> 3267</span> </div>
-<div class="line"><a name="l03268"></a><span class="lineno"> 3268</span> <span class="keywordflow">if</span> ( counter != n_slitlets )</div>
-<div class="line"><a name="l03269"></a><span class="lineno"> 3269</span> {</div>
-<div class="line"><a name="l03270"></a><span class="lineno"> 3270</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"wrong number of slitlets found "</span></div>
-<div class="line"><a name="l03271"></a><span class="lineno"> 3271</span> <span class="stringliteral">"in row: %d"</span>, row) ;</div>
-<div class="line"><a name="l03272"></a><span class="lineno"> 3272</span> continue ;</div>
-<div class="line"><a name="l03273"></a><span class="lineno"> 3273</span> }</div>
-<div class="line"><a name="l03274"></a><span class="lineno"> 3274</span> <span class="comment">/* store the distances between the sources and the slitlet centers */</span></div>
-<div class="line"><a name="l03275"></a><span class="lineno"> 3275</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_slitlets ; i++ )</div>
-<div class="line"><a name="l03276"></a><span class="lineno"> 3276</span> {</div>
-<div class="line"><a name="l03277"></a><span class="lineno"> 3277</span> distances_buf[row][i] = x_position[i] - (15.5 + 32.*(float)i) ;</div>
-<div class="line"><a name="l03278"></a><span class="lineno"> 3278</span> }</div>
-<div class="line"><a name="l03279"></a><span class="lineno"> 3279</span> }</div>
-<div class="line"><a name="l03280"></a><span class="lineno"> 3280</span> </div>
-<div class="line"><a name="l03281"></a><span class="lineno"> 3281</span> <span class="comment">/* ----------------------------------------------------------------</span></div>
-<div class="line"><a name="l03282"></a><span class="lineno"> 3282</span> <span class="comment"> * go through the rows again and take the mean of the distances, </span></div>
-<div class="line"><a name="l03283"></a><span class="lineno"> 3283</span> <span class="comment"> * throw away the runaways </span></div>
-<div class="line"><a name="l03284"></a><span class="lineno"> 3284</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03285"></a><span class="lineno"> 3285</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_slitlets ; i++ )</div>
-<div class="line"><a name="l03286"></a><span class="lineno"> 3286</span> {</div>
-<div class="line"><a name="l03287"></a><span class="lineno"> 3287</span> n = 0 ;</div>
-<div class="line"><a name="l03288"></a><span class="lineno"> 3288</span> sum = 0. ;</div>
-<div class="line"><a name="l03289"></a><span class="lineno"> 3289</span> <span class="keywordflow">for</span> ( row = bottom ; row < top ; row++ )</div>
-<div class="line"><a name="l03290"></a><span class="lineno"> 3290</span> {</div>
-<div class="line"><a name="l03291"></a><span class="lineno"> 3291</span> <span class="keywordflow">if</span> ( fabs( distances_buf[row][i] ) > devtol || </div>
-<div class="line"><a name="l03292"></a><span class="lineno"> 3292</span> isnan(distances_buf[row][i]) )</div>
-<div class="line"><a name="l03293"></a><span class="lineno"> 3293</span> {</div>
-<div class="line"><a name="l03294"></a><span class="lineno"> 3294</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l03295"></a><span class="lineno"> 3295</span> <span class="comment"> sinfo_msg("dist=%g devtol=%g isan=%d", </span></div>
-<div class="line"><a name="l03296"></a><span class="lineno"> 3296</span> <span class="comment"> distances_buf[row][i],</span></div>
-<div class="line"><a name="l03297"></a><span class="lineno"> 3297</span> <span class="comment"> devtol,</span></div>
-<div class="line"><a name="l03298"></a><span class="lineno"> 3298</span> <span class="comment"> isnan(distances_buf[row][i]));</span></div>
-<div class="line"><a name="l03299"></a><span class="lineno"> 3299</span> <span class="comment"> */</span> </div>
-<div class="line"><a name="l03300"></a><span class="lineno"> 3300</span> continue ;</div>
-<div class="line"><a name="l03301"></a><span class="lineno"> 3301</span> }</div>
-<div class="line"><a name="l03302"></a><span class="lineno"> 3302</span> sum += distances_buf[row][i] ;</div>
-<div class="line"><a name="l03303"></a><span class="lineno"> 3303</span> n++ ;</div>
-<div class="line"><a name="l03304"></a><span class="lineno"> 3304</span> }</div>
-<div class="line"><a name="l03305"></a><span class="lineno"> 3305</span> <span class="keywordflow">if</span> ( n < 2 )</div>
-<div class="line"><a name="l03306"></a><span class="lineno"> 3306</span> {</div>
-<div class="line"><a name="l03307"></a><span class="lineno"> 3307</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"distances array could not be determined"</span></div>
-<div class="line"><a name="l03308"></a><span class="lineno"> 3308</span> <span class="stringliteral">" completely!, deviations of distances from"</span></div>
-<div class="line"><a name="l03309"></a><span class="lineno"> 3309</span> <span class="stringliteral">" devtol too big"</span> ) ;</div>
-<div class="line"><a name="l03310"></a><span class="lineno"> 3310</span> cpl_free(distances) ;</div>
-<div class="line"><a name="l03311"></a><span class="lineno"> 3311</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03312"></a><span class="lineno"> 3312</span> }</div>
-<div class="line"><a name="l03313"></a><span class="lineno"> 3313</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03314"></a><span class="lineno"> 3314</span> {</div>
-<div class="line"><a name="l03315"></a><span class="lineno"> 3315</span> distances[i] = sum / (float)n ;</div>
-<div class="line"><a name="l03316"></a><span class="lineno"> 3316</span> }</div>
-<div class="line"><a name="l03317"></a><span class="lineno"> 3317</span> }</div>
-<div class="line"><a name="l03318"></a><span class="lineno"> 3318</span> </div>
-<div class="line"><a name="l03319"></a><span class="lineno"> 3319</span> <span class="comment">/* now sort the result according to the row sequence in the </span></div>
-<div class="line"><a name="l03320"></a><span class="lineno"> 3320</span> <span class="comment"> reconstructed image*/</span></div>
-<div class="line"><a name="l03321"></a><span class="lineno"> 3321</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_slitlets ; i++ )</div>
-<div class="line"><a name="l03322"></a><span class="lineno"> 3322</span> {</div>
-<div class="line"><a name="l03323"></a><span class="lineno"> 3323</span> <span class="keywordflow">if</span>( (row_index=sinfo_sort_slitlets(i)) == -1) {</div>
-<div class="line"><a name="l03324"></a><span class="lineno"> 3324</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong number of a slitlet\n"</span>) ;</div>
-<div class="line"><a name="l03325"></a><span class="lineno"> 3325</span> cpl_free (distances) ;</div>
-<div class="line"><a name="l03326"></a><span class="lineno"> 3326</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03327"></a><span class="lineno"> 3327</span> }</div>
-<div class="line"><a name="l03328"></a><span class="lineno"> 3328</span> ret_distances[row_index] = distances[i] ;</div>
-<div class="line"><a name="l03329"></a><span class="lineno"> 3329</span> }</div>
-<div class="line"><a name="l03330"></a><span class="lineno"> 3330</span> cpl_free(distances) ;</div>
-<div class="line"><a name="l03331"></a><span class="lineno"> 3331</span> </div>
-<div class="line"><a name="l03332"></a><span class="lineno"> 3332</span> cpl_free(row_buf) ;</div>
-<div class="line"><a name="l03333"></a><span class="lineno"> 3333</span> cpl_free(x_position) ;</div>
-<div class="line"><a name="l03334"></a><span class="lineno"> 3334</span> cpl_free(found);</div>
-<div class="line"><a name="l03335"></a><span class="lineno"> 3335</span> cpl_free(found_clean) ;</div>
-<div class="line"><a name="l03336"></a><span class="lineno"> 3336</span> cpl_free(found_cleanit) ;</div>
-<div class="line"><a name="l03337"></a><span class="lineno"> 3337</span> sinfo_new_destroy_2Dfloatarray(&distances_buf,n_slitlets) ;</div>
-<div class="line"><a name="l03338"></a><span class="lineno"> 3338</span> </div>
-<div class="line"><a name="l03339"></a><span class="lineno"> 3339</span> </div>
-<div class="line"><a name="l03340"></a><span class="lineno"> 3340</span> <span class="keywordflow">return</span> ret_distances ; </div>
-<div class="line"><a name="l03341"></a><span class="lineno"> 3341</span> }</div>
-<div class="line"><a name="l03366"></a><span class="lineno"> 3366</span> cpl_image * </div>
-<div class="line"><a name="l03367"></a><span class="lineno"> 3367</span> sinfo_new_make_true_resamp(cpl_image * calibImage, </div>
-<div class="line"><a name="l03368"></a><span class="lineno"> 3368</span> cpl_image * wavemap)</div>
-<div class="line"><a name="l03369"></a><span class="lineno"> 3369</span> {</div>
-<div class="line"><a name="l03370"></a><span class="lineno"> 3370</span> cpl_image * returnImage ;</div>
-<div class="line"><a name="l03371"></a><span class="lineno"> 3371</span> <span class="keywordtype">float</span> edges[33] ;</div>
-<div class="line"><a name="l03372"></a><span class="lineno"> 3372</span> <span class="keywordtype">int</span> imsize, kslit,i,j ;</div>
-<div class="line"><a name="l03373"></a><span class="lineno"> 3373</span> <span class="keywordtype">int</span> slit_index ;</div>
-<div class="line"><a name="l03374"></a><span class="lineno"> 3374</span> <span class="keywordtype">int</span> z, col, recol ;</div>
-<div class="line"><a name="l03375"></a><span class="lineno"> 3375</span> <span class="keywordtype">int</span> wlx=0;</div>
-<div class="line"><a name="l03376"></a><span class="lineno"> 3376</span> <span class="keywordtype">int</span> wly=0;</div>
-<div class="line"><a name="l03377"></a><span class="lineno"> 3377</span> <span class="keywordtype">int</span> clx=0;</div>
-<div class="line"><a name="l03378"></a><span class="lineno"> 3378</span> <span class="keywordtype">int</span> cly=0;</div>
-<div class="line"><a name="l03379"></a><span class="lineno"> 3379</span> </div>
-<div class="line"><a name="l03380"></a><span class="lineno"> 3380</span> <span class="keywordtype">float</span>* pcdata=NULL;</div>
-<div class="line"><a name="l03381"></a><span class="lineno"> 3381</span> <span class="keywordtype">float</span>* pwdata=NULL;</div>
-<div class="line"><a name="l03382"></a><span class="lineno"> 3382</span> <span class="keywordtype">float</span>* prdata=NULL;</div>
-<div class="line"><a name="l03383"></a><span class="lineno"> 3383</span> </div>
-<div class="line"><a name="l03384"></a><span class="lineno"> 3384</span> </div>
-<div class="line"><a name="l03385"></a><span class="lineno"> 3385</span> wlx=cpl_image_get_size_x(wavemap);</div>
-<div class="line"><a name="l03386"></a><span class="lineno"> 3386</span> wly=cpl_image_get_size_y(wavemap);</div>
-<div class="line"><a name="l03387"></a><span class="lineno"> 3387</span> pwdata=cpl_image_get_data_float(wavemap);</div>
-<div class="line"><a name="l03388"></a><span class="lineno"> 3388</span> </div>
-<div class="line"><a name="l03389"></a><span class="lineno"> 3389</span> edges[0]=0;</div>
-<div class="line"><a name="l03390"></a><span class="lineno"> 3390</span> j=1;</div>
-<div class="line"><a name="l03391"></a><span class="lineno"> 3391</span> <span class="keywordflow">for</span>(i=0;i<wlx-1;i++)</div>
-<div class="line"><a name="l03392"></a><span class="lineno"> 3392</span> {</div>
-<div class="line"><a name="l03393"></a><span class="lineno"> 3393</span> <span class="keywordflow">if</span>((pwdata[i]-pwdata[i+1])>0.0025 || (pwdata[i]-pwdata[i+1])<-0.0025)</div>
-<div class="line"><a name="l03394"></a><span class="lineno"> 3394</span> {</div>
-<div class="line"><a name="l03395"></a><span class="lineno"> 3395</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wavemap sinfo_edge %d"</span>, i+1);</div>
-<div class="line"><a name="l03396"></a><span class="lineno"> 3396</span> edges[j]=i+1;</div>
-<div class="line"><a name="l03397"></a><span class="lineno"> 3397</span> j++;</div>
-<div class="line"><a name="l03398"></a><span class="lineno"> 3398</span> }</div>
-<div class="line"><a name="l03399"></a><span class="lineno"> 3399</span> }</div>
-<div class="line"><a name="l03400"></a><span class="lineno"> 3400</span> edges[32]=2048;</div>
-<div class="line"><a name="l03401"></a><span class="lineno"> 3401</span> </div>
-<div class="line"><a name="l03402"></a><span class="lineno"> 3402</span> clx=cpl_image_get_size_x(calibImage);</div>
-<div class="line"><a name="l03403"></a><span class="lineno"> 3403</span> cly=cpl_image_get_size_y(calibImage);</div>
-<div class="line"><a name="l03404"></a><span class="lineno"> 3404</span> pcdata=cpl_image_get_data_float(calibImage);</div>
-<div class="line"><a name="l03405"></a><span class="lineno"> 3405</span> </div>
-<div class="line"><a name="l03406"></a><span class="lineno"> 3406</span> imsize = clx / N_SLITLETS ;</div>
-<div class="line"><a name="l03407"></a><span class="lineno"> 3407</span> </div>
-<div class="line"><a name="l03408"></a><span class="lineno"> 3408</span> <span class="comment">/* allocate memory */</span> </div>
-<div class="line"><a name="l03409"></a><span class="lineno"> 3409</span> returnImage = cpl_image_new(clx,cly,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l03410"></a><span class="lineno"> 3410</span> prdata=cpl_image_get_data_float(returnImage);</div>
-<div class="line"><a name="l03411"></a><span class="lineno"> 3411</span> <span class="keywordflow">for</span> ( z = 0 ; z < cly ; z++ ) <span class="comment">/* go through the z-axis */</span></div>
-<div class="line"><a name="l03412"></a><span class="lineno"> 3412</span> {</div>
-<div class="line"><a name="l03413"></a><span class="lineno"> 3413</span> <span class="keywordflow">for</span> ( col = 0 ; col < clx ; col++ ) <span class="comment">/* go through the image columns */</span></div>
-<div class="line"><a name="l03414"></a><span class="lineno"> 3414</span> prdata[col+z*clx]=ZERO;</div>
-<div class="line"><a name="l03415"></a><span class="lineno"> 3415</span> }</div>
-<div class="line"><a name="l03416"></a><span class="lineno"> 3416</span> </div>
-<div class="line"><a name="l03417"></a><span class="lineno"> 3417</span> </div>
-<div class="line"><a name="l03418"></a><span class="lineno"> 3418</span> <span class="comment">/* now build the data cube out of the resampled image */</span></div>
-<div class="line"><a name="l03419"></a><span class="lineno"> 3419</span> <span class="keywordflow">for</span> ( z = 0 ; z < cly ; z++ ) <span class="comment">/* go through the z-axis */</span></div>
-<div class="line"><a name="l03420"></a><span class="lineno"> 3420</span> {</div>
-<div class="line"><a name="l03421"></a><span class="lineno"> 3421</span> kslit = 0 ;</div>
-<div class="line"><a name="l03422"></a><span class="lineno"> 3422</span> slit_index = -1 ;</div>
-<div class="line"><a name="l03423"></a><span class="lineno"> 3423</span> recol = -1 ;</div>
-<div class="line"><a name="l03424"></a><span class="lineno"> 3424</span> <span class="keywordflow">for</span> ( col = 0 ; col < clx ; col++ ) <span class="comment">/* go through the image columns */</span></div>
-<div class="line"><a name="l03425"></a><span class="lineno"> 3425</span> {</div>
-<div class="line"><a name="l03426"></a><span class="lineno"> 3426</span> <span class="comment">/*if ( col % imsize == 0 )</span></div>
-<div class="line"><a name="l03427"></a><span class="lineno"> 3427</span> <span class="comment"> {*/</span></div>
-<div class="line"><a name="l03428"></a><span class="lineno"> 3428</span> recol = 0 ;</div>
-<div class="line"><a name="l03429"></a><span class="lineno"> 3429</span> <span class="comment">/*kslit = col/imsize ;*/</span></div>
-<div class="line"><a name="l03430"></a><span class="lineno"> 3430</span> <span class="keywordflow">for</span>(i=0;i<32;i++)</div>
-<div class="line"><a name="l03431"></a><span class="lineno"> 3431</span> {</div>
-<div class="line"><a name="l03432"></a><span class="lineno"> 3432</span> <span class="keywordflow">if</span>(col>=sinfo_new_nint(edges[i]) && </div>
-<div class="line"><a name="l03433"></a><span class="lineno"> 3433</span> col<sinfo_new_nint(edges[i+1]))</div>
-<div class="line"><a name="l03434"></a><span class="lineno"> 3434</span> kslit=i;</div>
-<div class="line"><a name="l03435"></a><span class="lineno"> 3435</span> }</div>
-<div class="line"><a name="l03436"></a><span class="lineno"> 3436</span> <span class="comment">/* sort the slitlets in the right spiffi specific way */</span></div>
-<div class="line"><a name="l03437"></a><span class="lineno"> 3437</span> <span class="keywordflow">if</span>( (slit_index=sinfo_sort_slitlets(kslit)) == -1) {</div>
-<div class="line"><a name="l03438"></a><span class="lineno"> 3438</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong slitlet index: couldn't be a "</span></div>
-<div class="line"><a name="l03439"></a><span class="lineno"> 3439</span> <span class="stringliteral">"spiffi image, there must be 32 "</span></div>
-<div class="line"><a name="l03440"></a><span class="lineno"> 3440</span> <span class="stringliteral">"slitlets!"</span>) ;</div>
-<div class="line"><a name="l03441"></a><span class="lineno"> 3441</span> </div>
-<div class="line"><a name="l03442"></a><span class="lineno"> 3442</span> }</div>
-<div class="line"><a name="l03443"></a><span class="lineno"> 3443</span> </div>
-<div class="line"><a name="l03444"></a><span class="lineno"> 3444</span> <span class="comment">/*}*/</span></div>
-<div class="line"><a name="l03445"></a><span class="lineno"> 3445</span> </div>
-<div class="line"><a name="l03446"></a><span class="lineno"> 3446</span> <span class="comment">/* fill each cube plane with one image row */</span></div>
-<div class="line"><a name="l03447"></a><span class="lineno"> 3447</span> <span class="keywordflow">if</span>((col-sinfo_new_nint(edges[kslit]))>0 && </div>
-<div class="line"><a name="l03448"></a><span class="lineno"> 3448</span> (col-sinfo_new_nint(edges[kslit]))<imsize-1 )</div>
-<div class="line"><a name="l03449"></a><span class="lineno"> 3449</span> prdata[(col-sinfo_new_nint(edges[kslit]))+</div>
-<div class="line"><a name="l03450"></a><span class="lineno"> 3450</span> slit_index*imsize+z*clx] = </div>
-<div class="line"><a name="l03451"></a><span class="lineno"> 3451</span> pcdata[col+z*clx] ;</div>
-<div class="line"><a name="l03452"></a><span class="lineno"> 3452</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03453"></a><span class="lineno"> 3453</span> prdata[(col-sinfo_new_nint(edges[kslit]))+</div>
-<div class="line"><a name="l03454"></a><span class="lineno"> 3454</span> slit_index*imsize+z*clx] = ZERO;</div>
-<div class="line"><a name="l03455"></a><span class="lineno"> 3455</span> <span class="comment">/*recol++ ;*/</span></div>
-<div class="line"><a name="l03456"></a><span class="lineno"> 3456</span> </div>
-<div class="line"><a name="l03457"></a><span class="lineno"> 3457</span> }</div>
-<div class="line"><a name="l03458"></a><span class="lineno"> 3458</span> }</div>
-<div class="line"><a name="l03459"></a><span class="lineno"> 3459</span> <span class="keywordflow">return</span> returnImage ;</div>
-<div class="line"><a name="l03460"></a><span class="lineno"> 3460</span> }</div>
-<div class="line"><a name="l03461"></a><span class="lineno"> 3461</span> </div>
-<div class="line"><a name="l03462"></a><span class="lineno"> 3462</span> <span class="comment">/*The old slitlet order*/</span></div>
-<div class="line"><a name="l03463"></a><span class="lineno"> 3463</span> <span class="comment">/*switch (kslit)</span></div>
-<div class="line"><a name="l03464"></a><span class="lineno"> 3464</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l03465"></a><span class="lineno"> 3465</span> <span class="comment"> case 0:</span></div>
-<div class="line"><a name="l03466"></a><span class="lineno"> 3466</span> <span class="comment"> slit_index = 23 ;</span></div>
-<div class="line"><a name="l03467"></a><span class="lineno"> 3467</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03468"></a><span class="lineno"> 3468</span> <span class="comment"> case 1:</span></div>
-<div class="line"><a name="l03469"></a><span class="lineno"> 3469</span> <span class="comment"> slit_index = 24 ;</span></div>
-<div class="line"><a name="l03470"></a><span class="lineno"> 3470</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03471"></a><span class="lineno"> 3471</span> <span class="comment"> case 2:</span></div>
-<div class="line"><a name="l03472"></a><span class="lineno"> 3472</span> <span class="comment"> slit_index = 22 ;</span></div>
-<div class="line"><a name="l03473"></a><span class="lineno"> 3473</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03474"></a><span class="lineno"> 3474</span> <span class="comment"> case 3:</span></div>
-<div class="line"><a name="l03475"></a><span class="lineno"> 3475</span> <span class="comment"> slit_index = 25 ;</span></div>
-<div class="line"><a name="l03476"></a><span class="lineno"> 3476</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03477"></a><span class="lineno"> 3477</span> <span class="comment"> case 4:</span></div>
-<div class="line"><a name="l03478"></a><span class="lineno"> 3478</span> <span class="comment"> slit_index = 21 ;</span></div>
-<div class="line"><a name="l03479"></a><span class="lineno"> 3479</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03480"></a><span class="lineno"> 3480</span> <span class="comment"> case 5:</span></div>
-<div class="line"><a name="l03481"></a><span class="lineno"> 3481</span> <span class="comment"> slit_index = 26 ;</span></div>
-<div class="line"><a name="l03482"></a><span class="lineno"> 3482</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03483"></a><span class="lineno"> 3483</span> <span class="comment"> case 6:</span></div>
-<div class="line"><a name="l03484"></a><span class="lineno"> 3484</span> <span class="comment"> slit_index = 20 ;</span></div>
-<div class="line"><a name="l03485"></a><span class="lineno"> 3485</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03486"></a><span class="lineno"> 3486</span> <span class="comment"> case 7:</span></div>
-<div class="line"><a name="l03487"></a><span class="lineno"> 3487</span> <span class="comment"> slit_index = 27 ;</span></div>
-<div class="line"><a name="l03488"></a><span class="lineno"> 3488</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03489"></a><span class="lineno"> 3489</span> <span class="comment"> case 8:</span></div>
-<div class="line"><a name="l03490"></a><span class="lineno"> 3490</span> <span class="comment"> slit_index = 19 ;</span></div>
-<div class="line"><a name="l03491"></a><span class="lineno"> 3491</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03492"></a><span class="lineno"> 3492</span> <span class="comment"> case 9:</span></div>
-<div class="line"><a name="l03493"></a><span class="lineno"> 3493</span> <span class="comment"> slit_index = 28 ;</span></div>
-<div class="line"><a name="l03494"></a><span class="lineno"> 3494</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03495"></a><span class="lineno"> 3495</span> <span class="comment"> case 10:</span></div>
-<div class="line"><a name="l03496"></a><span class="lineno"> 3496</span> <span class="comment"> slit_index = 18 ;</span></div>
-<div class="line"><a name="l03497"></a><span class="lineno"> 3497</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03498"></a><span class="lineno"> 3498</span> <span class="comment"> case 11:</span></div>
-<div class="line"><a name="l03499"></a><span class="lineno"> 3499</span> <span class="comment"> slit_index = 29 ;</span></div>
-<div class="line"><a name="l03500"></a><span class="lineno"> 3500</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03501"></a><span class="lineno"> 3501</span> <span class="comment"> case 12:</span></div>
-<div class="line"><a name="l03502"></a><span class="lineno"> 3502</span> <span class="comment"> slit_index = 17 ;</span></div>
-<div class="line"><a name="l03503"></a><span class="lineno"> 3503</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03504"></a><span class="lineno"> 3504</span> <span class="comment"> case 13:</span></div>
-<div class="line"><a name="l03505"></a><span class="lineno"> 3505</span> <span class="comment"> slit_index = 30 ;</span></div>
-<div class="line"><a name="l03506"></a><span class="lineno"> 3506</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03507"></a><span class="lineno"> 3507</span> <span class="comment"> case 14:</span></div>
-<div class="line"><a name="l03508"></a><span class="lineno"> 3508</span> <span class="comment"> slit_index = 16 ;</span></div>
-<div class="line"><a name="l03509"></a><span class="lineno"> 3509</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03510"></a><span class="lineno"> 3510</span> <span class="comment"> case 15:</span></div>
-<div class="line"><a name="l03511"></a><span class="lineno"> 3511</span> <span class="comment"> slit_index = 31 ;</span></div>
-<div class="line"><a name="l03512"></a><span class="lineno"> 3512</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03513"></a><span class="lineno"> 3513</span> <span class="comment"> case 16:</span></div>
-<div class="line"><a name="l03514"></a><span class="lineno"> 3514</span> <span class="comment"> slit_index = 0 ;</span></div>
-<div class="line"><a name="l03515"></a><span class="lineno"> 3515</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03516"></a><span class="lineno"> 3516</span> <span class="comment"> case 17:</span></div>
-<div class="line"><a name="l03517"></a><span class="lineno"> 3517</span> <span class="comment"> slit_index = 15 ;</span></div>
-<div class="line"><a name="l03518"></a><span class="lineno"> 3518</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03519"></a><span class="lineno"> 3519</span> <span class="comment"> case 18:</span></div>
-<div class="line"><a name="l03520"></a><span class="lineno"> 3520</span> <span class="comment"> slit_index = 1 ;</span></div>
-<div class="line"><a name="l03521"></a><span class="lineno"> 3521</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03522"></a><span class="lineno"> 3522</span> <span class="comment"> case 19:</span></div>
-<div class="line"><a name="l03523"></a><span class="lineno"> 3523</span> <span class="comment"> slit_index = 14 ;</span></div>
-<div class="line"><a name="l03524"></a><span class="lineno"> 3524</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03525"></a><span class="lineno"> 3525</span> <span class="comment"> case 20:</span></div>
-<div class="line"><a name="l03526"></a><span class="lineno"> 3526</span> <span class="comment"> slit_index = 2 ;</span></div>
-<div class="line"><a name="l03527"></a><span class="lineno"> 3527</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03528"></a><span class="lineno"> 3528</span> <span class="comment"> case 21:</span></div>
-<div class="line"><a name="l03529"></a><span class="lineno"> 3529</span> <span class="comment"> slit_index = 13 ;</span></div>
-<div class="line"><a name="l03530"></a><span class="lineno"> 3530</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03531"></a><span class="lineno"> 3531</span> <span class="comment"> case 22:</span></div>
-<div class="line"><a name="l03532"></a><span class="lineno"> 3532</span> <span class="comment"> slit_index = 3 ;</span></div>
-<div class="line"><a name="l03533"></a><span class="lineno"> 3533</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03534"></a><span class="lineno"> 3534</span> <span class="comment"> case 23:</span></div>
-<div class="line"><a name="l03535"></a><span class="lineno"> 3535</span> <span class="comment"> slit_index = 12 ;</span></div>
-<div class="line"><a name="l03536"></a><span class="lineno"> 3536</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03537"></a><span class="lineno"> 3537</span> <span class="comment"> case 24:</span></div>
-<div class="line"><a name="l03538"></a><span class="lineno"> 3538</span> <span class="comment"> slit_index = 4 ;</span></div>
-<div class="line"><a name="l03539"></a><span class="lineno"> 3539</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03540"></a><span class="lineno"> 3540</span> <span class="comment"> case 25:</span></div>
-<div class="line"><a name="l03541"></a><span class="lineno"> 3541</span> <span class="comment"> slit_index = 11 ;</span></div>
-<div class="line"><a name="l03542"></a><span class="lineno"> 3542</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03543"></a><span class="lineno"> 3543</span> <span class="comment"> case 26:</span></div>
-<div class="line"><a name="l03544"></a><span class="lineno"> 3544</span> <span class="comment"> slit_index = 5 ;</span></div>
-<div class="line"><a name="l03545"></a><span class="lineno"> 3545</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03546"></a><span class="lineno"> 3546</span> <span class="comment"> case 27:</span></div>
-<div class="line"><a name="l03547"></a><span class="lineno"> 3547</span> <span class="comment"> slit_index = 10 ;</span></div>
-<div class="line"><a name="l03548"></a><span class="lineno"> 3548</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03549"></a><span class="lineno"> 3549</span> <span class="comment"> case 28:</span></div>
-<div class="line"><a name="l03550"></a><span class="lineno"> 3550</span> <span class="comment"> slit_index = 6 ;</span></div>
-<div class="line"><a name="l03551"></a><span class="lineno"> 3551</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03552"></a><span class="lineno"> 3552</span> <span class="comment"> case 29:</span></div>
-<div class="line"><a name="l03553"></a><span class="lineno"> 3553</span> <span class="comment"> slit_index = 9 ;</span></div>
-<div class="line"><a name="l03554"></a><span class="lineno"> 3554</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03555"></a><span class="lineno"> 3555</span> <span class="comment"> case 30:</span></div>
-<div class="line"><a name="l03556"></a><span class="lineno"> 3556</span> <span class="comment"> slit_index = 7 ;</span></div>
-<div class="line"><a name="l03557"></a><span class="lineno"> 3557</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03558"></a><span class="lineno"> 3558</span> <span class="comment"> case 31:</span></div>
-<div class="line"><a name="l03559"></a><span class="lineno"> 3559</span> <span class="comment"> slit_index = 8 ;</span></div>
-<div class="line"><a name="l03560"></a><span class="lineno"> 3560</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03561"></a><span class="lineno"> 3561</span> <span class="comment"> default:</span></div>
-<div class="line"><a name="l03562"></a><span class="lineno"> 3562</span> <span class="comment"> sinfo_msg_error("wrong slitlet index: couldn't "</span></div>
-<div class="line"><a name="l03563"></a><span class="lineno"> 3563</span> <span class="comment"> "be a spiffi image, \</span></div>
-<div class="line"><a name="l03564"></a><span class="lineno"> 3564</span> <span class="comment"> there must be 32 slitlets!\n") ;</span></div>
-<div class="line"><a name="l03565"></a><span class="lineno"> 3565</span> <span class="comment"> cpl_imagelist_delete(returnCube) ;</span></div>
-<div class="line"><a name="l03566"></a><span class="lineno"> 3566</span> <span class="comment"> return NULL ;</span></div>
-<div class="line"><a name="l03567"></a><span class="lineno"> 3567</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l03568"></a><span class="lineno"> 3568</span> <span class="comment"> }*/</span></div>
-<div class="line"><a name="l03569"></a><span class="lineno"> 3569</span> </div>
-<div class="line"><a name="l03570"></a><span class="lineno"> 3570</span> </div>
-<div class="line"><a name="l03571"></a><span class="lineno"> 3571</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__cube__construct_8h_source.html b/html/sinfo__cube__construct_8h_source.html
deleted file mode 100644
index e5e6bef..0000000
--- a/html/sinfo__cube__construct_8h_source.html
+++ /dev/null
@@ -1,183 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_cube_construct.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_cube_construct.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_CUBE_CONSTRUCT_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_CUBE_CONSTRUCT_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*******************************************************************************</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* "@(#) $Id: sinfo_cube_construct.h,v 1.4 2007/06/06 07:10:45 amodigli Exp $"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* schreib 06/10/00 created</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * ned_cube_construct.h</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * routines needed to construct a 3D-data cube</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_new_cube_ops.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> * function prototypes</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> cpl_image * </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> sinfo_new_convolve_ns_image_by_gauss( cpl_image * lineImage,<span class="keywordtype">int</span> hw);</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">float</span> * </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> sinfo_north_south_test( cpl_image * ns_image,</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">int</span> n_slitlets,</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">int</span> halfWidth,</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">float</span> fwhm,</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">float</span> minDiff,</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">float</span> estimated_dist,</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">float</span> devtol,</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keywordtype">int</span> top,</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keywordtype">int</span> bottom ) ;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> cpl_imagelist * </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> sinfo_new_make_cube ( cpl_image * calibImage,</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordtype">float</span> * distances,</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">float</span> * correct_diff_dist ) ;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> cpl_imagelist * </div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> sinfo_new_make_cube_spi ( cpl_image * calibImage,</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keywordtype">float</span> ** slit_edges,</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordtype">float</span> * shift ) ;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> cpl_imagelist * </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> sinfo_new_make_cube_dist ( cpl_image * calibImage,</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordtype">float</span> firstCol,</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordtype">float</span> * distances,</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordtype">float</span> * shift ) ;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> cpl_imagelist * </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> sinfo_new_make_3D_cube_dist ( cpl_image * calibImage,</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keywordtype">float</span> firstCol,</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keywordtype">float</span> * distances,</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="keywordtype">float</span> * shift ) ;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> cpl_imagelist * </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> sinfo_new_make_3D_cube ( cpl_image * calibImage,</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keywordtype">int</span> * kpixshift,</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="keywordtype">int</span> kpixfirst ) ;</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> cpl_imagelist * </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> sinfo_new_determine_mask_cube ( cpl_imagelist * sourceMaskCube,</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordtype">float</span> lowLimit,</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordtype">float</span> highLimit ) ;</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> cpl_imagelist * </div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> sinfo_new_interpol_cube ( cpl_imagelist * sourceCube,</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> cpl_imagelist * maskCube,</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keywordtype">int</span> n_neighbors, <span class="comment">/* 7 */</span></div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="keywordtype">int</span> max_radius ) ; <span class="comment">/* 5 */</span></div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> cpl_imagelist * </div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> sinfo_new_fine_tune_cube( cpl_imagelist * cube,</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="keywordtype">float</span> * correct_diff_dist,</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="keywordtype">int</span> n_order) ;</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> </div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> cpl_imagelist * </div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> sinfo_new_fine_tune_cube_by_FFT( cpl_imagelist * cube,</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="keywordtype">float</span> * correct_diff_dist ) ;</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> cpl_imagelist * </div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> sinfo_new_fine_tune_cube_by_spline ( cpl_imagelist * cube,</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="keywordtype">float</span> * correct_diff_dist ) ;</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> </div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="keywordtype">float</span> * </div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> sinfo_new_calibrate_ns_test( cpl_image * ns_image,</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="keywordtype">int</span> n_slitlets,</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="keywordtype">int</span> halfWidth,</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="keywordtype">float</span> fwhm,</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="keywordtype">float</span> minDiff,</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="keywordtype">float</span> estimated_dist,</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="keywordtype">float</span> devtol,</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="keywordtype">int</span> bottom,</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="keywordtype">int</span> top ) ;</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> </div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> </div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> cpl_image * </div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> sinfo_new_make_true_resamp(cpl_image * calibImage, cpl_image* wavemap);</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> </div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> </div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="preprocessor">#endif </span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__cubecreate__ini_8h_source.html b/html/sinfo__cubecreate__ini_8h_source.html
deleted file mode 100644
index ad17e9b..0000000
--- a/html/sinfo__cubecreate__ini_8h_source.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_cubecreate_ini.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_cubecreate_ini.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : cubecreate_ini.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Nov 28, 2001</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : ini file handling for SPIFFIs creation of a data cube</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifndef SINFO_CUBECREATE_INI_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_CUBECREATE_INI_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "sinfo_cubecreate_cfg.h"</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> generateCube_ini_file(</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">char</span> * ini_name,</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">char</span> * name_i,</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">char</span> * name_o,</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">char</span> * name_c</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> );</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> cube_config * </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> parse_cube_ini_file(<span class="keywordtype">char</span> * ini_name) ;</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__dark__cfg_8c_source.html b/html/sinfo__dark__cfg_8c_source.html
deleted file mode 100644
index e97a993..0000000
--- a/html/sinfo__dark__cfg_8c_source.html
+++ /dev/null
@@ -1,100 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_dark_cfg.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_dark_cfg.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_dark_cfg.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : February 2002</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : configuration handling tools for the generation of</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> master sinfo_dark frames </span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"></span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_dark_cfg.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> dark_config * </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> sinfo_dark_cfg_create(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> {</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordflow">return</span> cpl_calloc(1, <span class="keyword">sizeof</span>(dark_config));</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> }</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">void</span> sinfo_dark_cfg_destroy(dark_config * cc)</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> {</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keywordflow">if</span> (cc==NULL) return ;</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">/* Free main struct */</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> cpl_free(cc);</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> return ;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> }</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__dark__cfg_8h_source.html b/html/sinfo__dark__cfg_8h_source.html
deleted file mode 100644
index e111509..0000000
--- a/html/sinfo__dark__cfg_8h_source.html
+++ /dev/null
@@ -1,140 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_dark_cfg.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_dark_cfg.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> File name : sinfo_dark_cfg.h</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Created on : February 2002</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Description : sinfo_dark_cfg.c definitions + handling prototypes</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#ifndef SINFO_DARK_CFG_H</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_DARK_CFG_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <stdlib.h></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> New types</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> master dark frame generation blackboard container</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> This structure holds all information related to the master dark </span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> frame generation</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> routine. It is used as a container for the flux of ancillary data,</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> computed values, and algorithm status. Pixel flux is separated from</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> the blackboard.</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>dark_config {</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*-------General---------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">char</span> inFile[FILE_NAME_SZ] ; <span class="comment">/* file name of frame list */</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">char</span> ** inFrameList ; <span class="comment">/* input averaged, bad pixel corrected, </span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> off subtracted, flatfielded, spectral </span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> tilt corrected list of frames */</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">int</span> nframes ; <span class="comment">/* number of frames in the list */</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">char</span> outName[FILE_NAME_SZ] ; <span class="comment">/* output name of resulting fits </span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> data cube */</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">/*------ CleanMean ------*/</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">/* the fraction [0...1] of rejected low intensity pixels when </span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> taking the average of columns */</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">float</span> lo_reject ;</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">/* the fraction [0...1] of rejected high intensity pixels when </span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> taking the average of columns */</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">float</span> hi_reject ;</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">/*------ QCLOG ------*/</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">/* RON */</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">int</span> qc_ron_xmin;</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">int</span> qc_ron_xmax;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keywordtype">int</span> qc_ron_ymin;</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">int</span> qc_ron_ymax;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">int</span> qc_ron_hsize;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">int</span> qc_ron_nsamp;</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">/* FPN */</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">int</span> qc_fpn_xmin;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">int</span> qc_fpn_xmax;</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">int</span> qc_fpn_ymin;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">int</span> qc_fpn_ymax;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">int</span> qc_fpn_hsize;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">int</span> qc_fpn_nsamp;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> } dark_config ;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> Function prototypes</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> dark_config * </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> sinfo_dark_cfg_create(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> sinfo_dark_cfg_destroy(dark_config * cc);</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__dark__config_8c_source.html b/html/sinfo__dark__config_8c_source.html
deleted file mode 100644
index 44e7bc5..0000000
--- a/html/sinfo__dark__config_8c_source.html
+++ /dev/null
@@ -1,246 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_dark_config.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_dark_config.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_dark_config.c,v 1.5 2012/03/02 08:42:20 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2012/03/02 08:42:20 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.5 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> * Dark Frames Data Reduction Parameter Initialization *</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_dark_config.h"</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/* Dark Frame Data Reduction parameters */</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> sinfo_dark_config_add(cpl_parameterlist *list)</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> {</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> cpl_parameter *p;</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keywordflow">if</span> (!list) {</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> }</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">/* float </span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> threshold used in the clean mean percentage of rejection used to reject </span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> low and high frame */</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">/* percentage of extreme pixel value to reject when calculating the mean </span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> and stdev */</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.dark.low_rejection"</span>,</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="stringliteral">"lower rejection"</span>,</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="stringliteral">"sinfoni.dark"</span>,</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> 0.1,0.0,1.0);</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dark-lo_rej"</span>);</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/* float </span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> threshold used in the clean mean percentage of rejection used to reject </span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"> low and high frame */</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">/* percentage of extreme pixel value to reject when calculating the mean </span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> and stdev */</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment">/* QC LOG */</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">/* RON */</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.dark.high_rejection"</span>,</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="stringliteral">"higher rejection"</span>,</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="stringliteral">"sinfoni.dark"</span>,</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> 0.1,0.0,1.0);</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dark-hi_rej"</span>);</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.dark.qc_ron_xmin"</span>,</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="stringliteral">"qc_ron_xmin"</span>,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="stringliteral">"sinfoni.dark"</span>,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> 1,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dark-qc_ron_xmin"</span>);</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.dark.qc_ron_xmax"</span>,</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="stringliteral">"qc_ron_xmax"</span>,</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="stringliteral">"sinfoni.dark"</span>,</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> 2048,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dark-qc_ron_xmax"</span>);</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.dark.qc_ron_ymin"</span>,</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="stringliteral">"qc_ron_ymin"</span>,</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="stringliteral">"sinfoni.dark"</span>,</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> 1,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dark-qc_ron_ymin"</span>);</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.dark.qc_ron_ymax"</span>,</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="stringliteral">"qc_ron_ymax"</span>,</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="stringliteral">"sinfoni.dark"</span>,</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> 2048,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dark-qc_ron_ymax"</span>);</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.dark.qc_ron_hsize"</span>,</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="stringliteral">"qc_ron_hsize"</span>,</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="stringliteral">"sinfoni.dark"</span>,</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> 4);</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dark-qc_ron_hsize"</span>);</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.dark.qc_ron_nsamp"</span>,</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="stringliteral">"qc_ron_nsamp"</span>,</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="stringliteral">"sinfoni.dark"</span>,</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> 100);</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dark-qc_ron_nsamp"</span>);</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment">/* FPN */</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.dark.qc_fpn_xmin"</span>,</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="stringliteral">"qc_fpn_xmin"</span>,</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="stringliteral">"sinfoni.dark"</span>,</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> 1,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dark-qc_fpn_xmin"</span>);</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.dark.qc_fpn_xmax"</span>,</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="stringliteral">"qc_fpn_xmax"</span>,</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="stringliteral">"sinfoni.dark"</span>,</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> 2047,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dark-qc_fpn_xmax"</span>);</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.dark.qc_fpn_ymin"</span>,</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="stringliteral">"qc_fpn_ymin"</span>,</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="stringliteral">"sinfoni.dark"</span>,</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> 1,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dark-qc_fpn_ymin"</span>);</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.dark.qc_fpn_ymax"</span>,</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="stringliteral">"qc_fpn_ymax"</span>,</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="stringliteral">"sinfoni.dark"</span>,</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> 2047,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dark-qc_fpn_ymax"</span>);</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.dark.qc_fpn_hsize"</span>,</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="stringliteral">"qc_fpn_hsize"</span>,</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="stringliteral">"sinfoni.dark"</span>,</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> 2);</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dark-qc_fpn_hsize"</span>);</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.dark.qc_fpn_nsamp"</span>,</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="stringliteral">"qc_fpn_nsamp"</span>,</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="stringliteral">"sinfoni.dark"</span>,</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> 1000);</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dark-qc_fpn_nsamp"</span>);</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__dark__config_8h_source.html b/html/sinfo__dark__config_8h_source.html
deleted file mode 100644
index edc9a81..0000000
--- a/html/sinfo__dark__config_8h_source.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_dark_config.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_dark_config.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_dark_config.h,v 1.1 2006/10/20 08:06:32 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2006/10/20 08:06:32 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Dark Frames Data Reduction Parameter Initialization *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <cpl.h></span> <span class="comment">/* defines parlist structure */</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">#include "sinfo_dfs.h"</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keywordtype">void</span> sinfo_dark_config_add(cpl_parameterlist *list);</div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__dark__ini_8h_source.html b/html/sinfo__dark__ini_8h_source.html
deleted file mode 100644
index ca4ef2b..0000000
--- a/html/sinfo__dark__ini_8h_source.html
+++ /dev/null
@@ -1,94 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_dark_ini.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_dark_ini.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_dark_ini.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Feb 13, 2002</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : ini file handling for SPIFFIs sinfo_dark frame handling</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifndef SINFO_DARK_INI_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_DARK_INI_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "sinfo_fitshead.h"</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_dark_cfg.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> generateDark_ini_file(</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">char</span> * ini_name,</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">char</span> * name_i,</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">char</span> * name_o</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> );</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> dark_config * </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> parse_dark_ini_file(<span class="keywordtype">char</span> * ini_name) ;</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__dark__ini__by__cpl_8c_source.html b/html/sinfo__dark__ini__by__cpl_8c_source.html
deleted file mode 100644
index 92694ee..0000000
--- a/html/sinfo__dark__ini__by__cpl_8c_source.html
+++ /dev/null
@@ -1,290 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_dark_ini_by_cpl.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_dark_ini_by_cpl.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_dark_ini_by_cpl.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : May 18, 2004</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : sinfo_dark cpl input file handling for SPIFFI</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_dark_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_raw_types.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_hidden.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> Functions private to this module</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> parse_section_frames(dark_config *, cpl_frameset* sof, </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> cpl_frameset** raw, <span class="keywordtype">int</span>* status);</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> parse_section_cleanmean(dark_config *, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> parse_section_qclog(dark_config * cfg, cpl_parameterlist * cpl_cfg);</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keywordtype">void</span> sinfo_detnoise_free(dark_config * cfg);</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> dark_config * </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> sinfo_parse_cpl_input_dark(cpl_parameterlist * cpl_cfg, </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> cpl_frameset** raw)</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> {</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">int</span> status=0;</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> dark_config * cfg ;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">/* Removed check on ini_file */</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">/* Removed load of ini file */</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> cfg = sinfo_dark_cfg_create();</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"> * Perform sanity checks, fill up the structure with what was</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"> * found in the ini file</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> parse_section_cleanmean (cfg, cpl_cfg);</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> parse_section_qclog (cfg, cpl_cfg); </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> parse_section_frames (cfg, sof, raw, &status);</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordflow">if</span> (status > 0) {</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"parsing cpl input"</span>);</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> sinfo_dark_cfg_destroy(cfg);</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> cfg = NULL ;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> }</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keywordflow">return</span> cfg ;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> }</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> parse_section_frames(dark_config * cfg,</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> cpl_frameset * sof,</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> cpl_frameset** raw,</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">int</span>* status)</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> {</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">int</span> nraw=0;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">int</span> nraw_good=0;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> cpl_frame* frame=NULL;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordtype">char</span> spat_res[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordtype">char</span> lamp_status[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keywordtype">char</span> band[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">int</span> ins_set=0;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> sinfo_extract_raw_frames_type(sof,raw,RAW_DARK);</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> nraw=cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordflow">if</span> (nraw < 1) {</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Too few (%d) raw frames (%s) present in"</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="stringliteral">"frameset!Aborting..."</span>,nraw,RAW_DARK);</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> (*status)++;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> }</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment">/* Removed: get "general:infile" read it, check input sinfo_matrix */</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment">/* Allocate structures to go into the blackboard */</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> cfg->inFrameList = cpl_malloc(nraw * <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>*));</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment">/* read input frames */</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordflow">for</span> (i=0 ; i<nraw ; i++) {</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> frame = cpl_frameset_get_frame(*raw,i);</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment">/* Store file name into framelist */</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> cfg->inFrameList[i]=cpl_strdup(cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> nraw_good++;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> }</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keywordflow">if</span>(nraw_good<1) {</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no good raw frame in input, something wrong!"</span>);</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> (*status)++;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> }</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment">/* Copy relevant information into the blackboard */</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> cfg->nframes = nraw ;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> strcpy(cfg -> outName, DARK_OUT_FILENAME);</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> frame = cpl_frameset_get_frame(*raw,0);</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> sinfo_get_spatial_res(frame,spat_res);</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordflow">switch</span>(sinfo_frame_is_on(frame)) </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> {</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordflow">case</span> 0: </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> strcpy(lamp_status,<span class="stringliteral">"on"</span>);</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordflow">case</span> 1: </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> strcpy(lamp_status,<span class="stringliteral">"off"</span>);</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordflow">case</span> -1:</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordflow">default</span>: </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> }</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> sinfo_get_band(frame,band);</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> sinfo_msg(<span class="stringliteral">"Spatial resolution: %s lamp status: %s band: %s \n"</span>,</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> spat_res, lamp_status, band);</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> sinfo_get_ins_set(band,&ins_set);</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> return ;</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> }</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> parse_section_cleanmean(dark_config * cfg, cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> {</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> cpl_parameter *p; </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.dark.low_rejection"</span>);</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> cfg -> lo_reject = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.dark.high_rejection"</span>);</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> cfg -> hi_reject = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> }</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> parse_section_qclog(dark_config * cfg, cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> {</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> cpl_parameter *p; </div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.dark.qc_ron_xmin"</span>);</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> cfg -> qc_ron_xmin = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.dark.qc_ron_xmax"</span>);</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> cfg -> qc_ron_xmax = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.dark.qc_ron_ymin"</span>);</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> cfg -> qc_ron_ymin = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.dark.qc_ron_ymax"</span>);</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> cfg -> qc_ron_ymax = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.dark.qc_ron_hsize"</span>);</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> cfg -> qc_ron_hsize = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.dark.qc_ron_nsamp"</span>);</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> cfg -> qc_ron_nsamp = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.dark.qc_fpn_xmin"</span>);</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> cfg -> qc_fpn_xmin = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.dark.qc_fpn_xmax"</span>);</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> cfg -> qc_fpn_xmax = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.dark.qc_fpn_ymin"</span>);</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> cfg -> qc_fpn_ymin = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.dark.qc_fpn_ymax"</span>);</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> cfg -> qc_fpn_ymax = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.dark.qc_fpn_hsize"</span>);</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> cfg -> qc_fpn_hsize = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.dark.qc_fpn_nsamp"</span>);</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> cfg -> qc_fpn_nsamp = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> }</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> sinfo_dark_free(dark_config ** cfg)</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> { </div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keywordflow">if</span>((*cfg) != NULL) {</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="keywordflow">for</span>(i=0;i<(*cfg)->nframes;i++) {</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="keywordflow">if</span>((*cfg)->inFrameList[i] != NULL) {</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> cpl_free((*cfg)->inFrameList[i]);</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> (*cfg)->inFrameList[i]=NULL;</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> }</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> }</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> cpl_free((*cfg)->inFrameList);</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> (*cfg)->inFrameList=NULL;</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> sinfo_dark_cfg_destroy((*cfg));</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> *cfg = NULL;</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> }</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__dark__ini__by__cpl_8h_source.html b/html/sinfo__dark__ini__by__cpl_8h_source.html
deleted file mode 100644
index 1ad8a20..0000000
--- a/html/sinfo__dark__ini__by__cpl_8h_source.html
+++ /dev/null
@@ -1,94 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_dark_ini_by_cpl.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_dark_ini_by_cpl.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_dark_ini_by_cpl.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : May 18, 2004</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : cpl input file handling for SINFONI </span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> dark frame handling</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"></span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef SINFO_DARK_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_DARK_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_dark_cfg.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> dark_config * </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> sinfo_parse_cpl_input_dark(cpl_parameterlist * cpl_cfg, </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> cpl_frameset** raw);</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> sinfo_dark_free(dark_config ** cfg);</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__define__opt_8h_source.html b/html/sinfo__define__opt_8h_source.html
deleted file mode 100644
index 4caafe1..0000000
--- a/html/sinfo__define__opt_8h_source.html
+++ /dev/null
@@ -1,76 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_define_opt.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_define_opt.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#ifndef SINFO_DEFINE_OPT_H</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_DEFINE_OPT_H</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor"></span><span class="preprocessor">#define OPT_FILE 1001</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor"></span><span class="preprocessor">#define OPT_GENERATE 1002</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor"></span><span class="preprocessor">#define OPT_RB 1003</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor"></span><span class="preprocessor">#define OPT_SORT 1004</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor"></span><span class="preprocessor">#define OPT_IN 2000</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor"></span><span class="preprocessor">#define OPT_OUT 2001</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor">#define OPT_CALIB 2002</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#define OPT_CIN 2003</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__detlin_8c_source.html b/html/sinfo__detlin_8c_source.html
deleted file mode 100644
index ab5dc17..0000000
--- a/html/sinfo__detlin_8c_source.html
+++ /dev/null
@@ -1,1157 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_detlin.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_detlin.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*******************************************************************************</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* amodigli 18/04/02 created</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span><span class="preprocessor">#define POSIX_SOURCE 1</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"></span><span class="preprocessor">#include "sinfo_vltPort.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> * System Headers</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> * Local Headers</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_detlin.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_recipes.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "sinfo_fit_curve.h"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> * Function codes</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> cpl_imagelist * </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> sinfo_new_fit_intensity_course(cpl_imagelist * flatStack,</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">int</span> order,</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">float</span> loReject,</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">float</span> hiReject )</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> {</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> cpl_imagelist * ret_iml ;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> dpoint * points ;</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">int</span> i, z ;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">double</span> * coeffs ;</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> Stats ** stats=NULL ;</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">int</span> sx;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">int</span> sy;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">int</span> sz;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordtype">float</span>* psrcdata;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordtype">float</span>* presdata;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> cpl_image* img_tmp=NULL;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> sx=cpl_image_get_size_x(cpl_imagelist_get(flatStack,0));</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> sy=cpl_image_get_size_y(cpl_imagelist_get(flatStack,0));</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> sz=cpl_imagelist_get_size(flatStack);</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> stats=(Stats**) cpl_calloc(sz,<span class="keyword">sizeof</span>(Stats*)) ;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordflow">if</span> ( NULL == flatStack )</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> {</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no input cube given!"</span>) ;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> }</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordflow">if</span> ( order <= 0 )</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> {</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong order of polynomial given!"</span>) ;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> }</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment">/* allocate memory for returned cube */</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> ret_iml = cpl_imagelist_new();</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordflow">for</span> ( z = 0 ; z < order+1 ; z++ )</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> {</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> img_tmp=cpl_image_new(sx,sy,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> cpl_imagelist_set(ret_iml,img_tmp,z);</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> }</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordflow">for</span> ( z = 0 ; z < sz ; z++ )</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> {</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> stats[z]=</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> sinfo_new_image_stats_on_rectangle(cpl_imagelist_get(flatStack,z), </div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> loReject, </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> hiReject, </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> 0, </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> 0, </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> sx-1, </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> sy-1) ;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordflow">if</span> ( stats[z] == NULL )</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> {</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not compute image statistics "</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="stringliteral">"in plane: %d"</span>, z) ;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> cpl_imagelist_delete(ret_iml) ;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> }</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> }</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment">/* go through the image plane and store the spectra in a double </span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment"> points data structure */</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">for</span> ( i = 0 ; i < sx*sy ; i++ )</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> {</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment">/* allocate dpoint object */</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordflow">if</span> ( NULL == ( points = (dpoint*) cpl_calloc(sz, <span class="keyword">sizeof</span>(dpoint)) ) )</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> {</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not allocate memory!\n"</span>) ;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> cpl_imagelist_delete(ret_iml) ;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> }</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keywordflow">for</span> ( z = 0 ; z < sz ; z++ )</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> {</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keywordflow">if</span>(NULL==(img_tmp = cpl_imagelist_get(flatStack,z))) {</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not get image!"</span>);</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> cpl_imagelist_delete(ret_iml) ;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> psrcdata=cpl_image_get_data_float(img_tmp);</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> points[z].x = (double)stats[z]->cleanmean ;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> points[z].y = (double)psrcdata[i] ;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> }</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> }</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordflow">if</span> ( NULL == ( coeffs = sinfo_fit_1d_poly(order, points, sz, NULL) ) )</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> {</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"could not fit spectrum of pixel: %d\n"</span>, i) ;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keywordflow">for</span> ( z = 0 ; z < order+1 ; z++ )</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> {</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> presdata=cpl_image_get_data_float(cpl_imagelist_get(ret_iml,z));</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> presdata[i] = ZERO ;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> }</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> }</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> {</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordflow">for</span> ( z = 0 ; z < order+1 ; z++ )</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> {</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordflow">if</span>(NULL==(img_tmp = cpl_imagelist_get(ret_iml,z))) {</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not get image!"</span>);</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> cpl_imagelist_delete(ret_iml) ;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> presdata=cpl_image_get_data_float(img_tmp);</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> presdata[i] = coeffs[z] ;</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> }</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> }</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> }</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> cpl_free(points) ;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> cpl_free(coeffs) ;</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> }</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordflow">for</span> ( z = 0 ; z < sz ; z++ )</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> {</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> cpl_free (stats[z]) ;</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> }</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> cpl_free(stats);</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keywordflow">return</span> ret_iml ;</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> }</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> cpl_image * sinfo_new_search_bad_pixels( cpl_imagelist * coeffs,</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keywordtype">double</span> threshSigmaFactor,</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordtype">double</span> nonlinearThresh,</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordtype">float</span> loReject,</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keywordtype">float</span> hiReject )</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> {</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keywordtype">int</span> i, z ;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> Stats * stats ;</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordtype">int</span> sx=0;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordtype">int</span> sy=0;</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordtype">int</span> sz=0;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> cpl_image * img_res ;</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> cpl_image* img_src=NULL;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordtype">float</span>* psrcdata=NULL;</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keywordtype">float</span>* presdata=NULL;</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="keywordflow">if</span> ( NULL == coeffs )</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> {</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no input cube given!\n"</span>) ;</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> }</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="keywordflow">if</span> ( threshSigmaFactor <= 0. )</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> {</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong sigma factor given, 0 or negativ!\n"</span>) ;</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> }</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="keywordflow">if</span> ( nonlinearThresh <= 0. )</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> {</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong nonlinear threshold value given, "</span></div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="stringliteral">"0 or negative!"</span>) ;</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> }</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> sz=cpl_imagelist_get_size(coeffs);</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="keywordflow">if</span> ( sz <= 1 )</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> {</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no cube given, only one plane!\n"</span>) ;</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> }</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="comment">/* Note that we refer to image #1! */</span></div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> img_src=cpl_imagelist_get(coeffs,1);</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> sx=cpl_image_get_size_x(img_src);</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> sy=cpl_image_get_size_y(img_src);</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="comment">/* allocate memory for return image */</span></div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="keywordflow">if</span> ( NULL == (img_res = cpl_image_new(sx, sy,CPL_TYPE_FLOAT)) )</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> {</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not allocate memory!\n"</span>) ;</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> }</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="comment">/* first test the sensitivity deviations of each pixel */</span></div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="comment">/* determine the clean mean and clean standard deviation </span></div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="comment"> in the whole image frame */</span></div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> stats = sinfo_new_image_stats_on_rectangle(img_src, </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> loReject, </div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> hiReject, 0, 0, </div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> sx-1, sy-1) ;</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="keywordflow">if</span> ( NULL == stats )</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> {</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not determine image statistics!\n"</span>) ;</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> cpl_image_delete(img_res) ;</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> }</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> psrcdata=cpl_image_get_data_float(img_src);</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> presdata=cpl_image_get_data_float(img_res);</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) sx*sy ; i++ )</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> {</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keywordflow">if</span> ( isnan(psrcdata[i]) )</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> {</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> presdata[i] = 0. ;</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> }</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( stats->cleanmean - psrcdata[i] > </div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> threshSigmaFactor*stats->cleanstdev )</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> {</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> presdata[i] = 0. ;</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> }</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> {</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> presdata[i] = 1. ;</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> }</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> }</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> cpl_free(stats) ;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> </div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="comment">/* -----------------------------------------------------</span></div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="comment"> * now test additionally the non-linearity if available. </span></div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="comment"> * if a strong non-linearity occurs for pixels which are </span></div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="comment"> * declared "good" so far (normal linear coefficients)</span></div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="comment"> * these pixels will be declared bad. </span></div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="keywordflow">if</span> (sz > 1) </div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> {</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="keywordflow">for</span> ( z = 2 ; z < sz ; z++ )</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> {</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> img_src=cpl_imagelist_get(coeffs,z);</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> sx=cpl_image_get_size_x(img_src);</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> sy=cpl_image_get_size_y(img_src);</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> </div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> psrcdata=cpl_image_get_data_float(img_src);</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> stats = sinfo_new_image_stats_on_rectangle(img_src, loReject, </div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> hiReject, 0, 0, sx-1, sy-1) ;</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="keywordflow">if</span> ( NULL == stats )</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> {</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not determine image statistics!\n"</span>) ;</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> cpl_image_delete(img_res) ;</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> }</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> presdata=cpl_image_get_data_float(img_res);</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) sx*sy ; i++ )</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> {</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="keywordflow">if</span> ( presdata[i] == 1. && </div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> (fabs(psrcdata[i] - stats->cleanmean) > </div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> threshSigmaFactor*stats->cleanstdev ||</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> fabs(psrcdata[i]) > nonlinearThresh ) ) </div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> {</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> presdata[i] = 0. ;</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> }</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> }</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> cpl_free(stats) ;</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> }</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> }</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> </div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="keywordflow">return</span> img_res ;</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> }</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> </div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> </div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> cpl_image * sinfo_new_search_bad_pixels_via_noise(cpl_imagelist * darks,</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="keywordtype">float</span> threshSigmaFactor,</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="keywordtype">float</span> loReject,</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="keywordtype">float</span> hiReject )</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> {</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> cpl_image * bp_map ;</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keywordtype">int</span> z, n, i ;</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="keywordtype">int</span> lx, ly ;</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="keywordtype">int</span> row, col ;</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="keywordtype">int</span> low_n, high_n ;</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="keywordtype">float</span> * spectrum ;</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="keywordtype">double</span> pix_sum ;</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="keywordtype">double</span> sqr_sum ;</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> Stats * stats ;</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> cpl_image* img_src=NULL;</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> </div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="keywordtype">float</span>* psrcdata=NULL;</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="keywordtype">float</span>* pbpdata=NULL;</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> </div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="keywordtype">int</span> lz=0;</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> </div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="keywordflow">if</span> ( NULL == darks )</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> {</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no input cube given!\n"</span>) ;</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> }</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> </div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="keywordflow">if</span> ( threshSigmaFactor <= 0. )</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> {</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"factor is smaller or equal zero!\n"</span>) ;</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> }</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="keywordflow">if</span> ( loReject < 0. || hiReject < 0. || (loReject + hiReject) >= 100. )</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> {</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong reject percentage values!\n"</span>) ;</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> }</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> </div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> lz=cpl_imagelist_get_size(darks);</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="keywordflow">if</span> ( lz < 1 )</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> {</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"not enough dark frames given for good statistics!"</span>) ;</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> }</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> img_src=cpl_imagelist_get(darks,0);</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> </div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> lx = cpl_image_get_size_x(img_src) ;</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> ly = cpl_image_get_size_y(img_src) ;</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> </div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> low_n = (int)(loReject/100. *(<span class="keywordtype">float</span>)lz) ;</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> high_n = (int)(hiReject/100. *(<span class="keywordtype">float</span>)lz) ;</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="keywordflow">if</span> (NULL == (bp_map = cpl_image_new (lx, ly,CPL_TYPE_FLOAT) ) )</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> {</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not allocate new memory!\n"</span>) ;</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> }</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> pbpdata=cpl_image_get_data(bp_map);</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="keywordflow">if</span> (NULL == (spectrum = (<span class="keywordtype">float</span>*) cpl_calloc(lz, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ) )</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> {</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not allocate new memory!\n"</span>) ;</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> }</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="keywordflow">for</span> ( row = 0 ; row < ly ; row++ ) {</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> </div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="keywordflow">for</span> ( col = 0 ; col < lx ; col++ ) {</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> </div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="keywordflow">for</span> ( z = 0 ; z < lz ; z++ ) {</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> img_src=cpl_imagelist_get(darks,z);</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> psrcdata=cpl_image_get_data(img_src);</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> spectrum[z] = psrcdata[col+lx*row] ;</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> }</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> sinfo_pixel_qsort(spectrum, lz) ;</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> n = 0 ;</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> pix_sum = 0.; </div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> sqr_sum = 0.; </div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="keywordflow">for</span> ( i = low_n ; i < lz - high_n ; i++ ) {</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> pix_sum += (double)spectrum[i] ;</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> sqr_sum += ((double)spectrum[i]*(<span class="keywordtype">double</span>)spectrum[i]) ;</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> n++ ;</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> }</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <span class="comment">/* compute the noise in each pixel */</span></div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> pix_sum /= (double)n ;</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> sqr_sum /= (double)n ;</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> </div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> pbpdata[col+lx*row] = (float)sqrt(sqr_sum - pix_sum*pix_sum) ;</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> }</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> }</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> cpl_free(spectrum) ;</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="keywordflow">if</span> ( NULL == (stats = sinfo_new_image_stats_on_rectangle (bp_map, loReject, </div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> hiReject, 200, 200, 800, 800) ) )</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> {</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not get image statistics!\n"</span>) ;</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> cpl_image_delete (bp_map) ;</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> }</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> </div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> </div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="comment">/* now build the bad pixel mask */</span></div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="keywordflow">for</span> ( row = 0 ; row < ly ; row++ ) {</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="keywordflow">for</span> ( col = 0 ; col < lx ; col++ ) {</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="keywordflow">if</span> (pbpdata[col+lx*row] ></div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> stats->cleanmean+threshSigmaFactor*stats->cleanstdev ||</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> pbpdata[col+lx*row] < </div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> stats->cleanmean-threshSigmaFactor*stats->cleanstdev) </div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> {</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> pbpdata[col+lx*row] = 0. ;</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> }</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> {</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> pbpdata[col+lx*row] = 1. ;</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> }</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> }</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> }</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> cpl_free (stats) ;</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="keywordflow">return</span> bp_map ;</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> }</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> </div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> </div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> </div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="keywordtype">int</span> sinfo_new_count_bad_pixels (cpl_image * bad )</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> {</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="keywordtype">int</span> i, n ;</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="keywordtype">int</span> sx=cpl_image_get_size_x(bad);</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> <span class="keywordtype">int</span> sy=cpl_image_get_size_y(bad);</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> <span class="keywordtype">float</span>* pbpdata=cpl_image_get_data(bad);</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> </div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> n = 0 ;</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) sx*sy ; i++ )</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> {</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> <span class="keywordflow">if</span> ( pbpdata[i] == 0 || isnan(pbpdata[i]) )</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> {</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> n++ ;</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> }</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> }</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> <span class="keywordflow">return</span> n ;</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> }</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> </div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> </div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> cpl_image * sinfo_new_abs_dist_image(cpl_image * im, <span class="keywordtype">float</span> fmedian )</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> {</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> </div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> cpl_image * image ;</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> pixelvalue * value ;</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> pixelvalue dist ;</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> pixelvalue median_dist ;</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> pixelvalue* pix_dist=NULL ;</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <span class="keywordtype">int</span> * position ;</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="keywordtype">int</span> nposition ;</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <span class="keywordtype">int</span> n, m, i, j ;</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <span class="keywordtype">double</span> sum, sum2 ;</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> <span class="keywordtype">double</span> stdev ;</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> <span class="keywordtype">float</span>* pdata=NULL;</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="keywordtype">int</span> lx=0;</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <span class="keywordtype">int</span> ly=0;</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> </div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> <span class="keywordflow">if</span> ( im == NULL )</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> {</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no image input\n"</span>) ;</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> }</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> </div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> image = cpl_image_duplicate ( im ) ;</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> </div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="comment">/*----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <span class="comment"> * go through all pixels</span></div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> </div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> sum = 0. ;</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> sum2 = 0. ;</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> m = 0 ;</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> </div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> pdata = cpl_image_get_data(im);</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> lx=cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> ly=cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> pix_dist=(pixelvalue*)cpl_calloc(lx*ly,<span class="keyword">sizeof</span>(pixelvalue)) ;</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> </div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) lx*ly ; i++ )</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> {</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> <span class="comment">/* blank pixels are not replaced */</span></div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="keywordflow">if</span> ( isnan(pdata[i]) )</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> {</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> continue ;</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> }</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> </div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> <span class="comment">/* initialize the buffer variables for the 8 nearest neighbors */</span></div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> value = (pixelvalue * )cpl_calloc ( 8, <span class="keyword">sizeof</span> ( pixelvalue * ) ) ;</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> position = ( <span class="keywordtype">int</span> * ) cpl_calloc ( 8, <span class="keyword">sizeof</span> ( <span class="keywordtype">int</span> * ) ) ;</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> </div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> <span class="comment">/*--------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> <span class="comment"> * determine the pixel position of the 8 nearest neighbors</span></div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> </div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> position[0] = i + lx - 1 ; <span class="comment">/* upper left */</span></div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> position[1] = i + lx ; <span class="comment">/* upper */</span></div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> position[2] = i + lx + 1 ; <span class="comment">/* upper right */</span></div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> position[3] = i + 1 ; <span class="comment">/* right */</span></div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> position[4] = i - lx + 1 ; <span class="comment">/* lower right */</span></div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> position[5] = i - lx ; <span class="comment">/* lower */</span></div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> position[6] = i - lx - 1 ; <span class="comment">/* lower left */</span></div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> position[7] = i - 1 ; <span class="comment">/* left */</span></div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> </div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="comment">/*--------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> <span class="comment"> * determine the positions of the image margins, top positions are </span></div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> <span class="comment"> * changed to low positions and vice versa. Right positions are </span></div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> <span class="comment"> * changed to left positions and vice versa.</span></div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> </div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> <span class="keywordflow">if</span> ( i >= 0 && i < lx ) <span class="comment">/* bottom line */</span></div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> {</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> position[4] += 2 * lx ;</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> position[5] += 2 * lx ;</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> position[6] += 2 * lx ;</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> }</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( i >= ((<span class="keywordtype">int</span>) lx*ly - lx ) && i < (<span class="keywordtype">int</span>) lx*ly ) <span class="comment">/* top line */</span></div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> {</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> position[0] -= 2 * lx ;</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> position[1] -= 2 * lx ;</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> position[2] -= 2 * lx ;</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> }</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( i % lx == 0 ) <span class="comment">/* left side */</span></div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> {</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> position[0] += 2 ;</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> position[6] += 2 ;</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> position[7] += 2 ;</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> }</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( i % lx == lx - 1 ) <span class="comment">/* right side */</span></div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> {</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> position[2] -= 2 ;</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> position[3] -= 2 ;</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> position[4] -= 2 ;</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> }</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> </div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> <span class="comment">/* -------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <span class="comment"> * read the pixel values of the neighboring pixels,</span></div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> <span class="comment"> * blanks are not considered</span></div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> </div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> nposition = 8 ;</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> n = 0 ;</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> <span class="keywordflow">for</span> ( j = 0 ; j < nposition ; j ++ )</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> {</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="keywordflow">if</span> ( !isnan(pdata[position[j]]) )</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> {</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> value[n] = pdata[position[j]] ;</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> n ++ ;</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> }</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> }</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> nposition = n ;</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> </div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> <span class="keywordflow">if</span> ( nposition <= 1 ) <span class="comment">/* almost all neighbors are blank */</span></div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> {</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> pdata[i] = ZERO ;</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> cpl_free(value) ;</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> cpl_free(position) ;</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> continue ;</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> }</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> </div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> <span class="comment">/* determine the absolute distances */</span></div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> dist = 0. ;</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> <span class="keywordflow">for</span> ( n = 0 ; n < nposition ; n++ )</div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> {</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> dist += (pdata[i] - value[n])*(pdata[i] - value[n]) ; </div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> }</div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> dist = sqrt(dist)/(float) nposition ;</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> pix_dist[m] = dist ;</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> m++ ;</div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> sum += (double)dist ;</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> sum2 += (double)dist * (<span class="keywordtype">double</span>)dist ;</div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> cpl_free(value) ;</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> cpl_free(position) ;</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> }</div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> sum /= (double)m ;</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> sum2 /= (double)m ;</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> stdev = sqrt(sum2 - sum*sum) ;</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> </div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> median_dist = sinfo_new_median(pix_dist, m) ;</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> </div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) lx*ly ; i++ )</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> {</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> <span class="comment">/* blank pixels are not replaced */</span></div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> <span class="keywordflow">if</span> ( isnan(pdata[i]) )</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> {</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> continue ;</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> }</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> </div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> <span class="comment">/* initialize the buffer variables for the 8 nearest neighbors */</span></div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> value = (pixelvalue * )cpl_calloc ( 8, <span class="keyword">sizeof</span> ( pixelvalue * ) ) ;</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> position = ( <span class="keywordtype">int</span> * ) cpl_calloc ( 8, <span class="keyword">sizeof</span> ( <span class="keywordtype">int</span> * ) ) ;</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> </div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <span class="comment">/*-------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> <span class="comment"> * determine the pixel position of the 8 nearest neighbors</span></div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> </div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> position[0] = i + lx - 1 ; <span class="comment">/* upper left */</span></div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> position[1] = i + lx ; <span class="comment">/* upper */</span></div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> position[2] = i + lx + 1 ; <span class="comment">/* upper right */</span></div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> position[3] = i + 1 ; <span class="comment">/* right */</span></div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> position[4] = i - lx + 1 ; <span class="comment">/* lower right */</span></div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> position[5] = i - lx ; <span class="comment">/* lower */</span></div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> position[6] = i - lx - 1 ; <span class="comment">/* lower left */</span></div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> position[7] = i - 1 ; <span class="comment">/* left */</span></div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> </div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> <span class="comment">/*-------------------------------------------------------------</span></div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> <span class="comment"> * determine the positions of the image margins, top positions are </span></div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> <span class="comment"> * changed to low positions and vice versa. Right positions are </span></div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> <span class="comment"> * changed to left positions and vice versa.</span></div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> </div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> <span class="keywordflow">if</span> ( i >= 0 && i < lx ) <span class="comment">/* bottom line */</span></div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> {</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> position[4] += 2 * lx ;</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> position[5] += 2 * lx ;</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> position[6] += 2 * lx ;</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> }</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( i >= ((<span class="keywordtype">int</span>) lx*ly - lx ) && i < (<span class="keywordtype">int</span>) lx*ly ) <span class="comment">/* top line */</span></div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> {</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> position[0] -= 2 * lx ;</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> position[1] -= 2 * lx ;</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> position[2] -= 2 * lx ;</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> }</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( i % lx == 0 ) <span class="comment">/* left side */</span></div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> {</div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> position[0] += 2 ;</div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> position[6] += 2 ;</div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> position[7] += 2 ;</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> }</div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( i % lx == lx - 1 ) <span class="comment">/* right side */</span></div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> {</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> position[2] -= 2 ;</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> position[3] -= 2 ;</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> position[4] -= 2 ;</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> }</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> </div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="comment">/* -------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="comment"> * read the pixel values of the neighboring pixels,</span></div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> <span class="comment"> * blanks are not considered</span></div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> </div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> nposition = 8 ;</div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> n = 0 ;</div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> <span class="keywordflow">for</span> ( j = 0 ; j < nposition ; j ++ )</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> {</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> <span class="keywordflow">if</span> ( !isnan(pdata[position[j]]) )</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> {</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> value[n] = pdata[position[j]] ;</div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> n ++ ;</div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> }</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> }</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> nposition = n ;</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> </div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> <span class="keywordflow">if</span> ( nposition <= 1 ) <span class="comment">/* almost all neighbors are blank */</span></div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> {</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> pdata[i] = ZERO ;</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> cpl_free(value) ;</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> cpl_free(position) ;</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> continue ;</div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> }</div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> </div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> <span class="comment">/* determine the absolute distances */</span></div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> dist = 0. ;</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> <span class="keywordflow">for</span> ( n = 0 ; n < nposition ; n++ )</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> {</div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> dist += (pdata[i] - value[n])*(pdata[i] - value[n]) ; </div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> }</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> dist = sqrt(dist)/(float) nposition ;</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> </div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> </div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> <span class="comment">/* -----------------------------------------------------------------</span></div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> <span class="comment"> * replace the pixel value by the sinfo_median on conditions:</span></div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> <span class="comment"> * fmedian = 0: always replace with sinfo_median.</span></div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> <span class="comment"> * fmedian < 0: interpret as absolute condition:</span></div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> <span class="comment"> * if |pixel - sinfo_median| > -fmedian</span></div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> <span class="comment"> * replace with sinfo_median.</span></div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> <span class="comment"> * fmedian > 0: replace by sinfo_median (fmedian as a factor of</span></div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> <span class="comment"> * the square root of the sinfo_median itself)</span></div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> <span class="comment"> * if |pixel - median| >= fmedian * sqrt ( median )</span></div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> <span class="comment"> * considers a dependence on the pixel value.</span></div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> <span class="comment"> * This can be used to consider photon noise.</span></div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> </div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> <span class="keywordflow">if</span> ( fmedian == 0 )</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> {</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> pdata[i] = dist ;</div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> }</div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( fmedian < 0 &&</div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> fabs ( median_dist - dist ) >= -fmedian*stdev )</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> {</div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> pdata[i] = dist ;</div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> }</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( fmedian > 0 &&</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> fabs ( median_dist - dist ) >= </div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> fmedian*stdev * sqrt(fabs(dist)) )</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> {</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> pdata[i] = dist ;</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> }</div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> {</div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> cpl_free (value) ;</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> cpl_free (position) ;</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> continue ;</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> }</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> </div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> cpl_free (value) ;</div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> cpl_free (position) ;</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> }</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> cpl_free(pix_dist);</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> <span class="keywordflow">return</span> image ;</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> }</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> </div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> </div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> </div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> </div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> </div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> </div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> <span class="comment"> Function: sinfo_new_local_median_image()</span></div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> <span class="comment"> In : im: input image</span></div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> <span class="comment"> fmedian: a factor to the local standard deviation</span></div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> <span class="comment"> loReject, hiReject: fraction of rejected values to determine</span></div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> <span class="comment"> a clean standard deviation</span></div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> <span class="comment"> half_box_size: integer half size of the running box to </span></div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> <span class="comment"> determine the local clean standard deviation</span></div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> <span class="comment"> Out : resulting image</span></div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> <span class="comment"> Job : filter, calculates the local stdev in a moving box</span></div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> <span class="comment"> Then it calculates the difference of the pixel to the median</span></div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> <span class="comment"> of the nearest neighbors</span></div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> <span class="comment"> by using the 8 closest pixels of every pixel.</span></div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> <span class="comment"> The values in the output image are determined according</span></div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> <span class="comment"> to the values of the input parameter.</span></div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> <span class="comment"> If fmedian = 0: always replace by median</span></div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> <span class="comment"> if fmedian < 0: replace median if |median_dist - dist| ></span></div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> <span class="comment"> fmedian * stdev </span></div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> <span class="comment"> if fmedian > 0: replace by median (fmedian as a factor of</span></div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> <span class="comment"> the square root of the median itself)</span></div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> <span class="comment"> if |pixel - median| >= fmedian*sqrt(median)</span></div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> <span class="comment"> This can be used to consider photon noise.</span></div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> <span class="comment"> This considers a dependence of the differences on the</span></div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> <span class="comment"> pixel values themselves.</span></div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> <span class="comment"> Notice : it is assumed that most of the 8 nearest neighbor pixels</span></div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> <span class="comment"> are not bad pixels!</span></div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> <span class="comment"> blank pixels are not replaced!</span></div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> </div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> cpl_image * sinfo_new_local_median_image( cpl_image * im, </div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> <span class="keywordtype">float</span> fmedian, </div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> <span class="keywordtype">float</span> loReject,</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> <span class="keywordtype">float</span> hiReject,</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> <span class="keywordtype">int</span> half_box_size )</div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> {</div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> cpl_image * image ;</div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> pixelvalue * value ;</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> pixelvalue median ;</div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> <span class="keywordtype">int</span> * position ;</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> <span class="keywordtype">int</span> nposition ;</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> <span class="keywordtype">int</span> n, i, j ;</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> <span class="keywordtype">int</span> llx, lly, urx, ury ;</div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> Stats * stats ;</div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> <span class="keywordtype">int</span> lx=0;</div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> <span class="keywordtype">int</span> ly=0;</div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> </div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> <span class="keywordflow">if</span> ( im == NULL )</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> {</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no image input"</span>) ;</div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> }</div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> <span class="keywordflow">if</span> ( half_box_size < 0 )</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> {</div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"negativ box_size given"</span>) ;</div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> }</div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> </div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> image = cpl_image_duplicate ( im ) ;</div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> lx=cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> ly=cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> pidata=cpl_image_get_data(im);</div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> podata=cpl_image_get_data(image);</div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> <span class="comment">/*----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> <span class="comment"> * go through all pixels</span></div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> </div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) lx*ly ; i++ )</div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> {</div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> <span class="comment">/* blank pixels are not replaced */</span></div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> <span class="keywordflow">if</span> ( isnan(pidata[i]) )</div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> {</div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> continue ;</div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> }</div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> </div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> <span class="comment">/* compute the image statistics in the box area */</span></div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> llx = i%lx - half_box_size ; </div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> <span class="keywordflow">if</span> ( llx < 0 ) llx = 0 ;</div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> lly = i%ly - half_box_size ;</div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> <span class="keywordflow">if</span> ( lly < 0 ) lly = 0 ;</div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> urx = i%lx + half_box_size ; </div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> <span class="keywordflow">if</span> ( urx >= lx ) urx = lx - 1 ;</div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> ury = i%ly + half_box_size ;</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> <span class="keywordflow">if</span> ( ury >= ly ) ury = ly - 1 ;</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> </div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> <span class="keywordflow">if</span> ( NULL == (stats = sinfo_new_image_stats_on_rectangle (im, loReject,</div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> hiReject, llx, lly, urx, ury)) ) </div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> {</div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"could not determine image statistics "</span>);</div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"in pixel %d"</span>, i) ;</div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> continue ;</div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> }</div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> </div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> <span class="comment">/* initialize the buffer variables for the 8 nearest neighbors */</span></div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> value = (pixelvalue * )cpl_calloc ( 8, <span class="keyword">sizeof</span> ( pixelvalue * ) ) ;</div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> position = ( <span class="keywordtype">int</span> * ) cpl_calloc ( 8, <span class="keyword">sizeof</span> ( <span class="keywordtype">int</span> * ) ) ;</div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> </div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> <span class="comment">/*----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> <span class="comment"> * determine the pixel position of the 8 nearest neighbors</span></div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> </div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> position[0] = i + lx - 1 ; <span class="comment">/* upper left */</span></div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> position[1] = i + lx ; <span class="comment">/* upper */</span></div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> position[2] = i + lx + 1 ; <span class="comment">/* upper right */</span></div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> position[3] = i + 1 ; <span class="comment">/* right */</span></div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> position[4] = i - lx + 1 ; <span class="comment">/* lower right */</span></div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> position[5] = i - lx ; <span class="comment">/* lower */</span></div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> position[6] = i - lx - 1 ; <span class="comment">/* lower left */</span></div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> position[7] = i - 1 ; <span class="comment">/* left */</span></div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> </div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> <span class="comment">/*---------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> <span class="comment"> * determine the positions of the image margins, top positions are </span></div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> <span class="comment"> * changed to low positions and vice versa. Right positions are </span></div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> <span class="comment"> * changed to left positions and vice versa.</span></div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> </div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> <span class="keywordflow">if</span> ( i >= 0 && i < lx ) <span class="comment">/* bottom line */</span></div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> {</div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> position[4] += 2 * lx ;</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> position[5] += 2 * lx ;</div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> position[6] += 2 * lx ;</div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> }</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( i >= ((<span class="keywordtype">int</span>) lx*ly - lx ) && i < (<span class="keywordtype">int</span>) lx*ly ) <span class="comment">/* top line */</span></div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> {</div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> position[0] -= 2 * lx ;</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> position[1] -= 2 * lx ;</div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> position[2] -= 2 * lx ;</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> }</div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( i % lx == 0 ) <span class="comment">/* left side */</span></div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> {</div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> position[0] += 2 ;</div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> position[6] += 2 ;</div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> position[7] += 2 ;</div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> }</div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( i % lx == lx - 1 ) <span class="comment">/* right side */</span></div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> {</div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> position[2] -= 2 ;</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> position[3] -= 2 ;</div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> position[4] -= 2 ;</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> }</div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> </div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> <span class="comment">/* ------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> <span class="comment"> * read the pixel values of the neighboring pixels,</span></div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> <span class="comment"> * blanks are not considered</span></div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> </div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> nposition = 8 ;</div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> n = 0 ;</div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> <span class="keywordflow">for</span> ( j = 0 ; j < nposition ; j ++ )</div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> {</div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> <span class="keywordflow">if</span> ( !isnan(pidata[position[j]]) )</div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> {</div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> value[n] = pidata[position[j]] ;</div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> n ++ ;</div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> }</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> }</div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> nposition = n ;</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> </div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> <span class="keywordflow">if</span> ( nposition <= 1 ) <span class="comment">/* almost all neighbors are blank */</span></div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> {</div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> podata[i] = ZERO ;</div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> cpl_free(value) ;</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> cpl_free(position) ;</div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> cpl_free(stats) ;</div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> continue ;</div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> }</div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> </div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> <span class="comment">/* sort the values and determine the median */</span></div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> </div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> sinfo_pixel_qsort( value, nposition ) ;</div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> <span class="keywordflow">if</span> ( nposition % 2 == 1 )</div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> {</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> median = value [ nposition/2 ] ;</div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> }</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> {</div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> median = ( value [nposition/2 - 1] + value [nposition/2] ) / 2. ;</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> }</div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> </div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> <span class="comment">/* -----------------------------------------------------------------</span></div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> <span class="comment"> * replace the pixel value by the median on conditions:</span></div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> <span class="comment"> * fmedian = 0: always replace with median.</span></div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> <span class="comment"> * fmedian > 0: replace by median (fmedian as a factor of</span></div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> <span class="comment"> * the square root of the median itself)</span></div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> <span class="comment"> * if |pixel - median| >= fmedian * sqrt ( median )</span></div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> <span class="comment"> * considers a dependence on the pixel value.</span></div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> <span class="comment"> * This can be used to consider photon noise.</span></div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> </div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> <span class="keywordflow">if</span> ( fmedian == 0 )</div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> {</div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> podata[i] = median ;</div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> }</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( fmedian < 0 &&</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> fabs ( median - pidata[i] ) >= -fmedian * stats->cleanstdev)</div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> {</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> podata[i] = median ;</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> }</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( fmedian > 0 &&</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> fabs ( median - pidata[i] ) >= fmedian * sqrt(fabs(median)) )</div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> {</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> podata[i] = median ;</div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> }</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> {</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> cpl_free (value) ;</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> cpl_free (position) ;</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> cpl_free (stats) ;</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> continue ;</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> }</div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> </div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> cpl_free (value) ;</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> cpl_free (position) ;</div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> cpl_free (stats) ;</div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> }</div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> <span class="keywordflow">return</span> image ;</div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> }</div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> </div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> </div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> </div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> <span class="comment"> Function: sinfo_new_mean_image_in_spec()</span></div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> <span class="comment"> In : image, a threshold parameter</span></div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> <span class="comment"> Out : resulting image</span></div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> <span class="comment"> Job : mean filter, calculates the mean for an image</span></div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> <span class="comment"> by using the 4 closest pixels of every pixel in spectral </span></div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> <span class="comment"> direction (column).</span></div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> <span class="comment"> The values in the output image are determined according</span></div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> <span class="comment"> to the values of the input parameter.</span></div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> <span class="comment"> If fmedian = 0: always replace by mean</span></div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> <span class="comment"> if fmedian < 0: replace by mean if |pixel - mean| ></span></div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> <span class="comment"> -fmedian</span></div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> <span class="comment"> if fmedian > 0: replace by mean (fmedian as a factor of</span></div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> <span class="comment"> the square root of the mean itself)</span></div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> <span class="comment"> if |pixel - mean| >= fmedian * sqrt ( mean )</span></div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> <span class="comment"> This can be used to consider photon noise.</span></div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> <span class="comment"> This considers a dependence of the differences on the</span></div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> <span class="comment"> pixel values themselves.</span></div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> <span class="comment"> Notice : it is assumed that most of the 4 nearest neighbor pixels</span></div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> <span class="comment"> are not bad pixels!</span></div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> <span class="comment"> blank pixels are not replaced!</span></div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> </div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> cpl_image * sinfo_new_mean_image_in_spec( cpl_image * im, <span class="keywordtype">float</span> fmedian )</div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> {</div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> cpl_image * image ;</div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> pixelvalue * value ;</div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> pixelvalue mean ;</div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> <span class="keywordtype">int</span> * position ;</div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> <span class="keywordtype">int</span> nposition ;</div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> <span class="keywordtype">int</span> n, i, j ;</div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> <span class="keywordtype">int</span> lx=0;</div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> <span class="keywordtype">int</span> ly=0;</div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> </div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> <span class="keywordflow">if</span> ( im == NULL )</div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> {</div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no image input"</span>) ;</div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> }</div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> </div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> image = cpl_image_duplicate ( im ) ;</div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> lx=cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> ly=cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> pidata=cpl_image_get_data(im);</div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> podata=cpl_image_get_data(image);</div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> </div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> <span class="comment">/*----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> <span class="comment"> * go through all pixels</span></div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> </div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) lx*ly ; i++ )</div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> {</div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> <span class="comment">/* blank pixels are not replaced */</span></div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> <span class="keywordflow">if</span> ( isnan(pidata[i]) )</div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> {</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> continue ;</div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> }</div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> </div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> <span class="comment">/* initialize the buffer variables for the 2 nearest </span></div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> <span class="comment"> spectral neighbors */</span></div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> value = (pixelvalue * )cpl_calloc ( 4, <span class="keyword">sizeof</span> ( pixelvalue * ) ) ;</div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> position = ( <span class="keywordtype">int</span> * ) cpl_calloc ( 4, <span class="keyword">sizeof</span> ( <span class="keywordtype">int</span> * ) ) ;</div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> </div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> <span class="comment">/*--------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> <span class="comment"> * determine the pixel position of the 8 nearest neighbors</span></div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> </div>
-<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> position[0] = i + lx ; <span class="comment">/* upper */</span></div>
-<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span> position[1] = i + 2*lx ; <span class="comment">/* upper */</span></div>
-<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> position[2] = i - lx ; <span class="comment">/* lower */</span></div>
-<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> position[3] = i - 2*lx ; <span class="comment">/* lower */</span></div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> </div>
-<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> <span class="comment">/*-------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> <span class="comment"> * determine the positions of the image margins, top positions are </span></div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> <span class="comment"> * changed to low positions and vice versa. Right positions are changed</span></div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> <span class="comment"> * to left positions and vice versa.</span></div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> </div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> <span class="keywordflow">if</span> ( i >= 0 && i < lx ) <span class="comment">/* bottom line */</span></div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> {</div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> position[2] += 2 * lx ;</div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> position[3] += 4 * lx ;</div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> }</div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( i >= ((<span class="keywordtype">int</span>) lx*ly - lx ) && i < (<span class="keywordtype">int</span>) lx*ly ) <span class="comment">/* top line */</span></div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> {</div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> position[0] -= 2 * lx ;</div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> position[1] -= 4 * lx ;</div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> }</div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> </div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> <span class="comment">/* -------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> <span class="comment"> * read the pixel values of the neighboring pixels,</span></div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> <span class="comment"> * blanks are not considered</span></div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> </div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> nposition = 4 ;</div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> n = 0 ;</div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> <span class="keywordflow">for</span> ( j = 0 ; j < nposition ; j ++ )</div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> {</div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> <span class="keywordflow">if</span> ( !isnan(pidata[position[j]]) )</div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> {</div>
-<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> value[n] = pidata[position[j]] ;</div>
-<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> n ++ ;</div>
-<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> }</div>
-<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> }</div>
-<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> nposition = n ;</div>
-<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> </div>
-<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> <span class="keywordflow">if</span> ( nposition < 1 ) <span class="comment">/* all neighbors are blank */</span></div>
-<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> {</div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> podata[i] = ZERO ;</div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> cpl_free(value) ;</div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> cpl_free(position) ;</div>
-<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> continue ;</div>
-<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> }</div>
-<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> </div>
-<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> <span class="comment">/* determine the mean */</span></div>
-<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> mean = 0. ;</div>
-<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span> <span class="keywordflow">for</span> ( n = 0 ; n < nposition ; n++ )</div>
-<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span> {</div>
-<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> mean += value[n] ;</div>
-<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> }</div>
-<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> mean /= (float) nposition ;</div>
-<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> </div>
-<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> <span class="comment">/* -----------------------------------------------------------------</span></div>
-<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span> <span class="comment"> * replace the pixel value by the median on conditions:</span></div>
-<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> <span class="comment"> * fmedian = 0:","always replace with mean.</span></div>
-<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span> <span class="comment"> * fmedian < 0: interpret as absolute condition:</span></div>
-<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> <span class="comment"> * if |pixel - mean| > -fmedian</span></div>
-<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> <span class="comment"> * replace with mean.</span></div>
-<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> </div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> <span class="keywordflow">if</span> ( fmedian == 0 )</div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> {</div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> podata[i] = mean ;</div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> }</div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( fmedian < 0 &&</div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> fabs ( mean - pidata[i] ) >= -fmedian )</div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> {</div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> podata[i] = mean ;</div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> }</div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( fmedian > 0 &&</div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> fabs ( mean - pidata[i] ) >= fmedian * sqrt(fabs(mean)) )</div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> {</div>
-<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> podata[i] = mean ;</div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> }</div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> {</div>
-<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> cpl_free (value) ;</div>
-<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> cpl_free (position) ;</div>
-<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> continue ;</div>
-<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span> }</div>
-<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> </div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> cpl_free (value) ;</div>
-<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> cpl_free (position) ;</div>
-<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> }</div>
-<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> <span class="keywordflow">return</span> image ;</div>
-<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> }</div>
-<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> </div>
-<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> </div>
-<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> </div>
-<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span> </div>
-<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> </div>
-<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__detlin_8h_source.html b/html/sinfo__detlin_8h_source.html
deleted file mode 100644
index e35ed54..0000000
--- a/html/sinfo__detlin_8h_source.html
+++ /dev/null
@@ -1,164 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_detlin.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_detlin.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_DETLIN_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_DETLIN_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">/*******************************************************************************</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">* "@(#) $Id: sinfo_detlin.h,v 1.5 2007/06/06 07:10:45 amodigli Exp $"</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">* amodigli 04/01/06 created</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * sinfo_detlin.h</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> * detector linearity routines</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> * to search for static bad pixels</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_image_ops.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> * Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> cpl_imagelist * </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> sinfo_new_fit_intensity_course(cpl_imagelist * flatStack,</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">int</span> order,</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">float</span> loReject,</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">float</span> hiReject ) ;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> cpl_image * </div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> sinfo_new_search_bad_pixels(cpl_imagelist * coeffs,</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">double</span> threshSigmaFactor,</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">double</span> nonlinearThresh,</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordtype">float</span> loReject,</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">float</span> hiReject ) ;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> cpl_image * </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> sinfo_new_search_bad_pixels_via_noise( cpl_imagelist * darks,</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">float</span> threshSigmaFactor,</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">float</span> loReject,</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">float</span> hiReject ) ;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment"> @name sinfo_new_count_bad_pixels()</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment"> @memo this routine counts the number of bad pixels</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment"> @param bad bad pixel mask</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment"> @return number of bad pixels.</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> sinfo_new_count_bad_pixels ( cpl_image * bad ) ;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment"> @name sinfo_new_abs_dist_image()</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment"> @param image, a threshold parameter</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment"> @result resulting image</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment"> @doc filter, calculates the absolute distances of the nearest neighbors </span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment"> for an image by using the 8 closest pixels of every pixel.</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment"> The values in the output image are determined according</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment"> to the values of the input parameter.</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment"> If fmedian = 0: always replace by abs. distances</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment"> if fmedian < 0: replace by abs. distances if |median_dist - dist| ></span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment"> -fmedian</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment"> if fmedian > 0: replace by abs. distances (fmedian as a factor of</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment"> the square root of the distance itself)</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment"> if |median_dist - dist| >= fmedian * sqrt ( dist )</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment"> This can be used to consider photon noise.</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment"> This considers a dependence of the differences on the</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment"> pixel values themselves.</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment"> @note it is assumed that most of the 8 nearest neighbor pixels</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment"> are not bad pixels! blank pixels are not replaced!</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> cpl_image * </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> sinfo_new_abs_dist_image(cpl_image * im, <span class="keywordtype">float</span> fmedian ) ;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> cpl_image * </div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> sinfo_new_mean_image_in_spec(cpl_image * im, <span class="keywordtype">float</span> fmedian ) ;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> cpl_image * </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> sinfo_new_local_median_image(cpl_image * im,</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keywordtype">float</span> fmedian,</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keywordtype">float</span> loReject,</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keywordtype">float</span> hiReject,</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keywordtype">int</span> half_box_size ) ;</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="preprocessor">#endif </span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__detlin__cfg_8c_source.html b/html/sinfo__detlin__cfg_8c_source.html
deleted file mode 100644
index 4a40f21..0000000
--- a/html/sinfo__detlin__cfg_8c_source.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_detlin_cfg.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_detlin_cfg.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_detlin_cfg.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Autor : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : April 2002</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : handles the data structure detlin_config</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "sinfo_detlin_cfg.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> detlin_config * </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> sinfo_detlin_cfg_create(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> {</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordflow">return</span> cpl_calloc(1, <span class="keyword">sizeof</span>(detlin_config));</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> }</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordtype">void</span> sinfo_detlin_cfg_destroy(detlin_config * sc)</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> {</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordflow">if</span> (sc==NULL) return ;</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">/* cpl_free(sc->framelist) ; */</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">/* Free main struct */</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> cpl_free(sc);</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> return ;</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> }</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__detlin__cfg_8h_source.html b/html/sinfo__detlin__cfg_8h_source.html
deleted file mode 100644
index 472385f..0000000
--- a/html/sinfo__detlin__cfg_8h_source.html
+++ /dev/null
@@ -1,134 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_detlin_cfg.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_detlin_cfg.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_detlin_cfg.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : April 2002</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : sinfo_detlin_ini definitions + handling prototypes</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifndef SINFO_DETLIN_CFG_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_DETLIN_CFG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <stdlib.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> New types</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> bad pixels search blackboard container</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> This structure holds all information related to the bad pixels search</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> routine. It is used as a container for the flux of ancillary data,</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> computed values, and algorithm status. Pixel flux is separated from</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> the blackboard.</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>detlin_config {</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*-------General---------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">char</span> inFile[FILE_NAME_SZ] ; <span class="comment">/* file name of the file containing </span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> the list of all input frames */</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">char</span> outName[FILE_NAME_SZ] ; <span class="comment">/* output name of resulting bad pixel </span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> mask (fits file)*/</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">char</span> ** framelist ; <span class="comment">/* list of frames */</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">int</span> nframes ; <span class="comment">/* number of frames in frame list */</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">/*------ Response------*/</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">/* order of the fit polynomial */</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordtype">int</span> order ; </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/* factor to the standard deviation of the zero and slope polynomial </span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> coefficient. if the deviation exceeds the resulting value the </span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> corresponding pixel is declared as bad */</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">double</span> threshSigmaFactor ; </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">/*if a non-linear coefficient exceeds this value the corresponding </span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> pixel is declared as bad*/</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keywordtype">double</span> nonlinearThresh ; </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">/* percentage of rejected low intensity pixels before determining</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> image statistics (mean and standard deviation)*/</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">float</span> loReject ;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">/* percentage of rejected high intensity pixels before determining</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> image statistics (mean and standard deviation) */</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">float</span> hiReject ;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">/*name of the data cube storing the found polynomial coefficients*/</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">char</span> coeffsCubeName[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> } detlin_config ;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> Function prototypes</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> detlin_config * </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> sinfo_detlin_cfg_create(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> sinfo_detlin_cfg_destroy(detlin_config * sc);</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__detlin__ini_8h_source.html b/html/sinfo__detlin__ini_8h_source.html
deleted file mode 100644
index 3b6e28e..0000000
--- a/html/sinfo__detlin__ini_8h_source.html
+++ /dev/null
@@ -1,95 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_detlin_ini.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_detlin_ini.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_detlin_ini.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : April 19, 2002</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : prepare handling of .ini file for the search for static </span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> bad pixels</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifndef SINFO_DETLIN_INI_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_DETLIN_INI_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_detlin_cfg.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> generateDetlin_ini_file(</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">char</span> * ini_name,</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">char</span> * name_i,</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">char</span> * name_o</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> );</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> detlin_config * </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> parse_detlin_ini_file(<span class="keywordtype">char</span> * ini_name) ;</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__detlin__ini__by__cpl_8c_source.html b/html/sinfo__detlin__ini__by__cpl_8c_source.html
deleted file mode 100644
index 1dc6957..0000000
--- a/html/sinfo__detlin__ini__by__cpl_8c_source.html
+++ /dev/null
@@ -1,265 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_detlin_ini_by_cpl.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_detlin_ini_by_cpl.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_detlin_ini_by_cpl.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : May 17, 2004</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : produce and read an .ini file for the search of static</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> bad pixels</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_detlin_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_hidden.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_raw_types.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_file_handling.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> Functions private to this module</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> parse_section_frames(detlin_config *, </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> cpl_frameset* sof, cpl_frameset** raw,<span class="keywordtype">int</span>* status);</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> parse_section_response(detlin_config *, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> detlin_config * </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> sinfo_parse_cpl_input_detlin(cpl_parameterlist * cpl_cfg, cpl_frameset* sof, </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> cpl_frameset** raw)</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> {</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> detlin_config * cfg ;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">int</span> status ;</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">/* check on input ini file removed */</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/* loading input ini file removed */</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> cfg = sinfo_detlin_cfg_create();</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> * Perform sanity checks, fill up the structure with what was</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> * found in the ini file</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> status = 0 ;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> parse_section_response(cfg, cpl_cfg);</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> parse_section_frames(cfg, sof, raw, &status);</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordflow">if</span> (status > 0) {</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"parsing cpl input"</span>);</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> sinfo_detlin_free(&cfg);</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> cfg = NULL ;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> }</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordflow">return</span> cfg ;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> }</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> parse_section_frames(detlin_config * cfg,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> cpl_frameset * sof,</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> cpl_frameset** raw,</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">int</span>* status)</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> {</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordtype">char</span>* tag=NULL;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">int</span> nraw = 0;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">int</span> nraw_good = 0;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> cpl_frame* frame=NULL;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">char</span> spat_res[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">char</span> lamp_status[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordtype">char</span> band[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordtype">int</span> ins_set=0;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> sinfo_extract_raw_frames_type(sof,raw,RAW_LINEARITY_LAMP);</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> nraw=cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordflow">if</span> (nraw < 1) {</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"Too few (%d) raw frames (%s) present in"</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="stringliteral">"frameset!Aborting..."</span>,nraw, RAW_LINEARITY_LAMP);</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> (*status)++;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> }</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment">/* get "general:infile" read it, check input sinfo_matrix */</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment">/* Allocate structures to go into the blackboard */</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> cfg->framelist = cpl_malloc(nraw * <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>*)); </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment">/* read input frames */</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordflow">for</span> (i=0 ; i<nraw ; i++) {</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment">/* cfg->framelist[i] = cpl_malloc(FILE_NAME_SZ * sizeof(char)); */</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> frame = cpl_frameset_get_frame(*raw,i);</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordflow">if</span>(sinfo_file_exists((<span class="keywordtype">char</span>*)cpl_frame_get_filename(frame))==1) </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> {</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> tag = (<span class="keywordtype">char</span>*)cpl_frame_get_tag(frame) ;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keywordflow">if</span>(sinfo_is_flat_lindet(tag) || sinfo_is_dark(tag)) {</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment">/* Store file name into framelist */</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> cfg->framelist[i]=cpl_strdup(cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> nraw_good++;</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> }</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> }</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> }</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment">/* Copy relevant information into the blackboard */</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> cfg->nframes = nraw_good ;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordflow">if</span> (nraw_good < (cfg->order+1)) {</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"Too few (%d) raw frames (%s) present in"</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="stringliteral">"frameset as we do a %d order polymnomial fit"</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="stringliteral">"!Aborting..."</span>,nraw_good, </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> RAW_LINEARITY_LAMP,cfg->order);</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> (*status)++;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> }</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> strcpy(cfg -> outName, BP_LIN_OUT_FILENAME);</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> check_nomsg(frame = cpl_frameset_get_frame(*raw,0));</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> sinfo_get_spatial_res(frame,spat_res);</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordflow">switch</span>(sinfo_frame_is_on(frame)) </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> {</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keywordflow">case</span> 0: </div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> strcpy(lamp_status,<span class="stringliteral">"on"</span>);</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">case</span> 1: </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> strcpy(lamp_status,<span class="stringliteral">"off"</span>);</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">case</span> -1:</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">default</span>: </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> }</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> sinfo_get_band(frame,band);</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> sinfo_msg(<span class="stringliteral">"Spatial resolution: %s lamp status: %s band: %s \n"</span>,</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> spat_res, lamp_status, band);</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> sinfo_get_ins_set(band,&ins_set);</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> cleanup:</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> }</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> parse_section_response(detlin_config * cfg,cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> {</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> cpl_parameter *p; </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_lin.order"</span>);</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> cfg -> order = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> p = cpl_parameterlist_find(cpl_cfg,<span class="stringliteral">"sinfoni.bp_lin.thresh_sigma_factor"</span>);</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> cfg->threshSigmaFactor = (float) cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_lin.low_rejection"</span>);</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> cfg -> loReject = (float) cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_lin.high_rejection"</span>);</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> cfg -> hiReject = (float) cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> p = cpl_parameterlist_find(cpl_cfg,<span class="stringliteral">"sinfoni.bp_lin.nlin_threshold"</span>);</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> cfg->nonlinearThresh = (float) cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="comment">/* name of the data cube storing the found polynomial coefficients */</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> strcpy(cfg->coeffsCubeName, BP_LIN_COEFFS_CUBE_OUT_FILENAME);</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> return ;</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> }</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> sinfo_detlin_free(detlin_config ** cfg)</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> { </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="keywordflow">if</span>(*cfg!=NULL) {</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="keywordflow">for</span>(i=0;i<(*cfg)->nframes; i++) {</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordflow">if</span>((*cfg)->framelist[i] != NULL) cpl_free((*cfg)->framelist[i]);</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> }</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> cpl_free((*cfg)->framelist);</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> sinfo_detlin_cfg_destroy((*cfg));</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> *cfg = NULL;</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> }</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__detlin__ini__by__cpl_8h_source.html b/html/sinfo__detlin__ini__by__cpl_8h_source.html
deleted file mode 100644
index dce6447..0000000
--- a/html/sinfo__detlin__ini__by__cpl_8h_source.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_detlin_ini_by_cpl.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_detlin_ini_by_cpl.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_detlin_ini_by_cpl.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : May 17, 2004</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : prepare handling of .ini file for the search for static </span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> bad pixels</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifndef SINFO_DETLIN_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_DETLIN_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_detlin_cfg.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> detlin_config * </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> sinfo_parse_cpl_input_detlin(cpl_parameterlist * cpl_cfg, </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> cpl_frameset** raw);</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> sinfo_detlin_free(detlin_config ** cfg);</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__detnoise__cfg_8c_source.html b/html/sinfo__detnoise__cfg_8c_source.html
deleted file mode 100644
index 462dc58..0000000
--- a/html/sinfo__detnoise__cfg_8c_source.html
+++ /dev/null
@@ -1,100 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_detnoise_cfg.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_detnoise_cfg.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_detnoise_cfg.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Autor : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : September 2002</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : handles the data structure detnoise_config</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_detnoise_cfg.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> detnoise_config * </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> sinfo_detnoise_cfg_create(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> {</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordflow">return</span> cpl_calloc(1, <span class="keyword">sizeof</span>(detnoise_config));</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> }</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> sinfo_detnoise_cfg_destroy(detnoise_config * sc)</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> {</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordflow">if</span> (sc==NULL) return ;</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">/* Free main struct */</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> cpl_free(sc);</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> return ;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> }</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__detnoise__cfg_8h_source.html b/html/sinfo__detnoise__cfg_8h_source.html
deleted file mode 100644
index bf8cbc7..0000000
--- a/html/sinfo__detnoise__cfg_8h_source.html
+++ /dev/null
@@ -1,123 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_detnoise_cfg.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_detnoise_cfg.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_detnoise_cfg.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : September 2002</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : sinfo_detnoise_ini definitions + handling prototypes</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifndef SINFO_DETNOISE_CFG_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_DETNOISE_CFG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <stdlib.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> New types</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> bad pixels search blackboard container</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> This structure holds all information related to the bad pixels search</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> routine. It is used as a container for the flux of ancillary data,</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> computed values, and algorithm status. Pixel flux is separated from</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> the blackboard.</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>detnoise_config {</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*-------General---------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">char</span> inFile[FILE_NAME_SZ] ; <span class="comment">/* file name of the file containing </span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> the list of all input frames */</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">char</span> outName[FILE_NAME_SZ] ; <span class="comment">/* output name of resulting bad </span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> pixel mask (fits file)*/</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">char</span> ** framelist ; <span class="comment">/* list of frames */</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">int</span> nframes ; <span class="comment">/* number of frames in frame list */</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">/*------searchBad------*/</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">/* factor to the standard deviation of the mean standard deviation. */</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordtype">double</span> threshSigmaFactor ; </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/* percentage of rejected low intensity pixels before determining</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> image statistics (mean and standard deviation)*/</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">float</span> loReject ;</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">/* percentage of rejected high intensity pixels before determining</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> image statistics (mean and standard deviation) */</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">float</span> hiReject ;</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> } detnoise_config ;</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> Function prototypes</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> detnoise_config * </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> sinfo_detnoise_cfg_create(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> sinfo_detnoise_cfg_destroy(detnoise_config * sc);</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__detnoise__ini_8h_source.html b/html/sinfo__detnoise__ini_8h_source.html
deleted file mode 100644
index 46315a6..0000000
--- a/html/sinfo__detnoise__ini_8h_source.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_detnoise_ini.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_detnoise_ini.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_detnoise_ini.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : September 3, 2002</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : prepare handling of .ini file for the search for static </span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> bad pixels</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifndef SINFO_DETNOISE_INI_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_DETNOISE_INI_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_detnoise_cfg.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> generateDetnoise_ini_file(</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">char</span> * ini_name,</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">char</span> * name_i,</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">char</span> * name_o</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> );</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> detnoise_config * </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> parse_detnoise_ini_file(<span class="keywordtype">char</span> * ini_name) ;</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__detnoise__ini__by__cpl_8c_source.html b/html/sinfo__detnoise__ini__by__cpl_8c_source.html
deleted file mode 100644
index 85b7651..0000000
--- a/html/sinfo__detnoise__ini__by__cpl_8c_source.html
+++ /dev/null
@@ -1,230 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_detnoise_ini_by_cpl.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_detnoise_ini_by_cpl.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_detnoise_ini.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Andrea Modiglini</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : May 17, 2004</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : produce and read an .ini file for the search of static</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> bad pixels</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_detnoise_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_raw_types.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_hidden.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> Functions private to this module</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> parse_section_frames(detnoise_config * cfg, </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> cpl_frameset** raw, </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keywordtype">int</span>* status);</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> parse_section_badsearch(detnoise_config * cfg, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">/****************************************************************************/</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> detnoise_config * </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> sinfo_parse_cpl_input_detnoise(cpl_parameterlist * cpl_cfg, </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> cpl_frameset** raw)</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> {</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> detnoise_config * cfg ;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">int</span> status=0;</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">/* Removed check on ini_file */</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/* Removed load of ini file */</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> cfg = sinfo_detnoise_cfg_create();</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> * Perform sanity checks, fill up the structure with what was</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> * found in the ini file</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> parse_section_badsearch(cfg, cpl_cfg);</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> parse_section_frames(cfg, sof, raw, &status);</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordflow">if</span> (status > 0) {</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"parsing cpl input"</span>);</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> sinfo_detnoise_free(cfg);</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> cfg = NULL ;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> }</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordflow">return</span> cfg ;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> }</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> parse_section_frames(detnoise_config * cfg,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> cpl_frameset * sof,</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> cpl_frameset** raw,</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">int</span>* status)</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> {</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordtype">int</span> nraw = 0;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> cpl_frame* frame=NULL;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">char</span> spat_res[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">char</span> lamp_status[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">char</span> band[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordtype">int</span> ins_set=0;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> sinfo_extract_raw_frames_type2(sof,raw,RAW_DARK);</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> nraw = cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordflow">if</span> (nraw < 1) {</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Too few (%d) raw frames (%s) present in"</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="stringliteral">"frameset!Aborting..."</span>,nraw,RAW_DARK);</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> (*status)++;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> }</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment">/* get "general:infile" read it, check input sinfo_matrix */</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment">/* Allocate structures to go into the blackboard */</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment">/* Copy relevant information into the blackboard */</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> cfg->nframes = nraw ;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> cfg->framelist = cpl_malloc(nraw*<span class="keyword">sizeof</span>(<span class="keywordtype">char</span>*)); </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment">/* read input frames */</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordflow">for</span> (i=0 ; i<nraw ; i++) {</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> frame = cpl_frameset_get_frame(*raw,i);</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment">/* Store file name into framelist */</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> cfg->framelist[i]=cpl_strdup(cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> }</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> strcpy(cfg -> outName, BP_NOISE_OUT_FILENAME);</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> frame = cpl_frameset_get_frame(*raw,0);</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> sinfo_get_spatial_res(frame,spat_res);</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keywordflow">switch</span>(sinfo_frame_is_on(frame)) </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> {</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">case</span> 0: </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> strcpy(lamp_status,<span class="stringliteral">"on"</span>);</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordflow">case</span> 1: </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> strcpy(lamp_status,<span class="stringliteral">"off"</span>);</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordflow">case</span> -1:</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keywordflow">default</span>: </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> }</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> sinfo_get_band(frame,band);</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> sinfo_msg(<span class="stringliteral">"Spatial resolution: %s lamp status: %s band: %s \n"</span>,</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> spat_res, lamp_status, band);</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> sinfo_get_ins_set(band,&ins_set);</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> }</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> parse_section_badsearch(detnoise_config * cfg,cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> { </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> cpl_parameter *p; </div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_noise.low_rejection"</span>);</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> cfg -> loReject = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.bp_noise.high_rejection"</span>);</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> cfg -> hiReject = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> p = cpl_parameterlist_find(cpl_cfg,<span class="stringliteral">"sinfoni.bp_noise.thresh_sigma_factor"</span>);</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> cfg->threshSigmaFactor = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> }</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> sinfo_detnoise_free(detnoise_config * cfg)</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> {</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="keywordflow">if</span>(cfg != NULL) {</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keywordflow">for</span>(i=0;i<cfg->nframes;i++){</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keywordflow">if</span>(cfg->framelist[i] != NULL) cpl_free(cfg->framelist[i]);</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> }</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordflow">if</span>(cfg->framelist) {</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keywordflow">if</span>(cfg->framelist != NULL) cpl_free(cfg->framelist);</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> }</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> sinfo_detnoise_cfg_destroy(cfg);</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> }</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__detnoise__ini__by__cpl_8h_source.html b/html/sinfo__detnoise__ini__by__cpl_8h_source.html
deleted file mode 100644
index 3abeb68..0000000
--- a/html/sinfo__detnoise__ini__by__cpl_8h_source.html
+++ /dev/null
@@ -1,97 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_detnoise_ini_by_cpl.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_detnoise_ini_by_cpl.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_detnoise_ini.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : September 3, 2002</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : prepare handling of .ini file for the search for static </span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> bad pixels</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifndef SINFO_DETNOISE_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_DETNOISE_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_detnoise_cfg.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_msg.h"</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> detnoise_config * </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> sinfo_parse_cpl_input_detnoise(cpl_parameterlist * cpl_cfg, </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> cpl_frameset** raw);</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> sinfo_detnoise_free(detnoise_config * cfg);</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__dfs_8c_source.html b/html/sinfo__dfs_8c_source.html
deleted file mode 100644
index 8ad586d..0000000
--- a/html/sinfo__dfs_8c_source.html
+++ /dev/null
@@ -1,4251 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_dfs.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_dfs.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_dfs.c,v 1.44 2013/09/17 08:11:22 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2013/09/17 08:11:22 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.44 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Macros</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> Private to this module</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_dfs.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include "sinfo_utilities.h"</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#include "sinfo_pro_save.h"</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include "sinfo_skycor.h"</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include "sinfo_file_handling.h"</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include <unistd.h></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">/* defines */</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#define FITS_MAGIC_SZ 6</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_FIT_AMOEBA_NMAX 5000</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">/* function prototypes */</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> static int</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> sinfo_stat_rectangle(cpl_image* img,</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> const int kappa,</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> const int nclip,</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> double *mean,</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> double *stdev);</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> sinfo_fit_amoeba_get_psum(<span class="keywordtype">int</span> ndim, <span class="keywordtype">int</span> mpts, <span class="keywordtype">double</span>** p, <span class="keywordtype">double</span>* psum);</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> sinfo_fit_amotry(<span class="keywordtype">double</span>** p,</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">double</span> y[],</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">double</span> psum[],</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">int</span> ndim,</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordtype">double</span> (*funk)(<span class="keywordtype">double</span>[]),</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">int</span> ihi,</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">double</span> fac);</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> get_chisq(<span class="keywordtype">int</span> N, <span class="keywordtype">int</span> D,</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">int</span> (*f)(<span class="keyword">const</span> <span class="keywordtype">double</span> x[], <span class="keyword">const</span> <span class="keywordtype">double</span> a[], <span class="keywordtype">double</span> *result),</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keyword">const</span> <span class="keywordtype">double</span> *a,</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keyword">const</span> <span class="keywordtype">double</span> *x,</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">const</span> <span class="keywordtype">double</span> *y,</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keyword">const</span> <span class="keywordtype">double</span> *sigma);</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keyword">static</span> <span class="keywordtype">int</span> get_candidate(<span class="keyword">const</span> <span class="keywordtype">double</span> *a, <span class="keyword">const</span> <span class="keywordtype">int</span> ia[],</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">int</span> M, <span class="keywordtype">int</span> N, <span class="keywordtype">int</span> D,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">double</span> lambda,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">int</span> (*f)(<span class="keyword">const</span> <span class="keywordtype">double</span> x[], <span class="keyword">const</span> <span class="keywordtype">double</span> a[],</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">double</span> *result),</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordtype">int</span> (*dfda)(<span class="keyword">const</span> <span class="keywordtype">double</span> x[], <span class="keyword">const</span> <span class="keywordtype">double</span> a[],</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">double</span> result[]),</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keyword">const</span> <span class="keywordtype">double</span> *x,</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keyword">const</span> <span class="keywordtype">double</span> *y,</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keyword">const</span> <span class="keywordtype">double</span> *sigma,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keywordtype">double</span> *partials,</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> cpl_matrix *alpha,</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> cpl_matrix *beta,</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">double</span> *a_da);</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> sinfo_frame_is_raw_dark(<span class="keywordtype">char</span> * tag);</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> cpl_frameset *</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> sinfo_frameset_extract(<span class="keyword">const</span> cpl_frameset *frames,</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *tag)</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> {</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> cpl_frameset *subset = NULL;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keyword">const</span> cpl_frame *f;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> assure( frames != NULL, CPL_ERROR_ILLEGAL_INPUT, <span class="stringliteral">"Null frameset"</span> );</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> assure( tag != NULL, CPL_ERROR_ILLEGAL_INPUT, <span class="stringliteral">"Null tag"</span> );</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> subset = cpl_frameset_new();</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordflow">for</span> (f = cpl_frameset_find_const(frames, tag);</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> f != NULL;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> f = cpl_frameset_find_const(frames, NULL)) {</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> cpl_frameset_insert(subset, cpl_frame_duplicate(f));</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> }</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> cleanup:</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">return</span> subset;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> }</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordtype">int</span> sinfo_print_rec_status(<span class="keyword">const</span> <span class="keywordtype">int</span> val) {</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Recipe status at %d"</span>,val);</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"%s"</span>,(<span class="keyword">const</span> <span class="keywordtype">char</span>*) cpl_error_get_message());</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"%s"</span>,(<span class="keyword">const</span> <span class="keywordtype">char</span>*) cpl_error_get_where());</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> }</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> }</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> cpl_vector*</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> sinfo_vector_clip(<span class="keyword">const</span> cpl_vector* vinp,</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keyword">const</span> <span class="keywordtype">double</span> kappa,</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keyword">const</span> <span class="keywordtype">int</span> n,</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keyword">const</span> <span class="keywordtype">int</span> method)</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> {</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> cpl_vector* vout=NULL;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> cpl_vector* vtmp=NULL;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keywordtype">int</span> size=0;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keyword">register</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keywordtype">double</span> mean=0;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keywordtype">double</span> median=0;</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordtype">double</span> stdev=0;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keywordtype">double</span>* pt=NULL;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keywordtype">double</span>* po=NULL;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> cknull(vinp,<span class="stringliteral">"Null input vector"</span>);</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> check_nomsg(vout=cpl_vector_duplicate(vinp));</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> check_nomsg(mean=cpl_vector_get_mean(vout));</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> check_nomsg(median=cpl_vector_get_median_const(vout));</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> check_nomsg(stdev=cpl_vector_get_stdev(vout));</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> check_nomsg(pt=cpl_vector_get_data(vtmp));</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keywordflow">if</span>(method == 0) {</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="comment"> are rejected</span></div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="comment"> values ||val-mean|| > kappa*sigma</span></div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keywordflow">for</span>(j=0;j<n;j++) {</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> check_nomsg(cpl_vector_sort(vout,1)); <span class="comment">/* sort by increasing data */</span></div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> check_nomsg(po=cpl_vector_get_data(vout));</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordflow">if</span>( (size > 1) && (fabs(po[size-1]-mean) > kappa*stdev)) {</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> size--;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> check_nomsg(vtmp=cpl_vector_new(size));</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> check_nomsg(pt=cpl_vector_get_data(vtmp));</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordflow">for</span>(i=0;i<size;i++) {</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> pt[i]=po[i];</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> }</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> check_nomsg(cpl_vector_delete(vout));</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> check_nomsg(vout=cpl_vector_duplicate(vtmp));</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> check_nomsg(cpl_vector_delete(vtmp));</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> check_nomsg(mean=cpl_vector_get_mean(vout));</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> check_nomsg(stdev=cpl_vector_get_stdev(vout));</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> }</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> }</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="comment"> are rejected</span></div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="comment"> values ||val-median|| > kappa*sigma</span></div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordflow">for</span>(j=0;j<n;j++) {</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> check_nomsg(cpl_vector_sort(vout,1)); <span class="comment">/* sort by increasing data */</span></div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> check_nomsg(po=cpl_vector_get_data(vout));</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keywordflow">if</span>( (size > 1) && (fabs(po[size-1]-median) > kappa*stdev)) {</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> size--;</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> check_nomsg(vtmp=cpl_vector_new(size));</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> check_nomsg(pt=cpl_vector_get_data(vtmp));</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keywordflow">for</span>(i=0;i<size;i++) {</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> pt[i]=po[i];</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> }</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> check_nomsg(cpl_vector_delete(vout));</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> check_nomsg(vout=cpl_vector_duplicate(vtmp));</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> check_nomsg(cpl_vector_delete(vtmp));</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> check_nomsg(median=cpl_vector_get_median_const(vout));</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> check_nomsg(stdev=cpl_vector_get_stdev(vout));</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> }</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> }</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> }</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="keywordflow">return</span> vout;</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> cleanup:</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> }</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> </div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> get_candidate(<span class="keyword">const</span> <span class="keywordtype">double</span> *a, <span class="keyword">const</span> <span class="keywordtype">int</span> ia[],</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="keywordtype">int</span> M, <span class="keywordtype">int</span> N, <span class="keywordtype">int</span> D,</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="keywordtype">double</span> lambda,</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="keywordtype">int</span> (*f)(<span class="keyword">const</span> <span class="keywordtype">double</span> x[], <span class="keyword">const</span> <span class="keywordtype">double</span> a[], <span class="keywordtype">double</span> *result),</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="keywordtype">int</span> (*dfda)(<span class="keyword">const</span> <span class="keywordtype">double</span> x[], <span class="keyword">const</span> <span class="keywordtype">double</span> a[], <span class="keywordtype">double</span> result[]),</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="keyword">const</span> <span class="keywordtype">double</span> *x,</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="keyword">const</span> <span class="keywordtype">double</span> *y,</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="keyword">const</span> <span class="keywordtype">double</span> *sigma,</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="keywordtype">double</span> *partials,</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> cpl_matrix *alpha,</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> cpl_matrix *beta,</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="keywordtype">double</span> *a_da)</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> {</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="keywordtype">int</span> Mfit = 0; <span class="comment">/* Number of non-constant fit parameters */</span></div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> cpl_matrix *da; <span class="comment">/* Solution of alpha * da = beta */</span></div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="keywordtype">double</span> *alpha_data;</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="keywordtype">double</span> *beta_data;</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="keywordtype">double</span> *da_data;</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="keywordtype">int</span> i, imfit = 0;</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="keywordtype">int</span> j, jmfit = 0;</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="keywordtype">int</span> k = 0;</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="comment">/* For efficiency, don't check input in this static function */</span></div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> </div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> Mfit = cpl_matrix_get_nrow(alpha);</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> </div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> alpha_data = cpl_matrix_get_data(alpha);</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> beta_data = cpl_matrix_get_data(beta);</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="comment">/* Build alpha, beta:</span></div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="comment"> * alpha[i,j] = sum_{k=1,N} (sigma_k)^-2 * df/da_i * df/da_j *</span></div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="comment"> * (1 + delta_ij lambda) ,</span></div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="comment"> * beta[i] = sum_{k=1,N} (sigma_k)^-2 * ( y_k - f(x_k) ) * df/da_i</span></div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="comment"> * where (i,j) loop over the non-constant parameters (0 to Mfit-1),</span></div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="comment"> * delta is Kronecker's delta, and all df/da are evaluated in x_k</span></div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> cpl_matrix_fill(alpha, 0.0);</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> cpl_matrix_fill(beta , 0.0);</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="keywordflow">for</span> (k = 0; k < N; k++)</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> {</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="keywordtype">double</span> sm2 = 0.0; <span class="comment">/* (sigma_k)^-2 */</span></div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="keywordtype">double</span> fx_k = 0.0; <span class="comment">/* f(x_k) */</span></div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="keyword">const</span> <span class="keywordtype">double</span> *x_k = &(x[0+k*D]); <span class="comment">/* x_k */</span></div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> </div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="keywordflow">if</span> (sigma == NULL)</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> {</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> sm2 = 1.0;</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> }</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> {</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> sm2 = 1.0 / (sigma[k] * sigma[k]);</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> }</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="comment">/* Evaluate f(x_k) */</span></div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> cpl_ensure( f(x_k, a, &fx_k) == 0, CPL_ERROR_ILLEGAL_INPUT, -1);</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> </div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="comment">/* Evaluate (all) df/da (x_k) */</span></div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> cpl_ensure( dfda(x_k, a, partials) == 0,</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> CPL_ERROR_ILLEGAL_INPUT, -1);</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> </div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="keywordflow">for</span> (i = 0, imfit = 0; i < M; i++)</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> {</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="keywordflow">if</span> (ia[i] != 0)</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> {</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="comment">/* Beta */</span></div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> beta_data[imfit] +=</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> sm2 * (y[k] - fx_k) * partials[i];</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> </div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="comment">/* Alpha is symmetrical, so compute</span></div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="comment"> only lower-left part */</span></div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="keywordflow">for</span> (j = 0, jmfit = 0; j < i; j++)</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> {</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="keywordflow">if</span> (ia[j] != 0)</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> {</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> alpha_data[jmfit + imfit*Mfit] +=</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> sm2 * partials[i] *</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> partials[j];</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> </div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> jmfit += 1;</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> }</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> }</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> </div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="comment">/* Alpha, diagonal terms */</span></div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> j = i;</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> jmfit = imfit;</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> </div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> alpha_data[jmfit + imfit*Mfit] +=</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> sm2 * partials[i] *</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> partials[j] * (1 + lambda);</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> </div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> imfit += 1;</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> }</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> }</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> </div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> cpl_ensure( imfit == Mfit, CPL_ERROR_ILLEGAL_INPUT,-1);</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> }</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> </div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="comment">/* Create upper-right part of alpha */</span></div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="keywordflow">for</span> (i = 0, imfit = 0; i < M; i++) {</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="keywordflow">if</span> (ia[i] != 0) {</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="keywordflow">for</span> (j = i+1, jmfit = imfit+1; j < M; j++) {</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="keywordflow">if</span> (ia[j] != 0) {</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> alpha_data[jmfit+imfit*Mfit] = alpha_data[imfit+jmfit*Mfit];</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> jmfit += 1;</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> }</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> }</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> cpl_ensure( jmfit == Mfit,CPL_ERROR_ILLEGAL_INPUT,-1 );</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> imfit += 1;</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> }</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> }</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> cpl_ensure( imfit == Mfit, CPL_ERROR_ILLEGAL_INPUT,-1);</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> </div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> da = cpl_matrix_solve(alpha, beta);</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> </div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> cpl_ensure(da != NULL, cpl_error_get_code(), -1);</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> </div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="comment">/* Create a+da vector by adding a and da */</span></div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> da_data = cpl_matrix_get_data(da);</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> </div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="keywordflow">for</span> (i = 0, imfit = 0; i < M; i++)</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> {</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="keywordflow">if</span> (ia[i] != 0)</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> {</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> a_da[i] = a[i] + da_data[0 + imfit*1];</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> </div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> imfit += 1;</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> }</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> {</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> a_da[i] = a[i];</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> }</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> }</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> </div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> cpl_ensure( imfit == Mfit ,CPL_ERROR_ILLEGAL_INPUT,-1);</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> </div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> cpl_matrix_delete(da);</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> </div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> }</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> </div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> </div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> </div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> </div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> get_chisq(<span class="keywordtype">int</span> N, <span class="keywordtype">int</span> D,</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="keywordtype">int</span> (*f)(<span class="keyword">const</span> <span class="keywordtype">double</span> x[], <span class="keyword">const</span> <span class="keywordtype">double</span> a[], <span class="keywordtype">double</span> *result),</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="keyword">const</span> <span class="keywordtype">double</span> *a,</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="keyword">const</span> <span class="keywordtype">double</span> *x,</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="keyword">const</span> <span class="keywordtype">double</span> *y,</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="keyword">const</span> <span class="keywordtype">double</span> *sigma)</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> {</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="keywordtype">double</span> chi_sq; <span class="comment">/* Result */</span></div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="keywordtype">int</span> i = 0;</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> </div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="comment">/* For efficiency, don't check input in this static function */</span></div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> chi_sq = 0.0;</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <span class="keywordflow">for</span> (i = 0; i < N; i++)</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> {</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="keywordtype">double</span> fx_i;</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> <span class="keywordtype">double</span> residual; <span class="comment">/* Residual in units of uncertainty */</span></div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> <span class="keyword">const</span> <span class="keywordtype">double</span> *x_i = &(x[0+i*D]);</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> </div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <span class="comment">/* Evaluate */</span></div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> cpl_ensure( f(x_i,</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> a,</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> &fx_i) == 0, CPL_ERROR_ILLEGAL_INPUT, -1.0);</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> </div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> <span class="comment">/* Accumulate */</span></div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> <span class="keywordflow">if</span> (sigma == NULL)</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> {</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> residual = (fx_i - y[i]);</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> }</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> {</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> residual = (fx_i - y[i]) / sigma[i];</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> }</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> </div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> chi_sq += residual*residual;</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> </div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> }</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> </div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="keywordflow">return</span> chi_sq;</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> }</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> </div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> </div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> </div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> <span class="preprocessor">#ifndef CPL_VECTOR_FIT_MAXITER</span></div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> <span class="preprocessor"></span><span class="preprocessor">#define CPL_VECTOR_FIT_MAXITER 1000</span></div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> <span class="preprocessor"></span><span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> cpl_error_code</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> sinfo_fit_lm(<span class="keyword">const</span> cpl_matrix *x,</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <span class="keyword">const</span> cpl_matrix *sigma_x,</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <span class="keyword">const</span> cpl_vector *y,</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="keyword">const</span> cpl_vector *sigma_y,</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> cpl_vector *a,</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ia[],</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="keywordtype">int</span> (*f)(<span class="keyword">const</span> <span class="keywordtype">double</span> x[],</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> <span class="keyword">const</span> <span class="keywordtype">double</span> a[],</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> <span class="keywordtype">double</span> *result),</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> <span class="keywordtype">int</span> (*dfda)(<span class="keyword">const</span> <span class="keywordtype">double</span> x[],</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <span class="keyword">const</span> <span class="keywordtype">double</span> a[],</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> <span class="keywordtype">double</span> result[]),</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> <span class="keywordtype">double</span> *mse,</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> <span class="keywordtype">double</span> *red_chisq,</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> cpl_matrix **covariance)</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> {</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> <span class="keyword">const</span> <span class="keywordtype">double</span> *x_data = NULL; <span class="comment">/* Pointer to input data */</span></div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="keyword">const</span> <span class="keywordtype">double</span> *y_data = NULL; <span class="comment">/* Pointer to input data */</span></div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="keyword">const</span> <span class="keywordtype">double</span> *sigma_data = NULL; <span class="comment">/* Pointer to input data */</span></div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> <span class="keywordtype">int</span> N = 0; <span class="comment">/* Number of data points */</span></div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> <span class="keywordtype">int</span> D = 0; <span class="comment">/* Dimension of x-points */</span></div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> <span class="keywordtype">int</span> M = 0; <span class="comment">/* Number of fit parameters */</span></div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> <span class="keywordtype">int</span> Mfit = 0; <span class="comment">/* Number of non-constant fit</span></div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> <span class="comment"> parameters */</span></div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> </div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> <span class="keywordtype">double</span> lambda = 0.0; <span class="comment">/* Lambda in L-M algorithm */</span></div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> <span class="keywordtype">double</span> MAXLAMBDA = 10e40; <span class="comment">/* Parameter to control the graceful exit</span></div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="comment"> if steepest descent unexpectedly fails */</span></div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> <span class="keywordtype">double</span> chi_sq = 0.0; <span class="comment">/* Current chi^2 */</span></div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> <span class="keywordtype">int</span> count = 0; <span class="comment">/* Number of successive small improvements</span></div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> <span class="comment"> in chi^2 */</span></div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> <span class="keywordtype">int</span> iterations = 0;</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> </div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> cpl_matrix *alpha = NULL; <span class="comment">/* The MxM ~curvature matrix used in L-M */</span></div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> cpl_matrix *beta = NULL; <span class="comment">/* Mx1 matrix = -.5 grad(chi^2) */</span></div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> <span class="keywordtype">double</span> *a_data = NULL; <span class="comment">/* Parameters, a */</span></div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> <span class="keywordtype">double</span> *a_da = NULL; <span class="comment">/* Candidate position a+da */</span></div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> <span class="keywordtype">double</span> *part = NULL; <span class="comment">/* The partial derivatives df/da */</span></div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <span class="keywordtype">int</span> *ia_local = NULL; <span class="comment">/* non-NULL version of ia */</span></div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> </div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> <span class="comment">/* If covariance computation is requested, then either</span></div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> <span class="comment"> * return the covariance matrix or return NULL.</span></div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> <span class="keywordflow">if</span> (covariance != NULL) *covariance = NULL;</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> </div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> <span class="comment">/* Validate input */</span></div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> cpl_ensure_code(x != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> cpl_ensure_code(sigma_x == NULL, CPL_ERROR_UNSUPPORTED_MODE);</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> cpl_ensure_code(y != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> cpl_ensure_code(a != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <span class="comment">/* ia may be NULL */</span></div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> cpl_ensure_code(f != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> cpl_ensure_code(dfda != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> </div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> <span class="comment">/* Chi^2 and covariance computations require sigmas to be known */</span></div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> cpl_ensure_code( sigma_y != NULL ||</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> (red_chisq == NULL && covariance == NULL),</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> CPL_ERROR_INCOMPATIBLE_INPUT);</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> </div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> D = cpl_matrix_get_ncol(x);</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> N = cpl_matrix_get_nrow(x);</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> M = cpl_vector_get_size(a);</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> cpl_ensure_code(N > 0 && D > 0 && M > 0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> </div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> cpl_ensure_code( cpl_vector_get_size(y) == N,</div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> CPL_ERROR_INCOMPATIBLE_INPUT);</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> </div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> x_data = cpl_matrix_get_data_const(x);</div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> y_data = cpl_vector_get_data_const(y);</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> a_data = cpl_vector_get_data(a);</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> </div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> <span class="keywordflow">if</span> (sigma_y != NULL)</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> {</div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> cpl_ensure_code( cpl_vector_get_size(sigma_y) == N,</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> CPL_ERROR_INCOMPATIBLE_INPUT);</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> <span class="comment">/* Sigmas must be positive */</span></div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> cpl_ensure_code( cpl_vector_get_min (sigma_y) > 0,</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> sigma_data = cpl_vector_get_data_const(sigma_y);</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> }</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> </div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> ia_local = cpl_malloc(M * <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>));</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> cpl_ensure_code(ia_local != NULL, CPL_ERROR_ILLEGAL_OUTPUT);</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> </div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> <span class="comment">/* Count non-constant fit parameters, copy ia */</span></div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> <span class="keywordflow">if</span> (ia != NULL)</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> {</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> </div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> Mfit = 0;</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> <span class="keywordflow">for</span> (i = 0; i < M; i++)</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> {</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> ia_local[i] = ia[i];</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> </div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <span class="keywordflow">if</span> (ia[i] != 0)</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> {</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> Mfit += 1;</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> }</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> }</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> </div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> <span class="keywordflow">if</span> (! (Mfit > 0))</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> {</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> cpl_free(ia_local);</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> cpl_ensure_code( CPL_FALSE,</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> }</div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> }</div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> {</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> <span class="comment">/* All parameters participate */</span></div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> </div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> Mfit = M;</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> </div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> <span class="keywordflow">for</span> (i = 0; i < M; i++)</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> {</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> ia_local[i] = 1;</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> }</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> }</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> </div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> <span class="comment">/* To compute reduced chi^2, we need N > Mfit */</span></div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> <span class="keywordflow">if</span> (! ( red_chisq == NULL || N > Mfit ) )</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> {</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> cpl_free(ia_local);</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> cpl_ensure_code(</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> CPL_FALSE,</div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> }</div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> </div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> <span class="comment">/* Create alpha, beta, a_da, part work space */</span></div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> alpha = cpl_matrix_new(Mfit, Mfit);</div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> <span class="keywordflow">if</span> (alpha == NULL)</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> {</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> cpl_free(ia_local);</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> cpl_ensure_code(</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> CPL_FALSE,</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> CPL_ERROR_ILLEGAL_OUTPUT);</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> }</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> </div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> beta = cpl_matrix_new(Mfit, 1);</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> <span class="keywordflow">if</span> (beta == NULL)</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> {</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> cpl_free(ia_local);</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> cpl_matrix_delete(alpha);</div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> cpl_ensure_code(</div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> CPL_FALSE,</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> CPL_ERROR_ILLEGAL_OUTPUT);</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> }</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> </div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> a_da = cpl_malloc(M * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> <span class="keywordflow">if</span> (a_da == NULL)</div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> {</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> cpl_free(ia_local);</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> cpl_matrix_delete(alpha);</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> cpl_matrix_delete(beta);</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> cpl_ensure_code(</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> CPL_FALSE,</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> CPL_ERROR_ILLEGAL_OUTPUT);</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> }</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> </div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> part = cpl_malloc(M * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> <span class="keywordflow">if</span> (part == NULL)</div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> {</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> cpl_free(ia_local);</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> cpl_matrix_delete(alpha);</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> cpl_matrix_delete(beta);</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> cpl_free(a_da);</div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> cpl_ensure_code(</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> CPL_FALSE,</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> CPL_ERROR_ILLEGAL_OUTPUT);</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> }</div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> </div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> <span class="comment">/* Initialize loop variables */</span></div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> lambda = 0.001;</div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> count = 0;</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> iterations = 0;</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> <span class="keywordflow">if</span>( (chi_sq = get_chisq(N, D, f, a_data, x_data, y_data, sigma_data)) < 0)</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> {</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> cpl_free(ia_local);</div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> cpl_matrix_delete(alpha);</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> cpl_matrix_delete(beta);</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> cpl_free(a_da);</div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> cpl_free(part);</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> cpl_ensure_code(</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> CPL_FALSE,</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> cpl_error_get_code());</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> }</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> </div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> <span class="comment">/* uves_msg_debug("Initial chi^2 = %f", chi_sq); */</span></div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> </div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> <span class="comment">/* Iterate until chi^2 didn't improve substantially many (say, 5)</span></div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> <span class="comment"> times in a row */</span></div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> <span class="keywordflow">while</span> (count < 5 &&</div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> lambda < MAXLAMBDA &&</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> iterations < CPL_VECTOR_FIT_MAXITER)</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> {</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> <span class="comment">/* In each iteration lambda increases, or chi^2 decreases or</span></div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> <span class="comment"> count increases. Because chi^2 is bounded from below</span></div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> <span class="comment"> (and lambda and count from above), the loop will terminate */</span></div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> </div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> <span class="keywordtype">double</span> chi_sq_candidate = 0.0;</div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> <span class="keywordtype">int</span> returncode = 0;</div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> </div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> <span class="comment">/* Get candidate position in parameter space = a+da,</span></div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> <span class="comment"> * where alpha * da = beta .</span></div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> <span class="comment"> * Increase lambda until alpha is non-singular</span></div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> </div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> <span class="keywordflow">while</span>( (returncode = get_candidate(a_data, ia_local,</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> M, N, D,</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> lambda, f, dfda,</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> x_data, y_data, sigma_data,</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> part, alpha, beta, a_da)</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> ) != 0</div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> && cpl_error_get_code() == CPL_ERROR_SINGULAR_MATRIX</div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> && lambda < MAXLAMBDA)</div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> {</div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> <span class="comment">/* uves_msg_debug("Singular matrix. lambda = %e", lambda); */</span></div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> cpl_error_reset();</div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> lambda *= 9.0;</div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> }</div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> </div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> <span class="comment">/* Set error if lambda diverged */</span></div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> <span class="keywordflow">if</span> ( !( lambda < MAXLAMBDA ) )</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> {</div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> cpl_free(ia_local);</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> cpl_matrix_delete(alpha);</div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> cpl_matrix_delete(beta);</div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> cpl_free(a_da);</div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> cpl_free(part);</div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> cpl_ensure_code(</div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> CPL_FALSE,</div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> CPL_ERROR_CONTINUE);</div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> }</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> </div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> <span class="keywordflow">if</span> (returncode != 0)</div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> {</div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> cpl_free(ia_local);</div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> cpl_matrix_delete(alpha);</div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> cpl_matrix_delete(beta);</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> cpl_free(a_da);</div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> cpl_free(part);</div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> cpl_ensure_code(</div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> CPL_FALSE,</div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> cpl_error_get_code());</div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> }</div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> </div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> <span class="comment">/* Get chi^2(a+da) */</span></div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> <span class="keywordflow">if</span> ((chi_sq_candidate = get_chisq(N, D, f, a_da,</div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> x_data, y_data, sigma_data)) < 0)</div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> {</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> cpl_free(ia_local);</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> cpl_matrix_delete(alpha);</div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> cpl_matrix_delete(beta);</div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> cpl_free(a_da);</div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> cpl_free(part);</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> cpl_ensure_code(</div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> CPL_FALSE,</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> cpl_error_get_code());</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> }</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> </div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> <span class="comment">/* uves_msg_debug("Chi^2 = %f Candidate = %f Lambda = %e",</span></div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> <span class="comment"> chi_sq, chi_sq_candidate, lambda); */</span></div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> </div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> <span class="keywordflow">if</span> (chi_sq_candidate > chi_sq)</div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> {</div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> <span class="comment">/* Move towards steepest descent */</span></div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> lambda *= 9.0;</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> }</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> {</div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> <span class="comment">/* Move towards Newton's algorithm */</span></div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> lambda /= 10.0;</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> </div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> <span class="comment">/* Count the number of successive improvements in chi^2 of</span></div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> <span class="comment"> less than 0.01 relative */</span></div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> <span class="keywordflow">if</span> ( chi_sq == 0 ||</div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> (chi_sq - chi_sq_candidate)/chi_sq < .01)</div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> {</div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> count += 1;</div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> }</div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> {</div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> <span class="comment">/* Chi^2 improved by a significant amount,</span></div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> <span class="comment"> reset counter */</span></div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> count = 0;</div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> }</div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> </div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> <span class="comment">/* chi^2 improved, update a and chi^2 */</span></div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> {</div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> <span class="keywordflow">for</span> (i = 0; i < M; i++) a_data[i] = a_da[i];</div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> }</div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> chi_sq = chi_sq_candidate;</div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> }</div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> iterations++;</div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> }</div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> </div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> <span class="comment">/* Set error if we didn't converge */</span></div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> <span class="keywordflow">if</span> ( !( lambda < MAXLAMBDA && iterations < CPL_VECTOR_FIT_MAXITER ) )</div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> {</div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> cpl_free(ia_local);</div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> cpl_matrix_delete(alpha);</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> cpl_matrix_delete(beta);</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> cpl_free(a_da);</div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> cpl_free(part);</div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> cpl_ensure_code(</div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> CPL_FALSE,</div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> CPL_ERROR_CONTINUE);</div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> }</div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> </div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> <span class="comment">/* Compute mse if requested */</span></div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> <span class="keywordflow">if</span> (mse != NULL)</div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> {</div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> </div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> *mse = 0.0;</div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> </div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> <span class="keywordflow">for</span>(i = 0; i < N; i++)</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> {</div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> <span class="keywordtype">double</span> fx_i = 0.0;</div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> <span class="keywordtype">double</span> residual = 0.0;</div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> </div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> <span class="comment">/* Evaluate f(x_i) at the best fit parameters */</span></div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> <span class="keywordflow">if</span>( f(&(x_data[i*D]),</div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> a_data,</div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> &fx_i) != 0)</div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> {</div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> cpl_free(ia_local);</div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> cpl_matrix_delete(alpha);</div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> cpl_matrix_delete(beta);</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> cpl_free(a_da);</div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> cpl_free(part);</div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> cpl_ensure_code(</div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> CPL_FALSE,</div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> }</div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> </div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> residual = y_data[i] - fx_i;</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> *mse += residual * residual;</div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> }</div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> *mse /= N;</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> }</div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> </div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> <span class="comment">/* Compute reduced chi^2 if requested */</span></div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> <span class="keywordflow">if</span> (red_chisq != NULL)</div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> {</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> <span class="comment">/* We already know the optimal chi^2 (and that N > Mfit)*/</span></div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> *red_chisq = chi_sq / (N-Mfit);</div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> }</div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> </div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> <span class="comment">/* Compute covariance matrix if requested</span></div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> <span class="comment"> * cov = alpha(lambda=0)^-1</span></div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> <span class="keywordflow">if</span> (covariance != NULL)</div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> {</div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> cpl_matrix *cov;</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> </div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> <span class="keywordflow">if</span>( get_candidate(a_data, ia_local,</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> M, N, D, 0.0, f, dfda,</div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> x_data, y_data, sigma_data,</div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> part, alpha, beta, a_da)</div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> != 0)</div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> {</div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> cpl_free(ia_local);</div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> cpl_matrix_delete(alpha);</div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> cpl_matrix_delete(beta);</div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> cpl_free(a_da);</div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> cpl_free(part);</div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> cpl_ensure_code(</div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> CPL_FALSE,</div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> cpl_error_get_code());</div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> }</div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> </div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> cov = cpl_matrix_invert_create(alpha);</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> <span class="keywordflow">if</span> (cov == NULL)</div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> {</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> cpl_free(ia_local);</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> cpl_matrix_delete(alpha);</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> cpl_matrix_delete(beta);</div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> cpl_free(a_da);</div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> cpl_free(part);</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> cpl_ensure_code(</div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> CPL_FALSE,</div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> cpl_error_get_code());</div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> }</div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> </div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> <span class="comment">/* Make sure that variances are positive */</span></div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> {</div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> <span class="keywordflow">for</span> (i = 0; i < Mfit; i++)</div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> {</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> <span class="keywordflow">if</span> ( !(cpl_matrix_get(cov, i, i) > 0) )</div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> {</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> cpl_free(ia_local);</div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> cpl_matrix_delete(alpha);</div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> cpl_matrix_delete(beta);</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> cpl_free(a_da);</div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> cpl_free(part);</div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> cpl_matrix_delete(cov);</div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> *covariance = NULL;</div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> cpl_ensure_code(</div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> CPL_FALSE,</div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> CPL_ERROR_SINGULAR_MATRIX);</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> }</div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> }</div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> }</div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> </div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> <span class="comment">/* Expand covariance matrix from Mfit x Mfit</span></div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> <span class="comment"> to M x M. Set rows/columns corresponding to fixed</span></div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> <span class="comment"> parameters to zero */</span></div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> </div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> *covariance = cpl_matrix_new(M, M);</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> <span class="keywordflow">if</span> (*covariance == NULL)</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> {</div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> cpl_free(ia_local);</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> cpl_matrix_delete(alpha);</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> cpl_matrix_delete(beta);</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> cpl_free(a_da);</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> cpl_free(part);</div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> cpl_matrix_delete(cov);</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> cpl_ensure_code(</div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> CPL_FALSE,</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> CPL_ERROR_ILLEGAL_OUTPUT);</div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> }</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> </div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> {</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> <span class="keywordtype">int</span> j, jmfit;</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> </div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> <span class="keywordflow">for</span> (j = 0, jmfit = 0; j < M; j++)</div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> <span class="keywordflow">if</span> (ia_local[j] != 0)</div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> {</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> <span class="keywordtype">int</span> i, imfit;</div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> </div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> <span class="keywordflow">for</span> (i = 0, imfit = 0; i < M; i++)</div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> <span class="keywordflow">if</span> (ia_local[i] != 0)</div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> {</div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> cpl_matrix_set(*covariance, i, j,</div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> cpl_matrix_get(</div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> cov, imfit, jmfit));</div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> imfit += 1;</div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> }</div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> </div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> cpl_ensure( imfit == Mfit, CPL_ERROR_ILLEGAL_INPUT,-1);</div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> </div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> jmfit += 1;</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> }</div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> </div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> cpl_ensure( jmfit == Mfit, CPL_ERROR_ILLEGAL_INPUT,-1 );</div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> }</div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> </div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> cpl_matrix_delete(cov);</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> }</div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> </div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> cpl_free(ia_local);</div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> cpl_matrix_delete(alpha);</div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> cpl_matrix_delete(beta);</div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> cpl_free(a_da);</div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> cpl_free(part);</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> </div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> }</div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> </div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> </div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> </div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> </div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> </div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> </div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> </div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> </div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> </div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> </div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> </div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> </div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> </div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> </div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> </div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> </div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> sinfo_fit_amoeba_get_psum(<span class="keywordtype">int</span> ndim, <span class="keywordtype">int</span> mpts, <span class="keywordtype">double</span>** p, <span class="keywordtype">double</span>* psum)</div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> {</div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> <span class="keywordtype">double</span> sum=0;</div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> <span class="keywordflow">for</span> (j=0;j<ndim;j++) {</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> <span class="keywordflow">for</span> (sum=0.0,i=0;i<mpts;i++) {</div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> sum += p[i][j];</div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> }</div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> psum[j]=sum;</div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> }</div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> </div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> }</div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> </div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> </div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> <span class="preprocessor">#define SINFO_FIT_AMOEBA_SWAP(a,b) {swap=(a);(a)=(b);(b)=swap;}</span></div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> </div>
-<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> </div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> sinfo_fit_amoeba(</div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> <span class="keywordtype">double</span>**p,</div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> <span class="keywordtype">double</span> y[],</div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> <span class="keywordtype">int</span> ndim,</div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> <span class="keywordtype">double</span> ftol,</div>
-<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> <span class="keywordtype">double</span> (*funk)(<span class="keywordtype">double</span>[]),</div>
-<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> <span class="keywordtype">int</span>* nfunk)</div>
-<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> {</div>
-<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> </div>
-<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> </div>
-<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> <span class="keywordtype">int</span> ihi=0;</div>
-<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> <span class="keywordtype">int</span> ilo=0;</div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> <span class="keywordtype">int</span> inhi=0;</div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> <span class="keywordtype">int</span> mpts=ndim+1;</div>
-<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> <span class="keywordtype">double</span> rtol=0;</div>
-<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> <span class="keywordtype">double</span> swap=0;</div>
-<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> <span class="keywordtype">double</span> ysave=0;</div>
-<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> <span class="keywordtype">double</span> ytry=0;</div>
-<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> cpl_vector* sum=NULL;</div>
-<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span> <span class="keywordtype">double</span>* psum=NULL;</div>
-<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span> </div>
-<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> sum=cpl_vector_new(ndim);</div>
-<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> psum=cpl_vector_get_data(sum);</div>
-<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> *nfunk=0;</div>
-<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> </div>
-<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> sinfo_fit_amoeba_get_psum(ndim,mpts,p,psum);</div>
-<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span> </div>
-<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> <span class="keywordflow">for</span>(;;) {</div>
-<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span> ilo=0;</div>
-<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> <span class="comment"> First we must determine which point is the highest (worst),</span></div>
-<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> <span class="comment"> next-highest, and lowest (best), by looping over the points</span></div>
-<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> <span class="comment"> in the simplex</span></div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> ihi=y[0]>y[1] ? (inhi=1,0) : (inhi=0,1);</div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> </div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> <span class="keywordflow">for</span> (i=0;i< mpts;i++) {</div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> <span class="keywordflow">if</span> (y[i] <= y[ilo]) ilo=i;</div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> <span class="keywordflow">if</span> (y[i] > y[ihi]) {</div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> inhi=ihi;</div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> ihi=i;</div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (y[i] > y[inhi] && i != ihi) inhi=i;</div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> }</div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> rtol=2.0*fabs(y[ihi]-y[ilo])/(fabs(y[ihi])+fabs(y[ilo]));</div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> </div>
-<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> <span class="comment"> compute the fractional range from highest to lowest and return if</span></div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> <span class="comment"> satisfactory</span></div>
-<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> <span class="keywordflow">if</span>(rtol < ftol) { <span class="comment">// if returning, but best point and value is in slot 1</span></div>
-<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> SINFO_FIT_AMOEBA_SWAP(y[0],y[ilo]);</div>
-<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> <span class="keywordflow">for</span> (i=0;i<ndim;i++) SINFO_FIT_AMOEBA_SWAP(p[1][i],p[ilo][i]);</div>
-<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> }</div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> <span class="keywordflow">if</span> (*nfunk >= SINFO_FIT_AMOEBA_NMAX) {</div>
-<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"NMAX exceeded"</span>);</div>
-<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> SINFO_FIT_AMOEBA_SWAP(y[0],y[ilo]);</div>
-<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> <span class="keywordflow">for</span> (i=0;i<ndim;i++) SINFO_FIT_AMOEBA_SWAP(p[1][i],p[ilo][i]);</div>
-<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> <span class="keywordflow">for</span> (i=0;i<ndim;i++) {</div>
-<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> sinfo_msg(<span class="stringliteral">"p[1][i]=%g p[ilo][i]=%g ilo=%d"</span>,p[1][i],p[ilo][i],ilo);</div>
-<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> }</div>
-<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> assure(*nfunk >= SINFO_FIT_AMOEBA_NMAX,CPL_ERROR_UNSPECIFIED,</div>
-<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span> <span class="stringliteral">"NMAX exceeded"</span>);</div>
-<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span> </div>
-<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> }</div>
-<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span> *nfunk +=2;</div>
-<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> <span class="comment"> Begin a new iteration. First extrapolate by a Factor -1 through the face</span></div>
-<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span> <span class="comment"> of the simplex across the high point, i.e. reflect the simplex from the</span></div>
-<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span> <span class="comment"> high point</span></div>
-<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> ytry=sinfo_fit_amotry(p,y,psum,ndim,funk,ihi,-1.0);</div>
-<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span> <span class="keywordflow">if</span>(ytry <= y[ilo]) {</div>
-<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> <span class="comment"> Gives a result better than the best point, so try an additional</span></div>
-<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span> <span class="comment"> extrapolation by a factor 2</span></div>
-<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span> ytry=sinfo_fit_amotry(p,y,psum,ndim,funk,ihi,2.0);</div>
-<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ytry >= y[inhi]) {</div>
-<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span> </div>
-<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span> <span class="comment"> The reflected point is worse than the second highest, so look for an</span></div>
-<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span> <span class="comment"> intermediate lower point, i.e. do a one-dimensional contraction</span></div>
-<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span> ysave=y[ihi];</div>
-<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span> ytry=sinfo_fit_amotry(p,y,psum,ndim,funk,ihi,0.5);</div>
-<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span> <span class="keywordflow">if</span>(ytry >= ysave) {</div>
-<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span> <span class="comment"> Can't seem to get rid of that high point.</span></div>
-<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span> <span class="comment"> Better contract around the lowest (best) point</span></div>
-<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span> <span class="keywordflow">for</span>(i=0;i<mpts;i++) {</div>
-<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span> <span class="keywordflow">if</span>(i != ilo) {</div>
-<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span> <span class="keywordflow">for</span>( j=0;j<ndim;j++) {</div>
-<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span> p[i][j]=psum[j]=0.5*(p[i][j]+p[ilo][j]);</div>
-<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span> }</div>
-<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span> y[i]=(*funk)(psum);</div>
-<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span> }</div>
-<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span> }</div>
-<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> *nfunk += ndim; <span class="comment">/* Keep track of function evaluations */</span></div>
-<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> sinfo_fit_amoeba_get_psum(ndim,mpts,p,psum);<span class="comment">/* Recomputes psum */</span></div>
-<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> }</div>
-<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> --(*nfunk);</div>
-<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> <span class="comment">/* Go back for the test of doneness and the next iteration */</span></div>
-<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> }</div>
-<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> }</div>
-<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> cleanup:</div>
-<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> cpl_vector_delete(sum);</div>
-<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> }</div>
-<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> </div>
-<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> </div>
-<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> sinfo_fit_amotry(<span class="keywordtype">double</span>** p, <span class="keywordtype">double</span> y[], <span class="keywordtype">double</span> psum[], <span class="keywordtype">int</span> ndim,</div>
-<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> <span class="keywordtype">double</span> (*funk)(<span class="keywordtype">double</span>[]),<span class="keywordtype">int</span> ihi, <span class="keywordtype">double</span> fac)</div>
-<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> {</div>
-<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> <span class="keywordtype">int</span> j;</div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> <span class="keywordtype">double</span> fac1=0;</div>
-<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> <span class="keywordtype">double</span> fac2=0;</div>
-<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> <span class="keywordtype">double</span> ytry=0;</div>
-<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> cpl_vector * vtry=NULL;</div>
-<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> <span class="keywordtype">double</span> *ptry=NULL;</div>
-<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span> </div>
-<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> vtry=cpl_vector_new(ndim);</div>
-<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> ptry=cpl_vector_get_data(vtry);</div>
-<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span> </div>
-<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> fac1=(1.0-fac)/ndim;</div>
-<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span> fac2=fac1-fac;</div>
-<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span> </div>
-<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> <span class="keywordflow">for</span> (j=0;j<ndim;j++) {</div>
-<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> ptry[j]=psum[j]*fac1-p[ihi][j]*fac2;</div>
-<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span> }</div>
-<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span> ytry=(*funk)(ptry);</div>
-<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span> <span class="keywordflow">if</span> (ytry < y[ihi]) {</div>
-<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span> y[ihi]=ytry;</div>
-<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> <span class="keywordflow">for</span> (j=0;j<ndim;j++) {</div>
-<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span> psum[j] += ptry[j]-p[ihi][j];</div>
-<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span> p[ihi][j]=ptry[j];</div>
-<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span> }</div>
-<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> }</div>
-<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span> sinfo_free_my_vector(&vtry);</div>
-<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span> <span class="keywordflow">return</span> ytry;</div>
-<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span> }</div>
-<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span> </div>
-<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span> </div>
-<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> <span class="keywordtype">int</span> sinfo_vector_dindgen(cpl_vector** v)</div>
-<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> {</div>
-<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span> </div>
-<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span> <span class="keywordtype">int</span> sz=0;</div>
-<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span> </div>
-<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span> cknull(*v,<span class="stringliteral">"Null input vector"</span>);</div>
-<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span> check(sz=cpl_vector_get_size(*v),<span class="stringliteral">"Getting size of a vector"</span>);</div>
-<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span> </div>
-<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span> <span class="keywordflow">for</span>(i=0;i<sz;i++) {</div>
-<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span> cpl_vector_set(*v,i,(<span class="keywordtype">double</span>)i);</div>
-<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span> }</div>
-<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span> </div>
-<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span> cleanup:</div>
-<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span> </div>
-<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span> }</div>
-<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> </div>
-<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span> </div>
-<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span> <span class="keywordtype">int</span> sinfo_is_fits_file(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename)</div>
-<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span> {</div>
-<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span> FILE *fp ;</div>
-<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span> <span class="keywordtype">char</span> *magic ;</div>
-<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span> <span class="keywordtype">int</span> isfits ;</div>
-<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span> </div>
-<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> <span class="keywordflow">if</span> ((fp = fopen(filename, <span class="stringliteral">"r"</span>))==NULL) {</div>
-<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot open file [%s]"</span>, filename) ;</div>
-<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> }</div>
-<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span> </div>
-<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> magic = cpl_calloc(FITS_MAGIC_SZ+1, <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>)) ;</div>
-<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span> (void)fread(magic, 1, FITS_MAGIC_SZ, fp) ;</div>
-<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span> (void)fclose(fp) ;</div>
-<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span> magic[FITS_MAGIC_SZ] = (char)0 ;</div>
-<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span> <span class="keywordflow">if</span> (strstr(magic, <span class="stringliteral">"SIMPLE"</span>)!=NULL)</div>
-<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span> isfits = 1 ;</div>
-<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span> isfits = 0 ;</div>
-<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span> cpl_free(magic) ;</div>
-<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span> <span class="keywordflow">return</span> isfits ;</div>
-<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span> }</div>
-<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span> </div>
-<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span> cpl_error_code</div>
-<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span> sinfo_table_correl(cpl_table * t1, cpl_table* t2, cpl_table* range,<span class="keywordtype">double</span>* xcor)</div>
-<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span> {</div>
-<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span> </div>
-<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span> <span class="keywordtype">double</span> wsr=0;</div>
-<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span> <span class="keywordtype">double</span> wer=0;</div>
-<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span> <span class="keywordtype">int</span> nr=0;</div>
-<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span> <span class="keywordtype">int</span> status=0;</div>
-<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span> <span class="keywordtype">int</span> nrows=0;</div>
-<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span> <span class="keywordtype">double</span> mean=0;</div>
-<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span> <span class="keywordtype">double</span> prod=0;</div>
-<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span> </div>
-<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span> cpl_table* tmp_t1=NULL;</div>
-<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span> cpl_table* tmp_t2=NULL;</div>
-<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span> </div>
-<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span> check_nomsg(nr=cpl_table_get_nrow(range));</div>
-<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span> <span class="keywordflow">for</span>(i=0;i<nr;i++) {</div>
-<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span> wsr=cpl_table_get_double(range,<span class="stringliteral">"WSTART"</span>,i,&status);</div>
-<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span> wer=cpl_table_get_double(range,<span class="stringliteral">"WEND"</span>,i,&status);</div>
-<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span> cpl_table_and_selected_double(t1,<span class="stringliteral">"WAVE"</span>,CPL_NOT_LESS_THAN,wsr);</div>
-<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span> cpl_table_and_selected_double(t1,<span class="stringliteral">"WAVE"</span>,CPL_NOT_GREATER_THAN,wer);</div>
-<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span> tmp_t1=cpl_table_extract_selected(t1);</div>
-<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span> cpl_table_and_selected_double(t2,<span class="stringliteral">"WAVE"</span>,CPL_NOT_LESS_THAN,wsr);</div>
-<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span> cpl_table_and_selected_double(t2,<span class="stringliteral">"WAVE"</span>,CPL_NOT_GREATER_THAN,wer);</div>
-<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span> tmp_t2=cpl_table_extract_selected(t2);</div>
-<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span> cpl_table_duplicate_column(tmp_t1,<span class="stringliteral">"INT1"</span>,tmp_t1,<span class="stringliteral">"INT"</span>);</div>
-<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span> cpl_table_duplicate_column(tmp_t1,<span class="stringliteral">"INT2"</span>,tmp_t2,<span class="stringliteral">"INT"</span>);</div>
-<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span> cpl_table_multiply_columns(tmp_t1,<span class="stringliteral">"INT1"</span>,<span class="stringliteral">"INT2"</span>);</div>
-<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span> mean=cpl_table_get_column_mean(tmp_t1,<span class="stringliteral">"INT1"</span>);</div>
-<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span> nrows=cpl_table_get_nrow(tmp_t1);</div>
-<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span> prod=mean*nrows;</div>
-<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span> *xcor+=prod;</div>
-<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span> }</div>
-<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span> </div>
-<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span> cleanup:</div>
-<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span> }</div>
-<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span> cpl_error_code</div>
-<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span> sinfo_frameset_merge(cpl_frameset * set1, cpl_frameset* set2)</div>
-<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span> {</div>
-<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span> </div>
-<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span> cpl_frame* frm_tmp=NULL;</div>
-<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span> cpl_frame* frm_dup=NULL;</div>
-<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span> </div>
-<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span> passure(set1 != NULL, <span class="stringliteral">"Wrong input set"</span>);</div>
-<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span> </div>
-<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span> check_nomsg(frm_tmp = cpl_frameset_get_first(set2));</div>
-<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span> <span class="keywordflow">while</span> (frm_tmp != NULL)</div>
-<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span> {</div>
-<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span> frm_dup=cpl_frame_duplicate(frm_tmp);</div>
-<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span> cpl_frameset_insert(set1,frm_dup);</div>
-<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span> frm_tmp = cpl_frameset_get_next(set2);</div>
-<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span> }</div>
-<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span> </div>
-<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span> cleanup:</div>
-<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span> }</div>
-<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span> </div>
-<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span> </div>
-<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span> cpl_error_code</div>
-<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span> sinfo_extract_frames_group_type(<span class="keyword">const</span> cpl_frameset * <span class="keyword">set</span>,</div>
-<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span> cpl_frameset** ext,</div>
-<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span> cpl_frame_group type)</div>
-<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span> {</div>
-<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span> <span class="keyword">const</span> cpl_frame* frm_tmp=NULL;</div>
-<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span> cpl_frame* frm_dup=NULL;</div>
-<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span> cpl_frame_group g;</div>
-<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span> </div>
-<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span> check_nomsg(*ext = cpl_frameset_new());</div>
-<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span> check_nomsg(frm_tmp = cpl_frameset_get_first_const(<span class="keyword">set</span>));</div>
-<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span> <span class="keywordflow">while</span> (frm_tmp != NULL)</div>
-<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span> {</div>
-<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span> g=cpl_frame_get_group(frm_tmp);</div>
-<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span> <span class="keywordflow">if</span>(g == type) {</div>
-<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span> frm_dup=cpl_frame_duplicate(frm_tmp);</div>
-<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span> cpl_frameset_insert(*ext,frm_dup);</div>
-<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"group %d insert file %s "</span>,</div>
-<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span> type,cpl_frame_get_filename(frm_dup));</div>
-<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span> }</div>
-<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span> frm_tmp = cpl_frameset_get_next_const(<span class="keyword">set</span>);</div>
-<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span> }</div>
-<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span> </div>
-<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span> cleanup:</div>
-<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span> }</div>
-<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span> </div>
-<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span> </div>
-<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span> </div>
-<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span> </div>
-<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span> sinfo_get_pupil_shift(cpl_imagelist* iml,<span class="keyword">const</span> <span class="keywordtype">int</span> n,cpl_table** qclog_tbl)</div>
-<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span> {</div>
-<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span> cpl_size max_ima_x=0;</div>
-<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span> cpl_size max_ima_y=0;</div>
-<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span> <span class="keywordtype">int</span> nx=0;</div>
-<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span> <span class="keywordtype">int</span> ny=0;</div>
-<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span> </div>
-<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span> <span class="keywordtype">double</span> xshift=0;</div>
-<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span> <span class="keywordtype">double</span> yshift=0;</div>
-<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span> </div>
-<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span> <span class="keywordtype">double</span> max_ima_cx=0;</div>
-<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span> <span class="keywordtype">double</span> max_ima_cy=0;</div>
-<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span> </div>
-<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span> cpl_image* img=NULL;</div>
-<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span> cpl_image* img_dup=NULL;</div>
-<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span> </div>
-<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span> <span class="keywordtype">char</span> key_name[FILE_NAME_SZ];</div>
-<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span> </div>
-<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span> img=cpl_imagelist_collapse_median_create(iml);</div>
-<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span> nx=cpl_image_get_size_x(img);</div>
-<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span> ny=cpl_image_get_size_y(img);</div>
-<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span> </div>
-<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span> img_dup=cpl_image_duplicate(img);</div>
-<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span> sinfo_clean_nan(&img_dup);</div>
-<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span> cpl_image_get_maxpos(img_dup,&max_ima_x,&max_ima_y);</div>
-<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span> max_ima_cx=cpl_image_get_centroid_x_window(img_dup,1,1,nx,ny);</div>
-<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span> max_ima_cy=cpl_image_get_centroid_y_window(img_dup,1,1,nx,ny);</div>
-<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span> </div>
-<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span> cpl_image_delete(img_dup);</div>
-<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span> </div>
-<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span> </div>
-<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span> xshift=max_ima_cx-(double)nx/2;</div>
-<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span> yshift=max_ima_cy-(double)ny/2;</div>
-<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span> </div>
-<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span> snprintf(key_name,<span class="keyword">sizeof</span>(key_name),<span class="stringliteral">"%s%d%s"</span>,<span class="stringliteral">"QC PUPIL"</span>,n,<span class="stringliteral">" SHIFTX"</span>);</div>
-<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span> sinfo_qclog_add_double(*qclog_tbl,key_name,xshift,</div>
-<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span> <span class="stringliteral">"X shift centroid - center image"</span>,<span class="stringliteral">"%f"</span>);</div>
-<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span> </div>
-<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span> snprintf(key_name,<span class="keyword">sizeof</span>(key_name),<span class="stringliteral">"%s%d%s"</span>,<span class="stringliteral">"QC PUPIL"</span>,n,<span class="stringliteral">" SHIFTY"</span>);</div>
-<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span> sinfo_qclog_add_double(*qclog_tbl,key_name,yshift,</div>
-<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span> <span class="stringliteral">"Y shift centroid - center image"</span>,<span class="stringliteral">"%f"</span>);</div>
-<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span> cpl_image_delete(img);</div>
-<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span> </div>
-<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span> }</div>
-<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span> </div>
-<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span> </div>
-<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span> </div>
-<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span> <span class="keywordtype">int</span> sinfo_get_strehl_type(cpl_frameset* sof)</div>
-<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span> {</div>
-<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span> <span class="keywordtype">int</span> strehl_sw=0;</div>
-<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span> <span class="keywordtype">int</span> nobs=0;</div>
-<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span> cpl_frameset* obs=NULL;</div>
-<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span> </div>
-<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span> cpl_frame* frame=NULL;</div>
-<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span> <span class="keywordtype">float</span>* pix_scale=NULL;</div>
-<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span> </div>
-<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span> obs = cpl_frameset_new();</div>
-<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span> </div>
-<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span> sinfo_contains_frames_kind(sof,obs,PRO_OBS_PSF);</div>
-<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span> </div>
-<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span> nobs=cpl_frameset_get_size(obs);</div>
-<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span> <span class="keywordflow">if</span> (nobs < 1) {</div>
-<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span> sinfo_contains_frames_kind(sof,obs,PRO_OBS_STD);</div>
-<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span> nobs=cpl_frameset_get_size(obs);</div>
-<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span> }</div>
-<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span> </div>
-<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span> nobs=cpl_frameset_get_size(obs);</div>
-<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span> </div>
-<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span> <span class="keywordflow">if</span> (nobs < 1) {</div>
-<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span> pix_scale=cpl_calloc(nobs,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>));</div>
-<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span> <span class="keywordflow">for</span>(i=0;i<nobs;i++) {</div>
-<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span> frame=cpl_frameset_get_frame(obs,i);</div>
-<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span> plist=cpl_propertylist_load(cpl_frame_get_filename(frame),0);</div>
-<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span> pix_scale[i]=sinfo_pfits_get_pixscale(plist);</div>
-<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span> cpl_propertylist_delete(plist);</div>
-<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span> }</div>
-<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span> <span class="keywordflow">if</span>(sinfo_pix_scale_isnot_const(pix_scale,nobs)) {</div>
-<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span> strehl_sw=1;</div>
-<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span> }</div>
-<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span> cpl_free(pix_scale);</div>
-<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span> }</div>
-<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span> cpl_frameset_delete(obs);</div>
-<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span> </div>
-<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span> <span class="keywordflow">return</span> strehl_sw;</div>
-<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span> </div>
-<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span> }</div>
-<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span> </div>
-<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span> </div>
-<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span> </div>
-<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span> <span class="keywordtype">double</span> sinfo_get_wave_cent(<span class="keyword">const</span> <span class="keywordtype">char</span>* band)</div>
-<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span> {</div>
-<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span> <span class="keywordtype">double</span> lam=0.;</div>
-<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span> <span class="keywordflow">if</span> (strcmp(band,<span class="stringliteral">"H+K"</span>) == 0) {</div>
-<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span> lam=1.950;</div>
-<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(band,<span class="stringliteral">"K"</span>) == 0) {</div>
-<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span> lam=2.175;</div>
-<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(band,<span class="stringliteral">"J"</span>) == 0) {</div>
-<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span> lam=1.225;</div>
-<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(band,<span class="stringliteral">"H"</span>) == 0) {</div>
-<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span> lam=1.675;</div>
-<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span> }</div>
-<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span> <span class="keywordflow">return</span> lam;</div>
-<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span> </div>
-<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span> }</div>
-<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span> </div>
-<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span> </div>
-<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span> </div>
-<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span> <span class="keywordtype">int</span> sinfo_pix_scale_isnot_const(<span class="keywordtype">float</span>* pix_scale, <span class="keyword">const</span> <span class="keywordtype">int</span> n) {</div>
-<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span> <span class="keywordtype">float</span> eps=0.0001;</div>
-<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span> <span class="keywordtype">float</span> ref=pix_scale[0];</div>
-<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span> </div>
-<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span> <span class="keywordflow">for</span>(i=1;i<n;i++) {</div>
-<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span> <span class="keywordflow">if</span>(fabs(pix_scale[i]-ref) > eps) <span class="keywordflow">return</span> 1;</div>
-<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span> }</div>
-<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span> }</div>
-<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span> </div>
-<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span> </div>
-<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* sinfo_get_pix_scale(<span class="keywordtype">float</span> ps) {</div>
-<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span> </div>
-<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* key_value;</div>
-<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span> <span class="keywordtype">float</span> eps=0.0001;</div>
-<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span> </div>
-<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span> <span class="keywordflow">if</span>(fabs(ps - 0.025) < eps) {</div>
-<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span> key_value=<span class="stringliteral">"0.025"</span>;</div>
-<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span> }</div>
-<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (fabs(ps - 0.1) < eps) {</div>
-<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span> key_value=<span class="stringliteral">"0.1"</span>;</div>
-<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span> }</div>
-<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (fabs(ps - 0.25) < eps) {</div>
-<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span> key_value=<span class="stringliteral">"0.25"</span>;</div>
-<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span> }</div>
-<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (fabs(ps - 1.0) < eps) {</div>
-<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span> key_value=<span class="stringliteral">"pupil"</span>;</div>
-<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01656"></a><span class="lineno"> 1656</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"ps=%f. Failed to set pixel scale"</span>,ps);</div>
-<div class="line"><a name="l01657"></a><span class="lineno"> 1657</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span> }</div>
-<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span> </div>
-<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span> <span class="keywordflow">return</span> key_value;</div>
-<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span> }</div>
-<div class="line"><a name="l01662"></a><span class="lineno"> 1662</span> </div>
-<div class="line"><a name="l01663"></a><span class="lineno"> 1663</span> </div>
-<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span> <span class="keywordtype">int</span> sinfo_get_clean_mean_window(cpl_image* img,</div>
-<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span> <span class="keywordtype">int</span> llx, <span class="keywordtype">int</span> lly, <span class="keywordtype">int</span> urx, <span class="keywordtype">int</span> ury,</div>
-<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span> <span class="keyword">const</span> <span class="keywordtype">int</span> kappa, <span class="keyword">const</span> <span class="keywordtype">int</span> nclip,</div>
-<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span> <span class="keywordtype">double</span>* local_clean_mean,</div>
-<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span> <span class="keywordtype">double</span>* clean_stdev)</div>
-<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span> {</div>
-<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span> </div>
-<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span> <span class="keywordtype">double</span> mean=0;</div>
-<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span> <span class="keywordtype">double</span> stdev=0;</div>
-<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span> <span class="keywordtype">double</span> threshold=0;</div>
-<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span> <span class="keywordtype">double</span> lo_cut=0;</div>
-<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span> <span class="keywordtype">double</span> hi_cut=0;</div>
-<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span> cpl_mask* mask=NULL;</div>
-<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span> cpl_image* tmp=NULL;</div>
-<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span> cpl_stats* stats=NULL;</div>
-<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span> </div>
-<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span> tmp=cpl_image_extract(img,llx,lly,urx,ury);</div>
-<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span> cpl_image_accept_all(tmp);</div>
-<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span> <span class="keywordflow">for</span>(i=0;i<nclip;i++) {</div>
-<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span> </div>
-<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span> </div>
-<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span> cpl_stats_delete(stats);</div>
-<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span> stats = cpl_stats_new_from_image(tmp, CPL_STATS_MEAN | CPL_STATS_STDEV);</div>
-<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span> mean = cpl_stats_get_mean(stats);</div>
-<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span> stdev = cpl_stats_get_stdev(stats);</div>
-<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span> </div>
-<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span> threshold=kappa*stdev;</div>
-<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span> lo_cut=mean-threshold;</div>
-<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span> hi_cut=mean+threshold;</div>
-<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span> cpl_image_accept_all(tmp);</div>
-<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span> mask=cpl_mask_threshold_image_create(tmp,lo_cut,hi_cut);</div>
-<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span> </div>
-<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span> cpl_mask_not(mask);</div>
-<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span> cpl_image_reject_from_mask(tmp,mask);</div>
-<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span> cpl_mask_delete(mask);</div>
-<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span> </div>
-<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span> </div>
-<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span> }</div>
-<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span> *local_clean_mean=mean;</div>
-<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span> *clean_stdev=stdev;</div>
-<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span> cpl_image_delete(tmp);</div>
-<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span> cpl_stats_delete(stats);</div>
-<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span> </div>
-<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span> </div>
-<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span> </div>
-<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span> </div>
-<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span> }</div>
-<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span> <span class="keywordtype">int</span> sinfo_check_rec_status(<span class="keyword">const</span> <span class="keywordtype">int</span> val) {</div>
-<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"error before %d"</span>,val);</div>
-<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"%s"</span>, (<span class="keywordtype">char</span>* ) cpl_error_get_message());</div>
-<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"%s"</span>, (<span class="keywordtype">char</span>* ) cpl_error_get_where());</div>
-<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span> }</div>
-<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span> }</div>
-<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span> </div>
-<div class="line"><a name="l01749"></a><span class="lineno"> 1749</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01750"></a><span class="lineno"> 1750</span> sinfo_clean_nan(cpl_image** im)</div>
-<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span> {</div>
-<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span> <span class="keywordtype">int</span> nx=0;</div>
-<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span> <span class="keywordtype">int</span> ny=0;</div>
-<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span> <span class="keywordtype">float</span>* data=NULL;</div>
-<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span> </div>
-<div class="line"><a name="l01758"></a><span class="lineno"> 1758</span> nx=cpl_image_get_size_x(*im);</div>
-<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span> ny=cpl_image_get_size_y(*im);</div>
-<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span> data=cpl_image_get_data_float(*im);</div>
-<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span> </div>
-<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span> <span class="keywordflow">for</span>(j=0;j<ny;j++) {</div>
-<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span> <span class="keywordflow">for</span>(i=0;i<nx;i++) {</div>
-<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span> <span class="keywordflow">if</span>(isnan(data[j*nx+i]) != 0) {</div>
-<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span> data[j*nx+i] = 0;</div>
-<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span> }</div>
-<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span> }</div>
-<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span> }</div>
-<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span> }</div>
-<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span> </div>
-<div class="line"><a name="l01781"></a><span class="lineno"> 1781</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span> sinfo_add_pro_fits_key(cpl_propertylist * plist,</div>
-<div class="line"><a name="l01783"></a><span class="lineno"> 1783</span> <span class="keywordtype">char</span>* pro_catg,</div>
-<div class="line"><a name="l01784"></a><span class="lineno"> 1784</span> <span class="keywordtype">char</span>* file_name,</div>
-<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span> <span class="keywordtype">char</span>* out_name)</div>
-<div class="line"><a name="l01786"></a><span class="lineno"> 1786</span> {</div>
-<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span> </div>
-<div class="line"><a name="l01788"></a><span class="lineno"> 1788</span> <span class="keywordtype">char</span>* date=NULL;</div>
-<div class="line"><a name="l01789"></a><span class="lineno"> 1789</span> date = sinfo_get_datetime_iso8601() ;</div>
-<div class="line"><a name="l01790"></a><span class="lineno"> 1790</span> </div>
-<div class="line"><a name="l01791"></a><span class="lineno"> 1791</span> cpl_propertylist_insert_after_string(plist, <span class="stringliteral">"EXPTIME"</span>,</div>
-<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span> KEY_NAME_PIPEFILE, out_name) ;</div>
-<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span> cpl_propertylist_set_comment(plist, KEY_NAME_PIPEFILE,KEY_HELP_PIPEFILE) ;</div>
-<div class="line"><a name="l01794"></a><span class="lineno"> 1794</span> </div>
-<div class="line"><a name="l01795"></a><span class="lineno"> 1795</span> cpl_propertylist_insert_after_string(plist, <span class="stringliteral">"EXPTIME"</span>,</div>
-<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span> KEY_NAME_HPRO_DID, KEY_VALUE_HPRO_DID) ;</div>
-<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span> cpl_propertylist_set_comment(plist, KEY_NAME_HPRO_DID,KEY_HELP_HPRO_DID) ;</div>
-<div class="line"><a name="l01798"></a><span class="lineno"> 1798</span> </div>
-<div class="line"><a name="l01799"></a><span class="lineno"> 1799</span> cpl_propertylist_insert_after_string(plist, <span class="stringliteral">"EXPTIME"</span>,</div>
-<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span> KEY_NAME_HPRO_TYPE, <span class="stringliteral">"REDUCED"</span>) ;</div>
-<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span> cpl_propertylist_set_comment(plist, KEY_NAME_HPRO_TYPE, KEY_HELP_HPRO_TYPE) ;</div>
-<div class="line"><a name="l01802"></a><span class="lineno"> 1802</span> </div>
-<div class="line"><a name="l01803"></a><span class="lineno"> 1803</span> cpl_propertylist_insert_after_string(plist, <span class="stringliteral">"EXPTIME"</span>,</div>
-<div class="line"><a name="l01804"></a><span class="lineno"> 1804</span> KEY_NAME_HPRO_CATG, pro_catg) ;</div>
-<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span> cpl_propertylist_set_comment(plist, KEY_NAME_HPRO_CATG, KEY_HELP_HPRO_CATG);</div>
-<div class="line"><a name="l01806"></a><span class="lineno"> 1806</span> </div>
-<div class="line"><a name="l01807"></a><span class="lineno"> 1807</span> cpl_propertylist_insert_after_string(plist, <span class="stringliteral">"EXPTIME"</span>,</div>
-<div class="line"><a name="l01808"></a><span class="lineno"> 1808</span> KEY_NAME_HPRO_STATUS, <span class="stringliteral">"OK"</span>) ;</div>
-<div class="line"><a name="l01809"></a><span class="lineno"> 1809</span> cpl_propertylist_set_comment(plist, KEY_NAME_HPRO_STATUS,KEY_HELP_HPRO_CATG);</div>
-<div class="line"><a name="l01810"></a><span class="lineno"> 1810</span> </div>
-<div class="line"><a name="l01811"></a><span class="lineno"> 1811</span> cpl_propertylist_insert_after_string(plist, <span class="stringliteral">"EXPTIME"</span>,</div>
-<div class="line"><a name="l01812"></a><span class="lineno"> 1812</span> KEY_NAME_HPRO_DATE, date) ;</div>
-<div class="line"><a name="l01813"></a><span class="lineno"> 1813</span> cpl_propertylist_set_comment(plist, KEY_NAME_HPRO_DATE, KEY_HELP_HPRO_DATE);</div>
-<div class="line"><a name="l01814"></a><span class="lineno"> 1814</span> </div>
-<div class="line"><a name="l01815"></a><span class="lineno"> 1815</span> cpl_propertylist_insert_after_string(plist, <span class="stringliteral">"EXPTIME"</span>,</div>
-<div class="line"><a name="l01816"></a><span class="lineno"> 1816</span> KEY_NAME_HPRO_RECID, file_name) ;</div>
-<div class="line"><a name="l01817"></a><span class="lineno"> 1817</span> cpl_propertylist_set_comment(plist, KEY_NAME_HPRO_RECID,KEY_HELP_HPRO_RECID);</div>
-<div class="line"><a name="l01818"></a><span class="lineno"> 1818</span> </div>
-<div class="line"><a name="l01819"></a><span class="lineno"> 1819</span> cpl_propertylist_insert_after_string(plist, <span class="stringliteral">"EXPTIME"</span>,</div>
-<div class="line"><a name="l01820"></a><span class="lineno"> 1820</span> KEY_NAME_HPRO_DRSID, PACKAGE_VERSION);</div>
-<div class="line"><a name="l01821"></a><span class="lineno"> 1821</span> cpl_propertylist_set_comment(plist, KEY_NAME_HPRO_DRSID,KEY_HELP_HPRO_DRSID);</div>
-<div class="line"><a name="l01822"></a><span class="lineno"> 1822</span> </div>
-<div class="line"><a name="l01823"></a><span class="lineno"> 1823</span> </div>
-<div class="line"><a name="l01824"></a><span class="lineno"> 1824</span> }</div>
-<div class="line"><a name="l01825"></a><span class="lineno"> 1825</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01832"></a><span class="lineno"> 1832</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01833"></a><span class="lineno"> 1833</span> <span class="keywordtype">int</span> sinfo_compare_tags(</div>
-<div class="line"><a name="l01834"></a><span class="lineno"> 1834</span> <span class="keyword">const</span> cpl_frame * frame1,</div>
-<div class="line"><a name="l01835"></a><span class="lineno"> 1835</span> <span class="keyword">const</span> cpl_frame * frame2)</div>
-<div class="line"><a name="l01836"></a><span class="lineno"> 1836</span> {</div>
-<div class="line"><a name="l01837"></a><span class="lineno"> 1837</span> <span class="keywordtype">char</span> * v1 ;</div>
-<div class="line"><a name="l01838"></a><span class="lineno"> 1838</span> <span class="keywordtype">char</span> * v2 ;</div>
-<div class="line"><a name="l01839"></a><span class="lineno"> 1839</span> </div>
-<div class="line"><a name="l01840"></a><span class="lineno"> 1840</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l01841"></a><span class="lineno"> 1841</span> <span class="keywordflow">if</span> (frame1==NULL || frame2==NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01842"></a><span class="lineno"> 1842</span> </div>
-<div class="line"><a name="l01843"></a><span class="lineno"> 1843</span> <span class="comment">/* Get the tags */</span></div>
-<div class="line"><a name="l01844"></a><span class="lineno"> 1844</span> <span class="keywordflow">if</span> ((v1 = (<span class="keywordtype">char</span>*)cpl_frame_get_tag(frame1)) == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01845"></a><span class="lineno"> 1845</span> <span class="keywordflow">if</span> ((v2 = (<span class="keywordtype">char</span>*)cpl_frame_get_tag(frame2)) == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01846"></a><span class="lineno"> 1846</span> </div>
-<div class="line"><a name="l01847"></a><span class="lineno"> 1847</span> <span class="comment">/* Compare the tags */</span></div>
-<div class="line"><a name="l01848"></a><span class="lineno"> 1848</span> <span class="keywordflow">if</span> (strcmp(v1, v2)) <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l01849"></a><span class="lineno"> 1849</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l01850"></a><span class="lineno"> 1850</span> }</div>
-<div class="line"><a name="l01851"></a><span class="lineno"> 1851</span> </div>
-<div class="line"><a name="l01860"></a><span class="lineno"> 1860</span> <span class="keywordtype">int</span> sinfo_extract_raw_pinhole_frames(cpl_frameset * sof, cpl_frameset** raw)</div>
-<div class="line"><a name="l01861"></a><span class="lineno"> 1861</span> {</div>
-<div class="line"><a name="l01862"></a><span class="lineno"> 1862</span> <span class="keywordtype">char</span>* tag=NULL;</div>
-<div class="line"><a name="l01863"></a><span class="lineno"> 1863</span> <span class="keywordtype">char</span>* name=NULL;</div>
-<div class="line"><a name="l01864"></a><span class="lineno"> 1864</span> cpl_frame* frame = NULL;</div>
-<div class="line"><a name="l01865"></a><span class="lineno"> 1865</span> <span class="keywordtype">int</span> nsof=0;</div>
-<div class="line"><a name="l01866"></a><span class="lineno"> 1866</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l01867"></a><span class="lineno"> 1867</span> nsof = cpl_frameset_get_size(sof);</div>
-<div class="line"><a name="l01868"></a><span class="lineno"> 1868</span> <span class="keywordflow">for</span> (i=0 ; i<nsof ; i++) {</div>
-<div class="line"><a name="l01869"></a><span class="lineno"> 1869</span> frame = cpl_frameset_get_frame(sof,i);</div>
-<div class="line"><a name="l01870"></a><span class="lineno"> 1870</span> name= (<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l01871"></a><span class="lineno"> 1871</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(name) == 1) {</div>
-<div class="line"><a name="l01872"></a><span class="lineno"> 1872</span> <span class="comment">/* to go on the file must exist */</span></div>
-<div class="line"><a name="l01873"></a><span class="lineno"> 1873</span> <span class="keywordflow">if</span>(cpl_frame_get_tag(frame) != NULL) {</div>
-<div class="line"><a name="l01874"></a><span class="lineno"> 1874</span> <span class="comment">/* If the frame has a tag we process it. Else it is an object */</span></div>
-<div class="line"><a name="l01875"></a><span class="lineno"> 1875</span> tag= (<span class="keywordtype">char</span>*) cpl_frame_get_tag(frame);</div>
-<div class="line"><a name="l01876"></a><span class="lineno"> 1876</span> <span class="keywordflow">if</span>(sinfo_frame_is_pinhole_lamp(tag) == 1) {</div>
-<div class="line"><a name="l01877"></a><span class="lineno"> 1877</span> cpl_frameset_insert(*raw,frame);</div>
-<div class="line"><a name="l01878"></a><span class="lineno"> 1878</span> }</div>
-<div class="line"><a name="l01879"></a><span class="lineno"> 1879</span> }</div>
-<div class="line"><a name="l01880"></a><span class="lineno"> 1880</span> }</div>
-<div class="line"><a name="l01881"></a><span class="lineno"> 1881</span> }</div>
-<div class="line"><a name="l01882"></a><span class="lineno"> 1882</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01883"></a><span class="lineno"> 1883</span> }</div>
-<div class="line"><a name="l01884"></a><span class="lineno"> 1884</span> </div>
-<div class="line"><a name="l01885"></a><span class="lineno"> 1885</span> </div>
-<div class="line"><a name="l01886"></a><span class="lineno"> 1886</span> <span class="keywordtype">int</span> sinfo_get_ins_set(<span class="keywordtype">char</span>* band,<span class="keywordtype">int</span>* ins_set){</div>
-<div class="line"><a name="l01887"></a><span class="lineno"> 1887</span> </div>
-<div class="line"><a name="l01888"></a><span class="lineno"> 1888</span> <span class="keywordflow">if</span> (strcmp(band,<span class="stringliteral">"H"</span>) == 0) {</div>
-<div class="line"><a name="l01889"></a><span class="lineno"> 1889</span> *ins_set = 0;</div>
-<div class="line"><a name="l01890"></a><span class="lineno"> 1890</span> }</div>
-<div class="line"><a name="l01891"></a><span class="lineno"> 1891</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(band,<span class="stringliteral">"H+K"</span>) == 0) {</div>
-<div class="line"><a name="l01892"></a><span class="lineno"> 1892</span> *ins_set = 1;</div>
-<div class="line"><a name="l01893"></a><span class="lineno"> 1893</span> }</div>
-<div class="line"><a name="l01894"></a><span class="lineno"> 1894</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(band,<span class="stringliteral">"K"</span>) == 0) {</div>
-<div class="line"><a name="l01895"></a><span class="lineno"> 1895</span> *ins_set = 2;</div>
-<div class="line"><a name="l01896"></a><span class="lineno"> 1896</span> }</div>
-<div class="line"><a name="l01897"></a><span class="lineno"> 1897</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(band,<span class="stringliteral">"J"</span>) == 0) {</div>
-<div class="line"><a name="l01898"></a><span class="lineno"> 1898</span> *ins_set = 3;</div>
-<div class="line"><a name="l01899"></a><span class="lineno"> 1899</span> }</div>
-<div class="line"><a name="l01900"></a><span class="lineno"> 1900</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01901"></a><span class="lineno"> 1901</span> </div>
-<div class="line"><a name="l01902"></a><span class="lineno"> 1902</span> </div>
-<div class="line"><a name="l01903"></a><span class="lineno"> 1903</span> }</div>
-<div class="line"><a name="l01904"></a><span class="lineno"> 1904</span> <span class="keywordtype">int</span> sinfo_extract_raw_frames(cpl_frameset * sof, cpl_frameset** raw)</div>
-<div class="line"><a name="l01905"></a><span class="lineno"> 1905</span> {</div>
-<div class="line"><a name="l01906"></a><span class="lineno"> 1906</span> <span class="keywordtype">char</span>* tag=NULL;</div>
-<div class="line"><a name="l01907"></a><span class="lineno"> 1907</span> <span class="keywordtype">char</span>* name=NULL;</div>
-<div class="line"><a name="l01908"></a><span class="lineno"> 1908</span> cpl_frame* frame = NULL;</div>
-<div class="line"><a name="l01909"></a><span class="lineno"> 1909</span> <span class="keywordtype">int</span> nsof=0;</div>
-<div class="line"><a name="l01910"></a><span class="lineno"> 1910</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l01911"></a><span class="lineno"> 1911</span> nsof = cpl_frameset_get_size(sof);</div>
-<div class="line"><a name="l01912"></a><span class="lineno"> 1912</span> <span class="keywordflow">for</span> (i=0 ; i<nsof ; i++) {</div>
-<div class="line"><a name="l01913"></a><span class="lineno"> 1913</span> frame = cpl_frameset_get_frame(sof,i);</div>
-<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span> name= (<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(name) == 1) {</div>
-<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span> <span class="comment">/* to go on the file must exist */</span></div>
-<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span> <span class="keywordflow">if</span>(cpl_frame_get_tag(frame) != NULL) {</div>
-<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span> <span class="comment">/* If the frame has a tag we process it. Else it is an object */</span></div>
-<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span> tag= (<span class="keywordtype">char</span>*) cpl_frame_get_tag(frame);</div>
-<div class="line"><a name="l01920"></a><span class="lineno"> 1920</span> <span class="keywordflow">if</span>(sinfo_frame_is_raw(tag) == 1) {</div>
-<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span> cpl_frameset_insert(*raw,frame);</div>
-<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span> }</div>
-<div class="line"><a name="l01923"></a><span class="lineno"> 1923</span> }</div>
-<div class="line"><a name="l01924"></a><span class="lineno"> 1924</span> }</div>
-<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span> }</div>
-<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span> }</div>
-<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span> </div>
-<div class="line"><a name="l01929"></a><span class="lineno"> 1929</span> <span class="keywordtype">int</span> sinfo_remove_qc_frames(cpl_frameset* sof,cpl_frameset** raw)</div>
-<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span> {</div>
-<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span> <span class="keywordtype">char</span>* tag=NULL;</div>
-<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span> <span class="keywordtype">char</span>* name=NULL;</div>
-<div class="line"><a name="l01933"></a><span class="lineno"> 1933</span> cpl_frame* frame = NULL;</div>
-<div class="line"><a name="l01934"></a><span class="lineno"> 1934</span> <span class="keywordtype">int</span> nsof=0;</div>
-<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span> </div>
-<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span> nsof = cpl_frameset_get_size(sof);</div>
-<div class="line"><a name="l01938"></a><span class="lineno"> 1938</span> <span class="keywordflow">for</span> (i=0 ; i<nsof ; i++) {</div>
-<div class="line"><a name="l01939"></a><span class="lineno"> 1939</span> frame = cpl_frameset_get_frame(sof,i);</div>
-<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span> name= (<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l01941"></a><span class="lineno"> 1941</span> <span class="comment">/* sinfo_msg("name=%s",name); */</span></div>
-<div class="line"><a name="l01942"></a><span class="lineno"> 1942</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(name) == 1) {</div>
-<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span> <span class="comment">/* sinfo_msg("\t exist "); */</span></div>
-<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span> <span class="comment">/* to go on the file must exist */</span></div>
-<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span> <span class="keywordflow">if</span>(cpl_frame_get_tag(frame) != NULL) {</div>
-<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span> <span class="comment">/* If the frame has a tag we process it. Else it is an object */</span></div>
-<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span> tag= (<span class="keywordtype">char</span>*) cpl_frame_get_tag(frame);</div>
-<div class="line"><a name="l01948"></a><span class="lineno"> 1948</span> <span class="comment">/* sinfo_msg("\t tag %s\n ",tag); */</span></div>
-<div class="line"><a name="l01949"></a><span class="lineno"> 1949</span> <span class="keywordflow">if</span>(strstr(tag,<span class="stringliteral">"QC"</span>) != NULL) {</div>
-<div class="line"><a name="l01950"></a><span class="lineno"> 1950</span> <span class="comment">/* sinfo_msg("remove frame %s\n",name); */</span></div>
-<div class="line"><a name="l01951"></a><span class="lineno"> 1951</span> cpl_frameset_erase(*raw,tag);</div>
-<div class="line"><a name="l01952"></a><span class="lineno"> 1952</span> }</div>
-<div class="line"><a name="l01953"></a><span class="lineno"> 1953</span> }</div>
-<div class="line"><a name="l01954"></a><span class="lineno"> 1954</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span> <span class="comment">/* sinfo_msg("remove frame\n"); */</span></div>
-<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span> cpl_frameset_erase_frame(*raw,frame);</div>
-<div class="line"><a name="l01957"></a><span class="lineno"> 1957</span> }</div>
-<div class="line"><a name="l01958"></a><span class="lineno"> 1958</span> }</div>
-<div class="line"><a name="l01959"></a><span class="lineno"> 1959</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span> </div>
-<div class="line"><a name="l01961"></a><span class="lineno"> 1961</span> }</div>
-<div class="line"><a name="l01962"></a><span class="lineno"> 1962</span> </div>
-<div class="line"><a name="l01963"></a><span class="lineno"> 1963</span> </div>
-<div class="line"><a name="l01964"></a><span class="lineno"> 1964</span> <span class="keywordtype">int</span> sinfo_contains_frames_kind(cpl_frameset * sof,</div>
-<div class="line"><a name="l01965"></a><span class="lineno"> 1965</span> cpl_frameset* raw,</div>
-<div class="line"><a name="l01966"></a><span class="lineno"> 1966</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* type)</div>
-<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span> {</div>
-<div class="line"><a name="l01968"></a><span class="lineno"> 1968</span> <span class="keywordtype">char</span>* tag=NULL;</div>
-<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span> <span class="keywordtype">char</span>* name=NULL;</div>
-<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span> cpl_frame* frame = NULL;</div>
-<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span> cpl_frame* frame_dup = NULL;</div>
-<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span> </div>
-<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span> <span class="keywordtype">int</span> nsof=0;</div>
-<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span> nsof = cpl_frameset_get_size(sof);</div>
-<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span> <span class="keywordflow">for</span> (i=0 ; i<nsof ; i++) {</div>
-<div class="line"><a name="l01977"></a><span class="lineno"> 1977</span> frame = cpl_frameset_get_frame(sof,i);</div>
-<div class="line"><a name="l01978"></a><span class="lineno"> 1978</span> name= (<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l01979"></a><span class="lineno"> 1979</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(name) == 1) {</div>
-<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span> <span class="comment">/* to go on the file must exist */</span></div>
-<div class="line"><a name="l01981"></a><span class="lineno"> 1981</span> <span class="keywordflow">if</span>(cpl_frame_get_tag(frame) != NULL) {</div>
-<div class="line"><a name="l01982"></a><span class="lineno"> 1982</span> <span class="comment">/* If the frame has a tag we process it. Else it is an object */</span></div>
-<div class="line"><a name="l01983"></a><span class="lineno"> 1983</span> tag= (<span class="keywordtype">char</span>*) cpl_frame_get_tag(frame);</div>
-<div class="line"><a name="l01984"></a><span class="lineno"> 1984</span> <span class="comment">/* sinfo_msg("name=%s tag=%s type=%s\n",name,tag,type); */</span></div>
-<div class="line"><a name="l01985"></a><span class="lineno"> 1985</span> <span class="keywordflow">if</span>(strstr(tag,type) != NULL) {</div>
-<div class="line"><a name="l01986"></a><span class="lineno"> 1986</span> <span class="comment">/* sinfo_msg("Match name=%s tag=%s type=%s\n",name,tag,type); */</span></div>
-<div class="line"><a name="l01987"></a><span class="lineno"> 1987</span> frame_dup = cpl_frame_duplicate(frame);</div>
-<div class="line"><a name="l01988"></a><span class="lineno"> 1988</span> cpl_frameset_insert(raw,frame_dup);</div>
-<div class="line"><a name="l01989"></a><span class="lineno"> 1989</span> <span class="comment">/* sinfo_msg("inserted\n"); */</span></div>
-<div class="line"><a name="l01990"></a><span class="lineno"> 1990</span> }</div>
-<div class="line"><a name="l01991"></a><span class="lineno"> 1991</span> }</div>
-<div class="line"><a name="l01992"></a><span class="lineno"> 1992</span> }</div>
-<div class="line"><a name="l01993"></a><span class="lineno"> 1993</span> }</div>
-<div class="line"><a name="l01994"></a><span class="lineno"> 1994</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01995"></a><span class="lineno"> 1995</span> }</div>
-<div class="line"><a name="l01996"></a><span class="lineno"> 1996</span> </div>
-<div class="line"><a name="l01997"></a><span class="lineno"> 1997</span> </div>
-<div class="line"><a name="l01998"></a><span class="lineno"> 1998</span> </div>
-<div class="line"><a name="l01999"></a><span class="lineno"> 1999</span> </div>
-<div class="line"><a name="l02000"></a><span class="lineno"> 2000</span> <span class="keywordtype">int</span> sinfo_is_fibres_on_off(cpl_frameset * sof,</div>
-<div class="line"><a name="l02001"></a><span class="lineno"> 2001</span> cpl_frameset* raw)</div>
-<div class="line"><a name="l02002"></a><span class="lineno"> 2002</span> {</div>
-<div class="line"><a name="l02003"></a><span class="lineno"> 2003</span> <span class="keywordtype">char</span>* tag=NULL;</div>
-<div class="line"><a name="l02004"></a><span class="lineno"> 2004</span> <span class="keywordtype">char</span>* name=NULL;</div>
-<div class="line"><a name="l02005"></a><span class="lineno"> 2005</span> cpl_frame* frame = NULL;</div>
-<div class="line"><a name="l02006"></a><span class="lineno"> 2006</span> cpl_frame* frame_dup = NULL;</div>
-<div class="line"><a name="l02007"></a><span class="lineno"> 2007</span> </div>
-<div class="line"><a name="l02008"></a><span class="lineno"> 2008</span> <span class="keywordtype">int</span> nsof=0;</div>
-<div class="line"><a name="l02009"></a><span class="lineno"> 2009</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02010"></a><span class="lineno"> 2010</span> nsof = cpl_frameset_get_size(sof);</div>
-<div class="line"><a name="l02011"></a><span class="lineno"> 2011</span> <span class="keywordflow">for</span> (i=0 ; i<nsof ; i++) {</div>
-<div class="line"><a name="l02012"></a><span class="lineno"> 2012</span> frame = cpl_frameset_get_frame(sof,i);</div>
-<div class="line"><a name="l02013"></a><span class="lineno"> 2013</span> name= (<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l02014"></a><span class="lineno"> 2014</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(name) == 1) {</div>
-<div class="line"><a name="l02015"></a><span class="lineno"> 2015</span> <span class="comment">/* to go on the file must exist */</span></div>
-<div class="line"><a name="l02016"></a><span class="lineno"> 2016</span> <span class="keywordflow">if</span>(cpl_frame_get_tag(frame) != NULL) {</div>
-<div class="line"><a name="l02017"></a><span class="lineno"> 2017</span> <span class="comment">/* If the frame has a tag we process it. Else it is an object */</span></div>
-<div class="line"><a name="l02018"></a><span class="lineno"> 2018</span> tag= (<span class="keywordtype">char</span>*) cpl_frame_get_tag(frame);</div>
-<div class="line"><a name="l02019"></a><span class="lineno"> 2019</span> <span class="comment">/* sinfo_msg("name=%s tag=%s type=%s\n",name,tag,type); */</span></div>
-<div class="line"><a name="l02020"></a><span class="lineno"> 2020</span> <span class="keywordflow">if</span>( strcmp(tag,PRO_FIBRE_NS_STACKED ) == 0) {</div>
-<div class="line"><a name="l02021"></a><span class="lineno"> 2021</span> <span class="comment">/* sinfo_msg("Match name=%s tag=%s type=%s\n",name,tag); */</span></div>
-<div class="line"><a name="l02022"></a><span class="lineno"> 2022</span> frame_dup = cpl_frame_duplicate(frame);</div>
-<div class="line"><a name="l02023"></a><span class="lineno"> 2023</span> cpl_frameset_insert(raw,frame_dup);</div>
-<div class="line"><a name="l02024"></a><span class="lineno"> 2024</span> <span class="comment">/* sinfo_msg("inserted\n"); */</span></div>
-<div class="line"><a name="l02025"></a><span class="lineno"> 2025</span> }</div>
-<div class="line"><a name="l02026"></a><span class="lineno"> 2026</span> }</div>
-<div class="line"><a name="l02027"></a><span class="lineno"> 2027</span> }</div>
-<div class="line"><a name="l02028"></a><span class="lineno"> 2028</span> }</div>
-<div class="line"><a name="l02029"></a><span class="lineno"> 2029</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02030"></a><span class="lineno"> 2030</span> }</div>
-<div class="line"><a name="l02031"></a><span class="lineno"> 2031</span> </div>
-<div class="line"><a name="l02032"></a><span class="lineno"> 2032</span> </div>
-<div class="line"><a name="l02033"></a><span class="lineno"> 2033</span> <span class="keywordtype">int</span> sinfo_contains_frames_type(cpl_frameset * sof,</div>
-<div class="line"><a name="l02034"></a><span class="lineno"> 2034</span> cpl_frameset** raw,</div>
-<div class="line"><a name="l02035"></a><span class="lineno"> 2035</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* type)</div>
-<div class="line"><a name="l02036"></a><span class="lineno"> 2036</span> {</div>
-<div class="line"><a name="l02037"></a><span class="lineno"> 2037</span> <span class="keywordtype">char</span>* tag=NULL;</div>
-<div class="line"><a name="l02038"></a><span class="lineno"> 2038</span> <span class="keywordtype">char</span>* name=NULL;</div>
-<div class="line"><a name="l02039"></a><span class="lineno"> 2039</span> cpl_frame* frame = NULL;</div>
-<div class="line"><a name="l02040"></a><span class="lineno"> 2040</span> cpl_frame* frame_dup = NULL;</div>
-<div class="line"><a name="l02041"></a><span class="lineno"> 2041</span> <span class="keywordtype">int</span> nsof=0;</div>
-<div class="line"><a name="l02042"></a><span class="lineno"> 2042</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02043"></a><span class="lineno"> 2043</span> nsof = cpl_frameset_get_size(sof);</div>
-<div class="line"><a name="l02044"></a><span class="lineno"> 2044</span> <span class="keywordflow">for</span> (i=0 ; i<nsof ; i++) {</div>
-<div class="line"><a name="l02045"></a><span class="lineno"> 2045</span> frame = cpl_frameset_get_frame(sof,i);</div>
-<div class="line"><a name="l02046"></a><span class="lineno"> 2046</span> name= (<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l02047"></a><span class="lineno"> 2047</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(name) == 1) {</div>
-<div class="line"><a name="l02048"></a><span class="lineno"> 2048</span> <span class="comment">/* to go on the file must exist */</span></div>
-<div class="line"><a name="l02049"></a><span class="lineno"> 2049</span> <span class="keywordflow">if</span>(cpl_frame_get_tag(frame) != NULL) {</div>
-<div class="line"><a name="l02050"></a><span class="lineno"> 2050</span> <span class="comment">/* If the frame has a tag we process it. Else it is an object */</span></div>
-<div class="line"><a name="l02051"></a><span class="lineno"> 2051</span> tag= (<span class="keywordtype">char</span>*) cpl_frame_get_tag(frame);</div>
-<div class="line"><a name="l02052"></a><span class="lineno"> 2052</span> <span class="keywordflow">if</span>(strstr(tag,type) != NULL) {</div>
-<div class="line"><a name="l02053"></a><span class="lineno"> 2053</span> <span class="comment">/* sinfo_msg("name=%s tag=%s type=%s\n",name,tag,type); */</span></div>
-<div class="line"><a name="l02054"></a><span class="lineno"> 2054</span> frame_dup=cpl_frame_duplicate(frame);</div>
-<div class="line"><a name="l02055"></a><span class="lineno"> 2055</span> cpl_frameset_insert(*raw,frame_dup);</div>
-<div class="line"><a name="l02056"></a><span class="lineno"> 2056</span> }</div>
-<div class="line"><a name="l02057"></a><span class="lineno"> 2057</span> }</div>
-<div class="line"><a name="l02058"></a><span class="lineno"> 2058</span> }</div>
-<div class="line"><a name="l02059"></a><span class="lineno"> 2059</span> }</div>
-<div class="line"><a name="l02060"></a><span class="lineno"> 2060</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02061"></a><span class="lineno"> 2061</span> }</div>
-<div class="line"><a name="l02062"></a><span class="lineno"> 2062</span> </div>
-<div class="line"><a name="l02063"></a><span class="lineno"> 2063</span> <span class="keywordtype">int</span> sinfo_extract_raw_frames_type2(cpl_frameset * sof,</div>
-<div class="line"><a name="l02064"></a><span class="lineno"> 2064</span> cpl_frameset** raw,</div>
-<div class="line"><a name="l02065"></a><span class="lineno"> 2065</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* type)</div>
-<div class="line"><a name="l02066"></a><span class="lineno"> 2066</span> {</div>
-<div class="line"><a name="l02067"></a><span class="lineno"> 2067</span> </div>
-<div class="line"><a name="l02068"></a><span class="lineno"> 2068</span> cpl_frame* frame=NULL;</div>
-<div class="line"><a name="l02069"></a><span class="lineno"> 2069</span> cpl_frame* frame_dup = NULL;</div>
-<div class="line"><a name="l02070"></a><span class="lineno"> 2070</span> frame = cpl_frameset_find(sof,type);</div>
-<div class="line"><a name="l02071"></a><span class="lineno"> 2071</span> <span class="keywordflow">while</span>(frame) {</div>
-<div class="line"><a name="l02072"></a><span class="lineno"> 2072</span> frame_dup=cpl_frame_duplicate(frame);</div>
-<div class="line"><a name="l02073"></a><span class="lineno"> 2073</span> cpl_frameset_insert(*raw,frame_dup);</div>
-<div class="line"><a name="l02074"></a><span class="lineno"> 2074</span> frame = cpl_frameset_find(sof,NULL);</div>
-<div class="line"><a name="l02075"></a><span class="lineno"> 2075</span> }</div>
-<div class="line"><a name="l02076"></a><span class="lineno"> 2076</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02077"></a><span class="lineno"> 2077</span> </div>
-<div class="line"><a name="l02078"></a><span class="lineno"> 2078</span> }</div>
-<div class="line"><a name="l02079"></a><span class="lineno"> 2079</span> </div>
-<div class="line"><a name="l02080"></a><span class="lineno"> 2080</span> </div>
-<div class="line"><a name="l02081"></a><span class="lineno"> 2081</span> <span class="keywordtype">int</span> sinfo_extract_raw_frames_type1(cpl_frameset * sof,</div>
-<div class="line"><a name="l02082"></a><span class="lineno"> 2082</span> cpl_frameset* raw,</div>
-<div class="line"><a name="l02083"></a><span class="lineno"> 2083</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* type)</div>
-<div class="line"><a name="l02084"></a><span class="lineno"> 2084</span> {</div>
-<div class="line"><a name="l02085"></a><span class="lineno"> 2085</span> </div>
-<div class="line"><a name="l02086"></a><span class="lineno"> 2086</span> cpl_frame* frame=NULL;</div>
-<div class="line"><a name="l02087"></a><span class="lineno"> 2087</span> cpl_frame* frame_dup = NULL;</div>
-<div class="line"><a name="l02088"></a><span class="lineno"> 2088</span> frame = cpl_frameset_find(sof,type);</div>
-<div class="line"><a name="l02089"></a><span class="lineno"> 2089</span> <span class="keywordflow">while</span>(frame) {</div>
-<div class="line"><a name="l02090"></a><span class="lineno"> 2090</span> frame_dup=cpl_frame_duplicate(frame);</div>
-<div class="line"><a name="l02091"></a><span class="lineno"> 2091</span> cpl_frameset_insert(raw,frame_dup);</div>
-<div class="line"><a name="l02092"></a><span class="lineno"> 2092</span> frame = cpl_frameset_find(sof,NULL);</div>
-<div class="line"><a name="l02093"></a><span class="lineno"> 2093</span> }</div>
-<div class="line"><a name="l02094"></a><span class="lineno"> 2094</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02095"></a><span class="lineno"> 2095</span> </div>
-<div class="line"><a name="l02096"></a><span class="lineno"> 2096</span> }</div>
-<div class="line"><a name="l02097"></a><span class="lineno"> 2097</span> </div>
-<div class="line"><a name="l02098"></a><span class="lineno"> 2098</span> <span class="keywordtype">int</span> sinfo_extract_raw_frames_type(cpl_frameset * sof,</div>
-<div class="line"><a name="l02099"></a><span class="lineno"> 2099</span> cpl_frameset** raw,</div>
-<div class="line"><a name="l02100"></a><span class="lineno"> 2100</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* type)</div>
-<div class="line"><a name="l02101"></a><span class="lineno"> 2101</span> {</div>
-<div class="line"><a name="l02102"></a><span class="lineno"> 2102</span> <span class="keywordtype">char</span> tag[FILE_NAME_SZ];</div>
-<div class="line"><a name="l02103"></a><span class="lineno"> 2103</span> <span class="keywordtype">char</span> name[FILE_NAME_SZ];</div>
-<div class="line"><a name="l02104"></a><span class="lineno"> 2104</span> cpl_frame* frame = NULL;</div>
-<div class="line"><a name="l02105"></a><span class="lineno"> 2105</span> cpl_frame* frame_dup = NULL;</div>
-<div class="line"><a name="l02106"></a><span class="lineno"> 2106</span> <span class="keywordtype">int</span> nsof=0;</div>
-<div class="line"><a name="l02107"></a><span class="lineno"> 2107</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02108"></a><span class="lineno"> 2108</span> nsof = cpl_frameset_get_size(sof);</div>
-<div class="line"><a name="l02109"></a><span class="lineno"> 2109</span> <span class="keywordflow">for</span> (i=0 ; i<nsof ; i++) {</div>
-<div class="line"><a name="l02110"></a><span class="lineno"> 2110</span> frame = cpl_frameset_get_frame(sof,i);</div>
-<div class="line"><a name="l02111"></a><span class="lineno"> 2111</span> strcpy(name, cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l02112"></a><span class="lineno"> 2112</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(name) == 1) {</div>
-<div class="line"><a name="l02113"></a><span class="lineno"> 2113</span> <span class="comment">/* to go on the file must exist */</span></div>
-<div class="line"><a name="l02114"></a><span class="lineno"> 2114</span> <span class="keywordflow">if</span>(cpl_frame_get_tag(frame) != NULL) {</div>
-<div class="line"><a name="l02115"></a><span class="lineno"> 2115</span> <span class="comment">/* If the frame has a tag we process it. Else it is an object */</span></div>
-<div class="line"><a name="l02116"></a><span class="lineno"> 2116</span> strcpy(tag,cpl_frame_get_tag(frame));</div>
-<div class="line"><a name="l02117"></a><span class="lineno"> 2117</span> <span class="keywordflow">if</span>(strcmp(tag,type) == 0) {</div>
-<div class="line"><a name="l02118"></a><span class="lineno"> 2118</span> <span class="comment">/* sinfo_msg("name=%s tag=%s type=%s\n",name,tag,type); */</span></div>
-<div class="line"><a name="l02119"></a><span class="lineno"> 2119</span> frame_dup=cpl_frame_duplicate(frame);</div>
-<div class="line"><a name="l02120"></a><span class="lineno"> 2120</span> </div>
-<div class="line"><a name="l02121"></a><span class="lineno"> 2121</span> cpl_frameset_insert(*raw,frame_dup);</div>
-<div class="line"><a name="l02122"></a><span class="lineno"> 2122</span> }</div>
-<div class="line"><a name="l02123"></a><span class="lineno"> 2123</span> }</div>
-<div class="line"><a name="l02124"></a><span class="lineno"> 2124</span> }</div>
-<div class="line"><a name="l02125"></a><span class="lineno"> 2125</span> }</div>
-<div class="line"><a name="l02126"></a><span class="lineno"> 2126</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02127"></a><span class="lineno"> 2127</span> }</div>
-<div class="line"><a name="l02128"></a><span class="lineno"> 2128</span> </div>
-<div class="line"><a name="l02129"></a><span class="lineno"> 2129</span> <span class="keywordtype">int</span> sinfo_extract_frames_type(cpl_frameset * sof,</div>
-<div class="line"><a name="l02130"></a><span class="lineno"> 2130</span> cpl_frameset * raw,</div>
-<div class="line"><a name="l02131"></a><span class="lineno"> 2131</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* type)</div>
-<div class="line"><a name="l02132"></a><span class="lineno"> 2132</span> {</div>
-<div class="line"><a name="l02133"></a><span class="lineno"> 2133</span> <span class="keywordtype">char</span>* tag=NULL;</div>
-<div class="line"><a name="l02134"></a><span class="lineno"> 2134</span> <span class="keywordtype">char</span>* name=NULL;</div>
-<div class="line"><a name="l02135"></a><span class="lineno"> 2135</span> cpl_frame* frame = NULL;</div>
-<div class="line"><a name="l02136"></a><span class="lineno"> 2136</span> cpl_frame* frame_dup = NULL;</div>
-<div class="line"><a name="l02137"></a><span class="lineno"> 2137</span> <span class="keywordtype">int</span> nsof=0;</div>
-<div class="line"><a name="l02138"></a><span class="lineno"> 2138</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02139"></a><span class="lineno"> 2139</span> nsof = cpl_frameset_get_size(sof);</div>
-<div class="line"><a name="l02140"></a><span class="lineno"> 2140</span> <span class="keywordflow">for</span> (i=0 ; i<nsof ; i++) {</div>
-<div class="line"><a name="l02141"></a><span class="lineno"> 2141</span> frame = cpl_frameset_get_frame(sof,i);</div>
-<div class="line"><a name="l02142"></a><span class="lineno"> 2142</span> name= (<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l02143"></a><span class="lineno"> 2143</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(name) == 1) {</div>
-<div class="line"><a name="l02144"></a><span class="lineno"> 2144</span> <span class="comment">/* to go on the file must exist */</span></div>
-<div class="line"><a name="l02145"></a><span class="lineno"> 2145</span> <span class="keywordflow">if</span>(cpl_frame_get_tag(frame) != NULL) {</div>
-<div class="line"><a name="l02146"></a><span class="lineno"> 2146</span> <span class="comment">/* If the frame has a tag we process it. Else it is an object */</span></div>
-<div class="line"><a name="l02147"></a><span class="lineno"> 2147</span> tag= (<span class="keywordtype">char</span>*) cpl_frame_get_tag(frame);</div>
-<div class="line"><a name="l02148"></a><span class="lineno"> 2148</span> <span class="keywordflow">if</span>(strcmp(tag,type) == 0) {</div>
-<div class="line"><a name="l02149"></a><span class="lineno"> 2149</span> <span class="comment">/* sinfo_msg("name=%s tag=%s type=%s\n",name,tag,type); */</span></div>
-<div class="line"><a name="l02150"></a><span class="lineno"> 2150</span> frame_dup=cpl_frame_duplicate(frame);</div>
-<div class="line"><a name="l02151"></a><span class="lineno"> 2151</span> cpl_frameset_insert(raw,frame_dup);</div>
-<div class="line"><a name="l02152"></a><span class="lineno"> 2152</span> }</div>
-<div class="line"><a name="l02153"></a><span class="lineno"> 2153</span> }</div>
-<div class="line"><a name="l02154"></a><span class="lineno"> 2154</span> }</div>
-<div class="line"><a name="l02155"></a><span class="lineno"> 2155</span> }</div>
-<div class="line"><a name="l02156"></a><span class="lineno"> 2156</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02157"></a><span class="lineno"> 2157</span> }</div>
-<div class="line"><a name="l02158"></a><span class="lineno"> 2158</span> </div>
-<div class="line"><a name="l02159"></a><span class="lineno"> 2159</span> </div>
-<div class="line"><a name="l02160"></a><span class="lineno"> 2160</span> <span class="keywordtype">int</span> sinfo_extract_obj_frames(cpl_frameset * sof, cpl_frameset* obj)</div>
-<div class="line"><a name="l02161"></a><span class="lineno"> 2161</span> {</div>
-<div class="line"><a name="l02162"></a><span class="lineno"> 2162</span> <span class="keywordtype">char</span>* tag=NULL;</div>
-<div class="line"><a name="l02163"></a><span class="lineno"> 2163</span> <span class="keywordtype">char</span>* name=NULL;</div>
-<div class="line"><a name="l02164"></a><span class="lineno"> 2164</span> cpl_frame* frame = NULL;</div>
-<div class="line"><a name="l02165"></a><span class="lineno"> 2165</span> cpl_frame* frame_dup = NULL;</div>
-<div class="line"><a name="l02166"></a><span class="lineno"> 2166</span> </div>
-<div class="line"><a name="l02167"></a><span class="lineno"> 2167</span> <span class="keywordtype">int</span> nsof=0;</div>
-<div class="line"><a name="l02168"></a><span class="lineno"> 2168</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02169"></a><span class="lineno"> 2169</span> nsof = cpl_frameset_get_size(sof);</div>
-<div class="line"><a name="l02170"></a><span class="lineno"> 2170</span> <span class="keywordflow">for</span> (i=0 ; i<nsof ; i++) {</div>
-<div class="line"><a name="l02171"></a><span class="lineno"> 2171</span> frame = cpl_frameset_get_frame(sof,i);</div>
-<div class="line"><a name="l02172"></a><span class="lineno"> 2172</span> name= (<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l02173"></a><span class="lineno"> 2173</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(name) ==1) {</div>
-<div class="line"><a name="l02174"></a><span class="lineno"> 2174</span> <span class="comment">/* to go on the file must exist */</span></div>
-<div class="line"><a name="l02175"></a><span class="lineno"> 2175</span> <span class="keywordflow">if</span>(cpl_frame_get_tag(frame) != NULL) {</div>
-<div class="line"><a name="l02176"></a><span class="lineno"> 2176</span> <span class="comment">/* If the frame has a tag we process it. Else it is an object */</span></div>
-<div class="line"><a name="l02177"></a><span class="lineno"> 2177</span> tag= (<span class="keywordtype">char</span>*) cpl_frame_get_tag(frame);</div>
-<div class="line"><a name="l02178"></a><span class="lineno"> 2178</span> <span class="keywordflow">if</span>(sinfo_tag_is_obj(tag) == 1) {</div>
-<div class="line"><a name="l02179"></a><span class="lineno"> 2179</span> frame_dup=cpl_frame_duplicate(frame);</div>
-<div class="line"><a name="l02180"></a><span class="lineno"> 2180</span> cpl_frameset_insert(obj,frame_dup);</div>
-<div class="line"><a name="l02181"></a><span class="lineno"> 2181</span> }</div>
-<div class="line"><a name="l02182"></a><span class="lineno"> 2182</span> }</div>
-<div class="line"><a name="l02183"></a><span class="lineno"> 2183</span> }</div>
-<div class="line"><a name="l02184"></a><span class="lineno"> 2184</span> }</div>
-<div class="line"><a name="l02185"></a><span class="lineno"> 2185</span> </div>
-<div class="line"><a name="l02186"></a><span class="lineno"> 2186</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02187"></a><span class="lineno"> 2187</span> }</div>
-<div class="line"><a name="l02188"></a><span class="lineno"> 2188</span> </div>
-<div class="line"><a name="l02189"></a><span class="lineno"> 2189</span> </div>
-<div class="line"><a name="l02190"></a><span class="lineno"> 2190</span> <span class="keywordtype">int</span> sinfo_extract_obj_products(cpl_frameset * sof, cpl_frameset* obj)</div>
-<div class="line"><a name="l02191"></a><span class="lineno"> 2191</span> {</div>
-<div class="line"><a name="l02192"></a><span class="lineno"> 2192</span> <span class="keywordtype">char</span>* tag=NULL;</div>
-<div class="line"><a name="l02193"></a><span class="lineno"> 2193</span> <span class="keywordtype">char</span>* name=NULL;</div>
-<div class="line"><a name="l02194"></a><span class="lineno"> 2194</span> cpl_frame* frame = NULL;</div>
-<div class="line"><a name="l02195"></a><span class="lineno"> 2195</span> cpl_frame* frame_dup = NULL;</div>
-<div class="line"><a name="l02196"></a><span class="lineno"> 2196</span> </div>
-<div class="line"><a name="l02197"></a><span class="lineno"> 2197</span> <span class="keywordtype">int</span> nsof=0;</div>
-<div class="line"><a name="l02198"></a><span class="lineno"> 2198</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02199"></a><span class="lineno"> 2199</span> nsof = cpl_frameset_get_size(sof);</div>
-<div class="line"><a name="l02200"></a><span class="lineno"> 2200</span> <span class="keywordflow">for</span> (i=0 ; i<nsof ; i++) {</div>
-<div class="line"><a name="l02201"></a><span class="lineno"> 2201</span> frame = cpl_frameset_get_frame(sof,i);</div>
-<div class="line"><a name="l02202"></a><span class="lineno"> 2202</span> name= (<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l02203"></a><span class="lineno"> 2203</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(name) ==1) {</div>
-<div class="line"><a name="l02204"></a><span class="lineno"> 2204</span> <span class="comment">/* to go on the file must exist */</span></div>
-<div class="line"><a name="l02205"></a><span class="lineno"> 2205</span> <span class="keywordflow">if</span>(cpl_frame_get_tag(frame) != NULL) {</div>
-<div class="line"><a name="l02206"></a><span class="lineno"> 2206</span> <span class="comment">/* If the frame has a tag we process it. Else it is an object */</span></div>
-<div class="line"><a name="l02207"></a><span class="lineno"> 2207</span> tag= (<span class="keywordtype">char</span>*) cpl_frame_get_tag(frame);</div>
-<div class="line"><a name="l02208"></a><span class="lineno"> 2208</span> <span class="keywordflow">if</span>(sinfo_tag_is_objpro(tag) == 1) {</div>
-<div class="line"><a name="l02209"></a><span class="lineno"> 2209</span> frame_dup=cpl_frame_duplicate(frame);</div>
-<div class="line"><a name="l02210"></a><span class="lineno"> 2210</span> cpl_frameset_insert(obj,frame_dup);</div>
-<div class="line"><a name="l02211"></a><span class="lineno"> 2211</span> }</div>
-<div class="line"><a name="l02212"></a><span class="lineno"> 2212</span> }</div>
-<div class="line"><a name="l02213"></a><span class="lineno"> 2213</span> }</div>
-<div class="line"><a name="l02214"></a><span class="lineno"> 2214</span> }</div>
-<div class="line"><a name="l02215"></a><span class="lineno"> 2215</span> </div>
-<div class="line"><a name="l02216"></a><span class="lineno"> 2216</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02217"></a><span class="lineno"> 2217</span> }</div>
-<div class="line"><a name="l02218"></a><span class="lineno"> 2218</span> </div>
-<div class="line"><a name="l02219"></a><span class="lineno"> 2219</span> <span class="keywordtype">int</span> sinfo_extract_on_frames(cpl_frameset * sof, cpl_frameset* on)</div>
-<div class="line"><a name="l02220"></a><span class="lineno"> 2220</span> {</div>
-<div class="line"><a name="l02221"></a><span class="lineno"> 2221</span> cpl_frame* frame = NULL;</div>
-<div class="line"><a name="l02222"></a><span class="lineno"> 2222</span> cpl_frame* frame_dup = NULL;</div>
-<div class="line"><a name="l02223"></a><span class="lineno"> 2223</span> </div>
-<div class="line"><a name="l02224"></a><span class="lineno"> 2224</span> <span class="keywordtype">int</span> nsof=0;</div>
-<div class="line"><a name="l02225"></a><span class="lineno"> 2225</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02226"></a><span class="lineno"> 2226</span> nsof = cpl_frameset_get_size(sof);</div>
-<div class="line"><a name="l02227"></a><span class="lineno"> 2227</span> <span class="keywordflow">for</span> (i=0 ; i<nsof ; i++) {</div>
-<div class="line"><a name="l02228"></a><span class="lineno"> 2228</span> frame = cpl_frameset_get_frame(sof,i);</div>
-<div class="line"><a name="l02229"></a><span class="lineno"> 2229</span> <span class="keywordflow">if</span>(sinfo_frame_is_on(frame) ==1) {</div>
-<div class="line"><a name="l02230"></a><span class="lineno"> 2230</span> frame_dup=cpl_frame_duplicate(frame);</div>
-<div class="line"><a name="l02231"></a><span class="lineno"> 2231</span> cpl_frameset_insert(on,frame_dup);</div>
-<div class="line"><a name="l02232"></a><span class="lineno"> 2232</span> }</div>
-<div class="line"><a name="l02233"></a><span class="lineno"> 2233</span> }</div>
-<div class="line"><a name="l02234"></a><span class="lineno"> 2234</span> </div>
-<div class="line"><a name="l02235"></a><span class="lineno"> 2235</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02236"></a><span class="lineno"> 2236</span> }</div>
-<div class="line"><a name="l02237"></a><span class="lineno"> 2237</span> </div>
-<div class="line"><a name="l02238"></a><span class="lineno"> 2238</span> <span class="keywordtype">int</span> sinfo_extract_sky_frames(cpl_frameset * sof, cpl_frameset* sky)</div>
-<div class="line"><a name="l02239"></a><span class="lineno"> 2239</span> {</div>
-<div class="line"><a name="l02240"></a><span class="lineno"> 2240</span> <span class="keywordtype">char</span>* tag=NULL;</div>
-<div class="line"><a name="l02241"></a><span class="lineno"> 2241</span> <span class="keywordtype">char</span>* name=NULL;</div>
-<div class="line"><a name="l02242"></a><span class="lineno"> 2242</span> cpl_frame* frame = NULL;</div>
-<div class="line"><a name="l02243"></a><span class="lineno"> 2243</span> cpl_frame* frame_dup = NULL;</div>
-<div class="line"><a name="l02244"></a><span class="lineno"> 2244</span> <span class="keywordtype">int</span> nsof=0;</div>
-<div class="line"><a name="l02245"></a><span class="lineno"> 2245</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02246"></a><span class="lineno"> 2246</span> nsof = cpl_frameset_get_size(sof);</div>
-<div class="line"><a name="l02247"></a><span class="lineno"> 2247</span> <span class="keywordflow">for</span> (i=0 ; i<nsof ; i++) {</div>
-<div class="line"><a name="l02248"></a><span class="lineno"> 2248</span> frame = cpl_frameset_get_frame(sof,i);</div>
-<div class="line"><a name="l02249"></a><span class="lineno"> 2249</span> name= (<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l02250"></a><span class="lineno"> 2250</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(name) ==1) {</div>
-<div class="line"><a name="l02251"></a><span class="lineno"> 2251</span> <span class="comment">/* to go on the file must exist */</span></div>
-<div class="line"><a name="l02252"></a><span class="lineno"> 2252</span> <span class="keywordflow">if</span>(cpl_frame_get_tag(frame) != NULL) {</div>
-<div class="line"><a name="l02253"></a><span class="lineno"> 2253</span> <span class="comment">/* If the frame has a tag we process it. Else it is an object */</span></div>
-<div class="line"><a name="l02254"></a><span class="lineno"> 2254</span> tag= (<span class="keywordtype">char</span>*) cpl_frame_get_tag(frame);</div>
-<div class="line"><a name="l02255"></a><span class="lineno"> 2255</span> <span class="keywordflow">if</span>(sinfo_tag_is_sky(tag) == 1) {</div>
-<div class="line"><a name="l02256"></a><span class="lineno"> 2256</span> frame_dup=cpl_frame_duplicate(frame);</div>
-<div class="line"><a name="l02257"></a><span class="lineno"> 2257</span> cpl_frameset_insert(sky,frame_dup);</div>
-<div class="line"><a name="l02258"></a><span class="lineno"> 2258</span> }</div>
-<div class="line"><a name="l02259"></a><span class="lineno"> 2259</span> }</div>
-<div class="line"><a name="l02260"></a><span class="lineno"> 2260</span> }</div>
-<div class="line"><a name="l02261"></a><span class="lineno"> 2261</span> }</div>
-<div class="line"><a name="l02262"></a><span class="lineno"> 2262</span> </div>
-<div class="line"><a name="l02263"></a><span class="lineno"> 2263</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02264"></a><span class="lineno"> 2264</span> }</div>
-<div class="line"><a name="l02265"></a><span class="lineno"> 2265</span> </div>
-<div class="line"><a name="l02266"></a><span class="lineno"> 2266</span> </div>
-<div class="line"><a name="l02267"></a><span class="lineno"> 2267</span> </div>
-<div class="line"><a name="l02268"></a><span class="lineno"> 2268</span> <span class="keywordtype">int</span> sinfo_extract_off_frames(cpl_frameset * sof, cpl_frameset* off)</div>
-<div class="line"><a name="l02269"></a><span class="lineno"> 2269</span> {</div>
-<div class="line"><a name="l02270"></a><span class="lineno"> 2270</span> cpl_frame* frame = NULL;</div>
-<div class="line"><a name="l02271"></a><span class="lineno"> 2271</span> cpl_frame* frame_dup = NULL;</div>
-<div class="line"><a name="l02272"></a><span class="lineno"> 2272</span> <span class="keywordtype">int</span> nsof=0;</div>
-<div class="line"><a name="l02273"></a><span class="lineno"> 2273</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02274"></a><span class="lineno"> 2274</span> nsof = cpl_frameset_get_size(sof);</div>
-<div class="line"><a name="l02275"></a><span class="lineno"> 2275</span> <span class="keywordflow">for</span> (i=0 ; i<nsof ; i++) {</div>
-<div class="line"><a name="l02276"></a><span class="lineno"> 2276</span> frame = cpl_frameset_get_frame(sof,i);</div>
-<div class="line"><a name="l02277"></a><span class="lineno"> 2277</span> <span class="keywordflow">if</span>(sinfo_frame_is_on(frame)) {</div>
-<div class="line"><a name="l02278"></a><span class="lineno"> 2278</span> frame_dup=cpl_frame_duplicate(frame);</div>
-<div class="line"><a name="l02279"></a><span class="lineno"> 2279</span> cpl_frameset_insert(off,frame_dup);</div>
-<div class="line"><a name="l02280"></a><span class="lineno"> 2280</span> }</div>
-<div class="line"><a name="l02281"></a><span class="lineno"> 2281</span> }</div>
-<div class="line"><a name="l02282"></a><span class="lineno"> 2282</span> </div>
-<div class="line"><a name="l02283"></a><span class="lineno"> 2283</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02284"></a><span class="lineno"> 2284</span> }</div>
-<div class="line"><a name="l02285"></a><span class="lineno"> 2285</span> </div>
-<div class="line"><a name="l02286"></a><span class="lineno"> 2286</span> <span class="keywordtype">int</span> sinfo_extract_mst_frames(cpl_frameset * sof, cpl_frameset* cdb)</div>
-<div class="line"><a name="l02287"></a><span class="lineno"> 2287</span> {</div>
-<div class="line"><a name="l02288"></a><span class="lineno"> 2288</span> <span class="keywordtype">char</span>* tag=NULL;</div>
-<div class="line"><a name="l02289"></a><span class="lineno"> 2289</span> <span class="keywordtype">char</span>* name=NULL;</div>
-<div class="line"><a name="l02290"></a><span class="lineno"> 2290</span> cpl_frame* frame = NULL;</div>
-<div class="line"><a name="l02291"></a><span class="lineno"> 2291</span> cpl_frame* frame_dup = NULL;</div>
-<div class="line"><a name="l02292"></a><span class="lineno"> 2292</span> <span class="keywordtype">int</span> nsof=0;</div>
-<div class="line"><a name="l02293"></a><span class="lineno"> 2293</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02294"></a><span class="lineno"> 2294</span> </div>
-<div class="line"><a name="l02295"></a><span class="lineno"> 2295</span> nsof = cpl_frameset_get_size(sof);</div>
-<div class="line"><a name="l02296"></a><span class="lineno"> 2296</span> <span class="keywordflow">for</span> (i=0 ; i<nsof ; i++) {</div>
-<div class="line"><a name="l02297"></a><span class="lineno"> 2297</span> frame = cpl_frameset_get_frame(sof,i);</div>
-<div class="line"><a name="l02298"></a><span class="lineno"> 2298</span> name= (<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l02299"></a><span class="lineno"> 2299</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(name) ==1) {</div>
-<div class="line"><a name="l02300"></a><span class="lineno"> 2300</span> <span class="comment">/* to go on the file must exist */</span></div>
-<div class="line"><a name="l02301"></a><span class="lineno"> 2301</span> <span class="keywordflow">if</span>(cpl_frame_get_tag(frame) != NULL) {</div>
-<div class="line"><a name="l02302"></a><span class="lineno"> 2302</span> <span class="comment">/* If the frame has a tag we process it. Else it is an object */</span></div>
-<div class="line"><a name="l02303"></a><span class="lineno"> 2303</span> tag= (<span class="keywordtype">char</span>*) cpl_frame_get_tag(frame);</div>
-<div class="line"><a name="l02304"></a><span class="lineno"> 2304</span> <span class="keywordflow">if</span>(sinfo_frame_is_cdb(tag) == 1) {</div>
-<div class="line"><a name="l02305"></a><span class="lineno"> 2305</span> frame_dup=cpl_frame_duplicate(frame);</div>
-<div class="line"><a name="l02306"></a><span class="lineno"> 2306</span> cpl_frameset_insert(cdb,frame_dup);</div>
-<div class="line"><a name="l02307"></a><span class="lineno"> 2307</span> }</div>
-<div class="line"><a name="l02308"></a><span class="lineno"> 2308</span> }</div>
-<div class="line"><a name="l02309"></a><span class="lineno"> 2309</span> }</div>
-<div class="line"><a name="l02310"></a><span class="lineno"> 2310</span> }</div>
-<div class="line"><a name="l02311"></a><span class="lineno"> 2311</span> </div>
-<div class="line"><a name="l02312"></a><span class="lineno"> 2312</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02313"></a><span class="lineno"> 2313</span> }</div>
-<div class="line"><a name="l02314"></a><span class="lineno"> 2314</span> </div>
-<div class="line"><a name="l02315"></a><span class="lineno"> 2315</span> cpl_frameset* sinfo_frameset_join(cpl_frameset* fs1,cpl_frameset* fs2) {</div>
-<div class="line"><a name="l02316"></a><span class="lineno"> 2316</span> </div>
-<div class="line"><a name="l02317"></a><span class="lineno"> 2317</span> cpl_frameset* join=NULL;</div>
-<div class="line"><a name="l02318"></a><span class="lineno"> 2318</span> cpl_frame* frm=NULL;</div>
-<div class="line"><a name="l02319"></a><span class="lineno"> 2319</span> cpl_frame* frm_dup=NULL;</div>
-<div class="line"><a name="l02320"></a><span class="lineno"> 2320</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02321"></a><span class="lineno"> 2321</span> <span class="keywordtype">int</span> n=0;</div>
-<div class="line"><a name="l02322"></a><span class="lineno"> 2322</span> </div>
-<div class="line"><a name="l02323"></a><span class="lineno"> 2323</span> join=cpl_frameset_new();</div>
-<div class="line"><a name="l02324"></a><span class="lineno"> 2324</span> </div>
-<div class="line"><a name="l02325"></a><span class="lineno"> 2325</span> n=cpl_frameset_get_size(fs1);</div>
-<div class="line"><a name="l02326"></a><span class="lineno"> 2326</span> <span class="keywordflow">for</span>(i=0;i<n; i++) {</div>
-<div class="line"><a name="l02327"></a><span class="lineno"> 2327</span> frm=cpl_frameset_get_frame(fs1,i);</div>
-<div class="line"><a name="l02328"></a><span class="lineno"> 2328</span> frm_dup= cpl_frame_duplicate(frm);</div>
-<div class="line"><a name="l02329"></a><span class="lineno"> 2329</span> cpl_frameset_insert(join,frm_dup);</div>
-<div class="line"><a name="l02330"></a><span class="lineno"> 2330</span> }</div>
-<div class="line"><a name="l02331"></a><span class="lineno"> 2331</span> </div>
-<div class="line"><a name="l02332"></a><span class="lineno"> 2332</span> n=cpl_frameset_get_size(fs2);</div>
-<div class="line"><a name="l02333"></a><span class="lineno"> 2333</span> <span class="keywordflow">for</span>(i=0;i<n; i++) {</div>
-<div class="line"><a name="l02334"></a><span class="lineno"> 2334</span> frm=cpl_frameset_get_frame(fs2,i);</div>
-<div class="line"><a name="l02335"></a><span class="lineno"> 2335</span> frm_dup= cpl_frame_duplicate(frm);</div>
-<div class="line"><a name="l02336"></a><span class="lineno"> 2336</span> cpl_frameset_insert(join,frm_dup);</div>
-<div class="line"><a name="l02337"></a><span class="lineno"> 2337</span> }</div>
-<div class="line"><a name="l02338"></a><span class="lineno"> 2338</span> </div>
-<div class="line"><a name="l02339"></a><span class="lineno"> 2339</span> </div>
-<div class="line"><a name="l02340"></a><span class="lineno"> 2340</span> <span class="keywordflow">return</span> join;</div>
-<div class="line"><a name="l02341"></a><span class="lineno"> 2341</span> </div>
-<div class="line"><a name="l02342"></a><span class="lineno"> 2342</span> }</div>
-<div class="line"><a name="l02343"></a><span class="lineno"> 2343</span> </div>
-<div class="line"><a name="l02344"></a><span class="lineno"> 2344</span> </div>
-<div class="line"><a name="l02345"></a><span class="lineno"> 2345</span> <span class="keywordtype">int</span> sinfo_extract_stk_frames(cpl_frameset * sof,</div>
-<div class="line"><a name="l02346"></a><span class="lineno"> 2346</span> cpl_frameset* res)</div>
-<div class="line"><a name="l02347"></a><span class="lineno"> 2347</span> {</div>
-<div class="line"><a name="l02348"></a><span class="lineno"> 2348</span> <span class="keywordtype">char</span>* tag=NULL;</div>
-<div class="line"><a name="l02349"></a><span class="lineno"> 2349</span> <span class="keywordtype">char</span>* name=NULL;</div>
-<div class="line"><a name="l02350"></a><span class="lineno"> 2350</span> cpl_frame* frame = NULL;</div>
-<div class="line"><a name="l02351"></a><span class="lineno"> 2351</span> cpl_frame* frame_dup = NULL;</div>
-<div class="line"><a name="l02352"></a><span class="lineno"> 2352</span> <span class="keywordtype">int</span> nsof=0;</div>
-<div class="line"><a name="l02353"></a><span class="lineno"> 2353</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02354"></a><span class="lineno"> 2354</span> </div>
-<div class="line"><a name="l02355"></a><span class="lineno"> 2355</span> nsof = cpl_frameset_get_size(sof);</div>
-<div class="line"><a name="l02356"></a><span class="lineno"> 2356</span> <span class="keywordflow">for</span> (i=0 ; i<nsof ; i++) {</div>
-<div class="line"><a name="l02357"></a><span class="lineno"> 2357</span> frame = cpl_frameset_get_frame(sof,i);</div>
-<div class="line"><a name="l02358"></a><span class="lineno"> 2358</span> name= (<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l02359"></a><span class="lineno"> 2359</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(name) ==1) {</div>
-<div class="line"><a name="l02360"></a><span class="lineno"> 2360</span> <span class="comment">/* to go on the file must exist */</span></div>
-<div class="line"><a name="l02361"></a><span class="lineno"> 2361</span> <span class="keywordflow">if</span>(cpl_frame_get_tag(frame) != NULL) {</div>
-<div class="line"><a name="l02362"></a><span class="lineno"> 2362</span> <span class="comment">/* If the frame has a tag we process it. Else it is an object */</span></div>
-<div class="line"><a name="l02363"></a><span class="lineno"> 2363</span> tag= (<span class="keywordtype">char</span>*) cpl_frame_get_tag(frame);</div>
-<div class="line"><a name="l02364"></a><span class="lineno"> 2364</span> <span class="keywordflow">if</span>(sinfo_frame_is_stk(tag) == 1) {</div>
-<div class="line"><a name="l02365"></a><span class="lineno"> 2365</span> frame_dup=cpl_frame_duplicate(frame);</div>
-<div class="line"><a name="l02366"></a><span class="lineno"> 2366</span> cpl_frameset_insert(res,frame_dup);</div>
-<div class="line"><a name="l02367"></a><span class="lineno"> 2367</span> }</div>
-<div class="line"><a name="l02368"></a><span class="lineno"> 2368</span> }</div>
-<div class="line"><a name="l02369"></a><span class="lineno"> 2369</span> }</div>
-<div class="line"><a name="l02370"></a><span class="lineno"> 2370</span> }</div>
-<div class="line"><a name="l02371"></a><span class="lineno"> 2371</span> </div>
-<div class="line"><a name="l02372"></a><span class="lineno"> 2372</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02373"></a><span class="lineno"> 2373</span> }</div>
-<div class="line"><a name="l02374"></a><span class="lineno"> 2374</span> </div>
-<div class="line"><a name="l02375"></a><span class="lineno"> 2375</span> </div>
-<div class="line"><a name="l02376"></a><span class="lineno"> 2376</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02377"></a><span class="lineno"> 2377</span> sinfo_extract_preoptic_frames(cpl_frameset * sof,</div>
-<div class="line"><a name="l02378"></a><span class="lineno"> 2378</span> cpl_frameset** res,</div>
-<div class="line"><a name="l02379"></a><span class="lineno"> 2379</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* val)</div>
-<div class="line"><a name="l02380"></a><span class="lineno"> 2380</span> {</div>
-<div class="line"><a name="l02381"></a><span class="lineno"> 2381</span> <span class="keywordtype">char</span>* name=NULL;</div>
-<div class="line"><a name="l02382"></a><span class="lineno"> 2382</span> cpl_frame* frame = NULL;</div>
-<div class="line"><a name="l02383"></a><span class="lineno"> 2383</span> cpl_frame* frame_dup = NULL;</div>
-<div class="line"><a name="l02384"></a><span class="lineno"> 2384</span> <span class="keywordtype">int</span> nsof=0;</div>
-<div class="line"><a name="l02385"></a><span class="lineno"> 2385</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02386"></a><span class="lineno"> 2386</span> </div>
-<div class="line"><a name="l02387"></a><span class="lineno"> 2387</span> nsof = cpl_frameset_get_size(sof);</div>
-<div class="line"><a name="l02388"></a><span class="lineno"> 2388</span> <span class="keywordflow">for</span> (i=0 ; i<nsof ; i++) {</div>
-<div class="line"><a name="l02389"></a><span class="lineno"> 2389</span> frame = cpl_frameset_get_frame(sof,i);</div>
-<div class="line"><a name="l02390"></a><span class="lineno"> 2390</span> name= (<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l02391"></a><span class="lineno"> 2391</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(name) ==1) {</div>
-<div class="line"><a name="l02392"></a><span class="lineno"> 2392</span> <span class="keywordflow">if</span>(sinfo_frame_is_preoptic(frame,val) == 1) {</div>
-<div class="line"><a name="l02393"></a><span class="lineno"> 2393</span> frame_dup=cpl_frame_duplicate(frame);</div>
-<div class="line"><a name="l02394"></a><span class="lineno"> 2394</span> cpl_frameset_insert(*res,frame_dup);</div>
-<div class="line"><a name="l02395"></a><span class="lineno"> 2395</span> }</div>
-<div class="line"><a name="l02396"></a><span class="lineno"> 2396</span> }</div>
-<div class="line"><a name="l02397"></a><span class="lineno"> 2397</span> }</div>
-<div class="line"><a name="l02398"></a><span class="lineno"> 2398</span> </div>
-<div class="line"><a name="l02399"></a><span class="lineno"> 2399</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02400"></a><span class="lineno"> 2400</span> }</div>
-<div class="line"><a name="l02401"></a><span class="lineno"> 2401</span> </div>
-<div class="line"><a name="l02402"></a><span class="lineno"> 2402</span> <span class="keywordtype">int</span> sinfo_extract_raw_stack_frames(cpl_frameset * sof, cpl_frameset** pro)</div>
-<div class="line"><a name="l02403"></a><span class="lineno"> 2403</span> {</div>
-<div class="line"><a name="l02404"></a><span class="lineno"> 2404</span> <span class="keywordtype">char</span>* tag=NULL;</div>
-<div class="line"><a name="l02405"></a><span class="lineno"> 2405</span> <span class="keywordtype">char</span>* name=NULL;</div>
-<div class="line"><a name="l02406"></a><span class="lineno"> 2406</span> cpl_frame* frame = NULL;</div>
-<div class="line"><a name="l02407"></a><span class="lineno"> 2407</span> cpl_frame* frame_dup = NULL;</div>
-<div class="line"><a name="l02408"></a><span class="lineno"> 2408</span> </div>
-<div class="line"><a name="l02409"></a><span class="lineno"> 2409</span> <span class="keywordtype">int</span> nsof=0;</div>
-<div class="line"><a name="l02410"></a><span class="lineno"> 2410</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02411"></a><span class="lineno"> 2411</span> nsof = cpl_frameset_get_size(sof);</div>
-<div class="line"><a name="l02412"></a><span class="lineno"> 2412</span> </div>
-<div class="line"><a name="l02413"></a><span class="lineno"> 2413</span> <span class="keywordflow">for</span> (i=0 ; i<nsof ; i++) {</div>
-<div class="line"><a name="l02414"></a><span class="lineno"> 2414</span> frame = cpl_frameset_get_frame(sof,i);</div>
-<div class="line"><a name="l02415"></a><span class="lineno"> 2415</span> name= (<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l02416"></a><span class="lineno"> 2416</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(name) ==1) {</div>
-<div class="line"><a name="l02417"></a><span class="lineno"> 2417</span> <span class="comment">/* to go on the file must exist */</span></div>
-<div class="line"><a name="l02418"></a><span class="lineno"> 2418</span> <span class="keywordflow">if</span>(cpl_frame_get_tag(frame) != NULL) {</div>
-<div class="line"><a name="l02419"></a><span class="lineno"> 2419</span> <span class="comment">/* If the frame has a tag we process it. Else it is an object */</span></div>
-<div class="line"><a name="l02420"></a><span class="lineno"> 2420</span> tag= (<span class="keywordtype">char</span>*) cpl_frame_get_tag(frame);</div>
-<div class="line"><a name="l02421"></a><span class="lineno"> 2421</span> <span class="comment">/* sinfo_msg("tag=%s\n",tag); */</span></div>
-<div class="line"><a name="l02422"></a><span class="lineno"> 2422</span> <span class="keywordflow">if</span>(sinfo_frame_is_raw_stack(tag) == 1) {</div>
-<div class="line"><a name="l02423"></a><span class="lineno"> 2423</span> frame_dup = cpl_frame_duplicate(frame);</div>
-<div class="line"><a name="l02424"></a><span class="lineno"> 2424</span> cpl_frameset_insert(*pro,frame_dup);</div>
-<div class="line"><a name="l02425"></a><span class="lineno"> 2425</span> }</div>
-<div class="line"><a name="l02426"></a><span class="lineno"> 2426</span> }</div>
-<div class="line"><a name="l02427"></a><span class="lineno"> 2427</span> }</div>
-<div class="line"><a name="l02428"></a><span class="lineno"> 2428</span> }</div>
-<div class="line"><a name="l02429"></a><span class="lineno"> 2429</span> </div>
-<div class="line"><a name="l02430"></a><span class="lineno"> 2430</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02431"></a><span class="lineno"> 2431</span> }</div>
-<div class="line"><a name="l02432"></a><span class="lineno"> 2432</span> </div>
-<div class="line"><a name="l02433"></a><span class="lineno"> 2433</span> </div>
-<div class="line"><a name="l02434"></a><span class="lineno"> 2434</span> <span class="keywordtype">int</span> sinfo_extract_raw_slit_frames(cpl_frameset * sof, cpl_frameset** pro)</div>
-<div class="line"><a name="l02435"></a><span class="lineno"> 2435</span> {</div>
-<div class="line"><a name="l02436"></a><span class="lineno"> 2436</span> <span class="keywordtype">char</span>* tag=NULL;</div>
-<div class="line"><a name="l02437"></a><span class="lineno"> 2437</span> <span class="keywordtype">char</span>* name=NULL;</div>
-<div class="line"><a name="l02438"></a><span class="lineno"> 2438</span> cpl_frame* frame = NULL;</div>
-<div class="line"><a name="l02439"></a><span class="lineno"> 2439</span> <span class="keywordtype">int</span> nsof=0;</div>
-<div class="line"><a name="l02440"></a><span class="lineno"> 2440</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02441"></a><span class="lineno"> 2441</span> nsof = cpl_frameset_get_size(sof);</div>
-<div class="line"><a name="l02442"></a><span class="lineno"> 2442</span> <span class="keywordflow">for</span> (i=0 ; i<nsof ; i++) {</div>
-<div class="line"><a name="l02443"></a><span class="lineno"> 2443</span> frame = cpl_frameset_get_frame(sof,i);</div>
-<div class="line"><a name="l02444"></a><span class="lineno"> 2444</span> name= (<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l02445"></a><span class="lineno"> 2445</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(name) ==1) {</div>
-<div class="line"><a name="l02446"></a><span class="lineno"> 2446</span> <span class="comment">/* to go on the file must exist */</span></div>
-<div class="line"><a name="l02447"></a><span class="lineno"> 2447</span> <span class="keywordflow">if</span>(cpl_frame_get_tag(frame) != NULL) {</div>
-<div class="line"><a name="l02448"></a><span class="lineno"> 2448</span> <span class="comment">/* If the frame has a tag we process it. Else it is an object */</span></div>
-<div class="line"><a name="l02449"></a><span class="lineno"> 2449</span> tag= (<span class="keywordtype">char</span>*) cpl_frame_get_tag(frame);</div>
-<div class="line"><a name="l02450"></a><span class="lineno"> 2450</span> <span class="keywordflow">if</span>(sinfo_frame_is_slit_lamp(tag) == 1) {</div>
-<div class="line"><a name="l02451"></a><span class="lineno"> 2451</span> cpl_frameset_insert(*pro,frame);</div>
-<div class="line"><a name="l02452"></a><span class="lineno"> 2452</span> }</div>
-<div class="line"><a name="l02453"></a><span class="lineno"> 2453</span> }</div>
-<div class="line"><a name="l02454"></a><span class="lineno"> 2454</span> }</div>
-<div class="line"><a name="l02455"></a><span class="lineno"> 2455</span> }</div>
-<div class="line"><a name="l02456"></a><span class="lineno"> 2456</span> </div>
-<div class="line"><a name="l02457"></a><span class="lineno"> 2457</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02458"></a><span class="lineno"> 2458</span> }</div>
-<div class="line"><a name="l02459"></a><span class="lineno"> 2459</span> </div>
-<div class="line"><a name="l02460"></a><span class="lineno"> 2460</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02466"></a><span class="lineno"> 2466</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02467"></a><span class="lineno"> 2467</span> <span class="keywordtype">int</span> sinfo_frame_is_raw(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l02468"></a><span class="lineno"> 2468</span> {</div>
-<div class="line"><a name="l02469"></a><span class="lineno"> 2469</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l02470"></a><span class="lineno"> 2470</span> <span class="keywordflow">if</span> (tag == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02471"></a><span class="lineno"> 2471</span> </div>
-<div class="line"><a name="l02472"></a><span class="lineno"> 2472</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_LINEARITY_LAMP)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02473"></a><span class="lineno"> 2473</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_DARK)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02474"></a><span class="lineno"> 2474</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_PINHOLE_LAMP)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02475"></a><span class="lineno"> 2475</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_SLIT_LAMP)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02476"></a><span class="lineno"> 2476</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_WAVE_LAMP)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02477"></a><span class="lineno"> 2477</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_FLAT_LAMP)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02478"></a><span class="lineno"> 2478</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_WAVE_NS)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02479"></a><span class="lineno"> 2479</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_FLAT_NS)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02480"></a><span class="lineno"> 2480</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_FIBRE_LAMP)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02481"></a><span class="lineno"> 2481</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_FIBRE_EW)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02482"></a><span class="lineno"> 2482</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_FIBRE_NS)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02483"></a><span class="lineno"> 2483</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_FLAT_SKY)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02484"></a><span class="lineno"> 2484</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_FLUX_LAMP)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02485"></a><span class="lineno"> 2485</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_PSF_CALIBRATOR)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02486"></a><span class="lineno"> 2486</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_FOCUS)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02487"></a><span class="lineno"> 2487</span> </div>
-<div class="line"><a name="l02488"></a><span class="lineno"> 2488</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_STD)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02489"></a><span class="lineno"> 2489</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_STD_STAR)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02490"></a><span class="lineno"> 2490</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_STD_STAR_DITHER)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02491"></a><span class="lineno"> 2491</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_SKY_STD)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02492"></a><span class="lineno"> 2492</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_SKY_OH)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02493"></a><span class="lineno"> 2493</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_SKY_PSF_CALIBRATOR)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02494"></a><span class="lineno"> 2494</span> </div>
-<div class="line"><a name="l02495"></a><span class="lineno"> 2495</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_PUPIL_LAMP)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02496"></a><span class="lineno"> 2496</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_OBJECT_JITTER)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02497"></a><span class="lineno"> 2497</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_SKY_JITTER)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02498"></a><span class="lineno"> 2498</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_OBJECT_NODDING)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02499"></a><span class="lineno"> 2499</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_OBJECT_SKYSPIDER)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02500"></a><span class="lineno"> 2500</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_SKY_NODDING)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02501"></a><span class="lineno"> 2501</span> </div>
-<div class="line"><a name="l02502"></a><span class="lineno"> 2502</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_FLAT_LAMP_DITHER)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02503"></a><span class="lineno"> 2503</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_WAVE_LAMP_DITHER)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02504"></a><span class="lineno"> 2504</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_STD_STAR_DITHER)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02505"></a><span class="lineno"> 2505</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_OBJECT_NODDING_DITHER)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02506"></a><span class="lineno"> 2506</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_OBJECT_SKYSPIDER_DITHER)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02507"></a><span class="lineno"> 2507</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_SKY_NODDING_DITHER)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02508"></a><span class="lineno"> 2508</span> </div>
-<div class="line"><a name="l02509"></a><span class="lineno"> 2509</span> </div>
-<div class="line"><a name="l02510"></a><span class="lineno"> 2510</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l02511"></a><span class="lineno"> 2511</span> }</div>
-<div class="line"><a name="l02512"></a><span class="lineno"> 2512</span> </div>
-<div class="line"><a name="l02513"></a><span class="lineno"> 2513</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02519"></a><span class="lineno"> 2519</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02520"></a><span class="lineno"> 2520</span> <span class="keywordtype">int</span> sinfo_frame_is_raw_stack(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l02521"></a><span class="lineno"> 2521</span> {</div>
-<div class="line"><a name="l02522"></a><span class="lineno"> 2522</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l02523"></a><span class="lineno"> 2523</span> <span class="keywordflow">if</span> (tag == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02524"></a><span class="lineno"> 2524</span> </div>
-<div class="line"><a name="l02525"></a><span class="lineno"> 2525</span> </div>
-<div class="line"><a name="l02526"></a><span class="lineno"> 2526</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_SKY_DUMMY)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02527"></a><span class="lineno"> 2527</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_WAVE_LAMP)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02528"></a><span class="lineno"> 2528</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_WAVE_LAMP_DITHER)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02529"></a><span class="lineno"> 2529</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_WAVE_NS)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02530"></a><span class="lineno"> 2530</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_WAVE_NS_DITHER)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02531"></a><span class="lineno"> 2531</span> </div>
-<div class="line"><a name="l02532"></a><span class="lineno"> 2532</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_FLUX_LAMP)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02533"></a><span class="lineno"> 2533</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_FIBRE_NS)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02534"></a><span class="lineno"> 2534</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_FIBRE_EW)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02535"></a><span class="lineno"> 2535</span> </div>
-<div class="line"><a name="l02536"></a><span class="lineno"> 2536</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_PSF_CALIBRATOR)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02537"></a><span class="lineno"> 2537</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_FIBRE_PSF)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02538"></a><span class="lineno"> 2538</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_FIBRE_DARK)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02539"></a><span class="lineno"> 2539</span> </div>
-<div class="line"><a name="l02540"></a><span class="lineno"> 2540</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_FOCUS)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02541"></a><span class="lineno"> 2541</span> </div>
-<div class="line"><a name="l02542"></a><span class="lineno"> 2542</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_PUPIL_LAMP)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02543"></a><span class="lineno"> 2543</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_OBJECT_JITTER)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02544"></a><span class="lineno"> 2544</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_SKY_JITTER)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02545"></a><span class="lineno"> 2545</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_OBJECT_NODDING)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02546"></a><span class="lineno"> 2546</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_OBJECT_SKYSPIDER)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02547"></a><span class="lineno"> 2547</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_SKY_NODDING)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02548"></a><span class="lineno"> 2548</span> </div>
-<div class="line"><a name="l02549"></a><span class="lineno"> 2549</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_OBJECT_NODDING_DITHER)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02550"></a><span class="lineno"> 2550</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_OBJECT_SKYSPIDER_DITHER)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02551"></a><span class="lineno"> 2551</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_SKY_NODDING_DITHER)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02552"></a><span class="lineno"> 2552</span> </div>
-<div class="line"><a name="l02553"></a><span class="lineno"> 2553</span> </div>
-<div class="line"><a name="l02554"></a><span class="lineno"> 2554</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_IMAGE_PRE_OBJECT)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02555"></a><span class="lineno"> 2555</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_IMAGE_PRE_SKY)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02556"></a><span class="lineno"> 2556</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_STD)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02557"></a><span class="lineno"> 2557</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_SKY_STD)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02558"></a><span class="lineno"> 2558</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_SKY_OH)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02559"></a><span class="lineno"> 2559</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_SKY_PSF_CALIBRATOR)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02560"></a><span class="lineno"> 2560</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_STD_STAR)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02561"></a><span class="lineno"> 2561</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_SKY)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02562"></a><span class="lineno"> 2562</span> </div>
-<div class="line"><a name="l02563"></a><span class="lineno"> 2563</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l02564"></a><span class="lineno"> 2564</span> }</div>
-<div class="line"><a name="l02565"></a><span class="lineno"> 2565</span> </div>
-<div class="line"><a name="l02566"></a><span class="lineno"> 2566</span> </div>
-<div class="line"><a name="l02567"></a><span class="lineno"> 2567</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02573"></a><span class="lineno"> 2573</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02574"></a><span class="lineno"> 2574</span> <span class="keywordtype">int</span> sinfo_frame_is_raw_dark(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l02575"></a><span class="lineno"> 2575</span> {</div>
-<div class="line"><a name="l02576"></a><span class="lineno"> 2576</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l02577"></a><span class="lineno"> 2577</span> <span class="keywordflow">if</span> (tag == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02578"></a><span class="lineno"> 2578</span> </div>
-<div class="line"><a name="l02579"></a><span class="lineno"> 2579</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_DARK)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02580"></a><span class="lineno"> 2580</span> </div>
-<div class="line"><a name="l02581"></a><span class="lineno"> 2581</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l02582"></a><span class="lineno"> 2582</span> }</div>
-<div class="line"><a name="l02583"></a><span class="lineno"> 2583</span> </div>
-<div class="line"><a name="l02584"></a><span class="lineno"> 2584</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02590"></a><span class="lineno"> 2590</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02591"></a><span class="lineno"> 2591</span> <span class="keywordtype">int</span> sinfo_frame_is_slit_lamp(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l02592"></a><span class="lineno"> 2592</span> {</div>
-<div class="line"><a name="l02593"></a><span class="lineno"> 2593</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l02594"></a><span class="lineno"> 2594</span> <span class="keywordflow">if</span> (tag == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02595"></a><span class="lineno"> 2595</span> </div>
-<div class="line"><a name="l02596"></a><span class="lineno"> 2596</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_SLIT_LAMP)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02597"></a><span class="lineno"> 2597</span> </div>
-<div class="line"><a name="l02598"></a><span class="lineno"> 2598</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l02599"></a><span class="lineno"> 2599</span> }</div>
-<div class="line"><a name="l02600"></a><span class="lineno"> 2600</span> </div>
-<div class="line"><a name="l02601"></a><span class="lineno"> 2601</span> </div>
-<div class="line"><a name="l02602"></a><span class="lineno"> 2602</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02608"></a><span class="lineno"> 2608</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02609"></a><span class="lineno"> 2609</span> <span class="keywordtype">int</span> sinfo_frame_is_pinhole_lamp(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l02610"></a><span class="lineno"> 2610</span> {</div>
-<div class="line"><a name="l02611"></a><span class="lineno"> 2611</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l02612"></a><span class="lineno"> 2612</span> <span class="keywordflow">if</span> (tag == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02613"></a><span class="lineno"> 2613</span> </div>
-<div class="line"><a name="l02614"></a><span class="lineno"> 2614</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_PINHOLE_LAMP)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02615"></a><span class="lineno"> 2615</span> </div>
-<div class="line"><a name="l02616"></a><span class="lineno"> 2616</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l02617"></a><span class="lineno"> 2617</span> }</div>
-<div class="line"><a name="l02618"></a><span class="lineno"> 2618</span> </div>
-<div class="line"><a name="l02619"></a><span class="lineno"> 2619</span> </div>
-<div class="line"><a name="l02620"></a><span class="lineno"> 2620</span> <span class="keywordtype">int</span> sinfo_frame_is_cdb(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l02621"></a><span class="lineno"> 2621</span> {</div>
-<div class="line"><a name="l02622"></a><span class="lineno"> 2622</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l02623"></a><span class="lineno"> 2623</span> <span class="keywordflow">if</span> (tag == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02624"></a><span class="lineno"> 2624</span> <span class="comment">/* For the moment not checked the following:</span></div>
-<div class="line"><a name="l02625"></a><span class="lineno"> 2625</span> <span class="comment"></span></div>
-<div class="line"><a name="l02626"></a><span class="lineno"> 2626</span> <span class="comment"> PRO_STACKED</span></div>
-<div class="line"><a name="l02627"></a><span class="lineno"> 2627</span> <span class="comment"> PRO_SLIT_ON</span></div>
-<div class="line"><a name="l02628"></a><span class="lineno"> 2628</span> <span class="comment"> PRO_FLUX_LAMP_STACKED</span></div>
-<div class="line"><a name="l02629"></a><span class="lineno"> 2629</span> <span class="comment"> PRO_WAVE_LAMP_STACKED</span></div>
-<div class="line"><a name="l02630"></a><span class="lineno"> 2630</span> <span class="comment"> PRO_PSF_CALIBRATOR_STACKED</span></div>
-<div class="line"><a name="l02631"></a><span class="lineno"> 2631</span> <span class="comment"> PRO_FOCUS_STACKED</span></div>
-<div class="line"><a name="l02632"></a><span class="lineno"> 2632</span> <span class="comment"> PRO_OBJECT_NODDING_STACKED</span></div>
-<div class="line"><a name="l02633"></a><span class="lineno"> 2633</span> <span class="comment"> PRO_OBJECT_SKYSPIDER_STACKED</span></div>
-<div class="line"><a name="l02634"></a><span class="lineno"> 2634</span> <span class="comment"> PRO_SKY_NODDING_STACKED</span></div>
-<div class="line"><a name="l02635"></a><span class="lineno"> 2635</span> <span class="comment"> PRO_STD_NODDING_STACKED</span></div>
-<div class="line"><a name="l02636"></a><span class="lineno"> 2636</span> <span class="comment"> PRO_MASK_CUBE</span></div>
-<div class="line"><a name="l02637"></a><span class="lineno"> 2637</span> <span class="comment"> PRO_PSF</span></div>
-<div class="line"><a name="l02638"></a><span class="lineno"> 2638</span> <span class="comment"> TMP_FOCUS</span></div>
-<div class="line"><a name="l02639"></a><span class="lineno"> 2639</span> <span class="comment"> TMP_FOCUS_ON</span></div>
-<div class="line"><a name="l02640"></a><span class="lineno"> 2640</span> <span class="comment"> TMP_FOCUS_OFF</span></div>
-<div class="line"><a name="l02641"></a><span class="lineno"> 2641</span> <span class="comment"> PRO_FOCUS</span></div>
-<div class="line"><a name="l02642"></a><span class="lineno"> 2642</span> <span class="comment"> PRO_FOCUS_GAUSS</span></div>
-<div class="line"><a name="l02643"></a><span class="lineno"> 2643</span> <span class="comment"> PRO_SPECTRA</span></div>
-<div class="line"><a name="l02644"></a><span class="lineno"> 2644</span> <span class="comment"> PRO_CUBE</span></div>
-<div class="line"><a name="l02645"></a><span class="lineno"> 2645</span> <span class="comment"> PRO_CUBE_COLL</span></div>
-<div class="line"><a name="l02646"></a><span class="lineno"> 2646</span> <span class="comment"> PRO_SLOPEX</span></div>
-<div class="line"><a name="l02647"></a><span class="lineno"> 2647</span> <span class="comment"> PRO_SLOPEY</span></div>
-<div class="line"><a name="l02648"></a><span class="lineno"> 2648</span> <span class="comment"> PRO_MASK_CUBE</span></div>
-<div class="line"><a name="l02649"></a><span class="lineno"> 2649</span> <span class="comment"> PRO_OBJ_CUBE</span></div>
-<div class="line"><a name="l02650"></a><span class="lineno"> 2650</span> <span class="comment"> PRO_BP_COEFF</span></div>
-<div class="line"><a name="l02651"></a><span class="lineno"> 2651</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02652"></a><span class="lineno"> 2652</span> </div>
-<div class="line"><a name="l02653"></a><span class="lineno"> 2653</span> <span class="keywordflow">if</span> (!strcmp(tag, REF_LINE_ARC)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02654"></a><span class="lineno"> 2654</span> <span class="keywordflow">if</span> (!strcmp(tag, REF_LINE_OH)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02655"></a><span class="lineno"> 2655</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_BP_MAP)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02656"></a><span class="lineno"> 2656</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_BP_MAP_HP)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02657"></a><span class="lineno"> 2657</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_BP_MAP_DI)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02658"></a><span class="lineno"> 2658</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_BP_MAP_NO)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02659"></a><span class="lineno"> 2659</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_BP_MAP_NL)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02660"></a><span class="lineno"> 2660</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_MASTER_BP_MAP)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02661"></a><span class="lineno"> 2661</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_MASTER_DARK)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02662"></a><span class="lineno"> 2662</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_SLOPE)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02663"></a><span class="lineno"> 2663</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_DISTORTION)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02664"></a><span class="lineno"> 2664</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_SLITLETS_DISTANCE)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02665"></a><span class="lineno"> 2665</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_MASTER_FLAT_LAMP)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02666"></a><span class="lineno"> 2666</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_MASTER_FLAT_LAMP1)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02667"></a><span class="lineno"> 2667</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_MASTER_FLAT_LAMP2)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02668"></a><span class="lineno"> 2668</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_SLIT_POS)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02669"></a><span class="lineno"> 2669</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_SLIT_POS_GUESS)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02670"></a><span class="lineno"> 2670</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_WAVE_PAR_LIST)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02671"></a><span class="lineno"> 2671</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_WAVE_COEF_SLIT)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02672"></a><span class="lineno"> 2672</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_MASTER_LAMP_SPEC)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02673"></a><span class="lineno"> 2673</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_MASTER_TWIFLAT)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02674"></a><span class="lineno"> 2674</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_COEFF_LIST)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02675"></a><span class="lineno"> 2675</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_INDEX_LIST)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02676"></a><span class="lineno"> 2676</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_HALO_SPECT)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02677"></a><span class="lineno"> 2677</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_FIRST_COL)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02678"></a><span class="lineno"> 2678</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_FOCUS)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02679"></a><span class="lineno"> 2679</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_WAVE_MAP)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02680"></a><span class="lineno"> 2680</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_REF_ATM_REF_CORR)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02681"></a><span class="lineno"> 2681</span> </div>
-<div class="line"><a name="l02682"></a><span class="lineno"> 2682</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02683"></a><span class="lineno"> 2683</span> </div>
-<div class="line"><a name="l02684"></a><span class="lineno"> 2684</span> }</div>
-<div class="line"><a name="l02685"></a><span class="lineno"> 2685</span> </div>
-<div class="line"><a name="l02686"></a><span class="lineno"> 2686</span> </div>
-<div class="line"><a name="l02687"></a><span class="lineno"> 2687</span> </div>
-<div class="line"><a name="l02688"></a><span class="lineno"> 2688</span> </div>
-<div class="line"><a name="l02689"></a><span class="lineno"> 2689</span> <span class="keywordtype">int</span> sinfo_frame_is_stk(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l02690"></a><span class="lineno"> 2690</span> {</div>
-<div class="line"><a name="l02691"></a><span class="lineno"> 2691</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l02692"></a><span class="lineno"> 2692</span> <span class="keywordflow">if</span> (tag == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02693"></a><span class="lineno"> 2693</span> <span class="comment">/* For the moment not checked the following: */</span></div>
-<div class="line"><a name="l02694"></a><span class="lineno"> 2694</span> </div>
-<div class="line"><a name="l02695"></a><span class="lineno"> 2695</span> </div>
-<div class="line"><a name="l02696"></a><span class="lineno"> 2696</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_SKY_STACKED_DUMMY)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02697"></a><span class="lineno"> 2697</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_STACK_SKY_DIST)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02698"></a><span class="lineno"> 2698</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_STACK_MFLAT_DIST)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02699"></a><span class="lineno"> 2699</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_PSF_CALIBRATOR_STACKED)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02700"></a><span class="lineno"> 2700</span> </div>
-<div class="line"><a name="l02701"></a><span class="lineno"> 2701</span> </div>
-<div class="line"><a name="l02702"></a><span class="lineno"> 2702</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02703"></a><span class="lineno"> 2703</span> </div>
-<div class="line"><a name="l02704"></a><span class="lineno"> 2704</span> }</div>
-<div class="line"><a name="l02705"></a><span class="lineno"> 2705</span> </div>
-<div class="line"><a name="l02706"></a><span class="lineno"> 2706</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02707"></a><span class="lineno"> 2707</span> sinfo_propertylist_has(cpl_propertylist* plist,</div>
-<div class="line"><a name="l02708"></a><span class="lineno"> 2708</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* key) {</div>
-<div class="line"><a name="l02709"></a><span class="lineno"> 2709</span> </div>
-<div class="line"><a name="l02710"></a><span class="lineno"> 2710</span> <span class="keywordflow">return</span> cpl_propertylist_has(plist,key);</div>
-<div class="line"><a name="l02711"></a><span class="lineno"> 2711</span> </div>
-<div class="line"><a name="l02712"></a><span class="lineno"> 2712</span> }</div>
-<div class="line"><a name="l02713"></a><span class="lineno"> 2713</span> </div>
-<div class="line"><a name="l02714"></a><span class="lineno"> 2714</span> <span class="keywordtype">int</span> sinfo_frame_is_preoptic(cpl_frame* frame,<span class="keyword">const</span> <span class="keywordtype">char</span>* val)</div>
-<div class="line"><a name="l02715"></a><span class="lineno"> 2715</span> {</div>
-<div class="line"><a name="l02716"></a><span class="lineno"> 2716</span> </div>
-<div class="line"><a name="l02717"></a><span class="lineno"> 2717</span> <span class="keywordtype">char</span>* file=NULL;</div>
-<div class="line"><a name="l02718"></a><span class="lineno"> 2718</span> <span class="keywordtype">char</span> popt[FILE_NAME_SZ];</div>
-<div class="line"><a name="l02719"></a><span class="lineno"> 2719</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l02720"></a><span class="lineno"> 2720</span> </div>
-<div class="line"><a name="l02721"></a><span class="lineno"> 2721</span> </div>
-<div class="line"><a name="l02722"></a><span class="lineno"> 2722</span> file = cpl_strdup(cpl_frame_get_filename(frame)) ;</div>
-<div class="line"><a name="l02723"></a><span class="lineno"> 2723</span> <span class="keywordflow">if</span> ((cpl_error_code)((plist = cpl_propertylist_load(file, 0)) == NULL)) {</div>
-<div class="line"><a name="l02724"></a><span class="lineno"> 2724</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from reference frame %s"</span>,file);</div>
-<div class="line"><a name="l02725"></a><span class="lineno"> 2725</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l02726"></a><span class="lineno"> 2726</span> cpl_free(file);</div>
-<div class="line"><a name="l02727"></a><span class="lineno"> 2727</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02728"></a><span class="lineno"> 2728</span> }</div>
-<div class="line"><a name="l02729"></a><span class="lineno"> 2729</span> </div>
-<div class="line"><a name="l02730"></a><span class="lineno"> 2730</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_PREOPTICS)) {</div>
-<div class="line"><a name="l02731"></a><span class="lineno"> 2731</span> strcpy(popt,cpl_propertylist_get_string(plist, KEY_NAME_PREOPTICS));</div>
-<div class="line"><a name="l02732"></a><span class="lineno"> 2732</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l02733"></a><span class="lineno"> 2733</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"keyword %s does not exist"</span>,KEY_NAME_PREOPTICS);</div>
-<div class="line"><a name="l02734"></a><span class="lineno"> 2734</span> cpl_free(file);</div>
-<div class="line"><a name="l02735"></a><span class="lineno"> 2735</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l02736"></a><span class="lineno"> 2736</span> }</div>
-<div class="line"><a name="l02737"></a><span class="lineno"> 2737</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l02738"></a><span class="lineno"> 2738</span> cpl_free(file);</div>
-<div class="line"><a name="l02739"></a><span class="lineno"> 2739</span> </div>
-<div class="line"><a name="l02740"></a><span class="lineno"> 2740</span> <span class="keywordflow">if</span> (strstr(val,popt) != NULL) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l02741"></a><span class="lineno"> 2741</span> </div>
-<div class="line"><a name="l02742"></a><span class="lineno"> 2742</span> </div>
-<div class="line"><a name="l02743"></a><span class="lineno"> 2743</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02744"></a><span class="lineno"> 2744</span> </div>
-<div class="line"><a name="l02745"></a><span class="lineno"> 2745</span> }</div>
-<div class="line"><a name="l02746"></a><span class="lineno"> 2746</span> </div>
-<div class="line"><a name="l02747"></a><span class="lineno"> 2747</span> </div>
-<div class="line"><a name="l02748"></a><span class="lineno"> 2748</span> <span class="keywordtype">int</span> sinfo_get_preoptic(<span class="keyword">const</span> <span class="keywordtype">char</span>* file, <span class="keyword">const</span> <span class="keywordtype">char</span>* val)</div>
-<div class="line"><a name="l02749"></a><span class="lineno"> 2749</span> {</div>
-<div class="line"><a name="l02750"></a><span class="lineno"> 2750</span> </div>
-<div class="line"><a name="l02751"></a><span class="lineno"> 2751</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l02752"></a><span class="lineno"> 2752</span> </div>
-<div class="line"><a name="l02753"></a><span class="lineno"> 2753</span> </div>
-<div class="line"><a name="l02754"></a><span class="lineno"> 2754</span> <span class="keywordflow">if</span> ((cpl_error_code)((plist = cpl_propertylist_load(file, 0)) == NULL)) {</div>
-<div class="line"><a name="l02755"></a><span class="lineno"> 2755</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from reference frame %s"</span>,file);</div>
-<div class="line"><a name="l02756"></a><span class="lineno"> 2756</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l02757"></a><span class="lineno"> 2757</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02758"></a><span class="lineno"> 2758</span> }</div>
-<div class="line"><a name="l02759"></a><span class="lineno"> 2759</span> </div>
-<div class="line"><a name="l02760"></a><span class="lineno"> 2760</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_PREOPTICS)) {</div>
-<div class="line"><a name="l02761"></a><span class="lineno"> 2761</span> strcpy((<span class="keywordtype">char</span>*)val,cpl_propertylist_get_string(plist, KEY_NAME_PREOPTICS));</div>
-<div class="line"><a name="l02762"></a><span class="lineno"> 2762</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l02763"></a><span class="lineno"> 2763</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"keyword %s does not exist"</span>,KEY_NAME_PREOPTICS);</div>
-<div class="line"><a name="l02764"></a><span class="lineno"> 2764</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l02765"></a><span class="lineno"> 2765</span> }</div>
-<div class="line"><a name="l02766"></a><span class="lineno"> 2766</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l02767"></a><span class="lineno"> 2767</span> </div>
-<div class="line"><a name="l02768"></a><span class="lineno"> 2768</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02769"></a><span class="lineno"> 2769</span> </div>
-<div class="line"><a name="l02770"></a><span class="lineno"> 2770</span> }</div>
-<div class="line"><a name="l02771"></a><span class="lineno"> 2771</span> </div>
-<div class="line"><a name="l02772"></a><span class="lineno"> 2772</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02773"></a><span class="lineno"> 2773</span> <span class="comment"> static int</span></div>
-<div class="line"><a name="l02774"></a><span class="lineno"> 2774</span> <span class="comment"> sinfo_stat_rectangle(cpl_image* img,</span></div>
-<div class="line"><a name="l02775"></a><span class="lineno"> 2775</span> <span class="comment"> const int kappa,</span></div>
-<div class="line"><a name="l02776"></a><span class="lineno"> 2776</span> <span class="comment"> const int nclip,</span></div>
-<div class="line"><a name="l02777"></a><span class="lineno"> 2777</span> <span class="comment"> double *mean,</span></div>
-<div class="line"><a name="l02778"></a><span class="lineno"> 2778</span> <span class="comment"> double *stdev)</span></div>
-<div class="line"><a name="l02779"></a><span class="lineno"> 2779</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l02780"></a><span class="lineno"> 2780</span> <span class="comment"></span></div>
-<div class="line"><a name="l02781"></a><span class="lineno"> 2781</span> <span class="comment"> double sum=0;</span></div>
-<div class="line"><a name="l02782"></a><span class="lineno"> 2782</span> <span class="comment"> double sum2=0;</span></div>
-<div class="line"><a name="l02783"></a><span class="lineno"> 2783</span> <span class="comment"> double noise=0;</span></div>
-<div class="line"><a name="l02784"></a><span class="lineno"> 2784</span> <span class="comment"></span></div>
-<div class="line"><a name="l02785"></a><span class="lineno"> 2785</span> <span class="comment"> double* pim=NULL;</span></div>
-<div class="line"><a name="l02786"></a><span class="lineno"> 2786</span> <span class="comment"> int i=0;</span></div>
-<div class="line"><a name="l02787"></a><span class="lineno"> 2787</span> <span class="comment"> int j=0;</span></div>
-<div class="line"><a name="l02788"></a><span class="lineno"> 2788</span> <span class="comment"> int kk=0;</span></div>
-<div class="line"><a name="l02789"></a><span class="lineno"> 2789</span> <span class="comment"> int sx=0;</span></div>
-<div class="line"><a name="l02790"></a><span class="lineno"> 2790</span> <span class="comment"> int sy=0;</span></div>
-<div class="line"><a name="l02791"></a><span class="lineno"> 2791</span> <span class="comment"></span></div>
-<div class="line"><a name="l02792"></a><span class="lineno"> 2792</span> <span class="comment"> *mean=0;</span></div>
-<div class="line"><a name="l02793"></a><span class="lineno"> 2793</span> <span class="comment"> pim=cpl_image_get_data(img);</span></div>
-<div class="line"><a name="l02794"></a><span class="lineno"> 2794</span> <span class="comment"> kk=0;</span></div>
-<div class="line"><a name="l02795"></a><span class="lineno"> 2795</span> <span class="comment"> for(i=0;i<sx*sy;i++) {</span></div>
-<div class="line"><a name="l02796"></a><span class="lineno"> 2796</span> <span class="comment"> *mean+=pim[i];</span></div>
-<div class="line"><a name="l02797"></a><span class="lineno"> 2797</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l02798"></a><span class="lineno"> 2798</span> <span class="comment"> *mean/=(sx*sy);</span></div>
-<div class="line"><a name="l02799"></a><span class="lineno"> 2799</span> <span class="comment"></span></div>
-<div class="line"><a name="l02800"></a><span class="lineno"> 2800</span> <span class="comment"> for(i=0;i<sx*sy;i++) {</span></div>
-<div class="line"><a name="l02801"></a><span class="lineno"> 2801</span> <span class="comment"> sum+=(pim[i]-*mean)*(pim[i]-*mean);</span></div>
-<div class="line"><a name="l02802"></a><span class="lineno"> 2802</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l02803"></a><span class="lineno"> 2803</span> <span class="comment"> noise=sqrt(sum/(sx*sy));</span></div>
-<div class="line"><a name="l02804"></a><span class="lineno"> 2804</span> <span class="comment"></span></div>
-<div class="line"><a name="l02805"></a><span class="lineno"> 2805</span> <span class="comment"></span></div>
-<div class="line"><a name="l02806"></a><span class="lineno"> 2806</span> <span class="comment"> //clean a bit the bad pixels</span></div>
-<div class="line"><a name="l02807"></a><span class="lineno"> 2807</span> <span class="comment"> for(j=0;j<nclip;j++) {</span></div>
-<div class="line"><a name="l02808"></a><span class="lineno"> 2808</span> <span class="comment"> sum=0;</span></div>
-<div class="line"><a name="l02809"></a><span class="lineno"> 2809</span> <span class="comment"> sum2=0;</span></div>
-<div class="line"><a name="l02810"></a><span class="lineno"> 2810</span> <span class="comment"> kk=0;</span></div>
-<div class="line"><a name="l02811"></a><span class="lineno"> 2811</span> <span class="comment"> for(i=0;i<sx*sy;i++) {</span></div>
-<div class="line"><a name="l02812"></a><span class="lineno"> 2812</span> <span class="comment"> if(fabs(pim[i]-*mean)<kappa*noise) {</span></div>
-<div class="line"><a name="l02813"></a><span class="lineno"> 2813</span> <span class="comment"></span></div>
-<div class="line"><a name="l02814"></a><span class="lineno"> 2814</span> <span class="comment"> sum +=(pim[i]-*mean)*(pim[i]-*mean);</span></div>
-<div class="line"><a name="l02815"></a><span class="lineno"> 2815</span> <span class="comment"> sum2 += pim[i];</span></div>
-<div class="line"><a name="l02816"></a><span class="lineno"> 2816</span> <span class="comment"> kk+=1;</span></div>
-<div class="line"><a name="l02817"></a><span class="lineno"> 2817</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l02818"></a><span class="lineno"> 2818</span> <span class="comment"> noise=sqrt(sum/kk);</span></div>
-<div class="line"><a name="l02819"></a><span class="lineno"> 2819</span> <span class="comment"> *mean=sum2/kk;</span></div>
-<div class="line"><a name="l02820"></a><span class="lineno"> 2820</span> <span class="comment"></span></div>
-<div class="line"><a name="l02821"></a><span class="lineno"> 2821</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l02822"></a><span class="lineno"> 2822</span> <span class="comment"></span></div>
-<div class="line"><a name="l02823"></a><span class="lineno"> 2823</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l02824"></a><span class="lineno"> 2824</span> <span class="comment"> *stdev=noise;</span></div>
-<div class="line"><a name="l02825"></a><span class="lineno"> 2825</span> <span class="comment"></span></div>
-<div class="line"><a name="l02826"></a><span class="lineno"> 2826</span> <span class="comment"> return 0;</span></div>
-<div class="line"><a name="l02827"></a><span class="lineno"> 2827</span> <span class="comment"></span></div>
-<div class="line"><a name="l02828"></a><span class="lineno"> 2828</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l02829"></a><span class="lineno"> 2829</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l02830"></a><span class="lineno"> 2830</span> </div>
-<div class="line"><a name="l02831"></a><span class="lineno"> 2831</span> cpl_table* sinfo_compute_gain(cpl_frameset* son, cpl_frameset* sof)</div>
-<div class="line"><a name="l02832"></a><span class="lineno"> 2832</span> {</div>
-<div class="line"><a name="l02833"></a><span class="lineno"> 2833</span> </div>
-<div class="line"><a name="l02834"></a><span class="lineno"> 2834</span> </div>
-<div class="line"><a name="l02835"></a><span class="lineno"> 2835</span> cpl_frame* frm=NULL;</div>
-<div class="line"><a name="l02836"></a><span class="lineno"> 2836</span> </div>
-<div class="line"><a name="l02837"></a><span class="lineno"> 2837</span> cpl_image* img_on1=NULL;</div>
-<div class="line"><a name="l02838"></a><span class="lineno"> 2838</span> cpl_image* img_on2=NULL;</div>
-<div class="line"><a name="l02839"></a><span class="lineno"> 2839</span> cpl_image* img_on_dif=NULL;</div>
-<div class="line"><a name="l02840"></a><span class="lineno"> 2840</span> cpl_image* img_on_sub=NULL;</div>
-<div class="line"><a name="l02841"></a><span class="lineno"> 2841</span> </div>
-<div class="line"><a name="l02842"></a><span class="lineno"> 2842</span> </div>
-<div class="line"><a name="l02843"></a><span class="lineno"> 2843</span> cpl_image* img_of1=NULL;</div>
-<div class="line"><a name="l02844"></a><span class="lineno"> 2844</span> cpl_image* img_of2=NULL;</div>
-<div class="line"><a name="l02845"></a><span class="lineno"> 2845</span> cpl_image* img_of_dif=NULL;</div>
-<div class="line"><a name="l02846"></a><span class="lineno"> 2846</span> cpl_image* img_of_sub=NULL;</div>
-<div class="line"><a name="l02847"></a><span class="lineno"> 2847</span> </div>
-<div class="line"><a name="l02848"></a><span class="lineno"> 2848</span> cpl_table* res_tbl=NULL;</div>
-<div class="line"><a name="l02849"></a><span class="lineno"> 2849</span> cpl_vector* dit_on=NULL;</div>
-<div class="line"><a name="l02850"></a><span class="lineno"> 2850</span> cpl_vector* dit_of=NULL;</div>
-<div class="line"><a name="l02851"></a><span class="lineno"> 2851</span> cpl_vector* exptime_on=NULL;</div>
-<div class="line"><a name="l02852"></a><span class="lineno"> 2852</span> cpl_vector* exptime_of=NULL;</div>
-<div class="line"><a name="l02853"></a><span class="lineno"> 2853</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l02854"></a><span class="lineno"> 2854</span> </div>
-<div class="line"><a name="l02855"></a><span class="lineno"> 2855</span> <span class="keywordtype">int</span> non=0;</div>
-<div class="line"><a name="l02856"></a><span class="lineno"> 2856</span> <span class="keywordtype">int</span> nof=0;</div>
-<div class="line"><a name="l02857"></a><span class="lineno"> 2857</span> <span class="keywordtype">int</span> nfr=0;</div>
-<div class="line"><a name="l02858"></a><span class="lineno"> 2858</span> <span class="keywordtype">double</span> avg_on1=0;</div>
-<div class="line"><a name="l02859"></a><span class="lineno"> 2859</span> <span class="keywordtype">double</span> avg_on2=0;</div>
-<div class="line"><a name="l02860"></a><span class="lineno"> 2860</span> <span class="keywordtype">double</span> avg_of1=0;</div>
-<div class="line"><a name="l02861"></a><span class="lineno"> 2861</span> <span class="keywordtype">double</span> avg_of2=0;</div>
-<div class="line"><a name="l02862"></a><span class="lineno"> 2862</span> <span class="keywordtype">double</span> std=0;</div>
-<div class="line"><a name="l02863"></a><span class="lineno"> 2863</span> </div>
-<div class="line"><a name="l02864"></a><span class="lineno"> 2864</span> <span class="keywordtype">double</span> sig_on_dif=0;</div>
-<div class="line"><a name="l02865"></a><span class="lineno"> 2865</span> <span class="keywordtype">double</span> sig_of_dif=0;</div>
-<div class="line"><a name="l02866"></a><span class="lineno"> 2866</span> <span class="keywordtype">char</span>* name=NULL;</div>
-<div class="line"><a name="l02867"></a><span class="lineno"> 2867</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02868"></a><span class="lineno"> 2868</span> <span class="keywordtype">int</span> m=0;</div>
-<div class="line"><a name="l02869"></a><span class="lineno"> 2869</span> </div>
-<div class="line"><a name="l02870"></a><span class="lineno"> 2870</span> <span class="keywordtype">int</span> llx=270;</div>
-<div class="line"><a name="l02871"></a><span class="lineno"> 2871</span> <span class="keywordtype">int</span> lly=1000;</div>
-<div class="line"><a name="l02872"></a><span class="lineno"> 2872</span> <span class="keywordtype">int</span> urx=320;</div>
-<div class="line"><a name="l02873"></a><span class="lineno"> 2873</span> <span class="keywordtype">int</span> ury=1050;</div>
-<div class="line"><a name="l02874"></a><span class="lineno"> 2874</span> <span class="keywordtype">int</span> zone[4];</div>
-<div class="line"><a name="l02875"></a><span class="lineno"> 2875</span> <span class="keywordtype">double</span> gain=0;</div>
-<div class="line"><a name="l02876"></a><span class="lineno"> 2876</span> <span class="keywordtype">double</span> dit_ref=0;</div>
-<div class="line"><a name="l02877"></a><span class="lineno"> 2877</span> <span class="keywordtype">double</span> dit_tmp=0;</div>
-<div class="line"><a name="l02878"></a><span class="lineno"> 2878</span> <span class="keywordtype">double</span> exptime_ref=0;</div>
-<div class="line"><a name="l02879"></a><span class="lineno"> 2879</span> <span class="keywordtype">double</span> exptime_tmp=0;</div>
-<div class="line"><a name="l02880"></a><span class="lineno"> 2880</span> <span class="keywordtype">int</span> kappa=5;</div>
-<div class="line"><a name="l02881"></a><span class="lineno"> 2881</span> <span class="keywordtype">int</span> nclip=25;</div>
-<div class="line"><a name="l02882"></a><span class="lineno"> 2882</span> <span class="keywordtype">double</span> centre=0;</div>
-<div class="line"><a name="l02883"></a><span class="lineno"> 2883</span> </div>
-<div class="line"><a name="l02884"></a><span class="lineno"> 2884</span> non = cpl_frameset_get_size(son);</div>
-<div class="line"><a name="l02885"></a><span class="lineno"> 2885</span> nof = cpl_frameset_get_size(sof);</div>
-<div class="line"><a name="l02886"></a><span class="lineno"> 2886</span> nfr = (non <= nof) ? non : nof;</div>
-<div class="line"><a name="l02887"></a><span class="lineno"> 2887</span> </div>
-<div class="line"><a name="l02888"></a><span class="lineno"> 2888</span> dit_on=cpl_vector_new(nfr);</div>
-<div class="line"><a name="l02889"></a><span class="lineno"> 2889</span> dit_of=cpl_vector_new(nfr);</div>
-<div class="line"><a name="l02890"></a><span class="lineno"> 2890</span> exptime_on=cpl_vector_new(nfr);</div>
-<div class="line"><a name="l02891"></a><span class="lineno"> 2891</span> exptime_of=cpl_vector_new(nfr);</div>
-<div class="line"><a name="l02892"></a><span class="lineno"> 2892</span> </div>
-<div class="line"><a name="l02893"></a><span class="lineno"> 2893</span> <span class="keywordflow">for</span>(i=0;i<nfr;i++) {</div>
-<div class="line"><a name="l02894"></a><span class="lineno"> 2894</span> </div>
-<div class="line"><a name="l02895"></a><span class="lineno"> 2895</span> frm=cpl_frameset_get_frame(son,i);</div>
-<div class="line"><a name="l02896"></a><span class="lineno"> 2896</span> name=(<span class="keywordtype">char</span>*)cpl_frame_get_filename(frm);</div>
-<div class="line"><a name="l02897"></a><span class="lineno"> 2897</span> plist=cpl_propertylist_load(name,0);</div>
-<div class="line"><a name="l02898"></a><span class="lineno"> 2898</span> dit_ref=sinfo_pfits_get_dit(plist);</div>
-<div class="line"><a name="l02899"></a><span class="lineno"> 2899</span> exptime_ref=(double)sinfo_pfits_get_exp_time(plist);</div>
-<div class="line"><a name="l02900"></a><span class="lineno"> 2900</span> cpl_propertylist_delete(plist);</div>
-<div class="line"><a name="l02901"></a><span class="lineno"> 2901</span> cpl_vector_set(dit_on,i,dit_ref);</div>
-<div class="line"><a name="l02902"></a><span class="lineno"> 2902</span> cpl_vector_set(exptime_on,i,exptime_ref);</div>
-<div class="line"><a name="l02903"></a><span class="lineno"> 2903</span> </div>
-<div class="line"><a name="l02904"></a><span class="lineno"> 2904</span> frm=cpl_frameset_get_frame(sof,i);</div>
-<div class="line"><a name="l02905"></a><span class="lineno"> 2905</span> name=(<span class="keywordtype">char</span>*)cpl_frame_get_filename(frm);</div>
-<div class="line"><a name="l02906"></a><span class="lineno"> 2906</span> plist=cpl_propertylist_load(name,0);</div>
-<div class="line"><a name="l02907"></a><span class="lineno"> 2907</span> dit_ref=sinfo_pfits_get_dit(plist);</div>
-<div class="line"><a name="l02908"></a><span class="lineno"> 2908</span> exptime_ref=(double)sinfo_pfits_get_exp_time(plist);</div>
-<div class="line"><a name="l02909"></a><span class="lineno"> 2909</span> cpl_propertylist_delete(plist);</div>
-<div class="line"><a name="l02910"></a><span class="lineno"> 2910</span> cpl_vector_set(dit_of,i,dit_ref);</div>
-<div class="line"><a name="l02911"></a><span class="lineno"> 2911</span> cpl_vector_set(exptime_of,i,exptime_ref);</div>
-<div class="line"><a name="l02912"></a><span class="lineno"> 2912</span> </div>
-<div class="line"><a name="l02913"></a><span class="lineno"> 2913</span> }</div>
-<div class="line"><a name="l02914"></a><span class="lineno"> 2914</span> </div>
-<div class="line"><a name="l02915"></a><span class="lineno"> 2915</span> </div>
-<div class="line"><a name="l02916"></a><span class="lineno"> 2916</span> </div>
-<div class="line"><a name="l02917"></a><span class="lineno"> 2917</span> zone[0]=270;</div>
-<div class="line"><a name="l02918"></a><span class="lineno"> 2918</span> zone[1]=1030;</div>
-<div class="line"><a name="l02919"></a><span class="lineno"> 2919</span> zone[2]=310;</div>
-<div class="line"><a name="l02920"></a><span class="lineno"> 2920</span> zone[3]=1060;</div>
-<div class="line"><a name="l02921"></a><span class="lineno"> 2921</span> </div>
-<div class="line"><a name="l02922"></a><span class="lineno"> 2922</span> </div>
-<div class="line"><a name="l02923"></a><span class="lineno"> 2923</span> </div>
-<div class="line"><a name="l02924"></a><span class="lineno"> 2924</span> zone[0]=20;</div>
-<div class="line"><a name="l02925"></a><span class="lineno"> 2925</span> zone[1]=2028;</div>
-<div class="line"><a name="l02926"></a><span class="lineno"> 2926</span> zone[2]=20;</div>
-<div class="line"><a name="l02927"></a><span class="lineno"> 2927</span> zone[3]=2028;</div>
-<div class="line"><a name="l02928"></a><span class="lineno"> 2928</span> </div>
-<div class="line"><a name="l02929"></a><span class="lineno"> 2929</span> </div>
-<div class="line"><a name="l02930"></a><span class="lineno"> 2930</span> </div>
-<div class="line"><a name="l02931"></a><span class="lineno"> 2931</span> check_nomsg(res_tbl=cpl_table_new(nfr));</div>
-<div class="line"><a name="l02932"></a><span class="lineno"> 2932</span> cpl_table_new_column(res_tbl,<span class="stringliteral">"adu"</span>, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l02933"></a><span class="lineno"> 2933</span> cpl_table_new_column(res_tbl,<span class="stringliteral">"gain"</span>, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l02934"></a><span class="lineno"> 2934</span> </div>
-<div class="line"><a name="l02935"></a><span class="lineno"> 2935</span> <span class="keywordflow">for</span>(i=0;i<nfr;i++) {</div>
-<div class="line"><a name="l02936"></a><span class="lineno"> 2936</span> frm=cpl_frameset_get_frame(son,i);</div>
-<div class="line"><a name="l02937"></a><span class="lineno"> 2937</span> name=(<span class="keywordtype">char</span>*)cpl_frame_get_filename(frm);</div>
-<div class="line"><a name="l02938"></a><span class="lineno"> 2938</span> img_on1=cpl_image_load(name,CPL_TYPE_DOUBLE,0,0);</div>
-<div class="line"><a name="l02939"></a><span class="lineno"> 2939</span> </div>
-<div class="line"><a name="l02940"></a><span class="lineno"> 2940</span> frm=cpl_frameset_get_frame(sof,i);</div>
-<div class="line"><a name="l02941"></a><span class="lineno"> 2941</span> name=(<span class="keywordtype">char</span>*)cpl_frame_get_filename(frm);</div>
-<div class="line"><a name="l02942"></a><span class="lineno"> 2942</span> img_of1=cpl_image_load(name,CPL_TYPE_DOUBLE,0,0);</div>
-<div class="line"><a name="l02943"></a><span class="lineno"> 2943</span> </div>
-<div class="line"><a name="l02944"></a><span class="lineno"> 2944</span> </div>
-<div class="line"><a name="l02945"></a><span class="lineno"> 2945</span> dit_ref=cpl_vector_get(dit_on,i);</div>
-<div class="line"><a name="l02946"></a><span class="lineno"> 2946</span> exptime_ref=cpl_vector_get(exptime_on,i);</div>
-<div class="line"><a name="l02947"></a><span class="lineno"> 2947</span> </div>
-<div class="line"><a name="l02948"></a><span class="lineno"> 2948</span> </div>
-<div class="line"><a name="l02949"></a><span class="lineno"> 2949</span> <span class="keywordflow">for</span>(m=0;m<nfr; m++) {</div>
-<div class="line"><a name="l02950"></a><span class="lineno"> 2950</span> <span class="keywordflow">if</span>(m != i) {</div>
-<div class="line"><a name="l02951"></a><span class="lineno"> 2951</span> frm=cpl_frameset_get_frame(son,m);</div>
-<div class="line"><a name="l02952"></a><span class="lineno"> 2952</span> name=(<span class="keywordtype">char</span>*)cpl_frame_get_filename(frm);</div>
-<div class="line"><a name="l02953"></a><span class="lineno"> 2953</span> dit_tmp=cpl_vector_get(dit_on,m);</div>
-<div class="line"><a name="l02954"></a><span class="lineno"> 2954</span> exptime_tmp=cpl_vector_get(exptime_on,m);</div>
-<div class="line"><a name="l02955"></a><span class="lineno"> 2955</span> <span class="keywordflow">if</span>(dit_tmp == dit_ref && exptime_tmp == exptime_ref) {</div>
-<div class="line"><a name="l02956"></a><span class="lineno"> 2956</span> <span class="comment">/* sinfo_msg("m=%d i=%d\n",m,i); */</span></div>
-<div class="line"><a name="l02957"></a><span class="lineno"> 2957</span> img_on2=cpl_image_load(name,CPL_TYPE_DOUBLE,0,0);</div>
-<div class="line"><a name="l02958"></a><span class="lineno"> 2958</span> frm=cpl_frameset_get_frame(sof,m);</div>
-<div class="line"><a name="l02959"></a><span class="lineno"> 2959</span> name=(<span class="keywordtype">char</span>*)cpl_frame_get_filename(frm);</div>
-<div class="line"><a name="l02960"></a><span class="lineno"> 2960</span> img_of2=cpl_image_load(name,CPL_TYPE_DOUBLE,0,0);</div>
-<div class="line"><a name="l02961"></a><span class="lineno"> 2961</span> </div>
-<div class="line"><a name="l02962"></a><span class="lineno"> 2962</span> img_on_dif=cpl_image_subtract_create(img_on1,img_on2);</div>
-<div class="line"><a name="l02963"></a><span class="lineno"> 2963</span> img_of_dif=cpl_image_subtract_create(img_of1,img_of2);</div>
-<div class="line"><a name="l02964"></a><span class="lineno"> 2964</span> </div>
-<div class="line"><a name="l02965"></a><span class="lineno"> 2965</span> img_on_sub=cpl_image_extract(img_on_dif,llx,lly,urx,ury);</div>
-<div class="line"><a name="l02966"></a><span class="lineno"> 2966</span> img_of_sub=cpl_image_extract(img_of_dif,llx,lly,urx,ury);</div>
-<div class="line"><a name="l02967"></a><span class="lineno"> 2967</span> </div>
-<div class="line"><a name="l02968"></a><span class="lineno"> 2968</span> sinfo_get_clean_mean_window(img_on1,llx,lly,urx,ury,kappa,</div>
-<div class="line"><a name="l02969"></a><span class="lineno"> 2969</span> nclip,&avg_on1,&std);</div>
-<div class="line"><a name="l02970"></a><span class="lineno"> 2970</span> sinfo_get_clean_mean_window(img_on2,llx,lly,urx,ury,kappa,</div>
-<div class="line"><a name="l02971"></a><span class="lineno"> 2971</span> nclip,&avg_on2,&std);</div>
-<div class="line"><a name="l02972"></a><span class="lineno"> 2972</span> sinfo_get_clean_mean_window(img_of1,llx,lly,urx,ury,kappa,</div>
-<div class="line"><a name="l02973"></a><span class="lineno"> 2973</span> nclip,&avg_of1,&std);</div>
-<div class="line"><a name="l02974"></a><span class="lineno"> 2974</span> sinfo_get_clean_mean_window(img_of2,llx,lly,urx,ury,kappa,</div>
-<div class="line"><a name="l02975"></a><span class="lineno"> 2975</span> nclip,&avg_of2,&std);</div>
-<div class="line"><a name="l02976"></a><span class="lineno"> 2976</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02977"></a><span class="lineno"> 2977</span> <span class="comment"> cpl_image_save(img_on_sub,"ima_on_sub.fits",</span></div>
-<div class="line"><a name="l02978"></a><span class="lineno"> 2978</span> <span class="comment"> CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l02979"></a><span class="lineno"> 2979</span> <span class="comment"> cpl_image_save(img_of_sub,"ima_of_sub.fits",</span></div>
-<div class="line"><a name="l02980"></a><span class="lineno"> 2980</span> <span class="comment"> CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l02981"></a><span class="lineno"> 2981</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02982"></a><span class="lineno"> 2982</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02983"></a><span class="lineno"> 2983</span> <span class="comment"> //worse accuracy</span></div>
-<div class="line"><a name="l02984"></a><span class="lineno"> 2984</span> <span class="comment"> sinfo_stat_rectangle(img_on_dif,kappa,nclip,</span></div>
-<div class="line"><a name="l02985"></a><span class="lineno"> 2985</span> <span class="comment"> ¢re,&sig_on_dif);</span></div>
-<div class="line"><a name="l02986"></a><span class="lineno"> 2986</span> <span class="comment"> sinfo_stat_rectangle(img_of_dif,kappa,nclip,</span></div>
-<div class="line"><a name="l02987"></a><span class="lineno"> 2987</span> <span class="comment"> ¢re,&sig_of_dif);</span></div>
-<div class="line"><a name="l02988"></a><span class="lineno"> 2988</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02989"></a><span class="lineno"> 2989</span> </div>
-<div class="line"><a name="l02990"></a><span class="lineno"> 2990</span> </div>
-<div class="line"><a name="l02991"></a><span class="lineno"> 2991</span> <span class="comment">//better accuracy</span></div>
-<div class="line"><a name="l02992"></a><span class="lineno"> 2992</span> sinfo_get_clean_mean_window(img_on_dif,llx,lly,urx,ury,kappa,</div>
-<div class="line"><a name="l02993"></a><span class="lineno"> 2993</span> nclip,¢re,&sig_on_dif);</div>
-<div class="line"><a name="l02994"></a><span class="lineno"> 2994</span> sinfo_get_clean_mean_window(img_of_dif,llx,lly,urx,ury,kappa,</div>
-<div class="line"><a name="l02995"></a><span class="lineno"> 2995</span> nclip,¢re,&sig_of_dif);</div>
-<div class="line"><a name="l03012"></a><span class="lineno"> 3012</span> cpl_image_delete(img_on2);</div>
-<div class="line"><a name="l03013"></a><span class="lineno"> 3013</span> cpl_image_delete(img_of2);</div>
-<div class="line"><a name="l03014"></a><span class="lineno"> 3014</span> cpl_image_delete(img_on_dif);</div>
-<div class="line"><a name="l03015"></a><span class="lineno"> 3015</span> cpl_image_delete(img_of_dif);</div>
-<div class="line"><a name="l03016"></a><span class="lineno"> 3016</span> cpl_image_delete(img_on_sub);</div>
-<div class="line"><a name="l03017"></a><span class="lineno"> 3017</span> cpl_image_delete(img_of_sub);</div>
-<div class="line"><a name="l03018"></a><span class="lineno"> 3018</span> </div>
-<div class="line"><a name="l03019"></a><span class="lineno"> 3019</span> gain=((avg_on1+avg_on2)-(avg_of1+avg_of2))/</div>
-<div class="line"><a name="l03020"></a><span class="lineno"> 3020</span> ((sig_on_dif*sig_on_dif)-(sig_of_dif*sig_of_dif));</div>
-<div class="line"><a name="l03021"></a><span class="lineno"> 3021</span> </div>
-<div class="line"><a name="l03022"></a><span class="lineno"> 3022</span> cpl_table_set_double(res_tbl,<span class="stringliteral">"gain"</span>,m,gain);</div>
-<div class="line"><a name="l03023"></a><span class="lineno"> 3023</span> cpl_table_set_double(res_tbl,<span class="stringliteral">"adu"</span>,m,</div>
-<div class="line"><a name="l03024"></a><span class="lineno"> 3024</span> ((avg_on1+avg_on2)/2-(avg_of1+avg_of2)/2));</div>
-<div class="line"><a name="l03025"></a><span class="lineno"> 3025</span> <span class="comment">/* sinfo_msg("gain=%f ADU=%f\n",gain,</span></div>
-<div class="line"><a name="l03026"></a><span class="lineno"> 3026</span> <span class="comment"> (avg_on1+avg_on2)/2-(avg_of1+avg_of2)/2);</span></div>
-<div class="line"><a name="l03027"></a><span class="lineno"> 3027</span> <span class="comment"> sinfo_msg("g=%f avg_on1=%f avg_on2=%f",gain,avg_on1,avg_on2);</span></div>
-<div class="line"><a name="l03028"></a><span class="lineno"> 3028</span> <span class="comment"> sinfo_msg("avg_of1=%f avg_of2=%f sig_on_dif=%f sig_of_dif=%f",</span></div>
-<div class="line"><a name="l03029"></a><span class="lineno"> 3029</span> <span class="comment"> avg_of1,avg_of2,sig_on_dif,sig_of_dif);</span></div>
-<div class="line"><a name="l03030"></a><span class="lineno"> 3030</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03031"></a><span class="lineno"> 3031</span> </div>
-<div class="line"><a name="l03032"></a><span class="lineno"> 3032</span> }</div>
-<div class="line"><a name="l03033"></a><span class="lineno"> 3033</span> }</div>
-<div class="line"><a name="l03034"></a><span class="lineno"> 3034</span> }</div>
-<div class="line"><a name="l03035"></a><span class="lineno"> 3035</span> cpl_image_delete(img_on1);</div>
-<div class="line"><a name="l03036"></a><span class="lineno"> 3036</span> cpl_image_delete(img_of1);</div>
-<div class="line"><a name="l03037"></a><span class="lineno"> 3037</span> }</div>
-<div class="line"><a name="l03038"></a><span class="lineno"> 3038</span> </div>
-<div class="line"><a name="l03039"></a><span class="lineno"> 3039</span> </div>
-<div class="line"><a name="l03040"></a><span class="lineno"> 3040</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l03041"></a><span class="lineno"> 3041</span> <span class="comment"> sinfo_get_clean_mean_window(img_on_dif,llx,lly,urx,ury,kappa,</span></div>
-<div class="line"><a name="l03042"></a><span class="lineno"> 3042</span> <span class="comment"> nclip,&avg,&sig_on_dif);</span></div>
-<div class="line"><a name="l03043"></a><span class="lineno"> 3043</span> <span class="comment"> sinfo_get_clean_mean_window(img_of_dif,llx,lly,urx,ury,kappa,</span></div>
-<div class="line"><a name="l03044"></a><span class="lineno"> 3044</span> <span class="comment"> nclip,&avg,&sig_of_dif);</span></div>
-<div class="line"><a name="l03045"></a><span class="lineno"> 3045</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03046"></a><span class="lineno"> 3046</span> </div>
-<div class="line"><a name="l03047"></a><span class="lineno"> 3047</span> cpl_vector_delete(dit_on);</div>
-<div class="line"><a name="l03048"></a><span class="lineno"> 3048</span> cpl_vector_delete(dit_of);</div>
-<div class="line"><a name="l03049"></a><span class="lineno"> 3049</span> cpl_vector_delete(exptime_on);</div>
-<div class="line"><a name="l03050"></a><span class="lineno"> 3050</span> cpl_vector_delete(exptime_of);</div>
-<div class="line"><a name="l03051"></a><span class="lineno"> 3051</span> </div>
-<div class="line"><a name="l03052"></a><span class="lineno"> 3052</span> <span class="keywordflow">return</span> res_tbl;</div>
-<div class="line"><a name="l03053"></a><span class="lineno"> 3053</span> </div>
-<div class="line"><a name="l03054"></a><span class="lineno"> 3054</span> cleanup:</div>
-<div class="line"><a name="l03055"></a><span class="lineno"> 3055</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l03056"></a><span class="lineno"> 3056</span> </div>
-<div class="line"><a name="l03057"></a><span class="lineno"> 3057</span> }</div>
-<div class="line"><a name="l03058"></a><span class="lineno"> 3058</span> </div>
-<div class="line"><a name="l03059"></a><span class="lineno"> 3059</span> </div>
-<div class="line"><a name="l03060"></a><span class="lineno"> 3060</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03072"></a><span class="lineno"> 3072</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03073"></a><span class="lineno"> 3073</span> </div>
-<div class="line"><a name="l03074"></a><span class="lineno"> 3074</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l03075"></a><span class="lineno"> 3075</span> sinfo_image_estimate_noise(cpl_image* img,</div>
-<div class="line"><a name="l03076"></a><span class="lineno"> 3076</span> <span class="keyword">const</span> <span class="keywordtype">int</span> noise_fit,</div>
-<div class="line"><a name="l03077"></a><span class="lineno"> 3077</span> <span class="keywordtype">double</span>* centre,</div>
-<div class="line"><a name="l03078"></a><span class="lineno"> 3078</span> <span class="keywordtype">double</span>* noise)</div>
-<div class="line"><a name="l03079"></a><span class="lineno"> 3079</span> {</div>
-<div class="line"><a name="l03080"></a><span class="lineno"> 3080</span> </div>
-<div class="line"><a name="l03081"></a><span class="lineno"> 3081</span> <span class="keywordtype">int</span> nbins=0;</div>
-<div class="line"><a name="l03082"></a><span class="lineno"> 3082</span> </div>
-<div class="line"><a name="l03083"></a><span class="lineno"> 3083</span> <span class="keywordtype">int</span> xsz=0;</div>
-<div class="line"><a name="l03084"></a><span class="lineno"> 3084</span> <span class="keywordtype">int</span> ysz=0;</div>
-<div class="line"><a name="l03085"></a><span class="lineno"> 3085</span> <span class="keywordtype">int</span> n=0;</div>
-<div class="line"><a name="l03086"></a><span class="lineno"> 3086</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l03087"></a><span class="lineno"> 3087</span> <span class="keywordtype">int</span> r=0;</div>
-<div class="line"><a name="l03088"></a><span class="lineno"> 3088</span> </div>
-<div class="line"><a name="l03089"></a><span class="lineno"> 3089</span> <span class="keywordtype">int</span> ndist=0;</div>
-<div class="line"><a name="l03090"></a><span class="lineno"> 3090</span> <span class="keywordtype">double</span> min_fct=HISTO_DIST_TEMPC_MIN_FCT;</div>
-<div class="line"><a name="l03091"></a><span class="lineno"> 3091</span> <span class="keywordtype">double</span> max_fct=HISTO_DIST_TEMPC_MAX_FCT;</div>
-<div class="line"><a name="l03092"></a><span class="lineno"> 3092</span> <span class="keywordtype">double</span> avg_d=0;</div>
-<div class="line"><a name="l03093"></a><span class="lineno"> 3093</span> <span class="keywordtype">double</span> std_d=0;</div>
-<div class="line"><a name="l03094"></a><span class="lineno"> 3094</span> <span class="keywordtype">double</span> hmin=0;</div>
-<div class="line"><a name="l03095"></a><span class="lineno"> 3095</span> <span class="keywordtype">double</span> hmax=0;</div>
-<div class="line"><a name="l03096"></a><span class="lineno"> 3096</span> <span class="keywordtype">double</span> kappa=3;</div>
-<div class="line"><a name="l03097"></a><span class="lineno"> 3097</span> </div>
-<div class="line"><a name="l03098"></a><span class="lineno"> 3098</span> <span class="keywordtype">double</span>* pdata=NULL;</div>
-<div class="line"><a name="l03099"></a><span class="lineno"> 3099</span> <span class="keywordtype">double</span>* disth=NULL;</div>
-<div class="line"><a name="l03100"></a><span class="lineno"> 3100</span> <span class="keywordtype">double</span>* distx=NULL;</div>
-<div class="line"><a name="l03101"></a><span class="lineno"> 3101</span> </div>
-<div class="line"><a name="l03102"></a><span class="lineno"> 3102</span> <span class="keywordtype">double</span> peak=0;</div>
-<div class="line"><a name="l03103"></a><span class="lineno"> 3103</span> <span class="keywordtype">double</span> tempc=0;</div>
-<div class="line"><a name="l03104"></a><span class="lineno"> 3104</span> <span class="keywordtype">double</span> value=0;</div>
-<div class="line"><a name="l03105"></a><span class="lineno"> 3105</span> <span class="keywordtype">double</span> x0=0;</div>
-<div class="line"><a name="l03106"></a><span class="lineno"> 3106</span> <span class="keywordtype">double</span> sigma=0;</div>
-<div class="line"><a name="l03107"></a><span class="lineno"> 3107</span> <span class="keywordtype">double</span> area=0;</div>
-<div class="line"><a name="l03108"></a><span class="lineno"> 3108</span> <span class="keywordtype">double</span> offset=0;</div>
-<div class="line"><a name="l03109"></a><span class="lineno"> 3109</span> <span class="comment">//double mse=0;</span></div>
-<div class="line"><a name="l03110"></a><span class="lineno"> 3110</span> <span class="comment">//double chired=0;</span></div>
-<div class="line"><a name="l03111"></a><span class="lineno"> 3111</span> </div>
-<div class="line"><a name="l03112"></a><span class="lineno"> 3112</span> cpl_table* data_tbl=NULL;</div>
-<div class="line"><a name="l03113"></a><span class="lineno"> 3113</span> cpl_table* histo=NULL;</div>
-<div class="line"><a name="l03114"></a><span class="lineno"> 3114</span> cpl_table* dist=NULL;</div>
-<div class="line"><a name="l03115"></a><span class="lineno"> 3115</span> cpl_table* min_xi=NULL;</div>
-<div class="line"><a name="l03116"></a><span class="lineno"> 3116</span> cpl_table* tmp_tbl1=NULL;</div>
-<div class="line"><a name="l03117"></a><span class="lineno"> 3117</span> cpl_table* tmp_tbl2=NULL;</div>
-<div class="line"><a name="l03118"></a><span class="lineno"> 3118</span> cpl_vector* vx=NULL;</div>
-<div class="line"><a name="l03119"></a><span class="lineno"> 3119</span> cpl_vector* vy=NULL;</div>
-<div class="line"><a name="l03120"></a><span class="lineno"> 3120</span> cpl_vector* sx=NULL;</div>
-<div class="line"><a name="l03121"></a><span class="lineno"> 3121</span> cpl_vector* sy=NULL;</div>
-<div class="line"><a name="l03122"></a><span class="lineno"> 3122</span> </div>
-<div class="line"><a name="l03123"></a><span class="lineno"> 3123</span> <span class="comment">// Get Object relevant information</span></div>
-<div class="line"><a name="l03124"></a><span class="lineno"> 3124</span> check_nomsg(xsz=cpl_image_get_size_x(img));</div>
-<div class="line"><a name="l03125"></a><span class="lineno"> 3125</span> check_nomsg(ysz=cpl_image_get_size_y(img));</div>
-<div class="line"><a name="l03126"></a><span class="lineno"> 3126</span> n=xsz*ysz;</div>
-<div class="line"><a name="l03127"></a><span class="lineno"> 3127</span> nbins=sqrt(n);</div>
-<div class="line"><a name="l03128"></a><span class="lineno"> 3128</span> check_nomsg(data_tbl=cpl_table_new(n));</div>
-<div class="line"><a name="l03129"></a><span class="lineno"> 3129</span> check_nomsg(cpl_table_new_column(data_tbl,<span class="stringliteral">"DATA"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l03130"></a><span class="lineno"> 3130</span> </div>
-<div class="line"><a name="l03131"></a><span class="lineno"> 3131</span> check_nomsg(pdata=cpl_image_get_data(img));</div>
-<div class="line"><a name="l03132"></a><span class="lineno"> 3132</span> <span class="keywordflow">for</span>(i=0;i<n;i++) {</div>
-<div class="line"><a name="l03133"></a><span class="lineno"> 3133</span> <span class="keywordflow">if</span>(!isnan(pdata[i])) {</div>
-<div class="line"><a name="l03134"></a><span class="lineno"> 3134</span> cpl_table_set_double(data_tbl,<span class="stringliteral">"DATA"</span>,r,pdata[i]);</div>
-<div class="line"><a name="l03135"></a><span class="lineno"> 3135</span> r++;</div>
-<div class="line"><a name="l03136"></a><span class="lineno"> 3136</span> }</div>
-<div class="line"><a name="l03137"></a><span class="lineno"> 3137</span> }</div>
-<div class="line"><a name="l03138"></a><span class="lineno"> 3138</span> </div>
-<div class="line"><a name="l03139"></a><span class="lineno"> 3139</span> check_nomsg(cpl_table_erase_invalid(data_tbl));</div>
-<div class="line"><a name="l03140"></a><span class="lineno"> 3140</span> check_nomsg(avg_d=cpl_table_get_column_mean(data_tbl,<span class="stringliteral">"DATA"</span>));</div>
-<div class="line"><a name="l03141"></a><span class="lineno"> 3141</span> check_nomsg(std_d=cpl_table_get_column_stdev(data_tbl,<span class="stringliteral">"DATA"</span>));</div>
-<div class="line"><a name="l03142"></a><span class="lineno"> 3142</span> </div>
-<div class="line"><a name="l03143"></a><span class="lineno"> 3143</span> cpl_table_save(data_tbl, NULL, NULL, <span class="stringliteral">"out_data.fits"</span>, CPL_IO_DEFAULT);</div>
-<div class="line"><a name="l03144"></a><span class="lineno"> 3144</span> </div>
-<div class="line"><a name="l03145"></a><span class="lineno"> 3145</span> hmin=avg_d-kappa*std_d;</div>
-<div class="line"><a name="l03146"></a><span class="lineno"> 3146</span> hmax=avg_d+kappa*std_d;</div>
-<div class="line"><a name="l03147"></a><span class="lineno"> 3147</span> <span class="comment">//sinfo_msg("mean=%g stdv=%g",avg_d,std_d);</span></div>
-<div class="line"><a name="l03148"></a><span class="lineno"> 3148</span> <span class="comment">//sinfo_msg("hmin=%g hmax=%g",hmin,hmax);</span></div>
-<div class="line"><a name="l03149"></a><span class="lineno"> 3149</span> <span class="comment">//sinfo_msg("Computes histogram");</span></div>
-<div class="line"><a name="l03150"></a><span class="lineno"> 3150</span> ck0(sinfo_histogram(data_tbl,nbins,hmin,hmax,&histo),<span class="stringliteral">"building histogram"</span>);</div>
-<div class="line"><a name="l03151"></a><span class="lineno"> 3151</span> </div>
-<div class="line"><a name="l03152"></a><span class="lineno"> 3152</span> value=(double)(hmax-hmin)/nbins/2.;</div>
-<div class="line"><a name="l03153"></a><span class="lineno"> 3153</span> <span class="comment">//sinfo_msg("value=%10.8f",value);</span></div>
-<div class="line"><a name="l03154"></a><span class="lineno"> 3154</span> <span class="comment">//cpl_table_save(histo, NULL, NULL, "out_pippo.fits", CPL_IO_DEFAULT0);</span></div>
-<div class="line"><a name="l03155"></a><span class="lineno"> 3155</span> </div>
-<div class="line"><a name="l03156"></a><span class="lineno"> 3156</span> check_nomsg(peak=cpl_table_get_column_max(histo,<span class="stringliteral">"HY"</span>));</div>
-<div class="line"><a name="l03157"></a><span class="lineno"> 3157</span> <span class="comment">//sinfo_msg("peak=%f",peak);</span></div>
-<div class="line"><a name="l03158"></a><span class="lineno"> 3158</span> sinfo_free_table(&tmp_tbl1);</div>
-<div class="line"><a name="l03159"></a><span class="lineno"> 3159</span> </div>
-<div class="line"><a name="l03160"></a><span class="lineno"> 3160</span> check_nomsg(tmp_tbl1=sinfo_extract_table_rows(histo,<span class="stringliteral">"HY"</span>,CPL_EQUAL_TO,peak));</div>
-<div class="line"><a name="l03161"></a><span class="lineno"> 3161</span> </div>
-<div class="line"><a name="l03162"></a><span class="lineno"> 3162</span> <span class="comment">//cpl_table_save(tmp_tbl1, NULL, NULL, "out_tmp_tbl1.fits", CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l03163"></a><span class="lineno"> 3163</span> </div>
-<div class="line"><a name="l03164"></a><span class="lineno"> 3164</span> </div>
-<div class="line"><a name="l03165"></a><span class="lineno"> 3165</span> check_nomsg(*centre=cpl_table_get_column_mean(tmp_tbl1,<span class="stringliteral">"HL"</span>));</div>
-<div class="line"><a name="l03166"></a><span class="lineno"> 3166</span> <span class="comment">//sinfo_msg("Background level=%f",*centre);</span></div>
-<div class="line"><a name="l03167"></a><span class="lineno"> 3167</span> </div>
-<div class="line"><a name="l03168"></a><span class="lineno"> 3168</span> sinfo_free_table(&tmp_tbl1);</div>
-<div class="line"><a name="l03169"></a><span class="lineno"> 3169</span> check_nomsg(tmp_tbl1=sinfo_extract_table_rows(histo,<span class="stringliteral">"HY"</span>,</div>
-<div class="line"><a name="l03170"></a><span class="lineno"> 3170</span> CPL_GREATER_THAN,</div>
-<div class="line"><a name="l03171"></a><span class="lineno"> 3171</span> peak/HISTO_Y_CUT));</div>
-<div class="line"><a name="l03172"></a><span class="lineno"> 3172</span> sinfo_free_table(&tmp_tbl2);</div>
-<div class="line"><a name="l03173"></a><span class="lineno"> 3173</span> check_nomsg(tmp_tbl2=sinfo_extract_table_rows(tmp_tbl1,<span class="stringliteral">"HY"</span>,</div>
-<div class="line"><a name="l03174"></a><span class="lineno"> 3174</span> CPL_LESS_THAN,peak));</div>
-<div class="line"><a name="l03175"></a><span class="lineno"> 3175</span> sinfo_free_table(&tmp_tbl1);</div>
-<div class="line"><a name="l03176"></a><span class="lineno"> 3176</span> </div>
-<div class="line"><a name="l03177"></a><span class="lineno"> 3177</span> check_nomsg(tempc=*centre-cpl_table_get_column_min(tmp_tbl2,<span class="stringliteral">"HL"</span>));</div>
-<div class="line"><a name="l03178"></a><span class="lineno"> 3178</span> <span class="comment">//sinfo_msg("min HX %f",cpl_table_get_column_min(tmp_tbl2,"HL"));</span></div>
-<div class="line"><a name="l03179"></a><span class="lineno"> 3179</span> sinfo_free_table(&tmp_tbl2);</div>
-<div class="line"><a name="l03180"></a><span class="lineno"> 3180</span> <span class="comment">//sinfo_msg("Tempc=%f",tempc);</span></div>
-<div class="line"><a name="l03181"></a><span class="lineno"> 3181</span> check_nomsg(dist=sinfo_where_tab_min_max(histo,<span class="stringliteral">"HL"</span>,</div>
-<div class="line"><a name="l03182"></a><span class="lineno"> 3182</span> CPL_GREATER_THAN,</div>
-<div class="line"><a name="l03183"></a><span class="lineno"> 3183</span> *centre-min_fct*tempc,</div>
-<div class="line"><a name="l03184"></a><span class="lineno"> 3184</span> CPL_NOT_GREATER_THAN,</div>
-<div class="line"><a name="l03185"></a><span class="lineno"> 3185</span> *centre+max_fct*tempc));</div>
-<div class="line"><a name="l03186"></a><span class="lineno"> 3186</span> </div>
-<div class="line"><a name="l03187"></a><span class="lineno"> 3187</span> offset=cpl_table_get_column_min(histo,<span class="stringliteral">"HY"</span>);</div>
-<div class="line"><a name="l03188"></a><span class="lineno"> 3188</span> sinfo_free_table(&histo);</div>
-<div class="line"><a name="l03189"></a><span class="lineno"> 3189</span> </div>
-<div class="line"><a name="l03190"></a><span class="lineno"> 3190</span> </div>
-<div class="line"><a name="l03191"></a><span class="lineno"> 3191</span> check_nomsg(ndist=cpl_table_get_nrow(dist));</div>
-<div class="line"><a name="l03192"></a><span class="lineno"> 3192</span> check_nomsg(cpl_table_cast_column(dist,<span class="stringliteral">"HY"</span>,<span class="stringliteral">"HYdouble"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l03193"></a><span class="lineno"> 3193</span> check_nomsg(disth=cpl_table_get_data_double(dist,<span class="stringliteral">"HYdouble"</span>));</div>
-<div class="line"><a name="l03194"></a><span class="lineno"> 3194</span> check_nomsg(distx=cpl_table_get_data_double(dist,<span class="stringliteral">"HL"</span>));</div>
-<div class="line"><a name="l03195"></a><span class="lineno"> 3195</span> cpl_table_save(dist, NULL, NULL, <span class="stringliteral">"out_dist.fits"</span>, CPL_IO_DEFAULT);</div>
-<div class="line"><a name="l03196"></a><span class="lineno"> 3196</span> </div>
-<div class="line"><a name="l03197"></a><span class="lineno"> 3197</span> <span class="comment">//TODO</span></div>
-<div class="line"><a name="l03198"></a><span class="lineno"> 3198</span> <span class="comment">//gaussfit(distx,disty,dista,nterms=3);</span></div>
-<div class="line"><a name="l03199"></a><span class="lineno"> 3199</span> <span class="comment">//*noise=dista[2];</span></div>
-<div class="line"><a name="l03200"></a><span class="lineno"> 3200</span> *noise=tempc/2;</div>
-<div class="line"><a name="l03201"></a><span class="lineno"> 3201</span> <span class="comment">/* THIS DOES NOT WORK */</span></div>
-<div class="line"><a name="l03202"></a><span class="lineno"> 3202</span> <span class="comment">//sinfo_msg("FWHM/2=%f",*noise);</span></div>
-<div class="line"><a name="l03203"></a><span class="lineno"> 3203</span> </div>
-<div class="line"><a name="l03204"></a><span class="lineno"> 3204</span> <span class="keywordflow">if</span>(noise_fit == 1) {</div>
-<div class="line"><a name="l03205"></a><span class="lineno"> 3205</span> check_nomsg(vy=cpl_vector_wrap(ndist,disth));</div>
-<div class="line"><a name="l03206"></a><span class="lineno"> 3206</span> check_nomsg(vx=cpl_vector_wrap(ndist,distx));</div>
-<div class="line"><a name="l03207"></a><span class="lineno"> 3207</span> check_nomsg(sx=cpl_vector_new(ndist));</div>
-<div class="line"><a name="l03208"></a><span class="lineno"> 3208</span> check_nomsg(cpl_vector_fill(sx,1.));</div>
-<div class="line"><a name="l03209"></a><span class="lineno"> 3209</span> check_nomsg(sy=cpl_vector_duplicate(sx));</div>
-<div class="line"><a name="l03210"></a><span class="lineno"> 3210</span> x0=*centre;</div>
-<div class="line"><a name="l03211"></a><span class="lineno"> 3211</span> sigma=tempc/2;</div>
-<div class="line"><a name="l03212"></a><span class="lineno"> 3212</span> </div>
-<div class="line"><a name="l03213"></a><span class="lineno"> 3213</span> <span class="keywordflow">if</span>(CPL_ERROR_NONE != cpl_vector_fit_gaussian(vx,NULL,</div>
-<div class="line"><a name="l03214"></a><span class="lineno"> 3214</span> vy,NULL,</div>
-<div class="line"><a name="l03215"></a><span class="lineno"> 3215</span> CPL_FIT_ALL,</div>
-<div class="line"><a name="l03216"></a><span class="lineno"> 3216</span> &x0,&sigma,&area,&offset,</div>
-<div class="line"><a name="l03217"></a><span class="lineno"> 3217</span> NULL,NULL,NULL)) {</div>
-<div class="line"><a name="l03218"></a><span class="lineno"> 3218</span> cpl_error_reset();</div>
-<div class="line"><a name="l03219"></a><span class="lineno"> 3219</span> }</div>
-<div class="line"><a name="l03220"></a><span class="lineno"> 3220</span> <span class="comment">//sinfo_msg("Gauss fit parameters:"</span></div>
-<div class="line"><a name="l03221"></a><span class="lineno"> 3221</span> <span class="comment">// "x0=%f sigma=%f area=%f offset=%f mse=%f chired=%f",</span></div>
-<div class="line"><a name="l03222"></a><span class="lineno"> 3222</span> <span class="comment">// x0,sigma,area,offset,mse,chired);</span></div>
-<div class="line"><a name="l03223"></a><span class="lineno"> 3223</span> <span class="comment">//sinfo_msg("Background level=%f",*centre);</span></div>
-<div class="line"><a name="l03224"></a><span class="lineno"> 3224</span> <span class="comment">//sinfo_msg("Noise=%f",sigma);</span></div>
-<div class="line"><a name="l03225"></a><span class="lineno"> 3225</span> *noise=sigma;</div>
-<div class="line"><a name="l03226"></a><span class="lineno"> 3226</span> sinfo_unwrap_vector(&vx);</div>
-<div class="line"><a name="l03227"></a><span class="lineno"> 3227</span> sinfo_unwrap_vector(&vy);</div>
-<div class="line"><a name="l03228"></a><span class="lineno"> 3228</span> sinfo_free_my_vector(&sx);</div>
-<div class="line"><a name="l03229"></a><span class="lineno"> 3229</span> sinfo_free_my_vector(&sy);</div>
-<div class="line"><a name="l03230"></a><span class="lineno"> 3230</span> }</div>
-<div class="line"><a name="l03231"></a><span class="lineno"> 3231</span> sinfo_free_table(&dist);</div>
-<div class="line"><a name="l03232"></a><span class="lineno"> 3232</span> </div>
-<div class="line"><a name="l03233"></a><span class="lineno"> 3233</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l03234"></a><span class="lineno"> 3234</span> </div>
-<div class="line"><a name="l03235"></a><span class="lineno"> 3235</span> cleanup:</div>
-<div class="line"><a name="l03236"></a><span class="lineno"> 3236</span> sinfo_free_table(&min_xi);</div>
-<div class="line"><a name="l03237"></a><span class="lineno"> 3237</span> sinfo_free_table(&tmp_tbl1);</div>
-<div class="line"><a name="l03238"></a><span class="lineno"> 3238</span> sinfo_free_table(&tmp_tbl2);</div>
-<div class="line"><a name="l03239"></a><span class="lineno"> 3239</span> sinfo_free_table(&histo);</div>
-<div class="line"><a name="l03240"></a><span class="lineno"> 3240</span> sinfo_free_table(&dist);</div>
-<div class="line"><a name="l03241"></a><span class="lineno"> 3241</span> sinfo_free_table(&data_tbl);</div>
-<div class="line"><a name="l03242"></a><span class="lineno"> 3242</span> sinfo_free_my_vector(&sx);</div>
-<div class="line"><a name="l03243"></a><span class="lineno"> 3243</span> sinfo_free_my_vector(&sy);</div>
-<div class="line"><a name="l03244"></a><span class="lineno"> 3244</span> sinfo_unwrap_vector(&vx);</div>
-<div class="line"><a name="l03245"></a><span class="lineno"> 3245</span> sinfo_unwrap_vector(&vy);</div>
-<div class="line"><a name="l03246"></a><span class="lineno"> 3246</span> </div>
-<div class="line"><a name="l03247"></a><span class="lineno"> 3247</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l03248"></a><span class="lineno"> 3248</span> </div>
-<div class="line"><a name="l03249"></a><span class="lineno"> 3249</span> }</div>
-<div class="line"><a name="l03250"></a><span class="lineno"> 3250</span> </div>
-<div class="line"><a name="l03251"></a><span class="lineno"> 3251</span> </div>
-<div class="line"><a name="l03252"></a><span class="lineno"> 3252</span> </div>
-<div class="line"><a name="l03253"></a><span class="lineno"> 3253</span> </div>
-<div class="line"><a name="l03254"></a><span class="lineno"> 3254</span> </div>
-<div class="line"><a name="l03255"></a><span class="lineno"> 3255</span> cpl_table* sinfo_compute_linearity(cpl_frameset* son, cpl_frameset* sof)</div>
-<div class="line"><a name="l03256"></a><span class="lineno"> 3256</span> {</div>
-<div class="line"><a name="l03257"></a><span class="lineno"> 3257</span> </div>
-<div class="line"><a name="l03258"></a><span class="lineno"> 3258</span> cpl_frame* frm=NULL;</div>
-<div class="line"><a name="l03259"></a><span class="lineno"> 3259</span> </div>
-<div class="line"><a name="l03260"></a><span class="lineno"> 3260</span> <span class="keywordtype">int</span>* status=0;</div>
-<div class="line"><a name="l03261"></a><span class="lineno"> 3261</span> <span class="keywordtype">int</span> non=0;</div>
-<div class="line"><a name="l03262"></a><span class="lineno"> 3262</span> <span class="keywordtype">int</span> nof=0;</div>
-<div class="line"><a name="l03263"></a><span class="lineno"> 3263</span> <span class="keywordtype">int</span> nfr=0;</div>
-<div class="line"><a name="l03264"></a><span class="lineno"> 3264</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l03265"></a><span class="lineno"> 3265</span> <span class="keywordtype">double</span> med_on=0;</div>
-<div class="line"><a name="l03266"></a><span class="lineno"> 3266</span> <span class="keywordtype">double</span> avg_on=0;</div>
-<div class="line"><a name="l03267"></a><span class="lineno"> 3267</span> <span class="keywordtype">double</span> med_of=0;</div>
-<div class="line"><a name="l03268"></a><span class="lineno"> 3268</span> <span class="keywordtype">double</span> avg_of=0;</div>
-<div class="line"><a name="l03269"></a><span class="lineno"> 3269</span> <span class="keywordtype">double</span> med_dit=0;</div>
-<div class="line"><a name="l03270"></a><span class="lineno"> 3270</span> <span class="keywordtype">double</span> avg_dit=0;</div>
-<div class="line"><a name="l03271"></a><span class="lineno"> 3271</span> </div>
-<div class="line"><a name="l03272"></a><span class="lineno"> 3272</span> <span class="keywordtype">double</span> med=0;</div>
-<div class="line"><a name="l03273"></a><span class="lineno"> 3273</span> <span class="keywordtype">double</span> avg=0;</div>
-<div class="line"><a name="l03274"></a><span class="lineno"> 3274</span> </div>
-<div class="line"><a name="l03275"></a><span class="lineno"> 3275</span> <span class="keywordtype">char</span>* name=NULL;</div>
-<div class="line"><a name="l03276"></a><span class="lineno"> 3276</span> cpl_image* img=NULL;</div>
-<div class="line"><a name="l03277"></a><span class="lineno"> 3277</span> cpl_vector* vec_adl=NULL;</div>
-<div class="line"><a name="l03278"></a><span class="lineno"> 3278</span> cpl_vector* vec_dit=NULL;</div>
-<div class="line"><a name="l03279"></a><span class="lineno"> 3279</span> cpl_vector* vec_avg=NULL;</div>
-<div class="line"><a name="l03280"></a><span class="lineno"> 3280</span> cpl_vector* vec_med=NULL;</div>
-<div class="line"><a name="l03281"></a><span class="lineno"> 3281</span> cpl_vector* vec_avg_dit=NULL;</div>
-<div class="line"><a name="l03282"></a><span class="lineno"> 3282</span> cpl_vector* vec_med_dit=NULL;</div>
-<div class="line"><a name="l03283"></a><span class="lineno"> 3283</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l03284"></a><span class="lineno"> 3284</span> </div>
-<div class="line"><a name="l03285"></a><span class="lineno"> 3285</span> <span class="keywordtype">double</span> dit=0;</div>
-<div class="line"><a name="l03286"></a><span class="lineno"> 3286</span> cpl_table* lin_tbl=NULL;</div>
-<div class="line"><a name="l03287"></a><span class="lineno"> 3287</span> </div>
-<div class="line"><a name="l03288"></a><span class="lineno"> 3288</span> </div>
-<div class="line"><a name="l03289"></a><span class="lineno"> 3289</span> non = cpl_frameset_get_size(son);</div>
-<div class="line"><a name="l03290"></a><span class="lineno"> 3290</span> nof = cpl_frameset_get_size(sof);</div>
-<div class="line"><a name="l03291"></a><span class="lineno"> 3291</span> nfr = (non <= nof) ? non : nof;</div>
-<div class="line"><a name="l03292"></a><span class="lineno"> 3292</span> </div>
-<div class="line"><a name="l03293"></a><span class="lineno"> 3293</span> lin_tbl=cpl_table_new(nfr);</div>
-<div class="line"><a name="l03294"></a><span class="lineno"> 3294</span> cpl_table_new_column(lin_tbl,<span class="stringliteral">"med"</span>, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l03295"></a><span class="lineno"> 3295</span> cpl_table_new_column(lin_tbl,<span class="stringliteral">"avg"</span>, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l03296"></a><span class="lineno"> 3296</span> cpl_table_new_column(lin_tbl,<span class="stringliteral">"med_dit"</span>, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l03297"></a><span class="lineno"> 3297</span> cpl_table_new_column(lin_tbl,<span class="stringliteral">"avg_dit"</span>, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l03298"></a><span class="lineno"> 3298</span> cpl_table_new_column(lin_tbl,<span class="stringliteral">"dit"</span>, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l03299"></a><span class="lineno"> 3299</span> vec_med=cpl_vector_new(nfr);</div>
-<div class="line"><a name="l03300"></a><span class="lineno"> 3300</span> vec_avg=cpl_vector_new(nfr);</div>
-<div class="line"><a name="l03301"></a><span class="lineno"> 3301</span> vec_med_dit=cpl_vector_new(nfr);</div>
-<div class="line"><a name="l03302"></a><span class="lineno"> 3302</span> vec_avg_dit=cpl_vector_new(nfr);</div>
-<div class="line"><a name="l03303"></a><span class="lineno"> 3303</span> vec_dit=cpl_vector_new(nfr);</div>
-<div class="line"><a name="l03304"></a><span class="lineno"> 3304</span> vec_adl=cpl_vector_new(nfr);</div>
-<div class="line"><a name="l03305"></a><span class="lineno"> 3305</span> </div>
-<div class="line"><a name="l03306"></a><span class="lineno"> 3306</span> <span class="keywordflow">for</span>(i=0;i<nfr;i++) {</div>
-<div class="line"><a name="l03307"></a><span class="lineno"> 3307</span> frm=cpl_frameset_get_frame(son,i);</div>
-<div class="line"><a name="l03308"></a><span class="lineno"> 3308</span> name=(<span class="keywordtype">char</span>*)cpl_frame_get_filename(frm);</div>
-<div class="line"><a name="l03309"></a><span class="lineno"> 3309</span> img=cpl_image_load(name,CPL_TYPE_FLOAT,0,0);</div>
-<div class="line"><a name="l03310"></a><span class="lineno"> 3310</span> med_on=cpl_image_get_median(img);</div>
-<div class="line"><a name="l03311"></a><span class="lineno"> 3311</span> avg_on=cpl_image_get_mean(img);</div>
-<div class="line"><a name="l03312"></a><span class="lineno"> 3312</span> cpl_image_delete(img);</div>
-<div class="line"><a name="l03313"></a><span class="lineno"> 3313</span> </div>
-<div class="line"><a name="l03314"></a><span class="lineno"> 3314</span> frm=cpl_frameset_get_frame(sof,i);</div>
-<div class="line"><a name="l03315"></a><span class="lineno"> 3315</span> name=(<span class="keywordtype">char</span>*)cpl_frame_get_filename(frm);</div>
-<div class="line"><a name="l03316"></a><span class="lineno"> 3316</span> img=cpl_image_load(name,CPL_TYPE_FLOAT,0,0);</div>
-<div class="line"><a name="l03317"></a><span class="lineno"> 3317</span> med_of=cpl_image_get_median(img);</div>
-<div class="line"><a name="l03318"></a><span class="lineno"> 3318</span> avg_of=cpl_image_get_mean(img);</div>
-<div class="line"><a name="l03319"></a><span class="lineno"> 3319</span> cpl_image_delete(img);</div>
-<div class="line"><a name="l03320"></a><span class="lineno"> 3320</span> </div>
-<div class="line"><a name="l03321"></a><span class="lineno"> 3321</span> med=med_on-med_of;</div>
-<div class="line"><a name="l03322"></a><span class="lineno"> 3322</span> avg=avg_on-avg_of;</div>
-<div class="line"><a name="l03323"></a><span class="lineno"> 3323</span> plist=cpl_propertylist_load(name,0);</div>
-<div class="line"><a name="l03324"></a><span class="lineno"> 3324</span> dit=(double)sinfo_pfits_get_dit(plist);</div>
-<div class="line"><a name="l03325"></a><span class="lineno"> 3325</span> cpl_propertylist_delete(plist);</div>
-<div class="line"><a name="l03326"></a><span class="lineno"> 3326</span> avg_dit=avg/dit;</div>
-<div class="line"><a name="l03327"></a><span class="lineno"> 3327</span> med_dit=med/dit;</div>
-<div class="line"><a name="l03328"></a><span class="lineno"> 3328</span> </div>
-<div class="line"><a name="l03329"></a><span class="lineno"> 3329</span> cpl_vector_set(vec_dit,i,dit);</div>
-<div class="line"><a name="l03330"></a><span class="lineno"> 3330</span> cpl_vector_set(vec_avg,i,avg);</div>
-<div class="line"><a name="l03331"></a><span class="lineno"> 3331</span> cpl_vector_set(vec_med,i,med);</div>
-<div class="line"><a name="l03332"></a><span class="lineno"> 3332</span> cpl_vector_set(vec_avg_dit,i,avg_dit);</div>
-<div class="line"><a name="l03333"></a><span class="lineno"> 3333</span> cpl_vector_set(vec_med_dit,i,med_dit);</div>
-<div class="line"><a name="l03334"></a><span class="lineno"> 3334</span> </div>
-<div class="line"><a name="l03335"></a><span class="lineno"> 3335</span> cpl_table_set_double(lin_tbl,<span class="stringliteral">"dit"</span>,i,dit);</div>
-<div class="line"><a name="l03336"></a><span class="lineno"> 3336</span> cpl_table_set_double(lin_tbl,<span class="stringliteral">"med"</span>,i,med);</div>
-<div class="line"><a name="l03337"></a><span class="lineno"> 3337</span> cpl_table_set_double(lin_tbl,<span class="stringliteral">"avg"</span>,i,avg);</div>
-<div class="line"><a name="l03338"></a><span class="lineno"> 3338</span> cpl_table_set_double(lin_tbl,<span class="stringliteral">"med_dit"</span>,i,med_dit);</div>
-<div class="line"><a name="l03339"></a><span class="lineno"> 3339</span> cpl_table_set_double(lin_tbl,<span class="stringliteral">"avg_dit"</span>,i,avg_dit);</div>
-<div class="line"><a name="l03340"></a><span class="lineno"> 3340</span> </div>
-<div class="line"><a name="l03341"></a><span class="lineno"> 3341</span> }</div>
-<div class="line"><a name="l03342"></a><span class="lineno"> 3342</span> cpl_table_new_column(lin_tbl,<span class="stringliteral">"adl"</span>, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l03343"></a><span class="lineno"> 3343</span> med_dit=cpl_vector_get_mean(vec_med_dit);</div>
-<div class="line"><a name="l03344"></a><span class="lineno"> 3344</span> avg_dit=cpl_vector_get_mean(vec_avg_dit);</div>
-<div class="line"><a name="l03345"></a><span class="lineno"> 3345</span> </div>
-<div class="line"><a name="l03346"></a><span class="lineno"> 3346</span> <span class="keywordflow">for</span>(i=0;i<nfr;i++) {</div>
-<div class="line"><a name="l03347"></a><span class="lineno"> 3347</span> dit = cpl_table_get_double(lin_tbl,<span class="stringliteral">"dit"</span>,i,status);</div>
-<div class="line"><a name="l03348"></a><span class="lineno"> 3348</span> cpl_vector_set(vec_adl,i,dit*med_dit);</div>
-<div class="line"><a name="l03349"></a><span class="lineno"> 3349</span> cpl_table_set_double(lin_tbl,<span class="stringliteral">"adl"</span>,i,dit*med_dit);</div>
-<div class="line"><a name="l03350"></a><span class="lineno"> 3350</span> }</div>
-<div class="line"><a name="l03351"></a><span class="lineno"> 3351</span> </div>
-<div class="line"><a name="l03352"></a><span class="lineno"> 3352</span> cpl_vector_delete(vec_dit);</div>
-<div class="line"><a name="l03353"></a><span class="lineno"> 3353</span> cpl_vector_delete(vec_adl);</div>
-<div class="line"><a name="l03354"></a><span class="lineno"> 3354</span> cpl_vector_delete(vec_avg);</div>
-<div class="line"><a name="l03355"></a><span class="lineno"> 3355</span> cpl_vector_delete(vec_med);</div>
-<div class="line"><a name="l03356"></a><span class="lineno"> 3356</span> cpl_vector_delete(vec_avg_dit);</div>
-<div class="line"><a name="l03357"></a><span class="lineno"> 3357</span> cpl_vector_delete(vec_med_dit);</div>
-<div class="line"><a name="l03358"></a><span class="lineno"> 3358</span> </div>
-<div class="line"><a name="l03359"></a><span class="lineno"> 3359</span> </div>
-<div class="line"><a name="l03360"></a><span class="lineno"> 3360</span> <span class="keywordflow">return</span> lin_tbl;</div>
-<div class="line"><a name="l03361"></a><span class="lineno"> 3361</span> </div>
-<div class="line"><a name="l03362"></a><span class="lineno"> 3362</span> }</div>
-<div class="line"><a name="l03363"></a><span class="lineno"> 3363</span> </div>
-<div class="line"><a name="l03364"></a><span class="lineno"> 3364</span> <span class="comment">/*--------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03371"></a><span class="lineno"> 3371</span> <span class="comment">/*--------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03372"></a><span class="lineno"> 3372</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l03373"></a><span class="lineno"> 3373</span> sinfo_get_ron(cpl_frameset * framelist,</div>
-<div class="line"><a name="l03374"></a><span class="lineno"> 3374</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ron_xmin,</div>
-<div class="line"><a name="l03375"></a><span class="lineno"> 3375</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ron_xmax,</div>
-<div class="line"><a name="l03376"></a><span class="lineno"> 3376</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ron_ymin,</div>
-<div class="line"><a name="l03377"></a><span class="lineno"> 3377</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ron_ymax,</div>
-<div class="line"><a name="l03378"></a><span class="lineno"> 3378</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ron_hsize,</div>
-<div class="line"><a name="l03379"></a><span class="lineno"> 3379</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ron_nsamp,</div>
-<div class="line"><a name="l03380"></a><span class="lineno"> 3380</span> <span class="keywordtype">double</span>** ron)</div>
-<div class="line"><a name="l03381"></a><span class="lineno"> 3381</span> {</div>
-<div class="line"><a name="l03382"></a><span class="lineno"> 3382</span> cpl_imagelist * iset =NULL;</div>
-<div class="line"><a name="l03383"></a><span class="lineno"> 3383</span> cpl_image * tmp_im =NULL;</div>
-<div class="line"><a name="l03384"></a><span class="lineno"> 3384</span> cpl_size zone[4] ;</div>
-<div class="line"><a name="l03385"></a><span class="lineno"> 3385</span> <span class="keywordtype">double</span> rms =0;</div>
-<div class="line"><a name="l03386"></a><span class="lineno"> 3386</span> <span class="keywordtype">double</span> ndit =0;</div>
-<div class="line"><a name="l03387"></a><span class="lineno"> 3387</span> cpl_frame * frame =NULL;</div>
-<div class="line"><a name="l03388"></a><span class="lineno"> 3388</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l03389"></a><span class="lineno"> 3389</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l03390"></a><span class="lineno"> 3390</span> </div>
-<div class="line"><a name="l03391"></a><span class="lineno"> 3391</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l03392"></a><span class="lineno"> 3392</span> </div>
-<div class="line"><a name="l03393"></a><span class="lineno"> 3393</span> <span class="keywordflow">if</span> (framelist == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03394"></a><span class="lineno"> 3394</span> </div>
-<div class="line"><a name="l03395"></a><span class="lineno"> 3395</span> <span class="comment">/* Load the current set */</span></div>
-<div class="line"><a name="l03396"></a><span class="lineno"> 3396</span> <span class="keywordflow">if</span> ((iset = sinfo_new_frameset_to_iset(framelist)) == NULL) {</div>
-<div class="line"><a name="l03397"></a><span class="lineno"> 3397</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"Cannot load the data"</span>) ;</div>
-<div class="line"><a name="l03398"></a><span class="lineno"> 3398</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03399"></a><span class="lineno"> 3399</span> }</div>
-<div class="line"><a name="l03400"></a><span class="lineno"> 3400</span> </div>
-<div class="line"><a name="l03401"></a><span class="lineno"> 3401</span> <span class="comment">/* Initialise */</span></div>
-<div class="line"><a name="l03402"></a><span class="lineno"> 3402</span> zone[0]=ron_xmin;</div>
-<div class="line"><a name="l03403"></a><span class="lineno"> 3403</span> zone[1]=ron_xmax;</div>
-<div class="line"><a name="l03404"></a><span class="lineno"> 3404</span> zone[2]=ron_ymin;</div>
-<div class="line"><a name="l03405"></a><span class="lineno"> 3405</span> zone[3]=ron_ymax;</div>
-<div class="line"><a name="l03406"></a><span class="lineno"> 3406</span> </div>
-<div class="line"><a name="l03407"></a><span class="lineno"> 3407</span> <span class="comment">/* Loop on all pairs */</span></div>
-<div class="line"><a name="l03408"></a><span class="lineno"> 3408</span> <span class="keywordflow">for</span> (i=0 ; i<cpl_imagelist_get_size(iset)-1 ; i++) {</div>
-<div class="line"><a name="l03409"></a><span class="lineno"> 3409</span> </div>
-<div class="line"><a name="l03410"></a><span class="lineno"> 3410</span> <span class="comment">/* Compute the current subtracted image */</span></div>
-<div class="line"><a name="l03411"></a><span class="lineno"> 3411</span> <span class="keywordflow">if</span> ((tmp_im=cpl_image_subtract_create(cpl_imagelist_get(iset,i),</div>
-<div class="line"><a name="l03412"></a><span class="lineno"> 3412</span> cpl_imagelist_get(iset, i+1)))</div>
-<div class="line"><a name="l03413"></a><span class="lineno"> 3413</span> == NULL) {</div>
-<div class="line"><a name="l03414"></a><span class="lineno"> 3414</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"Cannot subtract the images"</span>) ;</div>
-<div class="line"><a name="l03415"></a><span class="lineno"> 3415</span> sinfo_free_imagelist(&iset) ;</div>
-<div class="line"><a name="l03416"></a><span class="lineno"> 3416</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03417"></a><span class="lineno"> 3417</span> }</div>
-<div class="line"><a name="l03418"></a><span class="lineno"> 3418</span> </div>
-<div class="line"><a name="l03419"></a><span class="lineno"> 3419</span> <span class="comment">/* Compute the read-out noise */</span></div>
-<div class="line"><a name="l03420"></a><span class="lineno"> 3420</span> <span class="keywordflow">if</span> (cpl_flux_get_noise_window(tmp_im, zone, ron_hsize,</div>
-<div class="line"><a name="l03421"></a><span class="lineno"> 3421</span> ron_nsamp, &rms, NULL) != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l03422"></a><span class="lineno"> 3422</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"Cannot compute the RON"</span>) ;</div>
-<div class="line"><a name="l03423"></a><span class="lineno"> 3423</span> sinfo_free_image(&tmp_im) ;</div>
-<div class="line"><a name="l03424"></a><span class="lineno"> 3424</span> sinfo_free_imagelist(&iset) ;</div>
-<div class="line"><a name="l03425"></a><span class="lineno"> 3425</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03426"></a><span class="lineno"> 3426</span> }</div>
-<div class="line"><a name="l03427"></a><span class="lineno"> 3427</span> sinfo_free_image(&tmp_im) ;</div>
-<div class="line"><a name="l03428"></a><span class="lineno"> 3428</span> <span class="comment">/* Normalise the RON with NDIT */</span></div>
-<div class="line"><a name="l03429"></a><span class="lineno"> 3429</span> frame = cpl_frameset_get_frame(framelist, i) ;</div>
-<div class="line"><a name="l03430"></a><span class="lineno"> 3430</span> cknull_nomsg(plist=cpl_propertylist_load(cpl_frame_get_filename(frame),</div>
-<div class="line"><a name="l03431"></a><span class="lineno"> 3431</span> 0));</div>
-<div class="line"><a name="l03432"></a><span class="lineno"> 3432</span> ndit=sinfo_pfits_get_ndit(plist);</div>
-<div class="line"><a name="l03433"></a><span class="lineno"> 3433</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l03434"></a><span class="lineno"> 3434</span> </div>
-<div class="line"><a name="l03435"></a><span class="lineno"> 3435</span> (*ron)[i] = rms * sqrt(ndit/2.0) ;</div>
-<div class="line"><a name="l03436"></a><span class="lineno"> 3436</span> </div>
-<div class="line"><a name="l03437"></a><span class="lineno"> 3437</span> }</div>
-<div class="line"><a name="l03438"></a><span class="lineno"> 3438</span> </div>
-<div class="line"><a name="l03439"></a><span class="lineno"> 3439</span> <span class="comment">/* Free and return */</span></div>
-<div class="line"><a name="l03440"></a><span class="lineno"> 3440</span> sinfo_free_imagelist(&iset) ;</div>
-<div class="line"><a name="l03441"></a><span class="lineno"> 3441</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03442"></a><span class="lineno"> 3442</span> </div>
-<div class="line"><a name="l03443"></a><span class="lineno"> 3443</span> cleanup:</div>
-<div class="line"><a name="l03444"></a><span class="lineno"> 3444</span> sinfo_free_image(&tmp_im);</div>
-<div class="line"><a name="l03445"></a><span class="lineno"> 3445</span> sinfo_free_imagelist(&iset);</div>
-<div class="line"><a name="l03446"></a><span class="lineno"> 3446</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l03447"></a><span class="lineno"> 3447</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l03448"></a><span class="lineno"> 3448</span> </div>
-<div class="line"><a name="l03449"></a><span class="lineno"> 3449</span> }</div>
-<div class="line"><a name="l03450"></a><span class="lineno"> 3450</span> </div>
-<div class="line"><a name="l03451"></a><span class="lineno"> 3451</span> </div>
-<div class="line"><a name="l03452"></a><span class="lineno"> 3452</span> </div>
-<div class="line"><a name="l03453"></a><span class="lineno"> 3453</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03459"></a><span class="lineno"> 3459</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03460"></a><span class="lineno"> 3460</span> <span class="keywordtype">int</span> sinfo_stack_get_pro_tag(<span class="keywordtype">char</span> * tag_in, <span class="keywordtype">char</span>* tag_out)</div>
-<div class="line"><a name="l03461"></a><span class="lineno"> 3461</span> {</div>
-<div class="line"><a name="l03462"></a><span class="lineno"> 3462</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l03463"></a><span class="lineno"> 3463</span> <span class="keywordflow">if</span> (tag_in == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03464"></a><span class="lineno"> 3464</span> <span class="comment">/* here for the moment we set the same PRO ID as a non stacked frame */</span></div>
-<div class="line"><a name="l03465"></a><span class="lineno"> 3465</span> <span class="keywordflow">if</span> (strcmp(tag_in,RAW_WAVE_LAMP_DITHER) == 0 ) {</div>
-<div class="line"><a name="l03466"></a><span class="lineno"> 3466</span> strcpy(tag_out,PRO_WAVE_LAMP_STACKED);</div>
-<div class="line"><a name="l03467"></a><span class="lineno"> 3467</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03468"></a><span class="lineno"> 3468</span> }</div>
-<div class="line"><a name="l03469"></a><span class="lineno"> 3469</span> </div>
-<div class="line"><a name="l03470"></a><span class="lineno"> 3470</span> </div>
-<div class="line"><a name="l03471"></a><span class="lineno"> 3471</span> <span class="keywordflow">if</span> (strcmp(tag_in,RAW_WAVE_LAMP) == 0 ) {</div>
-<div class="line"><a name="l03472"></a><span class="lineno"> 3472</span> strcpy(tag_out,PRO_WAVE_LAMP_STACKED);</div>
-<div class="line"><a name="l03473"></a><span class="lineno"> 3473</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03474"></a><span class="lineno"> 3474</span> }</div>
-<div class="line"><a name="l03475"></a><span class="lineno"> 3475</span> </div>
-<div class="line"><a name="l03476"></a><span class="lineno"> 3476</span> <span class="keywordflow">if</span> (strcmp(tag_in,RAW_WAVE_NS_DITHER) == 0 ) {</div>
-<div class="line"><a name="l03477"></a><span class="lineno"> 3477</span> strcpy(tag_out,PRO_WAVE_NS_STACKED);</div>
-<div class="line"><a name="l03478"></a><span class="lineno"> 3478</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03479"></a><span class="lineno"> 3479</span> }</div>
-<div class="line"><a name="l03480"></a><span class="lineno"> 3480</span> </div>
-<div class="line"><a name="l03481"></a><span class="lineno"> 3481</span> </div>
-<div class="line"><a name="l03482"></a><span class="lineno"> 3482</span> <span class="keywordflow">if</span> (strcmp(tag_in,RAW_WAVE_NS) == 0 ) {</div>
-<div class="line"><a name="l03483"></a><span class="lineno"> 3483</span> strcpy(tag_out,PRO_WAVE_NS_STACKED);</div>
-<div class="line"><a name="l03484"></a><span class="lineno"> 3484</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03485"></a><span class="lineno"> 3485</span> }</div>
-<div class="line"><a name="l03486"></a><span class="lineno"> 3486</span> </div>
-<div class="line"><a name="l03487"></a><span class="lineno"> 3487</span> </div>
-<div class="line"><a name="l03488"></a><span class="lineno"> 3488</span> <span class="keywordflow">if</span> (strcmp(tag_in,RAW_FIBRE_LAMP) == 0 ) {</div>
-<div class="line"><a name="l03489"></a><span class="lineno"> 3489</span> strcpy(tag_out,PRO_FIBRE_LAMP_STACKED);</div>
-<div class="line"><a name="l03490"></a><span class="lineno"> 3490</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03491"></a><span class="lineno"> 3491</span> }</div>
-<div class="line"><a name="l03492"></a><span class="lineno"> 3492</span> </div>
-<div class="line"><a name="l03493"></a><span class="lineno"> 3493</span> <span class="keywordflow">if</span> (strcmp(tag_in,RAW_FIBRE_EW) == 0 ) {</div>
-<div class="line"><a name="l03494"></a><span class="lineno"> 3494</span> strcpy(tag_out,PRO_FIBRE_EW_STACKED);</div>
-<div class="line"><a name="l03495"></a><span class="lineno"> 3495</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03496"></a><span class="lineno"> 3496</span> }</div>
-<div class="line"><a name="l03497"></a><span class="lineno"> 3497</span> </div>
-<div class="line"><a name="l03498"></a><span class="lineno"> 3498</span> <span class="keywordflow">if</span> (strcmp(tag_in,RAW_FIBRE_NS) == 0 ) {</div>
-<div class="line"><a name="l03499"></a><span class="lineno"> 3499</span> strcpy(tag_out,PRO_FIBRE_NS_STACKED);</div>
-<div class="line"><a name="l03500"></a><span class="lineno"> 3500</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03501"></a><span class="lineno"> 3501</span> }</div>
-<div class="line"><a name="l03502"></a><span class="lineno"> 3502</span> </div>
-<div class="line"><a name="l03503"></a><span class="lineno"> 3503</span> </div>
-<div class="line"><a name="l03504"></a><span class="lineno"> 3504</span> <span class="keywordflow">if</span> (strcmp(tag_in,PRO_FIBRE_NS_STACKED_ON) == 0 ) {</div>
-<div class="line"><a name="l03505"></a><span class="lineno"> 3505</span> strcpy(tag_out,PRO_FIBRE_NS_STACKED);</div>
-<div class="line"><a name="l03506"></a><span class="lineno"> 3506</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03507"></a><span class="lineno"> 3507</span> }</div>
-<div class="line"><a name="l03508"></a><span class="lineno"> 3508</span> </div>
-<div class="line"><a name="l03509"></a><span class="lineno"> 3509</span> <span class="keywordflow">if</span> (strcmp(tag_in,PRO_FIBRE_NS_STACKED) == 0 ) {</div>
-<div class="line"><a name="l03510"></a><span class="lineno"> 3510</span> strcpy(tag_out,PRO_FIBRE_NS_STACKED_DIST);</div>
-<div class="line"><a name="l03511"></a><span class="lineno"> 3511</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03512"></a><span class="lineno"> 3512</span> }</div>
-<div class="line"><a name="l03513"></a><span class="lineno"> 3513</span> </div>
-<div class="line"><a name="l03514"></a><span class="lineno"> 3514</span> </div>
-<div class="line"><a name="l03515"></a><span class="lineno"> 3515</span> <span class="keywordflow">if</span> (strcmp(tag_in,RAW_SLIT_LAMP) == 0 ) {</div>
-<div class="line"><a name="l03516"></a><span class="lineno"> 3516</span> strcpy(tag_out,PRO_SLIT_LAMP_STACKED);</div>
-<div class="line"><a name="l03517"></a><span class="lineno"> 3517</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03518"></a><span class="lineno"> 3518</span> }</div>
-<div class="line"><a name="l03519"></a><span class="lineno"> 3519</span> </div>
-<div class="line"><a name="l03520"></a><span class="lineno"> 3520</span> </div>
-<div class="line"><a name="l03521"></a><span class="lineno"> 3521</span> <span class="keywordflow">if</span> (strstr(tag_in, <span class="stringliteral">"FLUX"</span>) != NULL ) {</div>
-<div class="line"><a name="l03522"></a><span class="lineno"> 3522</span> strcpy(tag_out,PRO_FLUX_LAMP_STACKED);</div>
-<div class="line"><a name="l03523"></a><span class="lineno"> 3523</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03524"></a><span class="lineno"> 3524</span> }</div>
-<div class="line"><a name="l03525"></a><span class="lineno"> 3525</span> </div>
-<div class="line"><a name="l03526"></a><span class="lineno"> 3526</span> <span class="keywordflow">if</span> (strstr(tag_in, <span class="stringliteral">"PSF"</span>) != NULL ) {</div>
-<div class="line"><a name="l03527"></a><span class="lineno"> 3527</span> strcpy(tag_out,PRO_PSF_CALIBRATOR_STACKED);</div>
-<div class="line"><a name="l03528"></a><span class="lineno"> 3528</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03529"></a><span class="lineno"> 3529</span> }</div>
-<div class="line"><a name="l03530"></a><span class="lineno"> 3530</span> </div>
-<div class="line"><a name="l03531"></a><span class="lineno"> 3531</span> </div>
-<div class="line"><a name="l03532"></a><span class="lineno"> 3532</span> <span class="keywordflow">if</span> (strstr(tag_in, <span class="stringliteral">"FOCUS"</span>) != NULL ) {</div>
-<div class="line"><a name="l03533"></a><span class="lineno"> 3533</span> strcpy(tag_out,PRO_FOCUS_STACKED);</div>
-<div class="line"><a name="l03534"></a><span class="lineno"> 3534</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03535"></a><span class="lineno"> 3535</span> }</div>
-<div class="line"><a name="l03536"></a><span class="lineno"> 3536</span> </div>
-<div class="line"><a name="l03537"></a><span class="lineno"> 3537</span> <span class="keywordflow">if</span> (strstr(tag_in, <span class="stringliteral">"OBJECT_NODDING"</span>) != NULL ) {</div>
-<div class="line"><a name="l03538"></a><span class="lineno"> 3538</span> strcpy(tag_out,PRO_OBJECT_NODDING_STACKED);</div>
-<div class="line"><a name="l03539"></a><span class="lineno"> 3539</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03540"></a><span class="lineno"> 3540</span> }</div>
-<div class="line"><a name="l03541"></a><span class="lineno"> 3541</span> </div>
-<div class="line"><a name="l03542"></a><span class="lineno"> 3542</span> <span class="keywordflow">if</span> (strstr(tag_in, <span class="stringliteral">"SKY_NODDING"</span>) != NULL ) {</div>
-<div class="line"><a name="l03543"></a><span class="lineno"> 3543</span> strcpy(tag_out,PRO_SKY_NODDING_STACKED);</div>
-<div class="line"><a name="l03544"></a><span class="lineno"> 3544</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03545"></a><span class="lineno"> 3545</span> }</div>
-<div class="line"><a name="l03546"></a><span class="lineno"> 3546</span> </div>
-<div class="line"><a name="l03547"></a><span class="lineno"> 3547</span> <span class="keywordflow">if</span> (strstr(tag_in, <span class="stringliteral">"STD_NODDING"</span>) != NULL ) {</div>
-<div class="line"><a name="l03548"></a><span class="lineno"> 3548</span> strcpy(tag_out,PRO_STD_NODDING_STACKED);</div>
-<div class="line"><a name="l03549"></a><span class="lineno"> 3549</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03550"></a><span class="lineno"> 3550</span> }</div>
-<div class="line"><a name="l03551"></a><span class="lineno"> 3551</span> </div>
-<div class="line"><a name="l03552"></a><span class="lineno"> 3552</span> <span class="keywordflow">if</span> (strstr(tag_in, <span class="stringliteral">"OBJECT_SKYSPIDER"</span>) != NULL ) {</div>
-<div class="line"><a name="l03553"></a><span class="lineno"> 3553</span> strcpy(tag_out,PRO_OBJECT_SKYSPIDER_STACKED);</div>
-<div class="line"><a name="l03554"></a><span class="lineno"> 3554</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03555"></a><span class="lineno"> 3555</span> }</div>
-<div class="line"><a name="l03556"></a><span class="lineno"> 3556</span> </div>
-<div class="line"><a name="l03557"></a><span class="lineno"> 3557</span> </div>
-<div class="line"><a name="l03558"></a><span class="lineno"> 3558</span> <span class="keywordflow">if</span> (strstr(tag_in, RAW_STD) != NULL ) {</div>
-<div class="line"><a name="l03559"></a><span class="lineno"> 3559</span> strcpy(tag_out,PRO_STD_STACKED);</div>
-<div class="line"><a name="l03560"></a><span class="lineno"> 3560</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03561"></a><span class="lineno"> 3561</span> }</div>
-<div class="line"><a name="l03562"></a><span class="lineno"> 3562</span> </div>
-<div class="line"><a name="l03563"></a><span class="lineno"> 3563</span> </div>
-<div class="line"><a name="l03564"></a><span class="lineno"> 3564</span> <span class="keywordflow">if</span> (strstr(tag_in, RAW_SKY_STD) != NULL ) {</div>
-<div class="line"><a name="l03565"></a><span class="lineno"> 3565</span> strcpy(tag_out,PRO_SKY_STD_STACKED);</div>
-<div class="line"><a name="l03566"></a><span class="lineno"> 3566</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03567"></a><span class="lineno"> 3567</span> }</div>
-<div class="line"><a name="l03568"></a><span class="lineno"> 3568</span> </div>
-<div class="line"><a name="l03569"></a><span class="lineno"> 3569</span> <span class="keywordflow">if</span> (strstr(tag_in, RAW_SKY_OH) != NULL ) {</div>
-<div class="line"><a name="l03570"></a><span class="lineno"> 3570</span> strcpy(tag_out,PRO_SKY_OH_STACKED);</div>
-<div class="line"><a name="l03571"></a><span class="lineno"> 3571</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03572"></a><span class="lineno"> 3572</span> }</div>
-<div class="line"><a name="l03573"></a><span class="lineno"> 3573</span> </div>
-<div class="line"><a name="l03574"></a><span class="lineno"> 3574</span> <span class="keywordflow">if</span> (strstr(tag_in, RAW_SKY_PSF_CALIBRATOR) != NULL ) {</div>
-<div class="line"><a name="l03575"></a><span class="lineno"> 3575</span> strcpy(tag_out,PRO_SKY_PSF_CALIBRATOR_STACKED);</div>
-<div class="line"><a name="l03576"></a><span class="lineno"> 3576</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03577"></a><span class="lineno"> 3577</span> }</div>
-<div class="line"><a name="l03578"></a><span class="lineno"> 3578</span> </div>
-<div class="line"><a name="l03579"></a><span class="lineno"> 3579</span> <span class="keywordflow">if</span> (strstr(tag_in, RAW_STD_STAR) != NULL ) {</div>
-<div class="line"><a name="l03580"></a><span class="lineno"> 3580</span> strcpy(tag_out,PRO_STD_STAR_STACKED);</div>
-<div class="line"><a name="l03581"></a><span class="lineno"> 3581</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03582"></a><span class="lineno"> 3582</span> }</div>
-<div class="line"><a name="l03583"></a><span class="lineno"> 3583</span> </div>
-<div class="line"><a name="l03584"></a><span class="lineno"> 3584</span> <span class="keywordflow">if</span> (strstr(tag_in, RAW_STD_STAR) != NULL ) {</div>
-<div class="line"><a name="l03585"></a><span class="lineno"> 3585</span> strcpy(tag_out,PRO_STD_STAR_DITHER_STACKED);</div>
-<div class="line"><a name="l03586"></a><span class="lineno"> 3586</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03587"></a><span class="lineno"> 3587</span> }</div>
-<div class="line"><a name="l03588"></a><span class="lineno"> 3588</span> </div>
-<div class="line"><a name="l03589"></a><span class="lineno"> 3589</span> <span class="keywordflow">if</span> (strstr(tag_in, RAW_SKY) != NULL ) {</div>
-<div class="line"><a name="l03590"></a><span class="lineno"> 3590</span> strcpy(tag_out,PRO_SKY_STACKED);</div>
-<div class="line"><a name="l03591"></a><span class="lineno"> 3591</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03592"></a><span class="lineno"> 3592</span> }</div>
-<div class="line"><a name="l03593"></a><span class="lineno"> 3593</span> </div>
-<div class="line"><a name="l03594"></a><span class="lineno"> 3594</span> </div>
-<div class="line"><a name="l03595"></a><span class="lineno"> 3595</span> <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l03596"></a><span class="lineno"> 3596</span> }</div>
-<div class="line"><a name="l03597"></a><span class="lineno"> 3597</span> </div>
-<div class="line"><a name="l03598"></a><span class="lineno"> 3598</span> </div>
-<div class="line"><a name="l03599"></a><span class="lineno"> 3599</span> <span class="keywordtype">int</span> sinfo_is_dark(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l03600"></a><span class="lineno"> 3600</span> {</div>
-<div class="line"><a name="l03601"></a><span class="lineno"> 3601</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l03602"></a><span class="lineno"> 3602</span> <span class="keywordflow">if</span> (tag == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03603"></a><span class="lineno"> 3603</span> </div>
-<div class="line"><a name="l03604"></a><span class="lineno"> 3604</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_DARK)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l03605"></a><span class="lineno"> 3605</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_MASTER_DARK)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l03606"></a><span class="lineno"> 3606</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03607"></a><span class="lineno"> 3607</span> }</div>
-<div class="line"><a name="l03608"></a><span class="lineno"> 3608</span> </div>
-<div class="line"><a name="l03609"></a><span class="lineno"> 3609</span> <span class="keywordtype">int</span> sinfo_is_flat_bp(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l03610"></a><span class="lineno"> 3610</span> {</div>
-<div class="line"><a name="l03611"></a><span class="lineno"> 3611</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l03612"></a><span class="lineno"> 3612</span> <span class="keywordflow">if</span> (tag == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03613"></a><span class="lineno"> 3613</span> </div>
-<div class="line"><a name="l03614"></a><span class="lineno"> 3614</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_LINEARITY_LAMP)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l03615"></a><span class="lineno"> 3615</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03616"></a><span class="lineno"> 3616</span> }</div>
-<div class="line"><a name="l03617"></a><span class="lineno"> 3617</span> </div>
-<div class="line"><a name="l03618"></a><span class="lineno"> 3618</span> <span class="keywordtype">int</span> sinfo_is_flat_lindet(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l03619"></a><span class="lineno"> 3619</span> {</div>
-<div class="line"><a name="l03620"></a><span class="lineno"> 3620</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l03621"></a><span class="lineno"> 3621</span> <span class="keywordflow">if</span> (tag == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03622"></a><span class="lineno"> 3622</span> </div>
-<div class="line"><a name="l03623"></a><span class="lineno"> 3623</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_LINEARITY_LAMP)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l03624"></a><span class="lineno"> 3624</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03625"></a><span class="lineno"> 3625</span> }</div>
-<div class="line"><a name="l03626"></a><span class="lineno"> 3626</span> </div>
-<div class="line"><a name="l03627"></a><span class="lineno"> 3627</span> </div>
-<div class="line"><a name="l03628"></a><span class="lineno"> 3628</span> <span class="keywordtype">int</span> sinfo_blank2dot(<span class="keyword">const</span> <span class="keywordtype">char</span> * in, <span class="keywordtype">char</span>* ou)</div>
-<div class="line"><a name="l03629"></a><span class="lineno"> 3629</span> {</div>
-<div class="line"><a name="l03630"></a><span class="lineno"> 3630</span> <span class="keywordtype">int</span> len=0;</div>
-<div class="line"><a name="l03631"></a><span class="lineno"> 3631</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l03632"></a><span class="lineno"> 3632</span> </div>
-<div class="line"><a name="l03633"></a><span class="lineno"> 3633</span> strcpy(ou,in);</div>
-<div class="line"><a name="l03634"></a><span class="lineno"> 3634</span> len = strlen(in);</div>
-<div class="line"><a name="l03635"></a><span class="lineno"> 3635</span> <span class="keywordflow">for</span> (i=0;i<len;i++)</div>
-<div class="line"><a name="l03636"></a><span class="lineno"> 3636</span> {</div>
-<div class="line"><a name="l03637"></a><span class="lineno"> 3637</span> <span class="keywordflow">if</span> (in[i] == <span class="charliteral">' '</span>) {</div>
-<div class="line"><a name="l03638"></a><span class="lineno"> 3638</span> ou[i] = <span class="charliteral">'.'</span>;</div>
-<div class="line"><a name="l03639"></a><span class="lineno"> 3639</span> }</div>
-<div class="line"><a name="l03640"></a><span class="lineno"> 3640</span> }</div>
-<div class="line"><a name="l03641"></a><span class="lineno"> 3641</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l03642"></a><span class="lineno"> 3642</span> }</div>
-<div class="line"><a name="l03643"></a><span class="lineno"> 3643</span> </div>
-<div class="line"><a name="l03644"></a><span class="lineno"> 3644</span> </div>
-<div class="line"><a name="l03645"></a><span class="lineno"> 3645</span> <span class="keywordtype">int</span> sinfo_is_sky_flat(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l03646"></a><span class="lineno"> 3646</span> {</div>
-<div class="line"><a name="l03647"></a><span class="lineno"> 3647</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l03648"></a><span class="lineno"> 3648</span> <span class="keywordflow">if</span> (tag == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03649"></a><span class="lineno"> 3649</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_FLAT_SKY)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l03650"></a><span class="lineno"> 3650</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03651"></a><span class="lineno"> 3651</span> }</div>
-<div class="line"><a name="l03652"></a><span class="lineno"> 3652</span> </div>
-<div class="line"><a name="l03653"></a><span class="lineno"> 3653</span> </div>
-<div class="line"><a name="l03654"></a><span class="lineno"> 3654</span> </div>
-<div class="line"><a name="l03655"></a><span class="lineno"> 3655</span> <span class="keywordtype">int</span> sinfo_is_master_flat(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l03656"></a><span class="lineno"> 3656</span> {</div>
-<div class="line"><a name="l03657"></a><span class="lineno"> 3657</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l03658"></a><span class="lineno"> 3658</span> <span class="keywordflow">if</span> (tag == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03659"></a><span class="lineno"> 3659</span> </div>
-<div class="line"><a name="l03660"></a><span class="lineno"> 3660</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_MASTER_FLAT_LAMP)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l03661"></a><span class="lineno"> 3661</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_MASTER_FLAT_LAMP1)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l03662"></a><span class="lineno"> 3662</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03663"></a><span class="lineno"> 3663</span> }</div>
-<div class="line"><a name="l03664"></a><span class="lineno"> 3664</span> </div>
-<div class="line"><a name="l03665"></a><span class="lineno"> 3665</span> <span class="keywordtype">int</span> sinfo_is_master_flat_dither(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l03666"></a><span class="lineno"> 3666</span> {</div>
-<div class="line"><a name="l03667"></a><span class="lineno"> 3667</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l03668"></a><span class="lineno"> 3668</span> <span class="keywordflow">if</span> (tag == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03669"></a><span class="lineno"> 3669</span> </div>
-<div class="line"><a name="l03670"></a><span class="lineno"> 3670</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_MASTER_FLAT_LAMP2)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l03671"></a><span class="lineno"> 3671</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03672"></a><span class="lineno"> 3672</span> }</div>
-<div class="line"><a name="l03673"></a><span class="lineno"> 3673</span> </div>
-<div class="line"><a name="l03674"></a><span class="lineno"> 3674</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03680"></a><span class="lineno"> 3680</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03681"></a><span class="lineno"> 3681</span> <span class="keywordtype">int</span> sinfo_is_stack(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l03682"></a><span class="lineno"> 3682</span> {</div>
-<div class="line"><a name="l03683"></a><span class="lineno"> 3683</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l03684"></a><span class="lineno"> 3684</span> <span class="keywordflow">if</span> (tag == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03685"></a><span class="lineno"> 3685</span> </div>
-<div class="line"><a name="l03686"></a><span class="lineno"> 3686</span> <span class="keywordflow">if</span> (strstr(tag, PRO_STACKED) != NULL) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l03687"></a><span class="lineno"> 3687</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03688"></a><span class="lineno"> 3688</span> }</div>
-<div class="line"><a name="l03689"></a><span class="lineno"> 3689</span> </div>
-<div class="line"><a name="l03690"></a><span class="lineno"> 3690</span> <span class="keywordtype">int</span> sinfo_is_mflat(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l03691"></a><span class="lineno"> 3691</span> {</div>
-<div class="line"><a name="l03692"></a><span class="lineno"> 3692</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l03693"></a><span class="lineno"> 3693</span> <span class="keywordflow">if</span> (tag == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03694"></a><span class="lineno"> 3694</span> </div>
-<div class="line"><a name="l03695"></a><span class="lineno"> 3695</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_MASTER_FLAT_LAMP)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l03696"></a><span class="lineno"> 3696</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_MASTER_FLAT_LAMP1)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l03697"></a><span class="lineno"> 3697</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_MASTER_FLAT_LAMP2)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l03698"></a><span class="lineno"> 3698</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03699"></a><span class="lineno"> 3699</span> }</div>
-<div class="line"><a name="l03700"></a><span class="lineno"> 3700</span> </div>
-<div class="line"><a name="l03701"></a><span class="lineno"> 3701</span> </div>
-<div class="line"><a name="l03702"></a><span class="lineno"> 3702</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03708"></a><span class="lineno"> 3708</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03709"></a><span class="lineno"> 3709</span> <span class="keywordtype">int</span> sinfo_is_psf_calibrator_stacked(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l03710"></a><span class="lineno"> 3710</span> {</div>
-<div class="line"><a name="l03711"></a><span class="lineno"> 3711</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l03712"></a><span class="lineno"> 3712</span> <span class="keywordflow">if</span> (tag == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03713"></a><span class="lineno"> 3713</span> </div>
-<div class="line"><a name="l03714"></a><span class="lineno"> 3714</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_PSF_CALIBRATOR_STACKED)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l03715"></a><span class="lineno"> 3715</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03716"></a><span class="lineno"> 3716</span> }</div>
-<div class="line"><a name="l03717"></a><span class="lineno"> 3717</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03723"></a><span class="lineno"> 3723</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03724"></a><span class="lineno"> 3724</span> <span class="keywordtype">int</span> sinfo_is_focus_stacked(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l03725"></a><span class="lineno"> 3725</span> {</div>
-<div class="line"><a name="l03726"></a><span class="lineno"> 3726</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l03727"></a><span class="lineno"> 3727</span> <span class="keywordflow">if</span> (tag == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03728"></a><span class="lineno"> 3728</span> </div>
-<div class="line"><a name="l03729"></a><span class="lineno"> 3729</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_FOCUS_STACKED)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l03730"></a><span class="lineno"> 3730</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03731"></a><span class="lineno"> 3731</span> }</div>
-<div class="line"><a name="l03732"></a><span class="lineno"> 3732</span> </div>
-<div class="line"><a name="l03733"></a><span class="lineno"> 3733</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03739"></a><span class="lineno"> 3739</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03740"></a><span class="lineno"> 3740</span> <span class="keywordtype">int</span> sinfo_is_lamp_wave_stacked(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l03741"></a><span class="lineno"> 3741</span> {</div>
-<div class="line"><a name="l03742"></a><span class="lineno"> 3742</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l03743"></a><span class="lineno"> 3743</span> <span class="keywordflow">if</span> (tag == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03744"></a><span class="lineno"> 3744</span> </div>
-<div class="line"><a name="l03745"></a><span class="lineno"> 3745</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_WAVE_LAMP_STACKED)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l03746"></a><span class="lineno"> 3746</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03747"></a><span class="lineno"> 3747</span> }</div>
-<div class="line"><a name="l03748"></a><span class="lineno"> 3748</span> </div>
-<div class="line"><a name="l03749"></a><span class="lineno"> 3749</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03755"></a><span class="lineno"> 3755</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03756"></a><span class="lineno"> 3756</span> <span class="keywordtype">int</span> sinfo_is_lamp_flux_stacked(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l03757"></a><span class="lineno"> 3757</span> {</div>
-<div class="line"><a name="l03758"></a><span class="lineno"> 3758</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l03759"></a><span class="lineno"> 3759</span> <span class="keywordflow">if</span> (tag == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03760"></a><span class="lineno"> 3760</span> </div>
-<div class="line"><a name="l03761"></a><span class="lineno"> 3761</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_FLUX_LAMP_STACKED)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l03762"></a><span class="lineno"> 3762</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03763"></a><span class="lineno"> 3763</span> }</div>
-<div class="line"><a name="l03764"></a><span class="lineno"> 3764</span> </div>
-<div class="line"><a name="l03765"></a><span class="lineno"> 3765</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03771"></a><span class="lineno"> 3771</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03772"></a><span class="lineno"> 3772</span> <span class="keywordtype">int</span> sinfo_is_object_nodding_stacked(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l03773"></a><span class="lineno"> 3773</span> {</div>
-<div class="line"><a name="l03774"></a><span class="lineno"> 3774</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l03775"></a><span class="lineno"> 3775</span> <span class="keywordflow">if</span> (tag == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03776"></a><span class="lineno"> 3776</span> </div>
-<div class="line"><a name="l03777"></a><span class="lineno"> 3777</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_OBJECT_NODDING_STACKED)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l03778"></a><span class="lineno"> 3778</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03779"></a><span class="lineno"> 3779</span> }</div>
-<div class="line"><a name="l03780"></a><span class="lineno"> 3780</span> </div>
-<div class="line"><a name="l03781"></a><span class="lineno"> 3781</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03787"></a><span class="lineno"> 3787</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03788"></a><span class="lineno"> 3788</span> <span class="keywordtype">int</span> sinfo_is_object_skyspider_stacked(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l03789"></a><span class="lineno"> 3789</span> {</div>
-<div class="line"><a name="l03790"></a><span class="lineno"> 3790</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l03791"></a><span class="lineno"> 3791</span> <span class="keywordflow">if</span> (tag == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03792"></a><span class="lineno"> 3792</span> </div>
-<div class="line"><a name="l03793"></a><span class="lineno"> 3793</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_OBJECT_SKYSPIDER_STACKED)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l03794"></a><span class="lineno"> 3794</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03795"></a><span class="lineno"> 3795</span> }</div>
-<div class="line"><a name="l03796"></a><span class="lineno"> 3796</span> </div>
-<div class="line"><a name="l03797"></a><span class="lineno"> 3797</span> </div>
-<div class="line"><a name="l03798"></a><span class="lineno"> 3798</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03804"></a><span class="lineno"> 3804</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03805"></a><span class="lineno"> 3805</span> <span class="keywordtype">int</span> sinfo_is_sky_nodding_stacked(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l03806"></a><span class="lineno"> 3806</span> {</div>
-<div class="line"><a name="l03807"></a><span class="lineno"> 3807</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l03808"></a><span class="lineno"> 3808</span> <span class="keywordflow">if</span> (tag == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03809"></a><span class="lineno"> 3809</span> </div>
-<div class="line"><a name="l03810"></a><span class="lineno"> 3810</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_SKY_NODDING_STACKED)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l03811"></a><span class="lineno"> 3811</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03812"></a><span class="lineno"> 3812</span> }</div>
-<div class="line"><a name="l03813"></a><span class="lineno"> 3813</span> </div>
-<div class="line"><a name="l03814"></a><span class="lineno"> 3814</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03820"></a><span class="lineno"> 3820</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03821"></a><span class="lineno"> 3821</span> <span class="keywordtype">int</span> sinfo_is_wavemap(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l03822"></a><span class="lineno"> 3822</span> {</div>
-<div class="line"><a name="l03823"></a><span class="lineno"> 3823</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l03824"></a><span class="lineno"> 3824</span> <span class="keywordflow">if</span> (tag == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03825"></a><span class="lineno"> 3825</span> </div>
-<div class="line"><a name="l03826"></a><span class="lineno"> 3826</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_WAVE_MAP)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l03827"></a><span class="lineno"> 3827</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03828"></a><span class="lineno"> 3828</span> }</div>
-<div class="line"><a name="l03829"></a><span class="lineno"> 3829</span> </div>
-<div class="line"><a name="l03830"></a><span class="lineno"> 3830</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03836"></a><span class="lineno"> 3836</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03837"></a><span class="lineno"> 3837</span> <span class="keywordtype">int</span> sinfo_is_halosp(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l03838"></a><span class="lineno"> 3838</span> {</div>
-<div class="line"><a name="l03839"></a><span class="lineno"> 3839</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l03840"></a><span class="lineno"> 3840</span> <span class="keywordflow">if</span> (tag == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03841"></a><span class="lineno"> 3841</span> </div>
-<div class="line"><a name="l03842"></a><span class="lineno"> 3842</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_HALO_SPECT)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l03843"></a><span class="lineno"> 3843</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03844"></a><span class="lineno"> 3844</span> }</div>
-<div class="line"><a name="l03845"></a><span class="lineno"> 3845</span> </div>
-<div class="line"><a name="l03846"></a><span class="lineno"> 3846</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03852"></a><span class="lineno"> 3852</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03853"></a><span class="lineno"> 3853</span> <span class="keywordtype">int</span> sinfo_is_distlist(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l03854"></a><span class="lineno"> 3854</span> {</div>
-<div class="line"><a name="l03855"></a><span class="lineno"> 3855</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l03856"></a><span class="lineno"> 3856</span> <span class="keywordflow">if</span> (tag == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03857"></a><span class="lineno"> 3857</span> </div>
-<div class="line"><a name="l03858"></a><span class="lineno"> 3858</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_SLITLETS_DISTANCE)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l03859"></a><span class="lineno"> 3859</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03860"></a><span class="lineno"> 3860</span> }</div>
-<div class="line"><a name="l03861"></a><span class="lineno"> 3861</span> </div>
-<div class="line"><a name="l03862"></a><span class="lineno"> 3862</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03868"></a><span class="lineno"> 3868</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03869"></a><span class="lineno"> 3869</span> <span class="keywordtype">int</span> sinfo_is_slitpos(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l03870"></a><span class="lineno"> 3870</span> {</div>
-<div class="line"><a name="l03871"></a><span class="lineno"> 3871</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l03872"></a><span class="lineno"> 3872</span> <span class="keywordflow">if</span> (tag == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03873"></a><span class="lineno"> 3873</span> </div>
-<div class="line"><a name="l03874"></a><span class="lineno"> 3874</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_SLIT_POS)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l03875"></a><span class="lineno"> 3875</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03876"></a><span class="lineno"> 3876</span> }</div>
-<div class="line"><a name="l03877"></a><span class="lineno"> 3877</span> </div>
-<div class="line"><a name="l03878"></a><span class="lineno"> 3878</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03884"></a><span class="lineno"> 3884</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03885"></a><span class="lineno"> 3885</span> <span class="keywordtype">int</span> sinfo_is_firstcol(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l03886"></a><span class="lineno"> 3886</span> {</div>
-<div class="line"><a name="l03887"></a><span class="lineno"> 3887</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l03888"></a><span class="lineno"> 3888</span> <span class="keywordflow">if</span> (tag == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03889"></a><span class="lineno"> 3889</span> </div>
-<div class="line"><a name="l03890"></a><span class="lineno"> 3890</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_FIRST_COL)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l03891"></a><span class="lineno"> 3891</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03892"></a><span class="lineno"> 3892</span> }</div>
-<div class="line"><a name="l03893"></a><span class="lineno"> 3893</span> </div>
-<div class="line"><a name="l03894"></a><span class="lineno"> 3894</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03900"></a><span class="lineno"> 3900</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03901"></a><span class="lineno"> 3901</span> <span class="keywordtype">int</span> sinfo_is_bpmap(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l03902"></a><span class="lineno"> 3902</span> {</div>
-<div class="line"><a name="l03903"></a><span class="lineno"> 3903</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l03904"></a><span class="lineno"> 3904</span> <span class="keywordflow">if</span> (tag == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03905"></a><span class="lineno"> 3905</span> </div>
-<div class="line"><a name="l03906"></a><span class="lineno"> 3906</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_BP_MAP)) <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l03907"></a><span class="lineno"> 3907</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03908"></a><span class="lineno"> 3908</span> }</div>
-<div class="line"><a name="l03909"></a><span class="lineno"> 3909</span> </div>
-<div class="line"><a name="l03910"></a><span class="lineno"> 3910</span> </div>
-<div class="line"><a name="l03911"></a><span class="lineno"> 3911</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03920"></a><span class="lineno"> 3920</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03921"></a><span class="lineno"> 3921</span> </div>
-<div class="line"><a name="l03922"></a><span class="lineno"> 3922</span> <span class="keywordtype">int</span> sinfo_get_band(cpl_frame * ref_frame,<span class="keywordtype">char</span> * band)</div>
-<div class="line"><a name="l03923"></a><span class="lineno"> 3923</span> {</div>
-<div class="line"><a name="l03924"></a><span class="lineno"> 3924</span> </div>
-<div class="line"><a name="l03925"></a><span class="lineno"> 3925</span> <span class="keywordtype">char</span>* ref_file=NULL;</div>
-<div class="line"><a name="l03926"></a><span class="lineno"> 3926</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l03927"></a><span class="lineno"> 3927</span> </div>
-<div class="line"><a name="l03928"></a><span class="lineno"> 3928</span> ref_file = cpl_strdup(cpl_frame_get_filename(ref_frame)) ;</div>
-<div class="line"><a name="l03929"></a><span class="lineno"> 3929</span> <span class="keywordflow">if</span> ((cpl_error_code)((plist = cpl_propertylist_load(ref_file, 0)) == NULL)) {</div>
-<div class="line"><a name="l03930"></a><span class="lineno"> 3930</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from reference frame %s"</span>,ref_file);</div>
-<div class="line"><a name="l03931"></a><span class="lineno"> 3931</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l03932"></a><span class="lineno"> 3932</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03933"></a><span class="lineno"> 3933</span> }</div>
-<div class="line"><a name="l03934"></a><span class="lineno"> 3934</span> </div>
-<div class="line"><a name="l03935"></a><span class="lineno"> 3935</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_FILT_NAME)) {</div>
-<div class="line"><a name="l03936"></a><span class="lineno"> 3936</span> strcpy(band, cpl_propertylist_get_string(plist, KEY_NAME_FILT_NAME));</div>
-<div class="line"><a name="l03937"></a><span class="lineno"> 3937</span> <span class="comment">/* sinfo_msg("%s value is %s", KEY_NAME_FILT_NAME, band); */</span></div>
-<div class="line"><a name="l03938"></a><span class="lineno"> 3938</span> </div>
-<div class="line"><a name="l03939"></a><span class="lineno"> 3939</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l03940"></a><span class="lineno"> 3940</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"keyword %s does not exist"</span>,KEY_NAME_FILT_NAME);</div>
-<div class="line"><a name="l03941"></a><span class="lineno"> 3941</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l03942"></a><span class="lineno"> 3942</span> }</div>
-<div class="line"><a name="l03943"></a><span class="lineno"> 3943</span> </div>
-<div class="line"><a name="l03944"></a><span class="lineno"> 3944</span> cpl_free(ref_file);</div>
-<div class="line"><a name="l03945"></a><span class="lineno"> 3945</span> cpl_propertylist_delete(plist);</div>
-<div class="line"><a name="l03946"></a><span class="lineno"> 3946</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l03947"></a><span class="lineno"> 3947</span> }</div>
-<div class="line"><a name="l03948"></a><span class="lineno"> 3948</span> </div>
-<div class="line"><a name="l03949"></a><span class="lineno"> 3949</span> </div>
-<div class="line"><a name="l03950"></a><span class="lineno"> 3950</span> </div>
-<div class="line"><a name="l03951"></a><span class="lineno"> 3951</span> </div>
-<div class="line"><a name="l03952"></a><span class="lineno"> 3952</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03960"></a><span class="lineno"> 3960</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03961"></a><span class="lineno"> 3961</span> </div>
-<div class="line"><a name="l03962"></a><span class="lineno"> 3962</span> <span class="keywordtype">int</span> sinfo_get_obsname(cpl_frame * ref_frame, <span class="keyword">const</span> <span class="keywordtype">char</span>* obs_name)</div>
-<div class="line"><a name="l03963"></a><span class="lineno"> 3963</span> {</div>
-<div class="line"><a name="l03964"></a><span class="lineno"> 3964</span> </div>
-<div class="line"><a name="l03965"></a><span class="lineno"> 3965</span> <span class="keywordtype">char</span>* ref_file=NULL;</div>
-<div class="line"><a name="l03966"></a><span class="lineno"> 3966</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l03967"></a><span class="lineno"> 3967</span> </div>
-<div class="line"><a name="l03968"></a><span class="lineno"> 3968</span> ref_file = cpl_strdup(cpl_frame_get_filename(ref_frame)) ;</div>
-<div class="line"><a name="l03969"></a><span class="lineno"> 3969</span> <span class="keywordflow">if</span> ((cpl_error_code)((plist = cpl_propertylist_load(ref_file, 0)) == NULL)) {</div>
-<div class="line"><a name="l03970"></a><span class="lineno"> 3970</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from reference frame %s"</span>,ref_file);</div>
-<div class="line"><a name="l03971"></a><span class="lineno"> 3971</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l03972"></a><span class="lineno"> 3972</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03973"></a><span class="lineno"> 3973</span> }</div>
-<div class="line"><a name="l03974"></a><span class="lineno"> 3974</span> </div>
-<div class="line"><a name="l03975"></a><span class="lineno"> 3975</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_OBS_NAME)) {</div>
-<div class="line"><a name="l03976"></a><span class="lineno"> 3976</span> strcpy((<span class="keywordtype">char</span>*)obs_name, cpl_propertylist_get_string(plist,</div>
-<div class="line"><a name="l03977"></a><span class="lineno"> 3977</span> KEY_NAME_OBS_NAME));</div>
-<div class="line"><a name="l03978"></a><span class="lineno"> 3978</span> <span class="comment">/* sinfo_msg("%s value is %s", KEY_NAME_OBS_NAME, obs_name); */</span></div>
-<div class="line"><a name="l03979"></a><span class="lineno"> 3979</span> </div>
-<div class="line"><a name="l03980"></a><span class="lineno"> 3980</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l03981"></a><span class="lineno"> 3981</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"keyword %s does not exist"</span>,KEY_NAME_OBS_NAME);</div>
-<div class="line"><a name="l03982"></a><span class="lineno"> 3982</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l03983"></a><span class="lineno"> 3983</span> }</div>
-<div class="line"><a name="l03984"></a><span class="lineno"> 3984</span> </div>
-<div class="line"><a name="l03985"></a><span class="lineno"> 3985</span> cpl_free(ref_file);</div>
-<div class="line"><a name="l03986"></a><span class="lineno"> 3986</span> cpl_propertylist_delete(plist);</div>
-<div class="line"><a name="l03987"></a><span class="lineno"> 3987</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l03988"></a><span class="lineno"> 3988</span> }</div>
-<div class="line"><a name="l03989"></a><span class="lineno"> 3989</span> </div>
-<div class="line"><a name="l03990"></a><span class="lineno"> 3990</span> </div>
-<div class="line"><a name="l03991"></a><span class="lineno"> 3991</span> </div>
-<div class="line"><a name="l03992"></a><span class="lineno"> 3992</span> </div>
-<div class="line"><a name="l03993"></a><span class="lineno"> 3993</span> </div>
-<div class="line"><a name="l03994"></a><span class="lineno"> 3994</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l04002"></a><span class="lineno"> 4002</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l04003"></a><span class="lineno"> 4003</span> </div>
-<div class="line"><a name="l04004"></a><span class="lineno"> 4004</span> <span class="keywordtype">int</span> sinfo_get_keyvalue_int(cpl_frame * ref_frame, <span class="keyword">const</span> <span class="keywordtype">char</span>* key_name)</div>
-<div class="line"><a name="l04005"></a><span class="lineno"> 4005</span> {</div>
-<div class="line"><a name="l04006"></a><span class="lineno"> 4006</span> </div>
-<div class="line"><a name="l04007"></a><span class="lineno"> 4007</span> <span class="keywordtype">char</span>* ref_file=NULL;</div>
-<div class="line"><a name="l04008"></a><span class="lineno"> 4008</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l04009"></a><span class="lineno"> 4009</span> <span class="keywordtype">int</span> result=0;</div>
-<div class="line"><a name="l04010"></a><span class="lineno"> 4010</span> </div>
-<div class="line"><a name="l04011"></a><span class="lineno"> 4011</span> ref_file = cpl_strdup(cpl_frame_get_filename(ref_frame)) ;</div>
-<div class="line"><a name="l04012"></a><span class="lineno"> 4012</span> </div>
-<div class="line"><a name="l04013"></a><span class="lineno"> 4013</span> <span class="keywordflow">if</span> ((cpl_error_code)((plist = cpl_propertylist_load(ref_file, 0)) == NULL)) {</div>
-<div class="line"><a name="l04014"></a><span class="lineno"> 4014</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from reference frame %s"</span>,ref_file);</div>
-<div class="line"><a name="l04015"></a><span class="lineno"> 4015</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l04016"></a><span class="lineno"> 4016</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l04017"></a><span class="lineno"> 4017</span> }</div>
-<div class="line"><a name="l04018"></a><span class="lineno"> 4018</span> </div>
-<div class="line"><a name="l04019"></a><span class="lineno"> 4019</span> </div>
-<div class="line"><a name="l04020"></a><span class="lineno"> 4020</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, key_name)) {</div>
-<div class="line"><a name="l04021"></a><span class="lineno"> 4021</span> result=cpl_propertylist_get_int(plist,key_name);</div>
-<div class="line"><a name="l04022"></a><span class="lineno"> 4022</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04023"></a><span class="lineno"> 4023</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"keyword %s does not exist"</span>,key_name);</div>
-<div class="line"><a name="l04024"></a><span class="lineno"> 4024</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l04025"></a><span class="lineno"> 4025</span> }</div>
-<div class="line"><a name="l04026"></a><span class="lineno"> 4026</span> </div>
-<div class="line"><a name="l04027"></a><span class="lineno"> 4027</span> cpl_free(ref_file);</div>
-<div class="line"><a name="l04028"></a><span class="lineno"> 4028</span> cpl_propertylist_delete(plist);</div>
-<div class="line"><a name="l04029"></a><span class="lineno"> 4029</span> </div>
-<div class="line"><a name="l04030"></a><span class="lineno"> 4030</span> <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l04031"></a><span class="lineno"> 4031</span> }</div>
-<div class="line"><a name="l04032"></a><span class="lineno"> 4032</span> </div>
-<div class="line"><a name="l04033"></a><span class="lineno"> 4033</span> </div>
-<div class="line"><a name="l04034"></a><span class="lineno"> 4034</span> </div>
-<div class="line"><a name="l04035"></a><span class="lineno"> 4035</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l04043"></a><span class="lineno"> 4043</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l04044"></a><span class="lineno"> 4044</span> </div>
-<div class="line"><a name="l04045"></a><span class="lineno"> 4045</span> <span class="keywordtype">float</span> sinfo_get_keyvalue_float(cpl_frame * ref_frame, <span class="keyword">const</span> <span class="keywordtype">char</span>* key_name)</div>
-<div class="line"><a name="l04046"></a><span class="lineno"> 4046</span> {</div>
-<div class="line"><a name="l04047"></a><span class="lineno"> 4047</span> </div>
-<div class="line"><a name="l04048"></a><span class="lineno"> 4048</span> <span class="keywordtype">char</span>* ref_file=NULL;</div>
-<div class="line"><a name="l04049"></a><span class="lineno"> 4049</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l04050"></a><span class="lineno"> 4050</span> <span class="keywordtype">float</span> result=0;</div>
-<div class="line"><a name="l04051"></a><span class="lineno"> 4051</span> </div>
-<div class="line"><a name="l04052"></a><span class="lineno"> 4052</span> ref_file = cpl_strdup(cpl_frame_get_filename(ref_frame)) ;</div>
-<div class="line"><a name="l04053"></a><span class="lineno"> 4053</span> </div>
-<div class="line"><a name="l04054"></a><span class="lineno"> 4054</span> <span class="keywordflow">if</span> ((cpl_error_code)((plist = cpl_propertylist_load(ref_file, 0)) == NULL)) {</div>
-<div class="line"><a name="l04055"></a><span class="lineno"> 4055</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from reference frame %s"</span>,ref_file);</div>
-<div class="line"><a name="l04056"></a><span class="lineno"> 4056</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l04057"></a><span class="lineno"> 4057</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l04058"></a><span class="lineno"> 4058</span> }</div>
-<div class="line"><a name="l04059"></a><span class="lineno"> 4059</span> </div>
-<div class="line"><a name="l04060"></a><span class="lineno"> 4060</span> </div>
-<div class="line"><a name="l04061"></a><span class="lineno"> 4061</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, key_name)) {</div>
-<div class="line"><a name="l04062"></a><span class="lineno"> 4062</span> result=cpl_propertylist_get_float(plist,key_name);</div>
-<div class="line"><a name="l04063"></a><span class="lineno"> 4063</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04064"></a><span class="lineno"> 4064</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"keyword %s does not exist"</span>,key_name);</div>
-<div class="line"><a name="l04065"></a><span class="lineno"> 4065</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l04066"></a><span class="lineno"> 4066</span> }</div>
-<div class="line"><a name="l04067"></a><span class="lineno"> 4067</span> </div>
-<div class="line"><a name="l04068"></a><span class="lineno"> 4068</span> cpl_free(ref_file);</div>
-<div class="line"><a name="l04069"></a><span class="lineno"> 4069</span> cpl_propertylist_delete(plist);</div>
-<div class="line"><a name="l04070"></a><span class="lineno"> 4070</span> </div>
-<div class="line"><a name="l04071"></a><span class="lineno"> 4071</span> <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l04072"></a><span class="lineno"> 4072</span> }</div>
-<div class="line"><a name="l04073"></a><span class="lineno"> 4073</span> </div>
-<div class="line"><a name="l04074"></a><span class="lineno"> 4074</span> </div>
-<div class="line"><a name="l04075"></a><span class="lineno"> 4075</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l04083"></a><span class="lineno"> 4083</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l04084"></a><span class="lineno"> 4084</span> </div>
-<div class="line"><a name="l04085"></a><span class="lineno"> 4085</span> <span class="keywordtype">char</span> sinfo_get_keyvalue_bool(cpl_frame * ref_frame, <span class="keyword">const</span> <span class="keywordtype">char</span>* key_name)</div>
-<div class="line"><a name="l04086"></a><span class="lineno"> 4086</span> {</div>
-<div class="line"><a name="l04087"></a><span class="lineno"> 4087</span> </div>
-<div class="line"><a name="l04088"></a><span class="lineno"> 4088</span> <span class="keywordtype">char</span>* ref_file=NULL;</div>
-<div class="line"><a name="l04089"></a><span class="lineno"> 4089</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l04090"></a><span class="lineno"> 4090</span> <span class="keywordtype">int</span> res_val=0;</div>
-<div class="line"><a name="l04091"></a><span class="lineno"> 4091</span> </div>
-<div class="line"><a name="l04092"></a><span class="lineno"> 4092</span> ref_file = cpl_strdup(cpl_frame_get_filename(ref_frame)) ;</div>
-<div class="line"><a name="l04093"></a><span class="lineno"> 4093</span> </div>
-<div class="line"><a name="l04094"></a><span class="lineno"> 4094</span> <span class="keywordflow">if</span> ((cpl_error_code)((plist = cpl_propertylist_load(ref_file, 0)) == NULL)) {</div>
-<div class="line"><a name="l04095"></a><span class="lineno"> 4095</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from reference frame %s"</span>,ref_file);</div>
-<div class="line"><a name="l04096"></a><span class="lineno"> 4096</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l04097"></a><span class="lineno"> 4097</span> <span class="keywordflow">return</span> <span class="charliteral">'0'</span>;</div>
-<div class="line"><a name="l04098"></a><span class="lineno"> 4098</span> }</div>
-<div class="line"><a name="l04099"></a><span class="lineno"> 4099</span> </div>
-<div class="line"><a name="l04100"></a><span class="lineno"> 4100</span> </div>
-<div class="line"><a name="l04101"></a><span class="lineno"> 4101</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, key_name)) {</div>
-<div class="line"><a name="l04102"></a><span class="lineno"> 4102</span> res_val=cpl_propertylist_get_bool(plist,key_name);</div>
-<div class="line"><a name="l04103"></a><span class="lineno"> 4103</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04104"></a><span class="lineno"> 4104</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"keyword %s does not exist"</span>,key_name);</div>
-<div class="line"><a name="l04105"></a><span class="lineno"> 4105</span> <span class="keywordflow">return</span> <span class="charliteral">'0'</span>;</div>
-<div class="line"><a name="l04106"></a><span class="lineno"> 4106</span> }</div>
-<div class="line"><a name="l04107"></a><span class="lineno"> 4107</span> </div>
-<div class="line"><a name="l04108"></a><span class="lineno"> 4108</span> cpl_free(ref_file);</div>
-<div class="line"><a name="l04109"></a><span class="lineno"> 4109</span> cpl_propertylist_delete(plist);</div>
-<div class="line"><a name="l04110"></a><span class="lineno"> 4110</span> <span class="keywordflow">if</span>(res_val == 1) {</div>
-<div class="line"><a name="l04111"></a><span class="lineno"> 4111</span> <span class="keywordflow">return</span> <span class="charliteral">'T'</span>;</div>
-<div class="line"><a name="l04112"></a><span class="lineno"> 4112</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04113"></a><span class="lineno"> 4113</span> <span class="keywordflow">return</span> <span class="charliteral">'F'</span>;</div>
-<div class="line"><a name="l04114"></a><span class="lineno"> 4114</span> }</div>
-<div class="line"><a name="l04115"></a><span class="lineno"> 4115</span> }</div>
-<div class="line"><a name="l04116"></a><span class="lineno"> 4116</span> </div>
-<div class="line"><a name="l04117"></a><span class="lineno"> 4117</span> </div>
-<div class="line"><a name="l04118"></a><span class="lineno"> 4118</span> </div>
-<div class="line"><a name="l04119"></a><span class="lineno"> 4119</span> </div>
-<div class="line"><a name="l04120"></a><span class="lineno"> 4120</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l04128"></a><span class="lineno"> 4128</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l04129"></a><span class="lineno"> 4129</span> </div>
-<div class="line"><a name="l04130"></a><span class="lineno"> 4130</span> <span class="keyword">const</span> <span class="keywordtype">char</span>*</div>
-<div class="line"><a name="l04131"></a><span class="lineno"> 4131</span> sinfo_get_keyvalue_string(cpl_frame * ref_frame, <span class="keyword">const</span> <span class="keywordtype">char</span>* key_name)</div>
-<div class="line"><a name="l04132"></a><span class="lineno"> 4132</span> {</div>
-<div class="line"><a name="l04133"></a><span class="lineno"> 4133</span> </div>
-<div class="line"><a name="l04134"></a><span class="lineno"> 4134</span> <span class="keywordtype">char</span>* ref_file=NULL;</div>
-<div class="line"><a name="l04135"></a><span class="lineno"> 4135</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l04136"></a><span class="lineno"> 4136</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* result=NULL;</div>
-<div class="line"><a name="l04137"></a><span class="lineno"> 4137</span> </div>
-<div class="line"><a name="l04138"></a><span class="lineno"> 4138</span> ref_file = cpl_strdup(cpl_frame_get_filename(ref_frame)) ;</div>
-<div class="line"><a name="l04139"></a><span class="lineno"> 4139</span> </div>
-<div class="line"><a name="l04140"></a><span class="lineno"> 4140</span> <span class="keywordflow">if</span> ((cpl_error_code)((plist = cpl_propertylist_load(ref_file, 0)) == NULL)) {</div>
-<div class="line"><a name="l04141"></a><span class="lineno"> 4141</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from reference frame %s"</span>,ref_file);</div>
-<div class="line"><a name="l04142"></a><span class="lineno"> 4142</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l04143"></a><span class="lineno"> 4143</span> <span class="keywordflow">return</span> FALSE;</div>
-<div class="line"><a name="l04144"></a><span class="lineno"> 4144</span> }</div>
-<div class="line"><a name="l04145"></a><span class="lineno"> 4145</span> </div>
-<div class="line"><a name="l04146"></a><span class="lineno"> 4146</span> </div>
-<div class="line"><a name="l04147"></a><span class="lineno"> 4147</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, key_name)) {</div>
-<div class="line"><a name="l04148"></a><span class="lineno"> 4148</span> result=cpl_propertylist_get_string(plist,key_name);</div>
-<div class="line"><a name="l04149"></a><span class="lineno"> 4149</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04150"></a><span class="lineno"> 4150</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"keyword %s does not exist"</span>,key_name);</div>
-<div class="line"><a name="l04151"></a><span class="lineno"> 4151</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l04152"></a><span class="lineno"> 4152</span> }</div>
-<div class="line"><a name="l04153"></a><span class="lineno"> 4153</span> </div>
-<div class="line"><a name="l04154"></a><span class="lineno"> 4154</span> cpl_free(ref_file);</div>
-<div class="line"><a name="l04155"></a><span class="lineno"> 4155</span> cpl_propertylist_delete(plist);</div>
-<div class="line"><a name="l04156"></a><span class="lineno"> 4156</span> </div>
-<div class="line"><a name="l04157"></a><span class="lineno"> 4157</span> <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l04158"></a><span class="lineno"> 4158</span> }</div>
-<div class="line"><a name="l04159"></a><span class="lineno"> 4159</span> </div>
-<div class="line"><a name="l04160"></a><span class="lineno"> 4160</span> </div>
-<div class="line"><a name="l04161"></a><span class="lineno"> 4161</span> </div>
-<div class="line"><a name="l04162"></a><span class="lineno"> 4162</span> <span class="keywordtype">double</span> sinfo_get_mjd_obs(cpl_frame * frame)</div>
-<div class="line"><a name="l04163"></a><span class="lineno"> 4163</span> {</div>
-<div class="line"><a name="l04164"></a><span class="lineno"> 4164</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l04165"></a><span class="lineno"> 4165</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* file=NULL;</div>
-<div class="line"><a name="l04166"></a><span class="lineno"> 4166</span> </div>
-<div class="line"><a name="l04167"></a><span class="lineno"> 4167</span> <span class="keywordtype">double</span> mjd_obs=0.;</div>
-<div class="line"><a name="l04168"></a><span class="lineno"> 4168</span> file = cpl_frame_get_filename(frame) ;</div>
-<div class="line"><a name="l04169"></a><span class="lineno"> 4169</span> </div>
-<div class="line"><a name="l04170"></a><span class="lineno"> 4170</span> <span class="keywordflow">if</span> ((cpl_error_code)((plist = cpl_propertylist_load(file, 0)) == NULL)) {</div>
-<div class="line"><a name="l04171"></a><span class="lineno"> 4171</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from reference frame %s"</span>,file);</div>
-<div class="line"><a name="l04172"></a><span class="lineno"> 4172</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l04173"></a><span class="lineno"> 4173</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l04174"></a><span class="lineno"> 4174</span> }</div>
-<div class="line"><a name="l04175"></a><span class="lineno"> 4175</span> </div>
-<div class="line"><a name="l04176"></a><span class="lineno"> 4176</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_MJD_OBS)) {</div>
-<div class="line"><a name="l04177"></a><span class="lineno"> 4177</span> mjd_obs=cpl_propertylist_get_double(plist, KEY_NAME_MJD_OBS);</div>
-<div class="line"><a name="l04178"></a><span class="lineno"> 4178</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04179"></a><span class="lineno"> 4179</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"keyword %s does not exist"</span>,KEY_NAME_MJD_OBS);</div>
-<div class="line"><a name="l04180"></a><span class="lineno"> 4180</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l04181"></a><span class="lineno"> 4181</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l04182"></a><span class="lineno"> 4182</span> }</div>
-<div class="line"><a name="l04183"></a><span class="lineno"> 4183</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l04184"></a><span class="lineno"> 4184</span> </div>
-<div class="line"><a name="l04185"></a><span class="lineno"> 4185</span> <span class="keywordflow">return</span> mjd_obs;</div>
-<div class="line"><a name="l04186"></a><span class="lineno"> 4186</span> </div>
-<div class="line"><a name="l04187"></a><span class="lineno"> 4187</span> }</div>
-<div class="line"><a name="l04188"></a><span class="lineno"> 4188</span> </div>
-<div class="line"><a name="l04189"></a><span class="lineno"> 4189</span> </div>
-<div class="line"><a name="l04190"></a><span class="lineno"> 4190</span> </div>
-<div class="line"><a name="l04191"></a><span class="lineno"> 4191</span> </div>
-<div class="line"><a name="l04192"></a><span class="lineno"> 4192</span> <span class="keywordtype">double</span> sinfo_get_cumoffsetx(cpl_frame * frame)</div>
-<div class="line"><a name="l04193"></a><span class="lineno"> 4193</span> {</div>
-<div class="line"><a name="l04194"></a><span class="lineno"> 4194</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l04195"></a><span class="lineno"> 4195</span> <span class="keywordtype">char</span>* file=NULL;</div>
-<div class="line"><a name="l04196"></a><span class="lineno"> 4196</span> </div>
-<div class="line"><a name="l04197"></a><span class="lineno"> 4197</span> <span class="keywordtype">double</span> result=0.;</div>
-<div class="line"><a name="l04198"></a><span class="lineno"> 4198</span> file = cpl_strdup( cpl_frame_get_filename(frame)) ;</div>
-<div class="line"><a name="l04199"></a><span class="lineno"> 4199</span> </div>
-<div class="line"><a name="l04200"></a><span class="lineno"> 4200</span> <span class="keywordflow">if</span> ((cpl_error_code)((plist = cpl_propertylist_load(file, 0)) == NULL)) {</div>
-<div class="line"><a name="l04201"></a><span class="lineno"> 4201</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from reference frame %s"</span>,file);</div>
-<div class="line"><a name="l04202"></a><span class="lineno"> 4202</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l04203"></a><span class="lineno"> 4203</span> cpl_free(file);</div>
-<div class="line"><a name="l04204"></a><span class="lineno"> 4204</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l04205"></a><span class="lineno"> 4205</span> }</div>
-<div class="line"><a name="l04206"></a><span class="lineno"> 4206</span> </div>
-<div class="line"><a name="l04207"></a><span class="lineno"> 4207</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_CUMOFFX)) {</div>
-<div class="line"><a name="l04208"></a><span class="lineno"> 4208</span> result=cpl_propertylist_get_double(plist, KEY_NAME_CUMOFFX);</div>
-<div class="line"><a name="l04209"></a><span class="lineno"> 4209</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04210"></a><span class="lineno"> 4210</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"keyword %s does not exist"</span>,KEY_NAME_CUMOFFX);</div>
-<div class="line"><a name="l04211"></a><span class="lineno"> 4211</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l04212"></a><span class="lineno"> 4212</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l04213"></a><span class="lineno"> 4213</span> }</div>
-<div class="line"><a name="l04214"></a><span class="lineno"> 4214</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l04215"></a><span class="lineno"> 4215</span> cpl_free(file);</div>
-<div class="line"><a name="l04216"></a><span class="lineno"> 4216</span> </div>
-<div class="line"><a name="l04217"></a><span class="lineno"> 4217</span> <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l04218"></a><span class="lineno"> 4218</span> </div>
-<div class="line"><a name="l04219"></a><span class="lineno"> 4219</span> }</div>
-<div class="line"><a name="l04220"></a><span class="lineno"> 4220</span> </div>
-<div class="line"><a name="l04221"></a><span class="lineno"> 4221</span> </div>
-<div class="line"><a name="l04222"></a><span class="lineno"> 4222</span> </div>
-<div class="line"><a name="l04223"></a><span class="lineno"> 4223</span> </div>
-<div class="line"><a name="l04224"></a><span class="lineno"> 4224</span> <span class="keywordtype">double</span> sinfo_get_cumoffsety(cpl_frame * frame)</div>
-<div class="line"><a name="l04225"></a><span class="lineno"> 4225</span> {</div>
-<div class="line"><a name="l04226"></a><span class="lineno"> 4226</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l04227"></a><span class="lineno"> 4227</span> <span class="keywordtype">char</span>* file=NULL;</div>
-<div class="line"><a name="l04228"></a><span class="lineno"> 4228</span> </div>
-<div class="line"><a name="l04229"></a><span class="lineno"> 4229</span> <span class="keywordtype">double</span> result=0.;</div>
-<div class="line"><a name="l04230"></a><span class="lineno"> 4230</span> file = cpl_strdup( cpl_frame_get_filename(frame)) ;</div>
-<div class="line"><a name="l04231"></a><span class="lineno"> 4231</span> </div>
-<div class="line"><a name="l04232"></a><span class="lineno"> 4232</span> <span class="keywordflow">if</span> ((cpl_error_code)((plist = cpl_propertylist_load(file, 0)) == NULL)) {</div>
-<div class="line"><a name="l04233"></a><span class="lineno"> 4233</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from reference frame %s"</span>,file);</div>
-<div class="line"><a name="l04234"></a><span class="lineno"> 4234</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l04235"></a><span class="lineno"> 4235</span> cpl_free(file);</div>
-<div class="line"><a name="l04236"></a><span class="lineno"> 4236</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l04237"></a><span class="lineno"> 4237</span> }</div>
-<div class="line"><a name="l04238"></a><span class="lineno"> 4238</span> </div>
-<div class="line"><a name="l04239"></a><span class="lineno"> 4239</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_CUMOFFY)) {</div>
-<div class="line"><a name="l04240"></a><span class="lineno"> 4240</span> result=cpl_propertylist_get_double(plist, KEY_NAME_CUMOFFY);</div>
-<div class="line"><a name="l04241"></a><span class="lineno"> 4241</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04242"></a><span class="lineno"> 4242</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"keyword %s does not exist"</span>,KEY_NAME_CUMOFFY);</div>
-<div class="line"><a name="l04243"></a><span class="lineno"> 4243</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l04244"></a><span class="lineno"> 4244</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l04245"></a><span class="lineno"> 4245</span> }</div>
-<div class="line"><a name="l04246"></a><span class="lineno"> 4246</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l04247"></a><span class="lineno"> 4247</span> cpl_free(file);</div>
-<div class="line"><a name="l04248"></a><span class="lineno"> 4248</span> </div>
-<div class="line"><a name="l04249"></a><span class="lineno"> 4249</span> <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l04250"></a><span class="lineno"> 4250</span> </div>
-<div class="line"><a name="l04251"></a><span class="lineno"> 4251</span> }</div>
-<div class="line"><a name="l04252"></a><span class="lineno"> 4252</span> </div>
-<div class="line"><a name="l04253"></a><span class="lineno"> 4253</span> <span class="keywordtype">int</span> sinfo_frame_is_dither(cpl_frame * frame)</div>
-<div class="line"><a name="l04254"></a><span class="lineno"> 4254</span> {</div>
-<div class="line"><a name="l04255"></a><span class="lineno"> 4255</span> </div>
-<div class="line"><a name="l04256"></a><span class="lineno"> 4256</span> <span class="keywordtype">char</span> file[256];</div>
-<div class="line"><a name="l04257"></a><span class="lineno"> 4257</span> <span class="keywordtype">char</span> band[FILE_NAME_SZ];</div>
-<div class="line"><a name="l04258"></a><span class="lineno"> 4258</span> </div>
-<div class="line"><a name="l04259"></a><span class="lineno"> 4259</span> </div>
-<div class="line"><a name="l04260"></a><span class="lineno"> 4260</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l04261"></a><span class="lineno"> 4261</span> <span class="keywordtype">int</span> grat_encoder=0;</div>
-<div class="line"><a name="l04262"></a><span class="lineno"> 4262</span> <span class="keywordtype">int</span> dith_status=1;</div>
-<div class="line"><a name="l04263"></a><span class="lineno"> 4263</span> <span class="keywordtype">int</span> len=0;</div>
-<div class="line"><a name="l04264"></a><span class="lineno"> 4264</span> </div>
-<div class="line"><a name="l04265"></a><span class="lineno"> 4265</span> </div>
-<div class="line"><a name="l04266"></a><span class="lineno"> 4266</span> cknull(frame,<span class="stringliteral">"Null input frame. Exit!"</span>);</div>
-<div class="line"><a name="l04267"></a><span class="lineno"> 4267</span> </div>
-<div class="line"><a name="l04268"></a><span class="lineno"> 4268</span> cknull_nomsg(strcpy(file,cpl_frame_get_filename(frame)));</div>
-<div class="line"><a name="l04269"></a><span class="lineno"> 4269</span> len= strlen(file);</div>
-<div class="line"><a name="l04270"></a><span class="lineno"> 4270</span> </div>
-<div class="line"><a name="l04271"></a><span class="lineno"> 4271</span> <span class="keywordflow">if</span>(len<1) <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l04272"></a><span class="lineno"> 4272</span> <span class="keywordflow">if</span>(sinfo_file_exists(file)==0) <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l04273"></a><span class="lineno"> 4273</span> <span class="comment">//file = cpl_strdup(cpl_frame_get_filename(frame)) ;</span></div>
-<div class="line"><a name="l04274"></a><span class="lineno"> 4274</span> cknull(plist = cpl_propertylist_load(file, 0),</div>
-<div class="line"><a name="l04275"></a><span class="lineno"> 4275</span> <span class="stringliteral">"getting header from reference frame %s"</span>,file);</div>
-<div class="line"><a name="l04276"></a><span class="lineno"> 4276</span> </div>
-<div class="line"><a name="l04277"></a><span class="lineno"> 4277</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_FILT_NAME)) {</div>
-<div class="line"><a name="l04278"></a><span class="lineno"> 4278</span> strcpy(band,cpl_propertylist_get_string(plist, KEY_NAME_FILT_NAME));</div>
-<div class="line"><a name="l04279"></a><span class="lineno"> 4279</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04280"></a><span class="lineno"> 4280</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"keyword %s does not exist"</span>,KEY_NAME_FILT_NAME);</div>
-<div class="line"><a name="l04281"></a><span class="lineno"> 4281</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l04282"></a><span class="lineno"> 4282</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l04283"></a><span class="lineno"> 4283</span> }</div>
-<div class="line"><a name="l04284"></a><span class="lineno"> 4284</span> </div>
-<div class="line"><a name="l04285"></a><span class="lineno"> 4285</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_GRAT_ENC)) {</div>
-<div class="line"><a name="l04286"></a><span class="lineno"> 4286</span> grat_encoder = cpl_propertylist_get_int(plist, KEY_NAME_GRAT_ENC);</div>
-<div class="line"><a name="l04287"></a><span class="lineno"> 4287</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04288"></a><span class="lineno"> 4288</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"keyword %s does not exist"</span>,KEY_NAME_GRAT_ENC);</div>
-<div class="line"><a name="l04289"></a><span class="lineno"> 4289</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l04290"></a><span class="lineno"> 4290</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l04291"></a><span class="lineno"> 4291</span> }</div>
-<div class="line"><a name="l04292"></a><span class="lineno"> 4292</span> </div>
-<div class="line"><a name="l04293"></a><span class="lineno"> 4293</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l04294"></a><span class="lineno"> 4294</span> </div>
-<div class="line"><a name="l04295"></a><span class="lineno"> 4295</span> <span class="keywordflow">if</span> (strcmp(band,<span class="stringliteral">"H"</span>) == 0) {</div>
-<div class="line"><a name="l04296"></a><span class="lineno"> 4296</span> <span class="keywordflow">if</span>( abs(grat_encoder - GRAT_VAL2_H) <= GRAT_VAL_TOL ) {</div>
-<div class="line"><a name="l04297"></a><span class="lineno"> 4297</span> dith_status = 0;</div>
-<div class="line"><a name="l04298"></a><span class="lineno"> 4298</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04299"></a><span class="lineno"> 4299</span> dith_status = 0;</div>
-<div class="line"><a name="l04300"></a><span class="lineno"> 4300</span> }</div>
-<div class="line"><a name="l04301"></a><span class="lineno"> 4301</span> }</div>
-<div class="line"><a name="l04302"></a><span class="lineno"> 4302</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(band,<span class="stringliteral">"H+K"</span>) == 0) {</div>
-<div class="line"><a name="l04303"></a><span class="lineno"> 4303</span> <span class="keywordflow">if</span>( abs(grat_encoder - GRAT_VAL2_HK) <= GRAT_VAL_TOL ) {</div>
-<div class="line"><a name="l04304"></a><span class="lineno"> 4304</span> dith_status = 0;</div>
-<div class="line"><a name="l04305"></a><span class="lineno"> 4305</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04306"></a><span class="lineno"> 4306</span> dith_status = 0;</div>
-<div class="line"><a name="l04307"></a><span class="lineno"> 4307</span> }</div>
-<div class="line"><a name="l04308"></a><span class="lineno"> 4308</span> }</div>
-<div class="line"><a name="l04309"></a><span class="lineno"> 4309</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(band,<span class="stringliteral">"K"</span>) == 0) {</div>
-<div class="line"><a name="l04310"></a><span class="lineno"> 4310</span> <span class="keywordflow">if</span>( abs(grat_encoder - GRAT_VAL2_K) <= GRAT_VAL_TOL ) {</div>
-<div class="line"><a name="l04311"></a><span class="lineno"> 4311</span> dith_status = 0;</div>
-<div class="line"><a name="l04312"></a><span class="lineno"> 4312</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04313"></a><span class="lineno"> 4313</span> dith_status = 0;</div>
-<div class="line"><a name="l04314"></a><span class="lineno"> 4314</span> }</div>
-<div class="line"><a name="l04315"></a><span class="lineno"> 4315</span> }</div>
-<div class="line"><a name="l04316"></a><span class="lineno"> 4316</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(band,<span class="stringliteral">"J"</span>) == 0) {</div>
-<div class="line"><a name="l04317"></a><span class="lineno"> 4317</span> <span class="keywordflow">if</span>( abs(grat_encoder - GRAT_VAL2_J) <= GRAT_VAL_TOL ) {</div>
-<div class="line"><a name="l04318"></a><span class="lineno"> 4318</span> dith_status = 0;</div>
-<div class="line"><a name="l04319"></a><span class="lineno"> 4319</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04320"></a><span class="lineno"> 4320</span> dith_status = 0;</div>
-<div class="line"><a name="l04321"></a><span class="lineno"> 4321</span> }</div>
-<div class="line"><a name="l04322"></a><span class="lineno"> 4322</span> }</div>
-<div class="line"><a name="l04323"></a><span class="lineno"> 4323</span> cleanup:</div>
-<div class="line"><a name="l04324"></a><span class="lineno"> 4324</span> </div>
-<div class="line"><a name="l04325"></a><span class="lineno"> 4325</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l04326"></a><span class="lineno"> 4326</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l04327"></a><span class="lineno"> 4327</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l04328"></a><span class="lineno"> 4328</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04329"></a><span class="lineno"> 4329</span> <span class="keywordflow">return</span> dith_status;</div>
-<div class="line"><a name="l04330"></a><span class="lineno"> 4330</span> }</div>
-<div class="line"><a name="l04331"></a><span class="lineno"> 4331</span> }</div>
-<div class="line"><a name="l04332"></a><span class="lineno"> 4332</span> </div>
-<div class="line"><a name="l04333"></a><span class="lineno"> 4333</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l04342"></a><span class="lineno"> 4342</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l04343"></a><span class="lineno"> 4343</span> </div>
-<div class="line"><a name="l04344"></a><span class="lineno"> 4344</span> <span class="keywordtype">int</span> sinfo_get_spatial_res(cpl_frame * ref_frame, <span class="keywordtype">char</span> * spat_res)</div>
-<div class="line"><a name="l04345"></a><span class="lineno"> 4345</span> {</div>
-<div class="line"><a name="l04346"></a><span class="lineno"> 4346</span> </div>
-<div class="line"><a name="l04347"></a><span class="lineno"> 4347</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* ref_file;</div>
-<div class="line"><a name="l04348"></a><span class="lineno"> 4348</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l04349"></a><span class="lineno"> 4349</span> </div>
-<div class="line"><a name="l04350"></a><span class="lineno"> 4350</span> ref_file=cpl_frame_get_filename(ref_frame) ;</div>
-<div class="line"><a name="l04351"></a><span class="lineno"> 4351</span> <span class="keywordflow">if</span> ((cpl_error_code)((plist = cpl_propertylist_load(ref_file, 0)) == NULL)) {</div>
-<div class="line"><a name="l04352"></a><span class="lineno"> 4352</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from reference frame %s"</span>,ref_file);</div>
-<div class="line"><a name="l04353"></a><span class="lineno"> 4353</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l04354"></a><span class="lineno"> 4354</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l04355"></a><span class="lineno"> 4355</span> </div>
-<div class="line"><a name="l04356"></a><span class="lineno"> 4356</span> }</div>
-<div class="line"><a name="l04357"></a><span class="lineno"> 4357</span> </div>
-<div class="line"><a name="l04358"></a><span class="lineno"> 4358</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_PREOPTICS)) {</div>
-<div class="line"><a name="l04359"></a><span class="lineno"> 4359</span> strcpy(spat_res,cpl_propertylist_get_string(plist, KEY_NAME_PREOPTICS));</div>
-<div class="line"><a name="l04360"></a><span class="lineno"> 4360</span> <span class="comment">/* sinfo_msg("%s value is %s", KEY_NAME_PREOPTICS, spat_res); */</span></div>
-<div class="line"><a name="l04361"></a><span class="lineno"> 4361</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04362"></a><span class="lineno"> 4362</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"keyword %s does not exist"</span>,KEY_NAME_PREOPTICS);</div>
-<div class="line"><a name="l04363"></a><span class="lineno"> 4363</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l04364"></a><span class="lineno"> 4364</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l04365"></a><span class="lineno"> 4365</span> }</div>
-<div class="line"><a name="l04366"></a><span class="lineno"> 4366</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l04367"></a><span class="lineno"> 4367</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l04368"></a><span class="lineno"> 4368</span> </div>
-<div class="line"><a name="l04369"></a><span class="lineno"> 4369</span> }</div>
-<div class="line"><a name="l04370"></a><span class="lineno"> 4370</span> </div>
-<div class="line"><a name="l04371"></a><span class="lineno"> 4371</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l04379"></a><span class="lineno"> 4379</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l04380"></a><span class="lineno"> 4380</span> </div>
-<div class="line"><a name="l04381"></a><span class="lineno"> 4381</span> <span class="keywordtype">int</span> sinfo_frame_is_sky(cpl_frame * ref_frame)</div>
-<div class="line"><a name="l04382"></a><span class="lineno"> 4382</span> {</div>
-<div class="line"><a name="l04383"></a><span class="lineno"> 4383</span> </div>
-<div class="line"><a name="l04384"></a><span class="lineno"> 4384</span> <span class="keywordtype">char</span> dpr_type[FILE_NAME_SZ];</div>
-<div class="line"><a name="l04385"></a><span class="lineno"> 4385</span> <span class="keywordtype">char</span>* ref_file=NULL;</div>
-<div class="line"><a name="l04386"></a><span class="lineno"> 4386</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* sval=NULL;</div>
-<div class="line"><a name="l04387"></a><span class="lineno"> 4387</span> </div>
-<div class="line"><a name="l04388"></a><span class="lineno"> 4388</span> <span class="keywordtype">int</span> result=0;</div>
-<div class="line"><a name="l04389"></a><span class="lineno"> 4389</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l04390"></a><span class="lineno"> 4390</span> </div>
-<div class="line"><a name="l04391"></a><span class="lineno"> 4391</span> sval = cpl_frame_get_filename(ref_frame) ;</div>
-<div class="line"><a name="l04392"></a><span class="lineno"> 4392</span> ref_file = cpl_strdup(sval) ;</div>
-<div class="line"><a name="l04393"></a><span class="lineno"> 4393</span> </div>
-<div class="line"><a name="l04394"></a><span class="lineno"> 4394</span> <span class="keywordflow">if</span> ((cpl_error_code)((plist = cpl_propertylist_load(ref_file, 0)) == NULL)) {</div>
-<div class="line"><a name="l04395"></a><span class="lineno"> 4395</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from reference frame %s"</span>,ref_file);</div>
-<div class="line"><a name="l04396"></a><span class="lineno"> 4396</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l04397"></a><span class="lineno"> 4397</span> cpl_free(ref_file);</div>
-<div class="line"><a name="l04398"></a><span class="lineno"> 4398</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l04399"></a><span class="lineno"> 4399</span> }</div>
-<div class="line"><a name="l04400"></a><span class="lineno"> 4400</span> </div>
-<div class="line"><a name="l04401"></a><span class="lineno"> 4401</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_DPR_TYPE)) {</div>
-<div class="line"><a name="l04402"></a><span class="lineno"> 4402</span> strcpy(dpr_type,cpl_propertylist_get_string(plist, KEY_NAME_DPR_TYPE));</div>
-<div class="line"><a name="l04403"></a><span class="lineno"> 4403</span> <span class="comment">/* sinfo_msg("%s value is %d", KEY_NAME_DPR_TYPE, dpr_type); */</span></div>
-<div class="line"><a name="l04404"></a><span class="lineno"> 4404</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04405"></a><span class="lineno"> 4405</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"keyword %s does not exist"</span>,KEY_NAME_DPR_TYPE);</div>
-<div class="line"><a name="l04406"></a><span class="lineno"> 4406</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l04407"></a><span class="lineno"> 4407</span> cpl_free(ref_file);</div>
-<div class="line"><a name="l04408"></a><span class="lineno"> 4408</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l04409"></a><span class="lineno"> 4409</span> }</div>
-<div class="line"><a name="l04410"></a><span class="lineno"> 4410</span> cpl_propertylist_delete(plist);</div>
-<div class="line"><a name="l04411"></a><span class="lineno"> 4411</span> <span class="keywordflow">if</span>(strstr(dpr_type,RAW_SKY) != NULL) {</div>
-<div class="line"><a name="l04412"></a><span class="lineno"> 4412</span> result=1;</div>
-<div class="line"><a name="l04413"></a><span class="lineno"> 4413</span> }</div>
-<div class="line"><a name="l04414"></a><span class="lineno"> 4414</span> cpl_free(ref_file);</div>
-<div class="line"><a name="l04415"></a><span class="lineno"> 4415</span> </div>
-<div class="line"><a name="l04416"></a><span class="lineno"> 4416</span> <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l04417"></a><span class="lineno"> 4417</span> </div>
-<div class="line"><a name="l04418"></a><span class="lineno"> 4418</span> }</div>
-<div class="line"><a name="l04419"></a><span class="lineno"> 4419</span> </div>
-<div class="line"><a name="l04420"></a><span class="lineno"> 4420</span> </div>
-<div class="line"><a name="l04421"></a><span class="lineno"> 4421</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l04429"></a><span class="lineno"> 4429</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l04430"></a><span class="lineno"> 4430</span> </div>
-<div class="line"><a name="l04431"></a><span class="lineno"> 4431</span> <span class="keywordtype">int</span> sinfo_tag_is_sky(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l04432"></a><span class="lineno"> 4432</span> {</div>
-<div class="line"><a name="l04433"></a><span class="lineno"> 4433</span> </div>
-<div class="line"><a name="l04434"></a><span class="lineno"> 4434</span> <span class="keywordtype">int</span> result=0;</div>
-<div class="line"><a name="l04435"></a><span class="lineno"> 4435</span> </div>
-<div class="line"><a name="l04436"></a><span class="lineno"> 4436</span> <span class="keywordflow">if</span>(</div>
-<div class="line"><a name="l04437"></a><span class="lineno"> 4437</span> (strcmp(tag,RAW_SKY) == 0) ||</div>
-<div class="line"><a name="l04438"></a><span class="lineno"> 4438</span> (strcmp(tag,RAW_IMAGE_PRE_SKY) == 0) ||</div>
-<div class="line"><a name="l04439"></a><span class="lineno"> 4439</span> (strcmp(tag,RAW_SKY_NODDING) == 0) ||</div>
-<div class="line"><a name="l04440"></a><span class="lineno"> 4440</span> (strcmp(tag,RAW_SKY_JITTER) == 0) ||</div>
-<div class="line"><a name="l04441"></a><span class="lineno"> 4441</span> (strcmp(tag,RAW_SKY_STD) == 0) ||</div>
-<div class="line"><a name="l04442"></a><span class="lineno"> 4442</span> (strcmp(tag,RAW_FIBRE_DARK) == 0) ||</div>
-<div class="line"><a name="l04443"></a><span class="lineno"> 4443</span> (strcmp(tag,RAW_SKY_OH) == 0) ||</div>
-<div class="line"><a name="l04444"></a><span class="lineno"> 4444</span> (strcmp(tag,RAW_SKY_PSF_CALIBRATOR) == 0)</div>
-<div class="line"><a name="l04445"></a><span class="lineno"> 4445</span> ) {</div>
-<div class="line"><a name="l04446"></a><span class="lineno"> 4446</span> result=1;</div>
-<div class="line"><a name="l04447"></a><span class="lineno"> 4447</span> }</div>
-<div class="line"><a name="l04448"></a><span class="lineno"> 4448</span> </div>
-<div class="line"><a name="l04449"></a><span class="lineno"> 4449</span> <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l04450"></a><span class="lineno"> 4450</span> </div>
-<div class="line"><a name="l04451"></a><span class="lineno"> 4451</span> }</div>
-<div class="line"><a name="l04452"></a><span class="lineno"> 4452</span> </div>
-<div class="line"><a name="l04453"></a><span class="lineno"> 4453</span> </div>
-<div class="line"><a name="l04454"></a><span class="lineno"> 4454</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l04462"></a><span class="lineno"> 4462</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l04463"></a><span class="lineno"> 4463</span> </div>
-<div class="line"><a name="l04464"></a><span class="lineno"> 4464</span> <span class="keywordtype">int</span> sinfo_tag_is_obj(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l04465"></a><span class="lineno"> 4465</span> {</div>
-<div class="line"><a name="l04466"></a><span class="lineno"> 4466</span> </div>
-<div class="line"><a name="l04467"></a><span class="lineno"> 4467</span> <span class="keywordtype">int</span> result=0;</div>
-<div class="line"><a name="l04468"></a><span class="lineno"> 4468</span> </div>
-<div class="line"><a name="l04469"></a><span class="lineno"> 4469</span> <span class="keywordflow">if</span>(</div>
-<div class="line"><a name="l04470"></a><span class="lineno"> 4470</span> (strcmp(tag,RAW_PUPIL_LAMP) == 0) ||</div>
-<div class="line"><a name="l04471"></a><span class="lineno"> 4471</span> (strcmp(tag,RAW_OBJECT) == 0) ||</div>
-<div class="line"><a name="l04472"></a><span class="lineno"> 4472</span> (strcmp(tag,RAW_IMAGE_PRE_OBJECT) == 0) ||</div>
-<div class="line"><a name="l04473"></a><span class="lineno"> 4473</span> (strcmp(tag,RAW_OBJECT_NODDING) == 0) ||</div>
-<div class="line"><a name="l04474"></a><span class="lineno"> 4474</span> (strcmp(tag,RAW_OBJECT_JITTER) == 0) ||</div>
-<div class="line"><a name="l04475"></a><span class="lineno"> 4475</span> (strcmp(tag,RAW_PSF_CALIBRATOR) == 0) ||</div>
-<div class="line"><a name="l04476"></a><span class="lineno"> 4476</span> (strcmp(tag,RAW_FIBRE_PSF) == 0) ||</div>
-<div class="line"><a name="l04477"></a><span class="lineno"> 4477</span> (strcmp(tag,RAW_STD) == 0) ||</div>
-<div class="line"><a name="l04478"></a><span class="lineno"> 4478</span> (strcmp(tag,RAW_STD_STAR) == 0)</div>
-<div class="line"><a name="l04479"></a><span class="lineno"> 4479</span> </div>
-<div class="line"><a name="l04480"></a><span class="lineno"> 4480</span> ) {</div>
-<div class="line"><a name="l04481"></a><span class="lineno"> 4481</span> result=1;</div>
-<div class="line"><a name="l04482"></a><span class="lineno"> 4482</span> }</div>
-<div class="line"><a name="l04483"></a><span class="lineno"> 4483</span> </div>
-<div class="line"><a name="l04484"></a><span class="lineno"> 4484</span> <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l04485"></a><span class="lineno"> 4485</span> </div>
-<div class="line"><a name="l04486"></a><span class="lineno"> 4486</span> }</div>
-<div class="line"><a name="l04487"></a><span class="lineno"> 4487</span> </div>
-<div class="line"><a name="l04488"></a><span class="lineno"> 4488</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l04496"></a><span class="lineno"> 4496</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l04497"></a><span class="lineno"> 4497</span> </div>
-<div class="line"><a name="l04498"></a><span class="lineno"> 4498</span> <span class="keywordtype">int</span> sinfo_tag_is_objpro(<span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l04499"></a><span class="lineno"> 4499</span> {</div>
-<div class="line"><a name="l04500"></a><span class="lineno"> 4500</span> </div>
-<div class="line"><a name="l04501"></a><span class="lineno"> 4501</span> <span class="keywordtype">int</span> result=0;</div>
-<div class="line"><a name="l04502"></a><span class="lineno"> 4502</span> </div>
-<div class="line"><a name="l04503"></a><span class="lineno"> 4503</span> <span class="keywordflow">if</span>(</div>
-<div class="line"><a name="l04504"></a><span class="lineno"> 4504</span> (strcmp(tag,PRO_COADD_OBJ) == 0) ||</div>
-<div class="line"><a name="l04505"></a><span class="lineno"> 4505</span> (strcmp(tag,PRO_COADD_PSF) == 0) ||</div>
-<div class="line"><a name="l04506"></a><span class="lineno"> 4506</span> (strcmp(tag,PRO_COADD_STD) == 0) ||</div>
-<div class="line"><a name="l04507"></a><span class="lineno"> 4507</span> (strcmp(tag,PRO_OBS_OBJ) == 0) ||</div>
-<div class="line"><a name="l04508"></a><span class="lineno"> 4508</span> (strcmp(tag,PRO_OBS_PSF) == 0) ||</div>
-<div class="line"><a name="l04509"></a><span class="lineno"> 4509</span> (strcmp(tag,PRO_OBS_STD) == 0) ||</div>
-<div class="line"><a name="l04510"></a><span class="lineno"> 4510</span> (strcmp(tag,PRO_PSF_CALIBRATOR_STACKED) == 0) ||</div>
-<div class="line"><a name="l04511"></a><span class="lineno"> 4511</span> (strcmp(tag,PRO_SKY_PSF_CALIBRATOR_STACKED) == 0) ||</div>
-<div class="line"><a name="l04512"></a><span class="lineno"> 4512</span> (strcmp(tag,PRO_STD_STACKED) == 0) ||</div>
-<div class="line"><a name="l04513"></a><span class="lineno"> 4513</span> (strcmp(tag,PRO_SKY_STD_STACKED) == 0) ||</div>
-<div class="line"><a name="l04514"></a><span class="lineno"> 4514</span> (strcmp(tag,PRO_OBJECT_NODDING_STACKED) == 0) ||</div>
-<div class="line"><a name="l04515"></a><span class="lineno"> 4515</span> (strcmp(tag,PRO_SKY_NODDING_STACKED) == 0)</div>
-<div class="line"><a name="l04516"></a><span class="lineno"> 4516</span> ) {</div>
-<div class="line"><a name="l04517"></a><span class="lineno"> 4517</span> result=1;</div>
-<div class="line"><a name="l04518"></a><span class="lineno"> 4518</span> }</div>
-<div class="line"><a name="l04519"></a><span class="lineno"> 4519</span> </div>
-<div class="line"><a name="l04520"></a><span class="lineno"> 4520</span> <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l04521"></a><span class="lineno"> 4521</span> </div>
-<div class="line"><a name="l04522"></a><span class="lineno"> 4522</span> }</div>
-<div class="line"><a name="l04523"></a><span class="lineno"> 4523</span> </div>
-<div class="line"><a name="l04524"></a><span class="lineno"> 4524</span> </div>
-<div class="line"><a name="l04525"></a><span class="lineno"> 4525</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l04533"></a><span class="lineno"> 4533</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l04534"></a><span class="lineno"> 4534</span> </div>
-<div class="line"><a name="l04535"></a><span class="lineno"> 4535</span> <span class="keywordtype">int</span> sinfo_frame_is_on(cpl_frame * ref_frame)</div>
-<div class="line"><a name="l04536"></a><span class="lineno"> 4536</span> {</div>
-<div class="line"><a name="l04537"></a><span class="lineno"> 4537</span> </div>
-<div class="line"><a name="l04538"></a><span class="lineno"> 4538</span> <span class="keywordtype">char</span> ref_file[FILE_NAME_SZ];</div>
-<div class="line"><a name="l04539"></a><span class="lineno"> 4539</span> <span class="keywordtype">char</span> dpr_type[FILE_NAME_SZ];</div>
-<div class="line"><a name="l04540"></a><span class="lineno"> 4540</span> <span class="keywordtype">int</span> lamp_Xe=0;</div>
-<div class="line"><a name="l04541"></a><span class="lineno"> 4541</span> <span class="keywordtype">int</span> lamp_Kr=0;</div>
-<div class="line"><a name="l04542"></a><span class="lineno"> 4542</span> <span class="keywordtype">int</span> lamp_Ne=0;</div>
-<div class="line"><a name="l04543"></a><span class="lineno"> 4543</span> <span class="keywordtype">int</span> lamp_Ar=0;</div>
-<div class="line"><a name="l04544"></a><span class="lineno"> 4544</span> <span class="keywordtype">int</span> lamp_Halo=0;</div>
-<div class="line"><a name="l04545"></a><span class="lineno"> 4545</span> <span class="keywordtype">int</span> len=0;</div>
-<div class="line"><a name="l04546"></a><span class="lineno"> 4546</span> <span class="keywordtype">int</span> result=0;</div>
-<div class="line"><a name="l04547"></a><span class="lineno"> 4547</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l04548"></a><span class="lineno"> 4548</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* filename=NULL;</div>
-<div class="line"><a name="l04549"></a><span class="lineno"> 4549</span> cknull(ref_frame,<span class="stringliteral">"Null input frame. Exit!"</span>);</div>
-<div class="line"><a name="l04550"></a><span class="lineno"> 4550</span> </div>
-<div class="line"><a name="l04551"></a><span class="lineno"> 4551</span> cknull_nomsg(filename=cpl_frame_get_filename(ref_frame));</div>
-<div class="line"><a name="l04552"></a><span class="lineno"> 4552</span> len= strlen(filename);</div>
-<div class="line"><a name="l04553"></a><span class="lineno"> 4553</span> <span class="keywordflow">if</span>(len<1) <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l04554"></a><span class="lineno"> 4554</span> </div>
-<div class="line"><a name="l04555"></a><span class="lineno"> 4555</span> check_nomsg(strcpy(ref_file, filename)) ;</div>
-<div class="line"><a name="l04556"></a><span class="lineno"> 4556</span> <span class="keywordflow">if</span> ((cpl_error_code)((plist = cpl_propertylist_load(ref_file,0)) == NULL)) {</div>
-<div class="line"><a name="l04557"></a><span class="lineno"> 4557</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from reference frame %s"</span>,ref_file);</div>
-<div class="line"><a name="l04558"></a><span class="lineno"> 4558</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l04559"></a><span class="lineno"> 4559</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l04560"></a><span class="lineno"> 4560</span> }</div>
-<div class="line"><a name="l04561"></a><span class="lineno"> 4561</span> </div>
-<div class="line"><a name="l04562"></a><span class="lineno"> 4562</span> <span class="comment">/*-----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l04563"></a><span class="lineno"> 4563</span> <span class="comment"> in J Argon (4)</span></div>
-<div class="line"><a name="l04564"></a><span class="lineno"> 4564</span> <span class="comment"> in H Xenon and Argon (1+4)</span></div>
-<div class="line"><a name="l04565"></a><span class="lineno"> 4565</span> <span class="comment"> in K Neon (3)</span></div>
-<div class="line"><a name="l04566"></a><span class="lineno"> 4566</span> <span class="comment"> in H+K Xenon (1)</span></div>
-<div class="line"><a name="l04567"></a><span class="lineno"> 4567</span> <span class="comment"> -------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l04568"></a><span class="lineno"> 4568</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_DPR_TYPE)) {</div>
-<div class="line"><a name="l04569"></a><span class="lineno"> 4569</span> strcpy(dpr_type,cpl_propertylist_get_string(plist, KEY_NAME_DPR_TYPE));</div>
-<div class="line"><a name="l04570"></a><span class="lineno"> 4570</span> <span class="comment">/* sinfo_msg("%s value is %s", KEY_NAME_DPR_TYPE, dpr_type); */</span></div>
-<div class="line"><a name="l04571"></a><span class="lineno"> 4571</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04572"></a><span class="lineno"> 4572</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"keyword %s does not exist"</span>,KEY_NAME_DPR_TYPE);</div>
-<div class="line"><a name="l04573"></a><span class="lineno"> 4573</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l04574"></a><span class="lineno"> 4574</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l04575"></a><span class="lineno"> 4575</span> }</div>
-<div class="line"><a name="l04576"></a><span class="lineno"> 4576</span> </div>
-<div class="line"><a name="l04577"></a><span class="lineno"> 4577</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l04578"></a><span class="lineno"> 4578</span> <span class="comment"> In order to use the frame tag to identify frames we have to add this line</span></div>
-<div class="line"><a name="l04579"></a><span class="lineno"> 4579</span> <span class="comment"> strcpy(dpr_type,cpl_frame_get_tag(ref_frame));</span></div>
-<div class="line"><a name="l04580"></a><span class="lineno"> 4580</span> <span class="comment"></span></div>
-<div class="line"><a name="l04581"></a><span class="lineno"> 4581</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l04582"></a><span class="lineno"> 4582</span> </div>
-<div class="line"><a name="l04583"></a><span class="lineno"> 4583</span> <span class="keywordflow">if</span>(strstr(dpr_type,<span class="stringliteral">"STD"</span>) != NULL) {</div>
-<div class="line"><a name="l04584"></a><span class="lineno"> 4584</span> result = 1;</div>
-<div class="line"><a name="l04585"></a><span class="lineno"> 4585</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l04586"></a><span class="lineno"> 4586</span> <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l04587"></a><span class="lineno"> 4587</span> }</div>
-<div class="line"><a name="l04588"></a><span class="lineno"> 4588</span> </div>
-<div class="line"><a name="l04589"></a><span class="lineno"> 4589</span> <span class="keywordflow">if</span>(strstr(dpr_type,<span class="stringliteral">"PSF"</span>) != NULL) {</div>
-<div class="line"><a name="l04590"></a><span class="lineno"> 4590</span> result = 1;</div>
-<div class="line"><a name="l04591"></a><span class="lineno"> 4591</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l04592"></a><span class="lineno"> 4592</span> <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l04593"></a><span class="lineno"> 4593</span> }</div>
-<div class="line"><a name="l04594"></a><span class="lineno"> 4594</span> </div>
-<div class="line"><a name="l04595"></a><span class="lineno"> 4595</span> <span class="keywordflow">if</span>(strstr(dpr_type,<span class="stringliteral">"SKY"</span>) != NULL) {</div>
-<div class="line"><a name="l04596"></a><span class="lineno"> 4596</span> result = 0;</div>
-<div class="line"><a name="l04597"></a><span class="lineno"> 4597</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l04598"></a><span class="lineno"> 4598</span> <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l04599"></a><span class="lineno"> 4599</span> }</div>
-<div class="line"><a name="l04600"></a><span class="lineno"> 4600</span> </div>
-<div class="line"><a name="l04601"></a><span class="lineno"> 4601</span> </div>
-<div class="line"><a name="l04602"></a><span class="lineno"> 4602</span> <span class="keywordflow">if</span>(strstr(dpr_type,<span class="stringliteral">"OBJECT"</span>) != NULL) {</div>
-<div class="line"><a name="l04603"></a><span class="lineno"> 4603</span> result = 1;</div>
-<div class="line"><a name="l04604"></a><span class="lineno"> 4604</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l04605"></a><span class="lineno"> 4605</span> <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l04606"></a><span class="lineno"> 4606</span> }</div>
-<div class="line"><a name="l04607"></a><span class="lineno"> 4607</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l04608"></a><span class="lineno"> 4608</span> <span class="comment"> if(strstr(dpr_type,"PUPIL") != NULL) {</span></div>
-<div class="line"><a name="l04609"></a><span class="lineno"> 4609</span> <span class="comment"> result = 1;</span></div>
-<div class="line"><a name="l04610"></a><span class="lineno"> 4610</span> <span class="comment"> cpl_propertylist_delete(plist);</span></div>
-<div class="line"><a name="l04611"></a><span class="lineno"> 4611</span> <span class="comment"> return result;</span></div>
-<div class="line"><a name="l04612"></a><span class="lineno"> 4612</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l04613"></a><span class="lineno"> 4613</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l04614"></a><span class="lineno"> 4614</span> </div>
-<div class="line"><a name="l04615"></a><span class="lineno"> 4615</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_LAMP_XE)) {</div>
-<div class="line"><a name="l04616"></a><span class="lineno"> 4616</span> lamp_Xe=cpl_propertylist_get_bool(plist, KEY_NAME_LAMP_XE);</div>
-<div class="line"><a name="l04617"></a><span class="lineno"> 4617</span> <span class="comment">/* sinfo_msg("%s value is %d", KEY_NAME_LAMP_XE, lamp_Xe); */</span></div>
-<div class="line"><a name="l04618"></a><span class="lineno"> 4618</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04619"></a><span class="lineno"> 4619</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"keyword %s does not exist"</span>,KEY_NAME_LAMP_XE);</div>
-<div class="line"><a name="l04620"></a><span class="lineno"> 4620</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l04621"></a><span class="lineno"> 4621</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l04622"></a><span class="lineno"> 4622</span> }</div>
-<div class="line"><a name="l04623"></a><span class="lineno"> 4623</span> </div>
-<div class="line"><a name="l04624"></a><span class="lineno"> 4624</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_LAMP_KR)) {</div>
-<div class="line"><a name="l04625"></a><span class="lineno"> 4625</span> lamp_Kr=cpl_propertylist_get_bool(plist, KEY_NAME_LAMP_KR);</div>
-<div class="line"><a name="l04626"></a><span class="lineno"> 4626</span> <span class="comment">/* sinfo_msg("%s value is %d", KEY_NAME_LAMP_KR, lamp_Kr); */</span></div>
-<div class="line"><a name="l04627"></a><span class="lineno"> 4627</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04628"></a><span class="lineno"> 4628</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"keyword %s does not exist"</span>,KEY_NAME_LAMP_KR);</div>
-<div class="line"><a name="l04629"></a><span class="lineno"> 4629</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l04630"></a><span class="lineno"> 4630</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l04631"></a><span class="lineno"> 4631</span> }</div>
-<div class="line"><a name="l04632"></a><span class="lineno"> 4632</span> </div>
-<div class="line"><a name="l04633"></a><span class="lineno"> 4633</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_LAMP_NE)) {</div>
-<div class="line"><a name="l04634"></a><span class="lineno"> 4634</span> lamp_Ne=cpl_propertylist_get_bool(plist, KEY_NAME_LAMP_NE);</div>
-<div class="line"><a name="l04635"></a><span class="lineno"> 4635</span> <span class="comment">/* sinfo_msg("%s value is %d", KEY_NAME_LAMP_NE, lamp_Ne); */</span></div>
-<div class="line"><a name="l04636"></a><span class="lineno"> 4636</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04637"></a><span class="lineno"> 4637</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"keyword %s does not exist"</span>,KEY_NAME_LAMP_NE);</div>
-<div class="line"><a name="l04638"></a><span class="lineno"> 4638</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l04639"></a><span class="lineno"> 4639</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l04640"></a><span class="lineno"> 4640</span> }</div>
-<div class="line"><a name="l04641"></a><span class="lineno"> 4641</span> </div>
-<div class="line"><a name="l04642"></a><span class="lineno"> 4642</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_LAMP_AR)) {</div>
-<div class="line"><a name="l04643"></a><span class="lineno"> 4643</span> lamp_Ar=cpl_propertylist_get_bool(plist, KEY_NAME_LAMP_AR);</div>
-<div class="line"><a name="l04644"></a><span class="lineno"> 4644</span> <span class="comment">/* sinfo_msg("%s value is %d", KEY_NAME_LAMP_AR, lamp_Ar); */</span></div>
-<div class="line"><a name="l04645"></a><span class="lineno"> 4645</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04646"></a><span class="lineno"> 4646</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"keyword %s does not exist"</span>,KEY_NAME_LAMP_AR);</div>
-<div class="line"><a name="l04647"></a><span class="lineno"> 4647</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l04648"></a><span class="lineno"> 4648</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l04649"></a><span class="lineno"> 4649</span> }</div>
-<div class="line"><a name="l04650"></a><span class="lineno"> 4650</span> </div>
-<div class="line"><a name="l04651"></a><span class="lineno"> 4651</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_LAMP_HALO)) {</div>
-<div class="line"><a name="l04652"></a><span class="lineno"> 4652</span> lamp_Halo=cpl_propertylist_get_bool(plist, KEY_NAME_LAMP_HALO);</div>
-<div class="line"><a name="l04653"></a><span class="lineno"> 4653</span> <span class="comment">/* sinfo_msg("%s value is %d", KEY_NAME_LAMP_HALO, lamp_Halo); */</span></div>
-<div class="line"><a name="l04654"></a><span class="lineno"> 4654</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04655"></a><span class="lineno"> 4655</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"keyword %s does not exist"</span>,KEY_NAME_LAMP_HALO);</div>
-<div class="line"><a name="l04656"></a><span class="lineno"> 4656</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l04657"></a><span class="lineno"> 4657</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l04658"></a><span class="lineno"> 4658</span> }</div>
-<div class="line"><a name="l04659"></a><span class="lineno"> 4659</span> </div>
-<div class="line"><a name="l04660"></a><span class="lineno"> 4660</span> </div>
-<div class="line"><a name="l04661"></a><span class="lineno"> 4661</span> </div>
-<div class="line"><a name="l04662"></a><span class="lineno"> 4662</span> </div>
-<div class="line"><a name="l04663"></a><span class="lineno"> 4663</span> <span class="keywordflow">if</span>(lamp_Xe) {</div>
-<div class="line"><a name="l04664"></a><span class="lineno"> 4664</span> result=1;</div>
-<div class="line"><a name="l04665"></a><span class="lineno"> 4665</span> }</div>
-<div class="line"><a name="l04666"></a><span class="lineno"> 4666</span> </div>
-<div class="line"><a name="l04667"></a><span class="lineno"> 4667</span> <span class="keywordflow">if</span>(lamp_Kr) {</div>
-<div class="line"><a name="l04668"></a><span class="lineno"> 4668</span> result=1;</div>
-<div class="line"><a name="l04669"></a><span class="lineno"> 4669</span> }</div>
-<div class="line"><a name="l04670"></a><span class="lineno"> 4670</span> </div>
-<div class="line"><a name="l04671"></a><span class="lineno"> 4671</span> <span class="keywordflow">if</span>(lamp_Ne) {</div>
-<div class="line"><a name="l04672"></a><span class="lineno"> 4672</span> result=1;</div>
-<div class="line"><a name="l04673"></a><span class="lineno"> 4673</span> }</div>
-<div class="line"><a name="l04674"></a><span class="lineno"> 4674</span> </div>
-<div class="line"><a name="l04675"></a><span class="lineno"> 4675</span> <span class="keywordflow">if</span>(lamp_Ar) {</div>
-<div class="line"><a name="l04676"></a><span class="lineno"> 4676</span> result=1;</div>
-<div class="line"><a name="l04677"></a><span class="lineno"> 4677</span> }</div>
-<div class="line"><a name="l04678"></a><span class="lineno"> 4678</span> </div>
-<div class="line"><a name="l04679"></a><span class="lineno"> 4679</span> </div>
-<div class="line"><a name="l04680"></a><span class="lineno"> 4680</span> <span class="keywordflow">if</span>(lamp_Halo) {</div>
-<div class="line"><a name="l04681"></a><span class="lineno"> 4681</span> result=1;</div>
-<div class="line"><a name="l04682"></a><span class="lineno"> 4682</span> }</div>
-<div class="line"><a name="l04683"></a><span class="lineno"> 4683</span> </div>
-<div class="line"><a name="l04684"></a><span class="lineno"> 4684</span> cleanup:</div>
-<div class="line"><a name="l04685"></a><span class="lineno"> 4685</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l04686"></a><span class="lineno"> 4686</span> <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l04687"></a><span class="lineno"> 4687</span> </div>
-<div class="line"><a name="l04688"></a><span class="lineno"> 4688</span> </div>
-<div class="line"><a name="l04689"></a><span class="lineno"> 4689</span> }</div>
-<div class="line"><a name="l04690"></a><span class="lineno"> 4690</span> </div>
-<div class="line"><a name="l04691"></a><span class="lineno"> 4691</span> </div>
-<div class="line"><a name="l04692"></a><span class="lineno"> 4692</span> </div>
-<div class="line"><a name="l04693"></a><span class="lineno"> 4693</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l04694"></a><span class="lineno"> 4694</span> sinfo_pfits_add_qc(cpl_propertylist * plist,</div>
-<div class="line"><a name="l04695"></a><span class="lineno"> 4695</span> qc_log * qclog)</div>
-<div class="line"><a name="l04696"></a><span class="lineno"> 4696</span> {</div>
-<div class="line"><a name="l04697"></a><span class="lineno"> 4697</span> <span class="keywordtype">char</span> key_name[80] ;</div>
-<div class="line"><a name="l04698"></a><span class="lineno"> 4698</span> <span class="keywordtype">char</span> key_value[80] ;</div>
-<div class="line"><a name="l04699"></a><span class="lineno"> 4699</span> </div>
-<div class="line"><a name="l04700"></a><span class="lineno"> 4700</span> <span class="keywordtype">int</span> i =0;</div>
-<div class="line"><a name="l04701"></a><span class="lineno"> 4701</span> </div>
-<div class="line"><a name="l04702"></a><span class="lineno"> 4702</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l04703"></a><span class="lineno"> 4703</span> <span class="keywordflow">if</span> (plist == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l04704"></a><span class="lineno"> 4704</span> </div>
-<div class="line"><a name="l04705"></a><span class="lineno"> 4705</span> <span class="comment">/* Parameter Name: PIPEFILE */</span></div>
-<div class="line"><a name="l04706"></a><span class="lineno"> 4706</span> <span class="comment">/* we add ESO prefix to FITS keywords" */</span></div>
-<div class="line"><a name="l04707"></a><span class="lineno"> 4707</span> <span class="keywordflow">for</span>(i=0;i<qclog[0].n;i++) {</div>
-<div class="line"><a name="l04708"></a><span class="lineno"> 4708</span> strcpy(key_name,<span class="stringliteral">"ESO "</span>);</div>
-<div class="line"><a name="l04709"></a><span class="lineno"> 4709</span> strcat(key_name,qclog[i].name);</div>
-<div class="line"><a name="l04710"></a><span class="lineno"> 4710</span> <span class="keywordflow">if</span>(strcmp(qclog[i].type,<span class="stringliteral">"string"</span>) == 0) {</div>
-<div class="line"><a name="l04711"></a><span class="lineno"> 4711</span> snprintf(key_value,<span class="keyword">sizeof</span>(key_value)-1,<span class="stringliteral">"%s"</span>,qclog[i].s_val);</div>
-<div class="line"><a name="l04712"></a><span class="lineno"> 4712</span> cpl_propertylist_append_string(plist, key_name,key_value) ;</div>
-<div class="line"><a name="l04713"></a><span class="lineno"> 4713</span> cpl_propertylist_set_comment(plist, key_name,qclog[i].comm) ;</div>
-<div class="line"><a name="l04714"></a><span class="lineno"> 4714</span> </div>
-<div class="line"><a name="l04715"></a><span class="lineno"> 4715</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(strcmp(qclog[i].type,<span class="stringliteral">"bool"</span>) == 0) {</div>
-<div class="line"><a name="l04716"></a><span class="lineno"> 4716</span> snprintf(key_value,<span class="keyword">sizeof</span>(key_value),<span class="stringliteral">"%i"</span>,(<span class="keywordtype">int</span>)qclog[i].n_val);</div>
-<div class="line"><a name="l04717"></a><span class="lineno"> 4717</span> cpl_propertylist_append_bool(plist, key_name,(<span class="keywordtype">int</span>)qclog[i].n_val) ;</div>
-<div class="line"><a name="l04718"></a><span class="lineno"> 4718</span> cpl_propertylist_set_comment(plist, key_name,qclog[i].comm) ;</div>
-<div class="line"><a name="l04719"></a><span class="lineno"> 4719</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(strcmp(qclog[i].type,<span class="stringliteral">"int"</span>) == 0) {</div>
-<div class="line"><a name="l04720"></a><span class="lineno"> 4720</span> snprintf(key_value,<span class="keyword">sizeof</span>(key_value),<span class="stringliteral">"%i"</span>,(<span class="keywordtype">int</span>)qclog[i].n_val);</div>
-<div class="line"><a name="l04721"></a><span class="lineno"> 4721</span> cpl_propertylist_append_int(plist, key_name,(<span class="keywordtype">int</span>)qclog[i].n_val) ;</div>
-<div class="line"><a name="l04722"></a><span class="lineno"> 4722</span> cpl_propertylist_set_comment(plist, key_name,qclog[i].comm) ;</div>
-<div class="line"><a name="l04723"></a><span class="lineno"> 4723</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(strcmp(qclog[i].type,<span class="stringliteral">"float"</span>) == 0) {</div>
-<div class="line"><a name="l04724"></a><span class="lineno"> 4724</span> snprintf(key_value,<span class="keyword">sizeof</span>(key_value),<span class="stringliteral">"%f"</span>,(<span class="keywordtype">float</span>)qclog[i].n_val);</div>
-<div class="line"><a name="l04725"></a><span class="lineno"> 4725</span> cpl_propertylist_append_float(plist, key_name,(<span class="keywordtype">float</span>)qclog[i].n_val) ;</div>
-<div class="line"><a name="l04726"></a><span class="lineno"> 4726</span> cpl_propertylist_set_comment(plist, key_name,qclog[i].comm) ;</div>
-<div class="line"><a name="l04727"></a><span class="lineno"> 4727</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(strcmp(qclog[i].type,<span class="stringliteral">"double"</span>) == 0) {</div>
-<div class="line"><a name="l04728"></a><span class="lineno"> 4728</span> snprintf(key_value,<span class="keyword">sizeof</span>(key_value),<span class="stringliteral">"%f"</span>,qclog[i].n_val);</div>
-<div class="line"><a name="l04729"></a><span class="lineno"> 4729</span> cpl_propertylist_append_double(plist, key_name,qclog[i].n_val) ;</div>
-<div class="line"><a name="l04730"></a><span class="lineno"> 4730</span> cpl_propertylist_set_comment(plist, key_name,qclog[i].comm) ;</div>
-<div class="line"><a name="l04731"></a><span class="lineno"> 4731</span> }</div>
-<div class="line"><a name="l04732"></a><span class="lineno"> 4732</span> </div>
-<div class="line"><a name="l04733"></a><span class="lineno"> 4733</span> }</div>
-<div class="line"><a name="l04734"></a><span class="lineno"> 4734</span> </div>
-<div class="line"><a name="l04735"></a><span class="lineno"> 4735</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l04736"></a><span class="lineno"> 4736</span> }</div>
-<div class="line"><a name="l04737"></a><span class="lineno"> 4737</span> </div>
-<div class="line"><a name="l04738"></a><span class="lineno"> 4738</span> </div>
-<div class="line"><a name="l04739"></a><span class="lineno"> 4739</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__dfs_8h_source.html b/html/sinfo__dfs_8h_source.html
deleted file mode 100644
index e578af2..0000000
--- a/html/sinfo__dfs_8h_source.html
+++ /dev/null
@@ -1,99 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_dfs.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_dfs.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_dfs.h,v 1.3 2010/02/17 09:23:43 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This proram is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2010/02/17 09:23:43 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.3 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef SINFO_DFS_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_DFS_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*--------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> general Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> --------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_pfits.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/* #include "utilities.h" */</span> <span class="comment">/* critical for other modules */</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> --------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_raw_types.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_ref_types.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include "sinfo_key_names.h"</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/* ---------------------------------------------------------------------- </span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> functions</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">---------------------------------------------------------------------- */</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> CPL_END_DECLS</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__distortion_8c_source.html b/html/sinfo__distortion_8c_source.html
deleted file mode 100644
index 24f777c..0000000
--- a/html/sinfo__distortion_8c_source.html
+++ /dev/null
@@ -1,1544 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_distortion.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_distortion.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_distortion.c,v 1.37 2012/03/05 16:34:06 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2012/03/05 16:34:06 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.37 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor">#include <sinfo_cpl_size.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <sinfo_cpl_size.h></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_distortion.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include "irplib_flat.h"</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">//#include "sinfo_irplib_cpl_wrp.h"</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include "sinfo_utilities.h"</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> Define</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#define ARC_NBSAMPLES 20</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor"></span><span class="preprocessor">#define ARC_THRESHFACT (1.0/3.0)</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor"></span><span class="preprocessor">#define ARC_MINGOODPIX 100</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor"></span><span class="preprocessor">#define ARC_MINARCLENFACT 1.19 </span><span class="comment">/* 1.1-2 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor"></span><span class="preprocessor">#define ARC_MINNBARCS 32 </span><span class="comment">/* 4-32 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor"></span><span class="preprocessor">#define ARC_RANGE_FACT 3.0</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor"></span><span class="preprocessor">#define ARC_WINDOWSIZE 10 </span><span class="comment">/* 32 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#define TRESH_MEDIAN_MIN 0.0</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor"></span><span class="preprocessor">#define TRESH_SIGMA_MAX 200.0</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">static</span> cpl_apertures *</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> sinfo_distortion_detect_arcs_new(cpl_image* ,cpl_image **,</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">int</span>,<span class="keywordtype">int</span>,<span class="keywordtype">double</span>,<span class="keywordtype">int</span>,<span class="keywordtype">int</span>,<span class="keywordtype">int</span>,<span class="keywordtype">int</span>,<span class="keywordtype">double</span>,<span class="keywordtype">int</span>);</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keyword">static</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> cpl_apertures * sinfo_distortion_detect_arcs(cpl_image *,</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> cpl_image **, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>) ;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> sinfo_distortion_fill_badzones(cpl_image *, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">double</span>) ;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> sinfo_distortion_threshold1d(cpl_image *, <span class="keywordtype">double</span>, cpl_image *, <span class="keywordtype">double</span>) ;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> sinfo_distortion_purge_arcs(cpl_image *, cpl_apertures **,</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> cpl_image **, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">double</span>) ;</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keyword">static</span> cpl_bivector **</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> sinfo_distortion_get_arc_positions(cpl_image *,</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> cpl_image *,</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> cpl_apertures *, <span class="keywordtype">int</span>, <span class="keywordtype">double</span> **) ;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keyword">static</span> <span class="keywordtype">double</span> sinfo_distortion_fine_pos(cpl_image *, cpl_image *, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>) ;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_distortion_sub_hor_lowpass(cpl_image *, <span class="keywordtype">int</span>) ;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keyword">static</span> cpl_image * sinfo_distortion_remove_ramp(<span class="keyword">const</span> cpl_image *) ;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keyword">static</span> cpl_image *</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> sinfo_distortion_smooth(cpl_image* inp,<span class="keyword">const</span> <span class="keywordtype">int</span> r,<span class="keyword">const</span> <span class="keywordtype">int</span> d);</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keyword">static</span> cpl_image *</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> sinfo_distortion_smooth(cpl_image* inp,<span class="keyword">const</span> <span class="keywordtype">int</span> r,<span class="keyword">const</span> <span class="keywordtype">int</span> d)</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> {</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">int</span> sx=0;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">int</span> sy=0;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordtype">int</span> z=0;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keywordtype">float</span> sum;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> cpl_image* out=NULL;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordtype">float</span>* pi=NULL;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordtype">float</span>* po=NULL;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordtype">int</span> min=0;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> cknull(inp,<span class="stringliteral">"Null input image!"</span>);</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> check_nomsg(sx=cpl_image_get_size_x(inp));</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> check_nomsg(sy=cpl_image_get_size_y(inp));</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> check_nomsg(out=cpl_image_duplicate(inp));</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> check_nomsg(pi=cpl_image_get_data_float(inp));</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> check_nomsg(po=cpl_image_get_data_float(out));</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> min = r/2;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordflow">switch</span> (d) {</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordflow">case</span> 0:</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">for</span>(j=0;j<sy;j++) {</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordflow">for</span>(i=min;i<sx-min;i++) {</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> sum=0;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordflow">for</span>(z=i-min;z<i+min+1;z++) {</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> sum+=pi[z+j*sx];</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> }</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> po[i+j*sx]=sum/r;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> }</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> }</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keywordflow">case</span> 1:</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keywordflow">for</span>(i=0;i<sx;i++) {</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">for</span>(j=min;j<sy-min;j++) {</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> sum=0;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordflow">for</span>(z=j-min;z<j+min+1;z++) {</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> sum+=pi[i+z*sx];</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> }</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> po[i+j*sx]=sum;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> }</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> }</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"case not supported"</span>);</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> }</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> check_nomsg(cpl_image_delete(inp));</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> cleanup:</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> }</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> cpl_image *</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> sinfo_distortion_image_restore(<span class="keyword">const</span> cpl_image* inp,</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keyword">const</span> <span class="keywordtype">int</span> r,</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keyword">const</span> <span class="keywordtype">int</span> d,</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keyword">const</span> <span class="keywordtype">double</span> kappa,</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ks_method,</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keyword">const</span> <span class="keywordtype">int</span> n)</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> {</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keywordtype">int</span> sx=0;</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keywordtype">int</span> sy=0;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keywordtype">int</span> z=0;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> cpl_image* out=NULL;</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keyword">const</span> <span class="keywordtype">float</span>* pi=NULL;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keywordtype">float</span>* po=NULL;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keywordtype">int</span> min=0;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> cpl_vector* vec=NULL;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keywordtype">double</span>* pv=NULL;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keywordtype">double</span> mean=0;</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keywordtype">double</span> median=0;</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> cknull(inp,<span class="stringliteral">"Null input image!"</span>);</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> check_nomsg(sx=cpl_image_get_size_x(inp));</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> check_nomsg(sy=cpl_image_get_size_y(inp));</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> check_nomsg(out=cpl_image_duplicate(inp));</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> check_nomsg(pi=cpl_image_get_data_float_const(inp));</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> check_nomsg(po=cpl_image_get_data_float(out));</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> min = r/2;</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> check_nomsg(vec=cpl_vector_new(r));</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> check_nomsg(pv=cpl_vector_get_data(vec));</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keywordflow">switch</span> (d) {</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keywordflow">case</span> 0:</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keywordflow">for</span>(j=0;j<sy;j++) {</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordflow">for</span>(i=min;i<sx-min;i++) {</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> k=0;</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keywordflow">for</span>(z=i-min;z<i+min+1;z++) {</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> pv[k]=(double)pi[z+j*sx];</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> k++;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> }</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> cknull_nomsg(vec=sinfo_vector_clip(vec,kappa,n,ks_method));</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> check_nomsg(mean=cpl_vector_get_mean(vec));</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> check_nomsg(median=cpl_vector_get_mean(vec));</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> po[i+j*sx]+=(mean-median);</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> }</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> }</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keywordflow">case</span> 1:</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordflow">for</span>(i=0;i<sx;i++) {</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="keywordflow">for</span>(j=min;j<sy-min;j++) {</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> k=0;</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keywordflow">for</span>(z=j-min;z<j+min+1;z++) {</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> pv[k]=(double)pi[i+z*sx];</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> k++;</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> }</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> cknull_nomsg(vec=sinfo_vector_clip(vec,kappa,n,ks_method));</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> check_nomsg(mean=cpl_vector_get_mean(vec));</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> check_nomsg(median=cpl_vector_get_mean(vec));</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> po[i+j*sx]+=(mean-median);</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> }</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> }</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"case not supported"</span>);</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> }</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> check_nomsg(cpl_image_delete((cpl_image*)inp));</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> cleanup:</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> }</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> cpl_polynomial * sinfo_distortion_estimate_new(</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="keyword">const</span> cpl_image * org,</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="keywordtype">int</span> xmin,</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="keywordtype">int</span> ymin,</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="keywordtype">int</span> xmax,</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="keywordtype">int</span> ymax,</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="keywordtype">int</span> auto_ramp_sub,</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="keywordtype">int</span> arc_sat,</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="keywordtype">int</span> max_arc_width,</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keywordtype">double</span> kappa,</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="keywordtype">double</span> arcs_min_arclen_factor,</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="keywordtype">int</span> arcs_window_size,</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keywordtype">int</span> smooth_rad,</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="keywordtype">int</span> degree,</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="keywordtype">double</span> offset,</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> cpl_apertures ** arcs)</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> {</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> cpl_image * local_im ;</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> cpl_image * label_image ;</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keywordtype">double</span> rightmost, leftmost ;</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> cpl_bivector ** arcs_pos ;</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="keywordtype">double</span> * parc_posx ;</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="keywordtype">double</span> * parc_posy ;</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keywordtype">double</span> * lines_pos ;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> cpl_bivector * grid ;</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="keywordtype">double</span> * pgridx ;</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="keywordtype">double</span> * pgridy ;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> cpl_vector * values_to_fit ;</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="keywordtype">double</span> * pvalues_to_fit ;</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="keywordtype">int</span> min_arc_range ;</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="keywordtype">int</span> n_calib ;</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="keywordtype">int</span> n_arcs ;</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> cpl_polynomial * poly2d ;</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="keywordtype">int</span> nx ;</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="keywordtype">int</span> i, j ;</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> </div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="comment">/* AMO added to use offset */</span></div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> cpl_vector * lines_pos_tmp ;</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> cpl_bivector * grid_tmp ;</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> cpl_vector* grid_tot=0;</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="keywordtype">double</span>* pgrid_tmp_x=NULL;</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="keywordtype">double</span>* pgrid_tmp_y=NULL;</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="keywordtype">double</span>* pgrid_tot=NULL;</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="keywordtype">double</span>* plines_pos_tmp=NULL;</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="keywordtype">int</span> n_lines=0;</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> </div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> </div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="comment">/* Check entries */</span></div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="keywordflow">if</span> (org == NULL) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="keywordflow">if</span> (kappa < 0.0) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="comment">/* Initialise */</span></div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> n_calib = ARC_NBSAMPLES ;</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> nx = cpl_image_get_size_x(org) ;</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="keywordflow">if</span> (auto_ramp_sub) {</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> local_im = sinfo_distortion_remove_ramp(org) ;</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="comment">/* Local copy of input image */</span></div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> local_im = cpl_image_duplicate(org) ;</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> }</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="keywordflow">if</span> (local_im == NULL) {</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot clean the image"</span>) ;</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> }</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="keywordflow">if</span>(smooth_rad > 1) {</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> local_im=sinfo_distortion_smooth(local_im,smooth_rad,1);</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="comment">//cpl_image_save(local_im,"out_local_im.fits",CPL_BPP_IEEE_FLOAT,</span></div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="comment">// NULL,CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="comment">//local_im=sinfo_distortion_image_restore(local_im,smooth_rad,1,2,0,2);</span></div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="comment">//cpl_image_save(local_im,"out_local_im_post.fits",</span></div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="comment">// CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> }</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="comment">/* Detect the arcs in the input image */</span></div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> cpl_msg_info(cpl_func, <span class="stringliteral">"Detect arcs"</span>) ;</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="keywordflow">if</span> ((*arcs = sinfo_distortion_detect_arcs_new(local_im,</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> &label_image,</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> arc_sat, max_arc_width, kappa,</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> xmin, ymin, xmax, ymax,</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> arcs_min_arclen_factor,arcs_window_size)) == NULL) {</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> cpl_image_delete(local_im) ;</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot detect the arcs"</span>) ;</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> }</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> n_arcs = cpl_apertures_get_size(*arcs) ;</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> cpl_msg_info(cpl_func, <span class="stringliteral">"%d detected arcs"</span>, n_arcs) ;</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> </div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="comment">/* Check that the arcs are not concentrated in the same zone */</span></div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> rightmost = leftmost = cpl_apertures_get_pos_x(*arcs, 1) ;</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="keywordflow">for</span> (i=1 ; i<n_arcs ; i++) {</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="keywordflow">if</span> (cpl_apertures_get_pos_x(*arcs, i+1) < leftmost)</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> leftmost = cpl_apertures_get_pos_x(*arcs, i+1) ;</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="keywordflow">if</span> (cpl_apertures_get_pos_x(*arcs, i+1) > rightmost)</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> rightmost = cpl_apertures_get_pos_x(*arcs, i+1) ;</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> }</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> min_arc_range = (int)(nx / ARC_RANGE_FACT) ;</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="keywordflow">if</span> ((<span class="keywordtype">int</span>)(rightmost-leftmost) < min_arc_range) {</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> cpl_msg_error(cpl_func, <span class="stringliteral">"too narrow range (%g-%g)<%d"</span>,</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> rightmost, leftmost, min_arc_range) ;</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> cpl_apertures_delete(*arcs) ;</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> cpl_image_delete(local_im) ;</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> cpl_image_delete(label_image) ;</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> }</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> </div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="comment">/* Create a 2-D deformation grid with detected arcs */</span></div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> cpl_msg_info(cpl_func, <span class="stringliteral">"Create deformation grid"</span>) ;</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> lines_pos = cpl_malloc(n_arcs * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="keywordflow">if</span> ((arcs_pos = sinfo_distortion_get_arc_positions(local_im,</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> label_image, *arcs, n_calib, &lines_pos))==NULL){</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> cpl_msg_error(cpl_func, <span class="stringliteral">"cannot get arcs positions"</span>) ;</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> cpl_apertures_delete(*arcs) ;</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> cpl_image_delete(local_im) ;</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> cpl_free(lines_pos) ;</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> cpl_image_delete(label_image) ;</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> }</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> cpl_image_delete(label_image) ;</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> cpl_image_delete(local_im) ;</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> </div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="comment">/* Prepare the fitting */</span></div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> lines_pos_tmp=cpl_vector_new(n_arcs);</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> plines_pos_tmp=cpl_vector_get_data(lines_pos_tmp);</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> </div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> </div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> sinfo_msg(<span class="stringliteral">"Fit the 2d polynomial"</span>) ;</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> grid = cpl_bivector_new(n_arcs * n_calib) ;</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> pgridx = cpl_bivector_get_x_data(grid) ;</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> pgridy = cpl_bivector_get_y_data(grid) ;</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> values_to_fit = cpl_vector_new(n_arcs * n_calib) ;</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> pvalues_to_fit = cpl_vector_get_data(values_to_fit) ;</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> </div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="keywordflow">for</span> (i=0 ; i<n_arcs ; i++) {</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> parc_posx = cpl_bivector_get_x_data(arcs_pos[i]) ;</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> parc_posy = cpl_bivector_get_y_data(arcs_pos[i]) ;</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="keywordflow">for</span> (j=0 ; j<n_calib ; j++) {</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> plines_pos_tmp[i]=lines_pos[i] ;</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> pgridx[j+i*n_calib] = lines_pos[i] ;</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> pgridy[j+i*n_calib] = parc_posy[j] ;</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> pvalues_to_fit[j+i*n_calib] = parc_posx[j] ;</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> }</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> }</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="comment">/* AMO new to use offset */</span></div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> n_lines= n_arcs/32.0;</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> <span class="keywordflow">if</span>(n_lines < 1) {</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> n_lines=1;</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> }</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> cpl_vector_sort(lines_pos_tmp,1);</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> plines_pos_tmp=cpl_vector_get_data(lines_pos_tmp);</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> grid_tmp=cpl_bivector_duplicate(grid);</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> grid_tot=cpl_vector_new(n_calib);</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> pgrid_tmp_x = cpl_bivector_get_x_data(grid_tmp) ;</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> pgrid_tmp_y = cpl_bivector_get_y_data(grid_tmp) ;</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> pgrid_tot = cpl_vector_get_data(grid_tot);</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="keywordflow">for</span>(j=0;j<n_calib;j++) {</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> pgrid_tot[j]=0;</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="keywordflow">for</span>(i=n_lines ;i<n_arcs;i=i+n_lines)</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> {</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="keywordflow">for</span>(k=0;k<n_lines;k++) {</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> pgrid_tot[j] += (plines_pos_tmp[i+k]-</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> plines_pos_tmp[k]);</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="comment"> sinfo_msg("diff=%g",(plines_pos_tmp[i+k]-</span></div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="comment"> plines_pos_tmp[k]));</span></div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> }</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> }</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <span class="comment"> sinfo_msg("j=%d pgrid_tot=%g",j,pgrid_tot[j]);</span></div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> }</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> </div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> <span class="keywordflow">for</span>(j=0;j<n_calib;j++) {</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="keywordflow">for</span> (i=0 ; i<n_arcs ; i++) {</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> pgridx[j+i*n_calib]=pgridx[j+i*n_calib]*</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> ((nx/32.0)*n_lines*(31*32/2))/pgrid_tot[j]-offset;</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="comment"> sinfo_msg_error("AMo after corr grid[%d,%d]=%g",</span></div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="comment"> i,k,pgridx[k+i*n_calib]);</span></div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> pgrid_tmp_x[j+i*n_calib]=pgrid_tmp_x[j+i*n_calib]*</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> ((nx/32.0)*n_lines*(31*32/2))/pgrid_tot[j]-</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> offset;</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> </div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> }</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> }</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> cpl_vector_delete(lines_pos_tmp);</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> cpl_bivector_delete(grid_tmp);</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> cpl_vector_delete(grid_tot);</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="comment">/* end AMO: to use the offset */</span></div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> </div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> </div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="keywordflow">for</span> (i=0 ; i<n_arcs ; i++) cpl_bivector_delete(arcs_pos[i]) ;</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> cpl_free(arcs_pos) ;</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> cpl_free(lines_pos) ;</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> </div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="comment">/* Apply the fitting */</span></div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="keywordflow">if</span> ((poly2d = sinfo_polynomial_fit_2d_create(grid, values_to_fit,</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> degree, NULL))==NULL) {</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> cpl_msg_error(cpl_func, <span class="stringliteral">"cannot apply the 2d fit"</span>) ;</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> cpl_bivector_delete(grid) ;</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> cpl_vector_delete(values_to_fit) ;</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> cpl_apertures_delete(*arcs) ;</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> }</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> </div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="comment">/* Free and return */</span></div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> cpl_bivector_delete(grid) ;</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> cpl_vector_delete(values_to_fit) ;</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="keywordflow">return</span> poly2d ;</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> }</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> </div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> </div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> </div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="keyword">static</span> cpl_apertures * sinfo_distortion_detect_arcs_new(</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> cpl_image * im,</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> cpl_image ** label_im,</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <span class="keywordtype">int</span> arc_sat,</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> <span class="keywordtype">int</span> max_arc_width,</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> <span class="keywordtype">double</span> kappa,</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> <span class="keywordtype">int</span> xmin,</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="keywordtype">int</span> ymin,</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> <span class="keywordtype">int</span> xmax,</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> <span class="keywordtype">int</span> ymax,</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="keywordtype">double</span> arcs_min_arclen_factor,</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="keywordtype">int</span> arcs_window_size)</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> {</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> cpl_image * filt_im ;</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> cpl_matrix * filter ;</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> cpl_image * collapsed ;</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> cpl_mask * bin_im ;</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="keywordtype">double</span> threshold, fillval, median_val, sigma ;</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> <span class="keywordtype">int</span> min_arclen = 0 ;</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> cpl_apertures * det ;</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> cpl_size nobj ;</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="keywordtype">int</span> ngoodpix ;</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <span class="keywordtype">int</span> ny ;</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> </div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> ny = cpl_image_get_size_y(im) ;</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> <span class="comment">/* Default values for output parameters */</span></div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> *label_im = NULL ;</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> </div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <span class="comment">/* Clear zones to be ignored (to avoid false detections) */</span></div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> median_val = cpl_image_get_median_dev(im, &sigma) ;</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> fillval = median_val-sigma/2.0 ;</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> <span class="keywordflow">if</span> (sinfo_distortion_fill_badzones(im, xmin, ymin, xmax, ymax,</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> fillval) == -1) {</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> cpl_msg_error(cpl_func, <span class="stringliteral">"cannot fill bad zones"</span>) ;</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> }</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> <span class="comment">/* Median vertical filter */</span></div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> filter = cpl_matrix_new(3, 1) ;</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> cpl_matrix_fill(filter, 1.0) ;</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="comment">/* filt_im = cpl_image_filter_median(im, filter) ; */</span></div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> filt_im = cpl_image_duplicate(im) ;</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> cpl_matrix_delete(filter) ;</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> </div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> <span class="comment">/* Subtract a low-pass */</span></div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="comment">/* AMO: suppressed as may remove arcs */</span></div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <span class="keywordflow">if</span> (sinfo_distortion_sub_hor_lowpass(filt_im, arcs_window_size) == -1) {</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> cpl_image_delete(filt_im) ;</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> }</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> <span class="comment">//cpl_image_save(filt_im,"out_filt_im_lp.fits",CPL_BPP_IEEE_FLOAT,</span></div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="comment">// NULL,CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> </div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <span class="comment">/* Get relevant stats for thresholding */</span></div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> median_val = cpl_image_get_median_dev(filt_im, &sigma) ;</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> </div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="comment">/* Correct median_val and sigma if necessary */</span></div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <span class="keywordflow">if</span> (median_val < TRESH_MEDIAN_MIN) median_val = TRESH_MEDIAN_MIN ;</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="keywordflow">if</span> (sigma > TRESH_SIGMA_MAX) sigma = TRESH_SIGMA_MAX ;</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> </div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> <span class="comment">/* Set the threshold */</span></div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> threshold = median_val + sigma * kappa ;</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> </div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> <span class="comment">/* Collapse the image */</span></div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> collapsed = cpl_image_collapse_median_create(filt_im, 0, 0, 0) ;</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> </div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> <span class="comment">/* Threshold to keep only the arcs - use of the collapsed image */</span></div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="keywordflow">if</span> (sinfo_distortion_threshold1d(filt_im, median_val,</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> collapsed, 0.0)==-1) {</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> cpl_msg_error(cpl_func, <span class="stringliteral">"cannot threshold the filtered image"</span>) ;</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> cpl_image_delete(filt_im) ;</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> cpl_image_delete(collapsed) ;</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> }</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> cpl_image_delete(collapsed) ;</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> </div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="comment">/* Binarize the image */</span></div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> bin_im = cpl_mask_threshold_image_create(filt_im, threshold,</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> SINFO_DBL_MAX);</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> cpl_image_delete(filt_im) ;</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> <span class="keywordflow">if</span> (bin_im == NULL) {</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> cpl_msg_error(cpl_func, <span class="stringliteral">"cannot binarise the image"</span>) ;</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> }</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> </div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> <span class="comment">/* Test if there are enough good pixels */</span></div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> ngoodpix = cpl_mask_count(bin_im) ;</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="keywordflow">if</span> (ngoodpix < ARC_MINGOODPIX) {</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Too few (%d) white pixels"</span>, ngoodpix) ;</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> cpl_mask_delete(bin_im) ;</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> }</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> </div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="comment">/* Apply a morphological closing to clean the isolated pixels */</span></div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> filter = cpl_matrix_new(3, 3) ;</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> cpl_matrix_fill(filter, 1.0) ;</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> cpl_mask_closing(bin_im, filter) ;</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> cpl_matrix_delete(filter) ;</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> </div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> <span class="comment">/* Labelize pixel map to a label image */</span></div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> *label_im = cpl_image_labelise_mask_create(bin_im, &nobj) ;</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> cpl_mask_delete(bin_im) ;</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> <span class="comment">//cpl_image_save(*label_im,"out_label_im.fits",CPL_BPP_IEEE_FLOAT,</span></div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> <span class="comment">// NULL,CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> </div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="comment">/* Compute statistics on objects */</span></div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="keywordflow">if</span> ((det = cpl_apertures_new_from_image(im, *label_im)) == NULL) {</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot compute arcs stats"</span>) ;</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> cpl_image_delete(*label_im) ;</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> *label_im = NULL ;</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> }</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> <span class="comment">/* Set min_arclen */</span></div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> min_arclen = (int)(ny /arcs_min_arclen_factor) ;</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> <span class="comment">//cpl_image_save(im,"out_im.fits",CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> </div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> <span class="comment">/* Purge non-relevant arcs */</span></div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> <span class="comment">/* cpl_apertures_dump(det,stdout); */</span></div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> <span class="keywordflow">if</span> (sinfo_distortion_purge_arcs(im, &det, label_im, min_arclen,</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> max_arc_width, arc_sat) == -1) {</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Cannot purge the arcs"</span>) ;</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> cpl_image_delete(*label_im) ;</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> *label_im = NULL ;</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> cpl_apertures_delete(det) ;</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> }</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <span class="comment">/* cpl_apertures_dump(det,stdout); */</span></div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> <span class="keywordflow">if</span> (cpl_apertures_get_size(det) < ARC_MINNBARCS) {</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> cpl_msg_error(cpl_func, <span class="stringliteral">"Not enough valid arcs (%"</span> </div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> CPL_SIZE_FORMAT <span class="stringliteral">" < %d)"</span>,</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> cpl_apertures_get_size(det), ARC_MINNBARCS) ;</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> cpl_image_delete(*label_im) ;</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> *label_im = NULL ;</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> cpl_apertures_delete(det) ;</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> }</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> </div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <span class="keywordflow">return</span> det ;</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> }</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> </div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> </div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> </div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> cpl_polynomial * sinfo_distortion_estimate(</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> <span class="keyword">const</span> cpl_image * org,</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <span class="keywordtype">int</span> xmin,</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> <span class="keywordtype">int</span> ymin,</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> <span class="keywordtype">int</span> xmax,</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> <span class="keywordtype">int</span> ymax,</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> <span class="keywordtype">int</span> auto_ramp_sub,</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> <span class="keywordtype">int</span> arc_sat,</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> <span class="keywordtype">int</span> max_arc_width,</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> <span class="keywordtype">int</span> degree,</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> <span class="keywordtype">double</span> offset,</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> cpl_apertures ** arcs)</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> {</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * fctid = <span class="stringliteral">"sinfo_distortion_estimate"</span> ;</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> cpl_image * local_im ;</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> cpl_image * label_image ;</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> <span class="keywordtype">double</span> rightmost, leftmost ;</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> cpl_bivector ** arcs_pos ;</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> <span class="keywordtype">double</span> * parc_posx ;</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> <span class="keywordtype">double</span> * parc_posy ;</div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> <span class="keywordtype">double</span> * lines_pos ;</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> cpl_bivector * grid ;</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> <span class="keywordtype">double</span> * pgridx ;</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> <span class="keywordtype">double</span> * pgridy ;</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> cpl_vector * values_to_fit ;</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> <span class="keywordtype">double</span> * pvalues_to_fit ;</div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> <span class="keywordtype">int</span> min_arc_range ;</div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> <span class="keywordtype">int</span> n_calib ;</div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> <span class="keywordtype">int</span> n_arcs ;</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> cpl_polynomial * poly2d ;</div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> <span class="keywordtype">int</span> nx ;</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> <span class="keywordtype">int</span> i, j ;</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> </div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> <span class="comment">/* AMO added to use offset */</span></div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> cpl_vector * lines_pos_tmp ;</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> cpl_bivector * grid_tmp ;</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> <span class="keywordtype">int</span> n_lines=0;</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> cpl_vector* grid_tot=0;</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> <span class="keywordtype">double</span>* pgrid_tmp_x=NULL;</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> <span class="keywordtype">double</span>* pgrid_tmp_y=NULL;</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> <span class="keywordtype">double</span>* pgrid_tot=NULL;</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> <span class="keywordtype">double</span>* plines_pos_tmp=NULL;</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> </div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> <span class="comment">/* Check entries */</span></div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> <span class="keywordflow">if</span> (org == NULL) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> </div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> <span class="comment">/* Initialise */</span></div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> n_calib = ARC_NBSAMPLES ;</div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> nx = cpl_image_get_size_x(org) ;</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> </div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> <span class="keywordflow">if</span> (auto_ramp_sub) {</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> local_im = sinfo_distortion_remove_ramp(org) ;</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> <span class="comment">/* Local copy of input image */</span></div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> local_im = cpl_image_duplicate(org) ;</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> }</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> <span class="keywordflow">if</span> (local_im == NULL) {</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> cpl_msg_error(fctid, <span class="stringliteral">"Cannot clean the image"</span>) ;</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> }</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> </div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> <span class="comment">/* Detect the arcs in the input image */</span></div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> cpl_msg_info(fctid, <span class="stringliteral">"Detect arcs"</span>) ;</div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> <span class="keywordflow">if</span> ((*arcs = sinfo_distortion_detect_arcs(local_im,</div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> &label_image,</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> arc_sat, max_arc_width,</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> xmin, ymin, xmax, ymax)) == NULL) {</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> cpl_image_delete(local_im) ;</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> cpl_msg_error(fctid, <span class="stringliteral">"Cannot detect the arcs"</span>) ;</div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> }</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> n_arcs = cpl_apertures_get_size(*arcs) ;</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> cpl_msg_info(fctid, <span class="stringliteral">"%d detected arcs"</span>, n_arcs) ;</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> </div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> <span class="comment">/* Check that the arcs are not concentrated in the same zone */</span></div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> rightmost = leftmost = cpl_apertures_get_pos_x(*arcs, 1) ;</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> <span class="keywordflow">for</span> (i=1 ; i<n_arcs ; i++) {</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> <span class="keywordflow">if</span> (cpl_apertures_get_pos_x(*arcs, i+1) < leftmost)</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> leftmost = cpl_apertures_get_pos_x(*arcs, i+1) ;</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> <span class="keywordflow">if</span> (cpl_apertures_get_pos_x(*arcs, i+1) > rightmost)</div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> rightmost = cpl_apertures_get_pos_x(*arcs, i+1) ;</div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> }</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> min_arc_range = (int)(nx / ARC_RANGE_FACT) ;</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> <span class="keywordflow">if</span> ((<span class="keywordtype">int</span>)(rightmost-leftmost) < min_arc_range) {</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> cpl_msg_error(fctid, <span class="stringliteral">"too narrow range (%g-%g)<%d"</span>,</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> rightmost, leftmost, min_arc_range) ;</div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> cpl_apertures_delete(*arcs) ;</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> cpl_image_delete(local_im) ;</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> cpl_image_delete(label_image) ;</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> }</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> </div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> <span class="comment">/* Create a 2-D deformation grid with detected arcs */</span></div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> cpl_msg_info(fctid, <span class="stringliteral">"Create deformation grid"</span>) ;</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> lines_pos = cpl_malloc(n_arcs * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> <span class="keywordflow">if</span> ((arcs_pos = sinfo_distortion_get_arc_positions(local_im,</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> label_image, *arcs, n_calib, &lines_pos))==NULL){</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> cpl_msg_error(fctid, <span class="stringliteral">"cannot get arcs positions"</span>) ;</div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> cpl_apertures_delete(*arcs) ;</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> cpl_image_delete(local_im) ;</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> cpl_free(lines_pos) ;</div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> cpl_image_delete(label_image) ;</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> }</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> cpl_image_delete(label_image) ;</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> cpl_image_delete(local_im) ;</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> </div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> <span class="comment">/* Prepare the fitting */</span></div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> lines_pos_tmp=cpl_vector_new(n_arcs);</div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> plines_pos_tmp=cpl_vector_get_data(lines_pos_tmp);</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> </div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> cpl_msg_info(fctid, <span class="stringliteral">"Fit the 2d polynomial"</span>) ;</div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> grid = cpl_bivector_new(n_arcs * n_calib) ;</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> pgridx = cpl_bivector_get_x_data(grid) ;</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> pgridy = cpl_bivector_get_y_data(grid) ;</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> values_to_fit = cpl_vector_new(n_arcs * n_calib) ;</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> pvalues_to_fit = cpl_vector_get_data(values_to_fit) ;</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> <span class="keywordflow">for</span> (i=0 ; i<n_arcs ; i++) {</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> parc_posx = cpl_bivector_get_x_data(arcs_pos[i]) ;</div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> parc_posy = cpl_bivector_get_y_data(arcs_pos[i]) ;</div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> <span class="keywordflow">for</span> (j=0 ; j<n_calib ; j++) {</div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> plines_pos_tmp[i]=lines_pos[i] ;</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> pgridx[j+i*n_calib] = lines_pos[i] ;</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> pgridy[j+i*n_calib] = parc_posy[j] ;</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> pvalues_to_fit[j+i*n_calib] = parc_posx[j];</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> </div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> <span class="comment"> sinfo_msg("pgridx=%g pgridy=%g pvalues=%g",</span></div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> <span class="comment"> pgridx[j+i*n_calib],pgridy[j+i*n_calib],pvalues_to_fit[j+i*n_calib]);</span></div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> }</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> }</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> </div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> </div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> <span class="comment">/* AMO new to use offset */</span></div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> n_lines= n_arcs/32.0;</div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> <span class="keywordflow">if</span>(n_lines < 1) {</div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> n_lines=1;</div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> }</div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> cpl_vector_sort(lines_pos_tmp,1);</div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> plines_pos_tmp=cpl_vector_get_data(lines_pos_tmp);</div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> </div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> grid_tmp=cpl_bivector_duplicate(grid);</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> grid_tot=cpl_vector_new(n_calib);</div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> pgrid_tmp_x = cpl_bivector_get_x_data(grid_tmp) ;</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> pgrid_tmp_y = cpl_bivector_get_y_data(grid_tmp) ;</div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> pgrid_tot = cpl_vector_get_data(grid_tot);</div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> <span class="keywordflow">for</span>(j=0;j<n_calib;j++) {</div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> pgrid_tot[j]=0;</div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> <span class="keywordflow">for</span>(i=n_lines ;i<n_arcs;i=i+n_lines)</div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> {</div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> <span class="keywordflow">for</span>(k=0;k<n_lines;k++) {</div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> pgrid_tot[j] += (plines_pos_tmp[i+k]-</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> plines_pos_tmp[k]);</div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> <span class="comment"> sinfo_msg("diff=%g",(plines_pos_tmp[i+k]-</span></div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> <span class="comment"> plines_pos_tmp[k]));</span></div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> }</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> }</div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> <span class="comment"> sinfo_msg("j=%d pgrid_tot=%g",j,pgrid_tot[j]);</span></div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> }</div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> </div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> <span class="keywordflow">for</span>(j=0;j<n_calib;j++) {</div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> <span class="keywordflow">for</span> (i=0 ; i<n_arcs ; i++) {</div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> pgridx[j+i*n_calib]=pgridx[j+i*n_calib]*</div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> ((nx/32.0)*n_lines*(31*32/2))/pgrid_tot[j]-offset;</div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> <span class="comment"> sinfo_msg_error("AMo after corr grid[%d,%d]=%g",</span></div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> <span class="comment"> i,k,pgridx[k+i*n_calib]);</span></div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> pgrid_tmp_x[j+i*n_calib]=pgrid_tmp_x[j+i*n_calib]*</div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> ((nx/32.0)*n_lines*(31*32/2))/pgrid_tot[j]-</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> offset;</div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> </div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> }</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> }</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> <span class="comment">/* end AMO: to use the offset */</span></div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> </div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> </div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> <span class="keywordflow">for</span> (i=0 ; i<n_arcs ; i++) cpl_bivector_delete(arcs_pos[i]) ;</div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> cpl_free(arcs_pos) ;</div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> cpl_free(lines_pos) ;</div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> </div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> <span class="comment">/* Apply the fitting */</span></div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> <span class="keywordflow">if</span> ((poly2d = sinfo_polynomial_fit_2d_create(grid, values_to_fit,</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> degree, NULL))==NULL) {</div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> cpl_msg_error(fctid, <span class="stringliteral">"cannot apply the 2d fit"</span>) ;</div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> cpl_bivector_delete(grid) ;</div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> cpl_vector_delete(values_to_fit) ;</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> cpl_apertures_delete(*arcs) ;</div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> }</div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> </div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> <span class="comment">/* Free and return */</span></div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> cpl_bivector_delete(grid) ;</div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> cpl_vector_delete(values_to_fit) ;</div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> <span class="keywordflow">return</span> poly2d ;</div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> }</div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> </div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> <span class="keyword">static</span> cpl_apertures * sinfo_distortion_detect_arcs(</div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> cpl_image * im,</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> cpl_image ** label_im,</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> <span class="keywordtype">int</span> arc_sat,</div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> <span class="keywordtype">int</span> max_arc_width,</div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> <span class="keywordtype">int</span> xmin,</div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> <span class="keywordtype">int</span> ymin,</div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> <span class="keywordtype">int</span> xmax,</div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> <span class="keywordtype">int</span> ymax)</div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> {</div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * fctid = <span class="stringliteral">"sinfo_distortion_detect_arcs"</span> ;</div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> cpl_image * filt_im ;</div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> cpl_matrix * filter ;</div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> cpl_image * collapsed ;</div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> cpl_mask * bin_im ;</div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> <span class="keywordtype">double</span> threshold, fillval, median_val, sigma ;</div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> <span class="keywordtype">int</span> min_arclen = 0 ;</div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> cpl_apertures * det ;</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> cpl_size nobj ;</div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> <span class="keywordtype">int</span> ngoodpix ;</div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> <span class="keywordtype">int</span> ny ;</div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> </div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> ny = cpl_image_get_size_y(im) ;</div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> </div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> <span class="comment">/* Default values for output parameters */</span></div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> *label_im = NULL ;</div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> </div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> <span class="comment">/* Clear zones to be ignored (to avoid false detections) */</span></div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> median_val = cpl_image_get_median_dev(im, &sigma) ;</div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> fillval = median_val-sigma/2.0 ;</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> <span class="keywordflow">if</span> (sinfo_distortion_fill_badzones(im, xmin, ymin, xmax, ymax,</div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> fillval) == -1) {</div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> cpl_msg_error(fctid, <span class="stringliteral">"cannot fill bad zones"</span>) ;</div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> }</div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> </div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> <span class="comment">/* Median vertical filter */</span></div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> filter = cpl_matrix_new(3, 1) ;</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> cpl_matrix_fill(filter, 1.0) ;</div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> <span class="comment">/* filt_im = cpl_image_filter_median(im, filter) ; */</span></div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> filt_im = cpl_image_duplicate(im) ;</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> cpl_matrix_delete(filter) ;</div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> </div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> <span class="comment">/* Subtract a low-pass */</span></div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> <span class="keywordflow">if</span> (sinfo_distortion_sub_hor_lowpass(filt_im, ARC_WINDOWSIZE) == -1) {</div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> cpl_image_delete(filt_im) ;</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> }</div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> </div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> <span class="comment">/* Get relevant stats for thresholding */</span></div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> median_val = cpl_image_get_median_dev(filt_im, &sigma) ;</div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> </div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> <span class="comment">/* Correct median_val and sigma if necessary */</span></div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> <span class="keywordflow">if</span> (median_val < TRESH_MEDIAN_MIN) median_val = TRESH_MEDIAN_MIN ;</div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> <span class="keywordflow">if</span> (sigma > TRESH_SIGMA_MAX) sigma = TRESH_SIGMA_MAX ;</div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> </div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> <span class="comment">/* Set the threshold */</span></div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> threshold = median_val + sigma * ARC_THRESHFACT ;</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> </div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> <span class="comment">/* Collapse the image */</span></div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> collapsed = cpl_image_collapse_median_create(filt_im, 0, 0, 0) ;</div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> </div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> <span class="comment">/* Threshold to keep only the arcs - use of the collapsed image */</span></div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> <span class="keywordflow">if</span> (sinfo_distortion_threshold1d(filt_im, median_val,</div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> collapsed, 0.0)==-1) {</div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> cpl_msg_error(fctid, <span class="stringliteral">"cannot threshold the filtered image"</span>) ;</div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> cpl_image_delete(filt_im) ;</div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> cpl_image_delete(collapsed) ;</div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> }</div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> cpl_image_delete(collapsed) ;</div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> </div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> <span class="comment">/* Binarize the image */</span></div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> bin_im = cpl_mask_threshold_image_create(filt_im, threshold,</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> SINFO_DBL_MAX);</div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> cpl_image_delete(filt_im) ;</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> <span class="keywordflow">if</span> (bin_im == NULL) {</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> cpl_msg_error(fctid, <span class="stringliteral">"cannot binarise the image"</span>) ;</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> }</div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> </div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> <span class="comment">/* Test if there are enough good pixels */</span></div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> ngoodpix = cpl_mask_count(bin_im) ;</div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> <span class="keywordflow">if</span> (ngoodpix < ARC_MINGOODPIX) {</div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> cpl_msg_error(fctid, <span class="stringliteral">"Too few (%d) white pixels"</span>, ngoodpix) ;</div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> cpl_mask_delete(bin_im) ;</div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> }</div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> </div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> <span class="comment">/* Apply a morphological closing to clean the isolated pixels */</span></div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> filter = cpl_matrix_new(3, 3) ;</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> cpl_matrix_fill(filter, 1.0) ;</div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> cpl_mask_closing(bin_im, filter) ;</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> cpl_matrix_delete(filter) ;</div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> </div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> <span class="comment">/* Labelize pixel map to a label image */</span></div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> *label_im = cpl_image_labelise_mask_create(bin_im, &nobj) ;</div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> cpl_mask_delete(bin_im) ;</div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> </div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> <span class="comment">/* Compute statistics on objects */</span></div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> <span class="keywordflow">if</span> ((det = cpl_apertures_new_from_image(im, *label_im)) == NULL) {</div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> cpl_msg_error(fctid, <span class="stringliteral">"Cannot compute arcs stats"</span>) ;</div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> cpl_image_delete(*label_im) ;</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> *label_im = NULL ;</div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> }</div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> </div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> <span class="comment">/* Set min_arclen */</span></div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> min_arclen = (int)(ny / ARC_MINARCLENFACT) ;</div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> </div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> <span class="comment">/* Purge non-relevant arcs */</span></div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> <span class="keywordflow">if</span> (sinfo_distortion_purge_arcs(im, &det, label_im, min_arclen,</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> max_arc_width, arc_sat) == -1) {</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> cpl_msg_error(fctid, <span class="stringliteral">"Cannot purge the arcs"</span>) ;</div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> cpl_image_delete(*label_im) ;</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> *label_im = NULL ;</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> cpl_apertures_delete(det) ;</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> }</div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> <span class="keywordflow">if</span> (cpl_apertures_get_size(det) < ARC_MINNBARCS) {</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> cpl_msg_error(fctid, <span class="stringliteral">"Not enough valid arcs (%"</span> </div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> CPL_SIZE_FORMAT <span class="stringliteral">" < %d)"</span>,</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> cpl_apertures_get_size(det), ARC_MINNBARCS) ;</div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> cpl_image_delete(*label_im) ;</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> *label_im = NULL ;</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> cpl_apertures_delete(det) ;</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> }</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> </div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> <span class="keywordflow">return</span> det ;</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> }</div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> </div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_distortion_fill_badzones(</div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> cpl_image * im,</div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> <span class="keywordtype">int</span> xmin,</div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> <span class="keywordtype">int</span> ymin,</div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> <span class="keywordtype">int</span> xmax,</div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> <span class="keywordtype">int</span> ymax,</div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> <span class="keywordtype">double</span> fillval)</div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> {</div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> <span class="keywordtype">float</span> * pfi ;</div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> <span class="keywordtype">int</span> nx, ny ;</div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> <span class="keywordtype">int</span> i, j ;</div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> </div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> <span class="comment">/* Check entries */</span></div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> <span class="keywordflow">if</span> (im == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> <span class="keywordflow">if</span> (cpl_image_get_type(im) != CPL_TYPE_FLOAT) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> </div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> <span class="comment">/* Get the data */</span></div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> pfi = cpl_image_get_data_float(im) ;</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> nx = cpl_image_get_size_x(im) ;</div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> ny = cpl_image_get_size_y(im) ;</div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> </div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> <span class="comment">/* Fill the zone */</span></div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> <span class="keywordflow">for</span> (i=0 ; i<nx ; i++) {</div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> <span class="keywordflow">for</span> (j=0 ; j<ny ; j++) {</div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> <span class="keywordflow">if</span> ((i<xmin-1) || (i>xmax-1) || (j<ymin-1) || (j>ymax-1)) {</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> pfi[i+j*nx] = (float)fillval ;</div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> }</div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> }</div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> }</div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> }</div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> </div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_distortion_threshold1d(</div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> cpl_image * im,</div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> <span class="keywordtype">double</span> threshold,</div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> cpl_image * im1d,</div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> <span class="keywordtype">double</span> newval)</div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> {</div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> <span class="keywordtype">float</span> * pim ;</div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> <span class="keywordtype">float</span> * pim1d ;</div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> <span class="keywordtype">int</span> nx, ny ;</div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> <span class="keywordtype">int</span> i, j ;</div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> </div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> <span class="comment">/* Check entries */</span></div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> <span class="keywordflow">if</span> (im == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> <span class="keywordflow">if</span> (im1d == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> <span class="keywordflow">if</span> (cpl_image_get_type(im) != CPL_TYPE_FLOAT) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> <span class="keywordflow">if</span> (cpl_image_get_type(im1d) != CPL_TYPE_FLOAT) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> </div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> <span class="comment">/* Get access to the im / im1d data */</span></div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> pim = cpl_image_get_data_float(im) ;</div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> pim1d = cpl_image_get_data_float(im1d) ;</div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> nx = cpl_image_get_size_x(im) ;</div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> ny = cpl_image_get_size_y(im) ;</div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> </div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> <span class="comment">/* Apply the thresholding */</span></div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> <span class="keywordflow">for</span> (i=0 ; i<nx ; i++)</div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> <span class="keywordflow">if</span> (pim1d[i] < threshold) {</div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> <span class="keywordflow">for</span> (j=0 ; j<ny ; j++) pim[i+j*nx] = (<span class="keywordtype">float</span>)newval ;</div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> }</div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> </div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> }</div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> </div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_distortion_sub_hor_lowpass(</div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> cpl_image * im,</div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> <span class="keywordtype">int</span> filt_size)</div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> {</div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> cpl_vector * linehi ;</div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> cpl_vector * linelo ;</div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> cpl_vector * avglinehi ;</div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> cpl_vector * avglinelo ;</div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> <span class="keywordtype">double</span> * pavglinehi ;</div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> <span class="keywordtype">float</span> * pim ;</div>
-<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> <span class="keywordtype">int</span> lopos, hipos, nx, ny ;</div>
-<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span> <span class="keywordtype">int</span> i, j ;</div>
-<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> </div>
-<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> <span class="keywordflow">if</span> (im == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> <span class="keywordflow">if</span> (filt_size <= 0) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> </div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> <span class="comment">/* Initialise */</span></div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> nx = cpl_image_get_size_x(im) ;</div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> ny = cpl_image_get_size_y(im) ;</div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> lopos = (int)(ny/4) ;</div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> hipos = (int)(3*ny/4) ;</div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> </div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> <span class="comment">/* Get the vectors out of the image */</span></div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> <span class="keywordflow">if</span> ((linehi = cpl_vector_new_from_image_row(im, hipos)) == NULL) {</div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> }</div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> <span class="keywordflow">if</span> ((linelo = cpl_vector_new_from_image_row(im, lopos)) == NULL) {</div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> cpl_vector_delete(linehi) ;</div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> }</div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> </div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> <span class="comment">/* Filter the vectors */</span></div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> <span class="keywordflow">if</span> ((avglinehi = cpl_vector_filter_median_create(linehi,</div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> filt_size)) == NULL) {</div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> cpl_vector_delete(linehi) ;</div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> cpl_vector_delete(linelo) ;</div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> }</div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> cpl_vector_delete(linehi) ;</div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> </div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> <span class="keywordflow">if</span> ((avglinelo = cpl_vector_filter_median_create(linelo,</div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> filt_size)) == NULL) {</div>
-<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> cpl_vector_delete(linelo) ;</div>
-<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> cpl_vector_delete(avglinehi) ;</div>
-<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> }</div>
-<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> cpl_vector_delete(linelo) ;</div>
-<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> </div>
-<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> <span class="comment">/* Average the filtered vectors to get the low freq signal */</span></div>
-<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> cpl_vector_add(avglinehi, avglinelo) ;</div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> cpl_vector_delete(avglinelo) ;</div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> cpl_vector_divide_scalar(avglinehi, 2.0) ;</div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> </div>
-<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> <span class="comment">/* Subtract the low frequency signal */</span></div>
-<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> pavglinehi = cpl_vector_get_data(avglinehi) ;</div>
-<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> pim = cpl_image_get_data_float(im) ;</div>
-<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> <span class="keywordflow">for</span> (i=0 ; i<nx ; i++) {</div>
-<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> <span class="keywordflow">for</span> (j=0 ; j<ny ; j++) {</div>
-<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span> pim[i+j*nx] -= pavglinehi[i] ;</div>
-<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span> }</div>
-<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> }</div>
-<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> cpl_vector_delete(avglinehi) ;</div>
-<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> </div>
-<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> }</div>
-<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span> </div>
-<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> </div>
-<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span> </div>
-<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> </div>
-<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> </div>
-<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> </div>
-<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> </div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> </div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_distortion_purge_arcs(</div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> cpl_image * im,</div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> cpl_apertures ** arcs,</div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> cpl_image ** lab_im,</div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> <span class="keywordtype">int</span> min_arclen,</div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> <span class="keywordtype">int</span> max_arcwidth,</div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> <span class="keywordtype">double</span> arc_sat)</div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> {</div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * fctid = <span class="stringliteral">"sinfo_distortion_purge_arcs"</span> ;</div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> <span class="keywordtype">int</span> nb_arcs ;</div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> <span class="keywordtype">int</span> * selection ;</div>
-<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> <span class="keywordtype">int</span> arclen, arcwidth, edge ;</div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> <span class="keywordtype">double</span> mean ;</div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> <span class="keywordtype">int</span> * plabim ;</div>
-<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> cpl_mask * bin_im ;</div>
-<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> <span class="keywordtype">int</span> nx, ny ;</div>
-<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> <span class="keywordtype">int</span> i, j ;</div>
-<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> </div>
-<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span> <span class="comment">/* Check entries */</span></div>
-<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> <span class="keywordflow">if</span> (arcs == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> <span class="keywordflow">if</span> (*arcs == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> <span class="keywordflow">if</span> (*lab_im == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> </div>
-<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> <span class="comment">/* Get number of arcs */</span></div>
-<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> nb_arcs = cpl_apertures_get_size(*arcs) ;</div>
-<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> nx = cpl_image_get_size_x(*lab_im) ;</div>
-<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> ny = cpl_image_get_size_y(*lab_im) ;</div>
-<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> </div>
-<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span> <span class="comment">/* Allocate selection array */</span></div>
-<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> selection = cpl_malloc(nb_arcs * <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)) ;</div>
-<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span> <span class="comment">/* Loop on the different arcs candidates */</span></div>
-<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> <span class="comment">/* sinfo_msg("min_arclen=%d max_arcwidth=%d",min_arclen,max_arcwidth); */</span></div>
-<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span> <span class="keywordflow">for</span> (i=0 ; i<nb_arcs ; i++) {</div>
-<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span> arclen = cpl_apertures_get_top(*arcs, i+1) -</div>
-<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> cpl_apertures_get_bottom(*arcs, i+1) + 1 ;</div>
-<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span> arcwidth = cpl_apertures_get_right(*arcs, i+1) -</div>
-<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span> cpl_apertures_get_left(*arcs, i+1) + 1 ;</div>
-<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span> edge = cpl_apertures_get_left_y(*arcs, i+1) ;</div>
-<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> mean = cpl_apertures_get_mean(*arcs, i+1) ;</div>
-<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span> </div>
-<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span> <span class="comment">/* Test if the current object is a valid arc */</span></div>
-<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> </div>
-<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span> <span class="keywordflow">if</span> (</div>
-<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span> (arclen>min_arclen) &&</div>
-<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span> (arcwidth<max_arcwidth) &&</div>
-<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span> (edge>0) &&</div>
-<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span> (mean < arc_sat)) {</div>
-<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span> <span class="comment"> sinfo_msg_warning("Take Pos=%5.4d len=%d width=%d edge=%d mean=%f ",</span></div>
-<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span> <span class="comment"> (cpl_apertures_get_right(*arcs, i+1)+cpl_apertures_get_left(*arcs, i+1))/2,</span></div>
-<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> <span class="comment"> arclen,arcwidth,edge,mean);</span></div>
-<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span> selection[i] = 1 ;</div>
-<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span> <span class="comment"> sinfo_msg_warning("Rej Pos=%5.4d len=%d width=%d edge=%d mean=%f i=%d",</span></div>
-<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span> <span class="comment"> (cpl_apertures_get_right(*arcs, i+1)+</span></div>
-<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span> <span class="comment"> cpl_apertures_get_left(*arcs, i+1))/2,arclen,arcwidth,edge,mean,i);</span></div>
-<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span> selection[i] = 0 ;</div>
-<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span> }</div>
-<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span> }</div>
-<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span> </div>
-<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span> <span class="comment">/* Update the labelised image by erasing non valid arcs */</span></div>
-<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span> <span class="keywordflow">for</span> (i=0 ; i<nb_arcs ; i++) {</div>
-<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span> <span class="keywordflow">if</span> (selection[i] == 0) {</div>
-<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> plabim = cpl_image_get_data_int(*lab_im) ;</div>
-<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> <span class="keywordflow">for</span> (j=0 ; j<nx*ny ; j++) {</div>
-<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> <span class="keywordflow">if</span> (plabim[j] == i+1) plabim[j] = 0 ;</div>
-<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> }</div>
-<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> }</div>
-<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> }</div>
-<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> cpl_free(selection) ;</div>
-<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> </div>
-<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> <span class="comment">/* Reset the labels to have consecutive ones */</span></div>
-<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> bin_im = cpl_mask_threshold_image_create(*lab_im, 0.5, SINFO_DBL_MAX) ;</div>
-<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> cpl_image_delete(*lab_im) ;</div>
-<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> *lab_im = cpl_image_labelise_mask_create(bin_im, NULL) ;</div>
-<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> cpl_mask_delete(bin_im) ;</div>
-<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> </div>
-<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> <span class="comment">/* Purge the bad arcs */</span></div>
-<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> cpl_apertures_delete(*arcs) ;</div>
-<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> *arcs = cpl_apertures_new_from_image(im, *lab_im) ;</div>
-<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> </div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> <span class="comment">/* Check if there are some valid arcs */</span></div>
-<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> <span class="keywordflow">if</span> (cpl_apertures_get_size(*arcs) <= 0) {</div>
-<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> cpl_msg_error(fctid, <span class="stringliteral">"No valid arc found"</span>) ;</div>
-<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> }</div>
-<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> }</div>
-<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span> </div>
-<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> <span class="keyword">static</span> cpl_bivector **</div>
-<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span> sinfo_distortion_get_arc_positions(</div>
-<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span> cpl_image * in,</div>
-<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> cpl_image * label_im,</div>
-<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> cpl_apertures * det,</div>
-<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span> <span class="keywordtype">int</span> nb_samples,</div>
-<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span> <span class="keywordtype">double</span> ** lines_pos)</div>
-<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span> {</div>
-<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * fctid = <span class="stringliteral">"sinfo_distortion_get_arc_positions"</span> ;</div>
-<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> <span class="keywordtype">int</span> n_arcs ;</div>
-<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span> cpl_image * filt_img ;</div>
-<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span> cpl_matrix * kernel ;</div>
-<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span> cpl_bivector ** pos ;</div>
-<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> <span class="keywordtype">double</span> * biv_x ;</div>
-<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span> <span class="keywordtype">double</span> * biv_y ;</div>
-<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span> <span class="keywordtype">double</span> x_finepos ;</div>
-<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span> <span class="keywordtype">int</span> * plabel_im ;</div>
-<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span> <span class="keywordtype">int</span> * arcs_samples_y ;</div>
-<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> <span class="keywordtype">int</span> * computed ;</div>
-<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> <span class="keywordtype">double</span> arclen ;</div>
-<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span> <span class="keywordtype">int</span> use_this_arc ;</div>
-<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> <span class="keywordtype">int</span> obj ;</div>
-<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span> <span class="keywordtype">int</span> nx, ny ;</div>
-<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> <span class="keywordtype">int</span> i, j, k ;</div>
-<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span> <span class="preprocessor">#if defined CPL_VERSION_CODE && CPL_VERSION_CODE >= CPL_VERSION(4, 8, 0)</span></div>
-<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span> <span class="preprocessor"></span> cpl_mask* mask=NULL;</div>
-<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> <span class="comment">/* Check entries */</span></div>
-<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span> </div>
-<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span> <span class="comment">/* Initialise */</span></div>
-<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> n_arcs = cpl_apertures_get_size(det) ;</div>
-<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> nx = cpl_image_get_size_x(label_im) ;</div>
-<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span> ny = cpl_image_get_size_y(label_im) ;</div>
-<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span> </div>
-<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> <span class="comment">/* Allocate positions (pos. of n_arcs*nb_samples pts on the arcs) */</span></div>
-<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span> pos = cpl_calloc(n_arcs, <span class="keyword">sizeof</span>(cpl_bivector*)) ;</div>
-<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span> <span class="keywordflow">for</span> (i=0 ; i<n_arcs ; i++) pos[i] = cpl_bivector_new(nb_samples) ;</div>
-<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span> </div>
-<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span> <span class="comment">/* Median filter on input image */</span></div>
-<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span> kernel = cpl_matrix_new(3, 3) ;</div>
-<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span> cpl_matrix_fill(kernel, 1.0) ;</div>
-<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span> <span class="preprocessor">#if defined CPL_VERSION_CODE && CPL_VERSION_CODE >= CPL_VERSION(4, 8, 0)</span></div>
-<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span> <span class="preprocessor"></span> filt_img=cpl_image_duplicate(in);</div>
-<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span> mask=cpl_mask_new(3,3);</div>
-<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span> cpl_mask_not(mask);</div>
-<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> cpl_image_filter_mask(filt_img,in,mask,CPL_FILTER_MEDIAN,CPL_BORDER_FILTER);</div>
-<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span> cpl_mask_delete(mask);</div>
-<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> <span class="preprocessor"></span> filt_img = cpl_image_filter_median(in, kernel) ;</div>
-<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span> <span class="preprocessor"></span> cpl_matrix_delete(kernel) ;</div>
-<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span> </div>
-<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span> <span class="comment">/* Measured Arcs coordinates along curvature */</span></div>
-<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span> arcs_samples_y = cpl_malloc(n_arcs * nb_samples * <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)) ;</div>
-<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span> computed = cpl_calloc(n_arcs*nb_samples, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)) ;</div>
-<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span> </div>
-<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span> <span class="comment">/* Find out the Y coordinates along the arcs */</span></div>
-<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span> <span class="keywordflow">for</span> (j=0 ; j<n_arcs ; j++) {</div>
-<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span> arclen = cpl_apertures_get_top(det,j+1) -</div>
-<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span> cpl_apertures_get_bottom(det,j+1) + 1 ;</div>
-<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span> <span class="keywordflow">for</span> (i=0 ; i<nb_samples ; i++) {</div>
-<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span> arcs_samples_y[i+j*nb_samples] =</div>
-<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span> (int)(cpl_apertures_get_bottom(det, j+1) +</div>
-<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span> (arclen * (i + 0.5)) / (<span class="keywordtype">double</span>)nb_samples) ;</div>
-<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span> }</div>
-<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span> }</div>
-<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span> </div>
-<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span> <span class="comment">/* Find out the X coord. at nb_samples Y positions on all arcs */</span></div>
-<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> plabel_im = cpl_image_get_data_int(label_im) ;</div>
-<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span> <span class="keywordflow">for</span> (i=0 ; i<nx ; i++) {</div>
-<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span> <span class="keywordflow">for</span> (j=0 ; j<ny ; j++) {</div>
-<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> <span class="comment">/* use_this_arc is set to 1 if we are on the arc at a y */</span></div>
-<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span> <span class="comment">/* coordinate where the x coord should be found */</span></div>
-<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> obj = plabel_im[i + j * nx] ;</div>
-<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span> <span class="comment">/* Handle background */</span></div>
-<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span> <span class="keywordflow">if</span> (obj==0) continue ;</div>
-<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span> <span class="comment">/* Decrease by one to index the array from 0 */</span></div>
-<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span> <span class="keywordflow">else</span> obj-- ;</div>
-<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span> </div>
-<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span> use_this_arc = 0 ;</div>
-<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span> <span class="keywordflow">for</span> (k=0 ; k<nb_samples ; k++) {</div>
-<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span> <span class="keywordflow">if</span> (arcs_samples_y[k+obj*nb_samples] == j) {</div>
-<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span> use_this_arc = 1 ;</div>
-<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span> break ;</div>
-<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span> }</div>
-<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span> }</div>
-<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span> <span class="keywordflow">if</span> ((use_this_arc) && (computed[k+obj*nb_samples] == 0)) {</div>
-<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span> <span class="comment">/* Find x coordinate of obj at the Y coord. */</span></div>
-<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span> <span class="keywordflow">if</span> ((x_finepos = sinfo_distortion_fine_pos(filt_img,</div>
-<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span> label_im, i, j)) < 0.0) {</div>
-<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span> cpl_msg_error(fctid, <span class="stringliteral">"cannot find fine arc position"</span>) ;</div>
-<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span> cpl_image_delete(filt_img) ;</div>
-<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span> cpl_free(arcs_samples_y);</div>
-<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span> cpl_free(computed) ;</div>
-<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span> <span class="keywordflow">for</span> (i=0 ; i<n_arcs ; i++) cpl_bivector_delete(pos[i]);</div>
-<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span> cpl_free(pos) ;</div>
-<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span> biv_x = cpl_bivector_get_x_data(pos[obj]) ;</div>
-<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span> biv_y = cpl_bivector_get_y_data(pos[obj]) ;</div>
-<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span> biv_x[k] = x_finepos ;</div>
-<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span> biv_y[k] = j ;</div>
-<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span> (*lines_pos)[obj] = cpl_apertures_get_centroid_x(det,obj+1);</div>
-<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span> computed[k+obj*nb_samples] = 1 ;</div>
-<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span> }</div>
-<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span> }</div>
-<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span> }</div>
-<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span> }</div>
-<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span> </div>
-<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span> <span class="comment">/* Free and return */</span></div>
-<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span> cpl_image_delete(filt_img) ;</div>
-<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span> cpl_free(arcs_samples_y) ;</div>
-<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span> cpl_free(computed) ;</div>
-<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span> <span class="keywordflow">return</span> pos ;</div>
-<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span> }</div>
-<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span> </div>
-<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span> sinfo_distortion_fine_pos(</div>
-<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span> cpl_image * im,</div>
-<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span> cpl_image * label_im,</div>
-<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span> <span class="keywordtype">int</span> x,</div>
-<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span> <span class="keywordtype">int</span> y)</div>
-<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span> {</div>
-<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span> <span class="keywordtype">float</span> * pim ;</div>
-<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span> <span class="keywordtype">int</span> * plabel_im ;</div>
-<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span> <span class="keywordtype">int</span> objnum ;</div>
-<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span> <span class="keywordtype">int</span> curr_obj ;</div>
-<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span> <span class="keywordtype">int</span> start_pos ;</div>
-<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span> <span class="keywordtype">double</span> grav_c ;</div>
-<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span> <span class="keywordtype">double</span> sum ;</div>
-<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span> <span class="keywordtype">double</span> max ;</div>
-<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span> <span class="keywordtype">double</span> val ;</div>
-<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span> <span class="keywordtype">int</span> maxpos ;</div>
-<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span> <span class="keywordtype">int</span> im_extrem ;</div>
-<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span> <span class="keywordtype">double</span> arc_pos ;</div>
-<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span> <span class="keywordtype">int</span> nx ;</div>
-<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span> </div>
-<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span> <span class="comment">/* Initialize */</span></div>
-<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span> nx = cpl_image_get_size_x(im) ;</div>
-<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span> grav_c = 0.0 ;</div>
-<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span> sum = 0.0 ;</div>
-<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span> start_pos = x ;</div>
-<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span> maxpos = start_pos ;</div>
-<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span> pim = cpl_image_get_data_float(im) ;</div>
-<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span> max = (double)pim[start_pos + y * nx] ;</div>
-<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span> plabel_im = cpl_image_get_data_int(label_im) ;</div>
-<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span> objnum = plabel_im[start_pos + y * nx] ;</div>
-<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span> im_extrem = nx ;</div>
-<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span> </div>
-<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span> <span class="comment">/* While we stay in the same object... */</span></div>
-<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span> <span class="keywordflow">do</span> {</div>
-<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span> val = (double)pim[start_pos + y * nx] ;</div>
-<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span> <span class="keywordflow">if</span> (start_pos == 0) grav_c = 0.0 ;</div>
-<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span> <span class="keywordflow">else</span> grav_c += start_pos * val ;</div>
-<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span> sum += val ;</div>
-<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span> <span class="keywordflow">if</span> (val > max) {</div>
-<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span> max = val ;</div>
-<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span> maxpos = start_pos ;</div>
-<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span> }</div>
-<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span> </div>
-<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span> <span class="comment">/* Next point */</span></div>
-<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span> start_pos++ ;</div>
-<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span> </div>
-<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span> curr_obj = plabel_im[start_pos + y * nx] ;</div>
-<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span> } <span class="keywordflow">while</span> (curr_obj == objnum) ;</div>
-<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span> </div>
-<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span> <span class="comment">/* Returned position is the gravity center or the max in bad cases */</span></div>
-<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span> <span class="keywordflow">if</span> ((fabs(grav_c) < 1.0e-40) || (fabs(sum) < 1.0e-40)) {</div>
-<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span> arc_pos = maxpos ;</div>
-<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span> arc_pos = grav_c / sum ;</div>
-<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span> <span class="keywordflow">if</span> (fabs(arc_pos) >= start_pos) arc_pos = maxpos ;</div>
-<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span> }</div>
-<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span> </div>
-<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span> <span class="keywordflow">return</span> arc_pos ;</div>
-<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span> }</div>
-<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span> </div>
-<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span> <span class="preprocessor">#define IS_NB_TESTPOINTS 8</span></div>
-<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span> <span class="preprocessor"></span><span class="preprocessor">#define IS_MIN_SLOPE 0.01</span></div>
-<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span> <span class="preprocessor"></span><span class="preprocessor">#define IS_MAX_SLOPE_DIF 0.075</span></div>
-<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span> <span class="preprocessor"></span><span class="preprocessor">#define IS_MAX_FIT_EDGE_DIF 0.05</span></div>
-<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span> <span class="preprocessor"></span><span class="preprocessor">#define IS_MIN_RAMP 10.0</span></div>
-<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span> <span class="preprocessor"></span><span class="preprocessor">#define IS_MAX_MNERR 13.0</span></div>
-<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span> <span class="preprocessor"></span><span class="preprocessor">#define IS_MAX_MNERR_DIF 8.0</span></div>
-<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span> <span class="preprocessor"></span><span class="preprocessor">#define IS_MAX_INTER_DIF 20.0</span></div>
-<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span> <span class="preprocessor"></span><span class="preprocessor">#define IS_SKIPZONE 2.5</span></div>
-<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span> <span class="preprocessor"></span><span class="preprocessor">#define SQR(x) ((x)*(x))</span></div>
-<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span> <span class="preprocessor"></span><span class="keyword">static</span> cpl_image * sinfo_distortion_remove_ramp(<span class="keyword">const</span> cpl_image * in)</div>
-<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span> {</div>
-<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * fctid = <span class="stringliteral">"sinfo_distortion_remove_ramp"</span> ;</div>
-<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span> <span class="keywordtype">int</span> ramp_present ;</div>
-<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span> <span class="keywordtype">int</span> nx, ny ;</div>
-<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span> <span class="keywordtype">int</span> y, yhi, ylo;</div>
-<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span> cpl_vector * tmp_vector ;</div>
-<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span> cpl_bivector * testpointlo ;</div>
-<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span> <span class="keywordtype">double</span> * testpointlo_x ;</div>
-<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span> <span class="keywordtype">double</span> * testpointlo_y ;</div>
-<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span> cpl_bivector * testpointhi ;</div>
-<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span> <span class="keywordtype">double</span> * testpointhi_x ;</div>
-<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span> <span class="keywordtype">double</span> * testpointhi_y ;</div>
-<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span> <span class="keywordtype">int</span> spacing;</div>
-<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span> <span class="keywordtype">double</span> rampdif, fitslope;</div>
-<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span> <span class="keywordtype">double</span> * pol_coefhi,</div>
-<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span> * pol_coeflo ;</div>
-<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span> cpl_vector * median ;</div>
-<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span> <span class="keywordtype">double</span> * median_data ;</div>
-<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span> <span class="keywordtype">double</span> medianerrlo, medianerrhi;</div>
-<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span> <span class="keywordtype">double</span> slope ;</div>
-<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span> cpl_image * out ;</div>
-<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span> <span class="keywordtype">float</span> * pout ;</div>
-<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span> <span class="keywordtype">float</span> val ;</div>
-<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span> <span class="keywordtype">int</span> i, j ;</div>
-<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span> </div>
-<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span> <span class="comment">/* Initialise */</span></div>
-<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span> nx = cpl_image_get_size_x(in) ;</div>
-<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span> ny = cpl_image_get_size_y(in) ;</div>
-<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span> </div>
-<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span> <span class="comment">/* Check entries */</span></div>
-<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span> <span class="keywordflow">if</span> (in==NULL) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span> </div>
-<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span> <span class="keywordflow">if</span> (ny<IS_SKIPZONE*IS_NB_TESTPOINTS){</div>
-<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span> cpl_msg_error(fctid, <span class="stringliteral">"image has %d lines, min=%d "</span>,</div>
-<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span> ny, (<span class="keywordtype">int</span>)(IS_SKIPZONE*IS_NB_TESTPOINTS*2));</div>
-<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span> }</div>
-<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span> </div>
-<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span> slope=0.0 ;</div>
-<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span> spacing= ny / (IS_SKIPZONE*IS_NB_TESTPOINTS) ;</div>
-<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span> yhi = (int)(ny/2) ;</div>
-<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span> ylo = yhi - 1 ;</div>
-<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span> <span class="comment">/* Fill the vectors */</span></div>
-<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span> testpointhi = cpl_bivector_new(IS_NB_TESTPOINTS) ;</div>
-<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span> testpointhi_x = cpl_bivector_get_x_data(testpointhi) ;</div>
-<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span> testpointhi_y = cpl_bivector_get_y_data(testpointhi) ;</div>
-<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span> testpointlo = cpl_bivector_new(IS_NB_TESTPOINTS) ;</div>
-<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span> testpointlo_x = cpl_bivector_get_x_data(testpointlo) ;</div>
-<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span> testpointlo_y = cpl_bivector_get_y_data(testpointlo) ;</div>
-<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span> <span class="keywordflow">for</span> (i=0 ; i<IS_NB_TESTPOINTS ; i++) {</div>
-<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span> y = yhi + i * spacing;</div>
-<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span> tmp_vector = cpl_vector_new_from_image_row(in, y+1) ;</div>
-<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span> testpointhi_x[i] = y - ny / 2;</div>
-<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span> testpointhi_y[i] = cpl_vector_get_median_const(tmp_vector) ;</div>
-<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span> cpl_vector_delete(tmp_vector) ;</div>
-<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span> y = ylo - i * spacing;</div>
-<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span> tmp_vector = cpl_vector_new_from_image_row(in, y+1) ;</div>
-<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span> testpointlo_x[IS_NB_TESTPOINTS-i-1] = y ;</div>
-<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span> testpointlo_y[IS_NB_TESTPOINTS-i-1]=</div>
-<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span> cpl_vector_get_median_const(tmp_vector);</div>
-<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span> cpl_vector_delete(tmp_vector) ;</div>
-<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span> }</div>
-<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span> </div>
-<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span> <span class="comment">/* Apply the fit */</span></div>
-<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span> pol_coefhi = <a class="code" href="group__irplib__flat.html#ga3e3e3bd45aef34e38758e1f2528d7c91" title="Fit a slope to a list of points (robust fit).">irplib_flat_fit_slope_robust</a>(testpointhi_x,</div>
-<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span> testpointhi_y, IS_NB_TESTPOINTS) ;</div>
-<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span> pol_coeflo = <a class="code" href="group__irplib__flat.html#ga3e3e3bd45aef34e38758e1f2528d7c91" title="Fit a slope to a list of points (robust fit).">irplib_flat_fit_slope_robust</a>(testpointlo_x,</div>
-<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span> testpointlo_y, IS_NB_TESTPOINTS) ;</div>
-<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span> </div>
-<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span> <span class="comment">/* Compute the errors */</span></div>
-<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span> median = cpl_vector_new(IS_NB_TESTPOINTS) ;</div>
-<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span> median_data = cpl_vector_get_data(median) ;</div>
-<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span> <span class="keywordflow">for</span> (i=0 ; i<IS_NB_TESTPOINTS ; i++) {</div>
-<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span> median_data[i]=SQR(testpointhi_y[i]</div>
-<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span> - pol_coefhi[0] - pol_coefhi[1] * testpointhi_x[i]);</div>
-<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span> }</div>
-<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span> medianerrhi = cpl_vector_get_median_const(median) ;</div>
-<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span> <span class="keywordflow">for</span> (i=0; i<IS_NB_TESTPOINTS; i++) {</div>
-<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span> median_data[i]=SQR(testpointlo_y[i]</div>
-<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span> - pol_coeflo[0] - pol_coeflo[1] * testpointlo_x[i]);</div>
-<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span> }</div>
-<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span> medianerrlo = cpl_vector_get_median_const(median) ;</div>
-<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span> cpl_vector_delete(median) ;</div>
-<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span> rampdif = testpointlo_y[IS_NB_TESTPOINTS-1] - testpointhi_y[0];</div>
-<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span> slope = rampdif / (ny/2.0) ;</div>
-<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span> fitslope = (pol_coefhi[1] + pol_coeflo[1]) / 2.0 ;</div>
-<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span> </div>
-<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span> cpl_bivector_delete(testpointlo);</div>
-<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span> cpl_bivector_delete(testpointhi);</div>
-<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span> </div>
-<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span> <span class="comment">/* Decide if there is a ramp or not */</span></div>
-<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span> <span class="keywordflow">if</span> (fabs(rampdif)<IS_MIN_RAMP ||</div>
-<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span> fabs(pol_coefhi[1]) < IS_MIN_SLOPE ||</div>
-<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span> fabs(pol_coeflo[1]) < IS_MIN_SLOPE ||</div>
-<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span> pol_coefhi[1]/pol_coeflo[1]<0.5 ||</div>
-<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span> pol_coefhi[1]/pol_coeflo[1]>2.0 ||</div>
-<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span> fabs(pol_coefhi[1]-pol_coeflo[1])>IS_MAX_SLOPE_DIF ||</div>
-<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span> fabs(pol_coefhi[0]-pol_coeflo[0]) > IS_MAX_INTER_DIF ||</div>
-<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span> medianerrlo> IS_MAX_MNERR ||</div>
-<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span> medianerrhi> IS_MAX_MNERR ||</div>
-<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span> fabs(medianerrlo-medianerrhi) >IS_MAX_MNERR_DIF ||</div>
-<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span> fabs(slope-fitslope) > IS_MAX_FIT_EDGE_DIF ||</div>
-<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span> slope/fitslope<0.5 ||</div>
-<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span> slope/fitslope>2.0) ramp_present = 0 ;</div>
-<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span> <span class="keywordflow">else</span> ramp_present = 1 ;</div>
-<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span> </div>
-<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span> cpl_free(pol_coeflo) ;</div>
-<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span> cpl_free(pol_coefhi) ;</div>
-<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span> </div>
-<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span> <span class="comment">/* Correct the ramp if it is there */</span></div>
-<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span> out = cpl_image_duplicate(in) ;</div>
-<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span> pout = cpl_image_get_data_float(out) ;</div>
-<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span> <span class="keywordflow">if</span> (ramp_present == 1) {</div>
-<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span> <span class="keywordflow">for</span> (j=0 ; j<ny/2 ; j++) {</div>
-<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span> val = slope * (j-ny/2) ;</div>
-<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span> <span class="keywordflow">for</span> (i=0 ; i<nx ; i++)</div>
-<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span> pout[i+j*nx] -= val ;</div>
-<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span> }</div>
-<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span> <span class="keywordflow">for</span> (j=ny/2 ; j<ny ; j++) {</div>
-<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span> val = slope * (j-ny) ;</div>
-<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span> <span class="keywordflow">for</span> (i=0 ; i<nx ; i++)</div>
-<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span> pout[i+j*nx] -= val ;</div>
-<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span> }</div>
-<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span> </div>
-<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span> }</div>
-<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span> </div>
-<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span> <span class="keywordflow">return</span> out ;</div>
-<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span> }</div>
-<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__distortion_8h_source.html b/html/sinfo__distortion_8h_source.html
deleted file mode 100644
index 290a221..0000000
--- a/html/sinfo__distortion_8h_source.html
+++ /dev/null
@@ -1,122 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_distortion.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_distortion.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_distortion.h,v 1.7 2007/06/06 07:10:45 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the irplib package</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2007/06/06 07:10:45 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.7 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef SINFO_DISTORTION_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_DISTORTION_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">-----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> Prototypes</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">-----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> cpl_polynomial * </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> sinfo_distortion_estimate(<span class="keyword">const</span> cpl_image *, </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keywordtype">int</span>, </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keywordtype">int</span>, </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keywordtype">int</span>, </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keywordtype">int</span>, </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keywordtype">int</span>, </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keywordtype">int</span>, </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keywordtype">int</span>, </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keywordtype">int</span>, </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keywordtype">double</span>, </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> cpl_apertures **) ;</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> cpl_polynomial * sinfo_distortion_estimate_new(</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">const</span> cpl_image * org,</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">int</span> xmin,</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">int</span> ymin,</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">int</span> xmax,</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">int</span> ymax,</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">int</span> auto_ramp_sub,</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">int</span> arc_sat,</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">int</span> max_arc_width,</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordtype">double</span> kappa,</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">double</span> arcs_min_arclen_factor,</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">int</span> arcs_window_size,</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">int</span> smooth_rad,</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">int</span> degree,</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">double</span> offset,</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> cpl_apertures ** arcs);</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> cpl_image *</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> sinfo_distortion_image_restore(<span class="keyword">const</span> cpl_image* inp,</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keyword">const</span> <span class="keywordtype">int</span> r,</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">const</span> <span class="keywordtype">int</span> d,</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">const</span> <span class="keywordtype">double</span> kappa,</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ks_method,</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">const</span> <span class="keywordtype">int</span> n);</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__distortion__config_8c_source.html b/html/sinfo__distortion__config_8c_source.html
deleted file mode 100644
index 3763094..0000000
--- a/html/sinfo__distortion__config_8c_source.html
+++ /dev/null
@@ -1,584 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_distortion_config.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_distortion_config.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_distortion_config.c,v 1.6 2012/03/02 08:42:20 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2012/03/02 08:42:20 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.6 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> * Wavecal Frames Data Reduction Parameter Initialization *</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_distortion_config.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> sinfo_distortion_config_add(cpl_parameterlist *list)</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> {</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> cpl_parameter *p;</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keywordflow">if</span> (!list) {</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> }</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/* Output file name */</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/* output name of resulting fits wavelength map */</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">/* Find Lines */</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">/* indicates if the dispersion relation is already determined or not */</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.calib_indicator"</span>,</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="stringliteral">"Calib Indicator: "</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="stringliteral">"FALSE: if the dispersion relation is already "</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="stringliteral">"known, the routine can jump to the waveMap "</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="stringliteral">"section "</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="stringliteral">"TRUE: if the dispersion relation "</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="stringliteral">"must first be determined"</span>,</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> TRUE);</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dist-calib_indicator"</span>);</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">/* minimal difference of mean and sinfo_median column intensity */</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.min_diff_mean_med_col_int"</span>,</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="stringliteral">"Minimum Of Difference: "</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="stringliteral">"minimum difference of mean and median column "</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="stringliteral">"intensity to carry out the cross correlation"</span>,</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> 10.);</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="stringliteral">"dist-min_diff_mean_med_col_int"</span>);</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">/* half width of a box within which the line must sit */</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.half_width"</span>,</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="stringliteral">"Half Width: "</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="stringliteral">"half width of a box within which the line "</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="stringliteral">"must be placed"</span>,</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> 7);</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dist-hw"</span>);</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment">/* sigma of Gaussian of artificial model spectra */</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.sigma"</span>,</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="stringliteral">"Sigma: sigma of Gaussian which is convolved "</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="stringliteral">"with the artificial spectrum generated using "</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="stringliteral">"the line list"</span>,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> 2.);</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dist-sigma"</span>);</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment">/* Wavelength Calibration */</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment">/* guess value for fwhm of emission lines */</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.fwhm"</span>,</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="stringliteral">"FWHM: initial guess value for the fwhm of "</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="stringliteral">"the Gaussian used for the line fit"</span>,</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> 2.83);</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dist-fwhm"</span>);</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">/* minimum amplitude of a line to be fitted */</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.min_amplitude"</span>,</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="stringliteral">"Minimum Of Amplitude: "</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="stringliteral">"of the Gaussian to do the fit"</span>,</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> 5.);</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dist-min_amplitude"</span>);</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">/* maximal residual value for a valid fit */</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.max_residual"</span>,</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="stringliteral">"Maximum Residuals value: "</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="stringliteral">"beyond this value the fit is rejected"</span>,</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> 0.5);</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dist-max_residual"</span>);</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment">/* # of polynomial coefficients used for the dispersion relation */</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.n_a_coefficients"</span>,</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="stringliteral">"Number of A coefficients: number of "</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="stringliteral">"polynomial coefficients for the "</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="stringliteral">"dispersion relation"</span>,</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> 4);</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dist-n_a_coeffs"</span>);</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment">/* # of polynomial coefficients used for the fit of the dispersion </span></div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment"> coefficients */</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.n_b_coefficients"</span>,</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="stringliteral">"Number of B coefficients: "</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="stringliteral">"number of polynomial coefficients for the "</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="stringliteral">"polynomial fit of the dispersion coefficients"</span>,</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> 2);</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dist-n_b_coeffs"</span>);</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="comment">/* minimal factor of the standard deviation of the fit coefficients */</span></div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.sigma_factor"</span>,</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="stringliteral">"Sigma Factor: "</span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="stringliteral">"Factor of the standard deviation of the "</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="stringliteral">"polynomial coefficients of the dispersion "</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="stringliteral">"relation beyond which the coefficients are "</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="stringliteral">"not used for the fit"</span>,</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> 1.5);</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dist-sigma_factor"</span>);</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment">/* indicates if the parameterized dispersion relation coefficients </span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment"> should be written into an ASCII file */</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.write_coeffs_ind"</span>,</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="stringliteral">"Write Coefficients Index: "</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="stringliteral">"indicates if the coefficients should "</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="stringliteral">"be written into a file or not"</span>,</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> TRUE);</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dist-wcoeff_ind"</span>);</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment">/* indicates if the fit parameters should be written into an ASCII file */</span></div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.write_par_ind"</span>,</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="stringliteral">"Write Parameter Index: "</span></div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="stringliteral">"indicates if the fit parameters should "</span></div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="stringliteral">"be written into a file or not "</span>,</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> TRUE);</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dist-par_ind"</span>);</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment">/* minimal distance of the slitlets in spectral direction */</span></div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.pixel_dist"</span>,</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="stringliteral">"Minimal Slitlets's Distance in spectral direction"</span>,</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> 15);</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dist-pixel_dist"</span>);</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment">/* allowed pixel position tolerance between estimated and fitted line </span></div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment"> position</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.pixel_tol"</span>,</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="stringliteral">"Pixel Tolerance: allowed pixel position "</span></div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="stringliteral">"tolerance between estimated and fitted "</span></div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="stringliteral">"line position"</span>,</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> 5.0);</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dist-pixel_tol"</span>);</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="comment">/* Wavelength Map */</span></div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="comment">/* indicator if wavelength map should be generated or not */</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.wave_map_ind"</span>,</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="stringliteral">"Wavelength Map Indicator: "</span></div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="stringliteral">"indicates if the wavelength calibration map "</span></div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="stringliteral">"should be generated (TRUE) or not (FALSE)"</span>,</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> FALSE);</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dist-wave_map_ind"</span>);</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="comment">/* magnifying factor for FFT */</span></div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.mag_factor"</span>,</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="stringliteral">"Magnificator Factor: "</span></div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="stringliteral">"magnifying factor for the number of pixels "</span></div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="stringliteral">"in the columns needed for FFT"</span>,</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> 8);</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dist-mag_factor"</span>);</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="comment">/* Fits Slits */</span></div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="comment">/* indicator if the fit of the slit edge positions is carried through or not */</span></div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.slit_pos_indicator"</span>,</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="stringliteral">"Slit Position Indicator: "</span></div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="stringliteral">"indicates if the fits of the slitlet "</span></div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="stringliteral">"edge positions should be carried "</span></div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="stringliteral">"through or not"</span>,</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> TRUE);</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dist-slit_pos_ind"</span>);</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="comment">/* indicator if the fit model function is a Boltzmann function or not */</span></div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.fit_boltz_indicator"</span>,</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> CPL_TYPE_BOOL ,</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="stringliteral">"Fit Boltzmann Indicator: "</span></div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="stringliteral">"indicates if the fits of the slitlet edge "</span></div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="stringliteral">"positions is carried trough by using a "</span></div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="stringliteral">"Boltzmann function as model function"</span>,</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> TRUE);</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dist-fit_boltz_ind"</span>);</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="comment">/* indicator if the fit model function is a simple edge function or not */</span></div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.fit_edge_indicator"</span>,</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="stringliteral">"Fit Edge Indicator: "</span></div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="stringliteral">"indicates if the fits of the slitlet edge "</span></div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="stringliteral">"positions is carried through by using a "</span></div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="stringliteral">"simple edge function as model function"</span>,</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> FALSE);</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dist-fit_edge_ind"</span>);</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="comment">/* indicator if the fit guess position are user </span></div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="comment"> given or calculated automatically */</span></div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.estimate_indicator"</span>,</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="stringliteral">"Estimate Indicator: "</span></div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="stringliteral">"indicates if the fits of the slitlet edge "</span></div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="stringliteral">"positions is carried through by using a list "</span></div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="stringliteral">"of estimated guess positions in a file (TRUE)"</span></div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="stringliteral">"or if the initial positions are calculated "</span></div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="stringliteral">"automatically (FALSE). The estimation case "</span></div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="stringliteral">"is more stable"</span>,</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> FALSE);</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dist-estimate_ind"</span>);</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> </div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="comment">/* pixel length of the row box within which </span></div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="comment"> the fit of the slitlet positions is carried out*/</span></div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> </div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.box_length"</span>,</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="stringliteral">"Box Length: "</span></div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="stringliteral">"pixel length of the row box within "</span></div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="stringliteral">"which the fit is carried out"</span>,</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> 32);</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dist-box_len"</span>);</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> </div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="comment">/* float box half width in spectral direction */</span></div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.y_box"</span>,</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="stringliteral">"Y Box: half width of a small box in "</span></div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="stringliteral">"spectral direction within which the "</span></div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="stringliteral">"maximal intensity pixel is searched"</span>,</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> 5.);</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dist-y_box"</span>);</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="comment">/* maximal tolerable difference to the expected slitlet positions */</span></div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.diff_tol"</span>,</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="stringliteral">"Difference Tolearance: "</span></div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="stringliteral">"maximal tolerable difference of the "</span></div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="stringliteral">"resulting fit positions of the slitlet "</span></div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="stringliteral">"edges with respect to the expected positions"</span>,</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> 2.);</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dist-diff_toll"</span>);</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> </div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.qc_thresh_min"</span>,</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="stringliteral">"qc_thresh_min"</span>,</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> 0);</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> </div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dist-qc_thresh_min"</span>);</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> </div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.qc_thresh_max"</span>,</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="stringliteral">"qc_thresh_max"</span>,</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> 49000);</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"dist-qc_thresh_max"</span>);</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> </div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> </div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="comment">/* NORD SOUTH TEST */</span></div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="comment">/* Clean Mean */</span></div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.distortion.lower_rejection"</span>,</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="stringliteral">"lower rejection: "</span></div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="stringliteral">"percentage of rejected low intensity pixels "</span></div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="stringliteral">"before averaging"</span>,</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> 0.1,0.0,1.0);</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"ns-lo_rejection"</span>);</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> </div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.distortion.higher_rejection"</span>,</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="stringliteral">"higher rejection: "</span></div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="stringliteral">"percentage of rejected high intensity pixels "</span></div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="stringliteral">"before averaging"</span>,</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> 0.1,0.0,1.0);</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> </div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"ns-hi_rejection"</span>);</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> </div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> </div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.mask_ind"</span>,</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="stringliteral">"Mask Index: "</span></div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="stringliteral">"indicator if a bad pixel mask is applied or not"</span>,</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> FALSE);</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> </div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"ns-mask_ind"</span>);</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> </div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> </div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="comment">/* Gauss Convolution */</span></div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.gauss_ind"</span>,</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="stringliteral">"Gauss Index: "</span>,</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> FALSE);</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> </div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"ns-gauss_ind"</span>);</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> </div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.kernel_half_width"</span>,</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="stringliteral">"Kernel Half Width "</span></div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="stringliteral">"kernel half width of the Gaussian "</span></div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="stringliteral">"response function"</span>,</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> 2);</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> </div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"ns-khw"</span>);</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> </div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> </div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> </div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="comment">/* North South Test */</span></div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> </div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> </div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> </div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.ns_half_width"</span>,</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="stringliteral">"Half Width"</span>,</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> 4);</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> </div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"ns-hw"</span>);</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> </div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.ns_fwhm"</span>,</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="stringliteral">"FWHM"</span>,</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> 2.);</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> </div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"ns-fwhm"</span>);</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> </div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.min_diff"</span>,</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="stringliteral">"Minimum of Difference"</span>,</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> 1.);</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> </div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"ns-min_diff"</span>);</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> </div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> </div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.dev_tol"</span>,</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="stringliteral">"Dev Tol"</span>,</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> 20.);</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> </div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> </div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"ns-dev_tol"</span>);</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> </div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> </div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.arcs_thresh_factor"</span>,</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="stringliteral">"arcs threshold factor. "</span></div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="stringliteral">"median_value(image)+ kappa*sigma is the "</span></div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="stringliteral">"minimum intensity threshold of accepted image"</span></div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="stringliteral">"pixels"</span>,</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> 0.33333);</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> </div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> </div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"arcs_thresh_factor"</span>);</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> </div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> </div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> </div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.arcs_min_arclen_factor"</span>,</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="stringliteral">"factor which sets minimum arc length (1.0-2)"</span>,</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> 1.19);</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> </div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> </div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"arcs_min_arclen_factor"</span>);</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> </div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> </div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.arcs_window_size"</span>,</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <span class="stringliteral">"Size of window for low pass fileter used in"</span></div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> <span class="stringliteral">"an horizzontal low pass filter to remove "</span></div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> <span class="stringliteral">"unwanted arcs (5-64)"</span>,</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> 14);</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> </div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> </div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"arcs_window_size"</span>);</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> </div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> </div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.distortion.smooth_rad"</span>,</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> <span class="stringliteral">"Size of smoothing factor (1-11) used to "</span></div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> <span class="stringliteral">"prevent for possible intensity drops from "</span></div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> <span class="stringliteral">"detector electronics on fibre illuminated "</span></div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="stringliteral">"slitlets (1-11)"</span>,</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> <span class="stringliteral">"sinfoni.distortion"</span>,</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> 3);</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> </div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> </div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"smooth_rad"</span>);</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> </div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__distortion__config_8h_source.html b/html/sinfo__distortion__config_8h_source.html
deleted file mode 100644
index 4072ebf..0000000
--- a/html/sinfo__distortion__config_8h_source.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_distortion_config.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_distortion_config.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_distortion_config.h,v 1.1 2006/10/20 08:06:32 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2006/10/20 08:06:32 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Wavecal Frames Data Reduction Parameter Initialization *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <cpl.h></span> <span class="comment">/* defines parlist structure */</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="keywordtype">void</span> sinfo_distortion_config_add(cpl_parameterlist *list);</div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__dump_8c_source.html b/html/sinfo__dump_8c_source.html
deleted file mode 100644
index 920f2a6..0000000
--- a/html/sinfo__dump_8c_source.html
+++ /dev/null
@@ -1,411 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_dump.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_dump.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* *</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the SINFONI Pipeline *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory *</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This library is free software; you can redistribute it and/or modify *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or *</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version. *</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful, *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details. *</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA *</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2012/09/21 10:55:19 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.9 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Log: sinfo_dump.c,v $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * Revision 1.9 2012/09/21 10:55:19 amodigli</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * removed warning from clang</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> * Revision 1.8 2012/03/02 08:42:20 amodigli</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> * fixed some typos on doxygen</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * Revision 1.7 2011/11/23 17:29:19 amodigli</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * fix warning with cpl6</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> * Revision 1.6 2008/01/17 07:54:04 amodigli</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> * shorten long lines</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * Revision 1.5 2007/08/11 10:45:47 amodigli</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> * upgrade to CPL4, fixed compil warnings</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> * Revision 1.4 2007/06/06 07:10:45 amodigli</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> * replaced tab with 4 spaces</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> * Revision 1.3 2006/10/20 08:07:05 amodigli</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> * using prefix sinfo_ in place of sinfoni_ for includes</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> * Revision 1.2 2006/10/16 07:26:23 amodigli</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> * shortened line length</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> * Revision 1.1 2006/08/09 12:20:11 amodigli</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> * added sinfo_dump.h sinfo_dump.c</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> * Revision 1.7 2006/05/12 15:02:05 jmlarsen</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> * Support NULL tags</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> * Revision 1.6 2006/02/28 09:15:22 jmlarsen</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> * Minor update</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> * Revision 1.5 2006/02/15 13:19:15 jmlarsen</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> * Reduced source code max. line length</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> * Revision 1.4 2005/12/19 16:17:56 jmlarsen</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> * Replaced bool -> int</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="preprocessor">#include <sinfo_dump.h></span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="preprocessor">#include <sinfo_utils.h></span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">/*----------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment">/*----------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> cpl_error_code</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> sinfo_print_cpl_propertylist(<span class="keyword">const</span> cpl_propertylist *pl, <span class="keywordtype">long</span> low, <span class="keywordtype">long</span> high)</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> {</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> cpl_property *prop;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">long</span> i = 0;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> assure (0 <= low && high <= cpl_propertylist_get_size(pl) && low <= high,</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> CPL_ERROR_ILLEGAL_INPUT, <span class="stringliteral">"Illegal range"</span>);</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">/* Printing an empty range is allowed but only when low == high */</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keywordflow">if</span> (pl == NULL){</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> sinfo_msg(<span class="stringliteral">"NULL"</span>);</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> }</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (cpl_propertylist_is_empty(pl)) {</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> sinfo_msg(<span class="stringliteral">"[Empty property list]"</span>);</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> }</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordflow">for</span> (i = low; i < high; i++)</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> {</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment">/* bug workaround: remove const cast when declaration </span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment"> of cpl_propertylist_get() is changed */</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> prop = cpl_propertylist_get((cpl_propertylist *)pl, i);</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> check (sinfo_print_cpl_property(prop), </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="stringliteral">"Error printing property"</span>);</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> }</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> cleanup:</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> }</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment">/*----------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment">/*----------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> cpl_error_code</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> sinfo_print_cpl_property(<span class="keyword">const</span> cpl_property *prop)</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> {</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> cpl_type t;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordflow">if</span> (prop == NULL)</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> {</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> sinfo_msg(<span class="stringliteral">"NULL"</span>);</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> }</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> { </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment">/* print property with this formatting</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment"> NAME =</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment"> VALUE</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment"> COMMENT</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment">/* print name */</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> sinfo_msg(<span class="stringliteral">"%s ="</span>, cpl_property_get_name(prop));</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment">/* print value */</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> check( t = cpl_property_get_type(prop), </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="stringliteral">"Could not read property type"</span>);</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordflow">switch</span>(t & (~CPL_TYPE_FLAG_ARRAY))</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> {</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keywordflow">case</span> CPL_TYPE_CHAR:</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordflow">if</span> (t & CPL_TYPE_FLAG_ARRAY) <span class="comment">/* if type is string */</span></div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> {</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> sinfo_msg(<span class="stringliteral">" '%s'"</span>, cpl_property_get_string(prop));</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> }</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keywordflow">else</span> <span class="comment">/* an ordinary char */</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> {</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> sinfo_msg(<span class="stringliteral">" %c"</span>, cpl_property_get_char(prop));</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> }</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordflow">case</span> CPL_TYPE_BOOL: <span class="keywordflow">if</span> (cpl_property_get_bool(prop))</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> {sinfo_msg(<span class="stringliteral">" true"</span>);}</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> {sinfo_msg(<span class="stringliteral">" false"</span>);}</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">case</span> CPL_TYPE_UCHAR: </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> sinfo_msg(<span class="stringliteral">"%c"</span>,cpl_property_get_char(prop)); </div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">case</span> CPL_TYPE_INT: </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> sinfo_msg(<span class="stringliteral">"%d"</span>,cpl_property_get_int(prop)); </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">case</span> CPL_TYPE_UINT: </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> sinfo_msg(<span class="stringliteral">"%d"</span>,cpl_property_get_int(prop)); </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordflow">case</span> CPL_TYPE_LONG: </div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> sinfo_msg(<span class="stringliteral">"%ld"</span>,cpl_property_get_long(prop)); </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keywordflow">case</span> CPL_TYPE_ULONG: </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> sinfo_msg(<span class="stringliteral">"%ld"</span>,cpl_property_get_long(prop)); </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keywordflow">case</span> CPL_TYPE_FLOAT: </div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> sinfo_msg(<span class="stringliteral">"%f"</span>,cpl_property_get_float(prop)); </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keywordflow">case</span> CPL_TYPE_DOUBLE: </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> sinfo_msg(<span class="stringliteral">"%f"</span>,cpl_property_get_double(prop)); </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keywordflow">case</span> CPL_TYPE_POINTER: </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> sinfo_msg(<span class="stringliteral">"POINTER"</span>); </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keywordflow">case</span> CPL_TYPE_INVALID: </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> sinfo_msg(<span class="stringliteral">"INVALID"</span>); </div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keywordflow">default</span>: </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> sinfo_msg(<span class="stringliteral">" unrecognized property"</span>); </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> }</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="comment">/* Is this property an array? */</span></div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keywordflow">if</span> (t & CPL_TYPE_FLAG_ARRAY){</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> cpl_msg_info(cpl_func,<span class="stringliteral">" (array size = %"</span> CPL_SIZE_FORMAT <span class="stringliteral">" )"</span>, </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> cpl_property_get_size(prop));</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> }</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment">/* Print comment */</span></div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keywordflow">if</span> (cpl_property_get_comment(prop) != NULL){</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> sinfo_msg(<span class="stringliteral">" %s"</span>, cpl_property_get_comment(prop));</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> }</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> }</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> cleanup:</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> }</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment">/*----------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="comment">/*----------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> cpl_error_code</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> sinfo_print_cpl_frameset(<span class="keyword">const</span> cpl_frameset *frames)</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> {</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="comment">/* Two special cases: a NULL frame set and an empty frame set */</span></div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keywordflow">if</span> (frames == NULL)</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> {</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> sinfo_msg(<span class="stringliteral">"NULL"</span>);</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> }</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> {</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="keyword">const</span> cpl_frame *f = NULL;</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> check( f = cpl_frameset_get_first_const(frames), </div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="stringliteral">"Error reading frameset"</span>);</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keywordflow">if</span> (f == NULL)</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> {</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> sinfo_msg(<span class="stringliteral">"[Empty frame set]"</span>);</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> }</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> {</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="keywordflow">while</span>(f != NULL)</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> {</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> check( sinfo_print_cpl_frame(f), </div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="stringliteral">"Could not print frame"</span>);</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> check( f = cpl_frameset_get_next_const(frames), </div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="stringliteral">"Error reading frameset"</span>);</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> }</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> }</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> }</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> cleanup:</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> }</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="comment">/*----------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="comment">/*----------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> cpl_error_code</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> sinfo_print_cpl_frame(<span class="keyword">const</span> cpl_frame *f)</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> {</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="keywordflow">if</span> (f == NULL)</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> {</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> sinfo_msg(<span class="stringliteral">"NULL"</span>);</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> }</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> {</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> sinfo_msg(<span class="stringliteral">"%-7s %-20s '%s'"</span>, </div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> sinfo_tostring_cpl_frame_group(cpl_frame_get_group(f)),</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> cpl_frame_get_tag(f) != NULL ? </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> cpl_frame_get_tag(f) : <span class="stringliteral">"Null"</span>,</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> cpl_frame_get_filename(f));</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"type \t= %s"</span>, </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> sinfo_tostring_cpl_frame_type (cpl_frame_get_type (f)));</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"group \t= %s"</span>, </div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> sinfo_tostring_cpl_frame_group(cpl_frame_get_group(f)));</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"level \t= %s"</span>, </div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> sinfo_tostring_cpl_frame_level(cpl_frame_get_level(f)));</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> }</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> }</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="comment">/*----------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="comment">/*----------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> sinfo_tostring_cpl_frame_type(cpl_frame_type ft)</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> { </div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="keywordflow">switch</span>(ft)</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> {</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="keywordflow">case</span> CPL_FRAME_TYPE_NONE: <span class="keywordflow">return</span> <span class="stringliteral">"NONE"</span>;</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="keywordflow">case</span> CPL_FRAME_TYPE_IMAGE: <span class="keywordflow">return</span> <span class="stringliteral">"IMAGE"</span>;</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="keywordflow">case</span> CPL_FRAME_TYPE_MATRIX: <span class="keywordflow">return</span> <span class="stringliteral">"MATRIX"</span>;</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="keywordflow">case</span> CPL_FRAME_TYPE_TABLE: <span class="keywordflow">return</span> <span class="stringliteral">"TABLE"</span>;</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="keywordflow">default</span>: <span class="keywordflow">return</span> <span class="stringliteral">"unrecognized frame type"</span>;</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> }</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> }</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> </div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="comment">/*----------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="comment">/*----------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> sinfo_tostring_cpl_frame_group(cpl_frame_group fg)</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> {</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="keywordflow">switch</span>(fg)</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> {</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="keywordflow">case</span> CPL_FRAME_GROUP_NONE: <span class="keywordflow">return</span> <span class="stringliteral">"NONE"</span>;</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="keywordflow">case</span> CPL_FRAME_GROUP_RAW: <span class="keywordflow">return</span> CPL_FRAME_GROUP_RAW_ID;</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="keywordflow">case</span> CPL_FRAME_GROUP_CALIB: <span class="keywordflow">return</span> CPL_FRAME_GROUP_CALIB_ID;</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="keywordflow">case</span> CPL_FRAME_GROUP_PRODUCT: <span class="keywordflow">return</span> CPL_FRAME_GROUP_PRODUCT_ID;</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="keywordflow">return</span> <span class="stringliteral">"unrecognized frame group"</span>;</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> }</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> }</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> </div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="comment">/*----------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="comment">/*----------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> sinfo_tostring_cpl_frame_level(cpl_frame_level fl)</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> {</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> </div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="keywordflow">switch</span>(fl)</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> {</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keywordflow">case</span> CPL_FRAME_LEVEL_NONE: <span class="keywordflow">return</span> <span class="stringliteral">"NONE"</span>;</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="keywordflow">case</span> CPL_FRAME_LEVEL_TEMPORARY: <span class="keywordflow">return</span> <span class="stringliteral">"TEMPORARY"</span>;</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordflow">case</span> CPL_FRAME_LEVEL_INTERMEDIATE:<span class="keywordflow">return</span> <span class="stringliteral">"INTERMEDIATE"</span>;</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="keywordflow">case</span> CPL_FRAME_LEVEL_FINAL: <span class="keywordflow">return</span> <span class="stringliteral">"FINAL"</span>;</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="keywordflow">default</span>: <span class="keywordflow">return</span> <span class="stringliteral">"unrecognized frame level"</span>;</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> }</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> }</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="comment">/*----------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="comment">/*----------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> sinfo_tostring_cpl_type(cpl_type t)</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> {</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="comment">/* Note that CPL_TYPE_STRING is shorthand</span></div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="comment"> for CPL_TYPE_CHAR | CPL_TYPE_FLAG_ARRAY . */</span></div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> </div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="keywordflow">if</span> (!(t & CPL_TYPE_FLAG_ARRAY))</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keywordflow">switch</span>(t & (~CPL_TYPE_FLAG_ARRAY))</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> {</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="keywordflow">case</span> CPL_TYPE_CHAR: <span class="keywordflow">return</span> <span class="stringliteral">"char"</span>;</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="keywordflow">case</span> CPL_TYPE_UCHAR: <span class="keywordflow">return</span> <span class="stringliteral">"uchar"</span>;</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="keywordflow">case</span> CPL_TYPE_BOOL: <span class="keywordflow">return</span> <span class="stringliteral">"boolean"</span>;</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="keywordflow">case</span> CPL_TYPE_INT: <span class="keywordflow">return</span> <span class="stringliteral">"int"</span>;</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="keywordflow">case</span> CPL_TYPE_UINT: <span class="keywordflow">return</span> <span class="stringliteral">"uint"</span>;</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="keywordflow">case</span> CPL_TYPE_LONG: <span class="keywordflow">return</span> <span class="stringliteral">"long"</span>;</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="keywordflow">case</span> CPL_TYPE_ULONG: <span class="keywordflow">return</span> <span class="stringliteral">"ulong"</span>;</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="keywordflow">case</span> CPL_TYPE_FLOAT: <span class="keywordflow">return</span> <span class="stringliteral">"float"</span>;</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="keywordflow">case</span> CPL_TYPE_DOUBLE: <span class="keywordflow">return</span> <span class="stringliteral">"double"</span>;</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="keywordflow">case</span> CPL_TYPE_POINTER: <span class="keywordflow">return</span> <span class="stringliteral">"pointer"</span>;</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="comment">/* not in CPL3.0: case CPL_TYPE_COMPLEX: return "complex"; */</span></div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="keywordflow">case</span> CPL_TYPE_INVALID: <span class="keywordflow">return</span> <span class="stringliteral">"invalid"</span>;</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="keywordflow">return</span> <span class="stringliteral">"unrecognized type"</span>;</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> }</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="keywordflow">switch</span>(t & (~CPL_TYPE_FLAG_ARRAY))</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> {</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="keywordflow">case</span> CPL_TYPE_CHAR: <span class="keywordflow">return</span> <span class="stringliteral">"string (char array)"</span>;</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="keywordflow">case</span> CPL_TYPE_UCHAR: <span class="keywordflow">return</span> <span class="stringliteral">"uchar array"</span>;</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="keywordflow">case</span> CPL_TYPE_BOOL: <span class="keywordflow">return</span> <span class="stringliteral">"boolean array"</span>;</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="keywordflow">case</span> CPL_TYPE_INT: <span class="keywordflow">return</span> <span class="stringliteral">"int array"</span>;</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="keywordflow">case</span> CPL_TYPE_UINT: <span class="keywordflow">return</span> <span class="stringliteral">"uint array"</span>;</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="keywordflow">case</span> CPL_TYPE_LONG: <span class="keywordflow">return</span> <span class="stringliteral">"long array"</span>;</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="keywordflow">case</span> CPL_TYPE_ULONG: <span class="keywordflow">return</span> <span class="stringliteral">"ulong array"</span>;</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="keywordflow">case</span> CPL_TYPE_FLOAT: <span class="keywordflow">return</span> <span class="stringliteral">"float array"</span>;</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="keywordflow">case</span> CPL_TYPE_DOUBLE: <span class="keywordflow">return</span> <span class="stringliteral">"double array"</span>;</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="keywordflow">case</span> CPL_TYPE_POINTER: <span class="keywordflow">return</span> <span class="stringliteral">"pointer array"</span>;</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="comment">/* not in CPL3.0: case CPL_TYPE_COMPLEX: return "complex array"; */</span></div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="keywordflow">case</span> CPL_TYPE_INVALID: <span class="keywordflow">return</span> <span class="stringliteral">"invalid (array)"</span>;</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="keywordflow">return</span> <span class="stringliteral">"unrecognized type"</span>;</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> }</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__dump_8h_source.html b/html/sinfo__dump_8h_source.html
deleted file mode 100644
index 2cece28..0000000
--- a/html/sinfo__dump_8h_source.html
+++ /dev/null
@@ -1,131 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_dump.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_dump.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* *</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO UVES Pipeline *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory *</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This library is free software; you can redistribute it and/or modify *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or *</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version. *</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful, *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details. *</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA *</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2011/11/23 17:29:09 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.6 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Log: sinfo_dump.h,v $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * Revision 1.6 2011/11/23 17:29:09 amodigli</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * fix warning with cpl6</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> * Revision 1.5 2006/10/25 06:46:09 amodigli</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> * fixed warnings from static checks</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * Revision 1.4 2006/10/17 11:13:30 amodigli</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * added config.h</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> * Revision 1.3 2006/10/16 07:26:23 amodigli</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> * shortened line length</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * Revision 1.2 2006/10/04 06:17:45 amodigli</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> * added doxygen doc</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> * Revision 1.1 2006/08/09 12:20:11 amodigli</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> * added sinfo_dump.h sinfo_dump.c</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> * Revision 1.2 2005/12/19 16:17:56 jmlarsen</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> * Replaced bool -> int</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#ifndef SINFO_DUMP_H</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_DUMP_H</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include <sinfo_cpl_size.h></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> cpl_error_code </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> sinfo_print_cpl_propertylist(<span class="keyword">const</span> cpl_propertylist *pl, </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordtype">long</span> low, </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">long</span> high);</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> cpl_error_code </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> sinfo_print_cpl_property(<span class="keyword">const</span> cpl_property *);</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> cpl_error_code </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> sinfo_print_cpl_frameset(<span class="keyword">const</span> cpl_frameset *);</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> cpl_error_code </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> sinfo_print_cpl_frame(<span class="keyword">const</span> cpl_frame *);</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> sinfo_tostring_cpl_type(cpl_type t);</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> sinfo_tostring_cpl_frame_type(cpl_frame_type);</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> sinfo_tostring_cpl_frame_group(cpl_frame_group);</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> sinfo_tostring_cpl_frame_level(cpl_frame_level);</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="preprocessor">#endif </span><span class="comment">/* SINFO_DUMP_H */</span><span class="preprocessor"></span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__error_8h_source.html b/html/sinfo__error_8h_source.html
deleted file mode 100644
index 1e9212f..0000000
--- a/html/sinfo__error_8h_source.html
+++ /dev/null
@@ -1,170 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_error.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_error.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2007/10/26 09:42:36 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.13 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Log: sinfo_error.h,v $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * Revision 1.13 2007/10/26 09:42:36 amodigli</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * removed check on CPL_VERSION_CODE (now works only for CPL4)</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> * Revision 1.12 2007/08/14 10:01:41 amodigli</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> * added sinfo_stop_if_error</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * Revision 1.11 2007/08/11 10:46:18 amodigli</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * clean</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> * Revision 1.9 2007/08/08 11:17:26 amodigli</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> * change to support CPL31 & CPL40</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * Revision 1.8 2007/06/06 07:10:45 amodigli</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> * replaced tab with 4 spaces</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> * Revision 1.7 2006/11/21 11:56:10 amodigli</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> * replaced __func__ by cpl_func</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> * Revision 1.6 2006/10/16 07:26:23 amodigli</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> * shortened line length</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> * Revision 1.5 2006/10/13 08:09:42 amodigli</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> * shorten line length</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> * Revision 1.4 2006/10/13 06:34:40 amodigli</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> * shorten line length</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> * Revision 1.3 2006/10/04 06:17:45 amodigli</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> * added doxygen doc</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> * Revision 1.2 2006/07/31 06:33:34 amodigli</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> * fixed bug in ck0 macro</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> * Revision 1.1 2006/05/30 09:09:37 amodigli</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> * added to repository</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#ifndef SINFO_ERROR_H</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_ERROR_H</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">-----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor">#include <cpl_error.h></span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">-----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">/* To save some key-strokes, use the irplib error handling macros</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> under different (shorter) names.</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> Additionally, irplib macros require the VA_ARGS to be enclosed in (),</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="preprocessor">#define assure(BOOL, CODE, ...) \</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="preprocessor"> cpl_error_ensure(BOOL, CODE, goto cleanup,__VA_ARGS__)</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="preprocessor">#define assure_nomsg(BOOL, CODE, ...) \</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="preprocessor"> cpl_error_ensure(BOOL, CODE, goto cleanup,__VA_ARGS__)</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="preprocessor">#define sinfo_stop_if_error() \</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="preprocessor"> do if(cpl_error_get_code()) { \</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="preprocessor"> cpl_msg_error(__func__,"Traced error"); \</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="preprocessor"> irplib_trace(); \</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor"> goto cleanup; \</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="preprocessor"> } while (0) </span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="preprocessor">#define ck0(IEXP, ...) \</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="preprocessor"> cpl_error_ensure(IEXP == 0, CPL_ERROR_UNSPECIFIED, \</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="preprocessor"> goto cleanup,__VA_ARGS__)</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="preprocessor">#define ck0_nomsg(IEXP) ck0(IEXP," ")</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="preprocessor">#define cknull(NULLEXP, ...) \</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="preprocessor"> cpl_error_ensure((NULLEXP) != NULL, \</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="preprocessor"> CPL_ERROR_UNSPECIFIED, goto cleanup,__VA_ARGS__)</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="preprocessor">#define cknull_nomsg(NULLEXP) cknull(NULLEXP," ")</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="preprocessor">#define check(CMD, ...) \</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="preprocessor"> cpl_error_ensure((sinfo_msg_softer(), (CMD), sinfo_msg_louder(), \</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="preprocessor"> cpl_error_get_code() == CPL_ERROR_NONE), \</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="preprocessor"> cpl_error_get_code(), goto cleanup,__VA_ARGS__)</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="preprocessor">#define check_nomsg(CMD) check(CMD, " ")</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="preprocessor">#define passure(BOOL, ...) \</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="preprocessor"> cpl_error_ensure(BOOL, CPL_ERROR_UNSPECIFIED, goto cleanup,\</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="preprocessor"> ("Internal error. Please report to " \</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="preprocessor"> PACKAGE_BUGREPORT " " __VA_ARGS__))</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="preprocessor"></span> <span class="comment">// Assumes that PACKAGE_BUGREPORT</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment">//contains no formatting special characters </span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__fft__base_8c_source.html b/html/sinfo__fft__base_8c_source.html
deleted file mode 100644
index 472d4de..0000000
--- a/html/sinfo__fft__base_8c_source.html
+++ /dev/null
@@ -1,222 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_fft_base.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_fft_base.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_fft_base.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : N. Devillard</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : October 1999</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : base FFT routines</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> $Id: sinfo_fft_base.c,v 1.7 2012/03/02 08:42:20 amodigli Exp $</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> $Author: amodigli $</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> $Date: 2012/03/02 08:42:20 $</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> $Revision: 1.7 $</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_fft_base.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> sinfo_fftn(</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> dcomplex data[],</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">unsigned</span> nn[],</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordtype">int</span> ndim, </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">int</span> isign)</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> {</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">int</span> idim=0;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">unsigned</span> i1=0;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">unsigned</span> i2rev=0;</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">unsigned</span> i3rev=0;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">unsigned</span> ibit=0;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">unsigned</span> ip2=0;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">unsigned</span> ifp1=0;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordtype">unsigned</span> ifp2=0;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">unsigned</span> k2=0;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keywordtype">unsigned</span> n=0;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">unsigned</span> nprev = 1;</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">unsigned</span> ntot = 1;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keyword">register</span> <span class="keywordtype">unsigned</span> i2=0;</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keyword">register</span> <span class="keywordtype">unsigned</span> i3=0;</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">double</span> theta=0;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> dcomplex w, wp;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">double</span> wtemp=0;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> dcomplex temp, wt;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordtype">double</span> t1=0;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">double</span> t2=0;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment">/* Compute total number of complex values */</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordflow">for</span> (idim = 0; idim < ndim; ++idim) {</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> ntot *= nn[idim];</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> }</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordflow">for</span> (idim = ndim - 1; idim >= 0; --idim) {</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> n = nn[idim];</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> ip2 = nprev * n; <span class="comment">/* Unit step for next dimension */</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> i2rev = 0; <span class="comment">/* Bit reversed i2 */</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment">/* This is the bit reversal section of the routine */</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment">/* Loop over current dimension */</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keywordflow">for</span> (i2 = 0; i2 < ip2; i2 += nprev) {</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">if</span> (i2 < i2rev) {</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment">/* Loop over lower dimensions */</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordflow">for</span> (i1 = i2; i1 < i2 + nprev; ++i1) {</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment">/* Loop over higher dimensions */</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordflow">for</span> (i3 = i1; i3 < ntot; i3 += ip2) {</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> i3rev = i3 + i2rev - i2;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> temp = data[i3];</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> data[i3] = data[i3rev];</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> data[i3rev] = temp;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> }</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> }</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> }</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> ibit = ip2;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment">/* Increment from high end of i2rev to low */</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordflow">do</span> {</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> ibit >>= 1;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> i2rev ^= ibit;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> } <span class="keywordflow">while</span> (ibit >= nprev && !(ibit & i2rev));</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> }</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment">/* Here begins the Danielson-Lanczos section of the routine */</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment">/* Loop over step sizes */</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordflow">for</span> (ifp1 = nprev; ifp1 < ip2; ifp1 <<= 1) {</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> ifp2 = ifp1 << 1;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment">/* Initialize for the trig. recurrence */</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> theta = isign * 2.0 * PI_NUMB / (ifp2 / nprev);</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> wp.x = sin(0.5 * theta);</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> wp.x *= -2.0 * wp.x;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> wp.y = sin(theta);</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> w.x = 1.0;</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> w.y = 0.0;</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment">/* Loop by unit step in current dimension */</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordflow">for</span> (i3 = 0; i3 < ifp1; i3 += nprev) {</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment">/* Loop over lower dimensions */</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordflow">for</span> (i1 = i3; i1 < i3 + nprev; ++i1) {</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment">/* Loop over higher dimensions */</span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">for</span> (i2 = i1; i2 < ntot; i2 += ifp2) {</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment">/* Danielson-Lanczos formula */</span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> k2 = i2 + ifp1;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> wt = data[k2];</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment">/* Complex multiply using 3 real multiplies. </span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment"> Should usually be faster. */</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> data[k2].x = data[i2].x - (temp.x =</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> (t1 = w.x * wt.x) - (t2 = w.y * wt.y));</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> data[k2].y = data[i2].y - (temp.y =</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> (w.x + w.y) * (wt.x + wt.y) - t1 - t2);</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> data[i2].x += temp.x;</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> data[i2].y += temp.y;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> }</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> }</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment">/* Trigonometric recurrence */</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> wtemp = w.x;</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment">/* Complex multiply using 3 real multiplies. */</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> w.x += (t1 = w.x * wp.x) - (t2 = w.y * wp.y);</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> w.y += (wtemp + w.y) * (wp.x + wp.y) - t1 - t2;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> }</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> }</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> nprev *= n;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> }</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> return ;</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> }</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> sinfo_is_power_of_2(<span class="keywordtype">int</span> p)</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> {</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keywordtype">float</span> c ;</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keywordtype">int</span> power2 ;</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keywordflow">if</span> (p == 0) { <span class="comment">/* Yes, 0 is a power of 2 */</span></div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> power2 = 1 ;</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (p<0) { <span class="comment">/* No, negatives are no power of 2 (in R at least) */</span></div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> power2 = -1 ;</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> } <span class="keywordflow">else</span> { <span class="comment">/* Compute log in base 2 */</span></div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> c = (float)(log((<span class="keywordtype">double</span>)p) / log(2.0)) ;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordflow">if</span> (c == (<span class="keywordtype">float</span>)((int)c)) {</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> power2 = (int)c ;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> power2 = -1 ;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> }</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> }</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordflow">return</span> power2 ;</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> }</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__fft__base_8h_source.html b/html/sinfo__fft__base_8h_source.html
deleted file mode 100644
index b7f9509..0000000
--- a/html/sinfo__fft__base_8h_source.html
+++ /dev/null
@@ -1,109 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_fft_base.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_fft_base.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> File name : sinfo_sinfo_fft_base.h</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> Author : N. Devillard</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Created on : October 1999</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Description : base FFT routines</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> $Id: sinfo_fft_base.h,v 1.6 2007/06/06 07:10:45 amodigli Exp $</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> $Author: amodigli $</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> $Date: 2007/06/06 07:10:45 $</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> $Revision: 1.6 $</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#ifndef SINFO_FFT_BASE_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_FFT_BASE_H</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "cpl.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_local_types.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> New types</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#define FFT_FORWARD 1</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor"></span><span class="preprocessor">#define FFT_INVERSE -1</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> sinfo_fftn(</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> dcomplex data[],</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordtype">unsigned</span> nn[],</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">int</span> ndim, </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">int</span> isign);</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordtype">int</span> sinfo_is_power_of_2(<span class="keywordtype">int</span> p);</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="preprocessor"></span><span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__file__handling_8c_source.html b/html/sinfo__file__handling_8c_source.html
deleted file mode 100644
index 0a9d13c..0000000
--- a/html/sinfo__file__handling_8c_source.html
+++ /dev/null
@@ -1,97 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_file_handling.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_file_handling.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor"></span><span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include "sinfo_file_handling.h"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">int</span> sinfo_file_exists(<span class="keyword">const</span> <span class="keywordtype">char</span> * filename)</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> {</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">int</span> exists=0;</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> FILE* fo=NULL;</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordflow">if</span> ((fo=fopen(filename,<span class="stringliteral">"r"</span>))==NULL) {</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> exists=0;</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> exists=1;</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> }</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordflow">if</span>(fo!=NULL) {</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> fclose(fo);</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> }</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordflow">return</span> exists;</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__file__handling_8h_source.html b/html/sinfo__file__handling_8h_source.html
deleted file mode 100644
index 9091641..0000000
--- a/html/sinfo__file__handling_8h_source.html
+++ /dev/null
@@ -1,75 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_file_handling.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_file_handling.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_FILE_HANDLING_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_FILE_HANDLING_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> --------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> sinfo_file_exists(<span class="keyword">const</span> <span class="keywordtype">char</span> * filename);</div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__finddist__cfg_8c_source.html b/html/sinfo__finddist__cfg_8c_source.html
deleted file mode 100644
index 9920a9d..0000000
--- a/html/sinfo__finddist__cfg_8c_source.html
+++ /dev/null
@@ -1,99 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_finddist_cfg.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_finddist_cfg.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_wavecal_cfg.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : September 2001</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : wavelength calibration configuration handling tools</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_finddist_cfg.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> finddist_config * </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> sinfo_finddist_cfg_create(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> {</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordflow">return</span> cpl_calloc(1, <span class="keyword">sizeof</span>(finddist_config));</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> }</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> sinfo_finddist_cfg_destroy(finddist_config * wc)</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> {</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordflow">if</span> (wc==NULL) return ;</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">/* Free main struct */</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> cpl_free(wc);</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> return ;</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__finddist__cfg_8h_source.html b/html/sinfo__finddist__cfg_8h_source.html
deleted file mode 100644
index fe25d75..0000000
--- a/html/sinfo__finddist__cfg_8h_source.html
+++ /dev/null
@@ -1,189 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_finddist_cfg.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_finddist_cfg.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_wavecal_cfg.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : September 2001</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : wavecal_ini definitions + handling prototypes</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifndef SINFO_FINDDIST_CFG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_FINDDIST_CFG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> New types</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> Wavelength calibration blackboard container</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> This structure holds all information related to the wavelength calibration</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> routine. It is used as a container for the flux of ancillary data,</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> computed values, and algorithm status. Pixel flux is separated from</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> the blackboard.</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>finddist_config {</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*-------General---------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">char</span> inFrame[FILE_NAME_SZ] ; <span class="comment">/* input emission line frame */</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">char</span> lineList[FILE_NAME_SZ] ; <span class="comment">/* input wavelength and intensity </span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> line list */</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">char</span> outName[FILE_NAME_SZ] ; <span class="comment">/* output name of resulting fits </span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> wavelength map */</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">char</span> nsFrame[FILE_NAME_SZ] ; <span class="comment">/* input north-south frame */</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">char</span> mask[FILE_NAME_SZ] ; <span class="comment">/* input north-south frame */</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">char</span> fitsname[FILE_NAME_SZ] ; </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">char</span> drs_setup[FILE_NAME_SZ] ; </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">/*------ FindLines ------*/</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/* estimated central wavelength of the image */</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">float</span> guessBeginWavelength ;</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">/* estimated linear dispersion of emission line frame */</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">float</span> guessDispersion1 ;</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">/* estimated square dispersion of emission line frame */</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">float</span> guessDispersion2 ;</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">/* minimal difference of mean and sinfo_median column intensity */</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">float</span> mindiff ;</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">/* half width of a box within which the line must sit */</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">int</span> halfWidth ;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">/* sigma of Gaussian of artificial model spectra */</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">float</span> sigma ; </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">/*------ WaveCalib ------*/</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">/* guess value for fwhm of emission lines */</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">float</span> fwhm ;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/* minimum amplitude of a line to be fitted */</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">float</span> minAmplitude ;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/* maximal residual value for a valid fit */</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">float</span> maxResidual ;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">/* # of polynomial coefficients used for the dispersion relation */</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">int</span> nrDispCoefficients ;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">/* # of polynomial coefficients used for the fit of the dispersion </span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> coefficients */</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keywordtype">int</span> nrCoefCoefficients ;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment">/* minimal factor of the standard deviation of the fit coefficients */</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">float</span> sigmaFactor ;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment">/* number of slitlets */</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordtype">int</span> nslitlets ;</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">/* minimal pixel distance of slitlets in spectral direction */</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">int</span> pixeldist ;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment">/* allowed pixel position tolerance between estimated and </span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"> fitted line position */</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordtype">float</span> pixel_tolerance ;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment">/*------ WaveMap ------*/</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment">/* magnifying factor for FFT */</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">int</span> magFactor ;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment">/*------ FitSlits ------*/</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment">/* pixel length of the row box within which the fit of the </span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"> slitlet positions is carried out*/</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">int</span> boxLength ;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment">/* lower row position for the estimate fit */</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">int</span> loPos ;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment">/* upper row position for the estimate fit */</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordtype">int</span> hiPos ;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment">/* float box half width in spectral direction */</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keywordtype">float</span> yBox ;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">/* maximal tolerable difference to the expected slitlet positions */</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">float</span> diffTol ;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment">/*------ NorthSouthTest ------*/</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">/* number of slitlets */</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">int</span> nslits ; </div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment">/* pixel half width of a box within which the spatial </span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment"> profile is fitted by a Gaussian */</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">int</span> nshalfWidth ;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment">/* first guess of the fwhm of the Gaussian fit function */</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">float</span> nsfwhm ;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment">/* minimum amplitude above which the fit is carried out */</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">float</span> minDiff ;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment">/* estimated average distance of spectra */</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">float</span> estimated_dist ;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment">/* maximal pixel tolerance of the slitlet distances */</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordtype">float</span> devtol ;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">/*----qg log --------*/</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">int</span> qc_thresh_min;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordtype">int</span> qc_thresh_max;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> } finddist_config ;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment"> Function prototypes</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> finddist_config * </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> sinfo_finddist_cfg_create(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> sinfo_finddist_cfg_destroy(finddist_config * jc);</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__finddist__ini_8h_source.html b/html/sinfo__finddist__ini_8h_source.html
deleted file mode 100644
index 5926e71..0000000
--- a/html/sinfo__finddist__ini_8h_source.html
+++ /dev/null
@@ -1,94 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_finddist_ini.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_finddist_ini.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_wavecal_ini.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Sept 14, 2001</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : wavelength calibration ini file handling for SPIFFI</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifndef SINFO_FINDDIST_INI_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_FINDDIST_INI_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "sinfo_finddist_cfg.h"</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> generatefinddist_ini_file(</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">char</span> * ini_name,</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">char</span> * name_i,</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">char</span> * name_o,</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">char</span> * name_n,</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">char</span> * name_c</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> );</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> finddist_config * </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> parse_finddist_ini_file(<span class="keywordtype">char</span> * ini_name) ;</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__finddist__ini__by__cpl_8c_source.html b/html/sinfo__finddist__ini__by__cpl_8c_source.html
deleted file mode 100644
index 2635460..0000000
--- a/html/sinfo__finddist__ini__by__cpl_8c_source.html
+++ /dev/null
@@ -1,490 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_finddist_ini_by_cpl.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_finddist_ini_by_cpl.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_finddist_ini_by_cpl.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Aug 12, 2004</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : distortion, slitlet distances, first column CPL input </span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> handling for SINFONI</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_finddist_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_hidden.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_raw_types.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_ref_types.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> Functions private to this module</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> parse_section_frames(finddist_config *, cpl_parameterlist* cpl_cfg, </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> cpl_frameset* sof, cpl_frameset** raw, <span class="keywordtype">int</span>* status);</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> parse_section_findlines(finddist_config *, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> parse_section_wavecalib(finddist_config *, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> parse_section_wavemap(finddist_config *, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> parse_section_fitslits(finddist_config *, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> parse_section_northsouthtest(finddist_config *, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> parse_section_qclog (finddist_config * cfg, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> finddist_config * </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> sinfo_parse_cpl_input_finddist(cpl_parameterlist * cpl_cfg, </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> cpl_frameset** raw)</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> {</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> finddist_config * cfg ;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">int</span> status =0;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> cfg = sinfo_finddist_cfg_create();</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> parse_section_findlines (cfg, cpl_cfg);</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> parse_section_wavecalib (cfg, cpl_cfg);</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> parse_section_wavemap (cfg, cpl_cfg); </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> parse_section_fitslits (cfg, cpl_cfg); </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> parse_section_northsouthtest (cfg, cpl_cfg);</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> parse_section_qclog(cfg,cpl_cfg);</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> parse_section_frames (cfg, cpl_cfg, sof, raw, &status);</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordflow">if</span> (status > 0) {</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"parsing cpl input"</span>);</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> sinfo_finddist_cfg_destroy(cfg);</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> cfg = NULL ;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> }</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordflow">return</span> cfg ;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> }</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> parse_section_frames(finddist_config * cfg,</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> cpl_parameterlist * cpl_cfg,</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> cpl_frameset * sof,</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> cpl_frameset** raw,</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">int</span>* status)</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> {</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordtype">int</span> nframes=0;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keywordtype">int</span> nraw=0;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> cpl_frame* frame = NULL;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> cpl_parameter *p; </div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordtype">char</span> spat_res[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordtype">char</span> lamp_status[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keywordtype">char</span> band[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordtype">int</span> ins_set=0;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> cpl_table* drs_tab=NULL;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> wcal* w=NULL;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keywordtype">int</span> check=0;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> nstpar* nstp=NULL;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> distpar* d=NULL;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> d=sinfo_distpar_new();</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> w=sinfo_wcal_new();</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> nframes = cpl_frameset_get_size(sof);</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment">/* Get the raw and the calibration files */</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> sinfo_extract_raw_frames_type(sof,raw,PRO_FIBRE_NS_STACKED);</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> nraw=cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keywordflow">if</span> (nraw < 1) {</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Too few (%d) raw frames (%s) present "</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="stringliteral">"in frameset!Aborting..."</span>,nraw,PRO_FIBRE_NS_STACKED);</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> sinfo_distpar_delete(d);</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> sinfo_wcal_delete(w);</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> (*status)++;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> }</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_WAVE_LAMP_STACKED)) {</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> frame = cpl_frameset_find(sof,PRO_WAVE_LAMP_STACKED);</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> strcpy(cfg -> inFrame,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame %s not found! Exit!"</span>, PRO_WAVE_LAMP_STACKED);</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> sinfo_distpar_delete(d);</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> sinfo_wcal_delete(w);</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> (*status)++;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> }</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> strcpy(cfg -> outName, DISTORTION_OUT_FILENAME);</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,REF_LINE_ARC)) {</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> frame = cpl_frameset_find(sof,REF_LINE_ARC);</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> strcpy(cfg -> lineList,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame %s not found! Exit!"</span>, REF_LINE_ARC);</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> sinfo_distpar_delete(d);</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> sinfo_wcal_delete(w);</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> (*status)++;</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> }</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_FIBRE_NS_STACKED)) {</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> frame = cpl_frameset_find(sof,PRO_FIBRE_NS_STACKED);</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> strcpy(cfg -> nsFrame,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame %s not found! Exit!"</span>, PRO_FIBRE_NS_STACKED);</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> sinfo_distpar_delete(d);</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> sinfo_wcal_delete(w);</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> (*status)++;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> }</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_BP_MAP_DI)) {</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> frame = cpl_frameset_find(sof,PRO_BP_MAP_DI);</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> strcpy(cfg -> mask,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame %s not found! Exit!"</span>, PRO_BP_MAP_DI);</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> sinfo_distpar_delete(d);</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> sinfo_wcal_delete(w);</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> (*status)++;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> }</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> frame = cpl_frameset_get_frame(*raw,0);</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> sinfo_get_spatial_res(frame,spat_res);</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keywordflow">switch</span>(sinfo_frame_is_on(frame)) </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> {</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keywordflow">case</span> 0: </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> strcpy(lamp_status,<span class="stringliteral">"on"</span>);</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="keywordflow">case</span> 1: </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> strcpy(lamp_status,<span class="stringliteral">"off"</span>);</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keywordflow">case</span> -1:</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordflow">default</span>: </div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> }</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> sinfo_get_band(frame,band);</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> sinfo_msg(<span class="stringliteral">"Spatial resolution: %s lamp_status: %s band: %s \n"</span>,</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> spat_res, lamp_status, band);</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> sinfo_get_ins_set(band,&ins_set);</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,DRS_SETUP_WAVE)) {</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> frame = cpl_frameset_find(sof,DRS_SETUP_WAVE);</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> strcpy(cfg -> drs_setup,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> drs_tab = cpl_table_load(cfg->drs_setup,1,0);</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> w->wstart=cpl_table_get_double(drs_tab,<span class="stringliteral">"W_START"</span>,ins_set,&check);</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> w->wgdisp1=cpl_table_get_double(drs_tab,<span class="stringliteral">"W_DISP1"</span>,ins_set,&check);</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> w->wgdisp2=cpl_table_get_double(drs_tab,<span class="stringliteral">"W_DISP2"</span>,ins_set,&check);</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> w->hw=cpl_table_get_int(drs_tab,<span class="stringliteral">"W_HW"</span>,ins_set,&check);</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> w->fwhm=cpl_table_get_double(drs_tab,<span class="stringliteral">"W_FWHM"</span>,ins_set,&check);</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> w->min_amp=cpl_table_get_double(drs_tab,<span class="stringliteral">"W_MIN_AMP"</span>,ins_set,&check);</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="comment"> w->min_dif=cpl_table_get_double(drs_tab,"W_MIN_DIF",ins_set,&check);</span></div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="comment"> w->na_coef=cpl_table_get_int(drs_tab,"W_NA_COEFF",ins_set,&check);</span></div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="comment"> w->nb_coef=cpl_table_get_int(drs_tab,"W_NB_COEFF",ins_set,&check);</span></div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="comment"> w->pixel_tol=cpl_table_get_double(drs_tab,"W_PIX_TOL",ins_set,&check);</span></div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="comment"> w->y_box=cpl_table_get_double(drs_tab,"W_Y_BOX",ins_set,&check);</span></div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> w->low_pos=cpl_table_get_int(drs_tab,<span class="stringliteral">"W_LOW_POS"</span>,ins_set,&check);</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> w->hig_pos=cpl_table_get_int(drs_tab,<span class="stringliteral">"W_HI_POS"</span>,ins_set,&check);</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> cfg -> guessBeginWavelength = w->wstart;</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> cfg -> guessDispersion1 = w->wgdisp1;</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> cfg -> guessDispersion2 = w->wgdisp2;</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> cfg -> halfWidth = w->hw;</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> cfg -> fwhm = w->fwhm;</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> cfg -> minAmplitude = w->min_amp;</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="comment"> cfg -> mindiff = w->min_dif;</span></div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="comment"> cfg -> nrDispCoefficients = w->na_coef;</span></div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="comment"> cfg -> nrCoefCoefficients = w->nb_coef;</span></div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="comment"> cfg -> pixel_tolerance = w->pixel_tol;</span></div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="comment"> cfg -> yBox = w->y_box;</span></div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> cfg -> loPos = DISTORTION_LOPOS;</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> cfg -> hiPos = DISTORTION_HIPOS;</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> cfg -> pixel_tolerance = w->pixel_tol;</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> cfg-> diffTol = d->diff_tol[ins_set];</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="comment"> sinfo_msg("cfg->guessBeginWavelength %g",cfg -> guessBeginWavelength);</span></div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="comment"> sinfo_msg("cfg->guessDispersion1 %g",cfg -> guessDispersion1);</span></div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="comment"> sinfo_msg("cfg->guessDispersion2 %g",cfg -> guessDispersion2);</span></div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="comment"> sinfo_msg("cfg->mindiff %g",cfg -> mindiff);</span></div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="comment"> sinfo_msg("cfg->halfWidth %d",cfg -> halfWidth);</span></div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="comment"> sinfo_msg("cfg->fwhm %g",cfg -> fwhm);</span></div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="comment"> sinfo_msg("cfg->minAmplitude %g",cfg -> minAmplitude);</span></div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="comment"> sinfo_msg("cfg->nrDispCoefficients %d",cfg -> nrDispCoefficients);</span></div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="comment"> sinfo_msg("cfg->nrCoefCoefficients %d",cfg -> nrCoefCoefficients);</span></div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="comment"> sinfo_msg("cfg->pixel_tolerance %g",cfg -> pixel_tolerance);</span></div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="comment"> sinfo_msg("cfg->loPos %d",cfg -> loPos);</span></div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="comment"> sinfo_msg("cfg->hiPos %d",cfg -> hiPos);</span></div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="comment"> sinfo_msg("cfg->yBox %f",cfg -> yBox);</span></div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> sinfo_distpar_delete(d);</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> sinfo_wcal_delete(w);</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> cpl_table_delete(drs_tab);</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="keywordflow">if</span>(-1 == sinfo_check_rec_status(0)) {</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> (*status)++;</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> }</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame %s not found! Exit!"</span>, DRS_SETUP_WAVE);</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> sinfo_distpar_delete(d);</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> sinfo_wcal_delete(w);</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> (*status)++;</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> }</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> nstp=sinfo_nstpar_new(); </div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.distortion.ns_fwhm"</span>);</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="keywordflow">if</span>(cpl_parameter_get_default_flag(p) == 0) {</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> cfg->nsfwhm=nstp->fwhm[ins_set];</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> cfg->nsfwhm=cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> }</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.distortion.min_diff"</span>);</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="keywordflow">if</span>(cpl_parameter_get_default_flag(p) == 0) {</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> cfg->minDiff=nstp->min_dif[ins_set];</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> cfg->minDiff=cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> }</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> sinfo_nstpar_delete(nstp);</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="comment">//sinfo_msg("cfg -> nsfwhm %f",cfg -> nsfwhm);</span></div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="comment">//sinfo_msg("cfg -> minDiff %f",cfg -> minDiff);</span></div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> </div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> }</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> </div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> parse_section_findlines(finddist_config * cfg,cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> {</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> p = cpl_parameterlist_find(cpl_cfg, </div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="stringliteral">"sinfoni.distortion.min_diff_mean_med_col_int"</span>);</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> cfg -> mindiff = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> </div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.distortion.half_width"</span>);</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> cfg -> halfWidth = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> </div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.distortion.sigma"</span>);</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> cfg -> sigma = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> return ;</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> }</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> parse_section_wavecalib(finddist_config * cfg,cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> {</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> </div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.distortion.fwhm"</span>);</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> cfg -> fwhm = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> </div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.distortion.min_amplitude"</span>);</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> cfg -> minAmplitude = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.distortion.max_residual"</span>);</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> cfg -> maxResidual = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.distortion.n_a_coefficients"</span>);</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> cfg -> nrDispCoefficients = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.distortion.n_b_coefficients"</span>);</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> cfg -> nrCoefCoefficients = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> </div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.distortion.sigma_factor"</span>);</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> cfg -> sigmaFactor = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> </div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> </div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> cfg -> nslitlets = NSLITLETS;</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.distortion.pixel_dist"</span>);</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> cfg -> pixeldist = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> </div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.distortion.pixel_tol"</span>);</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> cfg -> pixel_tolerance = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> </div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> </div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> </div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> }</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> </div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> parse_section_wavemap(finddist_config * cfg,cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> {</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> </div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.distortion.mag_factor"</span>);</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> cfg -> magFactor = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> </div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> }</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> </div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> parse_section_fitslits(finddist_config * cfg,cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> {</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> </div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> </div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> cfg -> loPos = DISTORTION_LOPOS;</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> cfg -> hiPos = DISTORTION_HIPOS;</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> </div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.distortion.box_length"</span>);</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> cfg -> boxLength = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> </div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.distortion.y_box"</span>);</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> cfg -> yBox = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> </div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.distortion.diff_tol"</span>);</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> cfg -> diffTol = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> </div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> }</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> </div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> parse_section_qclog (finddist_config * cfg, cpl_parameterlist* cpl_cfg)</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> {</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> </div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.distortion.qc_thresh_min"</span>);</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> cfg -> qc_thresh_min = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> </div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> </div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.distortion.qc_thresh_max"</span>);</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> cfg -> qc_thresh_max = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> </div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> }</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> </div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> </div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> parse_section_northsouthtest(finddist_config * cfg,cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> {</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> </div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> cpl_parameter *p; </div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> strcat(cfg -> fitsname, DISTORTION_NS_OUT_FILENAME);</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> </div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> cfg -> nslits = NSLITLETS;</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> </div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.distortion.ns_half_width"</span>);</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> cfg -> nshalfWidth = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> </div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.distortion.ns_fwhm"</span>);</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> cfg -> nsfwhm = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> </div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.distortion.min_diff"</span>);</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> cfg -> minDiff = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> </div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> cfg -> estimated_dist = ESTIMATED_SLITLETS_DISTANCE;</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> </div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.distortion.dev_tol"</span>);</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> cfg -> devtol = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> </div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> return ;</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> </div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> }</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> </div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> sinfo_finddist_free(finddist_config ** cfg)</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> { </div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> </div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <span class="keywordflow">if</span>(*cfg!=NULL) {</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> sinfo_finddist_cfg_destroy(*cfg);</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> *cfg=NULL;</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> }</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> </div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__finddist__ini__by__cpl_8h_source.html b/html/sinfo__finddist__ini__by__cpl_8h_source.html
deleted file mode 100644
index d934ffc..0000000
--- a/html/sinfo__finddist__ini__by__cpl_8h_source.html
+++ /dev/null
@@ -1,94 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_finddist_ini_by_cpl.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_finddist_ini_by_cpl.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_finddist_ini_by_cpl.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Aug 12, 2004</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : Distortions, slitlets distances, </span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> first column determination cpl input </span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> parameters parsing for SINFONI</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef SINFO_FINDDIST_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_FINDDIST_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_finddist_cfg.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> finddist_config * </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> sinfo_parse_cpl_input_finddist(cpl_parameterlist * cpl_cfg, </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> cpl_frameset** raw);</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> sinfo_finddist_free(finddist_config ** cfg);</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__fit_8c_source.html b/html/sinfo__fit_8c_source.html
deleted file mode 100644
index ee8b1c0..0000000
--- a/html/sinfo__fit_8c_source.html
+++ /dev/null
@@ -1,419 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_fit.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_fit.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor"></span><span class="preprocessor">#include <sinfo_fit.h></span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">static</span> <span class="keywordtype">double</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> sinfo_spline(<span class="keywordtype">double</span> x,</div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="keywordtype">double</span> cons[],</div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keywordtype">double</span> ak[],</div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="keywordtype">double</span> *sp,</div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keywordtype">double</span> *spp,</div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keywordtype">double</span> *sppp,</div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keywordtype">int</span> n);</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">double</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> sinfo_amsub(<span class="keywordtype">double</span> d0[],</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">double</span> d1[],</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">double</span> d2[],</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">double</span> value[],</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keywordtype">double</span> range[],</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">double</span> tol,</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">int</span> ivorf[], </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">int</span> ncon,</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keywordtype">int</span> nref,</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">double</span>(*ftbm)(<span class="keywordtype">double</span>[],<span class="keywordtype">int</span> ncon)) </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> {</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">double</span> alpha=1.0,loc_gamma=1.5;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">double</span> sf,bsave,temp,sum,cval,ccval,beta;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">int</span> idone,nvar,nvec,nrefl,i,j,k,kd1,kval,isign,jvar,imin,imax,i2max,</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> it1,it2,itemp;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> idone=0;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> isign=1;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">// we require that nvec=nvar+1, define nvar</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> nvar=0;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordflow">for</span>(i=0;i<ncon;++i) {</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keywordflow">if</span>(ivorf[i] == 1) {</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> nvar=nvar+1;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> }</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> }</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> nvec=nvar+1;</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">// sf is the 'shrink' factor</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> sf=1e5*nvec;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> nrefl=0;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> value[0]=(*ftbm)(d2,ncon);</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">// sinfo_msg("value[0] = %lg",value[0]);</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment">// initial and shrink calculation of the d1 array, uses range</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment">// set d2 in the first position -- using Fortran convention of 1st</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment">// array element moving first</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> cont20:</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> kd1=-1;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordflow">for</span>(i=0;i<ncon;++i) {</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keywordflow">if</span>(ivorf[i]==1) {</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> kd1=kd1+1;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> d1[kd1]=d2[i];</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> }</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> }</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment">// now for the next nvar values</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> kval=0;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordflow">for</span>(jvar=0;jvar<ncon;++jvar) {</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordflow">if</span>(ivorf[jvar] == 1) {</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> kval=kval+1;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> bsave=d2[jvar];</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> isign=-isign;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> d2[jvar]=d2[jvar]+isign*range[jvar];</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> value[kval]=(*ftbm)(d2,ncon);</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordflow">for</span>(i=0;i<ncon;++i) {</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordflow">if</span>(ivorf[i]==1) {</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> kd1=kd1+1;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> d1[kd1]=d2[i];</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> }</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> }</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> d2[jvar]=bsave;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> }</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> }</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">// sinfo_msg(" d1 ");</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment">// for (j=0;j<nvec;++j) {</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment">// for(i=0;i<nvar;++i) {</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment">// sinfo_msg("%12.4lg ",d1[i+j*nvar]);</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">// }</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment">// }</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment">/* find highest, second highest, and minimum values</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment"> imax points to the vector with the largest value</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment"> i2max points to the vector with the second largest value</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment"> imin points to the vector with the smallest value */</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> cont40:</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> imin=1;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">if</span>(value[0]>value[1]) {</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> imax=0;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> i2max=1;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> imax=1;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> i2max=0;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> }</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">for</span>(i=0;i<nvec;++i) {</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordflow">if</span>(value[i]<value[imin]) imin=i;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordflow">if</span>(value[i]>value[imax]) {</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> i2max=imax;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> imax=i;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>( (value[i]>value[i2max]) && (i != imax) ) {</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> i2max=i;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> }</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> }</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment">// sinfo_msg(" values after sorting ");</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment">// for(i=0;i<nvec;++i)sinfo_msg("%12.4lg ",value[i]);</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment">// sinfo_msg("imin %d,i2max %d,imax %d",imin,i2max,imax); </span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment">// scanf("%d",&itest);</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment">// check if done</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">if</span>(nrefl>=nref) {</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> sinfo_msg(<span class="stringliteral">" maximum number of reflection reached"</span>);</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> idone=1;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keywordflow">goto</span> cont400;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> }</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordflow">if</span>(value[imin]!=0.0) {</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> temp=(value[imax]-value[imin])/value[imin];</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keywordflow">if</span>(fabs(temp)<=tol) {</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> sinfo_msg(<span class="stringliteral">" reached tolerance %lg temp %lg tol"</span>,temp,tol);</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> idone=1;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordflow">goto</span> cont400;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> }</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> }</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keywordflow">if</span>(value[imax]-value[imin]<=tol) {</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> sinfo_msg(<span class="stringliteral">"value[max]-value[min]<=tol"</span>);</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> idone=1;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keywordflow">goto</span> cont400;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> }</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment">// *** form d0 the average of all but imax</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">for</span>(j=0;j<nvar;++j) {</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> sum=0.0;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordflow">for</span>(i=0;i<nvec;++i) {</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keywordflow">if</span>(i!=imax)sum=sum+d1[i*nvar+j];</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> }</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> d0[j]=sum/(nvec-1);</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> }</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment">// sinfo_msg(" D0 values ");</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment">// for(i=0;i<nvar;++i)sinfo_msg("%12.4lg ",d0[i]);</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment">// scanf("%d",&itest);</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment">// reflection</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> nrefl=nrefl+1;</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> k=-1;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordflow">for</span>(j=0;j<ncon;++j) {</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordflow">if</span>(ivorf[j]==1) {</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> k=k+1;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> it1=imax*nvar+k;</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> d2[j]=(1+alpha)*d0[k]-alpha*d1[it1];</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> }</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> }</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment">// sinfo_msg(" refl d2 ");</span></div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment">// for(i=0;i<nvar;++i) sinfo_msg("%12.4lg ",d2[i]);</span></div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> cval=(*ftbm)(d2,ncon);</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment">// sinfo_msg("refl ftbm %lg",cval); </span></div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment">// value is higher than i2max so do contraction</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordflow">if</span>(cval>=value[i2max]) <span class="keywordflow">goto</span> cont200;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment">// value is less than i2max - normal - update d1 and value</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> value[imax]=cval;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> k=-1;</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keywordflow">for</span>(j=0;j<ncon;++j) {</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordflow">if</span>(ivorf[j]==1) {</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> k=k+1;</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> it1=imax*nvar+k;</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> d1[it1]=d2[j];</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> }</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> }</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="comment">// value is less than imin, try expansion</span></div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="keywordflow">if</span>(cval<value[imin]) <span class="keywordflow">goto</span> cont300;</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keywordflow">goto</span> cont40;</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="comment">// contraction</span></div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> cont200:</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="comment">// sinfo_msg(" contraction ");</span></div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> beta=0.75;</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keywordflow">for</span>(itemp=0;itemp<3;++itemp) {</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordflow">if</span>(cval<=value[imax]) {</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> value[imax]=cval;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> k=-1;</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordflow">for</span>(j=0;j<ncon;++j) {</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordflow">if</span>(ivorf[j]==1) {</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> k=k+1;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> it1=imax*nvar+k;</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> d1[it1]=d2[j];</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> }</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> }</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> }</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> k=-1;</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordflow">for</span>(j=0;j<ncon;++j) {</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="keywordflow">if</span>(ivorf[j]==1) {</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> k=k+1;</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> it1=imax*nvar+k;</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> d2[j]=beta*d1[it1]+(1.-beta)*d0[k];</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> }</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> }</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> cval=ftbm(d2,ncon);</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="comment">// sinfo_msg(" contraction beta %lg cval %lg ",beta,cval);</span></div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="comment">// value is better</span></div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="keywordflow">if</span>(cval<value[i2max]) {</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> value[imax]=cval;</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> k=-1;</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keywordflow">for</span>(j=0;j<ncon;++j) {</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keywordflow">if</span>(ivorf[j]==1) {</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> k=k+1;</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> it1=imax*nvar+k;</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> d1[it1]=d2[j];</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> }</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> }</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">if</span>(cval<value[imin]) sinfo_msg(<span class="stringliteral">" contraction minimum %lg"</span>,cval);</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keywordflow">goto</span> cont40;</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> }</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> beta=beta-0.25;</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> }</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> sinfo_msg(<span class="stringliteral">" contraction failed ==>shrink"</span>);</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="comment">// scanf("%d",&itest);</span></div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="comment">// value is worse so shrink it</span></div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="keywordflow">goto</span> cont400;</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="comment">// expansion</span></div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> cont300:</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> sinfo_msg(<span class="stringliteral">" reflection min %lg \n"</span>, cval);</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> k=-1;</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="keywordflow">for</span>(j=0;j<ncon;++j) {</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keywordflow">if</span>(ivorf[j]==1) {</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> k=k+1;</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> d2[j]=loc_gamma*d2[j]+(1.-loc_gamma)*d0[k];</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> }</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> }</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> ccval=(*ftbm)(d2,ncon);</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="comment">// value is higher than reflected value ==> discard</span></div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="keywordflow">if</span>(ccval>cval) <span class="keywordflow">goto</span> cont40;</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="comment">// value is better so use it rather than the reflected point</span></div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> sinfo_msg(<span class="stringliteral">" expansion minimum %lg \n"</span>,ccval);</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> value[imax]=ccval;</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> k=-1;</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keywordflow">for</span>(j=0;j<ncon;++j) {</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keywordflow">if</span>(ivorf[j]==1) {</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> k=k+1;</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> it1=imax*nvar+k;</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> d1[it1]=d2[j];</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> }</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> }</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="keywordflow">goto</span> cont40;</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> cont400:</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="comment">// sinfo_msg(" following cont400 ");</span></div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="comment">// scanf("%d",&itest);</span></div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="comment">// recalculate d2 and range</span></div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="comment">// the range is the average of dist**2 from d1 with min value</span></div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> k=-1;</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="keywordflow">for</span>(j=0;j<ncon;++j) {</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="keywordflow">if</span>(ivorf[j]==1) {</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> k=k+1;</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> it1=imin*nvar+k;</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> d2[j]=d1[it1];</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> sum=0.0;</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="keywordflow">for</span>(i=0;i<nvec;++i) {</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> it1=i*nvar+k;</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> it2=imin*nvar+k;</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> sum=sum+(d1[it1]-d1[it2])*(d1[it1]-d1[it2]);</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> }</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> range[j]=sf*sqrt(sum/(nvec-1));</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> }</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> }</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> value[1]=value[imin];</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> sf=.75*sf;</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="keywordflow">if</span>(sf<0.1)idone=1;</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> sinfo_msg(<span class="stringliteral">" shrink factor %lg "</span>,sf);</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="keywordflow">if</span>(idone!=1)<span class="keywordflow">goto</span> cont20;</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="keywordflow">return</span> value[1];</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> }</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="keyword">static</span> <span class="keywordtype">double</span> </div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> sinfo_spline(<span class="keywordtype">double</span> x,</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="keywordtype">double</span> cons[],</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="keywordtype">double</span> ak[],</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="keywordtype">double</span> *sp,</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="keywordtype">double</span> *spp,</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="keywordtype">double</span> *sppp,</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="keywordtype">int</span> n)</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> {</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="keywordtype">double</span> retval=0;</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="keywordtype">double</span> xm=0;</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="keywordtype">double</span> xm2=0;</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="keywordtype">double</span> xm3=0;</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> </div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> *sp=0;</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> *spp=0;</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> *sppp=0;</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> </div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="keywordflow">for</span>(i=0;i<n;++i) {</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="keywordflow">if</span>(ak[i] >= x) {</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> xm=ak[i]-x;</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> xm2=xm*xm;</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> xm3=xm*xm2;</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> sinfo_msg(<span class="stringliteral">"cons=%g"</span>,cons[i]);</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> retval+=cons[i]*xm3;</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> *sp-=3*cons[i]*xm2;</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> *spp+=6*cons[i]*xm;</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> *sppp-=6*cons[i];</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> }</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> }</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> sinfo_msg(<span class="stringliteral">"1x=%g retval=%g"</span>,x,retval);</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="keywordflow">return</span> retval;</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> </div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> }</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> </div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> </div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="keywordtype">double</span> </div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> sinfo_ftbm(<span class="keyword">const</span> <span class="keywordtype">double</span> x, <span class="keywordtype">double</span> cons[])</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> {</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="keywordtype">double</span> retval=0;</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="keywordtype">double</span> ak[4]={-1,-.666666666666666,-.333333333333,0};</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="keywordtype">double</span> sm1=0;</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="keywordtype">double</span> spm1=0;</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="keywordtype">double</span> sppm1=0;</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="keywordtype">double</span> spppm1=0;</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> </div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="keywordtype">int</span> n=4;</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> sm1=sinfo_spline(x,cons,ak,&spm1,&sppm1,&spppm1,n)-1;</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> sinfo_msg(<span class="stringliteral">"x=%g val=%g"</span>,x,sm1+1);</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> retval=sm1*sm1+spm1*spm1+sppm1*sppm1+spppm1*spppm1;</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> sinfo_msg(<span class="stringliteral">"fitbm: x=%g retval=%g"</span>,x,retval);</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> </div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keywordflow">return</span> retval;</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> </div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> }</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> </div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> </div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__fit_8h_source.html b/html/sinfo__fit_8h_source.html
deleted file mode 100644
index 867d618..0000000
--- a/html/sinfo__fit_8h_source.html
+++ /dev/null
@@ -1,85 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_fit.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_fit.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#ifndef SINFO_FIT_H</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_FIT_H</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor"></span><span class="keywordtype">double</span> </div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> sinfo_amsub(<span class="keywordtype">double</span> d0[],</div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="keywordtype">double</span> d1[],</div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="keywordtype">double</span> d2[],</div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="keywordtype">double</span> value[],</div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="keywordtype">double</span> range[],</div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="keywordtype">double</span> tol,</div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="keywordtype">int</span> ivorf[], </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="keywordtype">int</span> ncon,</div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="keywordtype">int</span> nref,</div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="keywordtype">double</span>(*ftbm)(<span class="keywordtype">double</span>[],<span class="keywordtype">int</span> ncon));</div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keywordtype">double</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> sinfo_ftbm(<span class="keyword">const</span> <span class="keywordtype">double</span> x, <span class="keywordtype">double</span> cons[]);</div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__fit__curve_8c_source.html b/html/sinfo__fit__curve_8c_source.html
deleted file mode 100644
index cf4dfce..0000000
--- a/html/sinfo__fit__curve_8c_source.html
+++ /dev/null
@@ -1,177 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_fit_curve.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_fit_curve.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : fit_curve.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : N. Devillard</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : July 1998</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : 1d and 2d fit related routines</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> $Id: sinfo_fit_curve.c,v 1.4 2012/03/02 08:42:20 amodigli Exp $</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> $Author: amodigli $</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> $Date: 2012/03/02 08:42:20 $</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> $Revision: 1.4 $</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_fit_curve.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_ipow.h"</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> Private functions</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">double</span> *</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> sinfo_fit_1d_poly(</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">int</span> poly_deg,</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> dpoint * list,</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">int</span> np,</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">double</span> * mse</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> )</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> {</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">int</span> i, k ;</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> Matrix mA, mB, mX ;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">double</span> * c ;</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordtype">double</span> err ;</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">double</span> xp, y ;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordflow">if</span> (np<poly_deg+1) {</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"not enough points"</span>) ;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot fit %dth degree polynomial with %d points"</span>,</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> poly_deg, np);</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> }</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> mA = sinfo_create_mx(poly_deg+1, np) ;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> mB = sinfo_create_mx(1, np) ;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordflow">for</span> (i=0 ; i<np ; i++) {</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> mA->m[i] = 1.0 ;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordflow">for</span> (k=1 ; k<=poly_deg ; k++) {</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> mA->m[i+k*np] = sinfo_ipow(list[i].x, k) ;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> }</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> mB->m[i] = list[i].y ;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> }</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment"> * Solve XA=B by a least-square solution (aka pseudo-inverse).</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> mX = sinfo_least_sq_mx(mA,mB) ;</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"> * Delete input matrices</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> sinfo_close_mx(mA) ;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> sinfo_close_mx(mB) ;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment"> * Examine result</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordflow">if</span> (mX==NULL) {</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot fit: non-invertible sinfo_matrix"</span>) ;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> }</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> c = cpl_malloc((poly_deg+1)*<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordflow">for</span> (i=0 ; i<(poly_deg+1) ; i++) {</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> c[i] = mX->m[i] ;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> }</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> sinfo_close_mx(mX) ;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment"> * If requested, compute mean squared error</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordflow">if</span> (mse != NULL) {</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> err = 0.00 ;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keywordflow">for</span> (i=0 ; i<np ; i++) {</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> y = c[0] ;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment"> * Compute the value obtained through the fit</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordflow">for</span> (k=1 ; k<=poly_deg ; k++) {</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> xp = sinfo_ipow(list[i].x, k) ;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> y += c[k] * xp ; </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> }</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment"> * Subtract from the true value, square, accumulate</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> xp = sinfo_ipow(list[i].y - y, 2) ;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> err += xp ; </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> }</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment">/* Average the error term */</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> err /= (double)np ;</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> *mse = err ;</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> }</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordflow">return</span> c ;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> }</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__fit__curve_8h_source.html b/html/sinfo__fit__curve_8h_source.html
deleted file mode 100644
index 82c143b..0000000
--- a/html/sinfo__fit__curve_8h_source.html
+++ /dev/null
@@ -1,104 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_fit_curve.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_fit_curve.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_fit_curve.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : N. Devillard</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : July 1998</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : 1d and 2d fit related routines</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> $Id: sinfo_fit_curve.h,v 1.4 2007/06/06 07:10:45 amodigli Exp $</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> $Author: amodigli $</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> $Date: 2007/06/06 07:10:45 $</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> $Revision: 1.4 $</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#ifndef SINFO_FIT_CURVE_H</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_FIT_CURVE_H</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_matrix.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_local_types.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">double</span> *</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> sinfo_fit_1d_poly(</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">int</span> poly_deg,</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> dpoint * list,</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">int</span> np,</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">double</span> * mean_squared_error</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> ) ;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__flat__cfg_8c_source.html b/html/sinfo__flat__cfg_8c_source.html
deleted file mode 100644
index e716c74..0000000
--- a/html/sinfo__flat__cfg_8c_source.html
+++ /dev/null
@@ -1,101 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_flat_cfg.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_flat_cfg.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_flat_cfg.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : March 2002</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : prepare flatfield frames configuration handling tools</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "sinfo_flat_cfg.h"</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> flat_config * sinfo_flat_cfg_create(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> {</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordflow">return</span> cpl_calloc(1, <span class="keyword">sizeof</span>(flat_config));</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> }</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">void</span> sinfo_flat_cfg_destroy(flat_config * sc)</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> {</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordflow">if</span> (sc==NULL) return ;</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">/* Free list of frame types */</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">/*cpl_free(sc->frametype);*/</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">/* Free positions */</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">/*cpl_free(sc->frameposition);*/</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">/* Free main struct */</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> cpl_free(sc);</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> return ;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__flat__cfg_8h_source.html b/html/sinfo__flat__cfg_8h_source.html
deleted file mode 100644
index 0ddb7aa..0000000
--- a/html/sinfo__flat__cfg_8h_source.html
+++ /dev/null
@@ -1,191 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_flat_cfg.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_flat_cfg.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_flat_cfg.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : march 2002</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : flat_ini definitions + handling prototypes</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifndef SINFO_FLAT_CFG_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_FLAT_CFG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <stdlib.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> New types</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> prepare lamp flat fields blackboard container</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> This structure holds all information related to the flatfield handling</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> routine. It is used as a container for the flux of ancillary data,</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> computed values, and algorithm status. Pixel flux is separated from</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> the blackboard.</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>flat_config {</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*-------General---------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">char</span> inFile[FILE_NAME_SZ] ; <span class="comment">/* file name of the file containing the </span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> list of all input frames */</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">char</span> outName[FILE_NAME_SZ] ; <span class="comment">/* output name of resulting fits </span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> wavelength map */</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">char</span> ** framelist ; <span class="comment">/* list of frames */</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">int</span> * frametype ; <span class="comment">/* list of frame types on or off */</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">int</span> * frameposition ; <span class="comment">/* list of grating positions */</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">int</span> contains_sky ; <span class="comment">/* indicates if off or sky frames were exposed */</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">int</span> contains_dither ; <span class="comment">/* indicates if spectral dithering was applied */</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordtype">int</span> nframes ; <span class="comment">/* number of frames in frame list */</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">int</span> nobj ; <span class="comment">/* number of object frames in frame list */</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">int</span> noff ; <span class="comment">/* number of off frames in frame list */</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">int</span> nditherobj ; <span class="comment">/* number of dithered object frames in frame list */</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">int</span> nditheroff ; <span class="comment">/* number of dithered off frames in frame list */</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">/*------ CleanMean ------*/</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">/* percentage of rejected low intensity pixels */</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keywordtype">float</span> loReject ; </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">/* percentage of rejected high intensity pixels */</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">float</span> hiReject ;</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">/*------ BadPixel ------*/</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">/* indicator if the bad pixels of the flat field are known and </span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> if they should be interpolated or not */</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">int</span> interpolInd ;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">/* file name of the bad pixel mask fits file */</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">char</span> mask[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">/* maximal pixel distance from the bad pixel to which valid </span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> pixels are searched for*/</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">int</span> maxRad ;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/* file name of the slitlet sinfo_edge position list */</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">char</span> slitposList[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">/*------ BadPix ------*/</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">/* indicator if a bad pixel mask should be generated or not */</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">int</span> badInd ;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">/* name of the static bad pixel mask to be generated */</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keywordtype">char</span> maskname[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment">/* factor of noise within which the pixels are used to fit a </span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"> straight line to the column intensity */</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">float</span> sigmaFactor ;</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">/* factor of calculated standard deviation beyond which the </span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"> deviation of a pixel value from the</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"> median of the 8 nearest neighbors declares a pixel as bad */</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">float</span> factor ;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">/* number of iterations of sinfo_median filter */</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordtype">int</span> iterations ;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment">/* percentage of extreme pixel value to reject when calculating </span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"> the mean and stdev */</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordtype">float</span> badLoReject ;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">float</span> badHiReject ;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment">/* pixel coordinate of lower left edge of a rectangle zone </span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"> from which image statistics are computed */</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">int</span> llx ;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">int</span> lly ;</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">/* pixel coordinate of upper right edge of a rectangle zone from </span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment"> which image statistics are computed */</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">int</span> urx ;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">int</span> ury ;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">/*------ Thresh ------*/</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment">/* indicates if the values beyond threshold values should be </span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment"> marked as bad before proceeding</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"> to sinfo_median filtering */</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">int</span> threshInd ;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment">/* factor to the clean standard deviation to define the </span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment"> threshold deviation from the clean mean */</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">float</span> meanfactor ;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment">/* QC LOG */</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">/* FPN */</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">int</span> qc_fpn_xmin1;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">int</span> qc_fpn_xmax1;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">int</span> qc_fpn_ymin1;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">int</span> qc_fpn_ymax1;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordtype">int</span> qc_fpn_xmin2;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordtype">int</span> qc_fpn_xmax2;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keywordtype">int</span> qc_fpn_ymin2;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">int</span> qc_fpn_ymax2;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordtype">int</span> qc_thresh_min;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordtype">int</span> qc_thresh_max;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> } flat_config ;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment"> Function prototypes</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> flat_config * </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> sinfo_flat_cfg_create(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> sinfo_flat_cfg_destroy(flat_config * sc);</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__flat__ini_8c_source.html b/html/sinfo__flat__ini_8c_source.html
deleted file mode 100644
index dd5b525..0000000
--- a/html/sinfo__flat__ini_8c_source.html
+++ /dev/null
@@ -1,593 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_flat_ini.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_flat_ini.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : flat_ini.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Mar 04, 2002</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : prepare flatfield frames ini file handling for SPIFFI</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "sinfo_flat_ini.h"</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> Functions private to this module</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_general(dictionary *, flat_config *, <span class="keywordtype">int</span> *);</div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_frames(dictionary *, flat_config *, <span class="keywordtype">int</span> *);</div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_cleanmean(dictionary *, flat_config *, <span class="keywordtype">int</span> *);</div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_badpixel(dictionary *, flat_config *, <span class="keywordtype">int</span> *);</div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_badpix(dictionary *, flat_config *, <span class="keywordtype">int</span> *);</div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_thresh(dictionary *, flat_config *, <span class="keywordtype">int</span> *);</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> flat_config * </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> parse_flat_ini_file(<span class="keywordtype">char</span> * ini_name)</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> {</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> dictionary * sym ;</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> flat_config * cfg ;</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">int</span> status ;</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keywordflow">if</span> (!sinfo_file_exists(ini_name)) {</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot find ini file [%s]: aborting"</span>, ini_name) ;</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> }</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> sym = iniparser_load(ini_name) ;</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordflow">if</span> (sym == NULL) {</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"in parsing ini file [%s]: aborting"</span>, ini_name) ;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> }</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> cfg = sinfo_flat_cfg_create();</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordflow">if</span> (cfg==NULL) {</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"allocating flat_config struct"</span>);</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> iniparser_freedict(sym) ;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> }</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> * Perform sanity checks, fill up the structure with what was</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> * found in the ini file</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> status = 0 ;</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> parse_section_general (sym, cfg, &status);</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> parse_section_frames (sym, cfg, &status);</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> parse_section_cleanmean (sym, cfg, &status);</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> parse_section_badpixel (sym, cfg, &status); </div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> parse_section_badpix (sym, cfg, &status); </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> parse_section_thresh (sym, cfg, &status); </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> iniparser_freedict(sym);</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordflow">if</span> (status>0) {</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"%d errors in ini file [%s]"</span>, status, ini_name);</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> sinfo_flat_cfg_destroy(cfg);</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> cfg = NULL ;</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> }</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordflow">return</span> cfg ;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> }</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"> Functions: parse_section_xxx()</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment"> In : symbolic table read from ini file</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment"> Out : void</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment"> Job : update a flat_config structure from what can be</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment"> found in the ini file.</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"> Notice : all of these functions update a status integer to</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment"> indicate if an error occurred, or leave it as it is if</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment"> everything went Ok.</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"></span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment"> parse_section_general()</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment"> parse_section_frames ()</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment"> parse_section_cleanmean ()</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment"> parse_section_badpixel () </span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment"> parse_section_badpix ()</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment"> parse_section_thresh ()</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment"></span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_general(</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> dictionary * sym,</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> flat_config * cfg,</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordtype">int</span> *status</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> )</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> {</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordtype">char</span> * cval ;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordtype">int</span> ival ;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment"> * General section</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> cval = iniparser_getstr(sym, <span class="stringliteral">"eclipse:versionnumber"</span>) ;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">if</span> (cval!=NULL) {</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordflow">if</span> (strcmp(cval, get_eclipse_version())) {</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"this ini file produced by version %s"</span>, cval);</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"you are running version %s"</span>, </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> get_eclipse_version());</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> }</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"no eclipse version number found in file"</span>);</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> }</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> ival = iniparser_getint(sym, <span class="stringliteral">"general:maximummemory"</span>, -1);</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keywordflow">if</span> (ival>0) sinfo_set_memory_parameter(<span class="stringliteral">"max_ram"</span>, ival);</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> ival = iniparser_getint(sym, <span class="stringliteral">"general:maximumswap"</span>, -1);</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">if</span> (ival>0) sinfo_set_memory_parameter(<span class="stringliteral">"max_swap"</span>, ival);</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> sinfo_set_verbose(iniparser_getboolean(sym, <span class="stringliteral">"general:verbose"</span>, 0));</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> sinfo_set_debug(iniparser_getboolean(sym, <span class="stringliteral">"general:debug"</span>, 0));</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> cval = iniparser_getstr(sym, <span class="stringliteral">"general:tmpdirname"</span>);</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keywordflow">if</span> (cval!=NULL) {</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> sinfo_set_tmpdirname(cval);</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> sinfo_set_tmpdirname(<span class="stringliteral">"."</span>);</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> }</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> ival = iniparser_getboolean(sym, <span class="stringliteral">"general:logfile"</span>, 0);</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordflow">if</span> (ival) {</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> cval = iniparser_getstr(sym, <span class="stringliteral">"general:logfilename"</span>);</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keywordflow">if</span> (cval!=NULL) {</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> sinfo_set_logfile(1);</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> sinfo_set_logfilename(cval);</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> sinfo_set_logfile(0) ;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> }</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> }</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> cval = iniparser_getstr(sym, <span class="stringliteral">"general:outname"</span>);</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordflow">if</span> (cval!=NULL) {</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> strcpy (cfg -> outName , cval ) ;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" OutName in the .ini file was not found!\n"</span>) ;</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> (*status)++ ;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> }</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">if</span> (sinfo_verbose_active())</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> sinfo_print_memory_parameters();</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> return ;</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> }</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_frames(</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> dictionary * sym,</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> flat_config * cfg,</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordtype">int</span> *status</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> )</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> {</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keywordtype">char</span> * listname ;</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> charmatrix * charm ;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keywordtype">int</span> i, j ;</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keywordtype">char</span> * name,</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> * type ;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="keywordtype">int</span> nval, nobj, noff ;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keywordtype">int</span> nditherobj, nditheroff ;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keywordtype">int</span> found_sky ;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keywordtype">int</span> found_dither ;</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="keywordtype">char</span> ** framelist ;</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keywordtype">int</span> * frametypes ;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keywordtype">int</span> * frameposition ;</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> listname = iniparser_getstr(sym, <span class="stringliteral">"general:infile"</span>);</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keywordflow">if</span> (sinfo_is_ascii_list(listname)!=1) {</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"file [%s] is not an ASCII list: aborting"</span>,listname);</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> (*status)++ ;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> return ;</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> }</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="comment">/* Read input char sinfo_matrix */</span></div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> charm = sinfo_charmatrix_read(listname);</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keywordflow">if</span> (charm==NULL) {</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"parsing input list [%s]"</span>, listname);</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> (*status)++;</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> return ;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> }</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment">/* Check input sinfo_matrix */</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> nval = charm->ly ;</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keywordflow">for</span> (j=0 ; j<charm->ly ; j++) {</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="comment">/* Check file existence */</span></div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> name = charmatrix_elem(charm, 0, j);</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordflow">if</span> (sinfo_file_exists(name)!=1) {</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"file [%s] declared in list does not exist"</span>, </div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> name);</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> nval -- ;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> }</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> }</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordflow">if</span> (nval<1) {</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no valid plane found in list [%s]"</span>, listname);</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> sinfo_charmatrix_del(charm);</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> (*status)++ ;</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> return ;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> }</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="comment">/* Allocate structures to go into the blackboard */</span></div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> framelist = cpl_malloc(nval * <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>*));</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> frametypes = cpl_malloc(nval * <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>));</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> frameposition = cpl_malloc(nval * <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>));</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> found_sky = 0 ;</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> found_dither = 0 ;</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> nobj = 0 ;</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> noff = 0 ;</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> nditheroff = 0 ;</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> nditherobj = 0 ;</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="comment">/* Browse through the charmatrix to get names and file types */</span></div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> i = 0 ;</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keywordflow">for</span> (j=0 ; j<charm->ly ; j++) </div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> {</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> name = charmatrix_elem(charm, 0, j);</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keywordflow">if</span> (sinfo_file_exists(name)==1) </div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> {</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="comment">/* Store file name into framelist */</span></div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> framelist[i] = cpl_strdup(name);</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="comment">/* Check if a file type is present */</span></div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">if</span> (charm->lx>1) </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> {</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="comment">/* Get file type */</span></div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> type = charmatrix_elem(charm, 1, j);</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> strlwc(type);</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="comment">/* Checking if the type contains 'off' or 'sky' */</span></div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="keywordflow">if</span> (strstr(type, <span class="stringliteral">"sky"</span>)!=NULL || strstr(type, <span class="stringliteral">"off"</span>) != NULL) </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> {</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> frametypes[i] = FRAME_OFF ;</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> found_sky = 1 ;</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="comment">/* Checking if the type contains 'pos1' or 'pos2' */</span></div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="keywordflow">if</span> (strstr(type, <span class="stringliteral">"2"</span>)!=NULL) </div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> {</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> frameposition[i] = FRAME_POS2 ;</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> found_dither = 1 ;</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> nditheroff++ ;</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> }</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> {</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> frameposition[i] = FRAME_POS1 ;</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> noff++ ;</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> }</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> }</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> {</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> frametypes[i] = FRAME_ON ;</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="comment">/* Checking if the type contains 'pos1' or 'pos2' */</span></div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="keywordflow">if</span> (strstr(type, <span class="stringliteral">"2"</span>)!=NULL) </div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> {</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> frameposition[i] = FRAME_POS2 ;</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> found_dither = 1 ;</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> nditherobj++ ;</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> } </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> {</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> frameposition[i] = FRAME_POS1 ;</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> nobj++ ;</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> }</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> }</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> } </div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> {</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="comment">/* No type means an object */</span></div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> frametypes[i] = FRAME_ON ;</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="comment">/* No type means position 1 */</span></div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> frameposition[i] = FRAME_POS1 ;</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> nobj ++ ;</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> }</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> i++ ;</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> }</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> }</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> sinfo_charmatrix_del(charm);</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="comment">/* Copy relevant information into the blackboard */</span></div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> cfg->framelist = framelist ;</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> cfg->frametype = frametypes ;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> cfg->frameposition = frameposition ;</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> cfg->nframes = nval ;</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> cfg->nobj = nobj ;</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> cfg->noff = noff ;</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> cfg->nditherobj = nditherobj ;</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> cfg->nditheroff = nditheroff ;</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> cfg->contains_sky = found_sky ;</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> cfg->contains_dither = found_dither ;</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> </div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> return ;</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> }</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_cleanmean(</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> dictionary * sym,</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> flat_config * cfg,</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="keywordtype">int</span> *status )</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> {</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="keywordtype">float</span> dval ;</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> </div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> dval = iniparser_getdouble(sym, <span class="stringliteral">"cleanmean:loreject"</span>, -1.) ;</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="keywordflow">if</span> (dval!=-1.) </div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> {</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> cfg -> loReject = dval ; </div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> }</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> {</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" LoReject in the .ini file was not found!\n"</span>) ;</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> (*status)++ ;</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> }</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> dval = iniparser_getdouble(sym, <span class="stringliteral">"cleanmean:hireject"</span>, -1.) ;</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="keywordflow">if</span> (dval!=-1.) </div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> {</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> cfg -> hiReject = dval ; </div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> }</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> {</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" hiReject in the .ini file was not found!\n"</span>) ;</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> (*status)++ ;</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> }</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> return ;</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> }</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_badpixel(</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> dictionary * sym,</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> flat_config * cfg,</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keywordtype">int</span> *status )</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> {</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordtype">int</span> ival ;</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="keywordtype">char</span> * cval ;</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> ival = iniparser_getboolean(sym, <span class="stringliteral">"badpixel:interpolind"</span>, -1) ;</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="keywordflow">if</span> (ival != -1)</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> {</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> cfg -> interpolInd = ival ;</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> }</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> {</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" interpolInd in the .ini file was not found!\n"</span>) ;</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> (*status)++ ;</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> }</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> cval = iniparser_getstr(sym, <span class="stringliteral">"badpixel:mask"</span>) ;</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="keywordflow">if</span> (cval != NULL) </div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> {</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> strcpy (cfg -> mask , cval) ;</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> }</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> {</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" mask in the .ini file was not found!\n"</span>) ;</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> (*status)++ ;</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> }</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> ival = iniparser_getint(sym, <span class="stringliteral">"badpixel:maxrad"</span>, -1) ;</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="keywordflow">if</span> (ival!=-1) </div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> {</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> cfg -> maxRad = ival ; </div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> }</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> {</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" MaxRad in the .ini file was not found!\n"</span>) ;</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> (*status)++ ;</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> }</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> cval = iniparser_getstr(sym, <span class="stringliteral">"badpixel:slitposlist"</span>) ;</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="keywordflow">if</span> (cval != NULL) </div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> {</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> strcpy (cfg -> slitposList , cval) ;</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> }</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> {</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" SlitposList in the .ini file was not found!\n"</span>) ;</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> (*status)++ ;</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> }</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> }</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> </div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_badpix(</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> dictionary * sym,</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> flat_config * cfg,</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="keywordtype">int</span> *status )</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> {</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="keywordtype">int</span> ival ;</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="keywordtype">float</span> dval ;</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="keywordtype">char</span> * cval ;</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> </div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> ival = iniparser_getboolean(sym, <span class="stringliteral">"badpix:badind"</span>, -1) ;</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="keywordflow">if</span> (ival != -1)</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> {</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> cfg -> badInd = ival ;</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> }</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> {</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" badInd in the .ini file was not found!\n"</span>) ;</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> (*status)++ ;</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> }</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> cval = iniparser_getstr(sym, <span class="stringliteral">"badpix:maskname"</span>) ;</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="keywordflow">if</span> (cval != NULL) </div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> {</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> strcpy (cfg -> maskname , cval) ;</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> }</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> {</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" mask in the .ini file was not found!\n"</span>) ;</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> (*status)++ ;</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> }</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> dval = iniparser_getdouble(sym, <span class="stringliteral">"badpix:sigmafactor"</span>, -1.) ;</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="keywordflow">if</span> (dval!=-1.)</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> {</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> cfg -> sigmaFactor = dval ;</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> }</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> {</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" sigmaFactor in the .ini file was not found!\n"</span>) ;</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> (*status)++ ;</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> }</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> dval = iniparser_getdouble(sym, <span class="stringliteral">"badpix:factor"</span>, -1.) ;</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <span class="keywordflow">if</span> (dval!=-1.)</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> {</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> cfg -> factor = dval ;</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> }</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> {</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" factor in the .ini file was not found!\n"</span>) ;</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> (*status)++ ;</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> }</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> ival = iniparser_getint(sym, <span class="stringliteral">"badpix:iterations"</span>, -1) ;</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> <span class="keywordflow">if</span> (ival!=-1)</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> {</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> cfg -> iterations = ival ;</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> }</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> {</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" iterations in the .ini file was not found!\n"</span>) ;</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> (*status)++ ;</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> }</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> dval = iniparser_getdouble(sym, <span class="stringliteral">"badpix:badloreject"</span>, -1.) ;</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="keywordflow">if</span> (dval!=-1.)</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> {</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> cfg -> badLoReject = dval ;</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> }</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> {</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" badLoReject in the .ini file was not found!\n"</span>) ;</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> (*status)++ ;</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> }</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> dval = iniparser_getdouble(sym, <span class="stringliteral">"badpix:badhireject"</span>, -1.) ;</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="keywordflow">if</span> (dval!=-1.)</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> {</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> cfg -> badHiReject = dval ;</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> }</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> {</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" badHiReject in the .ini file was not found!\n"</span>) ;</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> (*status)++ ;</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> }</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> ival = iniparser_getint(sym, <span class="stringliteral">"badpix:llx"</span>, -1) ;</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="keywordflow">if</span> (ival!=-1)</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> {</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> cfg -> llx = ival ;</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> }</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> {</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" factor in the .ini file was not found!\n"</span>) ;</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> (*status)++ ;</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> }</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> ival = iniparser_getint(sym, <span class="stringliteral">"badpix:lly"</span>, -1) ;</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="keywordflow">if</span> (ival!=-1)</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> {</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> cfg -> lly = ival ;</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> }</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> {</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" factor in the .ini file was not found!\n"</span>) ;</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> (*status)++ ;</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> }</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> ival = iniparser_getint(sym, <span class="stringliteral">"badpix:urx"</span>, -1) ;</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="keywordflow">if</span> (ival!=-1)</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> {</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> cfg -> urx = ival ;</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> }</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> {</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" factor in the .ini file was not found!\n"</span>) ;</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> (*status)++ ;</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> }</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> ival = iniparser_getint(sym, <span class="stringliteral">"badpix:ury"</span>, -1) ;</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> <span class="keywordflow">if</span> (ival!=-1)</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> {</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> cfg -> ury = ival ;</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> }</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> {</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" factor in the .ini file was not found!\n"</span>) ;</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> (*status)++ ;</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> }</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> return ;</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> }</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> </div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_thresh(</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> dictionary * sym,</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> flat_config * cfg,</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="keywordtype">int</span> *status )</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> {</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> <span class="keywordtype">int</span> ival ;</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> <span class="keywordtype">float</span> dval ;</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> </div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> ival = iniparser_getboolean(sym, <span class="stringliteral">"thresh:threshind"</span>, -1) ;</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="keywordflow">if</span> (ival != -1)</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> {</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> cfg -> threshInd = ival ;</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> }</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> {</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" ThreshInd in the .ini file was not found!\n"</span>) ;</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> (*status)++ ;</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> }</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> dval = iniparser_getdouble(sym, <span class="stringliteral">"thresh:meanfactor"</span>, -1.) ;</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="keywordflow">if</span> (dval!=-1.)</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> {</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> cfg -> meanfactor = dval ;</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> }</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> {</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" meanfactor in the .ini file was not found!\n"</span>) ;</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> (*status)++ ;</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> }</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> }</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> </div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__flat__ini_8h_source.html b/html/sinfo__flat__ini_8h_source.html
deleted file mode 100644
index 76cb492..0000000
--- a/html/sinfo__flat__ini_8h_source.html
+++ /dev/null
@@ -1,95 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_flat_ini.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_flat_ini.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_flat_ini.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Mar 04, 2002</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : preparing flatfield ini file handling for SPIFFI</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifndef SINFO_FLAT_INI_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_FLAT_INI_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "sinfo_flat_cfg.h"</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#define FRAME_ON 1 </span><span class="comment">/* object frames */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"></span><span class="preprocessor">#define FRAME_OFF 0 </span><span class="comment">/* off frames, that means sky frames or </span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> calibration frames with lamp switched off */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor"></span><span class="preprocessor">#define FRAME_POS1 2 </span><span class="comment">/* frames exposed with grating position 1 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor"></span><span class="preprocessor">#define FRAME_POS2 3 </span><span class="comment">/* frames exposed with dithered grating position 2 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor"></span><span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> flat_config * </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> parse_flat_ini_file(<span class="keywordtype">char</span> * ini_name) ;</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__flat__ini__by__cpl_8c_source.html b/html/sinfo__flat__ini__by__cpl_8c_source.html
deleted file mode 100644
index b653fee..0000000
--- a/html/sinfo__flat__ini__by__cpl_8c_source.html
+++ /dev/null
@@ -1,499 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_flat_ini_by_cpl.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_flat_ini_by_cpl.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_flat_ini_by_cpl.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : May 19, 2004</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : read cpl input for SPIFFI</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_flat_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_hidden.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_raw_types.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_file_handling.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> Functions private to this module</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keywordtype">void</span> sinfo_flat_free_alloc(flat_config * cfg);</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> parse_section_frames(flat_config *, cpl_frameset* sof, </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> cpl_frameset** raw, <span class="keywordtype">int</span>* status);</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_cleanmean(flat_config *, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_badpixel(flat_config *, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_badpix(flat_config *, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_thresh(flat_config *, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> parse_section_qclog(flat_config * cfg, cpl_parameterlist * cpl_cfg);</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> flat_config * </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> sinfo_parse_cpl_input_flat(cpl_parameterlist* cpl_cfg, </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> cpl_frameset** raw)</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> {</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> flat_config * cfg = sinfo_flat_cfg_create();</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">int</span> status=0;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> * Perform sanity checks, fill up the structure with what was</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> * found in the ini file</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> parse_section_badpixel (cfg, cpl_cfg);</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> parse_section_cleanmean (cfg, cpl_cfg);</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> parse_section_badpix (cfg, cpl_cfg);</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> parse_section_thresh (cfg, cpl_cfg); </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> parse_section_qclog (cfg,cpl_cfg);</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> parse_section_frames (cfg, sof, raw, &status);</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordflow">if</span> (status > 0) {</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"parsing cpl input"</span>);</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> sinfo_flat_cfg_destroy(cfg);</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> cfg = NULL ;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> }</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordflow">return</span> cfg ;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> }</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> parse_section_frames(flat_config * cfg,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> cpl_frameset * sof,</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> cpl_frameset ** raw,</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">int</span>* status)</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> {</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordtype">char</span> * name ;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">int</span> nobj, noff ;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">int</span> nditherobj, nditheroff ;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">int</span> found_sky ;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">int</span> found_dither ;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordtype">int</span> nframes=0;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordtype">int</span> nraw=0;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordtype">char</span>* tag;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keywordtype">char</span> spat_res[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">char</span> lamp_status[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordtype">char</span> band[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordtype">int</span> ins_set=0;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> cpl_frame* frame = NULL;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> nframes = cpl_frameset_get_size(sof);</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> sinfo_extract_raw_frames_type(sof,raw,RAW_FLAT_LAMP);</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> nraw=cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordflow">if</span> (nraw==0) {</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> sinfo_extract_raw_frames_type(sof,raw,RAW_FLAT_NS);</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> } </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> nraw=cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordflow">if</span> (nraw==0) {</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> sinfo_msg(<span class="stringliteral">"Frame %s or %s not found!"</span>, RAW_FLAT_LAMP,RAW_FLAT_NS);</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> (*status)++;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> return ;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> }</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> nraw = cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> sinfo_msg(<span class="stringliteral">"nraw=%d"</span>,nraw);</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">if</span>(nraw<1) {</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no good raw frame in input, something wrong!"</span>);</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> (*status)++;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> }</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> cknull_nomsg(frame = cpl_frameset_get_frame(*raw,0));</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> ck0_nomsg(sinfo_get_spatial_res(frame,spat_res));</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="keywordflow">switch</span>(sinfo_frame_is_on(frame))</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> {</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordflow">case</span> 0: </div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> strcpy(lamp_status,<span class="stringliteral">"on"</span>);</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordflow">case</span> 1: </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> strcpy(lamp_status,<span class="stringliteral">"off"</span>);</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordflow">case</span> -1:</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordflow">default</span>: </div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> }</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> sinfo_get_band(frame,band);</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> sinfo_msg(<span class="stringliteral">"Spatial resolution: %s lamp status: %s band: %s \n"</span>,</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> spat_res, lamp_status, band);</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> sinfo_get_ins_set(band,&ins_set);</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment">/* Allocate structures to go into the blackboard */</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> cfg->framelist = cpl_malloc(nraw * <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>*));</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> cfg->frametype = cpl_malloc(nraw * <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>));</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> cfg->frameposition = cpl_malloc(nraw * <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>));</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> found_sky = 0 ;</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> found_dither = 0 ;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> nobj = 0 ;</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> noff = 0 ;</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> nditheroff = 0 ;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> nditherobj = 0 ;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keywordflow">for</span> (i=0;i<nraw;i++) {</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> cfg->framelist[i]=NULL;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> cfg->frametype[i]=-1;</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> cfg->frameposition[i]=-1;</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> }</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> cfg->nframes = nraw ;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment">/* Browse through the charmatrix to get names and file types */</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keywordflow">for</span> (i=0 ; i<nraw ; i++) {</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> frame = cpl_frameset_get_frame(*raw,i);</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> name= (<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keywordflow">if</span>(sinfo_file_exists(name)==1) {</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="comment">/* to go on the file must exist */</span></div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keywordflow">if</span>(cpl_frame_get_tag(frame) != NULL) {</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="comment">/* If the frame has a tag we process it. Else it is an object */</span> </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> tag= (<span class="keywordtype">char</span>*) cpl_frame_get_tag(frame);</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="comment">/* sinfo_msg("frame %s tag =%s \n",name,tag); */</span></div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keywordflow">if</span>((sinfo_frame_is_on(frame) == 0) ||</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> (sinfo_frame_is_sky(frame) == 1) ) </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> {</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> cfg->framelist[i]=(<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> cfg->frametype[i] = FRAME_OFF ;</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> found_sky = 1;</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keywordflow">if</span> (sinfo_frame_is_dither(frame)) </div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> {</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> cfg->frameposition[i] = FRAME_POS2 ;</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> found_dither = 1 ;</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> nditheroff++ ;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> }</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> {</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> cfg->frameposition[i] = FRAME_POS1 ;</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> noff++ ;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> }</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> }</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span>(sinfo_frame_is_on(frame) == 1) </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> cfg->framelist[i]=(<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> cfg->frametype[i] = FRAME_ON ;</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordflow">if</span> (sinfo_frame_is_dither(frame))</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> {</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> cfg->frameposition[i] = FRAME_POS2 ;</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> found_dither = 1 ;</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> nditherobj++ ;</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> }</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> {</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> cfg->frameposition[i] = FRAME_POS1 ;</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> nobj++ ;</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> }</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> }</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> }</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> {</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="comment">/* No type means an object */</span></div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="comment">/* No type means position 1 */</span></div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="comment"> cfg->frametype[i] = FRAME_ON ;</span></div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="comment"> cfg->frameposition[i] = FRAME_POS1 ;</span></div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="comment"> nobj ++ ;</span></div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> }</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> }</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="comment">/* Store file name into framelist */</span></div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="comment">/* sinfo_msg("frame=%s\n",cfg->framelist[i]); */</span></div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> }</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="comment"> sinfo_msg("Noff= %d Nobj= %d Nditheroff= %d Nditherobj= %d",</span></div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="comment"> noff,nobj,nditheroff,nditherobj);</span></div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="keywordflow">if</span>((nobj<1) && (nditherobj< 1)) {</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no ON raw frame in input, something wrong!"</span>);</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> sinfo_flat_free_alloc(cfg);</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> (*status)++;</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> }</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="comment">/* Copy relevant information into the blackboard */</span></div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> cfg->nobj = nobj ;</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> cfg->noff = noff ;</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> cfg->nditherobj = nditherobj ;</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> cfg->nditheroff = nditheroff ;</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> cfg->contains_sky = found_sky ;</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> cfg->contains_dither = found_dither ;</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> strcpy(cfg -> outName, LAMP_FLATS_OUT_FILENAME);</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> </div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="keywordflow">if</span>(cfg->interpolInd != 0) {</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_BP_MAP)) {</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> frame = cpl_frameset_find(sof,PRO_BP_MAP);</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> strcpy(cfg -> mask,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="keywordflow">if</span>(sinfo_file_exists(cfg->mask)==1) {</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Filename %s for Frame %s not found!"</span>, </div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> cfg->mask, PRO_BP_MAP);</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> sinfo_flat_free_alloc(cfg);</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> (*status)++;</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> }</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame %s not found!"</span>, PRO_BP_MAP);</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> sinfo_flat_free_alloc(cfg);</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> (*status)++;</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> } </div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_SLIT_POS)) {</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> frame = cpl_frameset_find(sof,PRO_SLIT_POS);</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> strcpy(cfg -> slitposList,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="keywordflow">if</span>(sinfo_file_exists(cfg->mask) == 1) {</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Filename %s for Frame %s not found!"</span>, </div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> cfg->slitposList, PRO_SLIT_POS);</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> sinfo_flat_free_alloc(cfg);</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> (*status)++;</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> }</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame %s not found!"</span>, PRO_SLIT_POS);</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> sinfo_flat_free_alloc(cfg);</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> (*status)++;</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> }</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> }</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> cleanup:</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> }</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> </div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> parse_section_cleanmean(flat_config * cfg, cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> {</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> cpl_parameter *p; </div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> </div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_flats.low_rejection"</span>);</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> cfg -> loReject = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_flats.high_rejection"</span>);</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> cfg -> hiReject = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> </div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> }</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> </div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> parse_section_badpixel(flat_config * cfg, cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> {</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> cpl_parameter *p; </div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_flats.interpol_index"</span>);</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> cfg -> interpolInd = cpl_parameter_get_bool(p);</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> </div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_flats.max_rad"</span>);</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> cfg -> maxRad = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> }</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> </div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> parse_section_badpix(flat_config * cfg, cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> {</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> </div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> </div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_flats.bad_ind"</span>);</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> cfg -> badInd = cpl_parameter_get_bool(p);</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> </div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> strcpy(cfg -> maskname, LAMP_FLATS_OUT_BPMAP);</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> </div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_flats.sigma_factor"</span>);</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> cfg -> sigmaFactor = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> </div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_flats.factor"</span>);</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> cfg -> factor = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> </div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_flats.iterations"</span>);</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> cfg -> iterations = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_flats.bad_low_rejection"</span>);</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> cfg -> badLoReject = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> </div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_flats.bad_high_rejection"</span>);</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> cfg -> badHiReject = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> </div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_flats.llx"</span>);</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> cfg -> llx = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> </div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_flats.lly"</span>);</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> cfg -> lly = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> </div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_flats.urx"</span>);</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> cfg -> urx = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> </div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_flats.ury"</span>);</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> cfg -> ury = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> </div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> }</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> </div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> parse_section_thresh(flat_config * cfg,cpl_parameterlist* cpl_cfg)</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> {</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> </div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_flats.thresh_ind"</span>);</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> cfg -> threshInd =cpl_parameter_get_bool(p);</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> </div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_flats.mean_factor"</span>);</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> cfg -> meanfactor = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> </div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> </div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> }</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> </div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> parse_section_qclog(flat_config * cfg, cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> {</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> cpl_parameter *p; </div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> </div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_flats.qc_fpn_xmin1"</span>);</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> cfg -> qc_fpn_xmin1 = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> </div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_flats.qc_fpn_xmax1"</span>);</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> cfg -> qc_fpn_xmax1 = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_flats.qc_fpn_ymin1"</span>);</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> cfg -> qc_fpn_ymin1 = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> </div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_flats.qc_fpn_ymax1"</span>);</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> cfg -> qc_fpn_ymax1 = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> </div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_flats.qc_fpn_xmin2"</span>);</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> cfg -> qc_fpn_xmin2 = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> </div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_flats.qc_fpn_xmax2"</span>);</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> cfg -> qc_fpn_xmax2 = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> </div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_flats.qc_fpn_ymin2"</span>);</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> cfg -> qc_fpn_ymin2 = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> </div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_flats.qc_fpn_ymax2"</span>);</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> cfg -> qc_fpn_ymax2 = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> </div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_flats.qc_thresh_min"</span>);</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> cfg -> qc_thresh_min = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> </div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_flats.qc_thresh_max"</span>);</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> cfg -> qc_thresh_max = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> </div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> }</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> sinfo_flat_free(flat_config ** cfg)</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> { </div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="keywordflow">if</span> ((*cfg) != NULL) {</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> sinfo_flat_free_alloc(*cfg);</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> sinfo_flat_cfg_destroy(*cfg);</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> *cfg=NULL;</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> }</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> </div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> }</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> sinfo_flat_free_alloc(flat_config * cfg)</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> {</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="keywordflow">if</span>(cfg->frametype != NULL){</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> cpl_free(cfg->frametype); </div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> }</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> <span class="keywordflow">if</span>(cfg->framelist != NULL) {</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> cpl_free(cfg->framelist);</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> }</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="keywordflow">if</span>(cfg->frameposition != NULL) {</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> cpl_free(cfg->frameposition);</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> }</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> return ;</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__flat__ini__by__cpl_8h_source.html b/html/sinfo__flat__ini__by__cpl_8h_source.html
deleted file mode 100644
index 4d54da0..0000000
--- a/html/sinfo__flat__ini__by__cpl_8h_source.html
+++ /dev/null
@@ -1,100 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_flat_ini_by_cpl.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_flat_ini_by_cpl.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_flat_ini.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Mar 04, 2004</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : flatfield cpl_input handling for SPIFFI</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifndef SINFO_FLAT_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_FLAT_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "sinfo_flat_cfg.h"</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#define FRAME_ON 1 </span><span class="comment">/* object frames */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor"></span><span class="preprocessor">#define FRAME_OFF 0 </span><span class="comment">/* off frames, that means sky frames or </span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> calibration frames with lamp switched off */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor"></span><span class="preprocessor">#define FRAME_POS1 2 </span><span class="comment">/* frames exposed with grating position 1 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor"></span><span class="preprocessor">#define FRAME_POS2 3 </span><span class="comment">/* frames exposed with dithered grating position 2 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor"></span><span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> flat_config * </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> sinfo_parse_cpl_input_flat(cpl_parameterlist * cpl_cfg, </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> cpl_frameset** raw) ;</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">void</span> sinfo_flat_free(flat_config ** cfg);</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__focus_8c_source.html b/html/sinfo__focus_8c_source.html
deleted file mode 100644
index 5920dd0..0000000
--- a/html/sinfo__focus_8c_source.html
+++ /dev/null
@@ -1,1404 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_focus.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_focus.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*******************************************************************************</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* schreib 16/01/02 created</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">* NAME</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">* sinfo_focus.c -</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">* routines to determine the focus position of the detector</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">* SYNOPSIS</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">* #include "sinfo_focus.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">* 1) double sinfo_new_gaussian_ellipse ( double * xdat, double * parlist )</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">* 2) void sinfo_new_gaussian_ellipse_deriv( double * xdat, </span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> double * parlist, </span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> double * dervs )</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">* 3) static int new_inv_mat (void)</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">* 4) static void new_get_mat ( double * xdat,</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">* int * xdim,</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">* double * ydat,</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">* double * wdat,</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">* int * ndat,</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">* double * fpar,</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">* double * epar,</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">* int * npar )</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">* 5) static int new_get_vec ( double * xdat,</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">* int * xdim,</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">* double * ydat,</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">* double * wdat,</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">* int * ndat,</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">* double * fpar,</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">* double * epar,</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">* int * npar )</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">* 6) int new_lsqfit ( double * xdat,</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">* int * xdim,</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">* double * ydat,</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">* double * wdat,</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">* int * ndat,</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">* double * fpar,</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">* double * epar,</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">* int * mpar,</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">* int * npar,</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">* double * tol ,</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">* int * its ,</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">* double * lab )</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">* 7) int sinfo_new_fit_2d_gaussian( cpl_image * lineImage, </span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">* double * fit_par, </span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">* double * derv_par </span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">* int * mpar,</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">* int lleftx,</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">* int llefty,</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">* int halfbox_x,</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">* int halfbox_y, int* check )</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">* 8) cpl_image * sinfo_new_plot_gaussian ( cpl_image * image, </span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">* double * parlist )</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">* 9) static int new_gauss2ellipse ( double * parlist ,</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">* 10) float sinfo_new_determine_conversion_factor ( cpl_imagelist * cube, </span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">* float mag,</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">* float exptime,</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">* int lleftx,</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">* int llefty,</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment">* int halfbox_x,</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">* int halfbox_y, </span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment">* int* check )</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">* DESCRIPTION</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">* 1) Compute the value of a 2d Gaussian function at a given point.</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment">* The ellptical 2D Gaussian is:</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">* F(x,y) = par(2) * EXP( -4.0*log(2.0)*[(xr/par(4))^2+(yr/par(5))^2]) + </span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> par(3),</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment">* where: xr = xo * cos(par(6)) + yo * sin(par(6))</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment">* yr = -xo * sin(par(6)) + yo * cos(par(6))</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment">* and: x0 = x - par(0)</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment">* y0 = y - par(1)</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment">* 2) calculates the partial derivatives for a 2d Gaussian function with</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment">* parameters parlist at position xdat </span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment">* 3) calculates the inverse of matrix2. The algorithm used </span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment">* is the Gauss-Jordan algorithm described in Stoer,</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">* Numerische Mathematik, 1. Teil.</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment">* 4) builds the sinfo_matrix </span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment">* 5) calculates the correction sinfo_vector. The sinfo_matrix has been</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment">* built by get_mat(), we only have to rescale it for the </span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">* current value of labda. The sinfo_matrix is rescaled so that</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment">* the diagonal gets the value 1 + labda.</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment">* Next we calculate the inverse of the sinfo_matrix and then</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">* the correction sinfo_vector.</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment">* 6) this is a routine for making a least-squares fit of a</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment">* function to a set of data points. The method used is</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">* described in: Marquardt, J.Soc.Ind.Appl.Math. 11. 431 (1963).</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment">* This method is a mixture of the steepest descent method </span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment">* and the Taylor method.</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment">* 7) fits the image of a point source by using a 2-D Gaussian</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment">* fit.</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment">* 8) plots an image of a given 2D-Gaussian </span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">* 9) converts gauss parameters to ellipse parameters. </span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment">* 10) determines an intensity conversion factor for the instrument</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment">* by fitting a 2D-Gaussian to an collapsed image of a standard star</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment">* with known brightness (only for non-AO observations).</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">* Then the resulting Gaussian is integrated and the counts</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment">* are divided by the exposure time (Fits header information) </span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment">* FILES</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment">* ENVIRONMENT</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment">* RETURN VALUES</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment">* CAUTIONS</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">* EXAMPLES</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment">* SEE ALSO</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment">* BUGS</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment">*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="preprocessor"></span><span class="preprocessor">#include "sinfo_vltPort.h"</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment"> * System Headers</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment"> * Local Headers</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="preprocessor">#include "sinfo_focus.h"</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="preprocessor">#include "sinfo_recipes.h"</span></div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="preprocessor">#include <float.h></span></div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment"> * Defines</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="preprocessor">#define XDIMG 2 </span><span class="comment">/* dimension of the x values */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="preprocessor"></span><span class="preprocessor">#define TOLG 0.001 </span><span class="comment">/* fitting tolerance */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="preprocessor"></span><span class="preprocessor">#define LABG 0.1 </span><span class="comment">/* labda parameter */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="preprocessor"></span><span class="preprocessor">#define ITSG 200 </span><span class="comment">/* maximum number of iterations */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="preprocessor"></span><span class="preprocessor">#define LABFACG 10.0 </span><span class="comment">/* labda step factor */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="preprocessor"></span><span class="preprocessor">#define LABMAXG 1.0e+10 </span><span class="comment">/* maximum value for labda */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="preprocessor"></span><span class="preprocessor">#define LABMING 1.0e-10 </span><span class="comment">/* minimum value for labda */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="preprocessor"></span><span class="preprocessor">#define NPAR 7 </span><span class="comment">/* number of fit parameters */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="preprocessor"></span><span class="preprocessor">#define PI_NUMB (3.1415926535897932384626433832795) </span><span class="comment">/* pi */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment"> * Local variables</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keyword">static</span> <span class="keywordtype">double</span> chi1 ; <span class="comment">/* old reduced chi-squared */</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keyword">static</span> <span class="keywordtype">double</span> chi2 ; <span class="comment">/* new reduced chi-squared */</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keyword">static</span> <span class="keywordtype">double</span> labda ; <span class="comment">/* mixing parameter */</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keyword">static</span> <span class="keywordtype">double</span> vec[NPAR] ; <span class="comment">/* correction sinfo_vector */</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keyword">static</span> <span class="keywordtype">double</span> matrix1[NPAR][NPAR] ; <span class="comment">/* original sinfo_matrix */</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keyword">static</span> <span class="keywordtype">double</span> matrix2[NPAR][NPAR] ; <span class="comment">/* inverse of matrix1 */</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="keyword">static</span> <span class="keywordtype">int</span> nfree ; <span class="comment">/* number of free parameters */</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keyword">static</span> <span class="keywordtype">int</span> parptr[NPAR] ; <span class="comment">/* parameter pointer */</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment"> * Functions private to this module</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keyword">static</span> <span class="keywordtype">int</span> new_inv_mat (<span class="keywordtype">void</span>) ;</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keyword">static</span> <span class="keywordtype">void</span> new_get_mat ( <span class="keywordtype">double</span> * xdat,</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keywordtype">int</span> * xdim,</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keywordtype">double</span> * ydat,</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keywordtype">double</span> * wdat,</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keywordtype">int</span> * ndat,</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keywordtype">double</span> * fpar,</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="keywordtype">double</span> * epar<span class="comment">/*,</span></div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment"> int * npar */</span>) ;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keyword">static</span> <span class="keywordtype">int</span> new_get_vec ( <span class="keywordtype">double</span> * xdat,</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="keywordtype">int</span> * xdim,</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keywordtype">double</span> * ydat,</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keywordtype">double</span> * wdat,</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordtype">int</span> * ndat,</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keywordtype">double</span> * fpar,</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keywordtype">double</span> * epar,</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keywordtype">int</span> * npar ) ;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keyword">static</span> <span class="keywordtype">int</span> new_gauss2Ellipse ( <span class="keywordtype">double</span> * parlist ) ;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment"> * Function codes</span></div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keywordtype">double</span> sinfo_new_gaussian_ellipse(<span class="keywordtype">double</span> * xdat, <span class="keywordtype">double</span> * parlist)</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> {</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="keywordtype">double</span> result ;</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordtype">double</span> x ;</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keywordtype">double</span> y ;</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keywordtype">double</span> fwhmx ;</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keywordtype">double</span> fwhmy ;</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keywordtype">double</span> costheta ;</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keywordtype">double</span> sintheta ;</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="keywordtype">double</span> argX ; <span class="comment">/* arguments in the exponent */</span></div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="keywordtype">double</span> argY ;</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="comment">/* some abbreviations */</span></div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> x = xdat[0] - parlist[0] ;</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> y = xdat[1] - parlist[1] ;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> fwhmx = fabs(parlist[4]) ;</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> fwhmy = fabs(parlist[5]) ;</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> costheta = cos ( parlist[6] ) ;</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> sintheta = sin ( parlist[6] ) ;</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> argX = x * costheta + y * sintheta ;</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> argY = -x * sintheta + y * costheta ;</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="comment">/* function */</span></div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> result = parlist[2] * exp(-4.*log(2.0)*((argX/fwhmx)*(argX/fwhmx)+</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> (argY/fwhmy)*(argY/fwhmy))) +</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> parlist[3] ; </div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="keywordflow">return</span> result ;</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> }</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> sinfo_new_gaussian_ellipse_deriv(<span class="keywordtype">double</span> * xdat, </div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="keywordtype">double</span> * parlist, </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="keywordtype">double</span> * dervs )</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> {</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="keywordtype">double</span> x ;</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="keywordtype">double</span> y ;</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="keywordtype">double</span> fwhmx ;</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keywordtype">double</span> fwhmy ;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="keywordtype">double</span> argX ;</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="keywordtype">double</span> argY ;</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="keywordtype">double</span> expon ;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="keywordtype">double</span> e8log2 ;</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="keywordtype">double</span> fwx2 ;</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="keywordtype">double</span> fwy2 ;</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="keywordtype">double</span> costheta ;</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="keywordtype">double</span> sintheta ;</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="comment">/* some abbreviations */</span></div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> x = xdat[0] - parlist[0] ;</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> y = xdat[1] - parlist[1] ;</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> fwhmx = fabs(parlist[4]) ;</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> fwhmy = fabs(parlist[5]) ;</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> fwx2 = fwhmx * fwhmx ;</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> fwy2 = fwhmy * fwhmy ;</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> costheta = cos ( parlist[6] ) ;</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> sintheta = sin ( parlist[6] ) ;</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> argX = x * costheta + y * sintheta ;</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> argY = -x * sintheta + y * costheta ;</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> </div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> expon = exp ( -4.0 * log(2.0) * ((argX/fwhmx)*(argX/fwhmx) + </div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> (argY/fwhmy)*(argY/fwhmy)) ) ;</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> e8log2 = expon * 8.0 * log(2.0) ;</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="comment">/* determine the derivatives */</span></div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="comment">/* partial derivative x-position */</span></div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> dervs[0] = -parlist[2]*e8log2 * (-argX*costheta/fwx2 + argY*sintheta/fwy2);</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="comment">/* partial derivative y-position */</span></div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> dervs[1] = -parlist[2]*e8log2 * (-argX*sintheta/fwx2 - argY*costheta/fwy2);</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="comment">/* partial derivative amplitude */</span></div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> dervs[2] = expon ;</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="comment">/* partial derivative background */</span></div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> dervs[3] = 1. ;</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="comment">/* partial derivative fwhmx */</span></div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> dervs[4] = parlist[2]*e8log2 * argX*argX/(fwx2*fwhmx) ;</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="comment">/* partial derivative fwhmy */</span></div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> dervs[5] = parlist[2]*e8log2 * argY*argY/(fwy2*fwhmy) ;</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="comment">/* partial derivative theta */</span></div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> dervs[6] = -parlist[2]*e8log2 * argY * argX * (1.0/fwx2 - 1.0/fwy2) ;</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> </div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> }</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> </div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="keyword">static</span> <span class="keywordtype">int</span> new_inv_mat (<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> {</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="keywordtype">double</span> even ;</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="keywordtype">double</span> hv[NPAR] ;</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="keywordtype">double</span> mjk ;</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="keywordtype">double</span> rowmax ;</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="keywordtype">int</span> evin ;</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="keywordtype">int</span> i, j, k, row ;</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="keywordtype">int</span> per[NPAR] ;</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="comment">/* set permutation array */</span></div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="keywordflow">for</span> ( i = 0 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> {</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> per[i] = i ;</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> }</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> </div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keywordflow">for</span> ( j = 0 ; j < nfree ; j++ ) <span class="comment">/* in j-th column */</span></div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> {</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="comment">/* determine largest element of a row */</span> </div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> rowmax = fabs ( matrix2[j][j] ) ;</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> row = j ; </div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="keywordflow">for</span> ( i = j + 1 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> {</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="keywordflow">if</span> ( fabs ( matrix2[i][j] ) > rowmax )</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> {</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> rowmax = fabs( matrix2[i][j] ) ;</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> row = i ;</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> }</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> }</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> </div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="comment">/* determinant is zero! */</span></div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="keywordflow">if</span> ( matrix2[row][j] == 0.0 )</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> {</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="keywordflow">return</span> -6 ;</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> }</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> </div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="comment">/* if the largest element is not on the diagonal, </span></div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="comment"> then permutate rows */</span></div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="keywordflow">if</span> ( row > j )</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> {</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="keywordflow">for</span> ( k = 0 ; k < nfree ; k++ )</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> {</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> even = matrix2[j][k] ;</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> matrix2[j][k] = matrix2[row][k] ;</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> matrix2[row][k] = even ;</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> }</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="comment">/* keep track of permutation */</span></div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> evin = per[j] ;</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> per[j] = per[row] ;</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> per[row] = evin ;</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> }</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> </div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="comment">/* modify column */</span></div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> even = 1.0 / matrix2[j][j] ;</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="keywordflow">for</span> ( i = 0 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> {</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> matrix2[i][j] *= even ;</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> }</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> matrix2[j][j] = even ;</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> </div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="keywordflow">for</span> ( k = 0 ; k < j ; k++ )</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> {</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> mjk = matrix2[j][k] ;</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="keywordflow">for</span> ( i = 0 ; i < j ; i++ )</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> {</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> matrix2[i][k] -= matrix2[i][j] * mjk ;</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> }</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="keywordflow">for</span> ( i = j + 1 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> {</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> matrix2[i][k] -= matrix2[i][j] * mjk ;</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> }</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> matrix2[j][k] = -even * mjk ;</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> }</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> </div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="keywordflow">for</span> ( k = j + 1 ; k < nfree ; k++ )</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> {</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> mjk = matrix2[j][k] ;</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="keywordflow">for</span> ( i = 0 ; i < j ; i++ )</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> {</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> matrix2[i][k] -= matrix2[i][j] * mjk ;</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> }</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="keywordflow">for</span> ( i = j + 1 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> {</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> matrix2[i][k] -= matrix2[i][j] * mjk ;</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> }</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> matrix2[j][k] = -even * mjk ;</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> }</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> }</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> </div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <span class="comment">/* finally, repermute the columns */</span></div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="keywordflow">for</span> ( i = 0 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> {</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="keywordflow">for</span> ( k = 0 ; k < nfree ; k++ )</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> {</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> hv[per[k]] = matrix2[i][k] ;</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> }</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="keywordflow">for</span> ( k = 0 ; k < nfree ; k++ )</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> {</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> matrix2[i][k] = hv[k] ;</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> }</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> }</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> </div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="comment">/* all is well */</span></div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> }</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> </div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="keyword">static</span> <span class="keywordtype">void</span> new_get_mat ( <span class="keywordtype">double</span> * xdat,</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="keywordtype">int</span> * xdim,</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="keywordtype">double</span> * ydat,</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <span class="keywordtype">double</span> * wdat,</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> <span class="keywordtype">int</span> * ndat,</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="keywordtype">double</span> * fpar,</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="keywordtype">double</span> * epar<span class="comment">/*,</span></div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="comment"> int * npar */</span>)</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> {</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="keywordtype">double</span> wd ;</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="keywordtype">double</span> wn ;</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="keywordtype">double</span> yd ;</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="keywordtype">int</span> i, j, n ;</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> </div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="keywordflow">for</span> ( j = 0 ; j < nfree ; j++ )</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> {</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> vec[j] = 0.0 ; <span class="comment">/* zero sinfo_vector */</span></div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="keywordflow">for</span> ( i = 0 ; i<= j ; i++ ) <span class="comment">/* zero sinfo_matrix only on </span></div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="comment"> and below diagonal */</span></div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> {</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> matrix1[j][i] = 0.0 ;</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> }</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> }</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> chi2 = 0.0 ; <span class="comment">/* reset reduced chi-squared */</span></div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> </div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> <span class="comment">/* loop through data points */</span></div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="keywordflow">for</span> ( n = 0 ; n < (*ndat) ; n++ )</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> {</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> wn = wdat[n] ;</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> <span class="keywordflow">if</span> ( wn > 0.0 ) <span class="comment">/* legal weight ? */</span></div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> {</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> yd=ydat[n] - sinfo_new_gaussian_ellipse(&xdat[(*xdim) * n],fpar) ;</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> sinfo_new_gaussian_ellipse_deriv( &xdat[(*xdim) * n], fpar, epar ) ;</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> chi2 += yd * yd * wn ; <span class="comment">/* add to chi-squared */</span></div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <span class="keywordflow">for</span> ( j = 0 ; j < nfree ; j++ )</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> {</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> wd = epar[parptr[j]] * wn ; <span class="comment">/* weighted derivative */</span></div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> vec[j] += yd * wd ; <span class="comment">/* fill sinfo_vector */</span></div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="keywordflow">for</span> ( i = 0 ; i <= j ; i++ ) <span class="comment">/* fill sinfo_matrix */</span></div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> {</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> matrix1[j][i] += epar[parptr[i]] * wd ;</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> }</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> }</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> }</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> } </div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> } </div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> </div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> </div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> <span class="keyword">static</span> <span class="keywordtype">int</span> new_get_vec ( <span class="keywordtype">double</span> * xdat,</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> <span class="keywordtype">int</span> * xdim,</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="keywordtype">double</span> * ydat,</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <span class="keywordtype">double</span> * wdat,</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> <span class="keywordtype">int</span> * ndat,</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> <span class="keywordtype">double</span> * fpar,</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> <span class="keywordtype">double</span> * epar,</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> <span class="keywordtype">int</span> * npar )</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> {</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="keywordtype">double</span> dj ;</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <span class="keywordtype">double</span> dy ;</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <span class="keywordtype">double</span> mii ;</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="keywordtype">double</span> mji ;</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="keywordtype">double</span> mjj ;</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <span class="keywordtype">double</span> wn ;</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="keywordtype">int</span> i, j, n, r ;</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> </div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> <span class="comment">/* loop to modify and scale the sinfo_matrix */</span></div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <span class="keywordflow">for</span> ( j = 0 ; j < nfree ; j++ )</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> {</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> mjj = matrix1[j][j] ;</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> <span class="keywordflow">if</span> ( mjj <= 0.0 ) <span class="comment">/* diagonal element wrong */</span></div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> {</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> <span class="keywordflow">return</span> -5 ;</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> }</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> mjj = sqrt( mjj ) ;</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> <span class="keywordflow">for</span> ( i = 0 ; i < j ; i++ )</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> {</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> mji = matrix1[j][i] / mjj / sqrt( matrix1[i][i] ) ;</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> matrix2[i][j] = matrix2[j][i] = mji ;</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> }</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> matrix2[j][j] = 1.0 + labda ; <span class="comment">/* scaled value on diagonal */</span></div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> } </div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> </div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> <span class="keywordflow">if</span> ( (r = new_inv_mat()) ) <span class="comment">/* sinfo_invert sinfo_matrix inlace */</span></div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> {</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> <span class="keywordflow">return</span> r ;</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> }</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> </div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> <span class="keywordflow">for</span> ( i = 0 ; i < (*npar) ; i ++ )</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> {</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> epar[i] = fpar[i] ;</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> }</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> </div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="comment">/* loop to calculate correction sinfo_vector */</span></div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="keywordflow">for</span> ( j = 0 ; j < nfree ; j++ )</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> {</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> dj = 0.0 ;</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> mjj = matrix1[j][j] ;</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="keywordflow">if</span> ( mjj <= 0.0) <span class="comment">/* not allowed */</span></div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> {</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> }</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> mjj = sqrt ( mjj ) ;</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> <span class="keywordflow">for</span> ( i = 0 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> {</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> mii = matrix1[i][i] ;</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> <span class="keywordflow">if</span> ( mii <= 0.0 )</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> {</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> }</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> mii = sqrt( mii ) ;</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> dj += vec[i] * matrix2[j][i] / mjj / mii ;</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> }</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> epar[parptr[j]] += dj ; <span class="comment">/* new parameters */</span></div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> } </div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> chi1 = 0.0 ; <span class="comment">/* reset reduced chi-squared */</span></div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> </div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> <span class="comment">/* loop through the data points */</span></div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> <span class="keywordflow">for</span> ( n = 0 ; n < (*ndat) ; n++ )</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> {</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> wn = wdat[n] ; <span class="comment">/* get weight */</span></div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="keywordflow">if</span> ( wn > 0.0 ) <span class="comment">/* legal weight */</span></div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> {</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> dy=ydat[n] - sinfo_new_gaussian_ellipse(&xdat[(*xdim) * n],epar);</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> chi1 += wdat[n] * dy * dy ;</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> }</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> }</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> } </div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> </div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> </div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> </div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> <span class="keywordtype">int</span> sinfo_new_lsqfitd ( <span class="keywordtype">double</span> * xdat,</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> <span class="keywordtype">int</span> * xdim,</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> <span class="keywordtype">double</span> * ydat,</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> <span class="keywordtype">double</span> * wdat,</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> <span class="keywordtype">int</span> * ndat,</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> <span class="keywordtype">double</span> * fpar,</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> <span class="keywordtype">double</span> * epar,</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> <span class="keywordtype">int</span> * mpar,</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> <span class="keywordtype">int</span> * npar,</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <span class="keywordtype">double</span> * tol ,</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> <span class="keywordtype">int</span> * its ,</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> <span class="keywordtype">double</span> * lab )</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> {</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> <span class="keywordtype">int</span> i, n, r ;</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> <span class="keywordtype">int</span> itc ; <span class="comment">/* fate of fit */</span></div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> <span class="keywordtype">int</span> found ; <span class="comment">/* fit converged: 1, not yet converged: 0 */</span></div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> <span class="keywordtype">int</span> nuse ; <span class="comment">/* number of useable data points */</span></div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> <span class="keywordtype">double</span> tolerance ; <span class="comment">/* accuracy */</span></div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> </div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> itc = 0 ; <span class="comment">/* fate of fit */</span></div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> found = 0 ; <span class="comment">/* reset */</span></div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> nfree = 0 ; <span class="comment">/* number of free parameters */</span></div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> nuse = 0 ; <span class="comment">/* number of legal data points */</span></div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> </div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> <span class="keywordflow">if</span> ( *tol < (DBL_EPSILON * 10.0 ) )</div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> {</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> tolerance = DBL_EPSILON * 10.0 ; <span class="comment">/* default tolerance */</span></div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> }</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> {</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> tolerance = *tol ; <span class="comment">/* tolerance */</span></div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> }</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> </div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> labda = fabs( *lab ) * LABFACG ; <span class="comment">/* start value for mixing parameter */</span></div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> <span class="keywordflow">for</span> ( i = 0 ; i < (*npar) ; i++ )</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> {</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> <span class="keywordflow">if</span> ( mpar[i] )</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> {</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> <span class="keywordflow">if</span> ( nfree > NPAR ) <span class="comment">/* too many free parameters */</span></div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> {</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> }</div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> parptr[nfree++] = i ; <span class="comment">/* a free parameter */</span></div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> }</div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> }</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> </div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> <span class="keywordflow">if</span> (nfree == 0) <span class="comment">/* no free parameters */</span> </div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> {</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> <span class="keywordflow">return</span> -2 ;</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> }</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> </div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="keywordflow">for</span> ( n = 0 ; n < (*ndat) ; n++ )</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> {</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="keywordflow">if</span> ( wdat[n] > 0.0 ) <span class="comment">/* legal weight */</span></div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> {</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> nuse ++ ;</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> }</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> }</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> </div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> <span class="keywordflow">if</span> ( nfree >= nuse )</div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> {</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> <span class="keywordflow">return</span> -3 ; <span class="comment">/* no degrees of freedom */</span></div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> }</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> <span class="keywordflow">if</span> ( labda == 0.0 ) <span class="comment">/* linear fit */</span></div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> {</div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> <span class="comment">/* initialize fpar array */</span></div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> <span class="keywordflow">for</span> ( i = 0 ; i < nfree ; fpar[parptr[i++]] = 0.0 ) ; </div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> new_get_mat ( xdat, xdim, ydat, wdat, ndat, fpar, epar<span class="comment">/*, npar */</span>) ;</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> r = new_get_vec ( xdat, xdim, ydat, wdat, ndat, fpar, epar, npar ) ;</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> <span class="keywordflow">if</span> ( r ) <span class="comment">/* error */</span></div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> {</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> <span class="keywordflow">return</span> r ;</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> }</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> <span class="keywordflow">for</span> ( i = 0 ; i < (*npar) ; i++ )</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> {</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> fpar[i] = epar[i] ; <span class="comment">/* save new parameters */</span></div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> epar[i] = 0.0 ; <span class="comment">/* and set errors to zero */</span></div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> }</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> chi1 = sqrt( chi1 / (<span class="keywordtype">double</span>) (nuse - nfree) ) ;</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> <span class="keywordflow">for</span> ( i = 0 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> {</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> <span class="keywordflow">if</span> ( (matrix1[i][i] <= 0.0 ) || (matrix2[i][i] <= 0.0) )</div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> {</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> }</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> epar[parptr[i]] = chi1 * sqrt( matrix2[i][i] ) / </div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> sqrt( matrix1[i][i] ) ;</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> }</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> }</div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> <span class="keywordflow">else</span> <span class="comment">/* non-linear fit */</span></div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> {</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> <span class="comment">/*----------------------------------------------------------------</span></div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> <span class="comment"> * the non-linear fit uses the steepest descent method in combination</span></div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> <span class="comment"> * with the Taylor method. The mixing of these methods is controlled</span></div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> <span class="comment"> * by labda. In the outer loop ( called the iteration loop ) we build</span></div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> <span class="comment"> * the matrix and calculate the correction sinfo_vector. In the </span></div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> <span class="comment"> inner loop</span></div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> <span class="comment"> * (called the interpolation loop) we check whether we have obtained a</span></div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> <span class="comment"> * better solution than the previous one. If so, we leave the inner loop</span></div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> <span class="comment"> * else we increase lambda ( give more weight to the steepest descent </span></div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> <span class="comment"> * method) calculate the correction vector and check again. After the </span></div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> <span class="comment"> * inner loop</span></div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> <span class="comment"> * we do a final check on the goodness of the fit and if this satisfies</span></div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> <span class="comment"> * the tolerance we calculate the errors of the fitted parameters.</span></div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> <span class="keywordflow">while</span> ( !found ) <span class="comment">/* iteration loop */</span></div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> { </div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> <span class="keywordflow">if</span> ( itc++ == (*its) ) <span class="comment">/* increase iteration counter */</span></div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> {</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> <span class="keywordflow">return</span> -4 ; </div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> }</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> new_get_mat( xdat, xdim, ydat, wdat, ndat, fpar, epar<span class="comment">/*, npar*/</span> ) ;</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> </div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> <span class="comment">/*-------------------------------------------------------------</span></div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> <span class="comment"> * here we decrease labda since we may assume that each iteration</span></div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> <span class="comment"> * brings us closer to the answer.</span></div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> <span class="keywordflow">if</span> ( labda > LABMING )</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> {</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> labda = labda / LABFACG ; <span class="comment">/* decrease labda */</span></div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> }</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> r = new_get_vec ( xdat, xdim, ydat, wdat, ndat, fpar, epar, npar ) ;</div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> </div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> <span class="keywordflow">if</span> ( r ) <span class="comment">/* error */</span></div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> {</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> <span class="keywordflow">return</span> r ;</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> }</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> </div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> <span class="keywordflow">while</span> ( chi1 >= chi2 ) <span class="comment">/* interpolation loop */</span></div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> {</div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> <span class="comment">/*-----------------------------------------------------------</span></div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> <span class="comment"> * The next statement is based on experience, not on the </span></div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> <span class="comment"> * mathematics of the problem. It is assumed that we have </span></div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> <span class="comment"> * reached convergence when the pure steepest descent method </span></div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> <span class="comment"> * does not produce a better solution.</span></div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> <span class="keywordflow">if</span> ( labda > LABMAXG ) <span class="comment">/* assume solution found */</span></div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> {</div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> break ;</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> }</div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> labda = labda * LABFACG ; <span class="comment">/* increase mixing parameter */</span></div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> r = new_get_vec(xdat,xdim,ydat,wdat,ndat,fpar,epar,npar) ;</div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> </div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> <span class="keywordflow">if</span> ( r ) <span class="comment">/* error */</span></div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> {</div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> <span class="keywordflow">return</span> r ;</div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> }</div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> }</div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> </div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> <span class="keywordflow">if</span> ( labda <= LABMAXG ) <span class="comment">/* save old parameters */</span></div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> {</div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> <span class="keywordflow">for</span> ( i = 0 ; i < *npar ; i++ )</div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> {</div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> fpar[i] = epar[i] ;</div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> }</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> }</div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> <span class="keywordflow">if</span> ( (fabs( chi2 - chi1 ) <= (tolerance * chi1)) || </div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> (labda > LABMAXG) )</div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> {</div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> <span class="comment">/*-----------------------------------------------------------</span></div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> <span class="comment"> * we have a satisfying solution, so now we need to calculate </span></div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> <span class="comment"> * the correct errors of the fitted parameters. This we do by </span></div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> <span class="comment"> * using the pure Taylor</span></div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> <span class="comment"> * method because we are very close to the real solution.</span></div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> labda = LABMING ; <span class="comment">/* for Taylor solution */</span></div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> new_get_mat(xdat,xdim,ydat,wdat,ndat,fpar,epar<span class="comment">/*, npar */</span>) ;</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> r=new_get_vec(xdat,xdim,ydat,wdat,ndat,fpar,epar,npar ) ;</div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> </div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> <span class="keywordflow">if</span> ( r ) <span class="comment">/* error */</span></div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> {</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> <span class="keywordflow">return</span> r ;</div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> }</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> <span class="keywordflow">for</span> ( i = 0 ; i < (*npar) ; i++ )</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> {</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> epar[i] = 0.0 ; <span class="comment">/* set error to zero */</span></div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> }</div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> chi2 = sqrt ( chi2 / (<span class="keywordtype">double</span>) (nuse - nfree) ) ;</div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> </div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> <span class="keywordflow">for</span> ( i = 0 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> {</div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> <span class="keywordflow">if</span> ( (matrix1[i][i] <= 0.0) || (matrix2[i][i] <= 0.0) )</div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> {</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> }</div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> epar[parptr[i]] = chi2 * sqrt( matrix2[i][i] ) / </div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> sqrt( matrix1[i][i] ) ;</div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> }</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> found = 1 ; <span class="comment">/* we found a solution */</span></div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> }</div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> }</div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> }</div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> <span class="keywordflow">return</span> itc ; <span class="comment">/* return number of iterations */</span></div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> }</div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> </div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> sinfo_new_fit_2d_gaussian ( cpl_image * image, </div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> <span class="keywordtype">double</span> * fit_par, </div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> <span class="keywordtype">double</span> * derv_par, </div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> <span class="keywordtype">int</span> * mpar,</div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> <span class="keywordtype">int</span> lleftx,</div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> <span class="keywordtype">int</span> llefty,</div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> <span class="keywordtype">int</span> halfbox_x,</div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> <span class="keywordtype">int</span> halfbox_y, </div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> <span class="keywordtype">int</span>* check )</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> {</div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> <span class="keywordtype">int</span> i, j, n ;</div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> <span class="keywordtype">int</span> col, row ;</div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> <span class="keywordtype">int</span> boxi, boxj ;</div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> <span class="keywordtype">int</span> iters ;</div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> <span class="keywordtype">int</span> ndata ;</div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> <span class="keywordtype">int</span> xdim ;</div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> <span class="keywordtype">int</span> npar ;</div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> <span class="keywordtype">int</span> its ;</div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> <span class="keywordtype">double</span> lab ;</div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> <span class="keywordtype">double</span> tol ;</div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> <span class="keywordtype">double</span> maxval ;</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> <span class="keywordtype">double</span> background ;</div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> <span class="keywordtype">double</span> amplitude ;</div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> <span class="keywordtype">float</span> * backarray=NULL ;</div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> <span class="keywordtype">double</span> M, Mx, My ;</div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> <span class="keywordtype">double</span> Mxx, Mxy, Myy ; </div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> <span class="keywordtype">double</span> X0, Y0 ;</div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> <span class="keywordtype">double</span> xydat[4 *halfbox_x*halfbox_y][XDIMG] ;</div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> <span class="keywordtype">double</span> zdat[4*halfbox_x*halfbox_y] ;</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> <span class="keywordtype">double</span> wdat[4*halfbox_x*halfbox_y] ;</div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> <span class="keywordtype">double</span> xco, yco ;</div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> <span class="keywordtype">double</span> value ;</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> <span class="keywordtype">double</span> denom ;</div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> <span class="keywordtype">double</span> temp ;</div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> <span class="keywordtype">int</span> llx, lly ;</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> <span class="keywordtype">int</span> foundrow ;</div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> <span class="keywordtype">int</span> foundcol ;</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> <span class="keywordtype">int</span> k ;</div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> </div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> </div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> <span class="keywordflow">if</span> ( NULL == image )</div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> {</div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no image given"</span>) ;</div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> }</div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> ilx=cpl_image_get_size_x(image);</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> ily=cpl_image_get_size_y(image);</div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> </div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> <span class="keywordflow">if</span> ( NULL == fit_par )</div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> {</div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no fit parameters given"</span>) ;</div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> }</div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> <span class="keywordflow">if</span> ( NULL == derv_par )</div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> {</div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no derivatives of fit parameters given"</span>) ;</div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> }</div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> <span class="keywordflow">if</span> ( lleftx < 0 || lleftx + 2*halfbox_x >= ilx ||</div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> llefty < 0 || llefty + 2*halfbox_y >= ily )</div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> {</div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong lower left point of fitting box given!"</span>) ;</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> }</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> <span class="keywordflow">if</span> ( halfbox_x <= 1 || halfbox_y <= 1 )</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> {</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong box dimensions given"</span>) ;</div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> }</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> <span class="keywordflow">if</span> ( NULL == (backarray = (<span class="keywordtype">float</span>*) cpl_calloc(4*halfbox_x+4*halfbox_y, </div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>) ) ) ) </div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> {</div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not allocate memory"</span>) ;</div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> }</div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> </div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> <span class="comment">/* -------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> <span class="comment"> * find the initial estimates for the free parameters</span></div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> </div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> <span class="comment">/* first search for the position of the maximum intensity */</span></div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> foundrow = 0 ;</div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> foundcol = 0 ;</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> maxval = -SINFO_DBL_MAX ;</div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> pidata=cpl_image_get_data_float(image);</div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> <span class="keywordflow">for</span> ( col = lleftx ; col < lleftx + 2*halfbox_x ; col++ )</div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> {</div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> <span class="keywordflow">for</span> ( row = llefty ; row < llefty + 2*halfbox_y ; row++ )</div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> {</div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> <span class="keywordflow">if</span> ( isnan(pidata[col+row*ilx]) )</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> {</div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> continue ;</div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> }</div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> <span class="keywordflow">if</span> ( maxval < pidata[col+row*ilx] ) </div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> {</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> maxval = pidata[col+row*ilx] ;</div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> foundrow = row ;</div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> foundcol = col ;</div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> }</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> }</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> }</div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> </div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> <span class="keywordflow">if</span> ( foundrow == 0 || foundcol == 0 || maxval <= 0. ||</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> foundrow == ilx-1 || foundcol == ily-1 )</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> {</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"no maximum found"</span>) ;</div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> cpl_free(backarray) ;</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> }</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> </div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> <span class="comment">/* determine the lower left sinfo_edge of the fitting box, center it </span></div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> <span class="comment"> on the maximum value */</span></div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> llx = foundcol - halfbox_x ;</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> lly = foundrow - halfbox_y ;</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> <span class="keywordflow">if</span> ((foundcol - halfbox_x) > 0) {</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> llx = (foundcol - halfbox_x);</div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> llx=1;</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> check++;</div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> }</div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> </div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> <span class="keywordflow">if</span> ((foundrow - halfbox_y) > 0) {</div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> lly = (foundrow - halfbox_y);</div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> lly=1;</div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> check++;</div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> } </div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> </div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> <span class="keywordflow">if</span> ( ( llx + 2*halfbox_x) < ilx-1 ) {</div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> <span class="comment">//halfbox_x=halfbox_x;</span></div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> halfbox_x=(int) (ilx-2-llx)/2;</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> check++;</div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> }</div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> </div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> <span class="keywordflow">if</span> ( ( lly + 2*halfbox_y) < ily-1 ) {</div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> <span class="comment">//halfbox_y= halfbox_y;</span></div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> halfbox_y=(int) (ily-2-lly)/2;</div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> check++;</div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> }</div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> </div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> <span class="keywordflow">if</span> ( llx <= 0 || lly < 0 || llx + 2*halfbox_x >= ilx-1 ||</div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> lly + 2*halfbox_y >= ily )</div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> {</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"box does not fit into image"</span>) ;</div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> cpl_free(backarray) ;</div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> }</div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> </div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> <span class="comment">/* determine the zeroth and first order moments of the image </span></div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> <span class="comment"> within the fitting box */</span> </div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> M = Mx = My = 0. ;</div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> n = 0 ;</div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> boxi = boxj = 0 ;</div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> <span class="keywordflow">for</span> ( j = lly ; j < lly + 2*halfbox_y ; j++ )</div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> {</div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> boxj = j - lly ;</div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> <span class="keywordflow">for</span> ( i = llx ; i < llx + 2*halfbox_x ; i++ )</div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> {</div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> boxi = i - llx ;</div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> <span class="keywordflow">if</span> ( !isnan(pidata[i+j*ilx]) )</div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> {</div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> M += pidata[i+j*ilx] ; </div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> Mx += (double)boxi * pidata[i+j*ilx] ;</div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> My += (double)boxj * pidata[i+j*ilx] ;</div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> <span class="comment">/*-----------------------------------------------------------</span></div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> <span class="comment"> * estimate the amplitude and the background </span></div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> <span class="comment"> * go through the margins of the fitting box </span></div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> <span class="comment"> * and calculate the clean mean to</span></div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> <span class="comment"> * determine the background </span></div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> <span class="keywordflow">if</span> ( i == llx || i == llx + 2*halfbox_x -1 ||</div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> j == lly || j == lly + 2*halfbox_y -1 )</div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> {</div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> backarray[n] = pidata[i+j*ilx] ;</div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> n++ ;</div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> }</div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> }</div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> }</div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> }</div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> <span class="keywordflow">if</span> ( M <= 0. )</div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> {</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"only negative or zero values"</span>) ;</div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> cpl_free(backarray) ;</div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> }</div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> <span class="keywordflow">if</span> ( n < 3 )</div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> {</div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"not enough data points to calculate background"</span>) ;</div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> cpl_free(backarray) ;</div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> }</div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> <span class="comment">/* determine the background as sinfo_median of the surrounding pixels */</span></div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> <span class="keywordflow">if</span> (FLT_MAX==(background=sinfo_new_clean_mean(backarray,n,10.,10.))) </div>
-<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> {</div>
-<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"it was not possible to compute the "</span></div>
-<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> <span class="stringliteral">"clean mean of the background values"</span>) ;</div>
-<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> cpl_free(backarray) ;</div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> }</div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> cpl_free (backarray) ;</div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> <span class="comment">/* now calculate the amplitude estimation */</span></div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> amplitude = maxval - background ;</div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> <span class="keywordflow">if</span> ( amplitude < 1e-12 )</div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> {</div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"amplitude is too small"</span>) ;</div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> }</div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> </div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> <span class="comment">/* determine the center of gravity = centroid */</span></div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> X0 = Mx / M ;</div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> Y0 = My / M ;</div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> <span class="comment">/* if one of the values is outside the fitting box return with error */</span></div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> <span class="keywordflow">if</span> ( X0 <= 0. || Y0 <= 0. || X0 >= 2.*(<span class="keywordtype">double</span>)halfbox_x || </div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> Y0 >= 2.*(<span class="keywordtype">double</span>)halfbox_y )</div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> {</div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"center of gravity is outside the fitting box!"</span>) ;</div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> }</div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> </div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> <span class="comment">/*------------------------------------------------------------------------ </span></div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> <span class="comment"> * put the data in the 2-d array xydat[][] (pixel position) and zdat[] </span></div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> <span class="comment"> * (data values) additionally, determine the second order momentum</span></div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> n = 0 ;</div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> M = Mx = Mxx = My = Myy = Mxy = 0. ;</div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> boxi = boxj = 0 ;</div>
-<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> <span class="keywordflow">for</span> ( j = lly ; j < lly + 2*halfbox_y ; j++ )</div>
-<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> {</div>
-<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> boxj = j - lly ;</div>
-<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> <span class="keywordflow">for</span> ( i = llx ; i < llx + 2*halfbox_x ; i++ )</div>
-<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> {</div>
-<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> boxi = i - llx ;</div>
-<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> value = pidata[i+j*ilx] ;</div>
-<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> <span class="keywordflow">if</span> ( !isnan(value) )</div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> {</div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> xydat[n][0] = (double) boxi ;</div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> xydat[n][1] = (double) boxj ;</div>
-<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> zdat[n] = value ;</div>
-<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> wdat[n] = 1. ;</div>
-<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> n++ ; </div>
-<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> </div>
-<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> <span class="comment">/* now calculate the moments without background in the </span></div>
-<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span> <span class="comment"> centroid coordinate system */</span></div>
-<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span> value -= background ;</div>
-<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> xco = (double) boxi - X0 ;</div>
-<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> yco = (double) boxj - Y0 ;</div>
-<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> M += value ;</div>
-<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> Mx += xco * value ;</div>
-<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> My += yco * value ;</div>
-<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span> Mxx += xco * xco * value ;</div>
-<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> Myy += yco * yco * value ;</div>
-<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span> Mxy += xco * yco * value ;</div>
-<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> }</div>
-<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> }</div>
-<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> }</div>
-<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> <span class="keywordflow">if</span> ( M <= 0. )</div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> {</div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"only negative or zero values"</span>) ;</div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> }</div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> </div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> <span class="comment">/* ----------------------------------------------------------------</span></div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> <span class="comment"> * estimate the fwhm_x and fwhm_y and theta </span></div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> <span class="comment"> */</span> </div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> </div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> <span class="comment">/* first scale the moments */</span></div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> <span class="comment">/* TODO: why use Mx is later this is never used? */</span></div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> Mx /= M ;</div>
-<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> My /= M ;</div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> Mxx /= M ;</div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> Myy /= M ;</div>
-<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> Mxy /= M ;</div>
-<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> </div>
-<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> denom = 2. * (Mxx*Myy - Mxy*Mxy) ;</div>
-<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> <span class="keywordflow">if</span> ( denom == 0. )</div>
-<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span> {</div>
-<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"denominator is zero!"</span>) ;</div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> }</div>
-<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> </div>
-<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> <span class="comment">/* now associate the parameter list with the found estimates */</span></div>
-<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> fit_par[0] = X0 ;</div>
-<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> fit_par[1] = Y0 ;</div>
-<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> fit_par[2] = amplitude ;</div>
-<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> fit_par[3] = background ;</div>
-<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span> fit_par[4] = Myy/denom ;</div>
-<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> fit_par[5] = Mxx/denom ;</div>
-<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span> fit_par[6] = -Mxy/denom ;</div>
-<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> </div>
-<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span> <span class="comment">/* convert the moments to ellipse paramters */</span></div>
-<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span> <span class="keywordflow">if</span> ( 0 > new_gauss2Ellipse (fit_par) )</div>
-<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> {</div>
-<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"gauss2Ellipse does not run!"</span>) ;</div>
-<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span> }</div>
-<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> </div>
-<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span> <span class="comment">/* total number of data points */</span></div>
-<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span> ndata = 4 * halfbox_x * halfbox_y ;</div>
-<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> xdim = XDIMG ; <span class="comment">/* dimension of xydat array */</span></div>
-<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span> npar = NPAR ; <span class="comment">/* number of parameters in the fit */</span></div>
-<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span> its = ITSG ;</div>
-<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span> lab = LABG ;</div>
-<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span> tol = TOLG ;</div>
-<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span> <span class="keywordflow">for</span> ( i = 0 ; i < NPAR ; i++ )</div>
-<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span> {</div>
-<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span> derv_par[i] = 0. ;</div>
-<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span> }</div>
-<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> </div>
-<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span> <span class="keywordflow">if</span> ( 0 > ( iters = sinfo_new_lsqfitd ( &xydat[0][0],</div>
-<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span> &xdim,</div>
-<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span> zdat,</div>
-<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span> wdat, </div>
-<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span> &ndata,</div>
-<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span> fit_par,</div>
-<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span> derv_par,</div>
-<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span> mpar,</div>
-<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span> &npar,</div>
-<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span> &tol,</div>
-<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span> &its,</div>
-<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span> &lab )) ) </div>
-<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span> {</div>
-<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">" least squares fit failed, error no: %d!"</span>, iters) ;</div>
-<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> }</div>
-<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> </div>
-<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> <span class="comment">/* exclude impossible fit results */</span></div>
-<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> <span class="keywordflow">if</span> ( fit_par[2] <= 0. || fit_par[4] < 0. || fit_par[5] < 0. )</div>
-<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> {</div>
-<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"sorry, some impossible negative fit results!"</span>) ;</div>
-<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> }</div>
-<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> fit_par[0] += llx ;</div>
-<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> fit_par[1] += lly ;</div>
-<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> <span class="keywordflow">if</span> ( fit_par[0] < llx || fit_par[0] >= llx + 2*halfbox_x ||</div>
-<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> fit_par[1] < lly || fit_par[1] >= lly + 2*halfbox_y )</div>
-<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> {</div>
-<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"sorry, centroid after the fit "</span></div>
-<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> <span class="stringliteral">"outside the fitting box"</span>) ;</div>
-<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> }</div>
-<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> </div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> <span class="comment">/* exchange fwhmx and fwhmy if |theta| is bigger than </span></div>
-<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> <span class="comment"> pi/4 and subtract pi/2 from theta */</span></div>
-<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> <span class="keywordflow">if</span> ( fabs ( fit_par[6] ) > PI_NUMB / 4. )</div>
-<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> {</div>
-<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> <span class="comment">/* first convert angle to smaller than 2 pi */</span></div>
-<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span> <span class="keywordflow">if</span> ( fabs (fit_par[6]) >= 2. * PI_NUMB )</div>
-<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> { </div>
-<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> k = (int) (fit_par[6] / (2.*PI_NUMB)) ;</div>
-<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span> <span class="keywordflow">if</span> ( k > 0 ) </div>
-<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> {</div>
-<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span> fit_par[6] -= k*2.*PI_NUMB ;</div>
-<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span> }</div>
-<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> {</div>
-<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span> fit_par[6] += k*2.*PI_NUMB ;</div>
-<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span> }</div>
-<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span> }</div>
-<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span> <span class="comment">/* first convert angle to smaller than pi/2 */</span></div>
-<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> <span class="keywordflow">if</span> ( fabs (fit_par[6]) > PI_NUMB / 2. )</div>
-<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span> {</div>
-<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span> <span class="keywordflow">if</span> ( fit_par[6] > 0. )</div>
-<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span> {</div>
-<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> fit_par[6] -= PI_NUMB ;</div>
-<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span> }</div>
-<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span> {</div>
-<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span> fit_par[6] += PI_NUMB ;</div>
-<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> }</div>
-<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> }</div>
-<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span> </div>
-<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> <span class="keywordflow">if</span> ( fabs (fit_par[6]) > PI_NUMB / 4. )</div>
-<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span> {</div>
-<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> temp = fit_par[4] ;</div>
-<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span> fit_par[4] = fit_par[5] ;</div>
-<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span> fit_par[5] = temp ;</div>
-<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> <span class="keywordflow">if</span> ( fit_par[6] < 0. )</div>
-<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span> { </div>
-<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> fit_par[6] += PI_NUMB / 2. ;</div>
-<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span> }</div>
-<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> {</div>
-<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> fit_par[6] -= PI_NUMB / 2. ;</div>
-<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span> } </div>
-<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span> }</div>
-<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> }</div>
-<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span> </div>
-<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span> <span class="keywordflow">return</span> iters ;</div>
-<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span> }</div>
-<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span> </div>
-<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> cpl_image * </div>
-<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> sinfo_new_plot_gaussian (cpl_image * image, </div>
-<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span> <span class="keywordtype">double</span> * parlist )</div>
-<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span> {</div>
-<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span> <span class="keywordtype">int</span> col, row ;</div>
-<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span> cpl_image * retImage ;</div>
-<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span> <span class="keywordtype">double</span> xdat[2] ;</div>
-<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span> </div>
-<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span> <span class="keywordflow">if</span> ( image == NULL )</div>
-<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span> {</div>
-<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no input image given!"</span>) ;</div>
-<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span> }</div>
-<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span> ilx=cpl_image_get_size_x(image);</div>
-<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span> ily=cpl_image_get_size_y(image);</div>
-<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span> </div>
-<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span> <span class="keywordflow">if</span> ( parlist == NULL ) </div>
-<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> {</div>
-<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no Gaussian parameters given!"</span>) ;</div>
-<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> }</div>
-<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span> </div>
-<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> retImage = cpl_image_new (ilx, ily, CPL_TYPE_FLOAT) ;</div>
-<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span> podata=cpl_image_get_data_float(retImage);</div>
-<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span> {</div>
-<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span> {</div>
-<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span> xdat[0] = (double) col ;</div>
-<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span> xdat[1] = (double) row ;</div>
-<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span> podata[col+row*ilx] = sinfo_new_gaussian_ellipse( xdat , parlist) ; </div>
-<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span> }</div>
-<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span> }</div>
-<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span> </div>
-<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span> <span class="keywordflow">return</span> retImage ;</div>
-<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span> }</div>
-<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span> </div>
-<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span> <span class="keyword">static</span> <span class="keywordtype">int</span> new_gauss2Ellipse ( <span class="keywordtype">double</span> * parlist )</div>
-<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span> {</div>
-<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span> <span class="keywordtype">double</span> a, b, c ;</div>
-<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span> <span class="keywordtype">double</span> ellipseconst ;</div>
-<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span> <span class="keywordtype">double</span> axisX, axisY, phi ;</div>
-<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span> <span class="keywordtype">double</span> p ;</div>
-<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span> </div>
-<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span> <span class="keywordflow">if</span> ( parlist == NULL )</div>
-<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span> {</div>
-<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no parameters given!\n"</span>) ;</div>
-<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span> }</div>
-<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span> </div>
-<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span> a = parlist[4] ; <span class="comment">/* fwhmx */</span></div>
-<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span> b = parlist[5] ; <span class="comment">/* fwhmy */</span></div>
-<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span> c = parlist[6] ; <span class="comment">/* theta */</span></div>
-<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span> </div>
-<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span> ellipseconst = 2. * log(2.) ;</div>
-<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span> </div>
-<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span> <span class="keywordflow">if</span> ( a*b - c*c <= 0. )</div>
-<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span> {</div>
-<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"estimates of moments are unusable, "</span></div>
-<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span> <span class="stringliteral">"they do not make an ellipse!"</span>) ;</div>
-<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span> }</div>
-<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span> </div>
-<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span> <span class="keywordflow">if</span> ( a == b )</div>
-<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span> { </div>
-<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span> phi = 0. ;</div>
-<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span> }</div>
-<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span> {</div>
-<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span> phi = 0.5 * atan( 2. * c / (a-b) ) ;</div>
-<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span> }</div>
-<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span> </div>
-<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span> p = sqrt ( (a-b) * (a-b) + 4. * c*c ) ;</div>
-<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span> </div>
-<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span> <span class="keywordflow">if</span> ( a > b )</div>
-<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span> {</div>
-<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span> axisX = 2. * sqrt ( ellipseconst / (a+b+p) ) ;</div>
-<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span> axisY = 2. * sqrt ( ellipseconst / (a+b-p) ) ;</div>
-<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span> }</div>
-<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span> {</div>
-<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span> axisX = 2. * sqrt ( ellipseconst / (a+b-p) ) ;</div>
-<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span> axisY = 2. * sqrt ( ellipseconst / (a+b+p) ) ;</div>
-<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span> }</div>
-<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span> </div>
-<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span> parlist[4] = axisX ;</div>
-<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span> parlist[5] = axisY ;</div>
-<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span> parlist[6] = phi ;</div>
-<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span> </div>
-<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span> }</div>
-<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span> </div>
-<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span> <span class="keywordtype">float</span> sinfo_new_determine_conversion_factor ( cpl_imagelist * cube, </div>
-<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span> <span class="keywordtype">float</span> mag,</div>
-<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span> <span class="keywordtype">float</span> exptime,</div>
-<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span> <span class="keywordtype">int</span> llx,</div>
-<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span> <span class="keywordtype">int</span> lly,</div>
-<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span> <span class="keywordtype">int</span> halfbox_x,</div>
-<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span> <span class="keywordtype">int</span> halfbox_y, </div>
-<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span> <span class="keywordtype">int</span>* check )</div>
-<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span> {</div>
-<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span> <span class="keywordtype">int</span> row, col, i ;</div>
-<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span> <span class="keywordtype">int</span> first_row, first_col ;</div>
-<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span> <span class="keywordtype">int</span> last_row, last_col ;</div>
-<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span> <span class="keywordtype">float</span> factor ;</div>
-<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span> <span class="keywordtype">int</span> mpar[7] ;</div>
-<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span> <span class="keywordtype">double</span> fit_par[7] ;</div>
-<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span> <span class="keywordtype">double</span> derv_par[7] ;</div>
-<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span> <span class="keywordtype">int</span> fitInd ;</div>
-<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span> <span class="keywordtype">double</span> sum ;</div>
-<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span> <span class="keywordtype">double</span> xdat[2] ;</div>
-<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span> cpl_image * summedIm ;</div>
-<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span> </div>
-<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span> </div>
-<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span> <span class="keywordflow">if</span> ( NULL == cube )</div>
-<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span> {</div>
-<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no cube given!\n"</span>) ;</div>
-<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span> <span class="keywordflow">return</span> -FLT_MAX ;</div>
-<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span> }</div>
-<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span> </div>
-<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span> ilx=cpl_image_get_size_x(cpl_imagelist_get(cube,0));</div>
-<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span> ily=cpl_image_get_size_y(cpl_imagelist_get(cube,0));</div>
-<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span> inp=cpl_imagelist_get_size(cube);</div>
-<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span> </div>
-<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span> <span class="keywordflow">if</span> ( halfbox_x <= 0 || halfbox_y <= 0 || </div>
-<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span> 2*halfbox_x > ilx || 2*halfbox_y > ily)</div>
-<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span> {</div>
-<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong width of halfbox given!"</span>) ;</div>
-<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span> <span class="keywordflow">return</span> -FLT_MAX ;</div>
-<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span> }</div>
-<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span> <span class="keywordflow">if</span> ( exptime <= 0. )</div>
-<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span> {</div>
-<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" impossible exposure time given !"</span>) ;</div>
-<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span> <span class="keywordflow">return</span> -FLT_MAX ;</div>
-<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span> }</div>
-<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span> </div>
-<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span> <span class="comment">/* collapse the cube to be able to do 2D-Gaussian fitting */</span></div>
-<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span> <span class="keywordflow">if</span> ( NULL == (summedIm = sinfo_new_sum_cube_to_image(cube)) )</div>
-<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span> {</div>
-<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" sinfo_averageCubeToImage failed!"</span>) ;</div>
-<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span> <span class="keywordflow">return</span> -FLT_MAX ;</div>
-<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span> }</div>
-<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span> </div>
-<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span> <span class="comment">/* call the 2D-Gaussian fit routine */</span></div>
-<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span> <span class="keywordflow">for</span> ( i = 0 ; i < 7 ; i++ )</div>
-<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span> {</div>
-<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span> mpar[i] = 1 ;</div>
-<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span> }</div>
-<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span> <span class="keywordflow">if</span> ( -1 == (fitInd = sinfo_new_fit_2d_gaussian(summedIm, fit_par, derv_par,</div>
-<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span> mpar, llx, lly, halfbox_x, </div>
-<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span> halfbox_y, check)) )</div>
-<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span> {</div>
-<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"sinfo_fit2dGaussian failed!"</span>) ;</div>
-<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span> cpl_image_delete( summedIm) ;</div>
-<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span> <span class="keywordflow">return</span> -FLT_MAX ;</div>
-<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span> }</div>
-<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span> cpl_image_delete(summedIm) ;</div>
-<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span> </div>
-<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span> <span class="comment">/* now integrate the found 2D Gaussian by first </span></div>
-<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span> <span class="comment"> subtracting the background */</span></div>
-<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span> <span class="keywordflow">if</span> ((fit_par[0] - halfbox_x) < 0) {</div>
-<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span> first_col=0;</div>
-<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span> check++;</div>
-<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span> first_col=(fit_par[0] - halfbox_x);</div>
-<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span> }</div>
-<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span> </div>
-<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span> <span class="keywordflow">if</span> ((fit_par[0] + halfbox_x) < ilx) {</div>
-<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span> last_col = (fit_par[0] + halfbox_x);</div>
-<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span> last_col = (ilx-1) ;</div>
-<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span> check++;</div>
-<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span> }</div>
-<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span> </div>
-<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span> <span class="keywordflow">if</span> ((fit_par[1] - halfbox_y) < 0) {</div>
-<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span> first_row=0;</div>
-<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span> check++;</div>
-<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span> first_row=(fit_par[1] - halfbox_y) ;</div>
-<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span> }</div>
-<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span> </div>
-<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span> <span class="keywordflow">if</span> ((fit_par[1] + halfbox_y) < ily) {</div>
-<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span> last_row=(fit_par[1] + halfbox_y);</div>
-<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span> last_row= (ily-1);</div>
-<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span> check++;</div>
-<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span> }</div>
-<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span> </div>
-<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span> </div>
-<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span> <span class="keywordflow">if</span> ( first_col < 0 || first_row < 0 || last_col >= ilx || last_row >= ily )</div>
-<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span> {</div>
-<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"star badly centered in FOV or fitting box too big!"</span>) ;</div>
-<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span> <span class="keywordflow">return</span> -FLT_MAX ;</div>
-<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span> }</div>
-<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span> sum = 0. ;</div>
-<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span> <span class="keywordflow">for</span> ( row = first_row ; row < last_row ; row++ ) </div>
-<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span> {</div>
-<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span> <span class="keywordflow">for</span>( col = first_col ; col < last_col ; col++ )</div>
-<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span> {</div>
-<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span> xdat[0] = (double) col ;</div>
-<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span> xdat[1] = (double) row ;</div>
-<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span> sum += (sinfo_new_gaussian_ellipse( xdat, fit_par ) - fit_par[3]) ;</div>
-<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span> }</div>
-<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span> }</div>
-<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span> <span class="keywordflow">if</span> ( sum <= 0. )</div>
-<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span> {</div>
-<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"zero or negative sum of counts!"</span>) ;</div>
-<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span> <span class="keywordflow">return</span> -FLT_MAX ;</div>
-<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span> }</div>
-<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span> factor = mag / (float)sum * exptime ;</div>
-<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span> <span class="keywordflow">return</span> factor ;</div>
-<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span> }</div>
-<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span> </div>
-<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__focus_8h_source.html b/html/sinfo__focus_8h_source.html
deleted file mode 100644
index be60d3e..0000000
--- a/html/sinfo__focus_8h_source.html
+++ /dev/null
@@ -1,139 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_focus.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_focus.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_FOCUS_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_FOCUS_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*******************************************************************************</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* "@(#) $Id: sinfo_focus.h,v 1.3 2007/06/06 07:10:45 amodigli Exp $"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* schreib 04/02/02 created</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * sinfo_focus.h</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * some functions to fit a 2-D Gaussian for focus finding</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_utilities.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_new_cube_ops.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> * Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">double</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> sinfo_new_gaussian_ellipse(<span class="keywordtype">double</span> * xdat, <span class="keywordtype">double</span> * parlist) ;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> sinfo_new_gaussian_ellipse_deriv( <span class="keywordtype">double</span> * xdat, </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">double</span> * parlist, </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">double</span> * dervs ) ;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> sinfo_new_lsqfitd ( <span class="keywordtype">double</span> * xdat,</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keywordtype">int</span> * xdim,</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keywordtype">double</span> * ydat,</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keywordtype">double</span> * wdat,</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordtype">int</span> * ndat,</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordtype">double</span> * fpar,</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordtype">double</span> * epar,</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordtype">int</span> * mpar,</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordtype">int</span> * npar,</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keywordtype">double</span> * tol ,</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keywordtype">int</span> * its ,</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordtype">double</span> * lab ) ;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> sinfo_new_fit_2d_gaussian ( cpl_image * image,</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordtype">double</span> * fit_par,</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keywordtype">double</span> * derv_par,</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordtype">int</span> * mpar,</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordtype">int</span> lleftx,</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordtype">int</span> llefty,</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keywordtype">int</span> halfbox_x,</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keywordtype">int</span> halfbox_y, <span class="keywordtype">int</span>* check ) ;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> cpl_image * </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> sinfo_new_plot_gaussian ( cpl_image * image,</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keywordtype">double</span> * parlist ) ;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordtype">float</span> </div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> sinfo_new_determine_conversion_factor ( cpl_imagelist * cube,</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordtype">float</span> mag,</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keywordtype">float</span> exptime,</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordtype">int</span> llx,</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordtype">int</span> lly,</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordtype">int</span> halfbox_x,</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordtype">int</span> halfbox_y, <span class="keywordtype">int</span>* check ) ;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="preprocessor">#endif </span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__focus__cfg_8c_source.html b/html/sinfo__focus__cfg_8c_source.html
deleted file mode 100644
index 5090326..0000000
--- a/html/sinfo__focus__cfg_8c_source.html
+++ /dev/null
@@ -1,100 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_focus_cfg.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_focus_cfg.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_focus_cfg.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : February 2002</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : configuration handling tools for the 2d-Gaussian fit </span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> of a point source</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"></span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_focus_cfg.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> focus_config * </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> sinfo_focus_cfg_create(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> {</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordflow">return</span> cpl_calloc(1, <span class="keyword">sizeof</span>(focus_config));</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> }</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> sinfo_focus_cfg_destroy(focus_config * cc)</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> {</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keywordflow">if</span> (cc==NULL) return ;</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">/* Free main struct */</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> cpl_free(cc);</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> return ;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__focus__cfg_8h_source.html b/html/sinfo__focus__cfg_8h_source.html
deleted file mode 100644
index faf9968..0000000
--- a/html/sinfo__focus__cfg_8h_source.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_focus_cfg.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_focus_cfg.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_focus_cfg.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : February 2002</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : focus_cfg.c definitions + handling prototypes</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifndef SINFO_FOCUS_CFG_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_FOCUS_CFG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <stdlib.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> New types</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> point source 2D-Gaussian fit blackboard container</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> This structure holds all information related to the 2D-Gaussian fit</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> routine. It is used as a container for the flux of ancillary data,</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> computed values, and algorithm status. Pixel flux is separated from</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> the blackboard.</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>focus_config {</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*-------General---------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">char</span> inFile[FILE_NAME_SZ] ; <span class="comment">/* file name of frame list */</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">char</span> ** inFrameList ; <span class="comment">/* input averaged, bad pixel corrected, </span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> off subtracted, flatfielded, spectral tilt </span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> corrected list of frames */</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">int</span> nframes ; <span class="comment">/* number of frames in the list */</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">char</span> outName[FILE_NAME_SZ] ; <span class="comment">/* output name of resulting </span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> fits data cube */</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">/*------ Reconstruction ------*/</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">/* the fraction [0...1] of rejected low intensity pixels </span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> when taking the average of columns */</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">float</span> lo_reject ;</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">/* the fraction [0...1] of rejected high intensity pixels </span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> when taking the average of columns */</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">float</span> hi_reject ;</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">/* indicates if the slitlet distances are determined by a </span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> north-south test (1) </span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> or slitlet edge fits (0) */</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">int</span> northsouthInd ;</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">/* name of the ASCII list of the fitted slitlet edge </span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> positions or the distances of the slitlets */</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">char</span> poslist[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">/* number of slitlets (32) */</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">int</span> nslits ;</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">/* sub pixel position of the column position of the left sinfo_edge of </span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> the first slitlet needed if the slitlet distances were determined </span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> by a north south test */</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">char</span> firstCol[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/* indicator for the shifting method to use */</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">char</span> method[1] ;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">/* order of polynomial if the polynomial interpolation shifting </span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> method is used */</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">int</span> order ;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">/*------ Gauss2Dfit ------*/</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">/* lower left sinfo_edge coordinates of fitting box for 2D </span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> Gaussian fit */</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">int</span> llx ;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">int</span> lly ;</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">/* half length in pixels of the box within the point source </span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"> is fitted in x and y-direction */</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">int</span> halfbox_x ;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">int</span> halfbox_y ;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">/* mask parameters ( 1 or 0 ) for the fit parameters. If 1 </span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> the corresponding parameter</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> is set free, if 0 the parameter is kept fixed. */</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">int</span> mpar0 ; <span class="comment">/* mask for the x-position */</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordtype">int</span> mpar1 ; <span class="comment">/* mask for the y-position */</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">int</span> mpar2 ; <span class="comment">/* mask for the amplitude */</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordtype">int</span> mpar3 ; <span class="comment">/* mask for the background */</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">int</span> mpar4 ; <span class="comment">/* mask for the fwhmx */</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">int</span> mpar5 ; <span class="comment">/* mask for the fwhmy */</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">int</span> mpar6 ; <span class="comment">/* mask for the position angle of fwhmx line */</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">/* name of the resulting ASCII file containing the fit parameters */</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">char</span> fitlist[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment">/* indicator if the resulting 2D-Gaussian is stored in a fits </span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment"> file or not */</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordtype">int</span> plotGaussInd ;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment">/* name of the fits file containing the resulting 2D-Gaussian */</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keywordtype">char</span> gaussplotName[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> } focus_config ;</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment"> Function prototypes</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> focus_config * </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> sinfo_focus_cfg_create(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> sinfo_focus_cfg_destroy(focus_config * cc);</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__focus__determination__config_8c_source.html b/html/sinfo__focus__determination__config_8c_source.html
deleted file mode 100644
index efecaf2..0000000
--- a/html/sinfo__focus__determination__config_8c_source.html
+++ /dev/null
@@ -1,337 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_focus_determination_config.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_focus_determination_config.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_focus_determination_config.c,v 1.6 2012/03/02 08:42:20 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2012/03/02 08:42:20 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.6 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * Focus Determination *</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "cpl_parameterlist.h"</span> <span class="comment">/* defines parlist structure */</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_dfs.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_focus_determination_config.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/* Focus Determination Parameters Definition */</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> sinfo_focus_determination_config_add(cpl_parameterlist *list)</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> {</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> cpl_parameter *p;</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordflow">if</span> (!list) {</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> }</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">/* Output file name */</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">/* output name of resulting fits wavelength map */</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.focus.output_filename"</span>,</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> CPL_TYPE_STRING,</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="stringliteral">"Output File Name: "</span>,</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="stringliteral">"sinfoni.focus"</span>,</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> FOCUS_OUT_FILENAME);</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"out-focus_filename"</span>);</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> p = cpl_parameter_new_enum(<span class="stringliteral">"sinfoni.focus.method"</span>,</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> CPL_TYPE_STRING,</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="stringliteral">"Shifting method to use: "</span>,</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="stringliteral">"sinfoni.focus"</span>,</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="stringliteral">"P"</span>,</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> 3,</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="stringliteral">"P"</span>,<span class="stringliteral">"F"</span>,<span class="stringliteral">"S"</span>);</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"focus-method"</span>);</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">/* Reconstruction */</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">/* float </span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"> threshold used in the clean mean percentage of rejection used to reject </span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"> low and high frame */</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">/* percentage of extreme pixel value to reject when calculating the mean </span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"> and stdev */</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.focus.lower_rejection"</span>,</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="stringliteral">"lower rejection"</span>,</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="stringliteral">"sinfoni.focus"</span>,</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> 0.1,0.0,1.0);</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"focus-det-low_rejection"</span>);</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment">/* float </span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"> threshold used in the clean mean percentage of rejection used to reject </span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment"> low and high frame */</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment">/* percentage of extreme pixel value to reject when calculating the mean </span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment"> and stdev */</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.focus.higher_rejection"</span>,</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="stringliteral">"high rejection"</span>,</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="stringliteral">"sinfoni.focus"</span>,</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> 0.1,0.0,1.0);</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> cpl_parameter_set_alias(p,CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"focus-det-high_rejection"</span>);</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment">/* indicates if the slitlet distances are determined by </span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"> a north-south test (1) </span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment"> or </span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment"> slitlet sinfo_edge fits (0) */</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.focus.north_south_index"</span>,</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="stringliteral">"North South Index"</span>,</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="stringliteral">"sinfoni.focus"</span>,</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> TRUE);</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"focus-det-ns_index"</span>);</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment">/* number of slitlets (32) */</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.focus.nslits"</span>,</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="stringliteral">"Number Of Slits"</span>,</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="stringliteral">"sinfoni.focus"</span>,</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> 32);</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"focus-det-nslits"</span>);</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.focus.order"</span>,</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="stringliteral">"Order"</span>,</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="stringliteral">"sinfoni.focus"</span>,</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> 2);</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"focus-det-order"</span>);</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment">/* Gauss 2D Fit */</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment">/* lower left sinfo_edge coordinates of fitting box for 2D Gaussian fit */</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.focus.llx"</span>,</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="stringliteral">"llx"</span>,</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="stringliteral">"sinfoni.focus"</span>,</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> 9,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"focus-det-llx"</span>);</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment">/* lower left sinfo_edge coordinates of fitting box for 2D Gaussian fit */</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.focus.lly"</span>,</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="stringliteral">"lly"</span>,</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="stringliteral">"sinfoni.focus"</span>,</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> 9,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"focus-det-lly"</span>);</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment">/* half length in pixels of the box within the point source is fitted in x </span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment"> and y-direction */</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.focus.halfbox_x"</span>,</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="stringliteral">"half box x"</span>,</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="stringliteral">"sinfoni.focus"</span>,</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> 7,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"focus-det-hbx"</span>);</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment">/* half length in pixels of the box within the point source is fitted in x </span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment"> and y-direction */</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.focus.halfbox_y"</span>,</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="stringliteral">"half box y"</span>,</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="stringliteral">"sinfoni.focus"</span>,</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> 7,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"focus-det-hby"</span>);</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment">/* mask for the x-position */</span></div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.focus.mpar0"</span>,</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="stringliteral">"mask par 0"</span>,</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="stringliteral">"sinfoni.focus"</span>,</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> 1);</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"focus-det-mpar0"</span>);</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment">/* mask for the y-position */</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.focus.mpar1"</span>,</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="stringliteral">"mask par 1"</span>,</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="stringliteral">"sinfoni.focus"</span>,</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> 1);</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"focus-det-mpar1"</span>);</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="comment">/* mask for the amplitude */</span></div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.focus.mpar2"</span>,</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="stringliteral">"mask par 2"</span>,</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="stringliteral">"sinfoni.focus"</span>,</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> 1);</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"focus-det-mpar2"</span>);</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="comment">/* mask for the background */</span></div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.focus.mpar3"</span>,</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="stringliteral">"mask par 3"</span>,</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="stringliteral">"sinfoni.focus"</span>,</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> 1);</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"focus-det-mpar3"</span>);</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="comment">/* mask for the fwhmx */</span></div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.focus.mpar4"</span>,</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="stringliteral">"mask par 4"</span>,</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="stringliteral">"sinfoni.focus"</span>,</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> 1);</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"focus-det-mpar4"</span>);</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="comment">/* mask for the fwhmy */</span></div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.focus.mpar5"</span>,</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="stringliteral">"mask par 5"</span>,</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="stringliteral">"sinfoni.focus"</span>,</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> 1);</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"focus-det-mpar5"</span>);</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="comment">/* mask for the position angle of fwhmx line */</span></div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.focus.mpar6"</span>,</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="stringliteral">"mask par 6"</span>,</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="stringliteral">"sinfoni.focus"</span>,</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> 1);</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"focus-det-mpar6"</span>);</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="comment">/* name of the resulting ASCII file containing the fit parameters */</span></div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.focus.fit_list"</span>,</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> CPL_TYPE_STRING,</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="stringliteral">"Fit List: "</span>,</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="stringliteral">"sinfoni.fit_list"</span>,</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> FOCUS_FITPAR_OUT_FILENAME);</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"focus-det-fit_list"</span>);</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="comment">/* indicator if the resulting 2D-Gaussian is stored in a fits file or not */</span></div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.focus.plot_gauss_ind"</span>,</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="stringliteral">"Plot Gauss Ind"</span>,</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="stringliteral">"sinfoni.focus"</span>,</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> TRUE);</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"focus-det-gauss_ind"</span>);</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="comment">/* name of the fits file containing the resulting 2D-Gaussian */</span></div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.focus.gauss_plot_name"</span>,</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> CPL_TYPE_STRING,</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="stringliteral">"Gauss Plot Name: "</span>,</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="stringliteral">"sinfoni.focus"</span>,</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> FOCUS_GAUSSPLOT_OUT_FILENAME);</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> cpl_parameter_set_alias(p, </div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"focus-det-gauss_plot_name"</span>);</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__focus__determination__config_8h_source.html b/html/sinfo__focus__determination__config_8h_source.html
deleted file mode 100644
index 50f310e..0000000
--- a/html/sinfo__focus__determination__config_8h_source.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_focus_determination_config.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_focus_determination_config.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_focus_determination_config.h,v 1.1 2006/10/20 08:06:32 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2006/10/20 08:06:32 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> * Focus Determination *</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "cpl.h"</span> <span class="comment">/* defines parlist structure */</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">#include "sinfo_dfs.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_hidden.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="keywordtype">void</span> sinfo_focus_determination_config_add(cpl_parameterlist *list);</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__focus__ini_8h_source.html b/html/sinfo__focus__ini_8h_source.html
deleted file mode 100644
index e1457aa..0000000
--- a/html/sinfo__focus__ini_8h_source.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_focus_ini.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_focus_ini.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_focus_ini.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Feb 13, 2002</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : ini file handling for SPIFFIs focus finding</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifndef SINFO_FOCUS_INI_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_FOCUS_INI_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "sinfo_focus_cfg.h"</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> generateFocus_ini_file(</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">char</span> * ini_name,</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">char</span> * name_i,</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">char</span> * name_o</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> );</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> focus_config * </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> parse_focus_ini_file(<span class="keywordtype">char</span> * ini_name) ;</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__focus__ini__by__cpl_8c_source.html b/html/sinfo__focus__ini__by__cpl_8c_source.html
deleted file mode 100644
index 4ca9099..0000000
--- a/html/sinfo__focus__ini__by__cpl_8c_source.html
+++ /dev/null
@@ -1,320 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_focus_ini_by_cpl.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_focus_ini_by_cpl.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_focus_ini_by_cpl.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : May 20, 2004</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : cpl input handling for SPIFFI</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_focus_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_file_handling.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> Functions private to this module</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> parse_section_frames(focus_config *, cpl_parameterlist* cpl_cfg, </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> cpl_frameset* sof,cpl_frameset** stk, <span class="keywordtype">int</span>* status);</div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> parse_section_reconstruction(focus_config *, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> parse_section_gauss2dfit(focus_config *, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> focus_config * </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> sinfo_parse_cpl_input_focus(cpl_parameterlist * cpl_cfg, cpl_frameset* sof,</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> cpl_frameset** stk)</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> {</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> focus_config * cfg = sinfo_focus_cfg_create();</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">int</span> status=0;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> * Perform sanity checks, fill up the structure with what was</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> * found in the ini file</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> parse_section_reconstruction (cfg, cpl_cfg);</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> parse_section_gauss2dfit (cfg, cpl_cfg);</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> parse_section_frames (cfg, cpl_cfg,sof,stk,&status);</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keywordflow">if</span> (status > 0) {</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"parsing cpl input"</span>);</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> sinfo_focus_cfg_destroy(cfg);</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> cfg = NULL ;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> }</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordflow">return</span> cfg ;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> }</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> parse_section_frames(focus_config * cfg,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> cpl_parameterlist* cpl_cfg,</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> cpl_frameset* sof,</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> cpl_frameset** raw, </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">int</span>* status)</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> {</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keywordtype">char</span> * name ;</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordtype">int</span> nframes=0;</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">int</span> nraw=0;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> cpl_frame* frame = NULL;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> cpl_parameter *p; </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">char</span> spat_res[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">char</span> lamp_status[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">char</span> band[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">int</span> ins_set=0;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordtype">char</span> * tag;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> nframes = cpl_frameset_get_size(sof);</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment">/* Get the raw and the calibration files */</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment">/* Labelise the input frames according to their tags */</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> *raw=cpl_frameset_new();</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> sinfo_extract_raw_frames_type(sof,raw,PRO_FOCUS_STACKED);</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> nraw=cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordflow">if</span> (nraw < 1) {</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Too few (%d) raw frames (%s) present in"</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="stringliteral">"frameset!Aborting..."</span>,nraw,PRO_FOCUS_STACKED);</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> (*status)++;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> }</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment">/* Allocate structures to go into the blackboard */</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> cfg->inFrameList = cpl_malloc(nraw * <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>*));</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment">/* Browse through the charmatrix to get names and file types */</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordflow">for</span> (i=0 ; i<nraw ; i++) {</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> frame = cpl_frameset_get_frame(*raw,i);</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> name= (<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordflow">if</span>(sinfo_file_exists(name)==1) {</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment">/* to go on the file must exist */</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keywordflow">if</span>(cpl_frame_get_tag(frame) != NULL) {</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment">/* If the frame has a tag we process it. Else it is an object */</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> tag= (<span class="keywordtype">char</span>*) cpl_frame_get_tag(frame);</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keywordflow">if</span>(sinfo_is_stack(tag)) </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> {</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> cfg->inFrameList[i]=cpl_strdup(cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> }</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"No good frame tag %s in input frame set"</span>,tag);</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> (*status)++;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> }</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> }</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> }</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment">/* Store file name into inFrameList */</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> }</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment">/* Copy relevant information into the blackboard */</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> cfg->nframes = nraw ;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.focus.output_filename"</span>);</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> strcpy(cfg -> outName, cpl_parameter_get_string(p));</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_FIRST_COL)) {</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> frame = cpl_frameset_find(sof,PRO_FIRST_COL);</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> strcpy(cfg -> firstCol,cpl_strdup(cpl_frame_get_filename(frame)));</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame %s not found! Exit!"</span>, PRO_FIRST_COL);</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> (*status)++;</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> }</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_SLITLETS_DISTANCE)) {</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> frame = cpl_frameset_find(sof,PRO_SLITLETS_DISTANCE);</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> strcpy(cfg -> poslist,cpl_strdup(cpl_frame_get_filename(frame)));</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame %s not found! Exit!"</span>, PRO_SLITLETS_DISTANCE);</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> (*status)++;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> }</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> frame = cpl_frameset_get_frame(*raw,0);</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> sinfo_get_spatial_res(frame,spat_res);</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keywordflow">switch</span>(sinfo_frame_is_on(frame)) </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> {</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="keywordflow">case</span> 0: </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> strcpy(lamp_status,<span class="stringliteral">"on"</span>);</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keywordflow">case</span> 1: </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> strcpy(lamp_status,<span class="stringliteral">"off"</span>);</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keywordflow">case</span> -1:</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keywordflow">default</span>: </div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> }</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> sinfo_get_band(frame,band);</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> sinfo_msg(<span class="stringliteral">"Spatial resolution: %s lamp_status: %s band: %s \n"</span>,</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> spat_res, lamp_status, band);</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> sinfo_get_ins_set(band,&ins_set);</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> }</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> parse_section_reconstruction(focus_config * cfg,cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> {</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.focus.lower_rejection"</span>);</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> cfg -> lo_reject = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.focus.higher_rejection"</span>);</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> cfg -> hi_reject = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.focus.north_south_index"</span>);</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> cfg -> northsouthInd = cpl_parameter_get_bool(p);</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.focus.nslits"</span>);</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> cfg -> nslits = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.focus.method"</span>);</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> strcpy(cfg->method, cpl_parameter_get_string(p));</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.focus.order"</span>);</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> cfg -> order= cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> }</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> parse_section_gauss2dfit(focus_config * cfg,cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> {</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.focus.llx"</span>);</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> cfg -> llx = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.focus.lly"</span>);</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> cfg -> lly = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.focus.halfbox_x"</span>);</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> cfg -> halfbox_x = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.focus.halfbox_y"</span>);</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> cfg -> halfbox_y = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.focus.mpar0"</span>);</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> cfg -> mpar0 = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.focus.mpar1"</span>);</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> cfg -> mpar1 = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.focus.mpar2"</span>);</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> cfg -> mpar2 = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.focus.mpar3"</span>);</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> cfg -> mpar3 = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.focus.mpar4"</span>);</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> cfg -> mpar4 = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> </div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.focus.mpar5"</span>);</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> cfg -> mpar5 = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.focus.mpar6"</span>);</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> cfg -> mpar6 = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.focus.fit_list"</span>);</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> strcpy(cfg -> fitlist, cpl_parameter_get_string(p));</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="comment">/* int or string ?*/</span></div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.focus.plot_gauss_ind"</span>);</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> cfg -> plotGaussInd = cpl_parameter_get_bool(p);</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.focus.gauss_plot_name"</span>);</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> strcpy( cfg -> gaussplotName, cpl_parameter_get_string(p));</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> return ;</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> }</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> sinfo_free_focus(focus_config * cfg) {</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> cpl_free(cfg->inFrameList);</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> sinfo_focus_cfg_destroy (cfg);</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__focus__ini__by__cpl_8h_source.html b/html/sinfo__focus__ini__by__cpl_8h_source.html
deleted file mode 100644
index f531716..0000000
--- a/html/sinfo__focus__ini__by__cpl_8h_source.html
+++ /dev/null
@@ -1,94 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_focus_ini_by_cpl.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_focus_ini_by_cpl.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_focus_ini_by_cpl.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : May 20, 2004</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : cpl input handling for SPIFFIs focus finding</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifndef SINFO_FOCUS_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_FOCUS_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_focus_cfg.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> sinfo_free_focus(focus_config * cfg);</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> focus_config * </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> sinfo_parse_cpl_input_focus(cpl_parameterlist * cpl_cfg, </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> cpl_frameset** stk) ;</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__function__1d_8c_source.html b/html/sinfo__function__1d_8c_source.html
deleted file mode 100644
index aa48967..0000000
--- a/html/sinfo__function__1d_8c_source.html
+++ /dev/null
@@ -1,755 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_function_1d.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_function_1d.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : function_1d.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Nicolas Devillard</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Tue, Sept 23 1997 </span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : 1d signal processing related routines </span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> $Id: sinfo_function_1d.c,v 1.7 2012/03/02 08:42:20 amodigli Exp $</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> $Author: amodigli $</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> $Date: 2012/03/02 08:42:20 $</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> $Revision: 1.7 $</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"></span><span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_function_1d.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_fit_curve.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_median.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> * This parameter sets up the half size of the domain around which a</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> * centroid position will be computed.</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#define HALF_CENTROID_DOMAIN 5</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor"></span><span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> Private function prototypes</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keyword">static</span> <span class="keywordtype">double</span> * function1d_generate_smooth_kernel(<span class="keywordtype">int</span> filt_type, <span class="keywordtype">int</span> hw);</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> function1d_search_value(</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> pixelvalue * x,</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">int</span> len,</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> pixelvalue key,</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">int</span> * foundPtr</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> ) ;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> pixelvalue *</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> sinfo_function1d_new(<span class="keywordtype">int</span> nsamples)</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> {</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordflow">if</span> (nsamples<1) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordflow">return</span> cpl_calloc(nsamples, <span class="keyword">sizeof</span>(pixelvalue)) ;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> }</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> sinfo_function1d_del(pixelvalue * s)</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> {</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordflow">if</span> (s)</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> cpl_free(s);</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> return ;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> }</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> pixelvalue * </div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> sinfo_function1d_dup(pixelvalue * arr, <span class="keywordtype">int</span> ns)</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> {</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> pixelvalue * n_arr ;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> n_arr = sinfo_function1d_new(ns);</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> memcpy(n_arr, arr, ns * <span class="keyword">sizeof</span>(pixelvalue));</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">return</span> n_arr ;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> }</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> sinfo_function1d_find_centroid(</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> pixelvalue * line, <span class="comment">/* the input line */</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordtype">int</span> npix <span class="comment">/* number of pixels in this line */</span></div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> )</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> {</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> pixelvalue max ;</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordtype">double</span> centroid ;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordtype">double</span> weights ;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keywordtype">int</span> i, maxpos ;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment"> * Search for the maximum pixel value on the line</span></div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> max = line[0] ;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> maxpos = 0 ;</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordflow">for</span> (i=1 ; i<npix ; i++) {</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">if</span> (line[i]>max) {</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> max = line[i] ;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> maxpos = i ;</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> }</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> }</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment"> * The centroid position is the weighted average over the maximum </span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment"> * pixel neighborhood.</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> centroid = 0.0 ;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> weights = 0.0 ;</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keywordflow">for</span> (i=maxpos-HALF_CENTROID_DOMAIN; </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> i<=maxpos+HALF_CENTROID_DOMAIN; i++) {</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> centroid += (double)line[i] * (<span class="keywordtype">double</span>)i ;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> weights += (double)line[i] ;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> }</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> centroid /= weights ;</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keywordflow">return</span> centroid ; </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> }</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> sinfo_function1d_find_locmax(</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> pixelvalue * line,</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keywordtype">int</span> npix,</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordtype">int</span> where,</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordtype">int</span> hs</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> )</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> {</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> pixelvalue max ;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordtype">double</span> centroid ;</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordtype">double</span> weights ;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordtype">int</span> i, maxpos ;</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordflow">if</span> ((where<hs) || (where>(npix-hs-1))) {</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordflow">return</span> (<span class="keywordtype">double</span>)-1.0 ;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> }</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="comment"> * Search for the closest local maximal around the requested range.</span></div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> max = line[where] ;</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> maxpos = where ;</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keywordflow">for</span> (i=-hs ; i<=hs ; i++) {</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="keywordflow">if</span> (line[where+i]>max) {</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> max = line[where+i] ;</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> maxpos = where+i ;</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> }</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> }</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="comment"> * The centroid position is the weighted average over the maximum </span></div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="comment"> * pixel neighborhood.</span></div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> centroid = 0.0 ;</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> weights = 0.0 ;</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="keywordflow">for</span> (i=maxpos-hs; i<=maxpos+hs; i++) {</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> centroid += (double)line[i] * (<span class="keywordtype">double</span>)i ;</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> weights += (double)line[i] ;</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> }</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keywordflow">if</span> (fabs(weights)>1e-6) {</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> centroid /= weights ;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> centroid = -1.0 ;</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> }</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="keywordflow">return</span> centroid ; </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> }</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> pixelvalue *</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> sinfo_function1d_filter_lowpass(</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> pixelvalue * input_sig,</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="keywordtype">int</span> samples,</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="keywordtype">int</span> filter_type,</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="keywordtype">int</span> hw</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> )</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> {</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> pixelvalue * out_sig ;</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keywordtype">int</span> i, j ;</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="keywordtype">double</span> replace ;</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="keywordtype">double</span> * kernel ;</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> </div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="comment">/* allocate output signal */</span></div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> out_sig = sinfo_function1d_new(samples);</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="comment">/* generate low-pass filter kernel */</span></div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> kernel = function1d_generate_smooth_kernel(filter_type, hw) ;</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="comment">/* compute sinfo_edge effects for the first hw elements */</span></div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keywordflow">for</span> (i=0 ; i<hw ; i++) {</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> replace = 0.0 ;</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="keywordflow">for</span> (j=-hw ; j<=hw ; j++) {</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="keywordflow">if</span> (i+j<0) {</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> replace += kernel[hw+j] * (double)input_sig[0] ;</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> replace += kernel[hw+j] * (double)input_sig[i+j] ;</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> }</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> }</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> out_sig[i] = (pixelvalue)replace ;</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> }</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="comment">/* compute sinfo_edge effects for the last hw elements */</span></div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="keywordflow">for</span> (i=samples-hw ; i<samples ; i++) {</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> replace = 0.0 ;</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="keywordflow">for</span> (j=-hw ; j<=hw ; j++) {</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="keywordflow">if</span> (i+j>samples-1) {</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> replace += kernel[hw+j] * (double)input_sig[samples-1] ;</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> replace += kernel[hw+j] * (double)input_sig[i+j] ;</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> }</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> }</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> out_sig[i] = (pixelvalue)replace ;</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> }</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> </div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="comment">/* compute all other elements */</span></div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="keywordflow">for</span> (i=hw ; i<samples-hw ; i++) {</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> replace = 0.0 ;</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="keywordflow">for</span> (j=-hw ; j<=hw ; j++) {</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> replace += kernel[hw+j] * (double)input_sig[i+j] ;</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> }</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> out_sig[i] = (pixelvalue)replace ;</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> }</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> </div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> cpl_free(kernel) ;</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="keywordflow">return</span> out_sig ;</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> </div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> }</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="keyword">static</span> <span class="keywordtype">double</span> * </div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> function1d_generate_smooth_kernel(<span class="keywordtype">int</span> filt_type, <span class="keywordtype">int</span> hw)</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> {</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="keywordtype">double</span> * kernel ;</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="keywordtype">double</span> norm ;</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> kernel = (<span class="keywordtype">double</span>*)cpl_calloc(2*hw+1, <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="keywordflow">switch</span>(filt_type) {</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> </div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="keywordflow">case</span> LOW_PASS_LINEAR:</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="keywordflow">for</span> (i=-hw ; i<=hw ; i++) {</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="comment">/* flat kernel */</span></div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> kernel[hw+i] = 1.0 / (double)(2*hw+1) ;</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> }</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> break ;</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> </div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keywordflow">case</span> LOW_PASS_GAUSSIAN:</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> norm = 0.00 ;</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="keywordflow">for</span> (i=-hw ; i<=hw ; i++) {</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="comment">/* sinfo_gaussian kernel */</span></div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> kernel[hw+i] = exp(-(<span class="keywordtype">double</span>)(i*i)) ;</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> norm += kernel[hw+i] ;</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> }</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="keywordflow">for</span> (i=0 ; i<2*hw+1 ; i++) {</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> kernel[i] /= norm ;</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> }</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> break ;</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> </div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"unrecognized low pass filter: "</span></div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="stringliteral">"cannot generate kernel"</span>) ;</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="keywordflow">return</span> (<span class="keywordtype">double</span>*)NULL ;</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> break ;</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> }</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="keywordflow">return</span> kernel ;</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> }</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> </div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> pixelvalue * </div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> sinfo_function1d_median_smooth(</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> pixelvalue * list,</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="keywordtype">int</span> np,</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="keywordtype">int</span> hw)</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> {</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="keywordtype">int</span> i,j ;</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> pixelvalue * row ;</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> pixelvalue * smoothed ;</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> </div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> <span class="comment">/* simply copy first 3 and last 3 items */</span></div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> smoothed = sinfo_function1d_new(np);</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="keywordflow">for</span> (i=0 ; i<hw ; i++) {</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> smoothed[i] = list[i] ;</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> }</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="keywordflow">for</span> (i=np-hw ; i<np ; i++) {</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> smoothed[i] = list[i] ;</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> }</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> </div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="comment">/* sinfo_median filter on all central items */</span></div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> row = sinfo_function1d_new(2*hw+1);</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="keywordflow">for</span> (i=hw ; i<np-hw ; i++) {</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="keywordflow">for</span> (j=-hw ; j<=hw ; j++) {</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> row[j+hw] = list[i+j] ;</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> }</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> smoothed[i] = sinfo_median_pixelvalue(row, 2*hw+1) ; </div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> }</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> sinfo_function1d_del(row) ;</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="keywordflow">return</span> smoothed ;</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> }</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> </div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="preprocessor">#define LOWFREQ_PASSES 5</span></div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> pixelvalue * </div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> sinfo_function1d_remove_lowfreq(</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> pixelvalue * pixel_signal,</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="keywordtype">int</span> ns)</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> {</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> pixelvalue * sig_in ;</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> pixelvalue * smooth ;</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> </div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> </div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="comment">/* Apply severe low-pass filter several times */</span></div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> sig_in = sinfo_function1d_dup(pixel_signal, ns);</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="keywordflow">for</span> (i=0 ; i<LOWFREQ_PASSES ; i++) {</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> smooth = sinfo_function1d_filter_lowpass( sig_in, ns, </div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> LOW_PASS_LINEAR, 5);</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> cpl_free(sig_in);</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> sig_in = smooth ;</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> }</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> </div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="comment">/* Subtract smoothed signal from input signal */</span></div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <span class="keywordflow">for</span> (i=0 ; i<ns ; i++) {</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> smooth[i] = pixel_signal[i] - smooth[i];</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> }</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="keywordflow">return</span> smooth ;</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> }</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> </div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="preprocessor">#undef LOWFREQ_PASSES</span></div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="preprocessor">#define SAMPLE_BORDER 10</span></div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> pixelvalue * </div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> sinfo_function1d_remove_thermalbg(</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> pixelvalue * pixel_signal,</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> <span class="keywordtype">int</span> ns)</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> {</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> pixelvalue * smooth ;</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> </div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="keywordtype">int</span> nmin ;</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> pixelvalue lef[2], rig[2];</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> </div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> pixelvalue * x,</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> * y,</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> * spl_x,</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> * spl_y ;</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> <span class="keywordtype">double</span> med_y ;</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> <span class="keywordtype">double</span> avg2med ;</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="keywordtype">double</span> dist ;</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> </div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> </div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <span class="comment">/* Detect all local minima */</span></div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> nmin = 0 ;</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> x = sinfo_function1d_new(ns);</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> y = sinfo_function1d_new(ns);</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> </div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <span class="keywordflow">for</span> (i=SAMPLE_BORDER ; i<(ns-SAMPLE_BORDER) ; i++) {</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> lef[0] = pixel_signal[i-2];</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> lef[1] = pixel_signal[i-1];</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> rig[0] = pixel_signal[i+1];</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> rig[1] = pixel_signal[i+2];</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> </div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="keywordflow">if</span> ( (pixel_signal[i] < lef[0]) &&</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> (pixel_signal[i] < lef[1]) &&</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> (pixel_signal[i] < rig[0]) &&</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> (pixel_signal[i] < rig[1])) {</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> x[nmin] = (pixelvalue)i ;</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> y[nmin] = pixel_signal[i];</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> nmin ++ ;</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> }</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> }</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> </div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> </div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <span class="comment">/* Interpolate linearly missing values */</span></div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> spl_x = sinfo_function1d_new(ns);</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> spl_y = sinfo_function1d_new(ns);</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> <span class="keywordflow">for</span> (i=0 ; i<ns ; i++) {</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> spl_x[i] = (pixelvalue)i ;</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> }</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> sinfo_function1d_interpolate_linear(x, y, nmin, spl_x, spl_y, ns);</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> </div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> sinfo_function1d_del(x) ;</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> sinfo_function1d_del(y) ;</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> sinfo_function1d_del(spl_x);</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> </div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="comment">/* Compute sinfo_median and average distance to the sinfo_median */</span></div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> med_y = (double)sinfo_median_pixelvalue(pixel_signal, ns);</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> avg2med = 0.0 ;</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <span class="keywordflow">for</span> (i=0 ; i<ns ; i++) {</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> avg2med += fabs((<span class="keywordtype">double</span>)pixel_signal[i] - med_y) ;</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> }</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> avg2med /= (double)ns ;</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> </div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> <span class="comment">/* Reset all pixels out of sinfo_median + 2 * avg2med to zero. */</span></div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="keywordflow">for</span> (i=0 ; i<ns ; i++) {</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> dist = fabs((<span class="keywordtype">double</span>)pixel_signal[i] - med_y);</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> <span class="keywordflow">if</span> (dist > (2.0*avg2med)) {</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> spl_y[i] = (pixelvalue)0 ;</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> }</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> }</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> </div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> </div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> smooth = sinfo_function1d_new(ns);</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="keywordflow">for</span> (i=0 ; i<ns ; i++) {</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> <span class="keywordflow">if</span> (spl_y[i]>1e-4) {</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> smooth[i] = pixel_signal[i] - spl_y[i];</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> smooth[i] = 0.0 ;</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> }</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> }</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> sinfo_function1d_del(spl_y);</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="keywordflow">return</span> smooth ;</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> }</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> </div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="preprocessor">#undef LOWFREQ_PASSES</span></div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> sinfo_function1d_interpolate_linear(</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> pixelvalue * x,</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> pixelvalue * y,</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> <span class="keywordtype">int</span> len,</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> pixelvalue * spl_x,</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> pixelvalue * spl_y,</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> <span class="keywordtype">int</span> spl_len</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> )</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> {</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> <span class="keywordtype">double</span> a, b ;</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> <span class="keywordtype">int</span> i, j ;</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> <span class="keywordtype">int</span> found ;</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> </div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> <span class="keywordflow">for</span> (i=0 ; i<spl_len ; i++) {</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> <span class="comment">/* Find (x1,y1) on the left of the current point */</span></div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> found = 0 ;</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> <span class="keywordflow">for</span> (j=0 ; j<(len-1) ; j++) {</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> <span class="keywordflow">if</span> ((spl_x[i]>=x[j]) && (spl_x[i]<=x[j+1])) {</div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> found++ ;</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> break ;</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> }</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> }</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> <span class="keywordflow">if</span> (!found) {</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> spl_y[i] = 0.0;</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> a = ((double)y[j+1]-(<span class="keywordtype">double</span>)y[j]) /</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> ((<span class="keywordtype">double</span>)x[j+1]-(double)x[j]);</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> b = (double)y[j] - a * (<span class="keywordtype">double</span>)x[j] ;</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> spl_y[i] = (pixelvalue)(a * (<span class="keywordtype">double</span>)spl_x[i] + b) ;</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> }</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> }</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> return ;</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> }</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> </div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> function1d_search_value(</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> pixelvalue * x,</div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> <span class="keywordtype">int</span> len,</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> pixelvalue key,</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> <span class="keywordtype">int</span> * foundPtr</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> )</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> {</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> <span class="keywordtype">int</span> high,</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> low,</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> middle;</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> </div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> low = 0;</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> high = len - 1;</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> </div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> <span class="keywordflow">while</span> (high >= low) {</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> middle = (high + low) / 2;</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> <span class="keywordflow">if</span> (key > x[middle]) {</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> low = middle + 1;</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (key < x[middle]) {</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> high = middle - 1;</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> *foundPtr = 1;</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> <span class="keywordflow">return</span> (middle);</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> }</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> }</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> *foundPtr = 0;</div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> <span class="keywordflow">return</span> (low);</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> }</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> </div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> sinfo_function1d_natural_spline(</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> pixelvalue * x,</div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> pixelvalue * y,</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> <span class="keywordtype">int</span> len,</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> pixelvalue * splX,</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> pixelvalue * splY,</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <span class="keywordtype">int</span> splLen</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> )</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> {</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="keywordtype">int</span> end;</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="keywordtype">int</span> loc,</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> found;</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> <span class="keyword">register</span> <span class="keywordtype">int</span> i,</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> j,</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> n;</div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> <span class="keywordtype">double</span> * h; <span class="comment">/* sinfo_vector of deltas in x */</span></div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> <span class="keywordtype">double</span> * alpha;</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> <span class="keywordtype">double</span> * l,</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> * mu,</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> * z,</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> * a,</div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> * b,</div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> * c,</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> * d,</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> v;</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> </div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> end = len - 1;</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> </div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> a = cpl_malloc(<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>) * splLen * 9) ;</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> b = a + len;</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> c = b + len;</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> d = c + len;</div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> h = d + len;</div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> l = h + len;</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> z = l + len;</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> mu = z + len;</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> alpha = mu + len;</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> </div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> <span class="keywordflow">for</span> (i = 0; i < len; i++) {</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> a[i] = (double)y[i];</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> }</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> </div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> <span class="comment">/* Calculate sinfo_vector of differences */</span></div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> <span class="keywordflow">for</span> (i = 0; i < end; i++) {</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> h[i] = (double)x[i + 1] - (<span class="keywordtype">double</span>)x[i];</div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> <span class="keywordflow">if</span> (h[i] < 0.0) {</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> cpl_free(a) ;</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> }</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> }</div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> </div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> <span class="comment">/* Calculate alpha sinfo_vector */</span></div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> <span class="keywordflow">for</span> (n = 0, i = 1; i < end; i++, n++) {</div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> <span class="comment">/* n = i - 1 */</span></div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> alpha[i] = 3.0 * ((a[i+1] / h[i]) - (a[i] / h[n]) - (a[i] / h[i]) +</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> (a[n] / h[n]));</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> }</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> </div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> <span class="comment">/* Vectors to solve the tridiagonal sinfo_matrix */</span></div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> l[0] = l[end] = 1.0;</div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> mu[0] = mu[end] = 0.0;</div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> z[0] = z[end] = 0.0;</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> c[0] = c[end] = 0.0;</div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> </div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> <span class="comment">/* Calculate the intermediate results */</span></div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> <span class="keywordflow">for</span> (n = 0, i = 1; i < end; i++, n++) {</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> <span class="comment">/* n = i-1 */</span></div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> l[i] = 2 * (h[i] + h[n]) - h[n] * mu[n];</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> mu[i] = h[i] / l[i];</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> z[i] = (alpha[i] - h[n] * z[n]) / l[i];</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> }</div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> <span class="keywordflow">for</span> (n = end, j = end - 1; j >= 0; j--, n--) {</div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> <span class="comment">/* n = j + 1 */</span></div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> c[j] = z[j] - mu[j] * c[n];</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> b[j] = (a[n] - a[j]) / h[j] - h[j] * (c[n] + 2.0 * c[j]) / 3.0;</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> d[j] = (c[n] - c[j]) / (3.0 * h[j]);</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> }</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> </div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> <span class="comment">/* Now calculate the new values */</span></div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> <span class="keywordflow">for</span> (j = 0; j < splLen; j++) {</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> v = (double)splX[j];</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> splY[j] = (pixelvalue)0;</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> </div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> <span class="comment">/* Is it outside the interval? */</span></div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> <span class="keywordflow">if</span> ((v < (<span class="keywordtype">double</span>)x[0]) || (v > (<span class="keywordtype">double</span>)x[end])) {</div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> <span class="keywordflow">continue</span>;</div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> }</div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> <span class="comment">/* Search for the interval containing v in the x sinfo_vector */</span></div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> loc = function1d_search_value(x, len, (pixelvalue)v, &found);</div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> <span class="keywordflow">if</span> (found) {</div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> splY[j] = y[loc];</div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> loc--;</div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> v -= (double)x[loc];</div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> splY[j] = (pixelvalue)( a[loc] +</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> v * (b[loc] +</div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> v * (c[loc] +</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> v * d[loc])));</div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> }</div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> }</div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> cpl_free(a) ;</div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> }</div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> </div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> pixelvalue</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> sinfo_function1d_average_reject(</div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> pixelvalue * line,</div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> <span class="keywordtype">int</span> npix,</div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> <span class="keywordtype">int</span> pix_low,</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> <span class="keywordtype">int</span> pix_high)</div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> {</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> pixelvalue * sorted ;</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> <span class="keywordtype">double</span> avg ;</div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> </div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> <span class="comment">/* Sanity tests */</span></div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> <span class="keywordflow">if</span> ((line==NULL) || (npix<1)) <span class="keywordflow">return</span> (pixelvalue)0 ;</div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> <span class="keywordflow">if</span> ((pix_low+pix_high)>=npix) <span class="keywordflow">return</span> (pixelvalue)0 ;</div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> </div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> <span class="comment">/* Copy input line and sort it */</span></div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> sorted = cpl_malloc(npix * <span class="keyword">sizeof</span>(pixelvalue)) ;</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> memcpy(sorted, line, npix * <span class="keyword">sizeof</span>(pixelvalue)) ;</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> sinfo_pixel_qsort(sorted, npix);</div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> </div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> <span class="comment">/* Find out average of remaining values */</span></div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> avg = 0.00 ;</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> <span class="keywordflow">for</span> (i=pix_low+1 ; i<(npix-pix_high) ; i++) {</div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> avg += (double)sorted[i] ;</div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> }</div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> cpl_free(sorted);</div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> avg /= (double)(npix - pix_high - pix_low) ;</div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> </div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> <span class="keywordflow">return</span> (pixelvalue)avg ;</div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> }</div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> </div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> <span class="preprocessor">#define STEP_MIN (-half_search)</span></div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> <span class="preprocessor"></span><span class="preprocessor">#define STEP_MAX (half_search)</span></div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> <span class="keywordtype">double</span> </div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> sinfo_function1d_xcorrelate(</div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> pixelvalue * line_i,</div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> <span class="keywordtype">int</span> width_i,</div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> pixelvalue * line_t,</div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> <span class="keywordtype">int</span> width_t,</div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> <span class="keywordtype">int</span> half_search,</div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> <span class="keywordtype">double</span> * delta</div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> )</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> {</div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> <span class="keywordtype">double</span> * xcorr ;</div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> <span class="keywordtype">double</span> xcorr_max ;</div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> <span class="keywordtype">double</span> mean_i, mean_t ;</div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> <span class="keywordtype">double</span> rms_i, rms_t ;</div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> <span class="keywordtype">double</span> sum, sqsum ;</div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> <span class="keywordtype">double</span> norm ;</div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> <span class="keywordtype">int</span> maxpos ;</div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> <span class="keywordtype">int</span> nsteps ;</div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> <span class="keywordtype">int</span> step ;</div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> <span class="keywordtype">int</span> nval ;</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> </div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> </div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> <span class="comment">/* Compute normalization factors */</span></div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> sum = sqsum = 0.00 ;</div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> <span class="keywordflow">for</span> (i=0 ; i<width_i ; i++) {</div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> sum += (double)line_i[i] ;</div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> sqsum += (double)line_i[i] * (<span class="keywordtype">double</span>)line_i[i];</div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> }</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> mean_i = sum / (double)width_i ;</div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> sqsum /= (double)width_i ;</div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> rms_i = sqsum - mean_i*mean_i ;</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> </div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> sum = sqsum = 0.00 ;</div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> <span class="keywordflow">for</span> (i=0 ; i<width_t ; i++) {</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> sum += (double)line_t[i] ;</div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> sqsum += (double)line_t[i] * (<span class="keywordtype">double</span>)line_t[i];</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> }</div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> mean_t = sum / (double)width_t ;</div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> sqsum /= (double)width_t ;</div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> rms_t = sqsum - mean_t*mean_t ;</div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> </div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> norm = 1.00 / sqrt(rms_i * rms_t);</div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> </div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> nsteps = (STEP_MAX - STEP_MIN) +1 ;</div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> xcorr = cpl_malloc(nsteps * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> <span class="keywordflow">for</span> (step=STEP_MIN ; step<=STEP_MAX ; step++) {</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> xcorr[step-STEP_MIN] = 0.00 ;</div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> nval = 0 ;</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> <span class="keywordflow">for</span> (i=0 ; i<width_t ; i++) {</div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> <span class="keywordflow">if</span> ((i+step > 0) &&</div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> (i+step < width_i)) {</div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> xcorr[step-STEP_MIN] += ((double)line_t[i] - mean_t) *</div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> ((double)line_i[i+step] - mean_i) *</div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> norm ;</div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> nval++ ;</div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> }</div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> }</div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> xcorr[step-STEP_MIN] /= (double)nval ;</div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> }</div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> xcorr_max = xcorr[0] ;</div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> maxpos = 0 ;</div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> <span class="keywordflow">for</span> (i=0 ; i<nsteps ; i++) {</div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> <span class="keywordflow">if</span> (xcorr[i]>xcorr_max) {</div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> maxpos = i ;</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> xcorr_max = xcorr[i];</div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> }</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> }</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> cpl_free(xcorr);</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> (*delta) = + ((double)STEP_MIN + (<span class="keywordtype">double</span>)maxpos);</div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> <span class="keywordflow">return</span> xcorr_max ;</div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__function__1d_8h_source.html b/html/sinfo__function__1d_8h_source.html
deleted file mode 100644
index f9954e5..0000000
--- a/html/sinfo__function__1d_8h_source.html
+++ /dev/null
@@ -1,185 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_function_1d.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_function_1d.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_function_1d.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Nicolas Devillard</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Tue, Sept 23 1997 </span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : 1d signal processing related routines </span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> $Id: sinfo_function_1d.h,v 1.6 2008/03/25 08:20:43 amodigli Exp $</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> $Author: amodigli $</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> $Date: 2008/03/25 08:20:43 $</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> $Revision: 1.6 $</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#ifndef SINFO_FUNCTION_1D_H</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_FUNCTION_1D_H</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span><span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_local_types.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_pixel_handling.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/* Low pass filter types: */</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#define LOW_PASS_LINEAR 100</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor"></span><span class="preprocessor">#define LOW_PASS_GAUSSIAN 101</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor"></span><span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> pixelvalue * </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> sinfo_function1d_new(<span class="keywordtype">int</span> nsamples);</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> sinfo_function1d_del(pixelvalue * s);</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> pixelvalue * </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> sinfo_function1d_dup(pixelvalue * arr, <span class="keywordtype">int</span> ns);</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> sinfo_function1d_find_centroid(</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> pixelvalue * line, <span class="comment">/* the input line */</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">int</span> npix <span class="comment">/* number of pixels in this line */</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> );</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> sinfo_function1d_find_locmax(</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> pixelvalue * line,</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordtype">int</span> npix,</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordtype">int</span> where,</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordtype">int</span> hs</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> ) ;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> pixelvalue *</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> sinfo_function1d_filter_lowpass(</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> pixelvalue * input_sig,</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordtype">int</span> samples,</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keywordtype">int</span> filter_type,</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keywordtype">int</span> hw</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> ) ;</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> pixelvalue * </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> sinfo_function1d_median_smooth(</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> pixelvalue * list,</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keywordtype">int</span> np,</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordtype">int</span> hw);</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> pixelvalue * </div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> sinfo_function1d_remove_lowfreq(</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> pixelvalue * loc_signal,</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordtype">int</span> ns);</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> pixelvalue * </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> sinfo_function1d_remove_thermalbg(</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> pixelvalue * pixel_signal,</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordtype">int</span> ns);</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> sinfo_function1d_interpolate_linear(</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> pixelvalue * x,</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> pixelvalue * y,</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="keywordtype">int</span> len,</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> pixelvalue * spl_x,</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> pixelvalue * spl_y,</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="keywordtype">int</span> spl_len</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> );</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> sinfo_function1d_natural_spline(</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> pixelvalue * x,</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> pixelvalue * y,</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="keywordtype">int</span> len,</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> pixelvalue * splX,</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> pixelvalue * splY,</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="keywordtype">int</span> splLen</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> ) ;</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> pixelvalue</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> sinfo_function1d_average_reject(</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> pixelvalue * line,</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="keywordtype">int</span> npix,</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="keywordtype">int</span> pix_low,</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="keywordtype">int</span> pix_high);</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> </div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="keywordtype">double</span> </div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> sinfo_function1d_xcorrelate(</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> pixelvalue * line_i,</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="keywordtype">int</span> width_i,</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> pixelvalue * line_t,</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="keywordtype">int</span> width_t,</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="keywordtype">int</span> half_search,</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="keywordtype">double</span> * delta);</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__functions_8h_source.html b/html/sinfo__functions_8h_source.html
deleted file mode 100644
index 524eab5..0000000
--- a/html/sinfo__functions_8h_source.html
+++ /dev/null
@@ -1,320 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_functions.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_functions.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_functions.h,v 1.13 2009/03/04 10:17:38 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This proram is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2009/03/04 10:17:38 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.13 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifndef SINFO_FUNCTIONS_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_FUNCTIONS_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <sinfo_time.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <sinfo_globals.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <sinfo_skycor.h></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keywordtype">int</span> sinfo_print_rec_status(<span class="keyword">const</span> <span class="keywordtype">int</span> val);</div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> cpl_frameset *</div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> sinfo_frameset_extract(<span class="keyword">const</span> cpl_frameset *frames,<span class="keyword">const</span> <span class="keywordtype">char</span> *tag);</div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> sinfo_propertylist_has(cpl_propertylist* plist,<span class="keyword">const</span> <span class="keywordtype">char</span>* key);</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> cpl_vector* </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> sinfo_vector_clip(<span class="keyword">const</span> cpl_vector* vinp, </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">const</span> <span class="keywordtype">double</span> kappa, </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">const</span> <span class="keywordtype">int</span> n, </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">const</span> <span class="keywordtype">int</span> method);</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> sinfo_image_estimate_noise(cpl_image* img,</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">const</span> <span class="keywordtype">int</span> noise_fit, </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">double</span>* centre, </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">double</span>* noise);</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> cpl_table* sinfo_compute_gain(cpl_frameset* son, cpl_frameset* sof);</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> cpl_table* sinfo_compute_linearity(cpl_frameset* son, cpl_frameset* sof);</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> cpl_error_code sinfo_fit_lm(<span class="keyword">const</span> cpl_matrix *x, </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">const</span> cpl_matrix *sigma_x,</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">const</span> cpl_vector *y, </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keyword">const</span> cpl_vector *sigma_y,</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> cpl_vector *a, </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ia[],</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">int</span> (*f)(<span class="keyword">const</span> <span class="keywordtype">double</span> x[], </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keyword">const</span> <span class="keywordtype">double</span> a[], </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keywordtype">double</span> *result),</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">int</span> (*dfda)(<span class="keyword">const</span> <span class="keywordtype">double</span> x[], </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keyword">const</span> <span class="keywordtype">double</span> a[], </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">double</span> result[]),</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keywordtype">double</span> *mse,</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">double</span> *red_chisq,</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> cpl_matrix **covariance);</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> sinfo_fit_amoeba(<span class="keywordtype">double</span>**p, </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">double</span> y[], </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">int</span> ndim, </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">double</span> ftol, </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">double</span> (*funk)(<span class="keywordtype">double</span>[]),</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">int</span>* nfunk);</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">int</span> sinfo_vector_dindgen(cpl_vector** v);</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keywordtype">int</span> sinfo_is_fits_file(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename);</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> cpl_error_code</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> sinfo_extract_frames_group_type(<span class="keyword">const</span> cpl_frameset * <span class="keyword">set</span>, </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> cpl_frameset** ext, cpl_frame_group type);</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> cpl_error_code sinfo_frameset_merge(cpl_frameset * set1, </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> cpl_frameset* set2);</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> cpl_error_code</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> sinfo_table_correl(cpl_table * t1, </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> cpl_table* t2, </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> cpl_table* range,</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordtype">double</span>* xcor);</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> sinfo_get_pupil_shift(cpl_imagelist* iml,<span class="keyword">const</span> <span class="keywordtype">int</span> n,cpl_table** qclog_tbl);</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordtype">int</span> sinfo_get_preoptic(<span class="keyword">const</span> <span class="keywordtype">char</span>* file,<span class="keyword">const</span> <span class="keywordtype">char</span>* val);</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">int</span> sinfo_get_keyvalue_int(cpl_frame * ref_frame, <span class="keyword">const</span> <span class="keywordtype">char</span>* key_name);</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordtype">float</span> sinfo_get_keyvalue_float(cpl_frame * ref_frame, <span class="keyword">const</span> <span class="keywordtype">char</span>* key_name);</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">double</span> sinfo_get_keyvalue_double(cpl_frame * ref_frame, <span class="keyword">const</span> <span class="keywordtype">char</span>* key_name);</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">char</span> sinfo_get_keyvalue_bool(cpl_frame * ref_frame, <span class="keyword">const</span> <span class="keywordtype">char</span>* key_name);</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> sinfo_get_keyvalue_string(cpl_frame * ref_frame, <span class="keyword">const</span> <span class="keywordtype">char</span>* key_name);</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">int</span> sinfo_get_strehl_type(cpl_frameset* sof);</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">double</span> sinfo_get_wave_cent(<span class="keyword">const</span> <span class="keywordtype">char</span>* band);</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">void</span> sinfo_memory_status(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordtype">int</span> sinfo_check_rec_status(<span class="keyword">const</span> <span class="keywordtype">int</span> val);</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> sinfo_add_pro_fits_key(cpl_propertylist * plist, </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">char</span>* pro_catg, </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">char</span>* file_name, </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keywordtype">char</span>* out_name);</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">/* ---------------------------------------------------------------------- </span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment"> group of frames</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment">---------------------------------------------------------------------- */</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> sinfoni_extract_raw_linearity_frames(cpl_frameset * sof, cpl_frameset** raw);</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">int</span> sinfoni_extract_raw_dark_frames(cpl_frameset * sof, cpl_frameset** raw);</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">int</span> sinfo_extract_raw_pinhole_frames(cpl_frameset * sof, cpl_frameset** raw);</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">int</span> sinfo_extract_raw_slit_frames(cpl_frameset * sof, cpl_frameset** raw);</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordtype">int</span> sinfo_extract_raw_stack_frames(cpl_frameset * sof, cpl_frameset** pro);</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordtype">int</span> sinfo_extract_on_frames(cpl_frameset * sof, cpl_frameset* on);</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordtype">int</span> sinfo_extract_off_frames(cpl_frameset * sof, cpl_frameset* off);</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">int</span> sinfo_extract_raw_frames(cpl_frameset * sof, cpl_frameset** raw); </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordtype">int</span> sinfoni_extract_pro_frames(cpl_frameset * sof, cpl_frameset** pro); </div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordtype">int</span> sinfo_extract_cdb_frames(cpl_frameset * sof, cpl_frameset** cdb);</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordtype">int</span> sinfo_extract_obj_frames(cpl_frameset * sof, cpl_frameset* obj);</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordtype">int</span> sinfo_extract_sky_frames(cpl_frameset * sof, cpl_frameset* sky);</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keywordtype">int</span> sinfo_extract_mst_frames(cpl_frameset * sof, cpl_frameset* cdb); </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordtype">int</span> sinfo_extract_stk_frames(cpl_frameset * sof, cpl_frameset* res);</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> sinfo_extract_preoptic_frames(cpl_frameset * sof, </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> cpl_frameset** res, </div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* pre_opt);</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">double</span> sinfo_get_cumoffsetx(cpl_frame * frame);</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordtype">double</span> sinfo_get_cumoffsety(cpl_frame * frame);</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordtype">int</span> sinfo_tag_is_objpro(<span class="keywordtype">char</span> * tag);</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordtype">int</span> sinfo_extract_obj_products(cpl_frameset * sof, cpl_frameset* obj);</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> cpl_frameset* sinfo_frameset_join(cpl_frameset* fs1,cpl_frameset* fs2);</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* sinfo_get_pix_scale(<span class="keywordtype">float</span> ps);</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordtype">int</span> sinfo_pix_scale_isnot_const(<span class="keywordtype">float</span>* pix_scale, <span class="keywordtype">int</span> size);</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keywordtype">int</span> sinfo_contains_frames_kind(cpl_frameset * sof, </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> cpl_frameset* raw,</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* type);</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordtype">int</span> sinfo_contains_frames_type(cpl_frameset * sof, </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> cpl_frameset** raw,</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* type);</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keywordtype">int</span> sinfo_extract_raw_frames_type(cpl_frameset * sof, </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> cpl_frameset** raw,</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* type);</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="keywordtype">int</span> sinfo_extract_raw_frames_type2(cpl_frameset * sof, </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> cpl_frameset** raw,</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* type);</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordtype">int</span> sinfo_extract_raw_frames_type1(cpl_frameset * sof, </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> cpl_frameset* raw,</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* type);</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordtype">int</span> sinfo_extract_frames_type(cpl_frameset * sof, </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> cpl_frameset * raw,</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* type);</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordtype">int</span> sinfo_remove_qc_frames(cpl_frameset* sof,cpl_frameset** raw);</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment">/* ---------------------------------------------------------------------- </span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment"> single frames</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment">---------------------------------------------------------------------- */</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordtype">double</span> sinfo_get_mjd_obs(cpl_frame * frame);</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keywordtype">int</span> sinfo_frame_is_raw(<span class="keywordtype">char</span> * tag); </div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keywordtype">int</span> sinfoni_frame_is_pro(<span class="keywordtype">char</span> * tag); </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keywordtype">int</span> sinfo_frame_is_cdb(<span class="keywordtype">char</span> * tag); </div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordtype">int</span> sinfo_frame_is_stk(<span class="keywordtype">char</span> * tag); </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="keywordtype">int</span> sinfo_frame_is_preoptic(cpl_frame*, <span class="keyword">const</span> <span class="keywordtype">char</span>* val); </div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordtype">int</span> sinfo_frame_is_pinhole_lamp(<span class="keywordtype">char</span> * tag); </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="keywordtype">int</span> sinfo_frame_is_raw_stack(<span class="keywordtype">char</span> * tag); </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordtype">int</span> sinfo_frame_is_slit_lamp(<span class="keywordtype">char</span> * tag); </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordtype">int</span> sinfo_is_flat_bp(<span class="keywordtype">char</span> * tag);</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordtype">int</span> sinfo_is_flat_lindet(<span class="keywordtype">char</span> * tag);</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordtype">int</span> sinfo_is_dark(<span class="keywordtype">char</span> * tag);</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keywordtype">int</span> sinfoni_is_pinhole_lamp(<span class="keywordtype">char</span> * tag) ;</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keywordtype">int</span> sinfoni_is_raw_stack(<span class="keywordtype">char</span> * tag) ;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keywordtype">int</span> sinfoni_is_lamp_slit(<span class="keywordtype">char</span> * tag) ;</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keywordtype">int</span> sinfo_is_sky_flat(<span class="keywordtype">char</span> * tag) ;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keywordtype">int</span> sinfo_is_mflat(<span class="keywordtype">char</span> * tag) ;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keywordtype">int</span> sinfo_is_master_flat(<span class="keywordtype">char</span> * tag) ;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keywordtype">int</span> sinfo_is_master_flat_dither(<span class="keywordtype">char</span> * tag) ;</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keywordtype">int</span> sinfo_is_stack(<span class="keywordtype">char</span> * tag) ;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keywordtype">int</span> sinfo_is_lamp_wave_stacked(<span class="keywordtype">char</span> * tag) ;</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordtype">int</span> sinfo_is_lamp_flux_stacked(<span class="keywordtype">char</span> * tag) ;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keywordtype">int</span> sinfo_is_psf_calibrator_stacked(<span class="keywordtype">char</span> * tag) ;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keywordtype">int</span> sinfo_is_focus_stacked(<span class="keywordtype">char</span> * tag) ;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keywordtype">int</span> sinfo_is_object_nodding_stacked(<span class="keywordtype">char</span> * tag) ;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keywordtype">int</span> sinfo_is_sky_nodding_stacked(<span class="keywordtype">char</span> * tag) ;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keywordtype">int</span> sinfo_is_object_skyspider_stacked(<span class="keywordtype">char</span> * tag) ;</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keywordtype">int</span> sinfo_blank2dot(<span class="keyword">const</span> <span class="keywordtype">char</span> * in, <span class="keywordtype">char</span>* ou) ;</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="keywordtype">int</span> sinfo_is_bpmap(<span class="keywordtype">char</span> *) ;</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keywordtype">int</span> sinfo_is_slitpos(<span class="keywordtype">char</span> * tag) ;</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keywordtype">int</span> sinfo_is_wavemap(<span class="keywordtype">char</span> * tag) ;</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keywordtype">int</span> sinfo_is_halosp(<span class="keywordtype">char</span> * tag) ;</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordtype">int</span> sinfo_is_distlist(<span class="keywordtype">char</span> * tag) ;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keywordtype">int</span> sinfo_is_firstcol(<span class="keywordtype">char</span> * tag) ;</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="keywordtype">int</span> sinfo_is_fibres_on_off(cpl_frameset * sof, </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> cpl_frameset* raw);</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment">/* ---------------------------------------------------------------------- </span></div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="comment"> Extra functionalities</span></div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="comment">---------------------------------------------------------------------- */</span></div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> sinfo_clean_nan(cpl_image** im);</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordtype">int</span> sinfo_get_clean_mean_window(cpl_image* img, </div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keywordtype">int</span> llx, </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordtype">int</span> lly, </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordtype">int</span> urx, </div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordtype">int</span> ury, </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keyword">const</span> <span class="keywordtype">int</span> kappa, </div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nclip, </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordtype">double</span>* sinfo_clean_mean, </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordtype">double</span>* clean_stdev);</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordtype">int</span> sinfo_get_obsname(cpl_frame * ref_frame, <span class="keyword">const</span> <span class="keywordtype">char</span>* ob_name);</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="keywordtype">int</span> sinfo_get_ron(cpl_frameset * framelist,</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ron_xmin,</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ron_xmax,</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ron_ymin,</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ron_ymax,</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ron_hsize,</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ron_nsamp,</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keywordtype">double</span>** ron);</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keywordtype">int</span> sinfo_stack_get_pro_tag(<span class="keywordtype">char</span> * tag_in, <span class="keywordtype">char</span>* tag_out) ; </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="keywordtype">int</span> sinfo_compare_tags(<span class="keyword">const</span> cpl_frame *, <span class="keyword">const</span> cpl_frame *) ;</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordtype">int</span> sinfo_get_spatial_res(cpl_frame * ref_frame,<span class="keywordtype">char</span> * spat_res);</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keywordtype">int</span> sinfo_frame_is_dither(cpl_frame * ref_frame);</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keywordtype">int</span> sinfo_frame_is_sky(cpl_frame * ref_frame);</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keywordtype">int</span> sinfo_tag_is_obj(<span class="keywordtype">char</span> * ref_frame);</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keywordtype">int</span> sinfo_tag_is_sky(<span class="keywordtype">char</span> * ref_frame);</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="keywordtype">int</span> sinfo_frame_is_on(cpl_frame * ref_frame);</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="keywordtype">int</span> sinfo_get_band(cpl_frame * ref_frame,<span class="keywordtype">char</span> * band);</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="keywordtype">int</span> sinfo_get_ins_set(<span class="keywordtype">char</span>* band,<span class="keywordtype">int</span>* ins_set);</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keywordtype">int</span> sinfoni_get_ins_setting(cpl_frame * ref_file,<span class="keywordtype">char</span> * set_id);</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keywordtype">int</span> sinfo_pfits_add_qc(cpl_propertylist * plist,qc_log * qclog);</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> CPL_END_DECLS</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__general__config_8c_source.html b/html/sinfo__general__config_8c_source.html
deleted file mode 100644
index 1b073b4..0000000
--- a/html/sinfo__general__config_8c_source.html
+++ /dev/null
@@ -1,138 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_general_config.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_general_config.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_general_config.c,v 1.6 2012/03/02 08:42:20 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2012/03/02 08:42:20 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.6 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Bad pixel search (normal method) *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_general_config.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">/* General data reduction parameters */</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> sinfo_general_config_add(cpl_parameterlist *list)</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> {</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> cpl_parameter *p;</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordflow">if</span> (!list) {</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> }</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">/* indicates if parameters will be overwritten */</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.general.overwrite_parameters"</span>,</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="stringliteral">"Overwrite DRS ini parameters: "</span>,</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="stringliteral">"sinfoni.general"</span>,</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> TRUE);</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"gen-overpar"</span>);</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.general.lc_sw"</span>,</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="stringliteral">"Correct for bad lines introduced by "</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="stringliteral">"instrument software: "</span>,</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="stringliteral">"sinfoni.general"</span>,</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> FALSE);</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"lc_sw"</span>);</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">/* Fill the parameters list */</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.general.lc_kappa"</span>, </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="stringliteral">"Kappa sigma value"</span>, </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="stringliteral">"sinfoni.general"</span>,18);</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"lc_kappa"</span>) ;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> cpl_parameterlist_append(list, p) ;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.general.lc_filt_rad"</span>, </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="stringliteral">"Filtering radii applied during median filter."</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="stringliteral">" Should be small"</span>, </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="stringliteral">"sinfoni.general"</span>,3) ;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"lc_filt_rad"</span>) ;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> cpl_parameterlist_append(list, p) ;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__general__config_8h_source.html b/html/sinfo__general__config_8h_source.html
deleted file mode 100644
index 697bac0..0000000
--- a/html/sinfo__general__config_8h_source.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_general_config.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_general_config.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_general_config.h,v 1.1 2006/10/20 08:06:32 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2006/10/20 08:06:32 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Bad pixel search (noise method) *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifndef SINFO_GENERAL_CONFIG_H</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_GENERAL_CONFIG_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keywordtype">void</span> sinfo_general_config_add(cpl_parameterlist *list);</div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__globals_8c_source.html b/html/sinfo__globals_8c_source.html
deleted file mode 100644
index f55d147..0000000
--- a/html/sinfo__globals_8c_source.html
+++ /dev/null
@@ -1,216 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_globals.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_globals.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor"></span><span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> amoeba_dat*</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> sinfo_amoeba_new(cpl_vector* vx, </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> cpl_vector* vy, </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> cpl_vector* sx, </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> cpl_vector* sy)</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> {</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> amoeba_dat * a;</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> a= cpl_malloc(<span class="keyword">sizeof</span>(amoeba_dat));</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> a->vx=cpl_vector_duplicate(vx);</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> a->vy=cpl_vector_duplicate(vy);</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> a->sx=cpl_vector_duplicate(sx);</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> a->sy=cpl_vector_duplicate(sy);</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordflow">return</span> a;</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> }</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> sinfo_amoeba_delete(amoeba_dat** a)</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> {</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> sinfo_free_my_vector(&((*a)->vx));</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> sinfo_free_my_vector(&((*a)->vy));</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> sinfo_free_my_vector(&((*a)->sx));</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> sinfo_free_my_vector(&((*a)->sy));</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> cpl_free(*a);</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> *a=NULL;</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> }</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> fake*</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> sinfo_fake_new(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> {</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> fake * f;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> f= cpl_malloc(<span class="keyword">sizeof</span>(fake));</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> strcpy(f->pro_class,<span class="stringliteral">"DEFAULT"</span>);</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> f->frm_switch=0;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> f->is_fake_sky=0;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> f->mask_index=1;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> f->ind_index=0;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> f->flat_index=1;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> f->wfix_index=1;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> f->low_rej=0.1;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> f->hig_rej=0.1;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordflow">return</span> f;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> }</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> sinfo_fake_delete(fake** f)</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> {</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> cpl_free(*f);</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> *f=NULL;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> }</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> wcal*</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> sinfo_wcal_new(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> {</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> wcal * w;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> w= cpl_malloc(<span class="keyword">sizeof</span>(wcal));</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> w->wstart=1.65;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> w->wgdisp1=-0.000200018796022;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> w->wgdisp2=9.30345245278e-10;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> w->min_dif=10.0;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> w->hw=7;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> w->fwhm=2.83;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> w->min_amp=5.0;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> w->na_coef=3;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> w->nb_coef=2;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> w->pixel_tol=7.0;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> w->y_box=2.0;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> w->low_pos=750;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> w->hig_pos=1000;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordflow">return</span> w;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> }</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> sinfo_wcal_delete(wcal* w)</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> {</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> cpl_free(w);</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> }</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> stack*</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> sinfo_stack_new(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> {</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> stack * s;</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> s= cpl_malloc(<span class="keyword">sizeof</span>(stack));</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> strcpy(s->do_class,<span class="stringliteral">"DEFAULT"</span>);</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> strcpy(s->index_list,<span class="stringliteral">"indexlist"</span>);</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> s->warp_fix_ind=1;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">return</span> s;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> }</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> sinfo_stack_delete(stack* s)</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> {</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> cpl_free(s);</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> }</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> nstpar*</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> sinfo_nstpar_new(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> {</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> nstpar * n;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> n= cpl_malloc(<span class="keyword">sizeof</span>(nstpar));</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> n->fwhm[0]=2.0;</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> n->fwhm[1]=5.0;</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> n->fwhm[2]=2.0;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> n->fwhm[3]=2.0;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> n->min_dif[0]=1.0;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> n->min_dif[1]=5.0;</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> n->min_dif[2]=5.0;</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> n->min_dif[3]=5.0;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordflow">return</span> n;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> }</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> sinfo_nstpar_delete(nstpar* n)</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> {</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> cpl_free(n);</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> }</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> distpar*</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> sinfo_distpar_new(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> {</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> distpar * d;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> d= cpl_malloc(<span class="keyword">sizeof</span>(distpar));</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> d->diff_tol[0]=2.0;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> d->diff_tol[1]=4.0;</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> d->diff_tol[2]=2.0;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> d->diff_tol[3]=4.0;</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordflow">return</span> d;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> }</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> sinfo_distpar_delete(distpar* d)</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> {</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> cpl_free(d);</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> }</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__globals_8h_source.html b/html/sinfo__globals_8h_source.html
deleted file mode 100644
index 6dc4561..0000000
--- a/html/sinfo__globals_8h_source.html
+++ /dev/null
@@ -1,233 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_globals.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_globals.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_globals.h,v 1.7 2013/07/15 08:14:08 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This proram is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2013/07/15 08:14:08 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.7 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef SINFO_GLOBALS_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_GLOBALS_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span><span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> --------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#define SINFO_RESAMP_NROWS 2560</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor"></span><span class="preprocessor">#define PI_NUMB (3.1415926535897932384626433832795)</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor"></span><span class="preprocessor">#define ZERO 0./0.</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"></span><span class="preprocessor">#define FLAG -1.e+9</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor"></span><span class="preprocessor">#define QC_DID_ID "SINFONI-1.0.0"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor"></span><span class="preprocessor">#define FILE_NAME_SZ 512</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor"></span><span class="preprocessor">#define MAX_NAME_SIZE 512</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor"></span><span class="preprocessor">#define TELESCOPE_SURFACE 52.8101279</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#define NOISE_HSIZE 4</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"></span><span class="preprocessor">#define NOISE_NSAMPLES 100</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_DBL_MIN 1e-37</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_DBL_MAX 1e+37</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#define IMA_PIX_START 0</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor"></span><span class="preprocessor">#define IMA_PIX_END 2047</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor"></span><span class="preprocessor">#define SIZEX 2048</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor"></span><span class="preprocessor">#define SIZEY 2048</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"></span><span class="preprocessor">#define DET_PIX_MIN 1</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor"></span><span class="preprocessor">#define DET_PIX_MAX 2048</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#define LLX 1350</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor"></span><span class="preprocessor">#define LLY 1000</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor"></span><span class="preprocessor">#define URX 1390</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor"></span><span class="preprocessor">#define URY 1200</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#define DISTORTION_LOPOS 974</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor"></span><span class="preprocessor">#define DISTORTION_HIPOS 1074</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#define GRAT_VAL1_HK 3997330</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor"></span><span class="preprocessor">#define GRAT_VAL2_HK 3997339</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor"></span><span class="preprocessor">#define GRAT_VAL1_H 2948723</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor"></span><span class="preprocessor">#define GRAT_VAL2_H 2948733</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor"></span><span class="preprocessor">#define GRAT_VAL1_K 1893844</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor"></span><span class="preprocessor">#define GRAT_VAL2_K 1893854</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor"></span><span class="preprocessor">#define GRAT_VAL1_J 849618</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor"></span><span class="preprocessor">#define GRAT_VAL2_J 849628</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor"></span><span class="preprocessor">#define GRAT_VAL_TOL 4</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor">#define SKY_FLUX 0</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor"></span><span class="preprocessor">#define BKG_VARIANCE 9.6</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor"></span><span class="preprocessor">#define GAIN 2.42</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="preprocessor"></span><span class="preprocessor">#define MAGNITUDE 11</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="preprocessor">#define MSG_OVER_WRITE_PAR "Using default data reduction parameters"</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="preprocessor"></span><span class="preprocessor">#define LAMP_ON TRUE</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="preprocessor"></span><span class="preprocessor">#define LAMP_OFF FALSE</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">/* compat macro */</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="preprocessor">#if defined CPL_VERSION_CODE && CPL_VERSION_CODE >= CPL_VERSION(6, 3, 0)</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="preprocessor"></span><span class="preprocessor">#define cpl_frameset_get_frame cpl_frameset_get_position</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="preprocessor"></span><span class="preprocessor">#define cpl_frameset_get_frame_const cpl_frameset_get_position_const</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keyword">struct </span>amoeba_ {</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> cpl_vector* vx;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> cpl_vector* vy;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> cpl_vector* sx;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> cpl_vector* sy;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> };</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>amoeba_ amoeba_dat; </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> amoeba_dat* sinfo_amoeba_new(cpl_vector* vx, </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> cpl_vector* vy, </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> cpl_vector* sx, </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> cpl_vector* sy);</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">void</span> sinfo_amoeba_delete(amoeba_dat** a);</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keyword">struct </span>qc_log_ {</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">char</span> name[30];</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">char</span> type[30];</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">char</span> s_val[30];</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordtype">char</span> comm[30];</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">double</span> n_val;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keywordtype">int</span> n;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> };</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>qc_log_ qc_log; </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keyword">struct </span>fake_ {</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">char</span> pro_class[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">int</span> frm_switch;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">int</span> is_fake_sky;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">int</span> mask_index;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordtype">int</span> ind_index;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">int</span> flat_index;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">int</span> wfix_index;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">double</span> low_rej;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">double</span> hig_rej;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> };</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>fake_ fake;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> fake* sinfo_fake_new(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keywordtype">void</span> sinfo_fake_delete(fake** f);</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keyword">struct </span>wcal_ {</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordtype">double</span> wstart;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordtype">double</span> wgdisp1;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordtype">double</span> wgdisp2;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keywordtype">double</span> min_dif;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordtype">double</span> fwhm;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordtype">double</span> min_amp;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordtype">double</span> pixel_tol;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keywordtype">double</span> y_box;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordtype">int</span> low_pos;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordtype">int</span> hig_pos;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">int</span> hw;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordtype">int</span> na_coef;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordtype">int</span> nb_coef;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> };</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>wcal_ wcal;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> wcal* sinfo_wcal_new(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordtype">void</span> sinfo_wcal_delete(wcal* f);</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keyword">struct </span>stack_ {</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keywordtype">char</span> do_class[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordtype">char</span> index_list[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordtype">int</span> warp_fix_ind;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> };</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>stack_ stack;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> stack* sinfo_stack_new(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordtype">void</span> sinfo_stack_delete(stack* s);</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keyword">struct </span>nst_ {</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordtype">double</span> min_dif[4];</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordtype">double</span> fwhm[4];</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> };</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>nst_ nstpar;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> nstpar* sinfo_nstpar_new(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keywordtype">void</span> sinfo_nstpar_delete(nstpar* n);</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keyword">struct </span>dist_ {</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordtype">double</span> diff_tol[4];</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> };</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>dist_ distpar;</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> distpar* sinfo_distpar_new(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keywordtype">void</span> sinfo_distpar_delete(distpar* d);</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__hidden_8h_source.html b/html/sinfo__hidden_8h_source.html
deleted file mode 100644
index d637f9b..0000000
--- a/html/sinfo__hidden_8h_source.html
+++ /dev/null
@@ -1,159 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_hidden.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_hidden.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_hidden.h,v 1.7 2010/02/12 17:56:35 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2010/02/12 17:56:35 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.7 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Bad pixel search (noise method) *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifndef SINFO_HIDDEN_H</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_HIDDEN_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#define BP_LIN_OUT_FILENAME "out_bp_lin.fits"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span><span class="preprocessor">#define BP_LIN_GAIN_OUT_FILENAME "out_gain_info.fits"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor"></span><span class="preprocessor">#define BP_LIN_LIN_DET_INFO_OUT_FILENAME "out_lin_det_info.fits"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor"></span><span class="preprocessor">#define BP_LIN_COEFFS_CUBE_OUT_FILENAME "out_bplin_coeffsCube.fits"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"></span><span class="preprocessor">#define BP_NOISE_OUT_FILENAME "out_bp_noise.fits"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#define BP_NORM_INT_COL_TILT_CORR_OUT_FILENAME "out_int_col_tilt_corr.fits"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#define DARK_OUT_FILENAME "out_dark.fits"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#define LAMP_FLATS_OUT_FILENAME "out_flat.fits"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"></span><span class="preprocessor">#define LAMP_FLATS_OUT_BPMAP "out_bpmask.fits"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor"></span><span class="preprocessor">#define BP_NORM_OUT_FILENAME "out_bp_norm.fits"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor"></span><span class="preprocessor">#define MASTER_BPMAP_OUT_FILENAME "out_bpmap_sum.fits"</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#define DISTORTION_NS_OUT_FILENAME "out_ns_distortion.fits"</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor"></span><span class="preprocessor">#define DISTORTION_OUT_FILENAME "out_distortion.fits"</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor"></span><span class="preprocessor">#define DISTORTION_STACK_OFF_OUT_FILENAME "out_ns_stack_off.fits"</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor"></span><span class="preprocessor">#define DISTORTION_STACK_ON_OUT_FILENAME "out_ns_stack_on.fits"</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#define SLITPOS_OUT_FILENAME "out_slit_pos.fits"</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor"></span><span class="preprocessor">#define BP_DIST_OUT_FILENAME "out_bp_dist.fits"</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor"></span><span class="preprocessor">#define COEFF_OUT_FILENAME "out_coef_params.fits"</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor"></span><span class="preprocessor">#define NS_TEST_DISTANCES_OUT_FILENAME "out_distances.fits"</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor"></span><span class="preprocessor">#define NS_TEST_OUT_FILENAME "out_ns.fits"</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#define WAVECAL_OUT_FILENAME "out_wavemap_ima.fits"</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor"></span><span class="preprocessor">#define WAVECAL_FIT_PARAMS_OUT_FILENAME "out_fit_params.fits"</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor"></span><span class="preprocessor">#define WAVECAL_FIT_PARAMS_OUT_FILEASCII "out_fit_params.ascii"</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor"></span><span class="preprocessor">#define WAVECAL_COEFF_SLIT_OUT_FILENAME "outCoeffsSlit.fits"</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor"></span><span class="preprocessor">#define WAVECAL_SLIT_POS_OUT_FILENAME "out_slitpos.fits"</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor"></span><span class="preprocessor">#define WAVECAL_RESAMPLED_OUT_FILENAME "out_resampled_arclamp.fits"</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">#define STACKED_OUT_FILENAME "out_stack.fits"</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor"></span><span class="preprocessor">#define STACK_MFLAT_DIST_OUT_FILENAME "out_stack_mflat_dist.fits"</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor"></span><span class="preprocessor">#define STACK_MFLAT_DITHER_DIST_OUT_FILENAME "out_stack_mflat_dither_dist.fits"</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor">#define STACK_SKY_DIST_OUT_FILENAME "out_sky_stack_dist"</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor">#define ESTIMATED_SLITLETS_DISTANCE 64.</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="preprocessor">#define PSF_OUT_FILENAME "out_psf.fits"</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="preprocessor"></span><span class="preprocessor">#define PSF_MED_CUB_025_FILENAME "out_med_cube_025_mas.fits"</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="preprocessor"></span><span class="preprocessor">#define PSF_MED_CUB_100_FILENAME "out_med_cube_100_mas.fits"</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="preprocessor"></span><span class="preprocessor">#define PSF_AO_PERFORMANCE_OUT_FILENAME "out_ao_performance.fits"</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="preprocessor"></span><span class="preprocessor">#define PSF_ENC_ENERGY_OUT_FILENAME "out_encircled_energy.fits"</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="preprocessor"></span><span class="preprocessor">#define STDSTAR_OUT_FILENAME "out_starspectrum.fits"</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="preprocessor"></span><span class="preprocessor">#define STDSTAR_OUT_TABLE "out_std_star_spectrum.fits"</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="preprocessor"></span><span class="preprocessor">#define STDSTAR_CONV_OUT_FILENAME "out_convfactor.fits"</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="preprocessor"></span><span class="preprocessor">#define SKYPMAP_OUT_FILENAME "out_skymap.fits"</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="preprocessor"></span><span class="preprocessor">#define NSLITLETS 32</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="preprocessor">#define OBJNOD_OUT_BPMAP "out_objnod_bpmap.fits"</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="preprocessor"></span><span class="preprocessor">#define OBJNOD_OUT_MED_CUBE "out_objnod_med_cube.fits"</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="preprocessor"></span><span class="preprocessor">#define OBJNOD_OUT_FILENAME "out_objnod.fits"</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="preprocessor">#define OBJNOD_OUT_MFLAT_CUBE_FILENAME "out_mflat_cube.fits"</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="preprocessor"></span><span class="preprocessor">#define OBJNOD_OUT_MFLAT_AVG_FILENAME "out_mflat_avg.fits"</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="preprocessor"></span><span class="preprocessor">#define OBJNOD_OUT_MFLAT_MED_FILENAME "out_mflat_med.fits"</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="preprocessor"></span><span class="preprocessor">#define RESAMPLED_OUT_OBJ_FILENAME "out_resampled_obj"</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor"></span><span class="preprocessor">#define RESAMPLED_OUT_SKY_FILENAME "out_resampled_sky"</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="preprocessor"></span><span class="preprocessor">#define RESAMPLED_OUT_FLAT_FILENAME "out_resampled_flat"</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="preprocessor">#define STDSTAR_OUT_MED_CUBE "out_stdstar_med_cube.fits"</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="preprocessor">#define FOCUS_OUT_FILENAME "out_focus.fits"</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="preprocessor"></span><span class="preprocessor">#define FOCUS_FITPAR_OUT_FILENAME "out_focus_fitpar.fits"</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="preprocessor"></span><span class="preprocessor">#define FOCUS_GAUSSPLOT_OUT_FILENAME "out_focus_gaussplot.fits"</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="preprocessor">#define LAMPSPEC_OUT_FILENAME "out_lampspec.fits"</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="preprocessor"></span><span class="preprocessor">#define TWIFLAT_OUT_FILENAME "out_twiflat.fits"</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="preprocessor"></span><span class="preprocessor">#define SKYSPIDER_OUT_FILENAME "out_objnod.fits"</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="preprocessor"></span><span class="preprocessor">#define SKYSPIDER_MASK_OUT_FILENAME "out_mask_cube_spider.fits"</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="preprocessor"></span><span class="preprocessor">#define EFFICIENCY_FILENAME "out_efficiency.fits"</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__image__ops_8c_source.html b/html/sinfo__image__ops_8c_source.html
deleted file mode 100644
index 1149203..0000000
--- a/html/sinfo__image__ops_8c_source.html
+++ /dev/null
@@ -1,3148 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_image_ops.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_image_ops.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*************************************************************************</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">* M.P.E. - SPIFFI project</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* rabuter 2004-12-03 support one dimensional image in sinfo_shiftImage</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* schreib 23/05/00 created</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">* NAME</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">* sinfo_image_ops.c -</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">* image arithmetic routines</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">* SYNOPSIS</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">* #include "sinfo_image_ops.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">* 1) Vector * sinfo_new_mean_of_columns( cpl_image *im )</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">* 2) Vector * sinfo_new_clean_mean_of_columns( cpl_image *im,</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">* double lo_reject,</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">* double hi_reject)</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">* 3) cpl_image * sinfo_new_div_image_by_row( cpl_image *im, Vector *row )</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">* 4) cpl_image * sinfo_new_mult_row_to_image( cpl_image *im, Vector *row )</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">* 5) cpl_image * sinfo_new_col_tilt ( cpl_image * image, float sigmaFactor )</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">* 6) cpl_image * sinfo_new_median_image( cpl_image * im, float fmedian )</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">* 7) cpl_image * sinfo_new_compare_images( cpl_image * im1,</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> cpl_image * im2,</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> cpl_image * origim )</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">* 8) cpl_image * sinfo_new_thresh_image ( cpl_image * im,</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> float lo_cut, float hi_cut )</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">* 9) pixel_map * sinfo_new_promote_image_to_pixelmap ( cpl_image * im )</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">* 10) cpl_image * sinfo_new_promote_image_to_mask ( cpl_image * im,</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> int * n_badpixels )</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">* 11) cpl_image * sinfo_new_mult_image_by_mask ( cpl_image * im,</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> cpl_image * mask )</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">* 12) cpl_image * sinfo_new_interpol_image ( cpl_image * im,</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">* cpl_image * mask,</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">* int max_radius,</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">* int n_pixels )</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">* 13) cpl_image * sinfo_interpol_source_image ( cpl_image * im,</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">* cpl_image * mask,</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">* int max_rad,</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">* float ** slit_edges )</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">* 14) cpl_image * sinfo_new_stack_row_to_image ( Vector * row, int ly )</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">* 15) Stats * sinfo_new_image_stats_on_rectangle ( cpl_image * im,</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">* float loReject,</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">* float hiReject,</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">* int llx,</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">* int lly,</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">* int urx,</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">* int ury )</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">* 16) cpl_image * sinfo_new_normalize_to_central_pixel ( cpl_image * image )</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">* 17) cpl_image *</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">* sinfo_new_shift_image(</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">* cpl_image * image_in,</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">* double shift_x,</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">* double shift_y,</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">* double * interp_kernel)</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">* 18) cpl_image * sinfo_new_combine_masks ( cpl_image * firstMask,</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> cpl_image * secondMask )</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">* 19) cpl_image * sinfo_new_slice_cube (cpl_imagelist * cube, int x, int y )</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">* 20) cpl_image * sinfo_new_div_images_robust ( cpl_image * im1,</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> cpl_image * im2 )</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment">* DESCRIPTION</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">* 1) takes the average of each image column</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment">* 2) takes the average of each image column by sorting the</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">* column values and rejecting the given percentage of</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">* the highest and lowest values [0...1]</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">* 3) divides each image column by a row value</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment">* 4) multiplies each image column with a row value</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">* 5) first calculates statistics for each column of an image.</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment">* sinfo_median value and standard deviation of columns are de-</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment">* termined, blank values are excluded. Fits a straight</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment">* line through the pixel values of each column and subtracts</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment">* the fit in order to remove the tilt of each column.</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment">* Only those pixels are used for the fit that are within</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment">* a defined factor of sigma noise limit. The noise is</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment">* calculated from pixels between the 10percentil and</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment">* 90percentil points.</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment">* if the straight line could not be determined, the sinfo_median</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">* of the column is subtracted from the column</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment">* 6) sinfo_median filter, calculates the sinfo_median for an image</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment">* by using the 8 closest pixels to each pixel.</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment">* The values in the output image are determined according</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">* to the values of the input parameter.</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment">* If fmedian = 0: always replace by sinfo_median</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment">* if fmedian < 0: replace by sinfo_median if |pixel - sinfo_median| ></span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">* -fmedian</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment">* if fmedian > 0: replace by sinfo_median (fmedian as a factor of</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment">* the square root of the sinfo_median itself)</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">* if |pixel - median| >= fmedian * sqrt ( median )</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment">* This can be used to consider photon noise.</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment">* This considers a dependence of the differences on the</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment">* pixel values themselves.</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment">* 7) if a pixel value of one image (im1) equals</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment">* the pixel value of the other image keep the</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">* pixel value of the original image otherwise replace</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment">* it with ZEROs</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment">* 8) simple search for static bad pixels for a flat field</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment">* or sinfo_dark frame, values below and above the threshold</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">* values are set to ZERO.</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment">* 9) changes an image with ZERO indicated bad pixels to</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment">* a bad pixel map.</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment">* 10) changes an image with ZERO indicated bad pixels to</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">* a bad pixel mask image, that means the returned</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment">* image has values 1 at positions of good pixels and</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment">* ZEROs at positions of bad pixels.</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment">* 11) changes an image to an image that has ZERO indicated</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment">* static bad pixels</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment">* 12) interpolates all bad pixels indicated by the bad pixel mask.</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment">* Therefore, the mean of at least 2 valid values of</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">* the nearest 8 neighbors is taken. If too much</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">* neighbors are also bad pixels</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment">* the neighbor radius is increased to a maximum of</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment">* max_radius until n_pixels valid pixels are found.</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment">* The valid neighbors are searched by going through</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment">* the columns and rows around the central square that</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment">* was already searched.</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment">* The bad pixel is interpolated by the mean of these</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment">* valid pixels (less than 9) or by the sinfo_median of them</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment">* (more than 8).</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment">* 13) interpolates all bad pixels indicated by the bad pixel mask.</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment">* Therefore, the mean of the nearest 4 neighbors is taken,</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment">* two in spectral direction and 2 in spatial direction.</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment">* The routine cares about the image and slitlet edges.</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment">* If there are no good pixel found within the nearest neighbors,</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment">* the next 4 nearest neighbors in spatial and spectral direction</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment">* are searched for valid pixels until a limit of max_rad.</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment">* A maximum of 4 valid pixels are used for interpolation by their mean.</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment">* 14) stack a given image row to build a whole image</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment">* 15) computes the mean and standard deviation of</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment">* a given rectangle on an image by leaving the extreme</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment">* intensity values.</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment">* 16) normalizes a raw flatfield image by dividing by the median of the</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment"> central spectral pixels to produce a master flatfield</span></div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment">* 17) This function is a conversion to CPL of the ECLIPSE function</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment"> shift_image()</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment">* but slightly changed. If a blank (ZERO) pixel appears the blank pixel</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment">* is shifted but preserved as blank.</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment">* If a blank (ZERO) pixel appears within the</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment">* interpolation kernel the blank pixel is set to 0.</span></div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment">* This function shifts an image by a non-integer offset, using</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment">* interpolation. You can either generate an interpolation kernel once and</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment">* pass it to this function, or let it generate a default kernel. In the</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment">* former case, use sinfo_generate_interpolation_kernel() to generate an</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment">* appropriate kernel. In the latter case, pass NULL as last argument. A</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="comment">* default interpolation kernel is then generated then discarded</span></div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment"> before this function returns.</span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment">* The returned image is a newly allocated object, it must be deallocated</span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment">* using cpl_image_delete().</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment">* 18) combines two bad pixel mask to one using an or relation</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment">* 19) slices a data cube in x or y direction</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment">* 20) divides two images by considering blanks and</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment">* calculating first 1/im2 by</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment">* cutting the very high values and setting to 1,</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="comment">* then multiplying im1 * 1/im2.</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment">* FILES</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment">* ENVIRONMENT</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment">* RETURN VALUES</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment">* CAUTIONS</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment">* EXAMPLES</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment">* SEE ALSO</span></div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment">* BUGS</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment">*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="preprocessor"></span><span class="preprocessor">#include "sinfo_vltPort.h"</span></div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment"> * System Headers</span></div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="preprocessor">#include <errno.h></span></div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment"> * Local Headers</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="preprocessor">#include "sinfo_image_ops.h"</span></div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="preprocessor">#include "sinfo_resampling.h"</span></div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="preprocessor">#include "sinfo_local_types.h"</span></div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keyword">static</span> cpl_image *</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> sinfo_gen_lowpass(<span class="keyword">const</span> <span class="keywordtype">int</span> xs,</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ys,</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sigma_x,</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sigma_y);</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keyword">static</span> <span class="keywordtype">void</span> quicksort_int(<span class="keywordtype">int</span>* data, <span class="keywordtype">int</span> left, <span class="keywordtype">int</span> right);</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="comment"> * Function codes</span></div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> cpl_error_code</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> sinfo_image_line_corr(<span class="keyword">const</span> <span class="keywordtype">int</span> width,</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keyword">const</span> <span class="keywordtype">int</span> filt_rad,</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keyword">const</span> <span class="keywordtype">int</span> kappa,</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> cpl_image* ima_in,</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> cpl_image** ima_out)</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> {</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> cpl_image* mask=NULL;</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> cpl_image* ima_backpix=NULL;</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> cpl_image* ima_backpos=NULL;</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> cpl_image* ima_ybackpix=NULL;</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> cpl_image* ima_diffbackpix=NULL;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> cpl_image* ima_filt=NULL;</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> cpl_image* ima = NULL;</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> cpl_matrix* filter=NULL;</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="comment">//cpl_mask* bpm_good=NULL; //Is this really useful?</span></div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> cpl_mask* bpm_bad=NULL;</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="keywordtype">int</span> sx=0;</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="keywordtype">int</span> sy=0;</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="keywordtype">double</span> med_back=0;</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="keywordtype">double</span> sigma_back=0;</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keywordtype">double</span> medvalue=0;</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="keywordtype">float</span>* pima=NULL;</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keywordtype">float</span>* ppix=NULL;</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="keywordtype">float</span>* pmsk=NULL;</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="keywordtype">int</span>* ppos=NULL;</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="keywordtype">int</span>* pbackpix=NULL;</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> cpl_binary* pbin=NULL;</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="keywordtype">double</span> tot=0;</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="keywordtype">double</span> mean=0;</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="keywordtype">int</span>* ybad=NULL;</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keywordtype">int</span> nrow=0;</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keywordtype">int</span> nbad=0;</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="keywordtype">int</span> yval=0;</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="keywordtype">int</span> yprev=0;</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> check_nomsg(sx=cpl_image_get_size_x(ima_in));</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> check_nomsg(sy=cpl_image_get_size_y(ima_in));</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> check_nomsg(*ima_out=cpl_image_duplicate(ima_in));</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> check_nomsg(mask=cpl_image_new(sx,sy,CPL_TYPE_FLOAT));</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> check_nomsg(pmsk=cpl_image_get_data_float(mask));</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keywordflow">for</span>(i=0;i<width;i++) {</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="keywordflow">for</span>(j=width;j<sy-width;j++) {</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> pmsk[j*sx+i]=1;</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> }</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> }</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="keywordflow">for</span>(i=sx-width;i<sx;i++) {</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keywordflow">for</span>(j=width;j<sy-width;j++) {</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> pmsk[j*sx+i]=1;</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> }</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> }</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> sinfo_free_image(&mask); <span class="comment">//is mask needed?</span></div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> </div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> nrow=2*width*(sy-2*width);</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> check_nomsg(ima_backpix=cpl_image_new(nrow,1,CPL_TYPE_FLOAT));</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> check_nomsg(ima_backpos=cpl_image_new(nrow,1,CPL_TYPE_INT));</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> </div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> check_nomsg(pima=cpl_image_get_data_float(ima_in));</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> check_nomsg(ppix=cpl_image_get_data_float(ima_backpix));</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> check_nomsg(ppos=cpl_image_get_data_int(ima_backpos));</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> k=0;</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="keywordflow">for</span>(i=0;i<width;i++) {</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="keywordflow">for</span>(j=width;j<sy-width;j++) {</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> ppix[k]=pima[j*sx+i];</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> ppos[k]=j*sx+i;</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> k++;</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> }</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> }</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="keywordflow">for</span>(i=sx-width;i<sx;i++) {</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="keywordflow">for</span>(j=width;j<sy-width;j++) {</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> ppix[k]=pima[j*sx+i];</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> ppos[k]=j*sx+i;</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> k++;</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> }</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> }</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> check_nomsg(ima_ybackpix=cpl_image_duplicate(ima_backpos));</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> sinfo_free_image(&ima_backpos);</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> </div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> check_nomsg(pbackpix=cpl_image_get_data_int(ima_ybackpix));</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> check_nomsg(cpl_image_divide_scalar(ima_ybackpix,sx));</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> check_nomsg(pbackpix=cpl_image_get_data_int(ima_ybackpix));</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> </div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> </div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> check_nomsg(med_back=cpl_image_get_median(ima_backpix));</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> check_nomsg(ima_diffbackpix=cpl_image_duplicate(ima_backpix));</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="comment">//sinfo_msg("med_back=%g",med_back);</span></div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> check_nomsg(cpl_image_subtract_scalar(ima_diffbackpix,med_back));</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="comment">//check_nomsg(cpl_image_save(ima_diffbackpix,"ima_diff.fits",</span></div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="comment">// CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> check_nomsg(filter=cpl_matrix_new(1,filt_rad));</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> check_nomsg(cpl_matrix_fill(filter,1.));</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> check_nomsg(ima_filt=sinfo_image_filter_median(ima_diffbackpix,filter));</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> sinfoni_free_matrix(&filter);</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="comment">//check_nomsg(cpl_image_save(ima_filt,"ima_filt.fits",CPL_BPP_IEEE_FLOAT,</span></div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="comment">// NULL,CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> check_nomsg(sigma_back=cpl_image_get_stdev(ima_filt));</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> sinfo_free_image(&ima_filt);</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> </div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> check_nomsg(ima=cpl_image_duplicate(ima_diffbackpix));</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> sinfo_free_image(&ima_diffbackpix);</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> check_nomsg(cpl_image_abs(ima));</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="comment">//sinfo_msg("sigma_back=%g",sigma_back);</span></div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> </div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="comment">//find good pixels</span></div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> check_nomsg(bpm_bad=cpl_mask_threshold_image_create(ima,kappa*sigma_back,</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> SINFO_DBL_MAX));</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="comment">/*check_nomsg(bpm_good=cpl_mask_threshold_image_create(ima,SINFO_DBL_MIN,</span></div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="comment"> kappa*sigma_back));</span></div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="comment"> sinfo_free_mask(&bpm_good);</span></div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> check_nomsg(cpl_image_reject_from_mask(ima_backpix,bpm_bad));</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> check_nomsg(medvalue=cpl_image_get_median(ima_backpix));</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="comment">//sinfo_msg("medvalue=%g",sigma_back);</span></div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> check_nomsg(nbad=cpl_mask_count(bpm_bad));</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="comment">//sinfo_msg("nbad=%d",nbad);</span></div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> check_nomsg(cpl_image_reject_from_mask(ima_backpix,bpm_bad));</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> sinfo_free_image(&ima_backpix);</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> </div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> yprev=-1;</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> </div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> check_nomsg(pbin=cpl_mask_get_data(bpm_bad));</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> check_nomsg(pbackpix=cpl_image_get_data_int(ima_ybackpix));</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> cpl_msg_debug(cpl_func, <span class="stringliteral">"%d lines detected"</span>, nbad);</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="keywordflow">if</span>(nbad)</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> {</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> </div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> ybad = cpl_calloc(nbad,<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>));</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> k=0;</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> </div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="keywordflow">for</span>(i=0;i<nrow;i++) {</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="keywordflow">if</span>(pbin[i] == CPL_BINARY_1) {</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> ybad[k]=pbackpix[i] + 1;</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> k++;</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> }</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> }</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> sinfo_free_mask(&bpm_bad);</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> sinfo_free_image(&ima_ybackpix);</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> </div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> quicksort_int(&(ybad[0]), 0, nbad-1);</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> yprev=-1;</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="keywordflow">for</span>(k=0;k<nbad;k++) {</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> yval=ybad[k];</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="keywordflow">if</span>(yval == yprev) {</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"skyp %d"</span>,yval);</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> }</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> yprev=yval;</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"correct raw %d"</span>,yval);</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> check_nomsg(tot=cpl_image_get_flux_window(ima_in,1,yval,width,yval));</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> check_nomsg(tot+=cpl_image_get_flux_window(ima_in,sx-width+1,</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> yval,sx,yval));</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> mean=tot/(2. * width);</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> check_nomsg(pima=cpl_image_get_data_float(*ima_out));</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="keywordflow">for</span>(i=width;i<sx-width;i++) {</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> pima[i+(yval-1)*sx]+=(<span class="keywordtype">float</span>)(mean-medvalue);</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> }</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> }</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> }</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> }</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> </div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> cleanup:</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> </div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> sinfo_free_image(&mask); <span class="comment">//is mask needed?</span></div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> sinfo_free_image(&ima_backpos);</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> sinfoni_free_matrix(&filter);</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> sinfo_free_image(&ima_filt);</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> sinfo_free_image(&ima_diffbackpix);</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="comment">// sinfo_free_mask(&bpm_good);</span></div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> sinfo_free_image(&ima_backpix);</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> sinfo_free_mask(&bpm_bad);</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> sinfo_free_image(&ima_ybackpix);</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> cpl_image_delete(ima);</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> cpl_free(ybad);</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> </div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> }</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> </div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> </div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> <span class="keywordtype">double</span> sinfo_new_my_median_image(cpl_image* im)</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> {</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="keywordtype">double</span> m=0;</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="keyword">register</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="keywordtype">int</span> n=0;</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> pixelvalue* pv=0;</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> </div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> </div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="keywordflow">if</span>(im==NULL) <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Null Image"</span>);</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> ilx=cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> ily=cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> pidata=cpl_image_get_data_float(im);</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> </div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) ilx*ily ; i++ )</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> {</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="keywordflow">if</span> ( isnan(pidata[i]) )</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> {</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> </div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> n++;</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> }</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> }</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> pv = cpl_calloc(n,<span class="keyword">sizeof</span>(pixelvalue));</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> n=0;</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) ilx*ily ; i++ )</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> {</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="keywordflow">if</span> ( isnan(pidata[i]) )</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> {</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> </div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> pv[n]=pidata[i];</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> n++;</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> }</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> }</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> <span class="keywordflow">if</span>(pv == NULL || n == 0) {</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> m=0;</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> m=sinfo_new_median(pv,n);</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> }</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> cpl_free(pv);</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="keywordflow">if</span>(isnan(m)){</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> m=0;</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> }</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> <span class="keywordflow">return</span> m;</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> }</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> </div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> Vector * sinfo_new_mean_of_columns( cpl_image *im )</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> {</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> Vector * row=NULL ;</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> </div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> <span class="keywordflow">if</span> ( im == NULL )</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> {</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"null image"</span>) ;</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> }</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> ilx=cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> ily=cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> pidata=cpl_image_get_data_float(im);</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> </div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="comment">/* allocate memory for a row with the length of the image x-axis */</span></div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="keywordflow">if</span> ( NULL == (row = sinfo_new_vector (ilx)) )</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> {</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"not able to allocate a sinfo_vector"</span> ) ;</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> }</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> </div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> <span class="keywordflow">for</span> ( i = 0 ; i < ilx ; i++ )</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> {</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="keywordflow">for</span> ( j = 0 ; j < ily ; j++ )</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> {</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <span class="keywordflow">if</span> (!isnan(pidata[i+j*ilx]))</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> {</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> row->data[i] += pidata[i + j*(ilx)] ;</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> }</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> }</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> </div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> row->data[i] /= ily ;</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> }</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> <span class="keywordflow">return</span> row ;</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> }</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> cpl_image * sinfo_new_clean_mean_of_columns( cpl_image *im,</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="keywordtype">float</span> lo_reject,</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <span class="keywordtype">float</span> hi_reject)</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> {</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> cpl_image * row=NULL ;</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> pixelvalue* buffer=NULL ;</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <span class="keywordtype">int</span> nv=0;</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <span class="keywordtype">int</span> lo_n=0;</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="keywordtype">int</span> hi_n=0;</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> </div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <span class="keywordflow">if</span> ( im == NULL )</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> {</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"null image"</span>) ;</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> }</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> ilx=cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> ily=cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> pidata=cpl_image_get_data_float(im);</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> </div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> <span class="keywordflow">if</span> ((lo_reject + hi_reject) > 0.9)</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> {</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"illegal rejection thresholds: [%f] and [%f]"</span>,</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> lo_reject, hi_reject) ;</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"threshold sum should not be over "</span></div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> <span class="stringliteral">"0.90 aborting average"</span>) ;</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> }</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> </div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> lo_n = (int) (ily * lo_reject + 0.5) ;</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> hi_n = (int) (ily * hi_reject + 0.5) ;</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> <span class="keywordflow">if</span> (lo_n + hi_n >= ily)</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> {</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"everything would be rejected"</span>) ;</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> }</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> </div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="comment">/* allocate memory for a row with the length of the image x-axis */</span></div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="keywordflow">if</span> ( NULL == (row = cpl_image_new (ilx, 1,CPL_TYPE_FLOAT)) )</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> {</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new image"</span>) ;</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> }</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> podata=cpl_image_get_data_float(row);</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> </div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> buffer=(pixelvalue*) cpl_calloc(ily,<span class="keyword">sizeof</span>(pixelvalue)) ;</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> </div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> <span class="keywordflow">for</span> ( i = 0 ; i < ilx ; i++ )</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> {</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> <span class="keywordflow">for</span> ( j = 0 ; j < ily ; j++ )</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> {</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> buffer[j] = pidata[i + j*(ilx)] ;</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> }</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> sinfo_pixel_qsort (buffer, ily) ;</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> </div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> nv = 0 ;</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="keywordflow">for</span> (k = lo_n ; k < ily - hi_n ; k ++)</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> {</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> <span class="keywordflow">if</span> ( !isnan(buffer[k]) )</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> {</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> podata[i] += buffer[k] ;</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> nv ++ ;</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> }</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> }</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> podata[i] /= nv ;</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> </div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> }</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> cpl_free(buffer);</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> <span class="keywordflow">return</span> row ;</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> }</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> </div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> </div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> cpl_image * sinfo_new_div_image_by_row( cpl_image *im, Vector *row )</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> {</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> cpl_image *image=NULL ;</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> </div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> <span class="keywordflow">if</span> ( im == NULL || row == NULL )</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> {</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"null image or null row"</span>) ;</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> }</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> ilx=cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> ily=cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> pidata=cpl_image_get_data_float(im);</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> </div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> <span class="keywordflow">if</span> ( ilx != row -> n_elements )</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> {</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"image and row size not compatible"</span>) ;</div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> }</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> </div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> <span class="keywordflow">if</span> ( NULL == (image = cpl_image_duplicate (im)) )</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> {</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot copy image"</span>) ;</div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> }</div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> podata=cpl_image_get_data_float(image);</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> </div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> <span class="keywordflow">for</span> (i = 0 ; i < ilx ; i++ )</div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> {</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> <span class="keywordflow">for</span> (j = 0 ; j < ily ; j++)</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> {</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> <span class="keywordflow">if</span> ( !isnan(pidata[i + j*(ilx)]) )</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> {</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> podata[i + j*(ilx)] = pidata[i + j*(ilx)] / row -> data[i] ;</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> }</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> }</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> }</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> <span class="keywordflow">return</span> image ;</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> }</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> </div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> </div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> cpl_image * sinfo_new_mult_row_to_image( cpl_image *im, Vector *row )</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> {</div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> cpl_image *image=NULL;</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> </div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> </div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> </div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> </div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> <span class="keywordflow">if</span> ( im == NULL || row == NULL )</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> {</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"null image or null row"</span>) ;</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> }</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> ilx=cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> ily=cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> pidata=cpl_image_get_data_float(im);</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> </div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> <span class="keywordflow">if</span> ( ilx != row -> n_elements )</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> {</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"image and row size not compatible"</span>) ;</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> }</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> </div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> <span class="keywordflow">if</span> ( NULL == (image = cpl_image_duplicate (im)) )</div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> {</div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot copy image"</span>) ;</div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> }</div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> podata=cpl_image_get_data_float(image);</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> </div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> <span class="keywordflow">for</span> (i = 0 ; i < ilx ; i++ )</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> {</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <span class="keywordflow">for</span> (j = 0 ; j < ily ; j++)</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> {</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> <span class="keywordflow">if</span> ( !isnan(pidata[i + j*(ilx)]) )</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> {</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> podata[i + j*(ilx)] = pidata[i + j*(ilx)] * row -> data[i] ;</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> }</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> }</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> }</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> <span class="keywordflow">return</span> image ;</div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> }</div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> </div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> </div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> </div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> </div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> </div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> </div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> cpl_image * sinfo_new_col_tilt ( cpl_image * image, <span class="keywordtype">float</span> sigmaFactor )</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> {</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> cpl_image * im=NULL;</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> <span class="keywordtype">float</span> * column=NULL ;</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> <span class="keywordtype">double</span> sum=0;</div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> <span class="keywordtype">double</span> sum2=0;</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> <span class="keywordtype">double</span> mean=0;</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> <span class="keywordtype">float</span> sinfo_median=0;</div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> <span class="keywordtype">float</span> noise=0 ;</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> <span class="keywordtype">float</span> * sig=NULL;</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> <span class="keywordtype">float</span> * dat=NULL;</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> <span class="keywordtype">float</span> a=0;</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> <span class="keywordtype">float</span> b=0;</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> <span class="keywordtype">float</span> siga=0;</div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> <span class="keywordtype">float</span> sigb=0;</div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> <span class="keywordtype">float</span> chi2=0;</div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> <span class="keywordtype">float</span> q=0;</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> <span class="keywordtype">int</span> colnum=0;</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> <span class="keywordtype">int</span> npix=0;</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> <span class="keywordtype">int</span> mwt=0 ;</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> <span class="keywordtype">int</span> lx=0;</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> <span class="keywordtype">int</span> ly=0;</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> <span class="keywordtype">float</span>* p_in_data=NULL;</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> <span class="keywordtype">float</span>* p_ou_data=NULL;</div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> </div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> </div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> <span class="keywordflow">if</span> ( image == NULL )</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> {</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no image given"</span> ) ;</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> }</div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> </div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> <span class="keywordflow">if</span> ( sigmaFactor <= 0. )</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> {</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no or negative sigma factor"</span>) ;</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> }</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> lx = cpl_image_get_size_x(image);</div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> ly = cpl_image_get_size_y(image);</div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> </div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> </div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> <span class="keywordflow">if</span> ( NULL == (im = cpl_image_new (lx,ly,CPL_TYPE_FLOAT )) )</div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> {</div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new image"</span> ) ;</div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> }</div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> </div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> <span class="comment">/* go through the columns */</span></div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> p_in_data = cpl_image_get_data_float(image);</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> p_ou_data = cpl_image_get_data_float(im);</div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> <span class="keywordflow">for</span> ( i = 0 ; i < lx ; i ++ )</div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> {</div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> <span class="comment">/* initialize the buffer variables for each column */</span></div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> colnum = 0 ;</div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> column = (<span class="keywordtype">float</span> *) cpl_calloc ( ly , <span class="keyword">sizeof</span> (<span class="keywordtype">float</span> *) ) ;</div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> sig = (<span class="keywordtype">float</span> *) cpl_calloc ( ly , <span class="keyword">sizeof</span> (<span class="keywordtype">float</span> *) ) ;</div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> dat = (<span class="keywordtype">float</span> *) cpl_calloc ( ly , <span class="keyword">sizeof</span> (<span class="keywordtype">float</span> *) ) ;</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> </div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> <span class="comment">/*select only non-ZERO values of one column*/</span></div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> <span class="keywordflow">for</span> ( j = 0 ; j < ly ; j++ )</div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> {</div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> <span class="keywordflow">if</span> ( !isnan(p_in_data[i + j*lx]) )</div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> {</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> column[j] = p_in_data[i + j*lx] ;</div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> colnum ++ ;</div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> }</div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> }</div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> <span class="keywordflow">if</span> ( colnum < 10 )</div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> {</div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> <span class="comment">/*sinfo_msg_warning ("sinfo_new_col_tilt:",</span></div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> <span class="comment"> "column %d has almost only blank pixels and is set to blank", i+1) ;*/</span></div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> <span class="keywordflow">for</span> ( j = 0 ; j < ly ; j++ )</div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> {</div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> p_ou_data[i + j*lx] = ZERO;</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> }</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> <span class="comment"> cpl_free (column) ;</span></div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> <span class="comment"> cpl_free (sig);</span></div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> <span class="comment"> cpl_free (dat) ;</span></div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> <span class="comment"> continue ;</span></div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> }</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> </div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> <span class="comment">/*-------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> <span class="comment"> * sort the data, clip off the extremes, determine the noise</span></div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> <span class="comment"> * and get the range for the valid data. It is assumed here</span></div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> <span class="comment"> * that most pixels are o.k.</span></div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> </div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> sinfo_pixel_qsort (column, colnum) ;</div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> </div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> sum = 0. ;</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> sum2 = 0. ;</div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> npix = 0 ;</div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> </div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> <span class="keywordflow">for</span> ( j = 0.1*colnum + 1 ; j <= 0.9*colnum ; j++ )</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> {</div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> sum += column[j] ;</div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> sum2 += column[j] * column[j] ;</div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> npix ++ ;</div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> }</div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> </div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> <span class="keywordflow">if</span> (npix <= 1)</div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> {</div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> noise = sigmaFactor * 1000.;</div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> }</div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> {</div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> mean = sum/(float)npix ;</div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> noise = sqrt( (sum2 - sum*mean)/(<span class="keywordtype">double</span>)(npix -1) ) ;</div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> noise *= sigmaFactor ;</div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> }</div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> </div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> <span class="comment">/* -------------------------------------------------------------</span></div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> <span class="comment"> * determine sinfo_median if colnum is odd, sinfo_median will be the</span></div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> <span class="comment"> colnum/2 th value, otherwise</span></div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> <span class="comment"> * sinfo_median is the mean of colnum/2-1 th and colnum/2 th value.</span></div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> </div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> <span class="keywordflow">if</span> ( colnum % 2 == 1 )</div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> {</div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> sinfo_median = column[colnum/2] ;</div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> }</div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> {</div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> sinfo_median = (column[colnum/2 - 1] + column[colnum/2])/2. ;</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> }</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> </div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> <span class="comment">/* now select the pixels for the tilt calculation */</span></div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> </div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> colnum = 0 ;</div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> <span class="keywordflow">for</span> ( j = 0; j < ly ; j ++ )</div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> {</div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> <span class="keywordflow">if</span> ( !isnan(p_in_data[i+j*lx]) &&</div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> fabs ( (p_in_data[i+j*lx]) - sinfo_median) <= noise )</div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> {</div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> column[colnum] = p_in_data[i+j*lx] ;</div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> dat[colnum] = (float) j ;</div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> sig[colnum] = 1. ;</div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> colnum ++ ;</div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> }</div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> }</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> </div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> <span class="keywordflow">if</span> ( colnum == 0 )</div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> {</div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> <span class="comment">/*for ( j = 0; j < ly; j++ )</span></div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> <span class="comment"> p_ou_data[i+j*lx] -= sinfo_median ;</span></div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> <span class="comment"> cpl_free (column) ;</span></div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> <span class="comment"> cpl_free (sig) ;</span></div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> <span class="comment"> cpl_free (dat) ;</span></div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> <span class="comment"> continue ;*/</span></div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> a=0./0.;</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> b=0./0.;</div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> }</div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> {</div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> mwt = 0 ;</div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> sinfo_my_fit ( dat, column, colnum, sig, mwt, &a,</div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> &b, &siga, &sigb, &chi2, &q ) ;</div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> }</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> <span class="keywordflow">if</span> ( fabs(b) >= SLOPE || fabs(a) >= SATURATION ||</div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> isnan(b) || isnan(a))</div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> {</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">"linear fit: slope is greater than limit: %f"</span></div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> <span class="stringliteral">" saturation level is reached: %f in column"</span></div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> <span class="stringliteral">" number %d "</span>, b, a , i+1) ;</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> }</div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> </div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> <span class="comment">/* subtract fit or sinfo_median from data */</span></div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> <span class="keywordflow">for</span> ( j = 0; j < ly; j++ )</div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> {</div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> <span class="keywordflow">if</span> ( !isnan(p_in_data[i+j*lx]) &&</div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> fabs(b) < SLOPE && fabs(a) < SATURATION )</div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> {</div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> p_ou_data[i+j*lx] = p_in_data[i+j*lx] - (a + b * (float)j) ;</div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> }</div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( isnan(p_in_data[i+j*lx]) )</div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> {</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> p_ou_data[i+j*lx] = ZERO ;</div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> }</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( (fabs(b) >= SLOPE ||</div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> fabs(a) >= SATURATION || isnan(a) || isnan(b)) &&</div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> !isnan(p_in_data[i+j*lx]) )</div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> {</div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> p_ou_data[i+j*lx] -= sinfo_median ;</div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> }</div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> {</div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" case is not possible! %f %f"</span>, b,a) ;</div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> <span class="comment">/*cpl_free (column) ;</span></div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> <span class="comment"> cpl_free (sig) ;</span></div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> <span class="comment"> cpl_free (dat) ;</span></div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> <span class="comment"> cpl_image_delete(im) ;</span></div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> <span class="comment"> return NULL ;*/</span></div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> }</div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> }</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> cpl_free (column) ;</div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> cpl_free (sig) ;</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> cpl_free (dat) ;</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> }</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> </div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> <span class="keywordflow">return</span> im ;</div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> }</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> </div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> </div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> </div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> </div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> </div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> cpl_image * sinfo_new_median_image( cpl_image * im, <span class="keywordtype">float</span> fmedian )</div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> {</div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> cpl_image * image=NULL ;</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> pixelvalue * value=NULL ;</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> pixelvalue sinfo_median=0 ;</div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> <span class="keywordtype">int</span> * position=NULL ;</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> <span class="keywordtype">int</span> nposition=0 ;</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> <span class="keywordtype">int</span> n=0;</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> <span class="keywordtype">int</span> lx=0;</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> <span class="keywordtype">int</span> ly=0;</div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> <span class="keywordtype">float</span>* p_in_data=NULL;</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> <span class="keywordtype">float</span>* p_ou_data=NULL;</div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> <span class="keywordtype">int</span> im_size=0;</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> <span class="keywordflow">if</span> ( im == NULL )</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> {</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no image input"</span>) ;</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> }</div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> </div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> image = cpl_image_duplicate ( im ) ;</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> lx=cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> ly=cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> im_size=lx*ly;</div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> p_in_data=cpl_image_get_data_float(im);</div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> p_ou_data=cpl_image_get_data_float(image);</div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> </div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> <span class="comment">/*----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> <span class="comment"> * go through all pixels</span></div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> </div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> <span class="keywordflow">for</span> ( i = 0 ; i < im_size ; i++ )</div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> {</div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> <span class="comment">/* blank pixels are not replaced */</span></div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> <span class="keywordflow">if</span> ( isnan(p_in_data[i]) )</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> {</div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> continue ;</div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> }</div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> </div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> <span class="comment">/* initialize the buffer variables for the 8 nearest neighbors */</span></div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> value = (pixelvalue * )cpl_calloc ( 8, <span class="keyword">sizeof</span> ( pixelvalue * ) ) ;</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> position = ( <span class="keywordtype">int</span> * ) cpl_calloc ( 8, <span class="keyword">sizeof</span> ( <span class="keywordtype">int</span> * ) ) ;</div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> </div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> <span class="comment">/*--------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> <span class="comment"> * determine the pixel position of the 8 nearest neighbors</span></div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> </div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> position[0] = i + lx - 1 ; <span class="comment">/* upper left */</span></div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> position[1] = i + lx ; <span class="comment">/* upper */</span></div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> position[2] = i + lx + 1 ; <span class="comment">/* upper right */</span></div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> position[3] = i + 1 ; <span class="comment">/* right */</span></div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> position[4] = i - lx + 1 ; <span class="comment">/* lower right */</span></div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> position[5] = i - lx ; <span class="comment">/* lower */</span></div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> position[6] = i - lx - 1 ; <span class="comment">/* lower left */</span></div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> position[7] = i - 1 ; <span class="comment">/* left */</span></div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> </div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> <span class="comment">/*-------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> <span class="comment"> * determine the positions of the image margins, top positions are</span></div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> <span class="comment"> changed to low positions and vice versa. Right positions are</span></div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> <span class="comment"> changed to left positions and vice versa.</span></div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> </div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> <span class="keywordflow">if</span> ( i >= 0 && i < lx ) <span class="comment">/* bottom line */</span></div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> {</div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> position[4] += 2 * lx ;</div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> position[5] += 2 * lx ;</div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> position[6] += 2 * lx ;</div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> }</div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( i >= ((<span class="keywordtype">int</span>) lx*ly - lx ) && i < (<span class="keywordtype">int</span>) lx*ly ) <span class="comment">/* top line */</span></div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> {</div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> position[0] -= 2 * lx ;</div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> position[1] -= 2 * lx ;</div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> position[2] -= 2 * lx ;</div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> }</div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( i % lx == 0 ) <span class="comment">/* left side */</span></div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> {</div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> position[0] += 2 ;</div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> position[6] += 2 ;</div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> position[7] += 2 ;</div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> }</div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( i % lx == lx - 1 ) <span class="comment">/* right side */</span></div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> {</div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> position[2] -= 2 ;</div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> position[3] -= 2 ;</div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> position[4] -= 2 ;</div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> }</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> </div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> <span class="comment">/* --------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> <span class="comment"> * read the pixel values of the neighboring pixels,</span></div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> <span class="comment"> * blanks are not considered</span></div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> </div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> nposition = 8 ;</div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> n = 0 ;</div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> <span class="keywordflow">for</span> ( j = 0 ; j < nposition ; j ++ )</div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> {</div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> <span class="keywordflow">if</span>((position[j] >-1 ) && (position[j]<im_size)) {</div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> <span class="keywordflow">if</span> ( !isnan(p_in_data[position[j]]) )</div>
-<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> {</div>
-<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span> value[n] = p_in_data[position[j]] ;</div>
-<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> n ++ ;</div>
-<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> }</div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> }</div>
-<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> }</div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> nposition = n ;</div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> </div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> <span class="keywordflow">if</span> ( nposition <= 1 ) <span class="comment">/* almost all neighbors are blank */</span></div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> {</div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> p_ou_data[i] = ZERO ;</div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> cpl_free(value) ;</div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> cpl_free(position) ;</div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> continue ;</div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> }</div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> </div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> <span class="comment">/* sort the values and determine the sinfo_median */</span></div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> </div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> sinfo_pixel_qsort ( value, nposition ) ;</div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> <span class="keywordflow">if</span> ( nposition % 2 == 1 )</div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> {</div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> sinfo_median = value [ nposition/2 ] ;</div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> }</div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> {</div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> sinfo_median = ( value [nposition/2 - 1] +</div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> value [nposition/2] ) / 2. ;</div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> }</div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> </div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> <span class="comment">/* -----------------------------------------------------------------</span></div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> <span class="comment"> * replace the pixel value by the sinfo_median on conditions:</span></div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> <span class="comment"> * fmedian = 0: always replace with sinfo_median.</span></div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> <span class="comment"> * fmedian < 0: interpret as absolute condition:</span></div>
-<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> <span class="comment"> * if |pixel - sinfo_median| > -fmedian</span></div>
-<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> <span class="comment"> * replace with sinfo_median.</span></div>
-<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> <span class="comment"> * fmedian > 0: replace by sinfo_median (fmedian as a factor of</span></div>
-<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> <span class="comment"> * the square root of the sinfo_median itself)</span></div>
-<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> <span class="comment"> * if |pixel - sinfo_median| >= fmedian *</span></div>
-<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> <span class="comment"> sqrt ( sinfo_median )</span></div>
-<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> <span class="comment"> * considers a dependence on the pixel value.</span></div>
-<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> <span class="comment"> * This can be used to consider photon noise.</span></div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> </div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> <span class="keywordflow">if</span> ( fmedian == 0 )</div>
-<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> {</div>
-<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> p_ou_data[i] = sinfo_median ;</div>
-<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> }</div>
-<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( fmedian < 0 &&</div>
-<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> fabs ( sinfo_median - p_in_data[i] ) >= -fmedian )</div>
-<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span> {</div>
-<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span> p_ou_data[i] = sinfo_median ;</div>
-<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> }</div>
-<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( fmedian > 0 &&</div>
-<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> fabs ( sinfo_median - p_in_data[i] ) >= fmedian *</div>
-<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> sqrt(fabs(sinfo_median)) )</div>
-<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> {</div>
-<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span> p_ou_data[i] = sinfo_median ;</div>
-<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> }</div>
-<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> {</div>
-<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> cpl_free (value) ;</div>
-<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> cpl_free (position) ;</div>
-<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> continue ;</div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> }</div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> </div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> cpl_free (value) ;</div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> cpl_free (position) ;</div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> }</div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> <span class="keywordflow">return</span> image ;</div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> }</div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> </div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> </div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> </div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> </div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> cpl_image *</div>
-<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> sinfo_new_compare_images(cpl_image * im1,cpl_image * im2,cpl_image * origim )</div>
-<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> {</div>
-<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> cpl_image * image=NULL ;</div>
-<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> <span class="keywordtype">int</span> i=0 ;</div>
-<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> <span class="keywordtype">int</span> lx1=0;</div>
-<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> <span class="keywordtype">int</span> ly1=0;</div>
-<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> <span class="keywordtype">int</span> lx2=0;</div>
-<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span> <span class="keywordtype">int</span> ly2=0;</div>
-<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> <span class="keywordtype">float</span>* p_in1_data=NULL;</div>
-<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span> <span class="keywordtype">float</span>* p_in2_data=NULL;</div>
-<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> <span class="keywordtype">float</span>* p_ou_data=NULL;</div>
-<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span> <span class="keywordtype">float</span>* p_org_data=NULL;</div>
-<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span> </div>
-<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> </div>
-<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span> <span class="keywordflow">if</span> ( im1 == NULL || im2 == NULL || origim == NULL )</div>
-<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span> {</div>
-<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"Null images as input"</span> ) ;</div>
-<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span> }</div>
-<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span> lx1=cpl_image_get_size_x(im1);</div>
-<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> ly1=cpl_image_get_size_y(im1);</div>
-<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span> </div>
-<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span> lx2=cpl_image_get_size_x(im2);</div>
-<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span> ly2=cpl_image_get_size_y(im2);</div>
-<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span> </div>
-<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span> p_in1_data=cpl_image_get_data_float(im1);</div>
-<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span> p_in2_data=cpl_image_get_data_float(im2);</div>
-<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span> p_org_data=cpl_image_get_data_float(origim);</div>
-<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span> <span class="keywordflow">if</span> ( lx1 != lx2 || ly1 != ly2 )</div>
-<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> {</div>
-<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"incompatible image sizes"</span> ) ;</div>
-<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span> }</div>
-<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span> </div>
-<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span> <span class="keywordflow">if</span> ( NULL == (image = cpl_image_new ( lx1, ly1, CPL_TYPE_FLOAT )) )</div>
-<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span> {</div>
-<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new image"</span> ) ;</div>
-<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span> }</div>
-<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span> p_ou_data=cpl_image_get_data_float(image);</div>
-<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) lx1*ly1 ; i ++ )</div>
-<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span> {</div>
-<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span> <span class="keywordflow">if</span> ( isnan(p_in1_data[i]) && isnan(p_in2_data[i]) )</div>
-<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span> {</div>
-<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> p_ou_data[i] = ZERO ;</div>
-<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> }</div>
-<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> {</div>
-<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> <span class="keywordflow">if</span> ( p_in1_data[i] == p_in2_data[i] )</div>
-<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> {</div>
-<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> p_ou_data[i] = p_org_data[i] ;</div>
-<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> }</div>
-<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> {</div>
-<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> p_ou_data[i] = ZERO ;</div>
-<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> }</div>
-<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> }</div>
-<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> }</div>
-<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> <span class="keywordflow">return</span> image ;</div>
-<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> }</div>
-<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> </div>
-<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> </div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> </div>
-<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> cpl_image *</div>
-<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> sinfo_new_promote_image_to_mask (cpl_image * im, <span class="keywordtype">int</span> * n_badpixels )</div>
-<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span> {</div>
-<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span> cpl_image * reImage=NULL ;</div>
-<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span> <span class="keywordtype">int</span> i=0 ;</div>
-<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span> <span class="keywordtype">int</span> lx=0;</div>
-<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> <span class="keywordtype">int</span> ly=0;</div>
-<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span> <span class="keywordtype">float</span>* p_in_data=NULL;</div>
-<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span> <span class="keywordtype">float</span>* p_ou_data=NULL;</div>
-<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span> </div>
-<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> <span class="keywordflow">if</span> ( NULL == im )</div>
-<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span> {</div>
-<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no input image given!"</span>) ;</div>
-<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span> }</div>
-<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> lx=cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> ly=cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span> p_in_data=cpl_image_get_data_float(im);</div>
-<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> </div>
-<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span> <span class="comment">/* allocate memory for the returned image */</span></div>
-<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> <span class="keywordflow">if</span> ( NULL == (reImage = cpl_image_new (lx,ly,CPL_TYPE_FLOAT )) )</div>
-<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span> {</div>
-<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new image!"</span>) ;</div>
-<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span> }</div>
-<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> p_ou_data=cpl_image_get_data_float(reImage);</div>
-<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span> </div>
-<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span> *n_badpixels = 0 ;</div>
-<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) lx*ly ; i ++ )</div>
-<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> {</div>
-<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span> <span class="keywordflow">if</span> ( isnan(p_in_data[i]) )</div>
-<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span> {</div>
-<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> p_ou_data[i] = 0. ;</div>
-<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span> (*n_badpixels)++ ;</div>
-<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span> }</div>
-<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span> {</div>
-<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span> p_ou_data[i] = 1. ;</div>
-<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span> }</div>
-<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span> }</div>
-<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span> <span class="keywordflow">return</span> reImage ;</div>
-<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span> }</div>
-<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span> </div>
-<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> </div>
-<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span> cpl_image * sinfo_new_mult_image_by_mask (cpl_image * im,cpl_image * mask )</div>
-<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span> {</div>
-<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span> cpl_image * reImage=NULL ;</div>
-<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span> <span class="keywordtype">int</span> i=0 ;</div>
-<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span> <span class="keywordtype">int</span> ix=0;</div>
-<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span> <span class="keywordtype">int</span> iy=0;</div>
-<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span> <span class="keywordtype">int</span> mx=0;</div>
-<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span> <span class="keywordtype">int</span> my=0;</div>
-<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span> </div>
-<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span> </div>
-<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span> <span class="keywordtype">float</span>* pmdata=NULL;</div>
-<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> </div>
-<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span> <span class="keywordflow">if</span> ( NULL == im )</div>
-<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span> {</div>
-<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no input image given!"</span>) ;</div>
-<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> }</div>
-<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span> <span class="keywordflow">if</span> ( NULL == mask )</div>
-<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span> {</div>
-<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no mask image given!"</span>) ;</div>
-<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span> }</div>
-<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span> ix=cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span> iy=cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span> mx=cpl_image_get_size_x(mask);</div>
-<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span> my=cpl_image_get_size_y(mask);</div>
-<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span> </div>
-<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span> <span class="keywordflow">if</span> ( ix != mx || iy != my)</div>
-<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span> {</div>
-<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"image sizes are not correspondent!"</span>) ;</div>
-<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span> }</div>
-<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span> </div>
-<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span> reImage = cpl_image_duplicate( im ) ;</div>
-<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span> podata=cpl_image_get_data_float(reImage);</div>
-<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span> pmdata=cpl_image_get_data_float(mask);</div>
-<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span> </div>
-<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) ix*iy ; i ++ )</div>
-<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span> {</div>
-<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span> <span class="keywordflow">if</span> ( pmdata[i] == 0. )</div>
-<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span> {</div>
-<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span> podata[i] = ZERO ;</div>
-<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span> }</div>
-<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span> }</div>
-<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span> </div>
-<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span> <span class="keywordflow">return</span> reImage ;</div>
-<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span> }</div>
-<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span> </div>
-<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span> </div>
-<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span> </div>
-<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span> cpl_image *</div>
-<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span> sinfo_new_thresh_image (cpl_image * im, <span class="keywordtype">float</span> lo_cut, <span class="keywordtype">float</span> hi_cut )</div>
-<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span> {</div>
-<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span> cpl_image * image=NULL ;</div>
-<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span> <span class="keywordtype">float</span>* p_inp_data=NULL;</div>
-<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span> <span class="keywordtype">float</span>* p_out_data=NULL;</div>
-<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span> <span class="keywordtype">int</span> lx=0;</div>
-<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span> <span class="keywordtype">int</span> ly=0;</div>
-<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span> </div>
-<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span> <span class="keywordtype">int</span> i=0 ;</div>
-<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span> </div>
-<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span> <span class="keywordflow">if</span> (im == NULL)</div>
-<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span> {</div>
-<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"null image given"</span>) ;</div>
-<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span> }</div>
-<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span> lx=cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span> ly=cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span> </div>
-<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span> image = cpl_image_duplicate(im) ;</div>
-<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span> p_inp_data=cpl_image_get_data(im);</div>
-<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span> p_out_data=cpl_image_get_data(image);</div>
-<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) lx*ly ; i ++ )</div>
-<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span> {</div>
-<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span> <span class="keywordflow">if</span> ( p_inp_data[i] > (pixelvalue) hi_cut ||</div>
-<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span> p_inp_data[i] < (pixelvalue) lo_cut )</div>
-<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span> {</div>
-<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span> p_out_data[i] = ZERO ;</div>
-<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span> }</div>
-<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span> }</div>
-<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span> <span class="keywordflow">return</span> image ;</div>
-<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span> }</div>
-<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span> </div>
-<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span> </div>
-<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span> </div>
-<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span> </div>
-<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span> cpl_image * sinfo_new_interpol_image ( cpl_image * im,</div>
-<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span> cpl_image * mask,</div>
-<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span> <span class="keywordtype">int</span> max_radius,</div>
-<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span> <span class="keywordtype">int</span> n_pixels )</div>
-<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span> {</div>
-<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span> cpl_image * returnImage=NULL ;</div>
-<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span> <span class="keywordtype">float</span>* neighbors=NULL ;</div>
-<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span> <span class="keywordtype">float</span> sum=0;</div>
-<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span> <span class="keywordtype">float</span> mean=0;</div>
-<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span> <span class="keywordtype">int</span> row=0;</div>
-<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span> <span class="keywordtype">int</span> col=0;</div>
-<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span> <span class="keywordtype">int</span> n_valid=0;</div>
-<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span> <span class="keywordtype">int</span> agreed=0;</div>
-<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span> </div>
-<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span> <span class="keywordtype">int</span> mlx=0;</div>
-<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span> <span class="keywordtype">int</span> mly=0;</div>
-<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span> <span class="keywordtype">float</span>* pmdata=NULL;</div>
-<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span> </div>
-<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span> <span class="keywordflow">if</span> ( NULL == im )</div>
-<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span> {</div>
-<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"sorry, no input image given!"</span>) ;</div>
-<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span> }</div>
-<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span> ilx=cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span> ily=cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span> pidata=cpl_image_get_data_float(im);</div>
-<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span> </div>
-<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span> <span class="keywordflow">if</span> ( NULL == mask )</div>
-<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span> {</div>
-<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"sorry, no mask image given!"</span>) ;</div>
-<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span> }</div>
-<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span> </div>
-<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span> mlx=cpl_image_get_size_x(mask);</div>
-<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span> mly=cpl_image_get_size_y(mask);</div>
-<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span> pmdata=cpl_image_get_data_float(mask);</div>
-<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span> </div>
-<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span> <span class="keywordflow">if</span> ( mlx != ilx || mly != ily )</div>
-<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span> {</div>
-<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"images not compatible !"</span>) ;</div>
-<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span> }</div>
-<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span> </div>
-<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span> <span class="keywordflow">if</span> ( max_radius <= 0 )</div>
-<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span> {</div>
-<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong number of pixels for maximal "</span></div>
-<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span> <span class="stringliteral">"search radius given!"</span>) ;</div>
-<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span> }</div>
-<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span> </div>
-<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span> <span class="keywordflow">if</span> ( n_pixels <= 2 )</div>
-<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span> {</div>
-<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong number of pixels used "</span></div>
-<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span> <span class="stringliteral">"for interpolation given!"</span>) ;</div>
-<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span> }</div>
-<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span> </div>
-<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span> returnImage = cpl_image_duplicate ( im ) ;</div>
-<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span> podata=cpl_image_get_data_float(returnImage);</div>
-<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span> </div>
-<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span> <span class="comment">/* go through the columns and rows of the input and mask image */</span></div>
-<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span> neighbors=cpl_calloc(4*max_radius*max_radius,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span> </div>
-<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span> {</div>
-<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span> {</div>
-<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span> <span class="comment">/* look for the ZEROS that means the detected bad pixels */</span></div>
-<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span> <span class="keywordflow">if</span> ( isnan(pmdata[col+row*ilx]) || pmdata[col+row*ilx] == 0. )</div>
-<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span> {</div>
-<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span> <span class="comment">/* now the neighbors must be considered */</span></div>
-<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span> n_valid = 0 ;</div>
-<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span> agreed = 0 ;</div>
-<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span> <span class="keywordflow">for</span> ( j = 1 ; j <= max_radius ; j++ )</div>
-<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span> {</div>
-<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span> </div>
-<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span> <span class="comment">/* go through the left column */</span></div>
-<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span> <span class="keywordflow">for</span> ( k = -j ; k < j ; k++ )</div>
-<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span> {</div>
-<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span> <span class="keywordflow">if</span> ( col-j >= 0 && row+k < ily && row+k >= 0 )</div>
-<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span> {</div>
-<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span> <span class="keywordflow">if</span> ( !isnan(pmdata[col-j+(row+k)*mlx]) ||</div>
-<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span> pmdata[col-j+(row+k)*mlx] != 0 )</div>
-<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span> {</div>
-<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span> neighbors[n_valid]=pidata[col-j+(row+k)*ilx] ;</div>
-<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span> n_valid++ ;</div>
-<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span> }</div>
-<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span> }</div>
-<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span> }</div>
-<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span> </div>
-<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span> <span class="comment">/* go through the upper row */</span></div>
-<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span> <span class="keywordflow">for</span> ( k = -j ; k < j ; k++ )</div>
-<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span> {</div>
-<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span> <span class="keywordflow">if</span> ( col+k < ilx && col+k >= 0 && row+j < ily )</div>
-<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span> {</div>
-<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span> <span class="keywordflow">if</span> ( !isnan(pmdata[col+k+(row+j)*mlx]) ||</div>
-<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span> pmdata[col+k+(row+j)*mlx] != 0. )</div>
-<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span> {</div>
-<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span> neighbors[n_valid]=pidata[col+k+(row+j)*ilx] ;</div>
-<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span> n_valid++ ;</div>
-<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span> }</div>
-<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span> }</div>
-<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span> }</div>
-<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span> </div>
-<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span> <span class="comment">/* go through the right column */</span></div>
-<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span> <span class="keywordflow">for</span> ( k = -j ; k < j ; k++ )</div>
-<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span> {</div>
-<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span> <span class="keywordflow">if</span> ( col+j < ilx && row-k >= 0 && row-k < ily )</div>
-<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span> {</div>
-<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span> <span class="keywordflow">if</span> ( !isnan(pmdata[col+j+(row-k)*mlx]) ||</div>
-<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span> pmdata[col+j+(row-k)*mlx] != 0. )</div>
-<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span> {</div>
-<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span> neighbors[n_valid]=pidata[col+j+(row-k)*ilx] ;</div>
-<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span> n_valid++ ;</div>
-<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span> }</div>
-<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span> }</div>
-<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span> }</div>
-<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span> </div>
-<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span> <span class="comment">/* go through the lower row */</span></div>
-<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span> <span class="keywordflow">for</span> ( k = -j ; k < j ; k++ )</div>
-<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span> {</div>
-<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span> <span class="keywordflow">if</span> ( col-k >= 0 && col-k < ilx && row-j < ily )</div>
-<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span> {</div>
-<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span> <span class="keywordflow">if</span> ( !isnan(pmdata[col-k+(row-j)*mlx]) ||</div>
-<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span> pmdata[col-k+(row-j)*mlx] != 0. )</div>
-<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span> {</div>
-<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span> neighbors[n_valid]=pidata[col-k+(row-j)*ilx] ;</div>
-<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span> n_valid++ ;</div>
-<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span> }</div>
-<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span> }</div>
-<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span> }</div>
-<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span> </div>
-<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span> <span class="comment">/* control if the breaking criteria is fullfilled */</span></div>
-<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span> <span class="keywordflow">if</span> ( n_valid >= n_pixels )</div>
-<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span> {</div>
-<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span> agreed = 1 ;</div>
-<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span> break ;</div>
-<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span> }</div>
-<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span> <span class="comment">/* do a break if more than 2 nearest neighbors are found */</span></div>
-<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span> <span class="keywordflow">if</span> ( j == 1 && n_valid >= 2 )</div>
-<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span> {</div>
-<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span> agreed = 1 ;</div>
-<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span> break ;</div>
-<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span> }</div>
-<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span> }</div>
-<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span> <span class="keywordflow">if</span> ( n_valid < n_pixels && agreed == 0 )</div>
-<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span> {</div>
-<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"not enough valid neighbors found to "</span></div>
-<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span> <span class="stringliteral">"interpolate bad pixel in col: "</span></div>
-<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span> <span class="stringliteral">"%d, row: %d"</span>, col, row ) ;</div>
-<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span> }</div>
-<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span> {</div>
-<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span> <span class="comment">/* ------------------------------------------------------</span></div>
-<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span> <span class="comment"> * take the mean of the valid neighboring pixels if less</span></div>
-<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span> <span class="comment"> * than 9 valid pixels are available else take the</span></div>
-<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span> <span class="comment"> sinfo_median.</span></div>
-<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span> <span class="keywordflow">if</span> ( n_valid <= 8 )</div>
-<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span> {</div>
-<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span> sum = 0. ;</div>
-<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span> </div>
-<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_valid ; i++ )</div>
-<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span> {</div>
-<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span> sum += neighbors[i] ;</div>
-<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span> }</div>
-<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span> mean = sum / n_valid ;</div>
-<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span> </div>
-<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span> podata[col+row*ilx] = mean ;</div>
-<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span> }</div>
-<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span> {</div>
-<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span> podata[col+row*ilx]=sinfo_new_median(neighbors,n_valid);</div>
-<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span> }</div>
-<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span> }</div>
-<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span> }</div>
-<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span> }</div>
-<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span> }</div>
-<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span> cpl_free(neighbors);</div>
-<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span> <span class="keywordflow">return</span> returnImage ;</div>
-<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span> }</div>
-<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span> </div>
-<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span> </div>
-<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span> cpl_image * sinfo_interpol_source_image ( cpl_image * im,</div>
-<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span> cpl_image * mask,</div>
-<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span> <span class="keywordtype">int</span> max_rad,</div>
-<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span> <span class="keywordtype">float</span> ** slit_edges )</div>
-<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span> {</div>
-<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span> cpl_image * returnImage=NULL ;</div>
-<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span> <span class="keywordtype">float</span> validpixel[6] ;</div>
-<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span> <span class="keywordtype">float</span> sum=0 ;</div>
-<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span> <span class="keywordtype">int</span> n=0;</div>
-<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span> <span class="keywordtype">int</span> row=0;</div>
-<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span> <span class="keywordtype">int</span> col=0;</div>
-<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span> <span class="keywordtype">int</span> slitlet=0;</div>
-<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span> <span class="keywordtype">int</span> n_slitlets=0;</div>
-<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span> <span class="keywordtype">int</span> mlx=0;</div>
-<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span> <span class="keywordtype">int</span> mly=0;</div>
-<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span> </div>
-<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span> <span class="keywordtype">float</span>* pmdata=NULL;</div>
-<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span> </div>
-<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span> </div>
-<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span> <span class="keywordflow">if</span> ( NULL == im )</div>
-<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span> {</div>
-<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"sorry, no input image given!"</span>) ;</div>
-<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span> }</div>
-<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span> ilx=cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span> ily=cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span> pidata=cpl_image_get_data_float(im);</div>
-<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span> </div>
-<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span> <span class="keywordflow">if</span> ( NULL == mask )</div>
-<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span> {</div>
-<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"sorry, no bad pixel mask image given!"</span>) ;</div>
-<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span> }</div>
-<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span> mlx=cpl_image_get_size_x(mask);</div>
-<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span> mly=cpl_image_get_size_y(mask);</div>
-<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span> pmdata=cpl_image_get_data_float(mask);</div>
-<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span> </div>
-<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span> <span class="keywordflow">if</span> ( mlx != ilx || mly != ily )</div>
-<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span> {</div>
-<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"images not compatible in size!"</span>) ;</div>
-<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span> }</div>
-<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span> </div>
-<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span> <span class="keywordflow">if</span> ( max_rad < 1 )</div>
-<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span> {</div>
-<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"sorry, wrong maximum distance given!"</span>) ;</div>
-<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span> }</div>
-<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span> </div>
-<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span> <span class="keywordflow">if</span> ( slit_edges == NULL )</div>
-<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span> {</div>
-<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"sorry, array slit_edges is empty!"</span>) ;</div>
-<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span> }</div>
-<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span> </div>
-<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span> <span class="comment">/* determine the number of slitlets */</span></div>
-<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span> n_slitlets = N_SLITLETS ;</div>
-<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span> </div>
-<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span> <span class="comment">/* copy the original image in the image that will be returned */</span></div>
-<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span> returnImage = cpl_image_duplicate( im ) ;</div>
-<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span> podata=cpl_image_get_data_float(returnImage);</div>
-<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span> </div>
-<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span> <span class="comment">/* go through the rows and columns of the image and search for</span></div>
-<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span> <span class="comment"> the bad pixels */</span></div>
-<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span> {</div>
-<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span> {</div>
-<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span> n = 0 ;</div>
-<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span> <span class="keywordflow">if</span> ( isnan(pmdata[col + row*mlx]) ||</div>
-<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span> pmdata[col + row*mlx] == 0. ||</div>
-<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span> isnan(pidata[col + row*mlx]) )</div>
-<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span> {</div>
-<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span> <span class="comment">/* look for the slitlet where the bad pixel is found */</span></div>
-<div class="line"><a name="l01749"></a><span class="lineno"> 1749</span> slitlet = -1000 ;</div>
-<div class="line"><a name="l01750"></a><span class="lineno"> 1750</span> <span class="keywordflow">for</span> ( k = 0 ; k < n_slitlets ; k++ )</div>
-<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span> {</div>
-<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span> <span class="keywordflow">if</span> ( sinfo_new_nint(slit_edges[k][0]) <= col &&</div>
-<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span> sinfo_new_nint(slit_edges[k][1]) >= col )</div>
-<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span> {</div>
-<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span> slitlet = k ;</div>
-<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span> }</div>
-<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span> <span class="comment">/* The following else statement is wrong, because in the</span></div>
-<div class="line"><a name="l01758"></a><span class="lineno"> 1758</span> <span class="comment"> end slitlet will always be -1000</span></div>
-<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span> <span class="comment"> else</span></div>
-<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span> <span class="comment"> slitlet = -1000 ;</span></div>
-<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span> }</div>
-<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span> <span class="keywordflow">for</span> ( i = 0 ; i < 6 ; i++ )</div>
-<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span> {</div>
-<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span> validpixel[i] = 0. ;</div>
-<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span> }</div>
-<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span> <span class="comment">/* look for the valid nearest neighbors</span></div>
-<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span> <span class="comment"> and collect them but only a maximum of 4 */</span></div>
-<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span> <span class="keywordflow">for</span> ( i = 1 ; i <= max_rad ; i++ )</div>
-<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span> {</div>
-<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span> <span class="keywordflow">if</span> ( row + i < ily)</div>
-<div class="line"><a name="l01774"></a><span class="lineno"> 1774</span> {</div>
-<div class="line"><a name="l01775"></a><span class="lineno"> 1775</span> <span class="keywordflow">if</span> ( !isnan(pmdata[col + (row+i) * mlx])</div>
-<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span> && pmdata[col + (row+i) * mlx] != 0. &&</div>
-<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span> !isnan(pidata[col + (row+i) * ilx]) )</div>
-<div class="line"><a name="l01778"></a><span class="lineno"> 1778</span> {</div>
-<div class="line"><a name="l01779"></a><span class="lineno"> 1779</span> validpixel[n] = pidata[col + (row+i) * ilx] ;</div>
-<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span> n++ ;</div>
-<div class="line"><a name="l01781"></a><span class="lineno"> 1781</span> }</div>
-<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span> }</div>
-<div class="line"><a name="l01783"></a><span class="lineno"> 1783</span> <span class="keywordflow">if</span> ( row - i >= 0 )</div>
-<div class="line"><a name="l01784"></a><span class="lineno"> 1784</span> {</div>
-<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span> <span class="keywordflow">if</span> ( !isnan(pmdata[col + (row-i) * mlx])</div>
-<div class="line"><a name="l01786"></a><span class="lineno"> 1786</span> && pmdata[col + (row-i) * mlx] != 0. &&</div>
-<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span> !isnan(pidata[col + (row-i) * ilx]) )</div>
-<div class="line"><a name="l01788"></a><span class="lineno"> 1788</span> {</div>
-<div class="line"><a name="l01789"></a><span class="lineno"> 1789</span> validpixel[n] = pidata[col + (row-i) * ilx] ;</div>
-<div class="line"><a name="l01790"></a><span class="lineno"> 1790</span> n++ ;</div>
-<div class="line"><a name="l01791"></a><span class="lineno"> 1791</span> }</div>
-<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span> }</div>
-<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span> </div>
-<div class="line"><a name="l01794"></a><span class="lineno"> 1794</span> <span class="comment">/* be aware of the slitlet edges in the</span></div>
-<div class="line"><a name="l01795"></a><span class="lineno"> 1795</span> <span class="comment"> spatial direction */</span></div>
-<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span> <span class="keywordflow">if</span> ( col + i < ilx )</div>
-<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span> {</div>
-<div class="line"><a name="l01798"></a><span class="lineno"> 1798</span> <span class="keywordflow">if</span> ( slitlet != -1000 )</div>
-<div class="line"><a name="l01799"></a><span class="lineno"> 1799</span> {</div>
-<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span> <span class="keywordflow">if</span> (col+i <= sinfo_new_nint(slit_edges[slitlet][1]) &&</div>
-<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span> !isnan(pmdata[col + i + row * mlx]) &&</div>
-<div class="line"><a name="l01802"></a><span class="lineno"> 1802</span> pmdata[col + i + row * mlx] != 0. &&</div>
-<div class="line"><a name="l01803"></a><span class="lineno"> 1803</span> !isnan(pidata[col + i + row * ilx]) )</div>
-<div class="line"><a name="l01804"></a><span class="lineno"> 1804</span> {</div>
-<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span> validpixel[n] = pidata[col + i + row * ilx] ;</div>
-<div class="line"><a name="l01806"></a><span class="lineno"> 1806</span> n++ ;</div>
-<div class="line"><a name="l01807"></a><span class="lineno"> 1807</span> }</div>
-<div class="line"><a name="l01808"></a><span class="lineno"> 1808</span> }</div>
-<div class="line"><a name="l01809"></a><span class="lineno"> 1809</span> }</div>
-<div class="line"><a name="l01810"></a><span class="lineno"> 1810</span> <span class="keywordflow">if</span> ( col - i >= 0 )</div>
-<div class="line"><a name="l01811"></a><span class="lineno"> 1811</span> {</div>
-<div class="line"><a name="l01812"></a><span class="lineno"> 1812</span> <span class="keywordflow">if</span> ( slitlet != -1000 )</div>
-<div class="line"><a name="l01813"></a><span class="lineno"> 1813</span> {</div>
-<div class="line"><a name="l01814"></a><span class="lineno"> 1814</span> <span class="keywordflow">if</span> (col-i >= sinfo_new_nint(slit_edges[slitlet][0]) &&</div>
-<div class="line"><a name="l01815"></a><span class="lineno"> 1815</span> !isnan(pmdata[col - i + row * mlx]) &&</div>
-<div class="line"><a name="l01816"></a><span class="lineno"> 1816</span> pmdata[col - i + row * mlx] != 0. &&</div>
-<div class="line"><a name="l01817"></a><span class="lineno"> 1817</span> !isnan(pidata[col - i + row * ilx]) )</div>
-<div class="line"><a name="l01818"></a><span class="lineno"> 1818</span> {</div>
-<div class="line"><a name="l01819"></a><span class="lineno"> 1819</span> validpixel[n] = pidata[col - i + row * ilx] ;</div>
-<div class="line"><a name="l01820"></a><span class="lineno"> 1820</span> n++ ;</div>
-<div class="line"><a name="l01821"></a><span class="lineno"> 1821</span> }</div>
-<div class="line"><a name="l01822"></a><span class="lineno"> 1822</span> }</div>
-<div class="line"><a name="l01823"></a><span class="lineno"> 1823</span> }</div>
-<div class="line"><a name="l01824"></a><span class="lineno"> 1824</span> </div>
-<div class="line"><a name="l01825"></a><span class="lineno"> 1825</span> <span class="keywordflow">if</span> ( i == 1 && n > 1 )</div>
-<div class="line"><a name="l01826"></a><span class="lineno"> 1826</span> {</div>
-<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span> break ;</div>
-<div class="line"><a name="l01828"></a><span class="lineno"> 1828</span> }</div>
-<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span> <span class="keywordflow">if</span> ( n > 2 )</div>
-<div class="line"><a name="l01830"></a><span class="lineno"> 1830</span> {</div>
-<div class="line"><a name="l01831"></a><span class="lineno"> 1831</span> break ;</div>
-<div class="line"><a name="l01832"></a><span class="lineno"> 1832</span> }</div>
-<div class="line"><a name="l01833"></a><span class="lineno"> 1833</span> }</div>
-<div class="line"><a name="l01834"></a><span class="lineno"> 1834</span> </div>
-<div class="line"><a name="l01835"></a><span class="lineno"> 1835</span> <span class="keywordflow">if</span> ( n == 0 )</div>
-<div class="line"><a name="l01836"></a><span class="lineno"> 1836</span> {</div>
-<div class="line"><a name="l01837"></a><span class="lineno"> 1837</span> podata[col + row*ilx] = ZERO ;</div>
-<div class="line"><a name="l01838"></a><span class="lineno"> 1838</span> <span class="comment">/*sinfo_msg_warning("sinfo_interpolSourceImage:",</span></div>
-<div class="line"><a name="l01839"></a><span class="lineno"> 1839</span> <span class="comment"> "bad pixel in column: %d and row: %d"</span></div>
-<div class="line"><a name="l01840"></a><span class="lineno"> 1840</span> <span class="comment"> " could not be interpolated!",col,row);</span></div>
-<div class="line"><a name="l01841"></a><span class="lineno"> 1841</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01842"></a><span class="lineno"> 1842</span> }</div>
-<div class="line"><a name="l01843"></a><span class="lineno"> 1843</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01844"></a><span class="lineno"> 1844</span> {</div>
-<div class="line"><a name="l01845"></a><span class="lineno"> 1845</span> <span class="comment">/* now compute the mean and replace</span></div>
-<div class="line"><a name="l01846"></a><span class="lineno"> 1846</span> <span class="comment"> the bad pixel value by the mean */</span></div>
-<div class="line"><a name="l01847"></a><span class="lineno"> 1847</span> sum = 0. ;</div>
-<div class="line"><a name="l01848"></a><span class="lineno"> 1848</span> <span class="keywordflow">for</span> ( i = 0 ; i < n ; i++ )</div>
-<div class="line"><a name="l01849"></a><span class="lineno"> 1849</span> {</div>
-<div class="line"><a name="l01850"></a><span class="lineno"> 1850</span> sum += validpixel[i] ;</div>
-<div class="line"><a name="l01851"></a><span class="lineno"> 1851</span> }</div>
-<div class="line"><a name="l01852"></a><span class="lineno"> 1852</span> podata[col + row*ilx] = sum/n ;</div>
-<div class="line"><a name="l01853"></a><span class="lineno"> 1853</span> }</div>
-<div class="line"><a name="l01854"></a><span class="lineno"> 1854</span> }</div>
-<div class="line"><a name="l01855"></a><span class="lineno"> 1855</span> }</div>
-<div class="line"><a name="l01856"></a><span class="lineno"> 1856</span> }</div>
-<div class="line"><a name="l01857"></a><span class="lineno"> 1857</span> </div>
-<div class="line"><a name="l01858"></a><span class="lineno"> 1858</span> <span class="keywordflow">return</span> returnImage ;</div>
-<div class="line"><a name="l01859"></a><span class="lineno"> 1859</span> }</div>
-<div class="line"><a name="l01860"></a><span class="lineno"> 1860</span> </div>
-<div class="line"><a name="l01870"></a><span class="lineno"> 1870</span> cpl_image * sinfo_new_stack_row_to_image ( Vector * row, <span class="keywordtype">int</span> ly )</div>
-<div class="line"><a name="l01871"></a><span class="lineno"> 1871</span> {</div>
-<div class="line"><a name="l01872"></a><span class="lineno"> 1872</span> cpl_image * image=NULL;</div>
-<div class="line"><a name="l01873"></a><span class="lineno"> 1873</span> <span class="keywordtype">int</span> col=0;</div>
-<div class="line"><a name="l01874"></a><span class="lineno"> 1874</span> <span class="keywordtype">int</span> ro=0;</div>
-<div class="line"><a name="l01875"></a><span class="lineno"> 1875</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l01876"></a><span class="lineno"> 1876</span> </div>
-<div class="line"><a name="l01877"></a><span class="lineno"> 1877</span> <span class="keywordflow">if</span> ( row == NullVector )</div>
-<div class="line"><a name="l01878"></a><span class="lineno"> 1878</span> {</div>
-<div class="line"><a name="l01879"></a><span class="lineno"> 1879</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"Null sinfo_vector as input"</span> ) ;</div>
-<div class="line"><a name="l01880"></a><span class="lineno"> 1880</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01881"></a><span class="lineno"> 1881</span> }</div>
-<div class="line"><a name="l01882"></a><span class="lineno"> 1882</span> <span class="keywordflow">if</span> ( ly <= 1 )</div>
-<div class="line"><a name="l01883"></a><span class="lineno"> 1883</span> {</div>
-<div class="line"><a name="l01884"></a><span class="lineno"> 1884</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"wrong image length given"</span> ) ;</div>
-<div class="line"><a name="l01885"></a><span class="lineno"> 1885</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01886"></a><span class="lineno"> 1886</span> }</div>
-<div class="line"><a name="l01887"></a><span class="lineno"> 1887</span> </div>
-<div class="line"><a name="l01888"></a><span class="lineno"> 1888</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l01889"></a><span class="lineno"> 1889</span> <span class="keywordflow">if</span> (NULL == (image = cpl_image_new(row->n_elements ,ly,CPL_TYPE_FLOAT )) )</div>
-<div class="line"><a name="l01890"></a><span class="lineno"> 1890</span> {</div>
-<div class="line"><a name="l01891"></a><span class="lineno"> 1891</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new image"</span> ) ;</div>
-<div class="line"><a name="l01892"></a><span class="lineno"> 1892</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01893"></a><span class="lineno"> 1893</span> }</div>
-<div class="line"><a name="l01894"></a><span class="lineno"> 1894</span> podata=cpl_image_get_data_float(image);</div>
-<div class="line"><a name="l01895"></a><span class="lineno"> 1895</span> </div>
-<div class="line"><a name="l01896"></a><span class="lineno"> 1896</span> <span class="keywordflow">for</span> ( col = 0 ; col < row -> n_elements ; col++ )</div>
-<div class="line"><a name="l01897"></a><span class="lineno"> 1897</span> {</div>
-<div class="line"><a name="l01898"></a><span class="lineno"> 1898</span> <span class="keywordflow">for</span> ( ro = 0 ; ro < ly ; ro++ )</div>
-<div class="line"><a name="l01899"></a><span class="lineno"> 1899</span> {</div>
-<div class="line"><a name="l01900"></a><span class="lineno"> 1900</span> podata[col + ro*ly] = row -> data[col] ;</div>
-<div class="line"><a name="l01901"></a><span class="lineno"> 1901</span> }</div>
-<div class="line"><a name="l01902"></a><span class="lineno"> 1902</span> }</div>
-<div class="line"><a name="l01903"></a><span class="lineno"> 1903</span> <span class="keywordflow">return</span> image ;</div>
-<div class="line"><a name="l01904"></a><span class="lineno"> 1904</span> }</div>
-<div class="line"><a name="l01905"></a><span class="lineno"> 1905</span> </div>
-<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span> Stats * sinfo_new_image_stats_on_rectangle ( cpl_image * im,</div>
-<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span> <span class="keywordtype">float</span> loReject,</div>
-<div class="line"><a name="l01923"></a><span class="lineno"> 1923</span> <span class="keywordtype">float</span> hiReject,</div>
-<div class="line"><a name="l01924"></a><span class="lineno"> 1924</span> <span class="keywordtype">int</span> llx,</div>
-<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span> <span class="keywordtype">int</span> lly,</div>
-<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span> <span class="keywordtype">int</span> urx,</div>
-<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span> <span class="keywordtype">int</span> ury )</div>
-<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span> {</div>
-<div class="line"><a name="l01929"></a><span class="lineno"> 1929</span> Stats * retstats=NULL;</div>
-<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span> <span class="keywordtype">int</span> i=0 ;</div>
-<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span> <span class="keywordtype">int</span> row=0;</div>
-<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span> <span class="keywordtype">int</span> col=0;</div>
-<div class="line"><a name="l01933"></a><span class="lineno"> 1933</span> <span class="keywordtype">int</span> n=0;</div>
-<div class="line"><a name="l01934"></a><span class="lineno"> 1934</span> <span class="keywordtype">int</span> npix=0;</div>
-<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span> <span class="keywordtype">int</span> lo_n=0;</div>
-<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span> <span class="keywordtype">int</span> hi_n=0;</div>
-<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span> <span class="keywordtype">double</span> pix_sum=0;</div>
-<div class="line"><a name="l01938"></a><span class="lineno"> 1938</span> <span class="keywordtype">double</span> sqr_sum=0;</div>
-<div class="line"><a name="l01939"></a><span class="lineno"> 1939</span> <span class="keywordtype">float</span> * pix_array=NULL;</div>
-<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span> <span class="keywordtype">int</span> im_lx=0;</div>
-<div class="line"><a name="l01941"></a><span class="lineno"> 1941</span> <span class="keywordtype">int</span> im_ly=0;</div>
-<div class="line"><a name="l01942"></a><span class="lineno"> 1942</span> <span class="keywordtype">float</span>* pim=NULL;</div>
-<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span> </div>
-<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span> <span class="keywordflow">if</span> ( NULL == im )</div>
-<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span> {</div>
-<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"sorry, no input image given!"</span>) ;</div>
-<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01948"></a><span class="lineno"> 1948</span> }</div>
-<div class="line"><a name="l01949"></a><span class="lineno"> 1949</span> <span class="keywordflow">if</span> ( loReject+hiReject >= 100. )</div>
-<div class="line"><a name="l01950"></a><span class="lineno"> 1950</span> {</div>
-<div class="line"><a name="l01951"></a><span class="lineno"> 1951</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"sorry, too much pixels rejected!"</span>) ;</div>
-<div class="line"><a name="l01952"></a><span class="lineno"> 1952</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01953"></a><span class="lineno"> 1953</span> }</div>
-<div class="line"><a name="l01954"></a><span class="lineno"> 1954</span> <span class="keywordflow">if</span> ( loReject < 0. || loReject >= 100. ||</div>
-<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span> hiReject < 0. || hiReject >= 100. )</div>
-<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span> {</div>
-<div class="line"><a name="l01957"></a><span class="lineno"> 1957</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"sorry, negative reject values!"</span>) ;</div>
-<div class="line"><a name="l01958"></a><span class="lineno"> 1958</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01959"></a><span class="lineno"> 1959</span> }</div>
-<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span> </div>
-<div class="line"><a name="l01961"></a><span class="lineno"> 1961</span> im_lx=cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l01962"></a><span class="lineno"> 1962</span> im_ly=cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l01963"></a><span class="lineno"> 1963</span> </div>
-<div class="line"><a name="l01964"></a><span class="lineno"> 1964</span> <span class="keywordflow">if</span> ( llx < 0 || lly < 0 || urx < 0 || ury < 0 ||</div>
-<div class="line"><a name="l01965"></a><span class="lineno"> 1965</span> llx >= im_lx || lly >= im_ly || urx >= im_lx ||</div>
-<div class="line"><a name="l01966"></a><span class="lineno"> 1966</span> ury >= im_ly || ury <= lly || urx <= llx )</div>
-<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span> {</div>
-<div class="line"><a name="l01968"></a><span class="lineno"> 1968</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"sorry, wrong pixel coordinates of rectangle!"</span>) ;</div>
-<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span> }</div>
-<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span> </div>
-<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span> retstats = (Stats*) cpl_calloc(1, <span class="keyword">sizeof</span>(Stats)) ;</div>
-<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span> npix = (urx - llx + 1) * (ury - lly + 1) ;</div>
-<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span> pix_array = (<span class="keywordtype">float</span>*) cpl_calloc ( npix, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span> </div>
-<div class="line"><a name="l01977"></a><span class="lineno"> 1977</span> <span class="comment">/*-------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01978"></a><span class="lineno"> 1978</span> <span class="comment"> * go through the rectangle and copy the pixel values into an array.</span></div>
-<div class="line"><a name="l01979"></a><span class="lineno"> 1979</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span> n = 0 ;</div>
-<div class="line"><a name="l01981"></a><span class="lineno"> 1981</span> pim = cpl_image_get_data_float(im);</div>
-<div class="line"><a name="l01982"></a><span class="lineno"> 1982</span> <span class="keywordflow">for</span> ( row = lly ; row <= ury ; row++ )</div>
-<div class="line"><a name="l01983"></a><span class="lineno"> 1983</span> {</div>
-<div class="line"><a name="l01984"></a><span class="lineno"> 1984</span> <span class="keywordflow">for</span> ( col = llx ; col <= urx ; col++ )</div>
-<div class="line"><a name="l01985"></a><span class="lineno"> 1985</span> {</div>
-<div class="line"><a name="l01986"></a><span class="lineno"> 1986</span> <span class="keywordflow">if</span> ( !isnan(pim[col + row*im_lx]) )</div>
-<div class="line"><a name="l01987"></a><span class="lineno"> 1987</span> {</div>
-<div class="line"><a name="l01988"></a><span class="lineno"> 1988</span> pix_array[n] = pim[col + row*im_lx] ;</div>
-<div class="line"><a name="l01989"></a><span class="lineno"> 1989</span> n++ ;</div>
-<div class="line"><a name="l01990"></a><span class="lineno"> 1990</span> }</div>
-<div class="line"><a name="l01991"></a><span class="lineno"> 1991</span> }</div>
-<div class="line"><a name="l01992"></a><span class="lineno"> 1992</span> }</div>
-<div class="line"><a name="l01993"></a><span class="lineno"> 1993</span> </div>
-<div class="line"><a name="l01994"></a><span class="lineno"> 1994</span> npix = n;</div>
-<div class="line"><a name="l01995"></a><span class="lineno"> 1995</span> <span class="comment">/*if (n != npix)</span></div>
-<div class="line"><a name="l01996"></a><span class="lineno"> 1996</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l01997"></a><span class="lineno"> 1997</span> <span class="comment"> sinfo_msg_error("the computed number of pixel equals "</span></div>
-<div class="line"><a name="l01998"></a><span class="lineno"> 1998</span> <span class="comment"> "not the counted number, impossible!") ;</span></div>
-<div class="line"><a name="l01999"></a><span class="lineno"> 1999</span> <span class="comment"> cpl_free(retstats) ;</span></div>
-<div class="line"><a name="l02000"></a><span class="lineno"> 2000</span> <span class="comment"> cpl_free(pix_array) ;</span></div>
-<div class="line"><a name="l02001"></a><span class="lineno"> 2001</span> <span class="comment"> return NULL ;</span></div>
-<div class="line"><a name="l02002"></a><span class="lineno"> 2002</span> <span class="comment"> }*/</span></div>
-<div class="line"><a name="l02003"></a><span class="lineno"> 2003</span> </div>
-<div class="line"><a name="l02004"></a><span class="lineno"> 2004</span> <span class="comment">/* determining the clean mean is already done in the recipes */</span></div>
-<div class="line"><a name="l02005"></a><span class="lineno"> 2005</span> <span class="keywordflow">if</span> ( FLT_MAX == (retstats->cleanmean = sinfo_new_clean_mean(pix_array,</div>
-<div class="line"><a name="l02006"></a><span class="lineno"> 2006</span> npix, loReject, hiReject)) )</div>
-<div class="line"><a name="l02007"></a><span class="lineno"> 2007</span> {</div>
-<div class="line"><a name="l02008"></a><span class="lineno"> 2008</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"sinfo_new_clean_mean() did not work!"</span>) ;</div>
-<div class="line"><a name="l02009"></a><span class="lineno"> 2009</span> cpl_free(retstats) ;</div>
-<div class="line"><a name="l02010"></a><span class="lineno"> 2010</span> cpl_free(pix_array) ;</div>
-<div class="line"><a name="l02011"></a><span class="lineno"> 2011</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02012"></a><span class="lineno"> 2012</span> }</div>
-<div class="line"><a name="l02013"></a><span class="lineno"> 2013</span> </div>
-<div class="line"><a name="l02014"></a><span class="lineno"> 2014</span> <span class="comment">/* now the clean standard deviation must be calculated */</span></div>
-<div class="line"><a name="l02015"></a><span class="lineno"> 2015</span> <span class="comment">/* initialize sums */</span></div>
-<div class="line"><a name="l02016"></a><span class="lineno"> 2016</span> lo_n = (int) (loReject / 100. * (<span class="keywordtype">float</span>)npix) ;</div>
-<div class="line"><a name="l02017"></a><span class="lineno"> 2017</span> hi_n = (int) (hiReject / 100. * (<span class="keywordtype">float</span>)npix) ;</div>
-<div class="line"><a name="l02018"></a><span class="lineno"> 2018</span> pix_sum = 0. ;</div>
-<div class="line"><a name="l02019"></a><span class="lineno"> 2019</span> sqr_sum = 0. ;</div>
-<div class="line"><a name="l02020"></a><span class="lineno"> 2020</span> n = 0 ;</div>
-<div class="line"><a name="l02021"></a><span class="lineno"> 2021</span> <span class="keywordflow">for</span> ( i = lo_n ; i <= npix - hi_n ; i++ )</div>
-<div class="line"><a name="l02022"></a><span class="lineno"> 2022</span> {</div>
-<div class="line"><a name="l02023"></a><span class="lineno"> 2023</span> pix_sum += (double)pix_array[i] ;</div>
-<div class="line"><a name="l02024"></a><span class="lineno"> 2024</span> sqr_sum += ((double)pix_array[i] * (<span class="keywordtype">double</span>)pix_array[i]) ;</div>
-<div class="line"><a name="l02025"></a><span class="lineno"> 2025</span> n++ ;</div>
-<div class="line"><a name="l02026"></a><span class="lineno"> 2026</span> }</div>
-<div class="line"><a name="l02027"></a><span class="lineno"> 2027</span> </div>
-<div class="line"><a name="l02028"></a><span class="lineno"> 2028</span> <span class="keywordflow">if</span> ( n == 0 )</div>
-<div class="line"><a name="l02029"></a><span class="lineno"> 2029</span> {</div>
-<div class="line"><a name="l02030"></a><span class="lineno"> 2030</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"number of clean pixels is zero!"</span>) ;</div>
-<div class="line"><a name="l02031"></a><span class="lineno"> 2031</span> cpl_free(retstats) ;</div>
-<div class="line"><a name="l02032"></a><span class="lineno"> 2032</span> cpl_free(pix_array) ;</div>
-<div class="line"><a name="l02033"></a><span class="lineno"> 2033</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02034"></a><span class="lineno"> 2034</span> }</div>
-<div class="line"><a name="l02035"></a><span class="lineno"> 2035</span> retstats -> npix = n ;</div>
-<div class="line"><a name="l02036"></a><span class="lineno"> 2036</span> pix_sum /= (double) n ;</div>
-<div class="line"><a name="l02037"></a><span class="lineno"> 2037</span> sqr_sum /= (double) n ;</div>
-<div class="line"><a name="l02038"></a><span class="lineno"> 2038</span> retstats -> cleanstdev = (float)sqrt(sqr_sum - pix_sum * pix_sum) ;</div>
-<div class="line"><a name="l02039"></a><span class="lineno"> 2039</span> cpl_free (pix_array) ;</div>
-<div class="line"><a name="l02040"></a><span class="lineno"> 2040</span> <span class="keywordflow">return</span> retstats ;</div>
-<div class="line"><a name="l02041"></a><span class="lineno"> 2041</span> }</div>
-<div class="line"><a name="l02042"></a><span class="lineno"> 2042</span> </div>
-<div class="line"><a name="l02043"></a><span class="lineno"> 2043</span> </div>
-<div class="line"><a name="l02044"></a><span class="lineno"> 2044</span> </div>
-<div class="line"><a name="l02053"></a><span class="lineno"> 2053</span> cpl_image * sinfo_new_normalize_to_central_pixel ( cpl_image * image )</div>
-<div class="line"><a name="l02054"></a><span class="lineno"> 2054</span> {</div>
-<div class="line"><a name="l02055"></a><span class="lineno"> 2055</span> <span class="keywordtype">int</span> col=0;</div>
-<div class="line"><a name="l02056"></a><span class="lineno"> 2056</span> <span class="keywordtype">int</span> row=0;</div>
-<div class="line"><a name="l02057"></a><span class="lineno"> 2057</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02058"></a><span class="lineno"> 2058</span> <span class="keywordtype">int</span> n=0;</div>
-<div class="line"><a name="l02059"></a><span class="lineno"> 2059</span> <span class="keywordtype">float</span>* array=NULL ;</div>
-<div class="line"><a name="l02060"></a><span class="lineno"> 2060</span> <span class="keywordtype">float</span> divisor=0;</div>
-<div class="line"><a name="l02061"></a><span class="lineno"> 2061</span> cpl_image * retImage=NULL;</div>
-<div class="line"><a name="l02062"></a><span class="lineno"> 2062</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l02063"></a><span class="lineno"> 2063</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l02064"></a><span class="lineno"> 2064</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l02065"></a><span class="lineno"> 2065</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l02066"></a><span class="lineno"> 2066</span> </div>
-<div class="line"><a name="l02067"></a><span class="lineno"> 2067</span> <span class="keywordflow">if</span> ( image == NULL )</div>
-<div class="line"><a name="l02068"></a><span class="lineno"> 2068</span> {</div>
-<div class="line"><a name="l02069"></a><span class="lineno"> 2069</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no image given!"</span>) ;</div>
-<div class="line"><a name="l02070"></a><span class="lineno"> 2070</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02071"></a><span class="lineno"> 2071</span> }</div>
-<div class="line"><a name="l02072"></a><span class="lineno"> 2072</span> ilx=cpl_image_get_size_x(image);</div>
-<div class="line"><a name="l02073"></a><span class="lineno"> 2073</span> ily=cpl_image_get_size_y(image);</div>
-<div class="line"><a name="l02074"></a><span class="lineno"> 2074</span> pidata=cpl_image_get_data_float(image);</div>
-<div class="line"><a name="l02075"></a><span class="lineno"> 2075</span> </div>
-<div class="line"><a name="l02076"></a><span class="lineno"> 2076</span> retImage = cpl_image_duplicate(image) ;</div>
-<div class="line"><a name="l02077"></a><span class="lineno"> 2077</span> podata=cpl_image_get_data_float(retImage);</div>
-<div class="line"><a name="l02078"></a><span class="lineno"> 2078</span> </div>
-<div class="line"><a name="l02079"></a><span class="lineno"> 2079</span> n = 0 ;</div>
-<div class="line"><a name="l02080"></a><span class="lineno"> 2080</span> <span class="comment">/* go through the central two image rows and store</span></div>
-<div class="line"><a name="l02081"></a><span class="lineno"> 2081</span> <span class="comment"> the values in an array */</span></div>
-<div class="line"><a name="l02082"></a><span class="lineno"> 2082</span> array=cpl_calloc(2*ilx,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02083"></a><span class="lineno"> 2083</span> </div>
-<div class="line"><a name="l02084"></a><span class="lineno"> 2084</span> <span class="keywordflow">for</span> ( row = ily/2 ; row < ily/2+1 ; row++ )</div>
-<div class="line"><a name="l02085"></a><span class="lineno"> 2085</span> {</div>
-<div class="line"><a name="l02086"></a><span class="lineno"> 2086</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l02087"></a><span class="lineno"> 2087</span> {</div>
-<div class="line"><a name="l02088"></a><span class="lineno"> 2088</span> <span class="keywordflow">if</span> ( !isnan(pidata[col+ilx*row]) )</div>
-<div class="line"><a name="l02089"></a><span class="lineno"> 2089</span> {</div>
-<div class="line"><a name="l02090"></a><span class="lineno"> 2090</span> array[n] = pidata[col+ilx*row] ;</div>
-<div class="line"><a name="l02091"></a><span class="lineno"> 2091</span> n++ ;</div>
-<div class="line"><a name="l02092"></a><span class="lineno"> 2092</span> }</div>
-<div class="line"><a name="l02093"></a><span class="lineno"> 2093</span> }</div>
-<div class="line"><a name="l02094"></a><span class="lineno"> 2094</span> }</div>
-<div class="line"><a name="l02095"></a><span class="lineno"> 2095</span> <span class="comment">/* compute the sinfo_median of the central 2 spectral</span></div>
-<div class="line"><a name="l02096"></a><span class="lineno"> 2096</span> <span class="comment"> values of all spatial pixels*/</span></div>
-<div class="line"><a name="l02097"></a><span class="lineno"> 2097</span> <span class="keywordflow">if</span> ( isnan(divisor = sinfo_new_median(array, n) ) )</div>
-<div class="line"><a name="l02098"></a><span class="lineno"> 2098</span> {</div>
-<div class="line"><a name="l02099"></a><span class="lineno"> 2099</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no sinfo_median possible!"</span>) ;</div>
-<div class="line"><a name="l02100"></a><span class="lineno"> 2100</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02101"></a><span class="lineno"> 2101</span> }</div>
-<div class="line"><a name="l02102"></a><span class="lineno"> 2102</span> <span class="keywordflow">if</span> ( 0 == divisor )</div>
-<div class="line"><a name="l02103"></a><span class="lineno"> 2103</span> {</div>
-<div class="line"><a name="l02104"></a><span class="lineno"> 2104</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot divide by 0"</span>) ;</div>
-<div class="line"><a name="l02105"></a><span class="lineno"> 2105</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02106"></a><span class="lineno"> 2106</span> }</div>
-<div class="line"><a name="l02107"></a><span class="lineno"> 2107</span> </div>
-<div class="line"><a name="l02108"></a><span class="lineno"> 2108</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) ilx*ily ; i++ )</div>
-<div class="line"><a name="l02109"></a><span class="lineno"> 2109</span> {</div>
-<div class="line"><a name="l02110"></a><span class="lineno"> 2110</span> <span class="keywordflow">if</span> ( isnan(pidata[i]) )</div>
-<div class="line"><a name="l02111"></a><span class="lineno"> 2111</span> {</div>
-<div class="line"><a name="l02112"></a><span class="lineno"> 2112</span> podata[i] = ZERO ;</div>
-<div class="line"><a name="l02113"></a><span class="lineno"> 2113</span> }</div>
-<div class="line"><a name="l02114"></a><span class="lineno"> 2114</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02115"></a><span class="lineno"> 2115</span> {</div>
-<div class="line"><a name="l02116"></a><span class="lineno"> 2116</span> podata[i] = pidata[i]/divisor ;</div>
-<div class="line"><a name="l02117"></a><span class="lineno"> 2117</span> }</div>
-<div class="line"><a name="l02118"></a><span class="lineno"> 2118</span> }</div>
-<div class="line"><a name="l02119"></a><span class="lineno"> 2119</span> cpl_free(array);</div>
-<div class="line"><a name="l02120"></a><span class="lineno"> 2120</span> <span class="keywordflow">return</span> retImage ;</div>
-<div class="line"><a name="l02121"></a><span class="lineno"> 2121</span> }</div>
-<div class="line"><a name="l02122"></a><span class="lineno"> 2122</span> </div>
-<div class="line"><a name="l02123"></a><span class="lineno"> 2123</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02152"></a><span class="lineno"> 2152</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02153"></a><span class="lineno"> 2153</span> </div>
-<div class="line"><a name="l02154"></a><span class="lineno"> 2154</span> cpl_image *</div>
-<div class="line"><a name="l02155"></a><span class="lineno"> 2155</span> sinfo_new_mpe_shift_image(</div>
-<div class="line"><a name="l02156"></a><span class="lineno"> 2156</span> cpl_image * image_in,</div>
-<div class="line"><a name="l02157"></a><span class="lineno"> 2157</span> <span class="keywordtype">double</span> shift_x,</div>
-<div class="line"><a name="l02158"></a><span class="lineno"> 2158</span> <span class="keywordtype">double</span> shift_y,</div>
-<div class="line"><a name="l02159"></a><span class="lineno"> 2159</span> <span class="keywordtype">double</span> * interp_kernel)</div>
-<div class="line"><a name="l02160"></a><span class="lineno"> 2160</span> {</div>
-<div class="line"><a name="l02161"></a><span class="lineno"> 2161</span> cpl_image * shifted=NULL ;</div>
-<div class="line"><a name="l02162"></a><span class="lineno"> 2162</span> pixelvalue * first_pass=NULL ;</div>
-<div class="line"><a name="l02163"></a><span class="lineno"> 2163</span> pixelvalue * second_pass=NULL ;</div>
-<div class="line"><a name="l02164"></a><span class="lineno"> 2164</span> <span class="keywordtype">int</span> samples = KERNEL_SAMPLES ;</div>
-<div class="line"><a name="l02165"></a><span class="lineno"> 2165</span> <span class="keywordtype">int</span> i=0, j=0 ;</div>
-<div class="line"><a name="l02166"></a><span class="lineno"> 2166</span> <span class="keywordtype">double</span> fx=0, fy=0 ;</div>
-<div class="line"><a name="l02167"></a><span class="lineno"> 2167</span> <span class="keywordtype">double</span> rx=0, ry=0 ;</div>
-<div class="line"><a name="l02168"></a><span class="lineno"> 2168</span> <span class="keywordtype">int</span> px=0, py=0 ;</div>
-<div class="line"><a name="l02169"></a><span class="lineno"> 2169</span> <span class="keywordtype">int</span> tabx=0, taby=0 ;</div>
-<div class="line"><a name="l02170"></a><span class="lineno"> 2170</span> <span class="keywordtype">double</span> value=0 ;</div>
-<div class="line"><a name="l02171"></a><span class="lineno"> 2171</span> <span class="keywordtype">size_t</span> pos ;</div>
-<div class="line"><a name="l02172"></a><span class="lineno"> 2172</span> <span class="keyword">register</span> pixelvalue * pix ;</div>
-<div class="line"><a name="l02173"></a><span class="lineno"> 2173</span> <span class="keyword">register</span> pixelvalue * pixint ;</div>
-<div class="line"><a name="l02174"></a><span class="lineno"> 2174</span> <span class="keywordtype">int</span> mid=0;</div>
-<div class="line"><a name="l02175"></a><span class="lineno"> 2175</span> <span class="keywordtype">double</span> norm=0 ;</div>
-<div class="line"><a name="l02176"></a><span class="lineno"> 2176</span> <span class="keywordtype">double</span> * ker=NULL ;</div>
-<div class="line"><a name="l02177"></a><span class="lineno"> 2177</span> <span class="keywordtype">int</span> freeKernel = 1 ;</div>
-<div class="line"><a name="l02178"></a><span class="lineno"> 2178</span> </div>
-<div class="line"><a name="l02179"></a><span class="lineno"> 2179</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l02180"></a><span class="lineno"> 2180</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l02181"></a><span class="lineno"> 2181</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l02182"></a><span class="lineno"> 2182</span> <span class="keywordtype">float</span>* psdata=NULL;</div>
-<div class="line"><a name="l02183"></a><span class="lineno"> 2183</span> </div>
-<div class="line"><a name="l02184"></a><span class="lineno"> 2184</span> </div>
-<div class="line"><a name="l02185"></a><span class="lineno"> 2185</span> <span class="comment">/* error handling: test entries */</span></div>
-<div class="line"><a name="l02186"></a><span class="lineno"> 2186</span> <span class="keywordflow">if</span> (image_in==NULL) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02187"></a><span class="lineno"> 2187</span> </div>
-<div class="line"><a name="l02188"></a><span class="lineno"> 2188</span> <span class="comment">/* Shifting by a zero offset returns a copy of the input image */</span></div>
-<div class="line"><a name="l02189"></a><span class="lineno"> 2189</span> <span class="keywordflow">if</span> ((fabs(shift_x)<1e-2) && (fabs(shift_y)<1e-2))</div>
-<div class="line"><a name="l02190"></a><span class="lineno"> 2190</span> <span class="keywordflow">return</span> cpl_image_duplicate(image_in) ;</div>
-<div class="line"><a name="l02191"></a><span class="lineno"> 2191</span> ilx=cpl_image_get_size_x(image_in);</div>
-<div class="line"><a name="l02192"></a><span class="lineno"> 2192</span> ily=cpl_image_get_size_y(image_in);</div>
-<div class="line"><a name="l02193"></a><span class="lineno"> 2193</span> pidata=cpl_image_get_data_float(image_in);</div>
-<div class="line"><a name="l02194"></a><span class="lineno"> 2194</span> </div>
-<div class="line"><a name="l02195"></a><span class="lineno"> 2195</span> </div>
-<div class="line"><a name="l02196"></a><span class="lineno"> 2196</span> <span class="comment">/* See if a kernel needs to be generated */</span></div>
-<div class="line"><a name="l02197"></a><span class="lineno"> 2197</span> <span class="keywordflow">if</span> (interp_kernel == NULL) {</div>
-<div class="line"><a name="l02198"></a><span class="lineno"> 2198</span> ker = sinfo_generate_interpolation_kernel(<span class="stringliteral">"default"</span>) ;</div>
-<div class="line"><a name="l02199"></a><span class="lineno"> 2199</span> <span class="keywordflow">if</span> (ker == NULL) {</div>
-<div class="line"><a name="l02200"></a><span class="lineno"> 2200</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"kernel generation failure:aborting resampling"</span>) ;</div>
-<div class="line"><a name="l02201"></a><span class="lineno"> 2201</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02202"></a><span class="lineno"> 2202</span> }</div>
-<div class="line"><a name="l02203"></a><span class="lineno"> 2203</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l02204"></a><span class="lineno"> 2204</span> ker = interp_kernel ;</div>
-<div class="line"><a name="l02205"></a><span class="lineno"> 2205</span> freeKernel = 0 ;</div>
-<div class="line"><a name="l02206"></a><span class="lineno"> 2206</span> }</div>
-<div class="line"><a name="l02207"></a><span class="lineno"> 2207</span> </div>
-<div class="line"><a name="l02208"></a><span class="lineno"> 2208</span> mid = (int)samples/(<span class="keywordtype">int</span>)2 ;</div>
-<div class="line"><a name="l02209"></a><span class="lineno"> 2209</span> first_pass = cpl_calloc(ilx, ily*<span class="keyword">sizeof</span>(pixelvalue)) ;</div>
-<div class="line"><a name="l02210"></a><span class="lineno"> 2210</span> shifted = cpl_image_new(ilx, ily,CPL_TYPE_FLOAT) ;</div>
-<div class="line"><a name="l02211"></a><span class="lineno"> 2211</span> psdata=cpl_image_get_data_float(shifted);</div>
-<div class="line"><a name="l02212"></a><span class="lineno"> 2212</span> </div>
-<div class="line"><a name="l02213"></a><span class="lineno"> 2213</span> second_pass = psdata ;</div>
-<div class="line"><a name="l02214"></a><span class="lineno"> 2214</span> </div>
-<div class="line"><a name="l02215"></a><span class="lineno"> 2215</span> pix = pidata ;</div>
-<div class="line"><a name="l02216"></a><span class="lineno"> 2216</span> <span class="keywordflow">if</span> ( ilx != 1 )</div>
-<div class="line"><a name="l02217"></a><span class="lineno"> 2217</span> {</div>
-<div class="line"><a name="l02218"></a><span class="lineno"> 2218</span> <span class="keywordflow">for</span> (j=0 ; j<ily ; j++)</div>
-<div class="line"><a name="l02219"></a><span class="lineno"> 2219</span> {</div>
-<div class="line"><a name="l02220"></a><span class="lineno"> 2220</span> <span class="keywordflow">for</span> (i=0 ; i<ilx ; i++) {</div>
-<div class="line"><a name="l02221"></a><span class="lineno"> 2221</span> fx = (double)i-shift_x ;</div>
-<div class="line"><a name="l02222"></a><span class="lineno"> 2222</span> px = (int)fx ;</div>
-<div class="line"><a name="l02223"></a><span class="lineno"> 2223</span> rx = fx - (double)px ;</div>
-<div class="line"><a name="l02224"></a><span class="lineno"> 2224</span> pos = px + j * ilx ;</div>
-<div class="line"><a name="l02225"></a><span class="lineno"> 2225</span> </div>
-<div class="line"><a name="l02226"></a><span class="lineno"> 2226</span> <span class="keywordflow">if</span> ((px>1) && (px<(ilx-2)))</div>
-<div class="line"><a name="l02227"></a><span class="lineno"> 2227</span> {</div>
-<div class="line"><a name="l02228"></a><span class="lineno"> 2228</span> tabx = (int)(fabs((<span class="keywordtype">double</span>)mid * rx)) ;</div>
-<div class="line"><a name="l02229"></a><span class="lineno"> 2229</span> <span class="comment">/* exclude blank (ZERO) pixels from interpolation */</span></div>
-<div class="line"><a name="l02230"></a><span class="lineno"> 2230</span> <span class="keywordflow">if</span> (isnan(pix[pos]))</div>
-<div class="line"><a name="l02231"></a><span class="lineno"> 2231</span> {</div>
-<div class="line"><a name="l02232"></a><span class="lineno"> 2232</span> value = ZERO ;</div>
-<div class="line"><a name="l02233"></a><span class="lineno"> 2233</span> }</div>
-<div class="line"><a name="l02234"></a><span class="lineno"> 2234</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02235"></a><span class="lineno"> 2235</span> {</div>
-<div class="line"><a name="l02236"></a><span class="lineno"> 2236</span> <span class="keywordflow">if</span> (isnan(pix[pos-1]))</div>
-<div class="line"><a name="l02237"></a><span class="lineno"> 2237</span> {</div>
-<div class="line"><a name="l02238"></a><span class="lineno"> 2238</span> pix[pos-1] = 0. ;</div>
-<div class="line"><a name="l02239"></a><span class="lineno"> 2239</span> }</div>
-<div class="line"><a name="l02240"></a><span class="lineno"> 2240</span> <span class="keywordflow">if</span> (isnan(pix[pos+1]))</div>
-<div class="line"><a name="l02241"></a><span class="lineno"> 2241</span> {</div>
-<div class="line"><a name="l02242"></a><span class="lineno"> 2242</span> pix[pos+1] = 0. ;</div>
-<div class="line"><a name="l02243"></a><span class="lineno"> 2243</span> }</div>
-<div class="line"><a name="l02244"></a><span class="lineno"> 2244</span> <span class="keywordflow">if</span> (isnan(pix[pos+2]))</div>
-<div class="line"><a name="l02245"></a><span class="lineno"> 2245</span> {</div>
-<div class="line"><a name="l02246"></a><span class="lineno"> 2246</span> pix[pos+2] = 0. ;</div>
-<div class="line"><a name="l02247"></a><span class="lineno"> 2247</span> }</div>
-<div class="line"><a name="l02248"></a><span class="lineno"> 2248</span> </div>
-<div class="line"><a name="l02249"></a><span class="lineno"> 2249</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02250"></a><span class="lineno"> 2250</span> <span class="comment"> * Sum up over 4 closest pixel values,</span></div>
-<div class="line"><a name="l02251"></a><span class="lineno"> 2251</span> <span class="comment"> * weighted by interpolation kernel values</span></div>
-<div class="line"><a name="l02252"></a><span class="lineno"> 2252</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02253"></a><span class="lineno"> 2253</span> value = (double)pix[pos-1] * ker[mid+tabx] +</div>
-<div class="line"><a name="l02254"></a><span class="lineno"> 2254</span> (<span class="keywordtype">double</span>)pix[pos] * ker[tabx] +</div>
-<div class="line"><a name="l02255"></a><span class="lineno"> 2255</span> (double)pix[pos+1] * ker[mid-tabx] +</div>
-<div class="line"><a name="l02256"></a><span class="lineno"> 2256</span> (<span class="keywordtype">double</span>)pix[pos+2] * ker[samples-tabx-1] ;</div>
-<div class="line"><a name="l02257"></a><span class="lineno"> 2257</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02258"></a><span class="lineno"> 2258</span> <span class="comment"> * Also sum up interpolation kernel coefficients</span></div>
-<div class="line"><a name="l02259"></a><span class="lineno"> 2259</span> <span class="comment"> * for further normalization</span></div>
-<div class="line"><a name="l02260"></a><span class="lineno"> 2260</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02261"></a><span class="lineno"> 2261</span> norm = (<span class="keywordtype">double</span>)ker[mid+tabx] +</div>
-<div class="line"><a name="l02262"></a><span class="lineno"> 2262</span> (<span class="keywordtype">double</span>)ker[tabx] +</div>
-<div class="line"><a name="l02263"></a><span class="lineno"> 2263</span> (<span class="keywordtype">double</span>)ker[mid-tabx] +</div>
-<div class="line"><a name="l02264"></a><span class="lineno"> 2264</span> (<span class="keywordtype">double</span>)ker[samples-tabx-1] ;</div>
-<div class="line"><a name="l02265"></a><span class="lineno"> 2265</span> if (fabs(norm) > 1e-4) {</div>
-<div class="line"><a name="l02266"></a><span class="lineno"> 2266</span> value /= norm ;</div>
-<div class="line"><a name="l02267"></a><span class="lineno"> 2267</span> }</div>
-<div class="line"><a name="l02268"></a><span class="lineno"> 2268</span> }</div>
-<div class="line"><a name="l02269"></a><span class="lineno"> 2269</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l02270"></a><span class="lineno"> 2270</span> value = ZERO ;</div>
-<div class="line"><a name="l02271"></a><span class="lineno"> 2271</span> }</div>
-<div class="line"><a name="l02272"></a><span class="lineno"> 2272</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02273"></a><span class="lineno"> 2273</span> <span class="comment"> * There may be a problem of rounding here if pixelvalue</span></div>
-<div class="line"><a name="l02274"></a><span class="lineno"> 2274</span> <span class="comment"> * has not enough bits to sustain the accuracy.</span></div>
-<div class="line"><a name="l02275"></a><span class="lineno"> 2275</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02276"></a><span class="lineno"> 2276</span> <span class="keywordflow">if</span> ( isnan(value) )</div>
-<div class="line"><a name="l02277"></a><span class="lineno"> 2277</span> {</div>
-<div class="line"><a name="l02278"></a><span class="lineno"> 2278</span> first_pass[i+j*ilx] = ZERO ;</div>
-<div class="line"><a name="l02279"></a><span class="lineno"> 2279</span> }</div>
-<div class="line"><a name="l02280"></a><span class="lineno"> 2280</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02281"></a><span class="lineno"> 2281</span> {</div>
-<div class="line"><a name="l02282"></a><span class="lineno"> 2282</span> first_pass[i+j*ilx] = (pixelvalue)value ;</div>
-<div class="line"><a name="l02283"></a><span class="lineno"> 2283</span> }</div>
-<div class="line"><a name="l02284"></a><span class="lineno"> 2284</span> }</div>
-<div class="line"><a name="l02285"></a><span class="lineno"> 2285</span> }</div>
-<div class="line"><a name="l02286"></a><span class="lineno"> 2286</span> }</div>
-<div class="line"><a name="l02287"></a><span class="lineno"> 2287</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02288"></a><span class="lineno"> 2288</span> {</div>
-<div class="line"><a name="l02289"></a><span class="lineno"> 2289</span> memcpy(first_pass,pix,ily*<span class="keyword">sizeof</span>(pixelvalue));</div>
-<div class="line"><a name="l02290"></a><span class="lineno"> 2290</span> }</div>
-<div class="line"><a name="l02291"></a><span class="lineno"> 2291</span> </div>
-<div class="line"><a name="l02292"></a><span class="lineno"> 2292</span> pixint = first_pass ;</div>
-<div class="line"><a name="l02293"></a><span class="lineno"> 2293</span> <span class="keywordflow">for</span> (i=0 ; i<ilx ; i++) {</div>
-<div class="line"><a name="l02294"></a><span class="lineno"> 2294</span> <span class="keywordflow">for</span> (j=0 ; j<ily ; j++) {</div>
-<div class="line"><a name="l02295"></a><span class="lineno"> 2295</span> fy = (double)j - shift_y ;</div>
-<div class="line"><a name="l02296"></a><span class="lineno"> 2296</span> py = (int)fy ;</div>
-<div class="line"><a name="l02297"></a><span class="lineno"> 2297</span> ry = fy - (double)py ;</div>
-<div class="line"><a name="l02298"></a><span class="lineno"> 2298</span> pos = i + py * ilx ;</div>
-<div class="line"><a name="l02299"></a><span class="lineno"> 2299</span> </div>
-<div class="line"><a name="l02300"></a><span class="lineno"> 2300</span> taby = (int)(fabs((<span class="keywordtype">double</span>)mid * ry)) ;</div>
-<div class="line"><a name="l02301"></a><span class="lineno"> 2301</span> </div>
-<div class="line"><a name="l02302"></a><span class="lineno"> 2302</span> <span class="keywordflow">if</span> ((py>(<span class="keywordtype">int</span>)1) && (py<(ily-2))) {</div>
-<div class="line"><a name="l02303"></a><span class="lineno"> 2303</span> <span class="comment">/* exclude blank (ZERO) pixels from interpolation */</span></div>
-<div class="line"><a name="l02304"></a><span class="lineno"> 2304</span> <span class="keywordflow">if</span> (isnan(pixint[pos]) && ilx != 1 )</div>
-<div class="line"><a name="l02305"></a><span class="lineno"> 2305</span> {</div>
-<div class="line"><a name="l02306"></a><span class="lineno"> 2306</span> value = ZERO ;</div>
-<div class="line"><a name="l02307"></a><span class="lineno"> 2307</span> }</div>
-<div class="line"><a name="l02308"></a><span class="lineno"> 2308</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02309"></a><span class="lineno"> 2309</span> {</div>
-<div class="line"><a name="l02310"></a><span class="lineno"> 2310</span> <span class="keywordflow">if</span> (isnan(pixint[pos-ilx]))</div>
-<div class="line"><a name="l02311"></a><span class="lineno"> 2311</span> {</div>
-<div class="line"><a name="l02312"></a><span class="lineno"> 2312</span> pixint[pos-ilx] = 0. ;</div>
-<div class="line"><a name="l02313"></a><span class="lineno"> 2313</span> }</div>
-<div class="line"><a name="l02314"></a><span class="lineno"> 2314</span> <span class="keywordflow">if</span> (isnan(pixint[pos+ilx]))</div>
-<div class="line"><a name="l02315"></a><span class="lineno"> 2315</span> {</div>
-<div class="line"><a name="l02316"></a><span class="lineno"> 2316</span> pixint[pos+ilx] = 0. ;</div>
-<div class="line"><a name="l02317"></a><span class="lineno"> 2317</span> }</div>
-<div class="line"><a name="l02318"></a><span class="lineno"> 2318</span> <span class="keywordflow">if</span> (isnan(pixint[pos+2*ilx]))</div>
-<div class="line"><a name="l02319"></a><span class="lineno"> 2319</span> {</div>
-<div class="line"><a name="l02320"></a><span class="lineno"> 2320</span> pixint[pos+2*ilx] = 0. ;</div>
-<div class="line"><a name="l02321"></a><span class="lineno"> 2321</span> }</div>
-<div class="line"><a name="l02322"></a><span class="lineno"> 2322</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02323"></a><span class="lineno"> 2323</span> <span class="comment"> * Sum up over 4 closest pixel values,</span></div>
-<div class="line"><a name="l02324"></a><span class="lineno"> 2324</span> <span class="comment"> * weighted by interpolation kernel values</span></div>
-<div class="line"><a name="l02325"></a><span class="lineno"> 2325</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02326"></a><span class="lineno"> 2326</span> value = (double)pixint[pos-ilx] * ker[mid+taby] +</div>
-<div class="line"><a name="l02327"></a><span class="lineno"> 2327</span> (<span class="keywordtype">double</span>)pixint[pos] * ker[taby] +</div>
-<div class="line"><a name="l02328"></a><span class="lineno"> 2328</span> (double)pixint[pos+ilx] * ker[mid-taby] +</div>
-<div class="line"><a name="l02329"></a><span class="lineno"> 2329</span> (<span class="keywordtype">double</span>)pixint[pos+2*ilx]*ker[samples-taby-1];</div>
-<div class="line"><a name="l02330"></a><span class="lineno"> 2330</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02331"></a><span class="lineno"> 2331</span> <span class="comment"> * Also sum up interpolation kernel coefficients</span></div>
-<div class="line"><a name="l02332"></a><span class="lineno"> 2332</span> <span class="comment"> * for further normalization</span></div>
-<div class="line"><a name="l02333"></a><span class="lineno"> 2333</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02334"></a><span class="lineno"> 2334</span> norm = (<span class="keywordtype">double</span>)ker[mid+taby] +</div>
-<div class="line"><a name="l02335"></a><span class="lineno"> 2335</span> (<span class="keywordtype">double</span>)ker[taby] +</div>
-<div class="line"><a name="l02336"></a><span class="lineno"> 2336</span> (<span class="keywordtype">double</span>)ker[mid-taby] +</div>
-<div class="line"><a name="l02337"></a><span class="lineno"> 2337</span> (<span class="keywordtype">double</span>)ker[samples-taby-1] ;</div>
-<div class="line"><a name="l02338"></a><span class="lineno"> 2338</span> </div>
-<div class="line"><a name="l02339"></a><span class="lineno"> 2339</span> if (fabs(norm) > 1e-4) {</div>
-<div class="line"><a name="l02340"></a><span class="lineno"> 2340</span> value /= norm ;</div>
-<div class="line"><a name="l02341"></a><span class="lineno"> 2341</span> }</div>
-<div class="line"><a name="l02342"></a><span class="lineno"> 2342</span> }</div>
-<div class="line"><a name="l02343"></a><span class="lineno"> 2343</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l02344"></a><span class="lineno"> 2344</span> value = ZERO ;</div>
-<div class="line"><a name="l02345"></a><span class="lineno"> 2345</span> }</div>
-<div class="line"><a name="l02346"></a><span class="lineno"> 2346</span> <span class="keywordflow">if</span> (isnan(value))</div>
-<div class="line"><a name="l02347"></a><span class="lineno"> 2347</span> {</div>
-<div class="line"><a name="l02348"></a><span class="lineno"> 2348</span> second_pass[i+j*ilx] = ZERO ;</div>
-<div class="line"><a name="l02349"></a><span class="lineno"> 2349</span> }</div>
-<div class="line"><a name="l02350"></a><span class="lineno"> 2350</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02351"></a><span class="lineno"> 2351</span> {</div>
-<div class="line"><a name="l02352"></a><span class="lineno"> 2352</span> second_pass[i+j*ilx] = (pixelvalue)value ;</div>
-<div class="line"><a name="l02353"></a><span class="lineno"> 2353</span> }</div>
-<div class="line"><a name="l02354"></a><span class="lineno"> 2354</span> }</div>
-<div class="line"><a name="l02355"></a><span class="lineno"> 2355</span> }</div>
-<div class="line"><a name="l02356"></a><span class="lineno"> 2356</span> </div>
-<div class="line"><a name="l02357"></a><span class="lineno"> 2357</span> cpl_free(first_pass) ;</div>
-<div class="line"><a name="l02358"></a><span class="lineno"> 2358</span> <span class="keywordflow">if</span> (freeKernel)</div>
-<div class="line"><a name="l02359"></a><span class="lineno"> 2359</span> cpl_free(ker) ;</div>
-<div class="line"><a name="l02360"></a><span class="lineno"> 2360</span> <span class="keywordflow">return</span> shifted ;</div>
-<div class="line"><a name="l02361"></a><span class="lineno"> 2361</span> }</div>
-<div class="line"><a name="l02362"></a><span class="lineno"> 2362</span> </div>
-<div class="line"><a name="l02363"></a><span class="lineno"> 2363</span> </div>
-<div class="line"><a name="l02364"></a><span class="lineno"> 2364</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02395"></a><span class="lineno"> 2395</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02396"></a><span class="lineno"> 2396</span> </div>
-<div class="line"><a name="l02397"></a><span class="lineno"> 2397</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l02398"></a><span class="lineno"> 2398</span> sinfo_new_shift_image_in_cube(</div>
-<div class="line"><a name="l02399"></a><span class="lineno"> 2399</span> cpl_image * image_in,</div>
-<div class="line"><a name="l02400"></a><span class="lineno"> 2400</span> <span class="keywordtype">double</span> shift_x,</div>
-<div class="line"><a name="l02401"></a><span class="lineno"> 2401</span> <span class="keywordtype">double</span> shift_y,</div>
-<div class="line"><a name="l02402"></a><span class="lineno"> 2402</span> <span class="keywordtype">double</span> * interp_kernel,</div>
-<div class="line"><a name="l02403"></a><span class="lineno"> 2403</span> cpl_image * shifted,</div>
-<div class="line"><a name="l02404"></a><span class="lineno"> 2404</span> pixelvalue * first_pass)</div>
-<div class="line"><a name="l02405"></a><span class="lineno"> 2405</span> {</div>
-<div class="line"><a name="l02406"></a><span class="lineno"> 2406</span> pixelvalue * second_pass=NULL ;</div>
-<div class="line"><a name="l02407"></a><span class="lineno"> 2407</span> <span class="keywordtype">int</span> samples = KERNEL_SAMPLES ;</div>
-<div class="line"><a name="l02408"></a><span class="lineno"> 2408</span> <span class="keywordtype">int</span> i=0, j=0 ;</div>
-<div class="line"><a name="l02409"></a><span class="lineno"> 2409</span> <span class="keywordtype">double</span> fx=0, fy=0 ;</div>
-<div class="line"><a name="l02410"></a><span class="lineno"> 2410</span> <span class="keywordtype">double</span> rx=0, ry=0 ;</div>
-<div class="line"><a name="l02411"></a><span class="lineno"> 2411</span> <span class="keywordtype">int</span> px=0, py=0 ;</div>
-<div class="line"><a name="l02412"></a><span class="lineno"> 2412</span> <span class="keywordtype">int</span> tabx=0, taby=0 ;</div>
-<div class="line"><a name="l02413"></a><span class="lineno"> 2413</span> <span class="keywordtype">double</span> value=0 ;</div>
-<div class="line"><a name="l02414"></a><span class="lineno"> 2414</span> <span class="keywordtype">size_t</span> pos ;</div>
-<div class="line"><a name="l02415"></a><span class="lineno"> 2415</span> <span class="keyword">register</span> pixelvalue * pix ;</div>
-<div class="line"><a name="l02416"></a><span class="lineno"> 2416</span> <span class="keyword">register</span> pixelvalue * pixint ;</div>
-<div class="line"><a name="l02417"></a><span class="lineno"> 2417</span> <span class="keywordtype">int</span> mid=0;</div>
-<div class="line"><a name="l02418"></a><span class="lineno"> 2418</span> <span class="keywordtype">double</span> norm=0 ;</div>
-<div class="line"><a name="l02419"></a><span class="lineno"> 2419</span> <span class="keywordtype">double</span> * ker=NULL ;</div>
-<div class="line"><a name="l02420"></a><span class="lineno"> 2420</span> <span class="keywordtype">int</span> freeKernel = 1 ;</div>
-<div class="line"><a name="l02421"></a><span class="lineno"> 2421</span> </div>
-<div class="line"><a name="l02422"></a><span class="lineno"> 2422</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l02423"></a><span class="lineno"> 2423</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l02424"></a><span class="lineno"> 2424</span> <span class="keywordtype">int</span> slx=0;</div>
-<div class="line"><a name="l02425"></a><span class="lineno"> 2425</span> <span class="keywordtype">int</span> sly=0;</div>
-<div class="line"><a name="l02426"></a><span class="lineno"> 2426</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l02427"></a><span class="lineno"> 2427</span> <span class="keywordtype">float</span>* psdata=NULL;</div>
-<div class="line"><a name="l02428"></a><span class="lineno"> 2428</span> </div>
-<div class="line"><a name="l02429"></a><span class="lineno"> 2429</span> <span class="comment">/* error handling: test entries */</span></div>
-<div class="line"><a name="l02430"></a><span class="lineno"> 2430</span> <span class="keywordflow">if</span> (image_in==NULL) shifted = NULL ;</div>
-<div class="line"><a name="l02431"></a><span class="lineno"> 2431</span> pidata=cpl_image_get_data_float(image_in);</div>
-<div class="line"><a name="l02432"></a><span class="lineno"> 2432</span> ilx=cpl_image_get_size_x(image_in);</div>
-<div class="line"><a name="l02433"></a><span class="lineno"> 2433</span> ily=cpl_image_get_size_y(image_in);</div>
-<div class="line"><a name="l02434"></a><span class="lineno"> 2434</span> </div>
-<div class="line"><a name="l02435"></a><span class="lineno"> 2435</span> shifted=cpl_image_new(ilx,ily,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l02436"></a><span class="lineno"> 2436</span> slx=ilx;</div>
-<div class="line"><a name="l02437"></a><span class="lineno"> 2437</span> sly=ily;</div>
-<div class="line"><a name="l02438"></a><span class="lineno"> 2438</span> </div>
-<div class="line"><a name="l02439"></a><span class="lineno"> 2439</span> psdata=cpl_image_get_data_float(shifted);</div>
-<div class="line"><a name="l02440"></a><span class="lineno"> 2440</span> </div>
-<div class="line"><a name="l02441"></a><span class="lineno"> 2441</span> <span class="comment">/* Shifting by a zero offset returns a copy of the input image */</span></div>
-<div class="line"><a name="l02442"></a><span class="lineno"> 2442</span> <span class="keywordflow">if</span> ((fabs(shift_x)<1e-2) && (fabs(shift_y)<1e-2))</div>
-<div class="line"><a name="l02443"></a><span class="lineno"> 2443</span> memcpy(psdata,pidata, (<span class="keywordtype">size_t</span>) slx*sly * <span class="keyword">sizeof</span>(pixelvalue)) ;</div>
-<div class="line"><a name="l02444"></a><span class="lineno"> 2444</span> </div>
-<div class="line"><a name="l02445"></a><span class="lineno"> 2445</span> <span class="comment">/* See if a kernel needs to be generated */</span></div>
-<div class="line"><a name="l02446"></a><span class="lineno"> 2446</span> <span class="keywordflow">if</span> (interp_kernel == NULL) {</div>
-<div class="line"><a name="l02447"></a><span class="lineno"> 2447</span> ker = sinfo_generate_interpolation_kernel(<span class="stringliteral">"default"</span>) ;</div>
-<div class="line"><a name="l02448"></a><span class="lineno"> 2448</span> <span class="keywordflow">if</span> (ker == NULL) {</div>
-<div class="line"><a name="l02449"></a><span class="lineno"> 2449</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"kernel generation failure:aborting resampling"</span>) ;</div>
-<div class="line"><a name="l02450"></a><span class="lineno"> 2450</span> shifted = NULL ;</div>
-<div class="line"><a name="l02451"></a><span class="lineno"> 2451</span> }</div>
-<div class="line"><a name="l02452"></a><span class="lineno"> 2452</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l02453"></a><span class="lineno"> 2453</span> ker = interp_kernel ;</div>
-<div class="line"><a name="l02454"></a><span class="lineno"> 2454</span> freeKernel = 0 ;</div>
-<div class="line"><a name="l02455"></a><span class="lineno"> 2455</span> }</div>
-<div class="line"><a name="l02456"></a><span class="lineno"> 2456</span> </div>
-<div class="line"><a name="l02457"></a><span class="lineno"> 2457</span> mid = (int)samples/(<span class="keywordtype">int</span>)2 ;</div>
-<div class="line"><a name="l02458"></a><span class="lineno"> 2458</span> second_pass = psdata ;</div>
-<div class="line"><a name="l02459"></a><span class="lineno"> 2459</span> </div>
-<div class="line"><a name="l02460"></a><span class="lineno"> 2460</span> pix = pidata ;</div>
-<div class="line"><a name="l02461"></a><span class="lineno"> 2461</span> <span class="keywordflow">for</span> (j=0 ; j<ily ; j++) {</div>
-<div class="line"><a name="l02462"></a><span class="lineno"> 2462</span> <span class="keywordflow">for</span> (i=1 ; i<ilx-2 ; i++) {</div>
-<div class="line"><a name="l02463"></a><span class="lineno"> 2463</span> fx = (double)i-shift_x ;</div>
-<div class="line"><a name="l02464"></a><span class="lineno"> 2464</span> px = (int)fx ;</div>
-<div class="line"><a name="l02465"></a><span class="lineno"> 2465</span> rx = fx - (double)px ;</div>
-<div class="line"><a name="l02466"></a><span class="lineno"> 2466</span> </div>
-<div class="line"><a name="l02467"></a><span class="lineno"> 2467</span> pos = px + j * ilx ;</div>
-<div class="line"><a name="l02468"></a><span class="lineno"> 2468</span> </div>
-<div class="line"><a name="l02469"></a><span class="lineno"> 2469</span> <span class="keywordflow">if</span> ((px>1) && (px<(ilx-2))) {</div>
-<div class="line"><a name="l02470"></a><span class="lineno"> 2470</span> tabx = (int)(fabs((<span class="keywordtype">double</span>)mid * rx)) ;</div>
-<div class="line"><a name="l02471"></a><span class="lineno"> 2471</span> <span class="comment">/* exclude blank (ZERO) pixels from interpolation */</span></div>
-<div class="line"><a name="l02472"></a><span class="lineno"> 2472</span> <span class="keywordflow">if</span> (isnan(pix[pos]))</div>
-<div class="line"><a name="l02473"></a><span class="lineno"> 2473</span> {</div>
-<div class="line"><a name="l02474"></a><span class="lineno"> 2474</span> value = ZERO ;</div>
-<div class="line"><a name="l02475"></a><span class="lineno"> 2475</span> }</div>
-<div class="line"><a name="l02476"></a><span class="lineno"> 2476</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02477"></a><span class="lineno"> 2477</span> {</div>
-<div class="line"><a name="l02478"></a><span class="lineno"> 2478</span> <span class="keywordflow">if</span> (isnan(pix[pos-1]))</div>
-<div class="line"><a name="l02479"></a><span class="lineno"> 2479</span> {</div>
-<div class="line"><a name="l02480"></a><span class="lineno"> 2480</span> pix[pos-1] = 0. ;</div>
-<div class="line"><a name="l02481"></a><span class="lineno"> 2481</span> }</div>
-<div class="line"><a name="l02482"></a><span class="lineno"> 2482</span> <span class="keywordflow">if</span> (isnan(pix[pos+1]))</div>
-<div class="line"><a name="l02483"></a><span class="lineno"> 2483</span> {</div>
-<div class="line"><a name="l02484"></a><span class="lineno"> 2484</span> pix[pos+1] = 0. ;</div>
-<div class="line"><a name="l02485"></a><span class="lineno"> 2485</span> }</div>
-<div class="line"><a name="l02486"></a><span class="lineno"> 2486</span> <span class="keywordflow">if</span> (isnan(pix[pos+2]))</div>
-<div class="line"><a name="l02487"></a><span class="lineno"> 2487</span> {</div>
-<div class="line"><a name="l02488"></a><span class="lineno"> 2488</span> pix[pos+2] = 0. ;</div>
-<div class="line"><a name="l02489"></a><span class="lineno"> 2489</span> }</div>
-<div class="line"><a name="l02490"></a><span class="lineno"> 2490</span> </div>
-<div class="line"><a name="l02491"></a><span class="lineno"> 2491</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02492"></a><span class="lineno"> 2492</span> <span class="comment"> * Sum up over 4 closest pixel values,</span></div>
-<div class="line"><a name="l02493"></a><span class="lineno"> 2493</span> <span class="comment"> * weighted by interpolation kernel values</span></div>
-<div class="line"><a name="l02494"></a><span class="lineno"> 2494</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02495"></a><span class="lineno"> 2495</span> value = (double)pix[pos-1] * ker[mid+tabx] +</div>
-<div class="line"><a name="l02496"></a><span class="lineno"> 2496</span> (<span class="keywordtype">double</span>)pix[pos] * ker[tabx] +</div>
-<div class="line"><a name="l02497"></a><span class="lineno"> 2497</span> (double)pix[pos+1] * ker[mid-tabx] +</div>
-<div class="line"><a name="l02498"></a><span class="lineno"> 2498</span> (<span class="keywordtype">double</span>)pix[pos+2] * ker[samples-tabx-1] ;</div>
-<div class="line"><a name="l02499"></a><span class="lineno"> 2499</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02500"></a><span class="lineno"> 2500</span> <span class="comment"> * Also sum up interpolation kernel coefficients</span></div>
-<div class="line"><a name="l02501"></a><span class="lineno"> 2501</span> <span class="comment"> * for further normalization</span></div>
-<div class="line"><a name="l02502"></a><span class="lineno"> 2502</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02503"></a><span class="lineno"> 2503</span> norm = (<span class="keywordtype">double</span>)ker[mid+tabx] +</div>
-<div class="line"><a name="l02504"></a><span class="lineno"> 2504</span> (<span class="keywordtype">double</span>)ker[tabx] +</div>
-<div class="line"><a name="l02505"></a><span class="lineno"> 2505</span> (<span class="keywordtype">double</span>)ker[mid-tabx] +</div>
-<div class="line"><a name="l02506"></a><span class="lineno"> 2506</span> (<span class="keywordtype">double</span>)ker[samples-tabx-1] ;</div>
-<div class="line"><a name="l02507"></a><span class="lineno"> 2507</span> if (fabs(norm) > 1e-4) {</div>
-<div class="line"><a name="l02508"></a><span class="lineno"> 2508</span> value /= norm ;</div>
-<div class="line"><a name="l02509"></a><span class="lineno"> 2509</span> }</div>
-<div class="line"><a name="l02510"></a><span class="lineno"> 2510</span> }</div>
-<div class="line"><a name="l02511"></a><span class="lineno"> 2511</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l02512"></a><span class="lineno"> 2512</span> value = 0.0 ;</div>
-<div class="line"><a name="l02513"></a><span class="lineno"> 2513</span> }</div>
-<div class="line"><a name="l02514"></a><span class="lineno"> 2514</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02515"></a><span class="lineno"> 2515</span> <span class="comment"> * There may be a problem of rounding here if pixelvalue</span></div>
-<div class="line"><a name="l02516"></a><span class="lineno"> 2516</span> <span class="comment"> * has not enough bits to sustain the accuracy.</span></div>
-<div class="line"><a name="l02517"></a><span class="lineno"> 2517</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02518"></a><span class="lineno"> 2518</span> <span class="keywordflow">if</span> ( isnan(value) )</div>
-<div class="line"><a name="l02519"></a><span class="lineno"> 2519</span> {</div>
-<div class="line"><a name="l02520"></a><span class="lineno"> 2520</span> first_pass[i+j*ilx] = ZERO ;</div>
-<div class="line"><a name="l02521"></a><span class="lineno"> 2521</span> }</div>
-<div class="line"><a name="l02522"></a><span class="lineno"> 2522</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02523"></a><span class="lineno"> 2523</span> {</div>
-<div class="line"><a name="l02524"></a><span class="lineno"> 2524</span> first_pass[i+j*ilx] = (pixelvalue)value ;</div>
-<div class="line"><a name="l02525"></a><span class="lineno"> 2525</span> }</div>
-<div class="line"><a name="l02526"></a><span class="lineno"> 2526</span> }</div>
-<div class="line"><a name="l02527"></a><span class="lineno"> 2527</span> }</div>
-<div class="line"><a name="l02528"></a><span class="lineno"> 2528</span> pixint = first_pass ;</div>
-<div class="line"><a name="l02529"></a><span class="lineno"> 2529</span> <span class="keywordflow">for</span> (i=0 ; i< ilx ; i++) {</div>
-<div class="line"><a name="l02530"></a><span class="lineno"> 2530</span> <span class="keywordflow">for</span> (j=1 ; j< ily-2 ; j++) {</div>
-<div class="line"><a name="l02531"></a><span class="lineno"> 2531</span> fy = (double)j - shift_y ;</div>
-<div class="line"><a name="l02532"></a><span class="lineno"> 2532</span> py = (int)fy ;</div>
-<div class="line"><a name="l02533"></a><span class="lineno"> 2533</span> ry = fy - (double)py ;</div>
-<div class="line"><a name="l02534"></a><span class="lineno"> 2534</span> pos = i + py * ilx ;</div>
-<div class="line"><a name="l02535"></a><span class="lineno"> 2535</span> </div>
-<div class="line"><a name="l02536"></a><span class="lineno"> 2536</span> taby = (int)(fabs((<span class="keywordtype">double</span>)mid * ry)) ;</div>
-<div class="line"><a name="l02537"></a><span class="lineno"> 2537</span> </div>
-<div class="line"><a name="l02538"></a><span class="lineno"> 2538</span> <span class="keywordflow">if</span> ((py>(<span class="keywordtype">int</span>)1) && (py<(ily-2))) {</div>
-<div class="line"><a name="l02539"></a><span class="lineno"> 2539</span> <span class="comment">/* exclude blank (ZERO) pixels from interpolation */</span></div>
-<div class="line"><a name="l02540"></a><span class="lineno"> 2540</span> <span class="keywordflow">if</span> (isnan(pixint[pos]))</div>
-<div class="line"><a name="l02541"></a><span class="lineno"> 2541</span> {</div>
-<div class="line"><a name="l02542"></a><span class="lineno"> 2542</span> value = ZERO ;</div>
-<div class="line"><a name="l02543"></a><span class="lineno"> 2543</span> }</div>
-<div class="line"><a name="l02544"></a><span class="lineno"> 2544</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02545"></a><span class="lineno"> 2545</span> {</div>
-<div class="line"><a name="l02546"></a><span class="lineno"> 2546</span> <span class="keywordflow">if</span> (isnan(pixint[pos-ilx]))</div>
-<div class="line"><a name="l02547"></a><span class="lineno"> 2547</span> {</div>
-<div class="line"><a name="l02548"></a><span class="lineno"> 2548</span> pixint[pos-ilx] = 0. ;</div>
-<div class="line"><a name="l02549"></a><span class="lineno"> 2549</span> }</div>
-<div class="line"><a name="l02550"></a><span class="lineno"> 2550</span> <span class="keywordflow">if</span> (isnan(pixint[pos+ilx]))</div>
-<div class="line"><a name="l02551"></a><span class="lineno"> 2551</span> {</div>
-<div class="line"><a name="l02552"></a><span class="lineno"> 2552</span> pixint[pos+ilx] = 0. ;</div>
-<div class="line"><a name="l02553"></a><span class="lineno"> 2553</span> }</div>
-<div class="line"><a name="l02554"></a><span class="lineno"> 2554</span> <span class="keywordflow">if</span> (isnan(pixint[pos+2*ilx]))</div>
-<div class="line"><a name="l02555"></a><span class="lineno"> 2555</span> {</div>
-<div class="line"><a name="l02556"></a><span class="lineno"> 2556</span> pixint[pos+2*ilx] = 0. ;</div>
-<div class="line"><a name="l02557"></a><span class="lineno"> 2557</span> }</div>
-<div class="line"><a name="l02558"></a><span class="lineno"> 2558</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02559"></a><span class="lineno"> 2559</span> <span class="comment"> * Sum up over 4 closest pixel values,</span></div>
-<div class="line"><a name="l02560"></a><span class="lineno"> 2560</span> <span class="comment"> * weighted by interpolation kernel values</span></div>
-<div class="line"><a name="l02561"></a><span class="lineno"> 2561</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02562"></a><span class="lineno"> 2562</span> value = (double)pixint[pos-ilx] * ker[mid+taby] +</div>
-<div class="line"><a name="l02563"></a><span class="lineno"> 2563</span> (<span class="keywordtype">double</span>)pixint[pos] * ker[taby] +</div>
-<div class="line"><a name="l02564"></a><span class="lineno"> 2564</span> (double)pixint[pos+ilx] * ker[mid-taby] +</div>
-<div class="line"><a name="l02565"></a><span class="lineno"> 2565</span> (<span class="keywordtype">double</span>)pixint[pos+2*ilx]*ker[samples-taby-1];</div>
-<div class="line"><a name="l02566"></a><span class="lineno"> 2566</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02567"></a><span class="lineno"> 2567</span> <span class="comment"> * Also sum up interpolation kernel coefficients</span></div>
-<div class="line"><a name="l02568"></a><span class="lineno"> 2568</span> <span class="comment"> * for further normalization</span></div>
-<div class="line"><a name="l02569"></a><span class="lineno"> 2569</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02570"></a><span class="lineno"> 2570</span> norm = (<span class="keywordtype">double</span>)ker[mid+taby] +</div>
-<div class="line"><a name="l02571"></a><span class="lineno"> 2571</span> (<span class="keywordtype">double</span>)ker[taby] +</div>
-<div class="line"><a name="l02572"></a><span class="lineno"> 2572</span> (<span class="keywordtype">double</span>)ker[mid-taby] +</div>
-<div class="line"><a name="l02573"></a><span class="lineno"> 2573</span> (<span class="keywordtype">double</span>)ker[samples-taby-1] ;</div>
-<div class="line"><a name="l02574"></a><span class="lineno"> 2574</span> </div>
-<div class="line"><a name="l02575"></a><span class="lineno"> 2575</span> if (fabs(norm) > 1e-4) {</div>
-<div class="line"><a name="l02576"></a><span class="lineno"> 2576</span> value /= norm ;</div>
-<div class="line"><a name="l02577"></a><span class="lineno"> 2577</span> }</div>
-<div class="line"><a name="l02578"></a><span class="lineno"> 2578</span> }</div>
-<div class="line"><a name="l02579"></a><span class="lineno"> 2579</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l02580"></a><span class="lineno"> 2580</span> <span class="comment">/* value = 0.0 ; AMo: This affect slitlet #1 */</span></div>
-<div class="line"><a name="l02581"></a><span class="lineno"> 2581</span> }</div>
-<div class="line"><a name="l02582"></a><span class="lineno"> 2582</span> <span class="keywordflow">if</span> (isnan(value))</div>
-<div class="line"><a name="l02583"></a><span class="lineno"> 2583</span> {</div>
-<div class="line"><a name="l02584"></a><span class="lineno"> 2584</span> second_pass[i+j*ilx] = ZERO ;</div>
-<div class="line"><a name="l02585"></a><span class="lineno"> 2585</span> }</div>
-<div class="line"><a name="l02586"></a><span class="lineno"> 2586</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02587"></a><span class="lineno"> 2587</span> {</div>
-<div class="line"><a name="l02588"></a><span class="lineno"> 2588</span> second_pass[i+j*ilx] = (pixelvalue)value ;</div>
-<div class="line"><a name="l02589"></a><span class="lineno"> 2589</span> }</div>
-<div class="line"><a name="l02590"></a><span class="lineno"> 2590</span> }</div>
-<div class="line"><a name="l02591"></a><span class="lineno"> 2591</span> }</div>
-<div class="line"><a name="l02592"></a><span class="lineno"> 2592</span> </div>
-<div class="line"><a name="l02593"></a><span class="lineno"> 2593</span> <span class="keywordflow">if</span> (freeKernel)</div>
-<div class="line"><a name="l02594"></a><span class="lineno"> 2594</span> cpl_free(ker) ;</div>
-<div class="line"><a name="l02595"></a><span class="lineno"> 2595</span> }</div>
-<div class="line"><a name="l02596"></a><span class="lineno"> 2596</span> </div>
-<div class="line"><a name="l02597"></a><span class="lineno"> 2597</span> <span class="comment">/* function to delete the image statistics within python */</span></div>
-<div class="line"><a name="l02598"></a><span class="lineno"> 2598</span> <span class="keywordtype">void</span> sinfo_new_del_Stats( Stats * st)</div>
-<div class="line"><a name="l02599"></a><span class="lineno"> 2599</span> {</div>
-<div class="line"><a name="l02600"></a><span class="lineno"> 2600</span> cpl_free (st) ;</div>
-<div class="line"><a name="l02601"></a><span class="lineno"> 2601</span> }</div>
-<div class="line"><a name="l02602"></a><span class="lineno"> 2602</span> </div>
-<div class="line"><a name="l02609"></a><span class="lineno"> 2609</span> cpl_image *</div>
-<div class="line"><a name="l02610"></a><span class="lineno"> 2610</span> sinfo_new_combine_masks ( cpl_image * firstMask, cpl_image * secondMask )</div>
-<div class="line"><a name="l02611"></a><span class="lineno"> 2611</span> {</div>
-<div class="line"><a name="l02612"></a><span class="lineno"> 2612</span> cpl_image * retMask=NULL ;</div>
-<div class="line"><a name="l02613"></a><span class="lineno"> 2613</span> <span class="keywordtype">int</span> n=0 ;</div>
-<div class="line"><a name="l02614"></a><span class="lineno"> 2614</span> <span class="keywordtype">int</span> olx=0;</div>
-<div class="line"><a name="l02615"></a><span class="lineno"> 2615</span> <span class="keywordtype">int</span> oly=0;</div>
-<div class="line"><a name="l02616"></a><span class="lineno"> 2616</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l02617"></a><span class="lineno"> 2617</span> <span class="keywordtype">float</span>* pm1data=NULL;</div>
-<div class="line"><a name="l02618"></a><span class="lineno"> 2618</span> <span class="keywordtype">float</span>* pm2data=NULL;</div>
-<div class="line"><a name="l02619"></a><span class="lineno"> 2619</span> </div>
-<div class="line"><a name="l02620"></a><span class="lineno"> 2620</span> <span class="keywordflow">if</span> ( firstMask == NULL || secondMask == NULL )</div>
-<div class="line"><a name="l02621"></a><span class="lineno"> 2621</span> {</div>
-<div class="line"><a name="l02622"></a><span class="lineno"> 2622</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no input mask image given!"</span>) ;</div>
-<div class="line"><a name="l02623"></a><span class="lineno"> 2623</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02624"></a><span class="lineno"> 2624</span> }</div>
-<div class="line"><a name="l02625"></a><span class="lineno"> 2625</span> retMask = cpl_image_duplicate (firstMask) ;</div>
-<div class="line"><a name="l02626"></a><span class="lineno"> 2626</span> podata = cpl_image_get_data_float(retMask);</div>
-<div class="line"><a name="l02627"></a><span class="lineno"> 2627</span> pm1data = cpl_image_get_data_float(firstMask);</div>
-<div class="line"><a name="l02628"></a><span class="lineno"> 2628</span> pm2data = cpl_image_get_data_float(secondMask);</div>
-<div class="line"><a name="l02629"></a><span class="lineno"> 2629</span> olx=cpl_image_get_size_x(retMask);</div>
-<div class="line"><a name="l02630"></a><span class="lineno"> 2630</span> oly=cpl_image_get_size_y(retMask);</div>
-<div class="line"><a name="l02631"></a><span class="lineno"> 2631</span> </div>
-<div class="line"><a name="l02632"></a><span class="lineno"> 2632</span> <span class="keywordflow">for</span> ( n = 0 ; n < (int) olx*oly ; n++ )</div>
-<div class="line"><a name="l02633"></a><span class="lineno"> 2633</span> {</div>
-<div class="line"><a name="l02634"></a><span class="lineno"> 2634</span> <span class="keywordflow">if</span> ( podata[n] == 0. || pm2data[n] == 0. )</div>
-<div class="line"><a name="l02635"></a><span class="lineno"> 2635</span> {</div>
-<div class="line"><a name="l02636"></a><span class="lineno"> 2636</span> podata[n] = 0. ;</div>
-<div class="line"><a name="l02637"></a><span class="lineno"> 2637</span> }</div>
-<div class="line"><a name="l02638"></a><span class="lineno"> 2638</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02639"></a><span class="lineno"> 2639</span> {</div>
-<div class="line"><a name="l02640"></a><span class="lineno"> 2640</span> podata[n] = 1. ;</div>
-<div class="line"><a name="l02641"></a><span class="lineno"> 2641</span> }</div>
-<div class="line"><a name="l02642"></a><span class="lineno"> 2642</span> }</div>
-<div class="line"><a name="l02643"></a><span class="lineno"> 2643</span> <span class="keywordflow">return</span> retMask ;</div>
-<div class="line"><a name="l02644"></a><span class="lineno"> 2644</span> }</div>
-<div class="line"><a name="l02645"></a><span class="lineno"> 2645</span> </div>
-<div class="line"><a name="l02654"></a><span class="lineno"> 2654</span> cpl_image * sinfo_new_slice_cube (cpl_imagelist * cube, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y )</div>
-<div class="line"><a name="l02655"></a><span class="lineno"> 2655</span> {</div>
-<div class="line"><a name="l02656"></a><span class="lineno"> 2656</span> cpl_image * retImage=NULL ;</div>
-<div class="line"><a name="l02657"></a><span class="lineno"> 2657</span> <span class="keywordtype">int</span> col=0, row=0, z=0 ;</div>
-<div class="line"><a name="l02658"></a><span class="lineno"> 2658</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l02659"></a><span class="lineno"> 2659</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l02660"></a><span class="lineno"> 2660</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l02661"></a><span class="lineno"> 2661</span> cpl_image* img=NULL;</div>
-<div class="line"><a name="l02662"></a><span class="lineno"> 2662</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l02663"></a><span class="lineno"> 2663</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l02664"></a><span class="lineno"> 2664</span> </div>
-<div class="line"><a name="l02665"></a><span class="lineno"> 2665</span> <span class="keywordflow">if</span> ( cube == NULL )</div>
-<div class="line"><a name="l02666"></a><span class="lineno"> 2666</span> {</div>
-<div class="line"><a name="l02667"></a><span class="lineno"> 2667</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no cube given!"</span>) ;</div>
-<div class="line"><a name="l02668"></a><span class="lineno"> 2668</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02669"></a><span class="lineno"> 2669</span> }</div>
-<div class="line"><a name="l02670"></a><span class="lineno"> 2670</span> <span class="keywordflow">if</span> ( x > 31 || y > 31 )</div>
-<div class="line"><a name="l02671"></a><span class="lineno"> 2671</span> {</div>
-<div class="line"><a name="l02672"></a><span class="lineno"> 2672</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"wrong x or y values!"</span>) ;</div>
-<div class="line"><a name="l02673"></a><span class="lineno"> 2673</span> }</div>
-<div class="line"><a name="l02674"></a><span class="lineno"> 2674</span> </div>
-<div class="line"><a name="l02675"></a><span class="lineno"> 2675</span> img=cpl_imagelist_get(cube,0);</div>
-<div class="line"><a name="l02676"></a><span class="lineno"> 2676</span> ilx=cpl_image_get_size_x(img);</div>
-<div class="line"><a name="l02677"></a><span class="lineno"> 2677</span> ily=cpl_image_get_size_y(img);</div>
-<div class="line"><a name="l02678"></a><span class="lineno"> 2678</span> inp=cpl_imagelist_get_size(cube);</div>
-<div class="line"><a name="l02679"></a><span class="lineno"> 2679</span> <span class="keywordflow">if</span> ( x < 0 )</div>
-<div class="line"><a name="l02680"></a><span class="lineno"> 2680</span> {</div>
-<div class="line"><a name="l02681"></a><span class="lineno"> 2681</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l02682"></a><span class="lineno"> 2682</span> <span class="keywordflow">if</span> ( NULL == (retImage = cpl_image_new(ilx, inp, CPL_TYPE_FLOAT)) )</div>
-<div class="line"><a name="l02683"></a><span class="lineno"> 2683</span> {</div>
-<div class="line"><a name="l02684"></a><span class="lineno"> 2684</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not allocate memory!"</span>) ;</div>
-<div class="line"><a name="l02685"></a><span class="lineno"> 2685</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02686"></a><span class="lineno"> 2686</span> }</div>
-<div class="line"><a name="l02687"></a><span class="lineno"> 2687</span> podata=cpl_image_get_data_float(retImage);</div>
-<div class="line"><a name="l02688"></a><span class="lineno"> 2688</span> <span class="keywordflow">for</span> ( z = 0 ; z < inp ; z++ )</div>
-<div class="line"><a name="l02689"></a><span class="lineno"> 2689</span> {</div>
-<div class="line"><a name="l02690"></a><span class="lineno"> 2690</span> </div>
-<div class="line"><a name="l02691"></a><span class="lineno"> 2691</span> pidata=cpl_image_get_data_float(cpl_imagelist_get(cube,z));</div>
-<div class="line"><a name="l02692"></a><span class="lineno"> 2692</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l02693"></a><span class="lineno"> 2693</span> {</div>
-<div class="line"><a name="l02694"></a><span class="lineno"> 2694</span> podata[col+z*ilx] = pidata[col+y*ilx] ;</div>
-<div class="line"><a name="l02695"></a><span class="lineno"> 2695</span> }</div>
-<div class="line"><a name="l02696"></a><span class="lineno"> 2696</span> }</div>
-<div class="line"><a name="l02697"></a><span class="lineno"> 2697</span> }</div>
-<div class="line"><a name="l02698"></a><span class="lineno"> 2698</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( y < 0 )</div>
-<div class="line"><a name="l02699"></a><span class="lineno"> 2699</span> {</div>
-<div class="line"><a name="l02700"></a><span class="lineno"> 2700</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l02701"></a><span class="lineno"> 2701</span> <span class="keywordflow">if</span> ( NULL == (retImage = cpl_image_new(ily, inp,CPL_TYPE_FLOAT)) )</div>
-<div class="line"><a name="l02702"></a><span class="lineno"> 2702</span> {</div>
-<div class="line"><a name="l02703"></a><span class="lineno"> 2703</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not allocate memory!"</span>) ;</div>
-<div class="line"><a name="l02704"></a><span class="lineno"> 2704</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02705"></a><span class="lineno"> 2705</span> }</div>
-<div class="line"><a name="l02706"></a><span class="lineno"> 2706</span> podata=cpl_image_get_data_float(retImage);</div>
-<div class="line"><a name="l02707"></a><span class="lineno"> 2707</span> </div>
-<div class="line"><a name="l02708"></a><span class="lineno"> 2708</span> <span class="keywordflow">for</span> ( z = 0 ; z < inp ; z++ )</div>
-<div class="line"><a name="l02709"></a><span class="lineno"> 2709</span> {</div>
-<div class="line"><a name="l02710"></a><span class="lineno"> 2710</span> pidata=cpl_image_get_data_float(cpl_imagelist_get(cube,z));</div>
-<div class="line"><a name="l02711"></a><span class="lineno"> 2711</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l02712"></a><span class="lineno"> 2712</span> {</div>
-<div class="line"><a name="l02713"></a><span class="lineno"> 2713</span> podata[row+z*ily] = pidata[x+row*ily] ;</div>
-<div class="line"><a name="l02714"></a><span class="lineno"> 2714</span> }</div>
-<div class="line"><a name="l02715"></a><span class="lineno"> 2715</span> }</div>
-<div class="line"><a name="l02716"></a><span class="lineno"> 2716</span> }</div>
-<div class="line"><a name="l02717"></a><span class="lineno"> 2717</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02718"></a><span class="lineno"> 2718</span> {</div>
-<div class="line"><a name="l02719"></a><span class="lineno"> 2719</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong input!"</span>) ;</div>
-<div class="line"><a name="l02720"></a><span class="lineno"> 2720</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02721"></a><span class="lineno"> 2721</span> }</div>
-<div class="line"><a name="l02722"></a><span class="lineno"> 2722</span> <span class="keywordflow">return</span> retImage ;</div>
-<div class="line"><a name="l02723"></a><span class="lineno"> 2723</span> }</div>
-<div class="line"><a name="l02724"></a><span class="lineno"> 2724</span> </div>
-<div class="line"><a name="l02736"></a><span class="lineno"> 2736</span> cpl_image * sinfo_new_div_images_robust ( cpl_image * im1, cpl_image * im2 )</div>
-<div class="line"><a name="l02737"></a><span class="lineno"> 2737</span> {</div>
-<div class="line"><a name="l02738"></a><span class="lineno"> 2738</span> cpl_image * retIm=NULL ;</div>
-<div class="line"><a name="l02739"></a><span class="lineno"> 2739</span> <span class="keywordtype">float</span> help=0 ;</div>
-<div class="line"><a name="l02740"></a><span class="lineno"> 2740</span> <span class="keywordtype">int</span> i=0 ;</div>
-<div class="line"><a name="l02741"></a><span class="lineno"> 2741</span> <span class="keywordtype">int</span> lx1=0;</div>
-<div class="line"><a name="l02742"></a><span class="lineno"> 2742</span> <span class="keywordtype">int</span> ly1=0;</div>
-<div class="line"><a name="l02743"></a><span class="lineno"> 2743</span> <span class="keywordtype">int</span> lx2=0;</div>
-<div class="line"><a name="l02744"></a><span class="lineno"> 2744</span> <span class="keywordtype">int</span> ly2=0;</div>
-<div class="line"><a name="l02745"></a><span class="lineno"> 2745</span> </div>
-<div class="line"><a name="l02746"></a><span class="lineno"> 2746</span> <span class="keywordtype">float</span>* p1data=NULL;</div>
-<div class="line"><a name="l02747"></a><span class="lineno"> 2747</span> <span class="keywordtype">float</span>* p2data=NULL;</div>
-<div class="line"><a name="l02748"></a><span class="lineno"> 2748</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l02749"></a><span class="lineno"> 2749</span> </div>
-<div class="line"><a name="l02750"></a><span class="lineno"> 2750</span> <span class="keywordflow">if</span> ( im1 == NULL || im2 == NULL )</div>
-<div class="line"><a name="l02751"></a><span class="lineno"> 2751</span> {</div>
-<div class="line"><a name="l02752"></a><span class="lineno"> 2752</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no input images given!"</span>) ;</div>
-<div class="line"><a name="l02753"></a><span class="lineno"> 2753</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02754"></a><span class="lineno"> 2754</span> }</div>
-<div class="line"><a name="l02755"></a><span class="lineno"> 2755</span> lx1=cpl_image_get_size_x(im1);</div>
-<div class="line"><a name="l02756"></a><span class="lineno"> 2756</span> ly1=cpl_image_get_size_y(im1);</div>
-<div class="line"><a name="l02757"></a><span class="lineno"> 2757</span> lx2=cpl_image_get_size_x(im2);</div>
-<div class="line"><a name="l02758"></a><span class="lineno"> 2758</span> ly2=cpl_image_get_size_y(im2);</div>
-<div class="line"><a name="l02759"></a><span class="lineno"> 2759</span> p1data=cpl_image_get_data_float(im1);</div>
-<div class="line"><a name="l02760"></a><span class="lineno"> 2760</span> p2data=cpl_image_get_data_float(im2);</div>
-<div class="line"><a name="l02761"></a><span class="lineno"> 2761</span> </div>
-<div class="line"><a name="l02762"></a><span class="lineno"> 2762</span> <span class="keywordflow">if</span> ( lx1 != lx2 || ly1 != ly2 )</div>
-<div class="line"><a name="l02763"></a><span class="lineno"> 2763</span> {</div>
-<div class="line"><a name="l02764"></a><span class="lineno"> 2764</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"images not compatible!"</span>) ;</div>
-<div class="line"><a name="l02765"></a><span class="lineno"> 2765</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02766"></a><span class="lineno"> 2766</span> }</div>
-<div class="line"><a name="l02767"></a><span class="lineno"> 2767</span> <span class="keywordflow">if</span> ( NULL == (retIm = cpl_image_new(lx1, ly1, CPL_TYPE_FLOAT)) )</div>
-<div class="line"><a name="l02768"></a><span class="lineno"> 2768</span> {</div>
-<div class="line"><a name="l02769"></a><span class="lineno"> 2769</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not allocate memory!"</span>) ;</div>
-<div class="line"><a name="l02770"></a><span class="lineno"> 2770</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02771"></a><span class="lineno"> 2771</span> }</div>
-<div class="line"><a name="l02772"></a><span class="lineno"> 2772</span> podata=cpl_image_get_data_float(retIm);</div>
-<div class="line"><a name="l02773"></a><span class="lineno"> 2773</span> </div>
-<div class="line"><a name="l02774"></a><span class="lineno"> 2774</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) lx2*ly2 ; i++ )</div>
-<div class="line"><a name="l02775"></a><span class="lineno"> 2775</span> {</div>
-<div class="line"><a name="l02776"></a><span class="lineno"> 2776</span> <span class="keywordflow">if</span> ( !isnan(p2data[i]) )</div>
-<div class="line"><a name="l02777"></a><span class="lineno"> 2777</span> {</div>
-<div class="line"><a name="l02778"></a><span class="lineno"> 2778</span> help = 1./p2data[i] ;</div>
-<div class="line"><a name="l02779"></a><span class="lineno"> 2779</span> <span class="keywordflow">if</span> (fabs( help )> THRESH )</div>
-<div class="line"><a name="l02780"></a><span class="lineno"> 2780</span> {</div>
-<div class="line"><a name="l02781"></a><span class="lineno"> 2781</span> help = 1. ;</div>
-<div class="line"><a name="l02782"></a><span class="lineno"> 2782</span> }</div>
-<div class="line"><a name="l02783"></a><span class="lineno"> 2783</span> }</div>
-<div class="line"><a name="l02784"></a><span class="lineno"> 2784</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02785"></a><span class="lineno"> 2785</span> {</div>
-<div class="line"><a name="l02786"></a><span class="lineno"> 2786</span> help = ZERO ;</div>
-<div class="line"><a name="l02787"></a><span class="lineno"> 2787</span> }</div>
-<div class="line"><a name="l02788"></a><span class="lineno"> 2788</span> <span class="keywordflow">if</span> ( isnan(help) || isnan(p1data[i]) )</div>
-<div class="line"><a name="l02789"></a><span class="lineno"> 2789</span> {</div>
-<div class="line"><a name="l02790"></a><span class="lineno"> 2790</span> podata[i] = ZERO ;</div>
-<div class="line"><a name="l02791"></a><span class="lineno"> 2791</span> }</div>
-<div class="line"><a name="l02792"></a><span class="lineno"> 2792</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02793"></a><span class="lineno"> 2793</span> {</div>
-<div class="line"><a name="l02794"></a><span class="lineno"> 2794</span> podata[i] = p1data[i] * help ;</div>
-<div class="line"><a name="l02795"></a><span class="lineno"> 2795</span> }</div>
-<div class="line"><a name="l02796"></a><span class="lineno"> 2796</span> }</div>
-<div class="line"><a name="l02797"></a><span class="lineno"> 2797</span> <span class="keywordflow">return</span> retIm ;</div>
-<div class="line"><a name="l02798"></a><span class="lineno"> 2798</span> }</div>
-<div class="line"><a name="l02799"></a><span class="lineno"> 2799</span> </div>
-<div class="line"><a name="l02800"></a><span class="lineno"> 2800</span> cpl_image * sinfo_new_null_edges ( cpl_image * image)</div>
-<div class="line"><a name="l02801"></a><span class="lineno"> 2801</span> {</div>
-<div class="line"><a name="l02802"></a><span class="lineno"> 2802</span> cpl_image * <span class="keyword">new</span>=NULL ;</div>
-<div class="line"><a name="l02803"></a><span class="lineno"> 2803</span> <span class="keywordtype">int</span> i=0,j=0 ;</div>
-<div class="line"><a name="l02804"></a><span class="lineno"> 2804</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l02805"></a><span class="lineno"> 2805</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l02806"></a><span class="lineno"> 2806</span> <span class="keywordtype">int</span> olx=0;</div>
-<div class="line"><a name="l02807"></a><span class="lineno"> 2807</span> <span class="keywordtype">int</span> oly=0;</div>
-<div class="line"><a name="l02808"></a><span class="lineno"> 2808</span> </div>
-<div class="line"><a name="l02809"></a><span class="lineno"> 2809</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l02810"></a><span class="lineno"> 2810</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l02811"></a><span class="lineno"> 2811</span> </div>
-<div class="line"><a name="l02812"></a><span class="lineno"> 2812</span> <span class="keywordflow">if</span> ( image == NULL )</div>
-<div class="line"><a name="l02813"></a><span class="lineno"> 2813</span> {</div>
-<div class="line"><a name="l02814"></a><span class="lineno"> 2814</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no input image given!\n"</span>) ;</div>
-<div class="line"><a name="l02815"></a><span class="lineno"> 2815</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02816"></a><span class="lineno"> 2816</span> }</div>
-<div class="line"><a name="l02817"></a><span class="lineno"> 2817</span> </div>
-<div class="line"><a name="l02818"></a><span class="lineno"> 2818</span> </div>
-<div class="line"><a name="l02819"></a><span class="lineno"> 2819</span> <span class="keyword">new</span> = cpl_image_duplicate (image) ;</div>
-<div class="line"><a name="l02820"></a><span class="lineno"> 2820</span> ilx=cpl_image_get_size_x(image);</div>
-<div class="line"><a name="l02821"></a><span class="lineno"> 2821</span> ily=cpl_image_get_size_y(image);</div>
-<div class="line"><a name="l02822"></a><span class="lineno"> 2822</span> olx=cpl_image_get_size_x(<span class="keyword">new</span>);</div>
-<div class="line"><a name="l02823"></a><span class="lineno"> 2823</span> oly=cpl_image_get_size_y(<span class="keyword">new</span>);</div>
-<div class="line"><a name="l02824"></a><span class="lineno"> 2824</span> pidata=cpl_image_get_data_float(image);</div>
-<div class="line"><a name="l02825"></a><span class="lineno"> 2825</span> podata=cpl_image_get_data_float(<span class="keyword">new</span>);</div>
-<div class="line"><a name="l02826"></a><span class="lineno"> 2826</span> </div>
-<div class="line"><a name="l02827"></a><span class="lineno"> 2827</span> <span class="keywordflow">for</span> ( i = 0 ; i < olx ; i++ )</div>
-<div class="line"><a name="l02828"></a><span class="lineno"> 2828</span> {</div>
-<div class="line"><a name="l02829"></a><span class="lineno"> 2829</span> <span class="keywordflow">for</span> ( j = 0 ; j < 4 ; j++)</div>
-<div class="line"><a name="l02830"></a><span class="lineno"> 2830</span> {</div>
-<div class="line"><a name="l02831"></a><span class="lineno"> 2831</span> podata[i+j*olx]=0;</div>
-<div class="line"><a name="l02832"></a><span class="lineno"> 2832</span> podata[i+(oly-j-1)*olx]=0;</div>
-<div class="line"><a name="l02833"></a><span class="lineno"> 2833</span> }</div>
-<div class="line"><a name="l02834"></a><span class="lineno"> 2834</span> }</div>
-<div class="line"><a name="l02835"></a><span class="lineno"> 2835</span> <span class="keywordflow">for</span> ( i = 0 ; i < oly ; i++ )</div>
-<div class="line"><a name="l02836"></a><span class="lineno"> 2836</span> {</div>
-<div class="line"><a name="l02837"></a><span class="lineno"> 2837</span> <span class="keywordflow">for</span> ( j = 0 ; j < 4 ; j++)</div>
-<div class="line"><a name="l02838"></a><span class="lineno"> 2838</span> {</div>
-<div class="line"><a name="l02839"></a><span class="lineno"> 2839</span> podata[j+i*olx]=0;</div>
-<div class="line"><a name="l02840"></a><span class="lineno"> 2840</span> podata[(olx-j-1)+i*olx]=0;</div>
-<div class="line"><a name="l02841"></a><span class="lineno"> 2841</span> }</div>
-<div class="line"><a name="l02842"></a><span class="lineno"> 2842</span> }</div>
-<div class="line"><a name="l02843"></a><span class="lineno"> 2843</span> <span class="keywordflow">return</span> new ;</div>
-<div class="line"><a name="l02844"></a><span class="lineno"> 2844</span> }</div>
-<div class="line"><a name="l02845"></a><span class="lineno"> 2845</span> </div>
-<div class="line"><a name="l02846"></a><span class="lineno"> 2846</span> </div>
-<div class="line"><a name="l02847"></a><span class="lineno"> 2847</span> <span class="keywordtype">void</span> sinfo_new_used_cor_map( cpl_image *im, cpl_image *map)</div>
-<div class="line"><a name="l02848"></a><span class="lineno"> 2848</span> {</div>
-<div class="line"><a name="l02849"></a><span class="lineno"> 2849</span> <span class="keywordtype">int</span> i=0,j=0,loc_index=0;</div>
-<div class="line"><a name="l02850"></a><span class="lineno"> 2850</span> <span class="keywordtype">float</span> temp_array[2048];</div>
-<div class="line"><a name="l02851"></a><span class="lineno"> 2851</span> <span class="keywordtype">int</span> lx=cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l02852"></a><span class="lineno"> 2852</span> <span class="keywordtype">int</span> ly=cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l02853"></a><span class="lineno"> 2853</span> <span class="keywordtype">float</span>* pidata=cpl_image_get_data_float(im);</div>
-<div class="line"><a name="l02854"></a><span class="lineno"> 2854</span> <span class="keywordtype">float</span>* pmdata=cpl_image_get_data_float(map);</div>
-<div class="line"><a name="l02855"></a><span class="lineno"> 2855</span> </div>
-<div class="line"><a name="l02856"></a><span class="lineno"> 2856</span> <span class="keywordflow">for</span>( j=0; j<ly; j++)</div>
-<div class="line"><a name="l02857"></a><span class="lineno"> 2857</span> {</div>
-<div class="line"><a name="l02858"></a><span class="lineno"> 2858</span> <span class="keywordflow">for</span>( i=0;i<lx;i++)</div>
-<div class="line"><a name="l02859"></a><span class="lineno"> 2859</span> {</div>
-<div class="line"><a name="l02860"></a><span class="lineno"> 2860</span> loc_index = (int)pmdata[i+j*lx];</div>
-<div class="line"><a name="l02861"></a><span class="lineno"> 2861</span> temp_array[i] = pidata[loc_index+j*lx];</div>
-<div class="line"><a name="l02862"></a><span class="lineno"> 2862</span> }</div>
-<div class="line"><a name="l02863"></a><span class="lineno"> 2863</span> <span class="keywordflow">for</span>( i=0;i<lx;i++)</div>
-<div class="line"><a name="l02864"></a><span class="lineno"> 2864</span> {</div>
-<div class="line"><a name="l02865"></a><span class="lineno"> 2865</span> pidata[i+j*lx]= temp_array[i];</div>
-<div class="line"><a name="l02866"></a><span class="lineno"> 2866</span> }</div>
-<div class="line"><a name="l02867"></a><span class="lineno"> 2867</span> }</div>
-<div class="line"><a name="l02868"></a><span class="lineno"> 2868</span> }</div>
-<div class="line"><a name="l02869"></a><span class="lineno"> 2869</span> </div>
-<div class="line"><a name="l02870"></a><span class="lineno"> 2870</span> </div>
-<div class="line"><a name="l02871"></a><span class="lineno"> 2871</span> </div>
-<div class="line"><a name="l02872"></a><span class="lineno"> 2872</span> </div>
-<div class="line"><a name="l02873"></a><span class="lineno"> 2873</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02896"></a><span class="lineno"> 2896</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02897"></a><span class="lineno"> 2897</span> </div>
-<div class="line"><a name="l02898"></a><span class="lineno"> 2898</span> cpl_image *</div>
-<div class="line"><a name="l02899"></a><span class="lineno"> 2899</span> sinfo_new_shift_image(</div>
-<div class="line"><a name="l02900"></a><span class="lineno"> 2900</span> cpl_image * image_in,</div>
-<div class="line"><a name="l02901"></a><span class="lineno"> 2901</span> <span class="keywordtype">double</span> shift_x,</div>
-<div class="line"><a name="l02902"></a><span class="lineno"> 2902</span> <span class="keywordtype">double</span> shift_y,</div>
-<div class="line"><a name="l02903"></a><span class="lineno"> 2903</span> <span class="keywordtype">double</span> * interp_kernel)</div>
-<div class="line"><a name="l02904"></a><span class="lineno"> 2904</span> {</div>
-<div class="line"><a name="l02905"></a><span class="lineno"> 2905</span> cpl_image * shifted=NULL ;</div>
-<div class="line"><a name="l02906"></a><span class="lineno"> 2906</span> <span class="keywordtype">float</span> * first_pass=NULL ;</div>
-<div class="line"><a name="l02907"></a><span class="lineno"> 2907</span> <span class="keywordtype">float</span> * second_pass=NULL ;</div>
-<div class="line"><a name="l02908"></a><span class="lineno"> 2908</span> <span class="keywordtype">int</span> samples = KERNEL_SAMPLES ;</div>
-<div class="line"><a name="l02909"></a><span class="lineno"> 2909</span> <span class="keywordtype">int</span> i=0, j=0 ;</div>
-<div class="line"><a name="l02910"></a><span class="lineno"> 2910</span> <span class="keywordtype">double</span> fx=0, fy=0 ;</div>
-<div class="line"><a name="l02911"></a><span class="lineno"> 2911</span> <span class="keywordtype">double</span> rx=0, ry=0 ;</div>
-<div class="line"><a name="l02912"></a><span class="lineno"> 2912</span> <span class="keywordtype">int</span> px=0, py=0 ;</div>
-<div class="line"><a name="l02913"></a><span class="lineno"> 2913</span> <span class="keywordtype">int</span> tabx=0, taby=0 ;</div>
-<div class="line"><a name="l02914"></a><span class="lineno"> 2914</span> <span class="keywordtype">double</span> value=0 ;</div>
-<div class="line"><a name="l02915"></a><span class="lineno"> 2915</span> <span class="keywordtype">size_t</span> pos ;</div>
-<div class="line"><a name="l02916"></a><span class="lineno"> 2916</span> <span class="keyword">register</span> <span class="keywordtype">float</span> * pix=NULL ;</div>
-<div class="line"><a name="l02917"></a><span class="lineno"> 2917</span> <span class="keyword">register</span> <span class="keywordtype">float</span> * pixint=NULL ;</div>
-<div class="line"><a name="l02918"></a><span class="lineno"> 2918</span> <span class="keywordtype">int</span> mid=0;</div>
-<div class="line"><a name="l02919"></a><span class="lineno"> 2919</span> <span class="keywordtype">double</span> norm=0 ;</div>
-<div class="line"><a name="l02920"></a><span class="lineno"> 2920</span> <span class="keywordtype">double</span> * ker=NULL ;</div>
-<div class="line"><a name="l02921"></a><span class="lineno"> 2921</span> <span class="keywordtype">int</span> freeKernel = 1 ;</div>
-<div class="line"><a name="l02922"></a><span class="lineno"> 2922</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l02923"></a><span class="lineno"> 2923</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l02924"></a><span class="lineno"> 2924</span> </div>
-<div class="line"><a name="l02925"></a><span class="lineno"> 2925</span> <span class="comment">/* error handling: test entries */</span></div>
-<div class="line"><a name="l02926"></a><span class="lineno"> 2926</span> <span class="keywordflow">if</span> (image_in==NULL) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02927"></a><span class="lineno"> 2927</span> </div>
-<div class="line"><a name="l02928"></a><span class="lineno"> 2928</span> <span class="comment">/* Shifting by a zero offset returns a copy of the input image */</span></div>
-<div class="line"><a name="l02929"></a><span class="lineno"> 2929</span> <span class="keywordflow">if</span> ((fabs(shift_x)<1e-2) && (fabs(shift_y)<1e-2))</div>
-<div class="line"><a name="l02930"></a><span class="lineno"> 2930</span> <span class="keywordflow">return</span> cpl_image_duplicate(image_in) ;</div>
-<div class="line"><a name="l02931"></a><span class="lineno"> 2931</span> </div>
-<div class="line"><a name="l02932"></a><span class="lineno"> 2932</span> <span class="comment">/* See if a kernel needs to be generated */</span></div>
-<div class="line"><a name="l02933"></a><span class="lineno"> 2933</span> <span class="keywordflow">if</span> (interp_kernel == NULL) {</div>
-<div class="line"><a name="l02934"></a><span class="lineno"> 2934</span> ker = sinfo_generate_interpolation_kernel(<span class="stringliteral">"default"</span>) ;</div>
-<div class="line"><a name="l02935"></a><span class="lineno"> 2935</span> <span class="keywordflow">if</span> (ker == NULL) {</div>
-<div class="line"><a name="l02936"></a><span class="lineno"> 2936</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"kernel generation failure: aborting resampling"</span>) ;</div>
-<div class="line"><a name="l02937"></a><span class="lineno"> 2937</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02938"></a><span class="lineno"> 2938</span> }</div>
-<div class="line"><a name="l02939"></a><span class="lineno"> 2939</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l02940"></a><span class="lineno"> 2940</span> ker = interp_kernel ;</div>
-<div class="line"><a name="l02941"></a><span class="lineno"> 2941</span> freeKernel = 0 ;</div>
-<div class="line"><a name="l02942"></a><span class="lineno"> 2942</span> }</div>
-<div class="line"><a name="l02943"></a><span class="lineno"> 2943</span> </div>
-<div class="line"><a name="l02944"></a><span class="lineno"> 2944</span> ilx=cpl_image_get_size_x(image_in);</div>
-<div class="line"><a name="l02945"></a><span class="lineno"> 2945</span> ily=cpl_image_get_size_y(image_in);</div>
-<div class="line"><a name="l02946"></a><span class="lineno"> 2946</span> </div>
-<div class="line"><a name="l02947"></a><span class="lineno"> 2947</span> </div>
-<div class="line"><a name="l02948"></a><span class="lineno"> 2948</span> pix = cpl_image_get_data_float(image_in);</div>
-<div class="line"><a name="l02949"></a><span class="lineno"> 2949</span> <span class="keywordflow">if</span> (pix)</div>
-<div class="line"><a name="l02950"></a><span class="lineno"> 2950</span> {</div>
-<div class="line"><a name="l02951"></a><span class="lineno"> 2951</span> mid = (int)samples/(<span class="keywordtype">int</span>)2 ;</div>
-<div class="line"><a name="l02952"></a><span class="lineno"> 2952</span> first_pass = cpl_calloc(ilx, ily*<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02953"></a><span class="lineno"> 2953</span> shifted = cpl_image_new(ilx, ily,CPL_TYPE_FLOAT) ;</div>
-<div class="line"><a name="l02954"></a><span class="lineno"> 2954</span> second_pass = cpl_image_get_data_float(shifted);</div>
-<div class="line"><a name="l02955"></a><span class="lineno"> 2955</span> <span class="keywordflow">for</span> (j=0 ; j<ily ; j++) {</div>
-<div class="line"><a name="l02956"></a><span class="lineno"> 2956</span> <span class="keywordflow">for</span> (i=1 ; i<ilx-2 ; i++) {</div>
-<div class="line"><a name="l02957"></a><span class="lineno"> 2957</span> fx = (double)i-shift_x ;</div>
-<div class="line"><a name="l02958"></a><span class="lineno"> 2958</span> px = (int)fx ;</div>
-<div class="line"><a name="l02959"></a><span class="lineno"> 2959</span> rx = fx - (double)px ;</div>
-<div class="line"><a name="l02960"></a><span class="lineno"> 2960</span> </div>
-<div class="line"><a name="l02961"></a><span class="lineno"> 2961</span> pos = px + j * ilx ;</div>
-<div class="line"><a name="l02962"></a><span class="lineno"> 2962</span> </div>
-<div class="line"><a name="l02963"></a><span class="lineno"> 2963</span> <span class="keywordflow">if</span> ((px>1) && (px<(ilx-3))) {</div>
-<div class="line"><a name="l02964"></a><span class="lineno"> 2964</span> tabx = (int)(fabs((<span class="keywordtype">double</span>)mid * rx)) ;</div>
-<div class="line"><a name="l02965"></a><span class="lineno"> 2965</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02966"></a><span class="lineno"> 2966</span> <span class="comment"> * Sum up over 4 closest pixel values,</span></div>
-<div class="line"><a name="l02967"></a><span class="lineno"> 2967</span> <span class="comment"> * weighted by interpolation kernel values</span></div>
-<div class="line"><a name="l02968"></a><span class="lineno"> 2968</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02969"></a><span class="lineno"> 2969</span> value = (double)pix[pos-1] * ker[mid+tabx] +</div>
-<div class="line"><a name="l02970"></a><span class="lineno"> 2970</span> (<span class="keywordtype">double</span>)pix[pos] * ker[tabx] +</div>
-<div class="line"><a name="l02971"></a><span class="lineno"> 2971</span> (double)pix[pos+1] * ker[mid-tabx] +</div>
-<div class="line"><a name="l02972"></a><span class="lineno"> 2972</span> (<span class="keywordtype">double</span>)pix[pos+2] * ker[samples-tabx-1] ;</div>
-<div class="line"><a name="l02973"></a><span class="lineno"> 2973</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02974"></a><span class="lineno"> 2974</span> <span class="comment"> * Also sum up interpolation kernel coefficients</span></div>
-<div class="line"><a name="l02975"></a><span class="lineno"> 2975</span> <span class="comment"> * for further normalization</span></div>
-<div class="line"><a name="l02976"></a><span class="lineno"> 2976</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02977"></a><span class="lineno"> 2977</span> norm = (<span class="keywordtype">double</span>)ker[mid+tabx] +</div>
-<div class="line"><a name="l02978"></a><span class="lineno"> 2978</span> (<span class="keywordtype">double</span>)ker[tabx] +</div>
-<div class="line"><a name="l02979"></a><span class="lineno"> 2979</span> (<span class="keywordtype">double</span>)ker[mid-tabx] +</div>
-<div class="line"><a name="l02980"></a><span class="lineno"> 2980</span> (<span class="keywordtype">double</span>)ker[samples-tabx-1] ;</div>
-<div class="line"><a name="l02981"></a><span class="lineno"> 2981</span> if (fabs(norm) > 1e-4) {</div>
-<div class="line"><a name="l02982"></a><span class="lineno"> 2982</span> value /= norm ;</div>
-<div class="line"><a name="l02983"></a><span class="lineno"> 2983</span> }</div>
-<div class="line"><a name="l02984"></a><span class="lineno"> 2984</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l02985"></a><span class="lineno"> 2985</span> value = 0.0 ;</div>
-<div class="line"><a name="l02986"></a><span class="lineno"> 2986</span> }</div>
-<div class="line"><a name="l02987"></a><span class="lineno"> 2987</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02988"></a><span class="lineno"> 2988</span> <span class="comment"> * There may be a problem of rounding here if pixelvalue</span></div>
-<div class="line"><a name="l02989"></a><span class="lineno"> 2989</span> <span class="comment"> * has not enough bits to sustain the accuracy.</span></div>
-<div class="line"><a name="l02990"></a><span class="lineno"> 2990</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02991"></a><span class="lineno"> 2991</span> first_pass[i+j*ilx] = (float)value ;</div>
-<div class="line"><a name="l02992"></a><span class="lineno"> 2992</span> }</div>
-<div class="line"><a name="l02993"></a><span class="lineno"> 2993</span> }</div>
-<div class="line"><a name="l02994"></a><span class="lineno"> 2994</span> pixint = first_pass ;</div>
-<div class="line"><a name="l02995"></a><span class="lineno"> 2995</span> <span class="keywordflow">for</span> (i=0 ; i<ilx ; i++) {</div>
-<div class="line"><a name="l02996"></a><span class="lineno"> 2996</span> <span class="keywordflow">for</span> (j=1 ; j<ily-3 ; j++) {</div>
-<div class="line"><a name="l02997"></a><span class="lineno"> 2997</span> fy = (double)j - shift_y ;</div>
-<div class="line"><a name="l02998"></a><span class="lineno"> 2998</span> py = (int)fy ;</div>
-<div class="line"><a name="l02999"></a><span class="lineno"> 2999</span> ry = fy - (double)py ;</div>
-<div class="line"><a name="l03000"></a><span class="lineno"> 3000</span> pos = i + py * ilx ;</div>
-<div class="line"><a name="l03001"></a><span class="lineno"> 3001</span> </div>
-<div class="line"><a name="l03002"></a><span class="lineno"> 3002</span> taby = (int)(fabs((<span class="keywordtype">double</span>)mid * ry)) ;</div>
-<div class="line"><a name="l03003"></a><span class="lineno"> 3003</span> </div>
-<div class="line"><a name="l03004"></a><span class="lineno"> 3004</span> <span class="keywordflow">if</span> ((py>(<span class="keywordtype">int</span>)1) && (py<(ily-2))) {</div>
-<div class="line"><a name="l03005"></a><span class="lineno"> 3005</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l03006"></a><span class="lineno"> 3006</span> <span class="comment"> * Sum up over 4 closest pixel values,</span></div>
-<div class="line"><a name="l03007"></a><span class="lineno"> 3007</span> <span class="comment"> * weighted by interpolation kernel values</span></div>
-<div class="line"><a name="l03008"></a><span class="lineno"> 3008</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03009"></a><span class="lineno"> 3009</span> value = (double)pixint[pos-ilx] * ker[mid+taby] +</div>
-<div class="line"><a name="l03010"></a><span class="lineno"> 3010</span> (<span class="keywordtype">double</span>)pixint[pos] * ker[taby] +</div>
-<div class="line"><a name="l03011"></a><span class="lineno"> 3011</span> (double)pixint[pos+ilx] * ker[mid-taby] +</div>
-<div class="line"><a name="l03012"></a><span class="lineno"> 3012</span> (<span class="keywordtype">double</span>)pixint[pos+2*ilx]*ker[samples-taby-1];</div>
-<div class="line"><a name="l03013"></a><span class="lineno"> 3013</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l03014"></a><span class="lineno"> 3014</span> <span class="comment"> * Also sum up interpolation kernel coefficients</span></div>
-<div class="line"><a name="l03015"></a><span class="lineno"> 3015</span> <span class="comment"> * for further normalization</span></div>
-<div class="line"><a name="l03016"></a><span class="lineno"> 3016</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03017"></a><span class="lineno"> 3017</span> norm = (<span class="keywordtype">double</span>)ker[mid+taby] +</div>
-<div class="line"><a name="l03018"></a><span class="lineno"> 3018</span> (<span class="keywordtype">double</span>)ker[taby] +</div>
-<div class="line"><a name="l03019"></a><span class="lineno"> 3019</span> (<span class="keywordtype">double</span>)ker[mid-taby] +</div>
-<div class="line"><a name="l03020"></a><span class="lineno"> 3020</span> (<span class="keywordtype">double</span>)ker[samples-taby-1] ;</div>
-<div class="line"><a name="l03021"></a><span class="lineno"> 3021</span> </div>
-<div class="line"><a name="l03022"></a><span class="lineno"> 3022</span> if (fabs(norm) > 1e-4) {</div>
-<div class="line"><a name="l03023"></a><span class="lineno"> 3023</span> value /= norm ;</div>
-<div class="line"><a name="l03024"></a><span class="lineno"> 3024</span> }</div>
-<div class="line"><a name="l03025"></a><span class="lineno"> 3025</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l03026"></a><span class="lineno"> 3026</span> value = 0.0 ;</div>
-<div class="line"><a name="l03027"></a><span class="lineno"> 3027</span> }</div>
-<div class="line"><a name="l03028"></a><span class="lineno"> 3028</span> second_pass[i+j*ilx] = (float)value ;</div>
-<div class="line"><a name="l03029"></a><span class="lineno"> 3029</span> }</div>
-<div class="line"><a name="l03030"></a><span class="lineno"> 3030</span> }</div>
-<div class="line"><a name="l03031"></a><span class="lineno"> 3031</span> }</div>
-<div class="line"><a name="l03032"></a><span class="lineno"> 3032</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03033"></a><span class="lineno"> 3033</span> {</div>
-<div class="line"><a name="l03034"></a><span class="lineno"> 3034</span> cpl_msg_warning(cpl_func, <span class="stringliteral">"cannot get a data from an image"</span>);</div>
-<div class="line"><a name="l03035"></a><span class="lineno"> 3035</span> }</div>
-<div class="line"><a name="l03036"></a><span class="lineno"> 3036</span> cpl_free(first_pass) ;</div>
-<div class="line"><a name="l03037"></a><span class="lineno"> 3037</span> <span class="keywordflow">if</span> (freeKernel)</div>
-<div class="line"><a name="l03038"></a><span class="lineno"> 3038</span> cpl_free(ker) ;</div>
-<div class="line"><a name="l03039"></a><span class="lineno"> 3039</span> <span class="keywordflow">return</span> shifted ;</div>
-<div class="line"><a name="l03040"></a><span class="lineno"> 3040</span> }</div>
-<div class="line"><a name="l03041"></a><span class="lineno"> 3041</span> </div>
-<div class="line"><a name="l03042"></a><span class="lineno"> 3042</span> </div>
-<div class="line"><a name="l03043"></a><span class="lineno"> 3043</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03057"></a><span class="lineno"> 3057</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03058"></a><span class="lineno"> 3058</span> </div>
-<div class="line"><a name="l03059"></a><span class="lineno"> 3059</span> cpl_image *</div>
-<div class="line"><a name="l03060"></a><span class="lineno"> 3060</span> sinfo_image_hermite_interpol(cpl_image * inp)</div>
-<div class="line"><a name="l03061"></a><span class="lineno"> 3061</span> {</div>
-<div class="line"><a name="l03062"></a><span class="lineno"> 3062</span> </div>
-<div class="line"><a name="l03063"></a><span class="lineno"> 3063</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l03064"></a><span class="lineno"> 3064</span> <span class="comment"> @param xp x-value to interpolate</span></div>
-<div class="line"><a name="l03065"></a><span class="lineno"> 3065</span> <span class="comment"> @param x x-values</span></div>
-<div class="line"><a name="l03066"></a><span class="lineno"> 3066</span> <span class="comment"> @param y y-values</span></div>
-<div class="line"><a name="l03067"></a><span class="lineno"> 3067</span> <span class="comment"> @param n array length</span></div>
-<div class="line"><a name="l03068"></a><span class="lineno"> 3068</span> <span class="comment"> @param istart (input/output) initial row (set to 0 to search all row)</span></div>
-<div class="line"><a name="l03069"></a><span class="lineno"> 3069</span> <span class="comment"></span></div>
-<div class="line"><a name="l03070"></a><span class="lineno"> 3070</span> <span class="comment"> sinfo_spline_hermite( double xp, const double *x,</span></div>
-<div class="line"><a name="l03071"></a><span class="lineno"> 3071</span> <span class="comment"> const double *y, int n, int *istart );</span></div>
-<div class="line"><a name="l03072"></a><span class="lineno"> 3072</span> <span class="comment"></span></div>
-<div class="line"><a name="l03073"></a><span class="lineno"> 3073</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03074"></a><span class="lineno"> 3074</span> <span class="keywordtype">float</span>* pinp=NULL;</div>
-<div class="line"><a name="l03075"></a><span class="lineno"> 3075</span> <span class="keywordtype">float</span>* pout=NULL;</div>
-<div class="line"><a name="l03076"></a><span class="lineno"> 3076</span> <span class="keywordtype">int</span> sx=0;</div>
-<div class="line"><a name="l03077"></a><span class="lineno"> 3077</span> <span class="keywordtype">int</span> sy=0;</div>
-<div class="line"><a name="l03078"></a><span class="lineno"> 3078</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l03079"></a><span class="lineno"> 3079</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l03080"></a><span class="lineno"> 3080</span> <span class="keywordtype">int</span> r=5;</div>
-<div class="line"><a name="l03081"></a><span class="lineno"> 3081</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l03082"></a><span class="lineno"> 3082</span> </div>
-<div class="line"><a name="l03083"></a><span class="lineno"> 3083</span> cpl_image* out=NULL;</div>
-<div class="line"><a name="l03084"></a><span class="lineno"> 3084</span> </div>
-<div class="line"><a name="l03085"></a><span class="lineno"> 3085</span> cknull(inp,<span class="stringliteral">"Null in put image, exit"</span>);</div>
-<div class="line"><a name="l03086"></a><span class="lineno"> 3086</span> check_nomsg(out=cpl_image_duplicate(inp));</div>
-<div class="line"><a name="l03087"></a><span class="lineno"> 3087</span> check_nomsg(sx=cpl_image_get_size_x(inp));</div>
-<div class="line"><a name="l03088"></a><span class="lineno"> 3088</span> check_nomsg(sy=cpl_image_get_size_y(inp));</div>
-<div class="line"><a name="l03089"></a><span class="lineno"> 3089</span> check_nomsg(pinp=cpl_image_get_data_float(inp));</div>
-<div class="line"><a name="l03090"></a><span class="lineno"> 3090</span> check_nomsg(pout=cpl_image_get_data_float(out));</div>
-<div class="line"><a name="l03091"></a><span class="lineno"> 3091</span> <span class="keywordflow">for</span>(j=r;j<sy-r;j++) {</div>
-<div class="line"><a name="l03092"></a><span class="lineno"> 3092</span> <span class="keywordflow">for</span>(i=0;i<sx;i++) {</div>
-<div class="line"><a name="l03093"></a><span class="lineno"> 3093</span> <span class="keywordflow">for</span>(k=-r;k<r;k++) {</div>
-<div class="line"><a name="l03094"></a><span class="lineno"> 3094</span> pout[j*sx+i]+=pinp[(j+k)*sx+i];</div>
-<div class="line"><a name="l03095"></a><span class="lineno"> 3095</span> }</div>
-<div class="line"><a name="l03096"></a><span class="lineno"> 3096</span> pout[j*sx+i]/=2*r;</div>
-<div class="line"><a name="l03097"></a><span class="lineno"> 3097</span> }</div>
-<div class="line"><a name="l03098"></a><span class="lineno"> 3098</span> }</div>
-<div class="line"><a name="l03099"></a><span class="lineno"> 3099</span> </div>
-<div class="line"><a name="l03100"></a><span class="lineno"> 3100</span> cleanup:</div>
-<div class="line"><a name="l03101"></a><span class="lineno"> 3101</span> </div>
-<div class="line"><a name="l03102"></a><span class="lineno"> 3102</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l03103"></a><span class="lineno"> 3103</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l03104"></a><span class="lineno"> 3104</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l03105"></a><span class="lineno"> 3105</span> <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l03106"></a><span class="lineno"> 3106</span> </div>
-<div class="line"><a name="l03107"></a><span class="lineno"> 3107</span> }</div>
-<div class="line"><a name="l03108"></a><span class="lineno"> 3108</span> </div>
-<div class="line"><a name="l03109"></a><span class="lineno"> 3109</span> }</div>
-<div class="line"><a name="l03110"></a><span class="lineno"> 3110</span> </div>
-<div class="line"><a name="l03111"></a><span class="lineno"> 3111</span> </div>
-<div class="line"><a name="l03112"></a><span class="lineno"> 3112</span> </div>
-<div class="line"><a name="l03113"></a><span class="lineno"> 3113</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03127"></a><span class="lineno"> 3127</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03128"></a><span class="lineno"> 3128</span> </div>
-<div class="line"><a name="l03129"></a><span class="lineno"> 3129</span> cpl_image *</div>
-<div class="line"><a name="l03130"></a><span class="lineno"> 3130</span> sinfo_image_smooth_y(cpl_image * inp, <span class="keyword">const</span> <span class="keywordtype">int</span> r)</div>
-<div class="line"><a name="l03131"></a><span class="lineno"> 3131</span> {</div>
-<div class="line"><a name="l03132"></a><span class="lineno"> 3132</span> </div>
-<div class="line"><a name="l03133"></a><span class="lineno"> 3133</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l03134"></a><span class="lineno"> 3134</span> <span class="comment"> @param xp x-value to interpolate</span></div>
-<div class="line"><a name="l03135"></a><span class="lineno"> 3135</span> <span class="comment"> @param x x-values</span></div>
-<div class="line"><a name="l03136"></a><span class="lineno"> 3136</span> <span class="comment"> @param y y-values</span></div>
-<div class="line"><a name="l03137"></a><span class="lineno"> 3137</span> <span class="comment"> @param n array length</span></div>
-<div class="line"><a name="l03138"></a><span class="lineno"> 3138</span> <span class="comment"> @param istart (input/output) initial row (set to 0 to search all row)</span></div>
-<div class="line"><a name="l03139"></a><span class="lineno"> 3139</span> <span class="comment"></span></div>
-<div class="line"><a name="l03140"></a><span class="lineno"> 3140</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03141"></a><span class="lineno"> 3141</span> <span class="keywordtype">float</span>* pinp=NULL;</div>
-<div class="line"><a name="l03142"></a><span class="lineno"> 3142</span> <span class="keywordtype">float</span>* pout=NULL;</div>
-<div class="line"><a name="l03143"></a><span class="lineno"> 3143</span> <span class="keywordtype">int</span> sx=0;</div>
-<div class="line"><a name="l03144"></a><span class="lineno"> 3144</span> <span class="keywordtype">int</span> sy=0;</div>
-<div class="line"><a name="l03145"></a><span class="lineno"> 3145</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l03146"></a><span class="lineno"> 3146</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l03147"></a><span class="lineno"> 3147</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l03148"></a><span class="lineno"> 3148</span> </div>
-<div class="line"><a name="l03149"></a><span class="lineno"> 3149</span> cpl_image* out=NULL;</div>
-<div class="line"><a name="l03150"></a><span class="lineno"> 3150</span> </div>
-<div class="line"><a name="l03151"></a><span class="lineno"> 3151</span> cknull(inp,<span class="stringliteral">"Null in put image, exit"</span>);</div>
-<div class="line"><a name="l03152"></a><span class="lineno"> 3152</span> check_nomsg(out=cpl_image_duplicate(inp));</div>
-<div class="line"><a name="l03153"></a><span class="lineno"> 3153</span> check_nomsg(sx=cpl_image_get_size_x(inp));</div>
-<div class="line"><a name="l03154"></a><span class="lineno"> 3154</span> check_nomsg(sy=cpl_image_get_size_y(inp));</div>
-<div class="line"><a name="l03155"></a><span class="lineno"> 3155</span> check_nomsg(pinp=cpl_image_get_data_float(inp));</div>
-<div class="line"><a name="l03156"></a><span class="lineno"> 3156</span> check_nomsg(pout=cpl_image_get_data_float(out));</div>
-<div class="line"><a name="l03157"></a><span class="lineno"> 3157</span> <span class="keywordflow">for</span>(j=r;j<sy-r;j++) {</div>
-<div class="line"><a name="l03158"></a><span class="lineno"> 3158</span> <span class="keywordflow">for</span>(i=0;i<sx;i++) {</div>
-<div class="line"><a name="l03159"></a><span class="lineno"> 3159</span> <span class="keywordflow">for</span>(k=-r;k<r;k++) {</div>
-<div class="line"><a name="l03160"></a><span class="lineno"> 3160</span> pout[j*sx+i]+=pinp[(j+k)*sx+i];</div>
-<div class="line"><a name="l03161"></a><span class="lineno"> 3161</span> }</div>
-<div class="line"><a name="l03162"></a><span class="lineno"> 3162</span> pout[j*sx+i]/=2*r;</div>
-<div class="line"><a name="l03163"></a><span class="lineno"> 3163</span> }</div>
-<div class="line"><a name="l03164"></a><span class="lineno"> 3164</span> }</div>
-<div class="line"><a name="l03165"></a><span class="lineno"> 3165</span> </div>
-<div class="line"><a name="l03166"></a><span class="lineno"> 3166</span> cleanup:</div>
-<div class="line"><a name="l03167"></a><span class="lineno"> 3167</span> </div>
-<div class="line"><a name="l03168"></a><span class="lineno"> 3168</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l03169"></a><span class="lineno"> 3169</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l03170"></a><span class="lineno"> 3170</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l03171"></a><span class="lineno"> 3171</span> <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l03172"></a><span class="lineno"> 3172</span> </div>
-<div class="line"><a name="l03173"></a><span class="lineno"> 3173</span> }</div>
-<div class="line"><a name="l03174"></a><span class="lineno"> 3174</span> </div>
-<div class="line"><a name="l03175"></a><span class="lineno"> 3175</span> }</div>
-<div class="line"><a name="l03176"></a><span class="lineno"> 3176</span> </div>
-<div class="line"><a name="l03177"></a><span class="lineno"> 3177</span> </div>
-<div class="line"><a name="l03178"></a><span class="lineno"> 3178</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03192"></a><span class="lineno"> 3192</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03193"></a><span class="lineno"> 3193</span> </div>
-<div class="line"><a name="l03194"></a><span class="lineno"> 3194</span> cpl_image *</div>
-<div class="line"><a name="l03195"></a><span class="lineno"> 3195</span> sinfo_image_smooth_mean_y(cpl_image * inp, <span class="keyword">const</span> <span class="keywordtype">int</span> r)</div>
-<div class="line"><a name="l03196"></a><span class="lineno"> 3196</span> {</div>
-<div class="line"><a name="l03197"></a><span class="lineno"> 3197</span> </div>
-<div class="line"><a name="l03198"></a><span class="lineno"> 3198</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l03199"></a><span class="lineno"> 3199</span> <span class="comment"> @param xp x-value to interpolate</span></div>
-<div class="line"><a name="l03200"></a><span class="lineno"> 3200</span> <span class="comment"> @param x x-values</span></div>
-<div class="line"><a name="l03201"></a><span class="lineno"> 3201</span> <span class="comment"> @param y y-values</span></div>
-<div class="line"><a name="l03202"></a><span class="lineno"> 3202</span> <span class="comment"> @param n array length</span></div>
-<div class="line"><a name="l03203"></a><span class="lineno"> 3203</span> <span class="comment"> @param istart (input/output) initial row (set to 0 to search all row)</span></div>
-<div class="line"><a name="l03204"></a><span class="lineno"> 3204</span> <span class="comment"></span></div>
-<div class="line"><a name="l03205"></a><span class="lineno"> 3205</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03206"></a><span class="lineno"> 3206</span> <span class="keywordtype">float</span>* pinp=NULL;</div>
-<div class="line"><a name="l03207"></a><span class="lineno"> 3207</span> <span class="keywordtype">float</span>* pout=NULL;</div>
-<div class="line"><a name="l03208"></a><span class="lineno"> 3208</span> <span class="keywordtype">int</span> sx=0;</div>
-<div class="line"><a name="l03209"></a><span class="lineno"> 3209</span> <span class="keywordtype">int</span> sy=0;</div>
-<div class="line"><a name="l03210"></a><span class="lineno"> 3210</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l03211"></a><span class="lineno"> 3211</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l03212"></a><span class="lineno"> 3212</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l03213"></a><span class="lineno"> 3213</span> </div>
-<div class="line"><a name="l03214"></a><span class="lineno"> 3214</span> cpl_image* out=NULL;</div>
-<div class="line"><a name="l03215"></a><span class="lineno"> 3215</span> </div>
-<div class="line"><a name="l03216"></a><span class="lineno"> 3216</span> cknull(inp,<span class="stringliteral">"Null in put image, exit"</span>);</div>
-<div class="line"><a name="l03217"></a><span class="lineno"> 3217</span> check_nomsg(out=cpl_image_duplicate(inp));</div>
-<div class="line"><a name="l03218"></a><span class="lineno"> 3218</span> check_nomsg(sx=cpl_image_get_size_x(inp));</div>
-<div class="line"><a name="l03219"></a><span class="lineno"> 3219</span> check_nomsg(sy=cpl_image_get_size_y(inp));</div>
-<div class="line"><a name="l03220"></a><span class="lineno"> 3220</span> check_nomsg(pinp=cpl_image_get_data_float(inp));</div>
-<div class="line"><a name="l03221"></a><span class="lineno"> 3221</span> check_nomsg(pout=cpl_image_get_data_float(out));</div>
-<div class="line"><a name="l03222"></a><span class="lineno"> 3222</span> <span class="keywordflow">for</span>(j=r;j<sy-r;j++) {</div>
-<div class="line"><a name="l03223"></a><span class="lineno"> 3223</span> <span class="keywordflow">for</span>(i=0;i<sx;i++) {</div>
-<div class="line"><a name="l03224"></a><span class="lineno"> 3224</span> <span class="keywordflow">for</span>(k=-r;k<r;k++) {</div>
-<div class="line"><a name="l03225"></a><span class="lineno"> 3225</span> pout[j*sx+i]+=pinp[(j+k)*sx+i];</div>
-<div class="line"><a name="l03226"></a><span class="lineno"> 3226</span> }</div>
-<div class="line"><a name="l03227"></a><span class="lineno"> 3227</span> pout[j*sx+i]/=2*r;</div>
-<div class="line"><a name="l03228"></a><span class="lineno"> 3228</span> }</div>
-<div class="line"><a name="l03229"></a><span class="lineno"> 3229</span> }</div>
-<div class="line"><a name="l03230"></a><span class="lineno"> 3230</span> </div>
-<div class="line"><a name="l03231"></a><span class="lineno"> 3231</span> cleanup:</div>
-<div class="line"><a name="l03232"></a><span class="lineno"> 3232</span> </div>
-<div class="line"><a name="l03233"></a><span class="lineno"> 3233</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l03234"></a><span class="lineno"> 3234</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l03235"></a><span class="lineno"> 3235</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l03236"></a><span class="lineno"> 3236</span> <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l03237"></a><span class="lineno"> 3237</span> </div>
-<div class="line"><a name="l03238"></a><span class="lineno"> 3238</span> }</div>
-<div class="line"><a name="l03239"></a><span class="lineno"> 3239</span> </div>
-<div class="line"><a name="l03240"></a><span class="lineno"> 3240</span> }</div>
-<div class="line"><a name="l03241"></a><span class="lineno"> 3241</span> </div>
-<div class="line"><a name="l03242"></a><span class="lineno"> 3242</span> </div>
-<div class="line"><a name="l03243"></a><span class="lineno"> 3243</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03257"></a><span class="lineno"> 3257</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03258"></a><span class="lineno"> 3258</span> </div>
-<div class="line"><a name="l03259"></a><span class="lineno"> 3259</span> cpl_image *</div>
-<div class="line"><a name="l03260"></a><span class="lineno"> 3260</span> sinfo_image_smooth_median_y(cpl_image * inp, <span class="keyword">const</span> <span class="keywordtype">int</span> r)</div>
-<div class="line"><a name="l03261"></a><span class="lineno"> 3261</span> {</div>
-<div class="line"><a name="l03262"></a><span class="lineno"> 3262</span> </div>
-<div class="line"><a name="l03263"></a><span class="lineno"> 3263</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l03264"></a><span class="lineno"> 3264</span> <span class="comment"> @param xp x-value to interpolate</span></div>
-<div class="line"><a name="l03265"></a><span class="lineno"> 3265</span> <span class="comment"> @param x x-values</span></div>
-<div class="line"><a name="l03266"></a><span class="lineno"> 3266</span> <span class="comment"> @param y y-values</span></div>
-<div class="line"><a name="l03267"></a><span class="lineno"> 3267</span> <span class="comment"> @param n array length</span></div>
-<div class="line"><a name="l03268"></a><span class="lineno"> 3268</span> <span class="comment"> @param istart (input/output) initial row (set to 0 to search all row)</span></div>
-<div class="line"><a name="l03269"></a><span class="lineno"> 3269</span> <span class="comment"></span></div>
-<div class="line"><a name="l03270"></a><span class="lineno"> 3270</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03271"></a><span class="lineno"> 3271</span> <span class="keywordtype">float</span>* pout=NULL;</div>
-<div class="line"><a name="l03272"></a><span class="lineno"> 3272</span> <span class="keywordtype">int</span> sx=0;</div>
-<div class="line"><a name="l03273"></a><span class="lineno"> 3273</span> <span class="keywordtype">int</span> sy=0;</div>
-<div class="line"><a name="l03274"></a><span class="lineno"> 3274</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l03275"></a><span class="lineno"> 3275</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l03276"></a><span class="lineno"> 3276</span> </div>
-<div class="line"><a name="l03277"></a><span class="lineno"> 3277</span> cpl_image* out=NULL;</div>
-<div class="line"><a name="l03278"></a><span class="lineno"> 3278</span> </div>
-<div class="line"><a name="l03279"></a><span class="lineno"> 3279</span> </div>
-<div class="line"><a name="l03280"></a><span class="lineno"> 3280</span> cknull(inp,<span class="stringliteral">"Null in put image, exit"</span>);</div>
-<div class="line"><a name="l03281"></a><span class="lineno"> 3281</span> check_nomsg(out=cpl_image_duplicate(inp));</div>
-<div class="line"><a name="l03282"></a><span class="lineno"> 3282</span> check_nomsg(sx=cpl_image_get_size_x(inp));</div>
-<div class="line"><a name="l03283"></a><span class="lineno"> 3283</span> check_nomsg(sy=cpl_image_get_size_y(inp));</div>
-<div class="line"><a name="l03284"></a><span class="lineno"> 3284</span> check_nomsg(pout=cpl_image_get_data_float(out));</div>
-<div class="line"><a name="l03285"></a><span class="lineno"> 3285</span> </div>
-<div class="line"><a name="l03286"></a><span class="lineno"> 3286</span> <span class="keywordflow">for</span>(j=r+1;j<sy-r;j++) {</div>
-<div class="line"><a name="l03287"></a><span class="lineno"> 3287</span> <span class="keywordflow">for</span>(i=1;i<sx;i++) {</div>
-<div class="line"><a name="l03288"></a><span class="lineno"> 3288</span> pout[j*sx+i]=(float)cpl_image_get_median_window(inp,i,j,i,j+r);</div>
-<div class="line"><a name="l03289"></a><span class="lineno"> 3289</span> }</div>
-<div class="line"><a name="l03290"></a><span class="lineno"> 3290</span> }</div>
-<div class="line"><a name="l03291"></a><span class="lineno"> 3291</span> </div>
-<div class="line"><a name="l03292"></a><span class="lineno"> 3292</span> cleanup:</div>
-<div class="line"><a name="l03293"></a><span class="lineno"> 3293</span> </div>
-<div class="line"><a name="l03294"></a><span class="lineno"> 3294</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l03295"></a><span class="lineno"> 3295</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l03296"></a><span class="lineno"> 3296</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l03297"></a><span class="lineno"> 3297</span> <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l03298"></a><span class="lineno"> 3298</span> </div>
-<div class="line"><a name="l03299"></a><span class="lineno"> 3299</span> }</div>
-<div class="line"><a name="l03300"></a><span class="lineno"> 3300</span> </div>
-<div class="line"><a name="l03301"></a><span class="lineno"> 3301</span> }</div>
-<div class="line"><a name="l03302"></a><span class="lineno"> 3302</span> </div>
-<div class="line"><a name="l03303"></a><span class="lineno"> 3303</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03316"></a><span class="lineno"> 3316</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03317"></a><span class="lineno"> 3317</span> </div>
-<div class="line"><a name="l03318"></a><span class="lineno"> 3318</span> cpl_image *</div>
-<div class="line"><a name="l03319"></a><span class="lineno"> 3319</span> sinfo_image_smooth_fft(cpl_image * inp, <span class="keyword">const</span> <span class="keywordtype">int</span> fy)</div>
-<div class="line"><a name="l03320"></a><span class="lineno"> 3320</span> {</div>
-<div class="line"><a name="l03321"></a><span class="lineno"> 3321</span> </div>
-<div class="line"><a name="l03322"></a><span class="lineno"> 3322</span> <span class="keywordtype">int</span> sx=0;</div>
-<div class="line"><a name="l03323"></a><span class="lineno"> 3323</span> <span class="keywordtype">int</span> sy=0;</div>
-<div class="line"><a name="l03324"></a><span class="lineno"> 3324</span> </div>
-<div class="line"><a name="l03325"></a><span class="lineno"> 3325</span> cpl_image* out=NULL;</div>
-<div class="line"><a name="l03326"></a><span class="lineno"> 3326</span> cpl_image* im_re=NULL;</div>
-<div class="line"><a name="l03327"></a><span class="lineno"> 3327</span> cpl_image* im_im=NULL;</div>
-<div class="line"><a name="l03328"></a><span class="lineno"> 3328</span> cpl_image* ifft_re=NULL;</div>
-<div class="line"><a name="l03329"></a><span class="lineno"> 3329</span> cpl_image* ifft_im=NULL;</div>
-<div class="line"><a name="l03330"></a><span class="lineno"> 3330</span> cpl_image* filter=NULL;</div>
-<div class="line"><a name="l03331"></a><span class="lineno"> 3331</span> </div>
-<div class="line"><a name="l03332"></a><span class="lineno"> 3332</span> <span class="keywordtype">int</span> sigma_x=0;</div>
-<div class="line"><a name="l03333"></a><span class="lineno"> 3333</span> <span class="keywordtype">int</span> sigma_y=fy;</div>
-<div class="line"><a name="l03334"></a><span class="lineno"> 3334</span> </div>
-<div class="line"><a name="l03335"></a><span class="lineno"> 3335</span> cknull(inp,<span class="stringliteral">"Null in put image, exit"</span>);</div>
-<div class="line"><a name="l03336"></a><span class="lineno"> 3336</span> check_nomsg(im_re = cpl_image_cast(inp, CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l03337"></a><span class="lineno"> 3337</span> check_nomsg(im_im = cpl_image_cast(inp, CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l03338"></a><span class="lineno"> 3338</span> </div>
-<div class="line"><a name="l03339"></a><span class="lineno"> 3339</span> <span class="comment">// Compute FFT</span></div>
-<div class="line"><a name="l03340"></a><span class="lineno"> 3340</span> check_nomsg(cpl_image_fft(im_re,im_im,CPL_FFT_DEFAULT));</div>
-<div class="line"><a name="l03341"></a><span class="lineno"> 3341</span> </div>
-<div class="line"><a name="l03342"></a><span class="lineno"> 3342</span> check_nomsg(sx=cpl_image_get_size_x(inp));</div>
-<div class="line"><a name="l03343"></a><span class="lineno"> 3343</span> check_nomsg(sy=cpl_image_get_size_y(inp));</div>
-<div class="line"><a name="l03344"></a><span class="lineno"> 3344</span> sigma_x=sx;</div>
-<div class="line"><a name="l03345"></a><span class="lineno"> 3345</span> </div>
-<div class="line"><a name="l03346"></a><span class="lineno"> 3346</span> <span class="comment">//Generates filter image</span></div>
-<div class="line"><a name="l03347"></a><span class="lineno"> 3347</span> check_nomsg(filter = sinfo_gen_lowpass(sx,sy,sigma_x,sigma_y));</div>
-<div class="line"><a name="l03348"></a><span class="lineno"> 3348</span> </div>
-<div class="line"><a name="l03349"></a><span class="lineno"> 3349</span> <span class="comment">//Apply filter</span></div>
-<div class="line"><a name="l03350"></a><span class="lineno"> 3350</span> cpl_image_multiply(im_re,filter);</div>
-<div class="line"><a name="l03351"></a><span class="lineno"> 3351</span> cpl_image_multiply(im_im,filter);</div>
-<div class="line"><a name="l03352"></a><span class="lineno"> 3352</span> </div>
-<div class="line"><a name="l03353"></a><span class="lineno"> 3353</span> sinfo_free_image(&filter);</div>
-<div class="line"><a name="l03354"></a><span class="lineno"> 3354</span> </div>
-<div class="line"><a name="l03355"></a><span class="lineno"> 3355</span> check_nomsg(ifft_re = cpl_image_duplicate(im_re));</div>
-<div class="line"><a name="l03356"></a><span class="lineno"> 3356</span> check_nomsg(ifft_im = cpl_image_duplicate(im_im));</div>
-<div class="line"><a name="l03357"></a><span class="lineno"> 3357</span> </div>
-<div class="line"><a name="l03358"></a><span class="lineno"> 3358</span> sinfo_free_image(&im_re);</div>
-<div class="line"><a name="l03359"></a><span class="lineno"> 3359</span> sinfo_free_image(&im_im);</div>
-<div class="line"><a name="l03360"></a><span class="lineno"> 3360</span> </div>
-<div class="line"><a name="l03361"></a><span class="lineno"> 3361</span> <span class="comment">//Computes FFT-INVERSE</span></div>
-<div class="line"><a name="l03362"></a><span class="lineno"> 3362</span> check_nomsg(cpl_image_fft(ifft_re,ifft_im,CPL_FFT_INVERSE));</div>
-<div class="line"><a name="l03363"></a><span class="lineno"> 3363</span> check_nomsg(out = cpl_image_cast(ifft_re, CPL_TYPE_FLOAT));</div>
-<div class="line"><a name="l03364"></a><span class="lineno"> 3364</span> </div>
-<div class="line"><a name="l03365"></a><span class="lineno"> 3365</span> cleanup:</div>
-<div class="line"><a name="l03366"></a><span class="lineno"> 3366</span> </div>
-<div class="line"><a name="l03367"></a><span class="lineno"> 3367</span> sinfo_free_image(&ifft_re);</div>
-<div class="line"><a name="l03368"></a><span class="lineno"> 3368</span> sinfo_free_image(&ifft_im);</div>
-<div class="line"><a name="l03369"></a><span class="lineno"> 3369</span> sinfo_free_image(&filter);</div>
-<div class="line"><a name="l03370"></a><span class="lineno"> 3370</span> sinfo_free_image(&im_re);</div>
-<div class="line"><a name="l03371"></a><span class="lineno"> 3371</span> sinfo_free_image(&im_im);</div>
-<div class="line"><a name="l03372"></a><span class="lineno"> 3372</span> </div>
-<div class="line"><a name="l03373"></a><span class="lineno"> 3373</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l03374"></a><span class="lineno"> 3374</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l03375"></a><span class="lineno"> 3375</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l03376"></a><span class="lineno"> 3376</span> <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l03377"></a><span class="lineno"> 3377</span> }</div>
-<div class="line"><a name="l03378"></a><span class="lineno"> 3378</span> </div>
-<div class="line"><a name="l03379"></a><span class="lineno"> 3379</span> }</div>
-<div class="line"><a name="l03380"></a><span class="lineno"> 3380</span> </div>
-<div class="line"><a name="l03381"></a><span class="lineno"> 3381</span> </div>
-<div class="line"><a name="l03382"></a><span class="lineno"> 3382</span> </div>
-<div class="line"><a name="l03383"></a><span class="lineno"> 3383</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03399"></a><span class="lineno"> 3399</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03400"></a><span class="lineno"> 3400</span> <span class="keyword">static</span> cpl_image *</div>
-<div class="line"><a name="l03401"></a><span class="lineno"> 3401</span> sinfo_gen_lowpass(<span class="keyword">const</span> <span class="keywordtype">int</span> xs,</div>
-<div class="line"><a name="l03402"></a><span class="lineno"> 3402</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ys,</div>
-<div class="line"><a name="l03403"></a><span class="lineno"> 3403</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sigma_x,</div>
-<div class="line"><a name="l03404"></a><span class="lineno"> 3404</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sigma_y)</div>
-<div class="line"><a name="l03405"></a><span class="lineno"> 3405</span> {</div>
-<div class="line"><a name="l03406"></a><span class="lineno"> 3406</span> </div>
-<div class="line"><a name="l03407"></a><span class="lineno"> 3407</span> <span class="keywordtype">int</span> i= 0.0;</div>
-<div class="line"><a name="l03408"></a><span class="lineno"> 3408</span> <span class="keywordtype">int</span> j= 0.0;</div>
-<div class="line"><a name="l03409"></a><span class="lineno"> 3409</span> <span class="keywordtype">int</span> hlx= 0.0;</div>
-<div class="line"><a name="l03410"></a><span class="lineno"> 3410</span> <span class="keywordtype">int</span> hly = 0.0;</div>
-<div class="line"><a name="l03411"></a><span class="lineno"> 3411</span> <span class="keywordtype">double</span> x= 0.0;</div>
-<div class="line"><a name="l03412"></a><span class="lineno"> 3412</span> <span class="keywordtype">double</span> y= 0.0;</div>
-<div class="line"><a name="l03413"></a><span class="lineno"> 3413</span> <span class="keywordtype">double</span> gaussval= 0.0;</div>
-<div class="line"><a name="l03414"></a><span class="lineno"> 3414</span> <span class="keywordtype">double</span> inv_sigma_x=1./sigma_x;</div>
-<div class="line"><a name="l03415"></a><span class="lineno"> 3415</span> <span class="keywordtype">double</span> inv_sigma_y=1./sigma_y;</div>
-<div class="line"><a name="l03416"></a><span class="lineno"> 3416</span> </div>
-<div class="line"><a name="l03417"></a><span class="lineno"> 3417</span> <span class="keywordtype">float</span> *data;</div>
-<div class="line"><a name="l03418"></a><span class="lineno"> 3418</span> </div>
-<div class="line"><a name="l03419"></a><span class="lineno"> 3419</span> cpl_image *lowpass_image=NULL;</div>
-<div class="line"><a name="l03420"></a><span class="lineno"> 3420</span> </div>
-<div class="line"><a name="l03421"></a><span class="lineno"> 3421</span> </div>
-<div class="line"><a name="l03422"></a><span class="lineno"> 3422</span> lowpass_image = cpl_image_new (xs, ys, CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l03423"></a><span class="lineno"> 3423</span> <span class="keywordflow">if</span> (lowpass_image == NULL) {</div>
-<div class="line"><a name="l03424"></a><span class="lineno"> 3424</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Cannot generate lowpass filter <%s>"</span>,</div>
-<div class="line"><a name="l03425"></a><span class="lineno"> 3425</span> cpl_error_get_message());</div>
-<div class="line"><a name="l03426"></a><span class="lineno"> 3426</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l03427"></a><span class="lineno"> 3427</span> }</div>
-<div class="line"><a name="l03428"></a><span class="lineno"> 3428</span> </div>
-<div class="line"><a name="l03429"></a><span class="lineno"> 3429</span> hlx = xs/2;</div>
-<div class="line"><a name="l03430"></a><span class="lineno"> 3430</span> hly = ys/2;</div>
-<div class="line"><a name="l03431"></a><span class="lineno"> 3431</span> </div>
-<div class="line"><a name="l03432"></a><span class="lineno"> 3432</span> data = cpl_image_get_data_float(lowpass_image);</div>
-<div class="line"><a name="l03433"></a><span class="lineno"> 3433</span> </div>
-<div class="line"><a name="l03434"></a><span class="lineno"> 3434</span> <span class="comment">/* Given an image with pixels 0<=i<N, 0<=j<M then the convolution image</span></div>
-<div class="line"><a name="l03435"></a><span class="lineno"> 3435</span> <span class="comment"> has the following properties:</span></div>
-<div class="line"><a name="l03436"></a><span class="lineno"> 3436</span> <span class="comment"></span></div>
-<div class="line"><a name="l03437"></a><span class="lineno"> 3437</span> <span class="comment"> ima[0][0] = 1</span></div>
-<div class="line"><a name="l03438"></a><span class="lineno"> 3438</span> <span class="comment"> ima[i][0] = ima[N-i][0] = exp (-0.5 * (i/sig_i)^2) 1<=i<N/2</span></div>
-<div class="line"><a name="l03439"></a><span class="lineno"> 3439</span> <span class="comment"> ima[0][j] = ima[0][M-j] = exp (-0.5 * (j/sig_j)^2) 1<=j<M/2</span></div>
-<div class="line"><a name="l03440"></a><span class="lineno"> 3440</span> <span class="comment"> ima[i][j] = ima[N-i][j] = ima[i][M-j] = ima[N-i][M-j]</span></div>
-<div class="line"><a name="l03441"></a><span class="lineno"> 3441</span> <span class="comment"> = exp (-0.5 * ((i/sig_i)^2 + (j/sig_j)^2))</span></div>
-<div class="line"><a name="l03442"></a><span class="lineno"> 3442</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l03443"></a><span class="lineno"> 3443</span> </div>
-<div class="line"><a name="l03444"></a><span class="lineno"> 3444</span> data[0] = 1.0;</div>
-<div class="line"><a name="l03445"></a><span class="lineno"> 3445</span> </div>
-<div class="line"><a name="l03446"></a><span class="lineno"> 3446</span> <span class="comment">/* first row */</span></div>
-<div class="line"><a name="l03447"></a><span class="lineno"> 3447</span> <span class="keywordflow">for</span> (i=1 ; i<=hlx ; i++) {</div>
-<div class="line"><a name="l03448"></a><span class="lineno"> 3448</span> x = i * inv_sigma_x;</div>
-<div class="line"><a name="l03449"></a><span class="lineno"> 3449</span> gaussval = exp(-0.5*x*x);</div>
-<div class="line"><a name="l03450"></a><span class="lineno"> 3450</span> data[i] = gaussval;</div>
-<div class="line"><a name="l03451"></a><span class="lineno"> 3451</span> data[xs-i] = gaussval;</div>
-<div class="line"><a name="l03452"></a><span class="lineno"> 3452</span> }</div>
-<div class="line"><a name="l03453"></a><span class="lineno"> 3453</span> </div>
-<div class="line"><a name="l03454"></a><span class="lineno"> 3454</span> <span class="keywordflow">for</span> (j=1; j<=hly ; j++) {</div>
-<div class="line"><a name="l03455"></a><span class="lineno"> 3455</span> y = j * inv_sigma_y;</div>
-<div class="line"><a name="l03456"></a><span class="lineno"> 3456</span> <span class="comment">/* first column */</span></div>
-<div class="line"><a name="l03457"></a><span class="lineno"> 3457</span> data[j*xs] = exp(-0.5*y*y);</div>
-<div class="line"><a name="l03458"></a><span class="lineno"> 3458</span> data[(ys-j)*xs] = exp(-0.5*y*y);</div>
-<div class="line"><a name="l03459"></a><span class="lineno"> 3459</span> </div>
-<div class="line"><a name="l03460"></a><span class="lineno"> 3460</span> <span class="keywordflow">for</span> (i=1 ; i<=hlx ; i++) {</div>
-<div class="line"><a name="l03461"></a><span class="lineno"> 3461</span> <span class="comment">/* Use internal symetries */</span></div>
-<div class="line"><a name="l03462"></a><span class="lineno"> 3462</span> x = i * inv_sigma_x;</div>
-<div class="line"><a name="l03463"></a><span class="lineno"> 3463</span> gaussval = exp (-0.5*(x*x+y*y));</div>
-<div class="line"><a name="l03464"></a><span class="lineno"> 3464</span> data[j*xs+i] = gaussval;</div>
-<div class="line"><a name="l03465"></a><span class="lineno"> 3465</span> data[(j+1)*xs-i] = gaussval;</div>
-<div class="line"><a name="l03466"></a><span class="lineno"> 3466</span> data[(ys-j)*xs+i] = gaussval;</div>
-<div class="line"><a name="l03467"></a><span class="lineno"> 3467</span> data[(ys+1-j)*xs-i] = gaussval;</div>
-<div class="line"><a name="l03468"></a><span class="lineno"> 3468</span> </div>
-<div class="line"><a name="l03469"></a><span class="lineno"> 3469</span> }</div>
-<div class="line"><a name="l03470"></a><span class="lineno"> 3470</span> }</div>
-<div class="line"><a name="l03471"></a><span class="lineno"> 3471</span> </div>
-<div class="line"><a name="l03472"></a><span class="lineno"> 3472</span> <span class="comment">/* FIXME: for the moment, reset errno which is coming from exp()</span></div>
-<div class="line"><a name="l03473"></a><span class="lineno"> 3473</span> <span class="comment"> in first for-loop at i=348. This is causing cfitsio to</span></div>
-<div class="line"><a name="l03474"></a><span class="lineno"> 3474</span> <span class="comment"> fail when loading an extension image (bug in cfitsio too).</span></div>
-<div class="line"><a name="l03475"></a><span class="lineno"> 3475</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03476"></a><span class="lineno"> 3476</span> <span class="keywordflow">if</span>(errno != 0)</div>
-<div class="line"><a name="l03477"></a><span class="lineno"> 3477</span> errno = 0;</div>
-<div class="line"><a name="l03478"></a><span class="lineno"> 3478</span> </div>
-<div class="line"><a name="l03479"></a><span class="lineno"> 3479</span> <span class="keywordflow">return</span> lowpass_image;</div>
-<div class="line"><a name="l03480"></a><span class="lineno"> 3480</span> }</div>
-<div class="line"><a name="l03481"></a><span class="lineno"> 3481</span> </div>
-<div class="line"><a name="l03482"></a><span class="lineno"> 3482</span> <span class="keyword">static</span> <span class="keywordtype">void</span> quicksort_int(<span class="keywordtype">int</span>* data, <span class="keywordtype">int</span> left, <span class="keywordtype">int</span> right)</div>
-<div class="line"><a name="l03483"></a><span class="lineno"> 3483</span> {</div>
-<div class="line"><a name="l03484"></a><span class="lineno"> 3484</span> <span class="keywordtype">int</span> i = left;</div>
-<div class="line"><a name="l03485"></a><span class="lineno"> 3485</span> <span class="keywordtype">int</span> j = right;</div>
-<div class="line"><a name="l03486"></a><span class="lineno"> 3486</span> <span class="keywordtype">int</span> pivot = (i + j) / 2;</div>
-<div class="line"><a name="l03487"></a><span class="lineno"> 3487</span> <span class="keywordtype">double</span> index_value = data[pivot];</div>
-<div class="line"><a name="l03488"></a><span class="lineno"> 3488</span> <span class="keywordflow">do</span></div>
-<div class="line"><a name="l03489"></a><span class="lineno"> 3489</span> {</div>
-<div class="line"><a name="l03490"></a><span class="lineno"> 3490</span> <span class="keywordflow">while</span>(data[i] < index_value) i++;</div>
-<div class="line"><a name="l03491"></a><span class="lineno"> 3491</span> <span class="keywordflow">while</span>(data[j] > index_value) j--;</div>
-<div class="line"><a name="l03492"></a><span class="lineno"> 3492</span> <span class="keywordflow">if</span> (i <= j)</div>
-<div class="line"><a name="l03493"></a><span class="lineno"> 3493</span> {</div>
-<div class="line"><a name="l03494"></a><span class="lineno"> 3494</span> <span class="keywordflow">if</span>(i < j)</div>
-<div class="line"><a name="l03495"></a><span class="lineno"> 3495</span> {</div>
-<div class="line"><a name="l03496"></a><span class="lineno"> 3496</span> <span class="keywordtype">int</span> tmp = data[i];</div>
-<div class="line"><a name="l03497"></a><span class="lineno"> 3497</span> data[i]=data[j];</div>
-<div class="line"><a name="l03498"></a><span class="lineno"> 3498</span> data[j]=tmp;</div>
-<div class="line"><a name="l03499"></a><span class="lineno"> 3499</span> }</div>
-<div class="line"><a name="l03500"></a><span class="lineno"> 3500</span> i++;</div>
-<div class="line"><a name="l03501"></a><span class="lineno"> 3501</span> j--;</div>
-<div class="line"><a name="l03502"></a><span class="lineno"> 3502</span> }</div>
-<div class="line"><a name="l03503"></a><span class="lineno"> 3503</span> } <span class="keywordflow">while</span> (i <= j);</div>
-<div class="line"><a name="l03504"></a><span class="lineno"> 3504</span> </div>
-<div class="line"><a name="l03505"></a><span class="lineno"> 3505</span> <span class="keywordflow">if</span> (i < right)</div>
-<div class="line"><a name="l03506"></a><span class="lineno"> 3506</span> {</div>
-<div class="line"><a name="l03507"></a><span class="lineno"> 3507</span> quicksort_int(data, i, right);</div>
-<div class="line"><a name="l03508"></a><span class="lineno"> 3508</span> }</div>
-<div class="line"><a name="l03509"></a><span class="lineno"> 3509</span> <span class="keywordflow">if</span> (left < j)</div>
-<div class="line"><a name="l03510"></a><span class="lineno"> 3510</span> {</div>
-<div class="line"><a name="l03511"></a><span class="lineno"> 3511</span> quicksort_int(data, left, j);</div>
-<div class="line"><a name="l03512"></a><span class="lineno"> 3512</span> }</div>
-<div class="line"><a name="l03513"></a><span class="lineno"> 3513</span> }</div>
-<div class="line"><a name="l03514"></a><span class="lineno"> 3514</span> </div>
-<div class="line"><a name="l03515"></a><span class="lineno"> 3515</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__image__ops_8h_source.html b/html/sinfo__image__ops_8h_source.html
deleted file mode 100644
index 98d612c..0000000
--- a/html/sinfo__image__ops_8h_source.html
+++ /dev/null
@@ -1,226 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_image_ops.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_image_ops.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_IMAGE_OPS_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_IMAGE_OPS_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*******************************************************************************</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* "@(#) $Id: sinfo_image_ops.h,v 1.9 2008/03/25 08:20:43 amodigli Exp $"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* amodigli 04/01/06 created</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * sinfo_image_ops.h</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * image arithmetic routines</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_spiffi_types.h"</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_spectrum_ops.h"</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_recipes.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> * Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> cpl_image *</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> sinfo_image_smooth_y(cpl_image * inp, <span class="keyword">const</span> <span class="keywordtype">int</span> r);</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> cpl_error_code</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> sinfo_image_line_corr(<span class="keyword">const</span> <span class="keywordtype">int</span> width,</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">const</span> <span class="keywordtype">int</span> filt_rad,</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">const</span> <span class="keywordtype">int</span> kappa,</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> cpl_image* ima,</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> cpl_image** ima_out);</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> cpl_image *</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> sinfo_new_shift_image(</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> cpl_image * image_in,</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">double</span> shift_x,</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">double</span> shift_y,</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keywordtype">double</span> * interp_kernel) ;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> Vector * </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> sinfo_new_mean_of_columns( cpl_image * im ) ;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">double</span> </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> sinfo_new_my_median_image(cpl_image* im);</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> cpl_image * </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> sinfo_new_clean_mean_of_columns( cpl_image * im,</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">float</span> lo_reject,</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">float</span> hi_reject) ;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> cpl_image * </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> sinfo_new_div_image_by_row( cpl_image * im, Vector * row ) ;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> cpl_image * </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> sinfo_new_mult_row_to_image( cpl_image *im, Vector *row ) ;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> cpl_image * </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> sinfo_new_col_tilt ( cpl_image * image, <span class="keywordtype">float</span> sigmaFactor ) ;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> cpl_image * </div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> sinfo_new_median_image( cpl_image * im, <span class="keywordtype">float</span> fmedian ) ;</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> cpl_image * </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> sinfo_new_compare_images(cpl_image * im1, cpl_image * im2, cpl_image * origim);</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> cpl_image * </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> sinfo_new_thresh_image ( cpl_image * im, <span class="keywordtype">float</span> lo_cut, <span class="keywordtype">float</span> hi_cut ) ;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> cpl_image * </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> sinfo_new_promote_image_to_mask(cpl_image * im, <span class="keywordtype">int</span> * n_badpixels ) ;</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> cpl_image * sinfo_new_mult_image_by_mask ( cpl_image * im, cpl_image * mask ) ;</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> cpl_image * </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> sinfo_new_interpol_image ( cpl_image * im,</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> cpl_image * mask,</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordtype">int</span> max_radius,</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keywordtype">int</span> n_pixels ) ;</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> cpl_image * </div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> sinfo_interpol_source_image ( cpl_image * im,</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> cpl_image * mask,</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="keywordtype">int</span> max_rad,</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="keywordtype">float</span> ** slit_edges ) ;</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> cpl_image * </div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> sinfo_new_stack_row_to_image ( Vector * row, <span class="keywordtype">int</span> ly ) ;</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> Stats * </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> sinfo_new_image_stats_on_rectangle ( cpl_image * im,</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keywordtype">float</span> loReject,</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="keywordtype">float</span> hiReject,</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="keywordtype">int</span> llx,</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="keywordtype">int</span> lly,</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keywordtype">int</span> urx,</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="keywordtype">int</span> ury ) ;</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> cpl_image * </div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> sinfo_new_normalize_to_central_pixel ( cpl_image * image ) ;</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> </div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> cpl_image *</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> sinfo_new_mpe_shift_image(</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> cpl_image * image_in,</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="keywordtype">double</span> shift_x,</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keywordtype">double</span> shift_y,</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="keywordtype">double</span> * interp_kernel) ;</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> sinfo_new_shift_image_in_cube(</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> cpl_image * image_in,</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="keywordtype">double</span> shift_x,</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="keywordtype">double</span> shift_y,</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="keywordtype">double</span> * interp_kernel,</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> cpl_image * shifted,</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> pixelvalue * first_pass) ;</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="keywordtype">void</span> sinfo_new_del_Stats (Stats *) ;</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> </div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> </div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> cpl_image * </div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> sinfo_new_combine_masks ( cpl_image * firstMask, cpl_image * secondMask ) ;</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> </div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> cpl_image * </div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> sinfo_new_slice_cube (cpl_imagelist * cube, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y ) ;</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> </div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> </div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> cpl_image * </div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> sinfo_new_div_images_robust ( cpl_image * im1, cpl_image * im2 ) ;</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> </div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> </div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> </div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> cpl_image * </div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> sinfo_new_null_edges ( cpl_image * image) ;</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> </div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> </div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> </div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> sinfo_new_used_cor_map( cpl_image *im, cpl_image *map);</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> </div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> </div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> cpl_image *</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> sinfo_image_smooth_mean_y(cpl_image * inp,<span class="keyword">const</span> <span class="keywordtype">int</span> r);</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> </div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> cpl_image *</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> sinfo_image_smooth_median_y(cpl_image * inp,<span class="keyword">const</span> <span class="keywordtype">int</span> r);</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> </div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> cpl_image *</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> sinfo_image_hermite_interpol(cpl_image * inp);</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> </div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> cpl_image *</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> sinfo_image_smooth_fft(cpl_image * inp, <span class="keyword">const</span> <span class="keywordtype">int</span> r);</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> </div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__img__noise_8c_source.html b/html/sinfo__img__noise_8c_source.html
deleted file mode 100644
index dbaf1c6..0000000
--- a/html/sinfo__img__noise_8c_source.html
+++ /dev/null
@@ -1,171 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_img_noise.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_img_noise.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_img_noise.c,v 1.3 2009/09/11 10:00:24 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2009/09/11 10:00:24 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.3 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * $Log: sinfo_img_noise.c,v $</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * Revision 1.3 2009/09/11 10:00:24 amodigli</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * put back include of irplib_detmon.h</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> * Revision 1.2 2009/09/11 09:25:29 kmirny</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> * changing img_noise from cpl to irplib</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * Revision 1.1 2009/09/09 14:17:36 kmirny</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> * Adding img_noise recipe based on detmon</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/* std libraries */</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">//#include <strings.h></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">//#include <string.h></span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">//#include <stdio.h></span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">//#include <sinfo_general_config.h></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">//#include "cpl_utils.h"</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">//#include "cpl_hist.h"</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#include <irplib_detmon.h></span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">/* Define here the DO.CATG keywords */</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#define SINFO_PERNOISE_RAW "DARK"</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#define RECIPE_NAME "sinfo_img_noise"</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">/*static int sinfo_img_noise(cpl_frameset * frameset,</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> const cpl_parameterlist * parlist);</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> CPL_RECIPE_DEFINE(sinfo_img_noise, SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">/* Replace DETMON_BINARY_VERSION with</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> corresponding pipeline macro */</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> irplib_detmon_fill_pernoise_params_default(recipe->parameters,</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> RECIPE_NAME,</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> PACKAGE_TARNAME),</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">/* Replace "sinfoni" with PACKAGE_TARNAME</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> when moved into SINFONI */</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="stringliteral">"Konstantin Mirny"</span>, <span class="stringliteral">"kmirny at eso.org"</span>, <span class="stringliteral">"2009"</span>,</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="stringliteral">"Periodic Noise Characterisation recipe"</span>,</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> irplib_detmon_pernoise_get_description(RECIPE_NAME, PACKAGE_TARNAME,</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> SINFO_PERNOISE_RAW));</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">CPL_RECIPE_DEFINE(sinfo_img_noise, SINFONI_BINARY_VERSION,</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> cpl_detmon_fill_pernoise_params_default(</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"> recipe->parameters,</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> RECIPE_NAME,</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> PACKAGE_TARNAME),</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"> "Konstantin Mirny", "kmirny at eso.org", "2009",</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment"> "Periodic Noise Characterisation recipe",</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment"> cpl_detmon_pernoise_get_description(RECIPE_NAME,</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"> PACKAGE_TARNAME,</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"> SINFO_PERNOISE_RAW));</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment"> @brief Interpret the command line options and execute the data processing</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment"> @param frameset the frames list</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment"> @param parlist the parameters list</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment"> @return 0 if everything is ok</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_img_noise(cpl_frameset * frameset,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keyword">const</span> cpl_parameterlist * parlist)</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> {</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keyword">const</span> cpl_error_code error = irplib_detmon_pernoise(frameset,</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> parlist,</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> SINFO_PERNOISE_RAW,</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> RECIPE_NAME,</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> PACKAGE_TARNAME,</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="stringliteral">"FREQ_TABLE"</span>,</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> PACKAGE <span class="stringliteral">"/"</span> PACKAGE_VERSION,</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> NULL);</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">/* Propagate the error, if any */</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> cpl_ensure_code(!error, error);</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> }</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__ipow_8c_source.html b/html/sinfo__ipow_8c_source.html
deleted file mode 100644
index 10ba7d7..0000000
--- a/html/sinfo__ipow_8c_source.html
+++ /dev/null
@@ -1,114 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_ipow.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_ipow.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * This function is so generic and used everywhere, it diserves its</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * own source file...</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> $Id: sinfo_ipow.c,v 1.4 2012/03/02 08:42:20 amodigli Exp $</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> $Author: amodigli $</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> $Date: 2012/03/02 08:42:20 $</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> $Revision: 1.4 $</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include "sinfo_ipow.h"</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">double</span> sinfo_ipow(<span class="keywordtype">double</span> x, <span class="keywordtype">int</span> p)</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> {</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">double</span> r, recip ;</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">/* Get rid of trivial cases */</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordflow">switch</span> (p) {</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordflow">case</span> 0:</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keywordflow">return</span> 1.00 ;</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordflow">case</span> 1:</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordflow">return</span> x ;</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordflow">case</span> 2:</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keywordflow">return</span> x*x ;</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordflow">case</span> 3:</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordflow">return</span> x*x*x ;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordflow">case</span> -1:</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keywordflow">return</span> 1.00 / x ;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordflow">case</span> -2:</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keywordflow">return</span> (1.00 / x) * (1.00 / x) ;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> }</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordflow">if</span> (p>0) {</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> r = x ;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordflow">while</span> (--p) r *= x ;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> r = recip = 1.00 / x ;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordflow">while</span> (++p) r *= recip ;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> }</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keywordflow">return</span> r;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> }</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__ipow_8h_source.html b/html/sinfo__ipow_8h_source.html
deleted file mode 100644
index f473019..0000000
--- a/html/sinfo__ipow_8h_source.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_ipow.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_ipow.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_ipow.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : N. Devillard</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : June 1999</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : integer powers</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> $Id: sinfo_ipow.h,v 1.3 2007/06/06 07:10:45 amodigli Exp $</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> $Author: amodigli $</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> $Date: 2007/06/06 07:10:45 $</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> $Revision: 1.3 $</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#ifndef SINFO_IPOW_H</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_IPOW_H</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> Function prototypes</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">double</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> sinfo_ipow(<span class="keywordtype">double</span> x, <span class="keywordtype">int</span> p);</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__irplib__cpl__wrp_8h_source.html b/html/sinfo__irplib__cpl__wrp_8h_source.html
deleted file mode 100644
index de26972..0000000
--- a/html/sinfo__irplib__cpl__wrp_8h_source.html
+++ /dev/null
@@ -1,101 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_irplib_cpl_wrp.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_irplib_cpl_wrp.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_irplib_cpl_wrp.h,v 1.3 2009/10/20 14:32:56 kmirny Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2009 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: kmirny $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2009/10/20 14:32:56 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.3 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifndef SINFO_IRPLIB_CPL_WRP_H_</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_IRPLIB_CPL_WRP_H_</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#if 0 //defined CPL_VERSION_CODE && CPL_VERSION_CODE >= CPL_VERSION(5, 1, 0)</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor">#define DETMON_FILL_PROLIST(par1, par2, par3, par4) cpl_detmon_fill_prolist(par1, par2, par3, par4);</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span><span class="preprocessor">#define DETMON_LG_FILL_PARLIST_NIR_DEFAULT(par1, par2, par3) cpl_detmon_lg_fill_parlist_nir_default(par1, par2, par3);</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"></span><span class="preprocessor">#define DETMON_LG(par1, par2, par3, par4, par5, par6, par7, par8, par9, par10,p11,p12,p13,p14,p15,p16,p17) \</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"> cpl_detmon_lg(par1, par2, par3, par4, par5, par6, par7, par8, par9, par10,p11,p12,p13,p14,p15,p16,p17);</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor"></span><span class="preprocessor">#define DETMON_FLAT_FIT_SLOPE_ROBUST(p1, p2, p3) cpl_flat_fit_slope_robust(p1, p2, p3);</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor"></span><span class="preprocessor">#define LG_DESCR(p1, p2, p3, p4) cpl_detmon_lg_get_description(p1, p2, p3, p4)</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"></span><span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor"></span><span class="preprocessor">#include "irplib_detmon_lg.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "irplib_detmon.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "irplib_plugin.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "irplib_calib.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "irplib_flat.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#define DETMON_FILL_PROLIST(par1, par2, par3, par4) irplib_detmon_fill_prolist(par1, par2, par3, par4);</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"></span><span class="preprocessor">#define DETMON_LG_FILL_PARLIST_NIR_DEFAULT(par1, par2, par3) irplib_detmon_lg_fill_parlist_nir_default(par1, par2, par3);</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor"></span><span class="preprocessor">#define DETMON_LG(par1, par2, par3, par4, par5, par6, par7, par8, par9, par10,p11,p12,p13,p14,p15,p16,p17) \</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor"> irplib_detmon_lg(par1, par2, par3, par4, par5, par6, par7, par8, par9, par10,p11,p12,p13,p14,p15,p16,p17);</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor"></span><span class="preprocessor">#define DETMON_FLAT_FIT_SLOPE_ROBUST(p1, p2, p3) irplib_flat_fit_slope_robust(p1, p2, p3);</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor"></span><span class="preprocessor">#define LG_DESCR(p1, p2, p3, p4) irplib_detmon_lg_get_description(p1, p2, p3, p4)</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__key__names_8h_source.html b/html/sinfo__key__names_8h_source.html
deleted file mode 100644
index c797ef6..0000000
--- a/html/sinfo__key__names_8h_source.html
+++ /dev/null
@@ -1,275 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_key_names.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_key_names.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_key_names.h,v 1.1 2006/10/20 08:06:32 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This proram is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2006/10/20 08:06:32 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef SINFO_KEY_NAMES_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_KEY_NAMES_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> CPL_BEGIN_DECLS</div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#define KEY_NAME_CDELT1 "CDELT1"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_NAME_CDELT2 "CDELT2"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_NAME_CDELT3 "CDELT3"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#define KEY_NAME_CRPIX1 "CRPIX1"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_NAME_CRPIX2 "CRPIX2"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_NAME_CRPIX3 "CRPIX3"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#define KEY_NAME_CRVAL1 "CRVAL1"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_NAME_CRVAL2 "CRVAL2"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_NAME_CRVAL3 "CRVAL3"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#define KEY_NAME_LOOP_STATE "ESO AOS RTC LOOP STATE"</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_NAME_LOOP_LGS "ESO AOS RTC LOOP LGS"</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_NAME_INS1_MODE "ESO INS1 MODE"</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#define PAF_NAME_LOOP_STATE "AOS RTC LOOP STATE"</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor"></span><span class="preprocessor">#define PAF_NAME_LOOP_LGS "AOS RTC LOOP LGS"</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"></span><span class="preprocessor">#define PAF_NAME_INS1_MODE "INS1 MODE"</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#define KEY_HELP_LOOP_STATE "Loop state, open or closed"</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_LOOP_LGS "LGS loop on or off"</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_INS1_MODE "Instrument mode used."</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#define KEY_NAME_CUMOFFX "ESO SEQ CUMOFFSETX"</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_NAME_CUMOFFY "ESO SEQ CUMOFFSETY"</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#define KEY_NAME_MJD_OBS "MJD-OBS"</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_NAME_OBS_NAME "ESO OBS NAME"</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#define KEY_NAME_PRO_CATG "ESO PRO CATG"</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor"></span><span class="preprocessor">#define PAF_NAME_PRO_CATG "PRO CATG"</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_PRO_CATG "Category of pipeline product frame"</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">#define KEY_NAME_DET_DIT "ESO DET DIT"</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor"></span><span class="preprocessor">#define PAF_NAME_DET_DIT "DET DIT"</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_DET_DIT "Integration Time"</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor">#define KEY_NAME_DET_NDIT "ESO DET NDIT"</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor"></span><span class="preprocessor">#define PAF_NAME_DET_NDIT "DET NDIT"</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_DET_NDIT "# of Sub-Integrations"</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="preprocessor">#define KEY_NAME_NCORRS_NAME "ESO DET NCORRS NAME"</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="preprocessor"></span><span class="preprocessor">#define PAF_NAME_NCORRS_NAME "DET NCORRS NAME"</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_NCORRS_NAME "Read-Out Mode Name"</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="preprocessor">#define KEY_NAME_DET_NDSAMPLES "ESO DET NDSAMPLES"</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_DET_NDSAMPLES "# of Non-Dest. Samples"</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="preprocessor"></span><span class="preprocessor">#define PAF_NAME_DET_NDSAMPLES "DET NDSAMPLES"</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="preprocessor">#define KEY_NAME_FILT_NAME "ESO INS FILT1 NAME"</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="preprocessor"></span><span class="preprocessor">#define PAF_NAME_FILT_NAME "INS FILT1 NAME"</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_FILT_NAME "Filter name."</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="preprocessor">#define KEY_NAME_FILT_ID "ESO INS FILT1 ID"</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="preprocessor"></span><span class="preprocessor">#define PAF_NAME_FILT_ID "INS FILT1 ID"</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_FILT_ID "Filter unique id."</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="preprocessor">#define KEY_NAME_GRAT_NAME "ESO INS GRAT1 NAME"</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="preprocessor"></span><span class="preprocessor">#define PAF_NAME_GRAT_NAME "INS GRAT1 NAME"</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_GRAT_NAME "Grating common name."</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="preprocessor">#define KEY_NAME_INS_SETUP "ESO INS SETUP ID"</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="preprocessor"></span><span class="preprocessor">#define PAF_NAME_INS_SETUP "INS SETUP ID"</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_INS_SETUP "Instrument setup identifier."</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="preprocessor">#define KEY_NAME_GRAT_WLEN "ESO INS GRAT1 WLEN"</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="preprocessor"></span><span class="preprocessor">#define PAF_NAME_GRAT_WLEN "INS GRAT1 WLEN"</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_GRAT_WLEN "Grating central wavelength [nm]."</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="preprocessor">#define KEY_NAME_PRO_REC1_RAW1_NAME "ESO PRO REC1 RAW1 NAME"</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="preprocessor">#define KEY_NAME_LAMP_XE "ESO INS1 LAMP1 ST"</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_NAME_LAMP_KR "ESO INS1 LAMP2 ST"</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_NAME_LAMP_NE "ESO INS1 LAMP3 ST"</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_NAME_LAMP_AR "ESO INS1 LAMP4 ST"</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_NAME_LAMP_HALO "ESO INS1 LAMP5 ST"</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="preprocessor"></span><span class="preprocessor">#define PAF_NAME_LAMP_HALO "INS1 LAMP5 ST"</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_LAMP_HALO "Lamp activated."</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="preprocessor">#define KEY_NAME_SHUT2_ST "ESO INS1 SHUT2 ST"</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="preprocessor"></span><span class="preprocessor">#define PAF_NAME_SHUT2_ST "INS1 SHUT2 ST"</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_SHUT2_ST "Shutter open."</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="preprocessor">#define KEY_NAME_PREOPTICS "ESO INS OPTI1 NAME"</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="preprocessor"></span><span class="preprocessor">#define PAF_NAME_PREOPTICS "INS OPTI1 NAME"</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_PREOPTICS "OPTIi name."</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="preprocessor">#define KEY_NAME_DPR_TYPE "ESO DPR TYPE"</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="preprocessor"></span><span class="preprocessor">#define PAF_NAME_DPR_TYPE "DPR TYPE"</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_DPR_TYPE "Observation type"</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="preprocessor">#define KEY_NAME_DPR_CATG "ESO DPR CATG"</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="preprocessor"></span><span class="preprocessor">#define PAF_NAME_DPR_CATG "DPR CATG"</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_DPR_CATG "Observation category"</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="preprocessor">#define KEY_NAME_DPR_TECH "ESO DPR TECH"</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="preprocessor"></span><span class="preprocessor">#define PAF_NAME_DPR_TECH "DPR TECH"</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_DPR_TECH "Observation technique"</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="preprocessor">#define KEY_NAME_PIPE_ID "ESO PRO REC1 PIPE ID"</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="preprocessor"></span><span class="preprocessor">#define PAF_NAME_PIPE_ID "PRO REC1 PIPE ID"</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_PIPE_ID "Pipeline (unique) identifier"</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="preprocessor">#define KEY_NAME_PIPEFILE "PIPEFILE"</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_PIPEFILE "Filename of data product"</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="preprocessor">#define KEY_NAME_PRO_TYPE "ESO PRO TYPE"</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="preprocessor"></span><span class="preprocessor">#define PAF_NAME_PRO_TYPE "PRO TYPE"</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_PRO_TYPE "Product Type"</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="preprocessor">#define KEY_NAME_PRO_REDLEVEL "ESO PRO REDLEVEL"</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="preprocessor">#define KEY_NAME_PRO_CATG "ESO PRO CATG"</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="preprocessor"></span><span class="preprocessor">#define PAF_NAME_PRO_CATG "PRO CATG"</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="preprocessor">#define KEY_NAME_PRO_STATUS "ESO PRO STATUS"</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="preprocessor">#define KEY_NAME_PRO_DATE "ESO PRO DATE"</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="preprocessor">#define KEY_NAME_DATE_OBS "DATE-OBS"</span></div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_DATE_OBS "Observing date"</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="preprocessor">#define KEY_NAME_TEL_AIRM_START "ESO TEL AIRM START"</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="preprocessor"></span><span class="preprocessor">#define PAF_NAME_TEL_AIRM_START "TEL AIRM START"</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_TEL_AIRM_START "Airmass at start"</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="preprocessor">#define KEY_NAME_ARCFILE "ARCFILE"</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_ARCFILE "Archive file name"</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="preprocessor">#define KEY_NAME_TPL_ID "ESO TPL ID"</span></div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="preprocessor"></span><span class="preprocessor">#define PAF_NAME_TPL_ID "TPL ID"</span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_TPL_ID "Template sig"</span></div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="preprocessor">#define KEY_NAME_DATANCOM "DATANCOM"</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_NAME_PRO_DATANCOM "ESO PRO DATANCOM"</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="preprocessor"></span><span class="preprocessor">#define PAF_NAME_PRO_DATANCOM "PRO DATANCOM"</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_PRO_DATANCOM "Number of frames combined"</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="preprocessor">#define KEY_NAME_PRO_RECID "ESO PRO REC1 ID"</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="preprocessor"></span><span class="preprocessor">#define PAF_NAME_PRO_RECID "PRO REC1 ID"</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_PRO_RECID "Pipeline recipe (unique) identifier"</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="preprocessor">#define KEY_NAME_PRO_DRSID "ESO PRO REC1 DRS ID"</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="preprocessor"></span><span class="preprocessor">#define PAF_NAME_PRO_DRSID "PRO REC1 DRS ID"</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_PRO_DRSID "Data Reduction System identifier"</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="preprocessor">#define KEY_NAME_HPRO_TYPE "HIERARCH ESO PRO TYPE"</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_HPRO_TYPE "product type"</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="preprocessor">#define KEY_NAME_HPRO_CATG "HIERARCH ESO PRO CATG"</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_HPRO_CATG "product category"</span></div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="preprocessor">#define KEY_NAME_HPRO_STATUS "HIERARCH ESO PRO STATUS"</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_HPRO_STATUS "pipeline status"</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="preprocessor">#define KEY_NAME_HPRO_DATE "HIERARCH ESO PRO DATE"</span></div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_HPRO_DATE "pipeline execution date"</span></div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="preprocessor">#define KEY_NAME_HPRO_RECID "HIERARCH ESO PRO REC ID"</span></div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_HPRO_RECID "recipe ID"</span></div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="preprocessor">#define KEY_NAME_HPRO_DRSID "HIERARCH ESO PRO DRS ID"</span></div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_HPRO_DRSID "data reduction system ID"</span></div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="preprocessor">#define KEY_NAME_HPRO_DATANCOM "HIERARCH ESO PRO DATANCOM"</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_NAME_HPRO_DID "HIERARCH ESO PRO DID"</span></div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_VALUE_HPRO_DID "PRO-1.15"</span></div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_HPRO_DID "Data dictionary for PRO"</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="preprocessor">#define KEY_NAME_HPRO_DOID "HIERARCH ESO PRO DO ID"</span></div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_VALUE_HPRO_DOID "DO-1_18"</span></div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_HPRO_DOID "Data Organizer identification ID"</span></div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="preprocessor">#define KEY_NAME_HPRO_RBSID "HIERARCH ESO PRO RBS ID"</span></div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_VALUE_HPRO_RBSID "RBS-1_11"</span></div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="preprocessor"></span><span class="preprocessor">#define KEY_HELP_HPRO_RBSID "Reduction Block Scheduler identification ID"</span></div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="preprocessor">#define KEY_NAME_REC1_RAW1_NAME "ESO PRO REC1 RAW1 NAME"</span></div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="preprocessor">#define KEY_NAME_GRAT_ENC "ESO INS GRAT1 ENC"</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> CPL_END_DECLS</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__lamp__cfg_8c_source.html b/html/sinfo__lamp__cfg_8c_source.html
deleted file mode 100644
index a5f66b6..0000000
--- a/html/sinfo__lamp__cfg_8c_source.html
+++ /dev/null
@@ -1,100 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_lamp_cfg.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_lamp_cfg.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name :sinfo_lamp_cfg.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author :Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on :March 2002</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description :prepare halogen lamp spectrum frames configuration </span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> handling tools</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_lamp_cfg.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> lamp_config * </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> sinfo_lamp_cfg_create(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> {</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordflow">return</span> cpl_calloc(1, <span class="keyword">sizeof</span>(lamp_config));</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> }</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> sinfo_lamp_cfg_destroy(lamp_config * sc)</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> {</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordflow">if</span> (sc==NULL) return ;</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">/* Free main struct */</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> cpl_free(sc);</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> return ;</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__lamp__cfg_8h_source.html b/html/sinfo__lamp__cfg_8h_source.html
deleted file mode 100644
index 705f2af..0000000
--- a/html/sinfo__lamp__cfg_8h_source.html
+++ /dev/null
@@ -1,127 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_lamp_cfg.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_lamp_cfg.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> File name : sinfo_lamp_cfg.h</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Created on : March 2002</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Description : lamp_ini definitions + handling prototypes</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#ifndef SINFO_LAMP_CFG_H</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_LAMP_CFG_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <stdlib.h></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> New types</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> prepare lamp spectrum blackboard container</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> This structure holds all information related to the halogen lamp </span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> spectrum handling</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> routine. It is used as a container for the flux of ancillary data,</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> computed values, and algorithm status. Pixel flux is separated from</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> the blackboard.</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>lamp_config {</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*-------General---------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">char</span> inFrame[FILE_NAME_SZ] ; <span class="comment">/* file name of the input halogen </span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> lamp frame */</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">char</span> wavemapim[FILE_NAME_SZ] ; <span class="comment">/* file name of the wavelength map */</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">char</span> outName[FILE_NAME_SZ] ; <span class="comment">/* output name of resulting fits frame */</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">/*------ Resampling ------*/</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">/* number of coefficients for the polynomial interpolation </span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> (order + 1) */</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">int</span> ncoeffs ;</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">/* number of rows in the resulting resampled image = </span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> number of spectral bins */</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">int</span> nrows ;</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">/*------ Extractspectrum ------*/</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">/* percentage of rejected low intensity pixels */</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">float</span> loReject ; </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">/* percentage of rejected high intensity pixels */</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">float</span> hiReject ;</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">/* conversion factor of detector counts per intensity unit */</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">float</span> countsToIntensity ;</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> } lamp_config ;</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> Function prototypes</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> lamp_config * </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> sinfo_lamp_cfg_create(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> sinfo_lamp_cfg_destroy(lamp_config * sc);</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__lamp__flats__config_8c_source.html b/html/sinfo__lamp__flats__config_8c_source.html
deleted file mode 100644
index a8d3a4f..0000000
--- a/html/sinfo__lamp__flats__config_8c_source.html
+++ /dev/null
@@ -1,409 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_lamp_flats_config.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_lamp_flats_config.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_lamp_flats_config.c,v 1.4 2012/03/02 08:42:20 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2012/03/02 08:42:20 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.4 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> * Lamp_Spec Frames Data Reduction Parameter Initialization *</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_lamp_flats_config.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> sinfo_lamp_flats_config_add(cpl_parameterlist *list)</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> {</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> cpl_parameter *p;</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keywordflow">if</span> (!list) {</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> }</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/*Reconstruction */</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/* the fraction [0...1] of rejected low intensity pixels when taking </span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">the average of columns */</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.lamp_flats.low_rejection"</span>,</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="stringliteral">"lower rejection: "</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="stringliteral">"percentage of rejected low intensity "</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="stringliteral">"pixels before averaging"</span>,</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="stringliteral">"sinfoni.lamp_flats"</span>,</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> 0.1,0.0,1.0);</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_flats-lo_rej"</span>);</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">/* the fraction [0...1] of rejected high intensity pixels when taking </span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> the average of columns */</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.lamp_flats.high_rejection"</span>,</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="stringliteral">"high rejection: "</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="stringliteral">"percentage of rejected high intensity "</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="stringliteral">"pixels before averaging"</span>,</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="stringliteral">"sinfoni.lamp_flats"</span>,</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> 0.1,0.0,1.0);</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_flats-hi_rej"</span>);</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">/* indicator if the bad pixels of the flatfield should be interpolated */</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.lamp_flats.interpol_index"</span>,</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="stringliteral">"Interpolation index switch: "</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="stringliteral">"indicator if the bad pixels of the flatfield "</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="stringliteral">"should be interpolated"</span>,</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="stringliteral">"sinfoni.lamp_flats"</span>,</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> FALSE);</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="stringliteral">"lamp_flats-interpol_index"</span>);</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment">/* maximal pixel distance from bad pixel to take valid pixels */</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.lamp_flats.max_rad"</span>,</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="stringliteral">"Max Rad: "</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="stringliteral">"maximal pixel distance from bad pixel "</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="stringliteral">"to take valid pixels"</span>,</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="stringliteral">"sinfoni.lamp_flats"</span>,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> 4);</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_flats-max_rad"</span>);</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment">/* indicator if a bad pixel mask should be generated or not */</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.lamp_flats.bad_ind"</span>,</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="stringliteral">"indicator if a bad pixel mask should be "</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="stringliteral">"generated or not"</span>,</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="stringliteral">"sinfoni.lamp_flats"</span>,</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> FALSE);</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_flats-bad_ind"</span>);</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment"> factor of the sigma noise limit; to remove the column intensity tilt only </span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment"> pixels which lie within a defined noise limit are used to fit a straight </span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment"> line</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.lamp_flats.sigma_factor"</span>,</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="stringliteral">"Sigma Factor: "</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="stringliteral">"factor of the sigma noise limit; "</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="stringliteral">"to remove the column intensity tilt only "</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="stringliteral">"pixels which lie within a defined noise "</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="stringliteral">"limit are used to fit a straight line"</span>,</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="stringliteral">"sinfoni.lamp_flats"</span>,</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> 5.);</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_flats-sigma_factor"</span>);</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment"> if |pixel - sinfo_median| > factor * standard deviation -> then the</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment"> pixel value is replaced by the median of the 8 nearest neighbors</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.lamp_flats.factor"</span>,</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="stringliteral">"Factor: "</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="stringliteral">"if |pixel - median| > factor * standard deviation -> "</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="stringliteral">"then the pixel value is replaced by the median of the 8 "</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="stringliteral">"nearest neighbors"</span>,</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="stringliteral">"sinfoni.lamp_flats"</span>,</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> 3.);</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_flats-factor"</span>);</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment">/* number of iterations to of sinfo_median filtering to find bad </span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment"> pixel clusters */</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.lamp_flats.iterations"</span>,</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="stringliteral">"Iterations: "</span></div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="stringliteral">"number of iterations to of median filtering "</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="stringliteral">"to find bad pixel clusters"</span>,</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="stringliteral">"sinfoni.lamp_flats"</span>,</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> 8);</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_flats-iterations"</span>);</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment">/* percentage of rejected low intensity pixels before averaging */</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.lamp_flats.bad_low_rejection"</span>,</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="stringliteral">"low rejection: "</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="stringliteral">"Percentage for bad pixel low rejection"</span>,</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="stringliteral">"sinfoni.lamp_flats"</span>,</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> 10.,0.,100.);</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_flats-bad_lo_rej"</span>);</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment">/* percentage of rejected high intensity pixels before averaging */</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.lamp_flats.bad_high_rejection"</span>,</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="stringliteral">"high rejection: "</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="stringliteral">"Percentage for bad pixel high rejection"</span>,</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="stringliteral">"sinfoni.lamp_flats"</span>,</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> 10.,0.,100.);</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_flats-bad_hi_rej"</span>);</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment">/* to compute image statistics on a rectangular zone of the image</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment"> the coordinates of the rectangle are needed</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment">/* lower left x coordinate */</span></div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.lamp_flats.llx"</span>,</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="stringliteral">"Lower Lext X corner"</span>,</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="stringliteral">"sinfoni.lamp_flats"</span>,</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> 1350,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_flats-llx"</span>);</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment">/* lower left y coordinate */</span></div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.lamp_flats.lly"</span>,</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="stringliteral">"Lower Lext Y corner"</span>,</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="stringliteral">"sinfoni.lamp_flats"</span>,</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> 1000,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_flats-lly"</span>);</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="comment">/* upper right x coordinate */</span></div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.lamp_flats.urx"</span>,</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="stringliteral">"Upper right X corner"</span>,</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="stringliteral">"sinfoni.lamp_flats"</span>,</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> 1390,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_flats-rrx"</span>);</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment">/* upper right y coordinate */</span></div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.lamp_flats.ury"</span>,</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="stringliteral">"Upper right Y corner"</span>,</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="stringliteral">"sinfoni.lamp_flats"</span>,</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> 1200,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_flats-ury"</span>);</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment">/* indicator that indicates if the values beyond a threshold deviation */</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.lamp_flats.thresh_ind"</span>,</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="stringliteral">"Treshold index: "</span>,</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="stringliteral">"sinfoni.lamp_flats"</span>,</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> FALSE);</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_flats-tresh_ind"</span>);</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="comment"> factor to the clean standard deviation to define the threshold deviation</span></div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="comment"> from the clean mean</span></div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.lamp_flats.mean_factor"</span>,</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="stringliteral">"Mean Factor: "</span></div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="stringliteral">"factor to the clean standard deviation to "</span></div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="stringliteral">"define the threshold deviation "</span></div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="stringliteral">"from the clean mean"</span>,</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="stringliteral">"sinfoni.lamp_flats"</span>,</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> 10.);</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_flats-mean_factor"</span>);</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="comment">/* QC LOG */</span></div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="comment">/* FPN */</span></div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.lamp_flats.qc_fpn_xmin1"</span>,</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="stringliteral">"qc_fpn_xmin1"</span>,</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="stringliteral">"sinfoni.lamp_flats"</span>,</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> 512,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_flats-qc_fpn_xmin1"</span>);</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.lamp_flats.qc_fpn_xmax1"</span>,</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="stringliteral">"qc_fpn_xmax1"</span>,</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="stringliteral">"sinfoni.lamp_flats"</span>,</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> 1536,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_flats-qc_fpn_xmax1"</span>);</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.lamp_flats.qc_fpn_ymin1"</span>,</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="stringliteral">"qc_fpn_ymin1"</span>,</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="stringliteral">"sinfoni.lamp_flats"</span>,</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> 512,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_flats-qc_fpn_ymin1"</span>);</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.lamp_flats.qc_fpn_ymax1"</span>,</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="stringliteral">"qc_fpn_ymax1"</span>,</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="stringliteral">"sinfoni.lamp_flats"</span>,</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> 1536,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_flats-qc_fpn_ymax1"</span>);</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.lamp_flats.qc_fpn_xmin2"</span>,</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="stringliteral">"qc_fpn_xmin2"</span>,</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="stringliteral">"sinfoni.lamp_flats"</span>,</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> 1350,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> </div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> cpl_parameter_set_alias(p,CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"lamp_flats-qc_fpn_xmin2"</span>);</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.lamp_flats.qc_fpn_xmax2"</span>,</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="stringliteral">"qc_fpn_xmax2"</span>,</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="stringliteral">"sinfoni.lamp_flats"</span>,</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> 1390,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> </div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_flats-qc_fpn_xmax2"</span>);</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.lamp_flats.qc_fpn_ymin2"</span>,</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="stringliteral">"qc_fpn_ymin2"</span>,</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="stringliteral">"sinfoni.lamp_flats"</span>,</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> 1000,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_flats-qc_fpn_ymin2"</span>);</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.lamp_flats.qc_fpn_ymax2"</span>,</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="stringliteral">"qc_fpn_ymax2"</span>,</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="stringliteral">"sinfoni.lamp_flats"</span>,</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> 1200,DET_PIX_MIN,DET_PIX_MAX);</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_flats-qc_fpn_ymax2"</span>);</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> </div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> </div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.lamp_flats.qc_thresh_min"</span>,</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="stringliteral">"qc_thresh_min"</span>,</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="stringliteral">"sinfoni.lamp_flats"</span>,</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> 0);</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_flats-qc_thresh_min"</span>);</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> </div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.lamp_flats.qc_thresh_max"</span>,</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="stringliteral">"qc_thresh_max"</span>,</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="stringliteral">"sinfoni.lamp_flats"</span>,</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> 49000);</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> </div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_flats-qc_thresh_max"</span>);</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> </div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__lamp__flats__config_8h_source.html b/html/sinfo__lamp__flats__config_8h_source.html
deleted file mode 100644
index 13d281e..0000000
--- a/html/sinfo__lamp__flats__config_8h_source.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_lamp_flats_config.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_lamp_flats_config.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_lamp_flats_config.h,v 1.1 2006/10/20 08:06:32 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2006/10/20 08:06:32 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Lamp_Spec Frames Data Reduction Parameter Initialization *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <cpl.h></span> <span class="comment">/* defines parlist structure */</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">#include "sinfo_dfs.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> sinfo_lamp_flats_config_add(cpl_parameterlist *list);</div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__lamp__flats__hidden__config_8c_source.html b/html/sinfo__lamp__flats__hidden__config_8c_source.html
deleted file mode 100644
index 9e20017..0000000
--- a/html/sinfo__lamp__flats__hidden__config_8c_source.html
+++ /dev/null
@@ -1,123 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_lamp_flats_hidden_config.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_lamp_flats_hidden_config.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_lamp_flats_hidden_config.c,v 1.5 2012/03/02 08:42:20 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2012/03/02 08:42:20 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.5 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> * Lamp_Spec Frames Data Reduction Parameter Initialization *</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_lamp_flats_hidden_config.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> sinfoni_lamp_flats_hidden_config_add(cpl_parameterlist *list)</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> {</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> cpl_parameter *p;</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keywordflow">if</span> (!list) {</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> }</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/* Output file name */</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">/* output name of resulting fits wavelength map */</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.lamp_flats.output_filename"</span>,</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> CPL_TYPE_STRING,</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="stringliteral">"Output File Name: "</span>,</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="stringliteral">"sinfoni.lamp_flats"</span>,</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="stringliteral">"out_flat.fits"</span>);</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"out-lampflat_filename"</span>);</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">/* name of the bad pixel mask fits file to be generated */</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.lamp_flats.bp_mask_out"</span>,</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> CPL_TYPE_STRING,</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="stringliteral">"Output Bad pixel mask: "</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="stringliteral">"name of the bad pixel mask fits file to be "</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="stringliteral">"generated"</span>,</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="stringliteral">"sinfoni.lamp_flats"</span>,</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="stringliteral">"out_bpmask.fits"</span>);</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_flats-bp_mask_out"</span>);</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__lamp__flats__hidden__config_8h_source.html b/html/sinfo__lamp__flats__hidden__config_8h_source.html
deleted file mode 100644
index f76686f..0000000
--- a/html/sinfo__lamp__flats__hidden__config_8h_source.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_lamp_flats_hidden_config.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_lamp_flats_hidden_config.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_lamp_flats_hidden_config.h,v 1.1 2006/10/20 08:06:32 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2006/10/20 08:06:32 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Lamp_Spec Frames Data Reduction Parameter Initialization *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include "cpl.h"</span> <span class="comment">/* defines parlist structure */</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">#include "sinfo_dfs.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> sinfoni_lamp_flats_hidden_config_add(cpl_parameterlist *list);</div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__lamp__ini_8c_source.html b/html/sinfo__lamp__ini_8c_source.html
deleted file mode 100644
index a6152d9..0000000
--- a/html/sinfo__lamp__ini_8c_source.html
+++ /dev/null
@@ -1,395 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_lamp_ini.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_lamp_ini.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : lamp_ini.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on :Mar 08, 2002</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description :prepare lamp spectrum frames ini file handling for SPIFFI</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "sinfo_lamp_ini.h"</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> Functions private to this module</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_general(dictionary *, lamp_config *, <span class="keywordtype">int</span> *);</div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_resampling(dictionary *, lamp_config *, <span class="keywordtype">int</span> *);</div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> parse_section_extractspectrum(dictionary *, lamp_config *, <span class="keywordtype">int</span> *);</div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">int</span> generateLamp_ini_file(</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">char</span> * ini_name,</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keywordtype">char</span> * name_i,</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">char</span> * name_o,</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">char</span> * name_c</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> )</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> {</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> FILE * ini_file ;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordflow">if</span> (sinfo_file_exists(ini_name)) {</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"overwriting %s"</span>, ini_name) ;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> }</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordflow">if</span> ((ini_file = fopen(ini_name, <span class="stringliteral">"w"</span>)) == (FILE*)NULL) {</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot create .ini file %s"</span>, ini_name) ;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> }</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> fprintf(ini_file,</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="stringliteral">"#\n"</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="stringliteral">"# Configuration file for the extraction of a halogen lamp spectrumn"</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="stringliteral">"#\n"</span>) ;</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> fprintf(ini_file, <span class="stringliteral">"#\n\n[Eclipse]\n"</span>) ;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> fprintf(ini_file, <span class="stringliteral">"VersionNumber = %s\n\n"</span>, get_eclipse_version()) ;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> fprintf(ini_file,</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="stringliteral">"\n"</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="stringliteral">"#\n"</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="stringliteral">"# ----- [General] configures various software stuff\n"</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="stringliteral">"#\n"</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="stringliteral">"# This section is not mandatory. All eclipse routines\n"</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="stringliteral">"# should be set once for all in a .eclipse-rc file.\n"</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="stringliteral">"# If you choose to use the variables here, they will\n"</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="stringliteral">"# override the settings you have in the environment.\n"</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="stringliteral">"# See the eclipse installation manual to see what\n"</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="stringliteral">"# these variables refer to.\n"</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="stringliteral">"#\n"</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="stringliteral">"\n"</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="stringliteral">"[General]\n"</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="stringliteral">"# MaximumMemory = 512 ; integer, maximum megs to allocate in RAM\n"</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="stringliteral">"# MaximumSwap = 2048 ; integer, maximum megs to allocate in swap\n"</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="stringliteral">"# TmpDirName = . ; path to temporary directory\n"</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="stringliteral">"\n"</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="stringliteral">"Verbose = no ; verbose mode activation\n"</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="stringliteral">"Debug = no ; debug mode activation\n"</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="stringliteral">"\n"</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="stringliteral">"# LogFile = yes ; activate message logging to a file\n"</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="stringliteral">"# LogFileName = /tmp/spiffi-log ; log file name\n"</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="stringliteral">"\n"</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="stringliteral">"\n"</span>) ;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> fprintf(ini_file,</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="stringliteral">"#\n"</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="stringliteral">"# the following are the names given in the argument of the python script\n"</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="stringliteral">"#\n"</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="stringliteral">"\n"</span>) ;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> fprintf(ini_file,</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="stringliteral">"InFrame = %s ; input file name\n"</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="stringliteral">"Wavemapim = %s ; file name of the wavelength map\n"</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="stringliteral">"OutName = %s ; name of output fits file\n"</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> , name_i, name_c, name_o ) ;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> fprintf(ini_file,</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="stringliteral">"#\n"</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="stringliteral">"# [Resampling] resamples the spectra to a given pixel length\n"</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="stringliteral">"# ExtractSpectrum] takes the clean mean along the spatial pixels \n"</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="stringliteral">"# by avoiding the bad pixel positions and delivers the final \n"</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="stringliteral">"# halogen lamp\n"</span> <span class="stringliteral">"# spectrum\n"</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="stringliteral">"\n"</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="stringliteral">"[Resampling]\n"</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="stringliteral">"Ncoeffs = 3 ; number of coefficients for the polynomial\n"</span> </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="stringliteral">" interpolation\n"</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="stringliteral">"Nrows = 2560 ; number of image rows in the resampled frame\n"</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="stringliteral">" (2560 for single frames, 5120 for dithered)\n"</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="stringliteral">"[ExtractSpectrum]\n"</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="stringliteral">"LoReject = 0.1 ; percentage of rejected low intensity pixels\n"</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="stringliteral">" before averaging\n"</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="stringliteral">"HiReject = 0.1 ; percentage of rejected high intensity pixels\n"</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="stringliteral">" before averaging\n"</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="stringliteral">"CountsToIntensity = 1. ; intensity conversion factor: counts per\n"</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="stringliteral">" intensity unit\n"</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="stringliteral">"\n"</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="stringliteral">"\n"</span>) ;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> fclose(ini_file) ;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> }</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> lamp_config * parse_lamp_ini_file(<span class="keywordtype">char</span> * ini_name)</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> {</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> dictionary * sym ;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> lamp_config * cfg ;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordtype">int</span> status ;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordflow">if</span> (!sinfo_file_exists(ini_name)) {</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot find ini file [%s]: aborting"</span>, ini_name) ;</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> }</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> sym = iniparser_load(ini_name) ;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordflow">if</span> (sym == NULL) {</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"in parsing ini file [%s]: aborting"</span>, ini_name) ;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> }</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> cfg = sinfo_lamp_cfg_create();</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">if</span> (cfg==NULL) {</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"allocating lamp_config struct"</span>);</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> iniparser_freedict(sym) ;</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> }</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment"> * Perform sanity checks, fill up the structure with what was</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment"> * found in the ini file</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> status = 0 ;</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> parse_section_general (sym, cfg, &status);</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> parse_section_resampling (sym, cfg, &status);</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> parse_section_extractspectrum (sym, cfg, &status);</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> iniparser_freedict(sym);</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="keywordflow">if</span> (status>0) {</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"%d errors in ini file [%s]"</span>, status, ini_name);</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> sinfo_lamp_cfg_destroy(cfg);</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> cfg = NULL ;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> }</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keywordflow">return</span> cfg ;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> }</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="comment"> Functions: parse_section_xxx()</span></div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="comment"> In : symbolic table read from ini file</span></div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="comment"> Out : void</span></div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="comment"> Job : update a lamp_config structure from what can be</span></div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="comment"> found in the ini file.</span></div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="comment"> Notice : all of these functions update a status integer to</span></div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="comment"> indicate if an error occurred, or leave it as it is if</span></div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment"> everything went Ok.</span></div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment"></span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment"> parse_section_general()</span></div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="comment"> parse_section_resampling ()</span></div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="comment"> parse_section_extractspectrum ()</span></div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="comment"></span></div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> parse_section_general(</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> dictionary * sym,</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> lamp_config * cfg,</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordtype">int</span> *status</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> )</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> {</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordtype">char</span> * cval ;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordtype">int</span> ival ;</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="comment"> * General section</span></div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> cval = iniparser_getstr(sym, <span class="stringliteral">"eclipse:versionnumber"</span>) ;</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keywordflow">if</span> (cval!=NULL) {</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keywordflow">if</span> (strcmp(cval, get_eclipse_version())) {</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"this ini file produced by version %s"</span>, cval);</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"you are running version %s"</span>, </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> get_eclipse_version());</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> }</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"no eclipse version number found in file"</span>);</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> }</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> ival = iniparser_getint(sym, <span class="stringliteral">"general:maximummemory"</span>, -1);</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keywordflow">if</span> (ival>0) sinfo_set_memory_parameter(<span class="stringliteral">"max_ram"</span>, ival);</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> ival = iniparser_getint(sym, <span class="stringliteral">"general:maximumswap"</span>, -1);</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keywordflow">if</span> (ival>0) sinfo_set_memory_parameter(<span class="stringliteral">"max_swap"</span>, ival);</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> sinfo_set_verbose(iniparser_getboolean(sym, <span class="stringliteral">"general:verbose"</span>, 0));</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> sinfo_set_debug(iniparser_getboolean(sym, <span class="stringliteral">"general:debug"</span>, 0));</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> cval = iniparser_getstr(sym, <span class="stringliteral">"general:tmpdirname"</span>);</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">if</span> (cval!=NULL) {</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> sinfo_set_tmpdirname(cval);</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> sinfo_set_tmpdirname(<span class="stringliteral">"."</span>);</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> }</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> ival = iniparser_getboolean(sym, <span class="stringliteral">"general:logfile"</span>, 0);</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="keywordflow">if</span> (ival) {</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> cval = iniparser_getstr(sym, <span class="stringliteral">"general:logfilename"</span>);</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="keywordflow">if</span> (cval!=NULL) {</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> sinfo_set_logfile(1);</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> sinfo_set_logfilename(cval);</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> sinfo_set_logfile(0) ;</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> }</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> }</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> cval = iniparser_getstr(sym, <span class="stringliteral">"general:inframe"</span>);</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keywordflow">if</span> (cval!=NULL) {</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> strcpy (cfg -> inFrame , cval ) ;</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" InFrame in the .ini file was not found!\n"</span>) ;</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> (*status)++ ;</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> }</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> cval = iniparser_getstr(sym, <span class="stringliteral">"general:wavemapim"</span>);</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="keywordflow">if</span> (cval!=NULL) {</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> strcpy (cfg -> wavemapim , cval ) ;</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" Wavemapim in the .ini file was not found!\n"</span>) ;</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> (*status)++ ;</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> }</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> cval = iniparser_getstr(sym, <span class="stringliteral">"general:outname"</span>);</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="keywordflow">if</span> (cval!=NULL) {</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> strcpy (cfg -> outName , cval );</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" OutName in the .ini file was not found!\n"</span>) ;</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> (*status)++ ;</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> }</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keywordflow">if</span> (sinfo_verbose_active())</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> sinfo_print_memory_parameters();</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> return ;</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> }</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_resampling(</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> dictionary * sym,</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> lamp_config * cfg,</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="keywordtype">int</span> *status</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> )</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> {</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="keywordtype">int</span> ival ;</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> ival = iniparser_getint(sym, <span class="stringliteral">"resampling:ncoeffs"</span>, -1) ;</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keywordflow">if</span> (ival != -1)</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> {</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> cfg -> ncoeffs = ival ;</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> }</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> {</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" ncoeffs in the .ini file was not found!\n"</span>) ;</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> (*status)++ ;</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> }</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> ival = iniparser_getint(sym, <span class="stringliteral">"resampling:nrows"</span>, -1) ;</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="keywordflow">if</span> (ival != -1)</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> {</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> cfg -> nrows = ival ;</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> }</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> {</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" nrows in the .ini file was not found!\n"</span>) ;</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> (*status)++ ;</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> }</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> </div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> return ;</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> </div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> }</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> </div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_extractspectrum(</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> dictionary * sym,</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> lamp_config * cfg,</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="keywordtype">int</span> *status )</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> {</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="keywordtype">float</span> dval ;</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> </div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> dval = iniparser_getdouble(sym, <span class="stringliteral">"extractspectrum:loreject"</span>, -1.) ;</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="keywordflow">if</span> (dval!=-1.)</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> {</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> cfg -> loReject = dval ;</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> }</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> {</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" LoReject in the .ini file was not found!\n"</span>) ;</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> (*status)++ ;</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> }</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> dval = iniparser_getdouble(sym, <span class="stringliteral">"extractspectrum:hireject"</span>, -1.) ;</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="keywordflow">if</span> (dval!=-1.)</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> {</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> cfg -> hiReject = dval ;</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> }</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> {</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" hiReject in the .ini file was not found!\n"</span>) ;</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> (*status)++ ;</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> }</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> dval=iniparser_getdouble(sym,<span class="stringliteral">"extractspectrum:countstointensity"</span>,-1.);</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="keywordflow">if</span> (dval!=-1.)</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> {</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> cfg -> countsToIntensity = dval ;</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> }</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> {</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"CountsToIntensity in the .ini file was not found!"</span>);</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> (*status)++ ;</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> }</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> return ;</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> }</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__lamp__ini_8h_source.html b/html/sinfo__lamp__ini_8h_source.html
deleted file mode 100644
index 485d10d..0000000
--- a/html/sinfo__lamp__ini_8h_source.html
+++ /dev/null
@@ -1,94 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_lamp_ini.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_lamp_ini.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> File name : sinfo_lamp_ini.h</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Created on : Mar 08, 2002</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Description : preparing lamp ini file handling for SPIFFI</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#ifndef SINFO_LAMP_INI_H</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_LAMP_INI_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "sinfo_lamp_cfg.h"</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> generateLamp_ini_file(</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keywordtype">char</span> * ini_name,</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">char</span> * name_i,</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">char</span> * name_o,</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">char</span> * name_c</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> );</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> lamp_config * </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> parse_lamp_ini_file(<span class="keywordtype">char</span> * ini_name) ;</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__lamp__ini__by__cpl_8c_source.html b/html/sinfo__lamp__ini__by__cpl_8c_source.html
deleted file mode 100644
index fb48d1c..0000000
--- a/html/sinfo__lamp__ini__by__cpl_8c_source.html
+++ /dev/null
@@ -1,239 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_lamp_ini_by_cpl.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_lamp_ini_by_cpl.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_lamp_ini_by_cpl.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : May 26, 2004</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : lamp spectrum cpl input handling for SPIFFI</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_lamp_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> Functions private to this module</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> parse_section_frames(lamp_config *, </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> cpl_parameterlist* cpl_cfg, </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> cpl_frameset** raw, </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keywordtype">int</span>* status);</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> parse_section_resampling(lamp_config *, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> parse_section_extractspectrum(lamp_config *, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> lamp_config * </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> sinfo_parse_cpl_input_lamp(cpl_parameterlist* cpl_cfg, </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> cpl_frameset** raw)</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> {</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> lamp_config * cfg= sinfo_lamp_cfg_create();</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">int</span> status=0;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> * Perform sanity checks, fill up the structure with what was</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> * found in the ini file</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> parse_section_resampling (cfg, cpl_cfg);</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> parse_section_extractspectrum (cfg, cpl_cfg);</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> parse_section_frames (cfg, cpl_cfg, sof, raw,&status);</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordflow">if</span> (status > 0) {</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"parsing cpl input"</span>);</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> sinfo_lamp_cfg_destroy(cfg);</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> cfg = NULL ;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> }</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordflow">return</span> cfg ;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> }</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> parse_section_frames(lamp_config * cfg,</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> cpl_parameterlist * cpl_cfg,</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> cpl_frameset * sof,</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> cpl_frameset ** raw,</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">int</span>* status)</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> {</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> cpl_frame* frame = NULL;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> cpl_parameter *p; </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">int</span> nraw=0;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">char</span> spat_res[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordtype">char</span> lamp_status[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">char</span> band[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">int</span> ins_set=0;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment">/* Input */</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> *raw=cpl_frameset_new();</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> sinfo_extract_raw_frames_type(sof,raw,PRO_FLUX_LAMP_STACKED); </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> nraw = cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">if</span>(nraw<1) {</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no good raw frame %s in input!"</span>,PRO_FLUX_LAMP_STACKED);</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> (*status)++;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> }</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> frame = cpl_frameset_get_frame(*raw,0);</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> strcpy(cfg -> inFrame,cpl_strdup(cpl_frame_get_filename(frame)));</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment">/* Output */</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_spec.output_filename"</span>);</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> strcpy(cfg -> outName, cpl_parameter_get_string(p));</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> sinfo_get_spatial_res(frame,spat_res);</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">switch</span>(sinfo_frame_is_on(frame))</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> {</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordflow">case</span> 0: </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> strcpy(lamp_status,<span class="stringliteral">"on"</span>);</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordflow">case</span> 1: </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> strcpy(lamp_status,<span class="stringliteral">"off"</span>);</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keywordflow">case</span> -1:</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keywordflow">default</span>: </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> }</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> sinfo_get_band(frame,band);</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> sinfo_msg(<span class="stringliteral">"Spatial resolution: %s lamp_status: %s band: %s \n"</span>,</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> spat_res, lamp_status, band);</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> sinfo_get_ins_set(band,&ins_set);</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_WAVE_MAP)) {</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> frame = cpl_frameset_find(sof,PRO_WAVE_MAP);</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> strcpy(cfg -> wavemapim,cpl_strdup(cpl_frame_get_filename(frame)));</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame %s not found! Exit!"</span>, PRO_WAVE_MAP);</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> (*status)++;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> }</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> return ;</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> }</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> parse_section_resampling(lamp_config * cfg, cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> {</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> cpl_parameter *p; </div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_spec.ncoeffs"</span>);</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> cfg -> ncoeffs = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_spec.nrows"</span>);</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> cfg -> nrows = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> return ;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> }</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> parse_section_extractspectrum(lamp_config * cfg, cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> {</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> cpl_parameter *p; </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_spec.lower_rejection"</span>);</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> cfg -> loReject = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_spec.higher_rejection"</span>);</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> cfg -> hiReject = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.lamp_spec.counts_to_intensity"</span>);</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> cfg -> countsToIntensity = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> return ;</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> }</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> sinfo_lamp_free(lamp_config * cfg)</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> { </div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> sinfo_lamp_cfg_destroy(cfg);</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__lamp__ini__by__cpl_8h_source.html b/html/sinfo__lamp__ini__by__cpl_8h_source.html
deleted file mode 100644
index 8ac5b6f..0000000
--- a/html/sinfo__lamp__ini__by__cpl_8h_source.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_lamp_ini_by_cpl.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_lamp_ini_by_cpl.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> File name : sinfo_lamp_ini_by_cpl.h</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Created on : May 26, 2004</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Description : lamp cpl input handling for SPIFFI</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#ifndef SINFO_LAMP_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_LAMP_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "sinfo_lamp_cfg.h"</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> lamp_config * </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> sinfo_parse_cpl_input_lamp(cpl_parameterlist* cpl_cfg, </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> cpl_frameset** raw) ;</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> sinfo_lamp_free(lamp_config * cfg);</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__lamp__spec__config_8c_source.html b/html/sinfo__lamp__spec__config_8c_source.html
deleted file mode 100644
index 9433c1b..0000000
--- a/html/sinfo__lamp__spec__config_8c_source.html
+++ /dev/null
@@ -1,165 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_lamp_spec_config.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_lamp_spec_config.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_lamp_spec_config.c,v 1.5 2012/03/02 08:42:20 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2012/03/02 08:42:20 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.5 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Lamp_Spec Frames Data Reduction Parameter Initialization *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span><span class="preprocessor">#include "sinfo_lamp_spec_config.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> sinfo_lamp_spec_config_add(cpl_parameterlist *list)</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> {</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> cpl_parameter *p;</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keywordflow">if</span> (!list) {</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> }</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/* Input file name */</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">/* Output file name */</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">/* output name of resulting fits wavelength map */</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.lamp_spec.output_filename"</span>,</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> CPL_TYPE_STRING,</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="stringliteral">"Output File Name: "</span>,</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="stringliteral">"sinfoni.lamp_spec"</span>,</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="stringliteral">"out_flatspec.fits"</span>);</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"out-lampspec_filename"</span>);</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">/* number of coefficients for the polynomial interpolation */</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.lamp_spec.ncoeffs"</span>,</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="stringliteral">"No of polynomial coeffs"</span>,</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="stringliteral">"sinfoni.lamp_spec"</span>,</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> 3);</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_spec-ncoeffs"</span>);</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">/* number of image rows in the resampled frame </span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> (1280 for single frames, 2560 for interleaved frames) */</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.lamp_spec.nrows"</span>,</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="stringliteral">"No of image rows in resampled frame"</span>,</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="stringliteral">"sinfoni.lamp_spec"</span>,</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> SINFO_RESAMP_NROWS);</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_spec-nrows"</span>);</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">/*Reconstruction */</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment">/* the fraction [0...1] of rejected low intensity pixels when taking </span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">the average of columns */</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.lamp_spec.lower_rejection"</span>,</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="stringliteral">"lower rejection"</span>,</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="stringliteral">"sinfoni.lamp_spec"</span>,</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> 0.1,0.0,1.0);</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_spec-low_rejection"</span>);</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">/* the fraction [0...1] of rejected high intensity pixels when taking </span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment">the average of columns */</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.lamp_spec.higher_rejection"</span>,</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="stringliteral">"high rejection"</span>,</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="stringliteral">"sinfoni.lamp_spec"</span>,</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> 0.1,0.0,1.0);</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_spec-high_rejection"</span>);</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.lamp_spec.counts_to_intensity"</span>,</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="stringliteral">"Counts To Intensity"</span>,</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="stringliteral">"sinfoni.lamp_spec"</span>,</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> 1.);</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"lamp_spec-cnt2int"</span>);</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__lamp__spec__config_8h_source.html b/html/sinfo__lamp__spec__config_8h_source.html
deleted file mode 100644
index 7e917ab..0000000
--- a/html/sinfo__lamp__spec__config_8h_source.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_lamp_spec_config.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_lamp_spec_config.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_lamp_spec_config.h,v 1.1 2006/10/20 08:06:32 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2006/10/20 08:06:32 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Lamp_Spec Frames Data Reduction Parameter Initialization *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include "cpl.h"</span> <span class="comment">/* defines parlist structure */</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> sinfo_lamp_spec_config_add(cpl_parameterlist *list);</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__local__types_8h_source.html b/html/sinfo__local__types_8h_source.html
deleted file mode 100644
index 53ab2fa..0000000
--- a/html/sinfo__local__types_8h_source.html
+++ /dev/null
@@ -1,178 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_local_types.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_local_types.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_local_types.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Nicolas Devillard</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Nov 27, 1995</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : all shared local types for eclipse</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> PUBLIC NOTICE AS REQUIRED BY LAW: Any use of this product, in any</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> manner whatsoever, will increase the amount of disorder in the</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> universe. Although no liability is implied herein, the consumer is</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> warned that this process will ultimately lead to the heat death of the</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> universe.</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> $Id: sinfo_local_types.h,v 1.4 2007/06/06 07:10:45 amodigli Exp $</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> $Author: amodigli $</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> $Date: 2007/06/06 07:10:45 $</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> $Revision: 1.4 $</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#ifndef SINFO_LOCAL_TYPES_H</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_LOCAL_TYPES_H</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor"></span><span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> New types</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> * These types are defined for portability issues</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> * On DEC-Alpha stations, long is 64 bits, but int is 32</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> * We have to redefine all int values accordingly to ensure</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> * portability!</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#ifdef _DEC_ALPHA</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> ulong32 ;</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keyword">typedef</span> <span class="keywordtype">int</span> long32 ;</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> ulong32 ;</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keyword">typedef</span> <span class="keywordtype">long</span> long32 ;</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> ushort16 ;</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keyword">typedef</span> <span class="keywordtype">short</span> short16 ;</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> uchar8 ;</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">typedef</span> <span class="keywordtype">char</span> char8 ;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> BYTE ;</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">/* defined in limits.h, redefined here for portability */</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="preprocessor">#define LONG32_MIN (long32)(-2147483647-1) </span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="preprocessor"></span><span class="preprocessor">#define LONG32_MAX (long32)(2147483647)</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="preprocessor"></span><span class="preprocessor">#define ULONG32_MAX (ulong32)(4294967295)</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="preprocessor">#define SHRT16_MIN (short16)(-32768)</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="preprocessor"></span><span class="preprocessor">#define SHRT16_MAX (short16)(32767)</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="preprocessor"></span><span class="preprocessor">#define USHRT16_MAX (ushort16)(65535)</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>_DOUBLE_COMPLEX_ {</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">double</span> x, y ;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> } dcomplex ;</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">/* pixelvalue is the internal Pixel representation */</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="preprocessor">#ifdef DOUBLEPIX</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keywordtype">double</span> pixelvalue ;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keywordtype">float</span> pixelvalue ;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"> * dpoint: useful to store point coordinates in double precision</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>_DPOINT_ {</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">double</span> x ;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordtype">double</span> y ;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> } dpoint ;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment">/* Pixel map */</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keyword">typedef</span> uchar8 binpix ;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>_PIXEL_MAP_</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> {</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">int</span> lx, ly ;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">int</span> nbpix ;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">int</span> ngoodpix ;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> binpix * data ;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> } pixel_map ;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="preprocessor">#define NullMap (pixel_map*)NULL</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="preprocessor">#endif </span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__matrix_8c_source.html b/html/sinfo__matrix_8c_source.html
deleted file mode 100644
index 7cb9563..0000000
--- a/html/sinfo__matrix_8c_source.html
+++ /dev/null
@@ -1,360 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_matrix.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_matrix.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_matrix.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Nicolas Devillard</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : 1994</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : basic 2d sinfo_eclipse_matrix handling routines</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> $Id: sinfo_matrix.c,v 1.4 2012/03/02 08:42:20 amodigli Exp $</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> $Author: amodigli $</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> $Date: 2012/03/02 08:42:20 $</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> $Revision: 1.4 $</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor"></span><span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_matrix.h"</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> Macros</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#define dtiny(a) ((a)<0?(a)> -1.e-30:(a)<1.e-30)</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"></span><span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> Private function prototypes</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keyword">static</span> <span class="keywordtype">int</span> gauss_pivot(<span class="keywordtype">double</span> *ptra, <span class="keywordtype">double</span> *ptrc, <span class="keywordtype">int</span> n);</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> Matrix</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> sinfo_create_mx(<span class="keywordtype">int</span> nr, <span class="keywordtype">int</span> nc)</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> {</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> Matrix b;</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> b = (Matrix)cpl_calloc(1,<span class="keyword">sizeof</span>(sinfo_eclipse_matrix));</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> b->m = (<span class="keywordtype">double</span>*)cpl_calloc(nr*nc,<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> b->nr= nr;</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> b->nc= nc;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordflow">return</span> b;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> }</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> Matrix</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> sinfo_copy_mx(Matrix a)</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> {</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> Matrix b = sinfo_create_mx(a->nr,a->nc);</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordflow">if</span> (b!=NULL) {</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keyword">register</span> <span class="keywordtype">int</span> s = a->nr*a->nc;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keyword">register</span> <span class="keywordtype">double</span> *mm = b->m+s;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keyword">register</span> <span class="keywordtype">double</span> *am = a->m+s;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordflow">while</span> (s--) *--mm = *--am;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> }</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordflow">return</span> b;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> }</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> sinfo_close_mx(Matrix a)</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> {</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordflow">if</span> (a==NULL) return ;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordflow">if</span> (a->m != NULL)</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> cpl_free(a->m);</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> cpl_free(a);</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> }</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> Matrix</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> sinfo_mul_mx(Matrix a, Matrix b)</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> {</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> Matrix c, d;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordtype">int</span> n1=a->nr, n2=a->nc, n3=b->nc;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keyword">register</span> <span class="keywordtype">double</span> *a0;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keyword">register</span> <span class="keywordtype">double</span> *c0;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keyword">register</span> <span class="keywordtype">double</span> *d0;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keyword">register</span> <span class="keywordtype">int</span> i,j,k;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordflow">if</span>(n2!=b->nr) <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> c = sinfo_create_mx(n1,n3);</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> d = sinfo_transp_mx(b);</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordflow">for</span> (i=0,c0=c->m;i<n1;i++)</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordflow">for</span> (j=0,d0=d->m;j<n3;j++,c0++)</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordflow">for</span> (k=0,*c0=0,a0=a->m+i*n2;k<n2;k++)</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> *c0 += *a0++ * *d0++;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> sinfo_close_mx(d);</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keywordflow">return</span> c;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> }</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> Matrix</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> sinfo_invert_mx(Matrix aa)</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> {</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> Matrix bb;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordtype">int</span> test=1;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">if</span>(aa->nr!=aa->nc) <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> bb = sinfo_create_mx(aa->nr,aa->nc);</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordflow">if</span>(aa->nr==1)</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> {</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordtype">double</span> det;</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keyword">register</span> <span class="keywordtype">double</span> ted;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> det= *(aa->m);</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordflow">if</span>(dtiny(det)) test=0;</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> ted=1./det;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> *(bb->m)=ted;</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> }</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span>(aa->nr==2)</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> {</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keywordtype">double</span> det;</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keyword">register</span> <span class="keywordtype">double</span> ted;</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="keyword">register</span> <span class="keywordtype">double</span> *mm=aa->m;</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordtype">double</span> a= *(mm++),b= *(mm++);</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordtype">double</span> c= *(mm++),d= *(mm);</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> det=a*d-b*c;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordflow">if</span>(dtiny(det)) test=0;</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> ted=1./det;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> mm=bb->m;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> *(mm++)= d*ted,*(mm++)= -b*ted;</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> *(mm++)= -c*ted,*(mm)= a*ted;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> }</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span>(aa->nr==3)</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> {</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="keywordtype">double</span> det;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keyword">register</span> <span class="keywordtype">double</span> ted;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keyword">register</span> <span class="keywordtype">double</span> *mm=aa->m;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keywordtype">double</span> a= *(mm++),b= *(mm++),c= *(mm++);</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="keywordtype">double</span> d= *(mm++),e= *(mm++),f= *(mm++);</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keywordtype">double</span> g= *(mm++),h= *(mm++),i= *(mm);</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> det=a*e*i-a*h*f-b*d*i+b*g*f+c*d*h-c*g*e;</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordflow">if</span>(dtiny(det)) test=0;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> ted=1./det;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> mm=bb->m;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> *(mm++)=(e*i-f*h)*ted,</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> *(mm++)=(c*h-b*i)*ted,</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> *(mm++)=(b*f-e*c)*ted;</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> *(mm++)=(f*g-d*i)*ted,</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> *(mm++)=(a*i-g*c)*ted,</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> *(mm++)=(d*c-a*f)*ted;</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> *(mm++)=(d*h-g*e)*ted,</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> *(mm++)=(g*b-a*h)*ted,</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> *(mm)=(a*e-d*b)*ted;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> }</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> {</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> Matrix temp=sinfo_copy_mx(aa);</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keywordflow">if</span>(gauss_pivot(temp->m,bb->m,aa->nr)==0) test=0;</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> sinfo_close_mx(temp);</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> }</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordflow">if</span>(test==0)</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> {</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"not invertible, aborting inversion"</span>);</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> }</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordflow">return</span> bb;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> }</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> Matrix</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> sinfo_transp_mx(Matrix a)</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> {</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="keyword">register</span> <span class="keywordtype">int</span> nc=a->nc, nr=a->nr;</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="keyword">register</span> <span class="keywordtype">double</span> *a0;</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keyword">register</span> <span class="keywordtype">double</span> *b0;</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keyword">register</span> <span class="keywordtype">int</span> i,j;</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> Matrix b = sinfo_create_mx(nc,nr);</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordflow">if</span> (b == (Matrix)NULL) <span class="keywordflow">return</span> b ;</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keywordflow">for</span> (i=0,b0=b->m;i<nc;i++)</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keywordflow">for</span> (j=0,a0=a->m+i;j<nr;j++,a0+=nc,b0++)</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> *b0 = *a0;</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keywordflow">return</span> b;</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> }</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> gauss_pivot(<span class="keywordtype">double</span> *ptra, <span class="keywordtype">double</span> *ptrc, <span class="keywordtype">int</span> n)</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="comment">/* c(n,n) = a(n,n)^-1 */</span></div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> {</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="preprocessor">#define SINFO_ABS(a) (((a) > 0) ? (a) : -(a))</span></div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="keyword">register</span> <span class="keywordtype">int</span> i,j,k,l;</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keywordtype">int</span> maj;</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="keywordtype">double</span> max,r,t;</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="keywordtype">double</span> *ptrb;</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> ptrb=(<span class="keywordtype">double</span> *)cpl_calloc(n*n,<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="keywordflow">for</span>(i=0;i<n;i++)</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> ptrb[i*n+i]= 1.0;</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="keywordflow">for</span> (i=1;i <= n;i++)</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> {</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="comment">/* Search max in current column */</span></div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> max = SINFO_ABS(*(ptra + n*i-n));</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> maj = i;</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keywordflow">for</span> (j = i;j <= n;j++)</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="keywordflow">if</span> (SINFO_ABS(*(ptra+n*j+i-n-1)) > max)</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> {</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> maj = j;</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> max = SINFO_ABS(*(ptra+n*j+i-n-1));</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> }</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="comment">/* swap lines i and maj */</span></div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="keywordflow">if</span> (maj != i)</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> {</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="keywordflow">for</span> (j = i;j <= n;j++)</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> {</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> r = *(ptra+n*maj+j-n-1);</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> *(ptra+n*maj+j-n-1) = *(ptra+n*i+j-n-1);</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> *(ptra+n*i+j-n-1) = r;</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> }</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="keywordflow">for</span>(l=0;l<n;l++)</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> {</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> r = *(ptrb+l*n+maj-1);</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> *(ptrb+l*n+maj-1) = *(ptrb+l*n+i-1);</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> *(ptrb+l*n+i-1) = r;</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> }</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> }</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="comment">/* Subtract line by line */</span></div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="keywordflow">for</span> (j = i + 1;j <= n;j++)</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> {</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> t = (*(ptra+(n+1)*i-n-1));</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="keywordflow">if</span>(dtiny(t)) <span class="keywordflow">return</span>(0);</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> r = (*(ptra+n*j+i-n-1)) / t;</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="keywordflow">for</span>(l=0;l<n;l++)</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> *(ptrb+l*n+j-1) -= r * (*(ptrb+l*n+i-1));</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="keywordflow">for</span> (k = i;k <= n;k++)</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> *(ptra+n*j+k-n-1) -= r * (*(ptra+n*i+k-n-1));</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> }</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> }</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="comment">/* Triangular system resolution */</span></div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="keywordflow">for</span>(l=0;l<n;l++)</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="keywordflow">for</span> (i = n;i >= 1;i--)</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> {</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> t = (*(ptra+(n+1)*i-n-1));</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="keywordflow">if</span>(dtiny(t)) <span class="keywordflow">return</span>(0);</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> *(ptrc+l+(i-1)*n) = (*(ptrb+l*n+i-1)) / t;</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="keywordflow">if</span> (i > 1)</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="keywordflow">for</span> (j = i - 1;j > 0;j--)</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> *(ptrb+l*n+j-1) -= (*(ptra+n*j+i-n-1)) * </div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> (*(ptrc+l+(i-1)*n));</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> }</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> cpl_free(ptrb);</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="keywordflow">return</span>(1);</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> }</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> Matrix </div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> sinfo_least_sq_mx(</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> Matrix A,</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> Matrix B</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> )</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> {</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> Matrix m1,</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> m2,</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> m3,</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> m4,</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> m5 ;</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> </div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> m1 = sinfo_transp_mx(A) ;</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> m2 = sinfo_mul_mx(A, m1) ;</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> m3 = sinfo_invert_mx(m2) ;</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> m4 = sinfo_mul_mx(B, m1) ;</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> m5 = sinfo_mul_mx(m4, m3) ;</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> sinfo_close_mx(m1) ;</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> sinfo_close_mx(m2) ;</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> sinfo_close_mx(m3) ;</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> sinfo_close_mx(m4) ;</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> </div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="keywordflow">return</span> m5 ;</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> }</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> </div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> sinfo_print_mx(</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> Matrix M,</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * name</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> )</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> {</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="keywordtype">int</span> i, j ;</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> </div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> fprintf(stdout, <span class="stringliteral">"# sinfo_eclipse_matrix %s is [%d x %d]\n"</span>, </div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> name, M->nr, M->nc) ;</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="keywordflow">for</span> (j=0 ; j<M->nr ; j++) {</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="keywordflow">for</span> (i=0 ; i<M->nc ; i++) {</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> fprintf(stdout, <span class="stringliteral">"%g\t"</span>, M->m[i+j*M->nc]) ;</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> }</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> fprintf(stdout, <span class="stringliteral">"\n"</span>) ;</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> }</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> fprintf(stdout, <span class="stringliteral">"\n"</span>) ;</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> }</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__matrix_8h_source.html b/html/sinfo__matrix_8h_source.html
deleted file mode 100644
index 69dbf23..0000000
--- a/html/sinfo__matrix_8h_source.html
+++ /dev/null
@@ -1,154 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_matrix.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_matrix.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_matrix.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Nicolas Devillard</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : 1994</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : basic 2d sinfo_eclipse_matrix handling routines</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> $Id: sinfo_matrix.h,v 1.3 2007/06/06 07:10:45 amodigli Exp $</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> $Author: amodigli $</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> $Date: 2007/06/06 07:10:45 $</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> $Revision: 1.3 $</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#ifndef SINFO_MATRIX_H</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_MATRIX_H</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <stdlib.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#define _(b,i,j) (*((b)->m+(i)*(b)->nc+(j))) </span><span class="comment">/* b(i,j)*/</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#define mx_get(M,i,j) ((M)->m[(i)+(j)*(M)->nc])</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor"></span><span class="preprocessor">#define mx_set(M,i,j,v) (mx_get(M,i,j)=v)</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> New Types</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>_MATRIX_ {</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">double</span> * m;</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">int</span> nr;</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">int</span> nc;</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> } sinfo_eclipse_matrix, *Matrix;</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> Matrix</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> sinfo_create_mx(<span class="keywordtype">int</span> nr, <span class="keywordtype">int</span> nc) ;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> Matrix</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> sinfo_copy_mx(Matrix a) ;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> sinfo_close_mx(Matrix a) ;</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> Matrix</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> sinfo_mul_mx(Matrix a, Matrix b) ;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> Matrix</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> sinfo_invert_mx(Matrix aa) ;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> Matrix</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> sinfo_transp_mx(Matrix a) ;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> Matrix sinfo_least_sq_mx(</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> Matrix A,</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> Matrix B</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> ) ;</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keywordtype">void</span> sinfo_print_mx(</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> Matrix M,</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * name</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> ) ;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__median_8c_source.html b/html/sinfo__median_8c_source.html
deleted file mode 100644
index cd9472b..0000000
--- a/html/sinfo__median_8c_source.html
+++ /dev/null
@@ -1,278 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_median.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_median.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_median.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : N. Devillard</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : 1998</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : Fast sinfo_median finding routines.</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> $Id: sinfo_median.c,v 1.4 2012/03/02 08:42:20 amodigli Exp $</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> $Author: amodigli $</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> $Date: 2012/03/02 08:42:20 $</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> $Revision: 1.4 $</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_median.h"</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> Macros</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#define median_WIRTH(a,n) sinfo_kth_smallest(a,n,(((n)&1)?((n)/2):(((n)/2)-1)))</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="preprocessor">#define PIX_SWAP(a,b) { register pixelvalue t=(a);(a)=(b);(b)=t; }</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> pixelvalue </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> sinfo_kth_smallest(pixelvalue a[], <span class="keywordtype">int</span> n, <span class="keywordtype">int</span> k)</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> {</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keyword">register</span> <span class="keywordtype">int</span> i,j,l,m ;</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keyword">register</span> pixelvalue x ;</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> l=0 ; m=n-1 ;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordflow">while</span> (l<m) {</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> x=a[k] ;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> i=l ;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> j=m ;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordflow">do</span> {</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordflow">while</span> (a[i]<x) i++ ;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordflow">while</span> (x<a[j]) j-- ;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordflow">if</span> (i<=j) {</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> PIX_SWAP(a[i],a[j]) ;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> i++ ; j-- ;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> }</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> } <span class="keywordflow">while</span> (i<=j) ;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordflow">if</span> (j<k) l=i ;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordflow">if</span> (k<i) m=j ;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> }</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordflow">return</span> a[k] ;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> }</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="preprocessor">#undef PIX_SWAP</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="preprocessor">#define DBL_SWAP(a,b) { register double t=(a);(a)=(b);(b)=t; }</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">double</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> sinfo_kth_smallest_double(<span class="keywordtype">double</span> a[], <span class="keywordtype">int</span> n, <span class="keywordtype">int</span> k)</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> {</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keyword">register</span> <span class="keywordtype">int</span> i,j,l,m ;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keyword">register</span> <span class="keywordtype">double</span> x ;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> l=0 ; m=n-1 ;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">while</span> (l<m) {</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> x=a[k] ;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> i=l ;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> j=m ;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordflow">do</span> {</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordflow">while</span> (a[i]<x) i++ ;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordflow">while</span> (x<a[j]) j-- ;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">if</span> (i<=j) {</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> DBL_SWAP(a[i],a[j]) ;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> i++ ; j-- ;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> }</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> } <span class="keywordflow">while</span> (i<=j) ;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordflow">if</span> (j<k) l=i ;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordflow">if</span> (k<i) m=j ;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> }</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordflow">return</span> a[k] ;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> }</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="preprocessor">#undef DBL_SWAP</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="preprocessor">#define PIX_SORT(a,b) { if ((a)>(b)) PIX_SWAP((a),(b)); }</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="preprocessor"></span><span class="preprocessor">#define PIX_SWAP(a,b) { pixelvalue temp=(a);(a)=(b);(b)=temp; }</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> pixelvalue</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> sinfo_opt_med3(</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> pixelvalue * p</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> )</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> {</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> PIX_SORT(p[0],p[1]) ; PIX_SORT(p[1],p[2]) ; PIX_SORT(p[0],p[1]) ;</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">return</span>(p[1]) ;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> }</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> pixelvalue</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> sinfo_opt_med5(</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> pixelvalue * p</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> )</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> {</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> PIX_SORT(p[0],p[1]) ; PIX_SORT(p[3],p[4]) ; PIX_SORT(p[0],p[3]) ;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> PIX_SORT(p[1],p[4]) ; PIX_SORT(p[1],p[2]) ; PIX_SORT(p[2],p[3]) ;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> PIX_SORT(p[1],p[2]) ; <span class="keywordflow">return</span>(p[2]) ;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> }</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> pixelvalue</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> sinfo_opt_med7(</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> pixelvalue * p</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> )</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> {</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> PIX_SORT(p[0], p[5]) ; PIX_SORT(p[0], p[3]) ; PIX_SORT(p[1], p[6]) ;</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> PIX_SORT(p[2], p[4]) ; PIX_SORT(p[0], p[1]) ; PIX_SORT(p[3], p[5]) ;</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> PIX_SORT(p[2], p[6]) ; PIX_SORT(p[2], p[3]) ; PIX_SORT(p[3], p[6]) ;</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> PIX_SORT(p[4], p[5]) ; PIX_SORT(p[1], p[4]) ; PIX_SORT(p[1], p[3]) ;</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> PIX_SORT(p[3], p[4]) ; <span class="keywordflow">return</span> (p[3]) ;</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> }</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> pixelvalue</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> sinfo_opt_med9(</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> pixelvalue * p</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> )</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> {</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> PIX_SORT(p[1], p[2]) ; PIX_SORT(p[4], p[5]) ; PIX_SORT(p[7], p[8]) ;</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> PIX_SORT(p[0], p[1]) ; PIX_SORT(p[3], p[4]) ; PIX_SORT(p[6], p[7]) ;</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> PIX_SORT(p[1], p[2]) ; PIX_SORT(p[4], p[5]) ; PIX_SORT(p[7], p[8]) ;</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> PIX_SORT(p[0], p[3]) ; PIX_SORT(p[5], p[8]) ; PIX_SORT(p[4], p[7]) ;</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> PIX_SORT(p[3], p[6]) ; PIX_SORT(p[1], p[4]) ; PIX_SORT(p[2], p[5]) ;</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> PIX_SORT(p[4], p[7]) ; PIX_SORT(p[4], p[2]) ; PIX_SORT(p[6], p[4]) ;</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> PIX_SORT(p[4], p[2]) ; <span class="keywordflow">return</span>(p[4]) ;</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> }</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> pixelvalue</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> sinfo_opt_med25(</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> pixelvalue * p</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> )</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> { </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> PIX_SORT(p[0], p[1]) ; PIX_SORT(p[3], p[4]) ; PIX_SORT(p[2], p[4]) ;</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> PIX_SORT(p[2], p[3]) ; PIX_SORT(p[6], p[7]) ; PIX_SORT(p[5], p[7]) ;</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> PIX_SORT(p[5], p[6]) ; PIX_SORT(p[9], p[10]) ; PIX_SORT(p[8], p[10]) ;</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> PIX_SORT(p[8], p[9]) ; PIX_SORT(p[12], p[13]) ; PIX_SORT(p[11], p[13]) ;</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> PIX_SORT(p[11], p[12]) ; PIX_SORT(p[15], p[16]) ; PIX_SORT(p[14], p[16]) ;</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> PIX_SORT(p[14], p[15]) ; PIX_SORT(p[18], p[19]) ; PIX_SORT(p[17], p[19]) ;</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> PIX_SORT(p[17], p[18]) ; PIX_SORT(p[21], p[22]) ; PIX_SORT(p[20], p[22]) ;</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> PIX_SORT(p[20], p[21]) ; PIX_SORT(p[23], p[24]) ; PIX_SORT(p[2], p[5]) ;</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> PIX_SORT(p[3], p[6]) ; PIX_SORT(p[0], p[6]) ; PIX_SORT(p[0], p[3]) ;</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> PIX_SORT(p[4], p[7]) ; PIX_SORT(p[1], p[7]) ; PIX_SORT(p[1], p[4]) ;</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> PIX_SORT(p[11], p[14]) ; PIX_SORT(p[8], p[14]) ; PIX_SORT(p[8], p[11]) ;</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> PIX_SORT(p[12], p[15]) ; PIX_SORT(p[9], p[15]) ; PIX_SORT(p[9], p[12]) ;</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> PIX_SORT(p[13], p[16]) ; PIX_SORT(p[10], p[16]) ; PIX_SORT(p[10], p[13]) ;</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> PIX_SORT(p[20], p[23]) ; PIX_SORT(p[17], p[23]) ; PIX_SORT(p[17], p[20]) ;</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> PIX_SORT(p[21], p[24]) ; PIX_SORT(p[18], p[24]) ; PIX_SORT(p[18], p[21]) ;</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> PIX_SORT(p[19], p[22]) ; PIX_SORT(p[8], p[17]) ; PIX_SORT(p[9], p[18]) ;</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> PIX_SORT(p[0], p[18]) ; PIX_SORT(p[0], p[9]) ; PIX_SORT(p[10], p[19]) ;</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> PIX_SORT(p[1], p[19]) ; PIX_SORT(p[1], p[10]) ; PIX_SORT(p[11], p[20]) ;</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> PIX_SORT(p[2], p[20]) ; PIX_SORT(p[2], p[11]) ; PIX_SORT(p[12], p[21]) ;</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> PIX_SORT(p[3], p[21]) ; PIX_SORT(p[3], p[12]) ; PIX_SORT(p[13], p[22]) ;</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> PIX_SORT(p[4], p[22]) ; PIX_SORT(p[4], p[13]) ; PIX_SORT(p[14], p[23]) ;</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> PIX_SORT(p[5], p[23]) ; PIX_SORT(p[5], p[14]) ; PIX_SORT(p[15], p[24]) ;</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> PIX_SORT(p[6], p[24]) ; PIX_SORT(p[6], p[15]) ; PIX_SORT(p[7], p[16]) ;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> PIX_SORT(p[7], p[19]) ; PIX_SORT(p[13], p[21]) ; PIX_SORT(p[15], p[23]) ;</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> PIX_SORT(p[7], p[13]) ; PIX_SORT(p[7], p[15]) ; PIX_SORT(p[1], p[9]) ;</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> PIX_SORT(p[3], p[11]) ; PIX_SORT(p[5], p[17]) ; PIX_SORT(p[11], p[17]) ;</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> PIX_SORT(p[9], p[17]) ; PIX_SORT(p[4], p[10]) ; PIX_SORT(p[6], p[12]) ;</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> PIX_SORT(p[7], p[14]) ; PIX_SORT(p[4], p[6]) ; PIX_SORT(p[4], p[7]) ;</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> PIX_SORT(p[12], p[14]) ; PIX_SORT(p[10], p[14]) ; PIX_SORT(p[6], p[7]) ;</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> PIX_SORT(p[10], p[12]) ; PIX_SORT(p[6], p[10]) ; PIX_SORT(p[6], p[17]) ;</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> PIX_SORT(p[12], p[17]) ; PIX_SORT(p[7], p[17]) ; PIX_SORT(p[7], p[10]) ;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> PIX_SORT(p[12], p[18]) ; PIX_SORT(p[7], p[12]) ; PIX_SORT(p[10], p[18]) ;</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> PIX_SORT(p[12], p[20]) ; PIX_SORT(p[10], p[20]) ; PIX_SORT(p[10], p[12]) ;</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> </div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="keywordflow">return</span> (p[12]);</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> } </div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> </div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="preprocessor">#undef PIX_SORT</span></div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="preprocessor"></span><span class="preprocessor">#undef PIX_SWAP</span></div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> pixelvalue </div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> sinfo_median_pixelvalue(pixelvalue * a, <span class="keywordtype">int</span> n)</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> {</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> pixelvalue sinfo_median ;</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="keywordflow">switch</span>(n) {</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="keywordflow">case</span> 3:</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> sinfo_median = sinfo_opt_med3(a);</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> break ;</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> </div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="keywordflow">case</span> 5:</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> sinfo_median = sinfo_opt_med5(a);</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> break ;</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="keywordflow">case</span> 7:</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> sinfo_median = sinfo_opt_med7(a);</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> break ;</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> </div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="keywordflow">case</span> 9:</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> sinfo_median = sinfo_opt_med9(a);</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> break ;</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> </div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="keywordflow">case</span> 25:</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> sinfo_median = sinfo_opt_med25(a);</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> break ;</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> sinfo_median = median_WIRTH(a,n);</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> break ;</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> }</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="keywordflow">return</span> sinfo_median;</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> }</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__median_8h_source.html b/html/sinfo__median_8h_source.html
deleted file mode 100644
index 2a147f9..0000000
--- a/html/sinfo__median_8h_source.html
+++ /dev/null
@@ -1,134 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_median.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_median.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_median.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : N. Devillard</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : 1998</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : Fast sinfo_median finding routines</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> $Id: sinfo_median.h,v 1.3 2007/06/06 07:10:45 amodigli Exp $</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> $Author: amodigli $</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> $Date: 2007/06/06 07:10:45 $</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> $Revision: 1.3 $</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#ifndef SINFO_MEDIAN_H</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_MEDIAN_H</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/* Get the definition of a pixelvalue */</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_local_types.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> Function prototypes</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> pixelvalue </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> sinfo_kth_smallest(pixelvalue a[], <span class="keywordtype">int</span> n, <span class="keywordtype">int</span> k);</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">double</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> sinfo_kth_smallest_double(<span class="keywordtype">double</span> a[], <span class="keywordtype">int</span> n, <span class="keywordtype">int</span> k) ;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="preprocessor">#define median_double(a,n) \</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="preprocessor">sinfo_kth_smallest_double(a,n,(((n)&1)?((n)/2):(((n)/2)-1)))</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> pixelvalue</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> sinfo_opt_med3(</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> pixelvalue * p</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> ) ;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> pixelvalue</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> sinfo_opt_med5(</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> pixelvalue * p</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> );</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> pixelvalue</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> sinfo_opt_med7(</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> pixelvalue * p</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> ) ;</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> pixelvalue</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> sinfo_opt_med9(</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> pixelvalue * p</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> ) ;</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> pixelvalue</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> sinfo_opt_med25(</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> pixelvalue * p</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> ) ;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> pixelvalue </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> sinfo_median_pixelvalue(pixelvalue * a, <span class="keywordtype">int</span> n);</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__merge_8c_source.html b/html/sinfo__merge_8c_source.html
deleted file mode 100644
index 2561d10..0000000
--- a/html/sinfo__merge_8c_source.html
+++ /dev/null
@@ -1,1016 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_merge.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_merge.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* </span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* schreib 04/07/00 created</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">* NAME </span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">* sinfo_merge.c - merges the rows of two image data frames into</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">* one frame with doubled column length </span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">* </span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">* SYNOPSIS</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">* #include "merge.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">* a) cpl_image * sinfo_sinfo_merge_images ( cpl_image * im1, </span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">* cpl_image * im2, </span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">* cpl_image * res_image )</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">* 1) cpl_image * sinfo_new_remove_general_offset( cpl_image * im1, </span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">* cpl_image * im2, </span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">* cpl_image * res_image, </span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">* int n )</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">* 2) cpl_image * sinfo_new_remove_regional_tilt ( cpl_image * im1,</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">* cpl_image * im2, </span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">* cpl_image * res_image )</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">* 3) cpl_image * sinfo_new_remove_column_offset ( cpl_image * im1, </span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">* cpl_image * im2, </span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">* cpl_image * res_image )</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">* 4) cpl_image * sinfo_new_remove_residual_tilt ( cpl_image * im2, </span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> cpl_image * res_image )</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">* 5) cpl_image * sinfo_new_remove_residual_offset( cpl_image * im2, </span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> cpl_image * res_image )</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">* DESCRIPTION</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">* a) merges the rows of two image frames in a way that the resulting</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">* image has double length in y-direction</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">* The procedures are used in the SPIFFI data reduction to merge two </span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">* data frames. In order to fully match the two input frames there</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">* are five steps (procedures) foreseen:</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">* 1) remove general offset between the frames, created by e.g. different</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">* air masses. </span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">* 2) remove regional tilt between frames, created by e.g. different </span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">* emissivities.</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">* 3) remove individual column offsets, created e.g. by imperfect </span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">* guiding, offset is divided out.</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">* 4) remove residual individual column tilts, created by previous </span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">* operations.</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">* 5) remove residual column offsets by subtracting the sinfo_median.</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">* FILES</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">* ENVIRONMENT</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">* RETURN VALUES </span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">* always the pointer to the image data structure cpl_image</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">* CAUTIONS </span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment">* EXAMPLES</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment">* SEE ALSO</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">* Python script merging.py</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">* BUGS </span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="preprocessor"></span><span class="preprocessor">#include "sinfo_vltPort.h"</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"> * System Headers</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment"> * Local Headers</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="preprocessor">#include "sinfo_merge.h"</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> cpl_image * sinfo_sinfo_merge_images ( cpl_image * im1, </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> cpl_image * im2, </div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> cpl_image * res_image )</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> {</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> cpl_image * out_image ;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> cpl_image * residual ;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordtype">int</span> i, j ;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keywordtype">int</span> lx1=0;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordtype">int</span> ly1=0;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordtype">int</span> lx2=0;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">int</span> ly2=0;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordtype">float</span>* pi1data=NULL;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordtype">float</span>* pi2data=NULL;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordtype">float</span>* pirdata=NULL;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordtype">float</span>* poutdata=NULL;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordtype">float</span>* ptmpdata=NULL;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keywordflow">if</span> ( im1 == NULL || im2 == NULL || res_image == NULL)</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> {</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" null image as input"</span>) ;</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> }</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> lx1=cpl_image_get_size_x(im1);</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> ly1=cpl_image_get_size_y(im1);</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> lx2=cpl_image_get_size_x(im2);</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> ly2=cpl_image_get_size_y(im2);</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> pi1data=cpl_image_get_data_float(im1);</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> pi2data=cpl_image_get_data_float(im2);</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> pirdata=cpl_image_get_data_float(res_image);</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordflow">if</span> ( lx1 != lx2 || ly1 != ly2 )</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> {</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"input images are not compatible in size"</span>) ;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> }</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordflow">if</span> ( NULL == (out_image = cpl_image_new (lx1, 2 * ly1,CPL_TYPE_FLOAT)) )</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> {</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" cannot allocate new image"</span>) ;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> }</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> poutdata=cpl_image_get_data_float(out_image);</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">if</span> ( NULL == (residual = cpl_image_new (lx1, ly1,CPL_TYPE_FLOAT)) )</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> {</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" cannot allocate new image "</span>) ;</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> }</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> ptmpdata=cpl_image_get_data_float(residual);</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="comment">/* now compute the final residual image */</span></div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) lx1*ly1 ; i ++ )</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> {</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordflow">if</span> ( isnan(pi1data[i]) || isnan(pi2data[i]) )</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> {</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> ptmpdata[i] = ZERO ;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> } </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> {</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> ptmpdata[i] = pi1data[i] - pi2data[i] ;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> }</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> pirdata[i] = ptmpdata[i] ;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> }</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment">/* now merge the two images */</span></div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keywordflow">for</span> ( i = 0 ; i < ly1 ; i ++ )</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> {</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keywordflow">for</span> ( j = 0 ; j < lx1 ; j ++ )</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> {</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment">/* transfer rows to output */</span></div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> poutdata[2*i*lx1 + j] = pi1data[i*lx1 + j] ;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> poutdata[(2*i+1) * lx1 + j] = pi2data[i*lx1 + j] ;</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> } </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> }</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> cpl_image_delete (residual) ;</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keywordflow">return</span> out_image ;</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> }</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> cpl_image * sinfo_new_remove_general_offset( cpl_image * im1, </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> cpl_image * im2, </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> cpl_image * res_image, </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keywordtype">int</span> n )</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> {</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> cpl_image * out_image ;</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> cpl_image * residual ;</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> pixelvalue sum, sqr_sum ;</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> pixelvalue mean, stdev ;</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="keywordtype">int</span> i, npix ;</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="keywordtype">int</span> lx1=0;</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keywordtype">int</span> ly1=0;</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keywordtype">int</span> lx2=0;</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="keywordtype">int</span> ly2=0;</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="keywordtype">int</span> lxr=0;</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordtype">int</span> lyr=0;</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keywordtype">int</span> lxt=0;</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keywordtype">int</span> lyt=0;</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keywordtype">float</span>* pi1data=NULL;</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keywordtype">float</span>* pi2data=NULL;</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="keywordtype">float</span>* pirdata=NULL;</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="keywordtype">float</span>* poutdata=NULL;</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="keywordtype">float</span>* ptmpdata=NULL;</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="keywordflow">if</span> ( im1 == NULL || im2 == NULL )</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> {</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" null image as input"</span>) ;</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> }</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> lx1=cpl_image_get_size_x(im1);</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> ly1=cpl_image_get_size_y(im1);</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> lx2=cpl_image_get_size_x(im2);</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> ly2=cpl_image_get_size_y(im2);</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> pi1data=cpl_image_get_data_float(im1);</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> pi2data=cpl_image_get_data_float(im2);</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keywordflow">if</span> ( lx1 != lx2 || ly1 != ly2 )</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> {</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" input images are not compatible in size"</span>) ;</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> }</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="keywordflow">if</span> ( n <= 0 )</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> {</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"number of rows for offset determination "</span></div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="stringliteral">"is 0 or smaller "</span>) ;</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> }</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="keywordflow">if</span> ( NULL == (residual = cpl_image_new (lx1, ly1, CPL_TYPE_FLOAT)) )</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> {</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" cannot allocate new image "</span>) ;</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> }</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> out_image = cpl_image_duplicate( im2 ) ;</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> poutdata=cpl_image_get_data_float(out_image);</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> ptmpdata=cpl_image_get_data_float(residual);</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> lxt=cpl_image_get_size_x(residual);</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> lyt=cpl_image_get_size_y(residual);</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> </div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="comment">/* ---------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="comment"> * first we determine the "good" pixels and subtract the two images </span></div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="comment"> * then we determine the mean and 3 sigma</span></div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> sum = 0. ;</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> sqr_sum = 0. ;</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> npix = 0 ;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) lx1*ly1 ; i ++ )</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> {</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="keywordflow">if</span> ( isnan(pi1data[i]) || isnan(pi2data[i]) )</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> {</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> ptmpdata[i] = ZERO ;</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> continue ;</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> } </div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> {</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> ptmpdata[i] = pi1data[i] - pi2data[i] ;</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> }</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> </div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> sum += ptmpdata[i] ;</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> sqr_sum += (ptmpdata[i]) * (ptmpdata[i]) ;</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> npix ++ ;</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> }</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="keywordflow">if</span> ( npix <= 1 )</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> {</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> mean = 0. ;</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> stdev = 0. ;</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> }</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> {</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> mean = sum / (pixelvalue) npix ; </div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="comment">/* stdev is 3 sigma */</span></div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> stdev = 3 * sqrt(( sqr_sum - sum*mean ) / (pixelvalue)(npix - 1)) ;</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> }</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="comment">/* exclude everything > 3 sigma */</span></div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> </div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) lxt*lyt ; i++ )</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> {</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="keywordflow">if</span> ( fabs( ptmpdata[i] - mean ) > stdev )</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> {</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> ptmpdata[i] = ZERO ;</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> }</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> }</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="comment">/* now subtract the general offset which is determined </span></div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="comment"> as mean of the first n rows */</span></div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> sum = 0. ;</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> npix = 0 ;</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="keywordflow">for</span> ( i = 0 ; i < n * lxt ; i++ )</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> {</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="keywordflow">if</span> ( isnan(ptmpdata[i]) )</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> {</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> continue ;</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> }</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> sum += ptmpdata[i] ;</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> npix ++ ;</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> }</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="keywordflow">if</span> ( npix == 0 )</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> {</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> mean = 0. ;</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> }</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> {</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> mean = sum / (pixelvalue) npix ; </div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> } </div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="comment">/* now apply this to the second input image */</span></div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) lx2*ly2 ; i++ )</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> {</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="keywordflow">if</span> ( isnan(pi2data[i]) )</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> {</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> poutdata[i] = ZERO ;</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> continue ;</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> }</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> poutdata[i] = pi2data[i] + mean ;</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> } </div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> </div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="comment">/* now determine the residual image if available */</span></div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="keywordflow">if</span> ( res_image != NULL )</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> {</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> </div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> lxr=cpl_image_get_size_x(res_image);</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> lyr=cpl_image_get_size_y(res_image);</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> pirdata=cpl_image_get_data_float(res_image);</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> </div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> </div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) lxt*lyt ; i++ )</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> {</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="keywordflow">if</span> ( isnan(ptmpdata[i]) )</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> {</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> pirdata[i] = ZERO ;</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> continue ;</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> }</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> pirdata[i] = ptmpdata[i] - mean ;</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> }</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> } </div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> </div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> cpl_image_delete (residual) ;</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> </div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="keywordflow">return</span> out_image ;</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> }</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> </div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> cpl_image * sinfo_new_remove_regional_tilt ( cpl_image * im1, </div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> cpl_image * im2, </div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> cpl_image * res_image )</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> {</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> cpl_image * out_image ;</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> cpl_image * filtered ;</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="keywordtype">int</span> i, j, k, npix, nrunning ;</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> pixelvalue a, b, sum, sumx, sumy, sumc, sum2 ;</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="keywordtype">int</span> lx1=0;</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="keywordtype">int</span> ly1=0;</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="keywordtype">int</span> lx2=0;</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <span class="keywordtype">int</span> ly2=0;</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> <span class="keywordtype">int</span> lxr=0;</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="keywordtype">int</span> lyr=0;</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="keywordtype">int</span> lxf=0;</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="keywordtype">int</span> lyf=0;</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> </div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="keywordtype">float</span>* pi1data=NULL;</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="keywordtype">float</span>* pi2data=NULL;</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="keywordtype">float</span>* pirdata=NULL;</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="keywordtype">float</span>* poutdata=NULL;</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="keywordtype">float</span>* pfildata=NULL;</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> </div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="keywordflow">if</span> ( im1 == NULL || im2 == NULL || res_image == NULL )</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> {</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"null image as input"</span>) ;</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> }</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> lx1=cpl_image_get_size_x(im1);</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> ly1=cpl_image_get_size_y(im1);</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> </div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> lx2=cpl_image_get_size_x(im2);</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> ly2=cpl_image_get_size_y(im2);</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> </div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> lxr=cpl_image_get_size_x(res_image);</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> lyr=cpl_image_get_size_y(res_image);</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> </div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> </div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> pi1data=cpl_image_get_data_float(im1);</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> pi2data=cpl_image_get_data_float(im2);</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> pirdata=cpl_image_get_data_float(res_image);</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> </div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="keywordflow">if</span> ( lx1 != lx2 || ly1 != ly2 ||</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> lx2 != lxr || ly2 != lyr )</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> {</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"input images are not compatible in size"</span>) ;</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> }</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> </div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="keywordflow">if</span> ( NULL == ( filtered = cpl_image_new (lx2, ly2,CPL_TYPE_FLOAT)) )</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> {</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new image "</span>) ;</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> }</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> </div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> out_image = cpl_image_duplicate( im2 ) ;</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> poutdata=cpl_image_get_data_float(out_image);</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> pfildata=cpl_image_get_data_float(filtered);</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> lxf=cpl_image_get_size_x(filtered);</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> lyf=cpl_image_get_size_y(filtered);</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> </div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="comment">/*-------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="comment"> * Now work in the given difference image res_image on each </span></div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="comment"> column separately. This image is first smoothed columnwise </span></div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="comment"> by a running box</span></div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> </div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> nrunning = 31 ; <span class="comment">/* # of points in the running box, odd number required */</span></div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> </div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <span class="keywordflow">for</span> ( j = 0 ; j < lyr ; j ++ ) <span class="comment">/* select a row */</span></div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> {</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="keywordflow">for</span> ( i = 0 ; i < lxr ; i ++ ) <span class="comment">/* go through one row */</span></div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> {</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> npix = 0 ;</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> sum = 0. ;</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="keywordflow">for</span> (k = i - (nrunning-1)/2 ; k < i + (nrunning+1)/2; k ++ )</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> {</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="comment">/* marginal pixels are not considered */</span></div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="keywordflow">if</span> ( k < 2 )</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> {</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> continue ;</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> }</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <span class="keywordflow">if</span> ( k > (lxr) - 2 )</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> {</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> break ;</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> </div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> }</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="keywordflow">if</span> ( isnan(pirdata[j*lxr + k]) )</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> {</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> continue ;</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> }</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> npix ++ ;</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> sum += pirdata[j*lxr + k] ;</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> }</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> <span class="keywordflow">if</span> ( npix != 0 )</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> {</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> pfildata[j*lxr + i] = sum/npix ;</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> }</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> {</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> pfildata[j*lxr + i] = ZERO ;</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> }</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> }</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> } </div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> </div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> <span class="comment">/*------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> <span class="comment"> * now determine the tilt in each column and remove it in such a way</span></div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="comment"> * that the first rows are used as references that are not changed</span></div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="comment"> * a free regression fit is (index i means the sum over i):</span></div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="comment"> * ax + b: a = [<xiyi>-<xi><yi>]/[<xi^2>-<xi>^2]</span></div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> <span class="comment"> * => : a = [xiyi - xi<yi>]/[xi^2 - xi<xi>]</span></div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> <span class="comment"> * b = <yi> - a<xi></span></div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> </div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="keywordflow">for</span> ( i = 0 ; i < lxf ; i ++ ) <span class="comment">/* one column selected */</span></div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> {</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> sumy = 0. ; <span class="comment">/* yi */</span></div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> sumc = 0. ; <span class="comment">/* xiyi */</span></div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> sumx = 0. ; <span class="comment">/* xi */</span></div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> sum2 = 0. ; <span class="comment">/* xi^2 */</span></div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> npix = 0 ; </div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> </div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> <span class="keywordflow">for</span> ( j = 0 ; j < lyf ; j ++ ) </div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> {</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="keywordflow">if</span> ( isnan(pfildata[i + j*lxf]) )</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> {</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> continue ;</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> }</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> sumy += pfildata[i + j*lxf] ;</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> sumc += (pfildata[i + j*lxf]) * j ;</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> sum2 += j*j ;</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> sumx += j ;</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> npix ++ ;</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> }</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <span class="keywordflow">if</span> ( npix > 2 && fabs(sum2 - sumx*sumx/npix) >= 1e-6 ) </div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> {</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> a = ( sumc - sumx*sumy/npix ) / ( sum2 - sumx*sumx/npix ) ;</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> b = ( sumy - a*sumx ) / npix ;</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> } </div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> {</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> a = ZERO ;</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> b = ZERO ;</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> }</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> </div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> <span class="comment">/*-----------------------------------------------------------</span></div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> <span class="comment"> * now correct the second input image im2 and the res_image.</span></div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="comment"> */</span> </div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> </div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <span class="keywordflow">if</span> ( !isnan(a) && !isnan(b) && fabs(a) < 1e8 && fabs(b) < 1e8 )</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> {</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="keywordflow">for</span> ( j = 0 ; j < lyf ; j ++ ) <span class="comment">/* the same column */</span></div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> {</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <span class="keywordflow">if</span> ( !isnan(poutdata[i + j*lxf]) )</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> {</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> poutdata[i + j*lxf] += a*j+b ; </div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> }</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> }</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> }</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> }</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> </div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> <span class="comment">/* now compute the final residual image */</span></div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) lx1*ly1 ; i ++ )</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> {</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> <span class="keywordflow">if</span> ( isnan(pi1data[i]) || isnan(poutdata[i]) )</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> {</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> pirdata[i] = ZERO ;</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> } </div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> {</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> pirdata[i] = pi1data[i] - poutdata[i] ;</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> }</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> }</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> </div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> cpl_image_delete (filtered) ;</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> </div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> <span class="keywordflow">return</span> out_image ;</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> }</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> </div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> </div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> cpl_image * sinfo_new_remove_column_offset ( cpl_image * im1, </div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> cpl_image * im2, </div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> cpl_image * res_image )</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> {</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> cpl_image * out_image ;</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> <span class="keywordtype">int</span> i, j, npix, nrunning ;</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> pixelvalue sum, sum2, mean, stdev, median1, median2, ratio ;</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> pixelvalue * column1, * column2 ;</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> <span class="keywordtype">int</span> lx1=0;</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="keywordtype">int</span> ly1=0;</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="keywordtype">int</span> lx2=0;</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> <span class="keywordtype">int</span> ly2=0;</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> <span class="keywordtype">int</span> lxr=0;</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> <span class="keywordtype">int</span> lyr=0;</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> <span class="keywordtype">float</span>* pi1data=NULL;</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> <span class="keywordtype">float</span>* pi2data=NULL;</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> <span class="keywordtype">float</span>* pirdata=NULL;</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> <span class="keywordtype">float</span>* poutdata=NULL;</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> </div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="keywordflow">if</span> ( im1 == NULL || im2 == NULL || res_image == NULL )</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> {</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"null image as input"</span>) ;</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> }</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> lx1=cpl_image_get_size_x(im1);</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> ly1=cpl_image_get_size_y(im1);</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> </div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> lx2=cpl_image_get_size_x(im2);</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> ly2=cpl_image_get_size_y(im2);</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> </div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> lxr=cpl_image_get_size_x(res_image);</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> lyr=cpl_image_get_size_y(res_image);</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> </div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> </div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> pi1data=cpl_image_get_data_float(im1);</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> pi2data=cpl_image_get_data_float(im2);</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> pirdata=cpl_image_get_data_float(res_image);</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> </div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="keywordflow">if</span> ( lx1 != lx2 || ly1 != ly2 ||</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> lx2 != lxr || ly2 != lyr )</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> {</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"input images are not compatible in size"</span>) ;</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> }</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> </div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> out_image = cpl_image_duplicate( im2 ) ;</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> poutdata=cpl_image_get_data_float(out_image);</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> </div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="comment">/*------------------------------------------------------------------------- </span></div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> <span class="comment"> * now we deal with a constant offset in every column. We assume that it </span></div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> <span class="comment"> is due to redistribution of the flux. So we should divide the offset </span></div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> <span class="comment"> out. The ratio is derived from the medians of the contributions </span></div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> <span class="comment"> rather than the means.</span></div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> </div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> <span class="keywordflow">for</span> ( i = 0 ; i < lx2 ; i ++ ) <span class="comment">/* select a column */</span></div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> {</div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> <span class="comment">/* statistics on columns */</span></div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> sum = 0. ;</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> sum2 = 0. ;</div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> npix = 0 ;</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> <span class="keywordflow">for</span> ( j = 0 ; j < ly2 ; j ++ )</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> {</div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> <span class="comment">/* first select only the good pixels */</span></div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> <span class="keywordflow">if</span> ( isnan(pirdata[i + j*lxr]) )</div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> {</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> continue ;</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> }</div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> sum += pirdata[i + j*lxr] ;</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> sum2 += pirdata[i + j*lxr] * </div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> pirdata[i + j*lxr] ; </div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> npix ++ ;</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> }</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> <span class="keywordflow">if</span> ( npix <= 1 )</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> {</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> continue ;</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> }</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> {</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> mean = sum/(pixelvalue) npix ;</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> <span class="keywordflow">if</span> ( (sum2 - sum * mean) < 0 )</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> {</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"variance is negative"</span>) ; </div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> continue ;</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> }</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> {</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> <span class="comment">/* 2 sigma */</span></div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> stdev = 2 * sqrt ( (sum2 - sum*mean)/(pixelvalue)(npix - 1) ) ;</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> }</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> }</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> </div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> <span class="comment">/* do it only if the S/N is high enough */</span></div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> <span class="keywordflow">if</span> ( fabs(mean)/stdev < 0.5 )</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> {</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> continue ;</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> }</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> </div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> <span class="comment">/* exclude everything > 2 sigma */</span></div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> <span class="keywordflow">for</span> ( j = 0 ; j < lyr ; j ++ )</div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> {</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> <span class="keywordflow">if</span> ( pirdata[i + j*lxr] < mean - stdev ||</div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> pirdata[i + j*lxr] > mean + stdev )</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> {</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> pirdata[i + j*lxr] = ZERO ;</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> }</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> } </div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> </div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> <span class="comment">/* now deal with the offset */</span></div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> median1 = 0. ;</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> median2 = 0. ;</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> nrunning = 0 ;</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> <span class="comment">/* allocate memory for the column buffers */</span></div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> column1 = (pixelvalue *) cpl_calloc ( ly1 , <span class="keyword">sizeof</span> (pixelvalue *) ) ;</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> column2 = (pixelvalue *) cpl_calloc ( ly2 , <span class="keyword">sizeof</span> (pixelvalue *) ) ; </div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> </div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> <span class="keywordflow">for</span> ( j = 0 ; j < lyr ; j++ ) <span class="comment">/* go through one column */</span></div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> {</div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> <span class="keywordflow">if</span> ( isnan(pirdata[i + j*lxr]) )</div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> {</div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> continue ;</div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> }</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> <span class="keywordflow">if</span> ( isnan(pi1data[i+j*lx1]) || isnan(pi2data[i+j*lx2]) )</div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> {</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> continue ;</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> }</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> column1[nrunning] = pi1data[i + j*lx1] ;</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> column2[nrunning] = pi2data[i + j*lx2] ;</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> nrunning ++ ;</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> }</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> </div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="comment">/* change the second input image only if there are more then </span></div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> <span class="comment"> 10 % good pixels in a column */</span></div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> <span class="keywordflow">if</span> ( nrunning > 0.1*lyr )</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> {</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> <span class="comment">/* --------------------------------------------------------------</span></div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> <span class="comment"> * determine the medians of the columns of both images and compute </span></div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> <span class="comment"> the ratio, the columns of the second input image are multiplied </span></div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> <span class="comment"> by this ratio to adjust the column offsets. </span></div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> median2 = sinfo_new_median( column2, nrunning ) ;</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> <span class="keywordflow">if</span> ( median2 != 0. )</div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> {</div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> median1 = sinfo_new_median( column1, nrunning ) ;</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> ratio = median1 / median2 ;</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> <span class="keywordflow">if</span> ( ratio > 0 )</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> {</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> <span class="keywordflow">for</span> ( j = 0 ; j < ly2 ; j++ ) <span class="comment">/* go through one column */</span></div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> {</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> <span class="keywordflow">if</span> ( !isnan(pi2data[i + j*lx2]) )</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> {</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> poutdata[i + j*lx2] = pi2data[i + j*lx2] * ratio ;</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> }</div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> {</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> poutdata[i + j*lx2] = ZERO ;</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> }</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> }</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> }</div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> }</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> } </div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> cpl_free ( column1 ) ;</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> cpl_free ( column2 ) ;</div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> }</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> </div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> <span class="comment">/* now compute the final residual image */</span></div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) lx1*ly1 ; i ++ )</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> {</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> <span class="keywordflow">if</span> ( isnan(pi1data[i]) || isnan(poutdata[i]) )</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> {</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> pirdata[i] = ZERO ;</div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> } </div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> {</div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> pirdata[i] = pi1data[i] - poutdata[i] ;</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> }</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> }</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> </div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> <span class="keywordflow">return</span> out_image ;</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> }</div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> </div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> </div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> cpl_image * </div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> sinfo_new_remove_residual_tilt ( cpl_image * im2, cpl_image * res_image )</div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> {</div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> cpl_image * out_image ;</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> cpl_image * residual ;</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> <span class="keywordtype">int</span> i, j, npix ;</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> pixelvalue a, b, sum, sumx, sumy, sumc, sum2, mean, stdev ;</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> <span class="keywordtype">int</span> lx2=0;</div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> <span class="keywordtype">int</span> ly2=0;</div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> <span class="keywordtype">int</span> rlx=0;</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> <span class="keywordtype">int</span> rly=0;</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> <span class="keywordtype">float</span>* pi2data=NULL;</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> <span class="keywordtype">float</span>* pirdata=NULL;</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> <span class="keywordtype">float</span>* poutdata=NULL;</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> <span class="keywordtype">float</span>* ptmpdata=NULL;</div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> </div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> </div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> </div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> </div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> <span class="keywordflow">if</span> ( im2 == NULL || res_image == NULL )</div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> {</div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"null image as input"</span>) ;</div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> }</div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> lx2=cpl_image_get_size_x(im2);</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> ly2=cpl_image_get_size_y(im2);</div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> rlx=cpl_image_get_size_x(res_image);</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> rly=cpl_image_get_size_y(res_image);</div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> pi2data=cpl_image_get_data_float(im2);</div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> pirdata=cpl_image_get_data_float(res_image);</div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> </div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> <span class="keywordflow">if</span> ( lx2 != rlx || ly2 != rly )</div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> {</div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"input images are not compatible in size"</span>) ;</div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> }</div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> </div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> out_image = cpl_image_duplicate( im2 ) ;</div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> residual = cpl_image_duplicate( res_image ) ;</div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> poutdata=cpl_image_get_data_float(out_image);</div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> ptmpdata=cpl_image_get_data_float(residual);</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> </div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> <span class="keywordflow">for</span> ( i = 0 ; i < lx2; i++ ) <span class="comment">/* select one column */</span></div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> {</div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> sum = 0. ;</div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> sum2 = 0. ;</div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> npix = 0 ;</div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> <span class="keywordflow">for</span> ( j = 0 ; j < ly2 ; j++ ) </div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> {</div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> <span class="comment">/* first select good pixels and derive the mean </span></div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> <span class="comment"> and sigma of each column */</span></div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> <span class="keywordflow">if</span> ( isnan(pirdata[i + j*rlx]) )</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> {</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> continue ;</div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> }</div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> sum += pirdata[i + j*rlx] ;</div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> sum2 += pirdata[i + j*rlx] *</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> pirdata[i + j*rlx] ;</div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> npix ++ ;</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> }</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> </div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> <span class="keywordflow">if</span> ( npix <= 1 )</div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> {</div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> continue ;</div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> }</div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> {</div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> mean = sum / (pixelvalue) npix ;</div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> stdev = 1.5 * sqrt( (sum2 - sum*mean) / (pixelvalue)(npix - 1) ) ;</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> }</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> </div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> <span class="comment">/* exclude everything > 1.5 sigma */</span></div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> <span class="keywordflow">for</span> ( j = 0 ; j < ly2 ; j++ )</div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> {</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> <span class="keywordflow">if</span> ( pirdata[i + j*rlx] < mean - stdev ||</div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> pirdata[i + j*rlx] > mean + stdev )</div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> {</div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> pirdata[i + j*rlx] = ZERO ;</div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> }</div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> }</div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> </div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> <span class="comment">/* now determine the tilt, see function sinfo_removeRegionalTilt </span></div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> <span class="comment"> for explanation */</span></div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> sumy = 0. ; <span class="comment">/* yi */</span></div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> sumc = 0. ; <span class="comment">/* xiyi */</span></div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> sumx = 0. ; <span class="comment">/* xi */</span></div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> sum2 = 0. ; <span class="comment">/* xi^2 */</span></div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> npix = 0 ; </div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> </div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> <span class="keywordflow">for</span> ( j = 0 ; j < rly ; j ++ ) </div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> {</div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> <span class="keywordflow">if</span> ( isnan(pirdata[i + j*rlx]) )</div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> {</div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> continue ;</div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> }</div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> sumy += pirdata[i + j*rlx] ;</div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> sumc += (pirdata[i + j*rlx]) * j ;</div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> sum2 += j*j ;</div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> sumx += j ;</div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> npix ++ ;</div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> }</div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> <span class="keywordflow">if</span> ( npix > 2 && fabs(sum2 - sumx*sumx/npix) >= 1e-6 ) </div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> {</div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> a = ( sumc - sumx*sumy/npix ) / ( sum2 - sumx*sumx/npix ) ;</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> b = ( sumy - a*sumx ) / npix ;</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> } </div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> {</div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> a = ZERO ;</div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> b = ZERO ;</div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> }</div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> </div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> <span class="comment">/*-------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> <span class="comment"> * now correct the second input image im2 and the res_image.</span></div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> <span class="comment"> */</span> </div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> </div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> <span class="keywordflow">if</span> ( !isnan(a) && !isnan(b) && fabs(a) < 1e8 && fabs(b) < 1e8 )</div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> {</div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> <span class="keywordflow">for</span> ( j = 0 ; j < ly2 ; j ++ ) <span class="comment">/* the same column */</span></div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> {</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> <span class="keywordflow">if</span> ( !isnan(poutdata[i+j*lx2]) )</div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> {</div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> poutdata[i + j*lx2] += a*j+b ; </div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> pirdata[i + j*lx2] = ptmpdata[i + j*lx2] -(a*j+b) ;</div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> }</div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> }</div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> }</div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> }</div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> </div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> cpl_image_delete (residual) ;</div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> </div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> <span class="keywordflow">return</span> out_image ;</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> }</div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> </div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> </div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> cpl_image * </div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> sinfo_new_remove_residual_offset( cpl_image * im2, cpl_image * res_image )</div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> {</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> cpl_image * out_image ;</div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> <span class="keywordtype">int</span> i, j, npix ;</div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> pixelvalue res_median ;</div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> pixelvalue * column ;</div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> <span class="keywordtype">int</span> lx2=0;</div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> <span class="keywordtype">int</span> ly2=0;</div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> <span class="keywordtype">int</span> rlx=0;</div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> <span class="keywordtype">int</span> rly=0;</div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> <span class="keywordtype">int</span> olx=0;</div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> <span class="keywordtype">int</span> oly=0;</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> <span class="keywordtype">float</span>* pi2data=NULL;</div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> <span class="keywordtype">float</span>* pirdata=NULL;</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> <span class="keywordtype">float</span>* poudata=NULL;</div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> </div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> </div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> <span class="keywordflow">if</span> ( im2 == NULL || res_image == NULL )</div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> {</div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"null image as input"</span>) ;</div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> }</div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> lx2=cpl_image_get_size_x(im2);</div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> ly2=cpl_image_get_size_y(im2);</div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> rlx=cpl_image_get_size_x(res_image);</div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> rly=cpl_image_get_size_y(res_image);</div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> pi2data=cpl_image_get_data_float(im2);</div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> pirdata=cpl_image_get_data_float(res_image);</div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> </div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> </div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> <span class="keywordflow">if</span> ( lx2 != rlx || ly2 != rly )</div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> {</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"input images are not compatible in size"</span>) ;</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> }</div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> </div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> out_image = cpl_image_duplicate( im2 ) ;</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> poudata=cpl_image_get_data_float(res_image);</div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> olx=cpl_image_get_size_x(res_image);</div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> oly=cpl_image_get_size_y(res_image);</div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> </div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> column = (pixelvalue *) cpl_calloc ( ly2 , <span class="keyword">sizeof</span> (pixelvalue *) ) ;</div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> </div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> <span class="keywordflow">for</span> ( i = 0 ; i < lx2 ; i++ ) <span class="comment">/* select one column */</span></div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> {</div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> npix = 0 ;</div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> <span class="keywordflow">for</span> (j=0;j<ly2;j++)</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> column[j]=0;</div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> </div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> <span class="keywordflow">for</span> ( j = 0 ; j < rly ; j++ ) <span class="comment">/* go through one column */</span></div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> {</div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> <span class="keywordflow">if</span> ( isnan(pirdata[i + j*rlx]) )</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> {</div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> continue ;</div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> }</div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> </div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> column[npix] = pirdata[i + j*rlx] ;</div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> npix ++ ;</div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> }</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> </div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> <span class="comment">/* determine the sinfo_median of a column of the residual image */</span></div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> <span class="keywordflow">if</span> ( npix > 0.1 * rly )</div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> {</div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> res_median = sinfo_new_median( column, npix ) ;</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> }</div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> {</div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> continue ;</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> }</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> </div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> <span class="keywordflow">for</span> ( j = 0 ; j < ly2 ; j++ ) <span class="comment">/* go through one column */</span></div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> {</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> <span class="keywordflow">if</span> ( !isnan(pi2data[i+j*lx2]))</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> {</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> poudata[i + j*lx2] = pi2data[i + j*lx2] + res_median ;</div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> }</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> {</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> poudata[i + j*lx2] = ZERO ;</div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> }</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> <span class="keywordflow">if</span> ( !isnan(pirdata[i + j*rlx]) )</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> {</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> pirdata[i + j*rlx] -= res_median ;</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> }</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> }</div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> }</div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> cpl_free ( column ) ;</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> <span class="keywordflow">return</span> out_image ;</div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> }</div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> <span class="comment">/*___oOo___*/</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__merge_8h_source.html b/html/sinfo__merge_8h_source.html
deleted file mode 100644
index 47ace8a..0000000
--- a/html/sinfo__merge_8h_source.html
+++ /dev/null
@@ -1,124 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_merge.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_merge.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_MERGE_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_MERGE_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*******************************************************************************</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* "@(#) $Id: sinfo_merge.h,v 1.4 2007/06/06 07:10:45 amodigli Exp $"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* schreib 04/07/00 created</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * sinfo_merge.h</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * merges the rows of two image data frames into one frame with doubled</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> * column length</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_recipes.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> * function prototypes</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> cpl_image * </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> sinfo_sinfo_merge_images (cpl_image * im1, </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> cpl_image * im2,</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> cpl_image * res_image ) ;</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> cpl_image * </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> sinfo_new_remove_general_offset(cpl_image * im1, </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> cpl_image * im2, </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> cpl_image * res_image,</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">int</span> n ) ;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> cpl_image * </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> sinfo_new_remove_regional_tilt (cpl_image * im1,</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> cpl_image * im2, </div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> cpl_image * res_image ) ;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> cpl_image * sinfo_new_remove_column_offset (cpl_image * im1,</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> cpl_image * im2,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> cpl_image * res_image );</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> cpl_image * </div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> sinfo_new_remove_residual_tilt (cpl_image * im2,cpl_image * res_image ) ;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> cpl_image * </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> sinfo_new_remove_residual_offset(cpl_image * im2,cpl_image * res_image);</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="preprocessor">#endif </span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__msg_8c_source.html b/html/sinfo__msg_8c_source.html
deleted file mode 100644
index a2c2293..0000000
--- a/html/sinfo__msg_8c_source.html
+++ /dev/null
@@ -1,278 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_msg.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_msg.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* *</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFO Pipeline *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory *</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This library is free software; you can redistribute it and/or modify *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or *</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version. *</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful, *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details. *</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA *</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2008/02/12 14:57:39 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.7 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <stdarg.h></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#define DEBUG_CALLER 0 </span><span class="comment">/* Define whether to check consistency of </span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> msg_louder/softer calls */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor"></span><span class="comment">/* #define DEBUG_CALLER */</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#define MAXLEVEL 256</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor"></span><span class="preprocessor">#define MAXSTRINGLENGTH 1000</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">static</span> <span class="keywordtype">int</span> level = 0; <span class="comment">/* Current message & indentation level </span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> from 0 to MAXLEVEL-1.</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> 0 is the most verbose level. */</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keyword">static</span> <span class="keywordtype">int</span> outlevel = -1; <span class="comment">/* Only print message if level is </span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> in {0, 1, ..., outlevel}.</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> Always print if outlevel = - 1 */</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#ifdef DEBUG_CALLER</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor"></span><span class="keyword">const</span> <span class="keywordtype">char</span> *sinfo_callers[MAXLEVEL]; <span class="comment">/* Check the consistency of </span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> calls to softer/louder */</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keyword">static</span> <span class="keywordtype">char</span> printbuffer[MAXSTRINGLENGTH]; <span class="comment">/* Used to pass variable argument </span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> list to cpl_msg_info() */</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *domain = <span class="stringliteral">"Undefined domain"</span>;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">/* This is to support getting the </span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> current domain </span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> * which is currently not available in CPL</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">static</span> <span class="keywordtype">int</span> initialized = FALSE;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">static</span> <span class="keywordtype">int</span> number_of_warnings = 0; <span class="comment">/* Coun't the number of warnings since </span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"> initialization */</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"><a class="code" href="group__sinfo__msg.html#ga639b5d352f0518db6cc346c0737484cc"> 100</a></span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">void</span> <a class="code" href="group__sinfo__msg.html#ga639b5d352f0518db6cc346c0737484cc" title="Initialize messaging.">sinfo_msg_init</a>(<span class="keywordtype">int</span> olevel, <span class="keyword">const</span> <span class="keywordtype">char</span> *dom)</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> {</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">/* Initialize per recipe: */</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> number_of_warnings = 0;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordflow">if</span> (!initialized)</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> {</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment">/* Initialize once: */</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> outlevel = olevel;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> cpl_msg_set_indentation(2);</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">/* CPL message format is</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment"> * [Time][Verbosity][domain][component] message</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment"> * Don't show the (variable length and wildly</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment"> * fluctuating) component. It interferes with</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"> * indentation. The component is available anyway</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment"> * on CPL_MSG_DEBUG level.</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> cpl_msg_set_time_on();</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <a class="code" href="group__sinfo__msg.html#ga5671e5e7722c35d9d174772c80013ad5" title="Set message domain.">sinfo_msg_set_domain</a>(dom);</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> cpl_msg_set_domain_on();</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> cpl_msg_set_component_off();</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> initialized = TRUE;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> }</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> }</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"><a class="code" href="group__sinfo__msg.html#gad9c8f46542015d0c93094c337a557d5e"> 138</a></span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordtype">void</span> <a class="code" href="group__sinfo__msg.html#gad9c8f46542015d0c93094c337a557d5e" title="Set output level.">sinfo_msg_set_level</a>(<span class="keywordtype">int</span> olevel) </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> {</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> outlevel = olevel; </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> } </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"><a class="code" href="group__sinfo__msg.html#gae0f3e727182610d92efdb755f1da6788"> 152</a></span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keywordtype">void</span> <a class="code" href="group__sinfo__msg.html#gae0f3e727182610d92efdb755f1da6788" title="Decrease message level.">sinfo_msg_softer_macro</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *fctid)</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> {</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">if</span> (level + 1 < MAXLEVEL)</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> {</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> level++;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> cpl_msg_indent_more();</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="preprocessor">#if DEBUG_CALLER</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="preprocessor"></span> sinfo_callers[level] = fctid;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="preprocessor"></span> fctid = fctid; <span class="comment">/* Satisfy compiler */</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="preprocessor"></span> }</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> }</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno"><a class="code" href="group__sinfo__msg.html#ga38ac31ae7cb0ce5c792486fd3c9478e6"> 175</a></span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordtype">void</span> <a class="code" href="group__sinfo__msg.html#ga38ac31ae7cb0ce5c792486fd3c9478e6" title="Increase message level.">sinfo_msg_louder_macro</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *fctid)</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> {</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">if</span> (level == 0)</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> {</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="comment">/* 0 is the loudest, ignore request */</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> }</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment">/* Only make louder, if called from the same function which called</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment"> sinfo_msg_softer. (disable check if level is more than MAXLEVEL)</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="preprocessor">#if DEBUG_CALLER</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="preprocessor"></span> <span class="keywordflow">if</span> (level >= MAXLEVEL || strcmp(sinfo_callers[level], fctid) == 0)</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="preprocessor"></span> fctid = fctid; <span class="comment">/* Satisfy compiler */</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="preprocessor"></span> {</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> level--;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> cpl_msg_indent_less();</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> }</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="preprocessor">#if DEBUG_CALLER</span></div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="preprocessor"></span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> {</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"Message level decreased by '%s' but increased by '%s'"</span>,</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> sinfo_callers[level], fctid);</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> }</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="preprocessor"></span>}</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00218"></a><span class="lineno"><a class="code" href="group__sinfo__msg.html#gacccff4e78e5f14f06b2c06686a0e19e1"> 218</a></span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keywordtype">void</span> <a class="code" href="group__sinfo__msg.html#gacccff4e78e5f14f06b2c06686a0e19e1" title="Print a message on 'info' or 'debug' level.">sinfo_msg_macro</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *fct, <span class="keyword">const</span> <span class="keywordtype">char</span> *format, ...)</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> {</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> va_list al;</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> va_start(al, format);</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> vsnprintf(printbuffer, MAXSTRINGLENGTH - 1, format, al);</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> va_end(al);</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> printbuffer[MAXSTRINGLENGTH - 1] = <span class="charliteral">'\0'</span>;</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keywordflow">if</span> (outlevel < 0 || level <= outlevel)</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> {</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment">#undef cpl_msg_info</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> cpl_msg_info(fct, <span class="stringliteral">"%s"</span>, printbuffer);</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="comment">#define cpl_msg_info(...) use__sinfo_msg__instead__of__cpl_msg_info</span></div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> }</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> {</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> cpl_msg_debug(fct, <span class="stringliteral">"%s"</span>, printbuffer);</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> }</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> }</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00250"></a><span class="lineno"><a class="code" href="group__sinfo__msg.html#ga819ca13f95340688515071106d88af30"> 250</a></span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keywordtype">int</span> <a class="code" href="group__sinfo__msg.html#ga819ca13f95340688515071106d88af30" title="Get number of warnings printed so far.">sinfo_msg_get_warnings</a>(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> {</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="keywordflow">return</span> number_of_warnings;</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> }</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00265"></a><span class="lineno"><a class="code" href="group__sinfo__msg.html#gac95702d684d815593ec1516082c0071a"> 265</a></span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="keywordtype">void</span> <a class="code" href="group__sinfo__msg.html#gac95702d684d815593ec1516082c0071a" title="Accumulate warnings.">sinfo_msg_add_warnings</a>(<span class="keywordtype">int</span> n)</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> {</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> number_of_warnings += n;</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> }</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00286"></a><span class="lineno"><a class="code" href="group__sinfo__msg.html#ga905c39fd148a95c77ea1335aa9441b28"> 286</a></span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="keywordtype">void</span> <a class="code" href="group__sinfo__msg.html#ga905c39fd148a95c77ea1335aa9441b28" title="Print a warning message.">sinfo_msg_warning_macro</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *fct, <span class="keyword">const</span> <span class="keywordtype">char</span> *format, ...)</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> {</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> va_list al;</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> va_start(al, format);</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> vsnprintf(printbuffer, MAXSTRINGLENGTH - 1, format, al);</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> va_end(al);</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> </div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> printbuffer[MAXSTRINGLENGTH - 1] = <span class="charliteral">'\0'</span>;</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> cpl_msg_warning(fct, <span class="stringliteral">"%s"</span>, printbuffer);</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> number_of_warnings += 1;</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> }</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00308"></a><span class="lineno"><a class="code" href="group__sinfo__msg.html#ga15d005a10b6dac6031d611eecdce129a"> 308</a></span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="group__sinfo__msg.html#ga15d005a10b6dac6031d611eecdce129a" title="Get current message domain.">sinfo_msg_get_domain</a>(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> {</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="keywordflow">return</span> domain;</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> }</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00319"></a><span class="lineno"><a class="code" href="group__sinfo__msg.html#ga5671e5e7722c35d9d174772c80013ad5"> 319</a></span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="keywordtype">void</span> <a class="code" href="group__sinfo__msg.html#ga5671e5e7722c35d9d174772c80013ad5" title="Set message domain.">sinfo_msg_set_domain</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *d)</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> {</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="comment">/* Set domain and remember */</span></div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> cpl_msg_set_domain(d);</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> domain = d;</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> }</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__msg_8h_source.html b/html/sinfo__msg_8h_source.html
deleted file mode 100644
index 499ca77..0000000
--- a/html/sinfo__msg_8h_source.html
+++ /dev/null
@@ -1,150 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_msg.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_msg.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFO Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2006/11/21 11:56:10 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.2 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifndef SINFO_MSG_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_MSG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">#include <sinfo_utils.h></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <cpl_msg.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/* Nothing bad happens if user also calls cpl_msg_info()</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> * but prevent it as a service to the user of this module</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">#define cpl_msg_info(...) use__sinfo_msg__instead__of__cpl_msg_info</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">#define cpl_msg_indent()</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keywordtype">void</span> <a class="code" href="group__sinfo__msg.html#ga639b5d352f0518db6cc346c0737484cc" title="Initialize messaging.">sinfo_msg_init</a>(<span class="keywordtype">int</span> outlevel, <span class="keyword">const</span> <span class="keywordtype">char</span> *dom);</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">void</span> <a class="code" href="group__sinfo__msg.html#gad9c8f46542015d0c93094c337a557d5e" title="Set output level.">sinfo_msg_set_level</a>(<span class="keywordtype">int</span> olevel);</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="group__sinfo__msg.html#ga15d005a10b6dac6031d611eecdce129a" title="Get current message domain.">sinfo_msg_get_domain</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">void</span> <a class="code" href="group__sinfo__msg.html#ga5671e5e7722c35d9d174772c80013ad5" title="Set message domain.">sinfo_msg_set_domain</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *d);</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">/* Convenience macros to save the user from typing function id */</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"><a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789"> 69</a></span> <span class="preprocessor">#define sinfo_msg_error(...) cpl_msg_error(cpl_func, __VA_ARGS__)</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"><a class="code" href="group__sinfo__msg.html#ga75cab6805099905b3b101f660a907f37"> 82</a></span> <span class="preprocessor">#define sinfo_msg_progress(i, iter, ...) \</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="preprocessor"> cpl_msg_progress(cpl_func, (i), (iter), __VA_ARGS__)</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="preprocessor"></span><span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"><a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6"> 93</a></span> <span class="preprocessor">#define sinfo_msg_warning(...) sinfo_msg_warning_macro(cpl_func, __VA_ARGS__)</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="preprocessor"></span><span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"><a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8"> 103</a></span> <span class="preprocessor">#define sinfo_msg_debug(...) cpl_msg_debug(cpl_func, __VA_ARGS__)</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"><a class="code" href="group__sinfo__msg.html#gaa6da02902135556d8517de4c05b7a1a6"> 111</a></span> <span class="preprocessor">#define sinfo_msg_low(...) do { \</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="preprocessor"> sinfo_msg_softer(); \</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="preprocessor"> sinfo_msg(__VA_ARGS__); \</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="preprocessor"> sinfo_msg_louder(); \</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="preprocessor"> } while (FALSE)</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="preprocessor">#define sinfo_msg(...) sinfo_msg_macro(cpl_func, __VA_ARGS__)</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="preprocessor"></span><span class="preprocessor">#define sinfo_msg_softer() sinfo_msg_softer_macro(cpl_func)</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="preprocessor"></span><span class="preprocessor">#define sinfo_msg_louder() sinfo_msg_louder_macro(cpl_func)</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordtype">void</span> <a class="code" href="group__sinfo__msg.html#gacccff4e78e5f14f06b2c06686a0e19e1" title="Print a message on 'info' or 'debug' level.">sinfo_msg_macro</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *fct, <span class="keyword">const</span> <span class="keywordtype">char</span> *format, ...)</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="preprocessor">#ifdef __GNUC__</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="preprocessor"></span>__attribute__((format (printf, 2, 3)))</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="preprocessor"></span>;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordtype">void</span> <a class="code" href="group__sinfo__msg.html#ga905c39fd148a95c77ea1335aa9441b28" title="Print a warning message.">sinfo_msg_warning_macro</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *fct, <span class="keyword">const</span> <span class="keywordtype">char</span> *format, ...)</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="preprocessor">#ifdef __GNUC__</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="preprocessor"></span>__attribute__((format (printf, 2, 3)))</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="preprocessor"></span>;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordtype">int</span> <a class="code" href="group__sinfo__msg.html#ga819ca13f95340688515071106d88af30" title="Get number of warnings printed so far.">sinfo_msg_get_warnings</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keywordtype">void</span> <a class="code" href="group__sinfo__msg.html#gac95702d684d815593ec1516082c0071a" title="Accumulate warnings.">sinfo_msg_add_warnings</a>(<span class="keywordtype">int</span> n);</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordtype">void</span> <a class="code" href="group__sinfo__msg.html#gae0f3e727182610d92efdb755f1da6788" title="Decrease message level.">sinfo_msg_softer_macro</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *fct);</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">void</span> <a class="code" href="group__sinfo__msg.html#ga38ac31ae7cb0ce5c792486fd3c9478e6" title="Increase message level.">sinfo_msg_louder_macro</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *fct);</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="preprocessor">#endif </span><span class="comment">/* SINFO_MSG_H */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="preprocessor"></span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__add__bp__map_8c_source.html b/html/sinfo__new__add__bp__map_8c_source.html
deleted file mode 100644
index 4e73a91..0000000
--- a/html/sinfo__new__add__bp__map_8c_source.html
+++ /dev/null
@@ -1,317 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_add_bp_map.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_add_bp_map.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_new_add_bp_map.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : A. Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Oct 13, 2004</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : Coadd different BP MAP </span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_new_add_bp_map.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_pro_save.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/* #include "image_ops.h" */</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_detlin.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> Prototypes</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> Function Definitions</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> sinfo_new_add_bp_map (<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id,</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> cpl_parameterlist* config, </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> cpl_frameset* sof,cpl_frameset* ref_set)</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> {</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">int</span> nmsk =0;</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">int</span> nmsk_ref_fits =0;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">int</span> n_bad=0;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> cpl_image** img_sum=NULL;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> cpl_image* img_set=NULL;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> cpl_image* img_tot=NULL;</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> cpl_frameset* msk_set=NULL;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> cpl_frameset* msk_ref_fits=NULL;</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> cpl_frame* frame=NULL;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">double</span> max=0;</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordtype">char</span> frame_name[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">char</span> out_msk[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> cpl_table* qclog_tbl=NULL;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordtype">char</span> * tag=NULL;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordtype">char</span> * tmp_tag=NULL;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> strcpy(out_msk, MASTER_BPMAP_OUT_FILENAME);</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment">/* cpl_parameterlist_dump(config); */</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> check_nomsg(msk_set=cpl_frameset_new());</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> ck0_nomsg(sinfo_contains_frames_kind(sof,msk_set,<span class="stringliteral">"BP_MAP"</span>));</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> check_nomsg(nmsk = cpl_frameset_get_size(msk_set));</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keywordflow">if</span>(nmsk == 0) {</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"No bad pixel masks to add"</span>);</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> }</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> check_nomsg(frame = cpl_frameset_get_frame(msk_set,0));</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> strcpy(frame_name,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> check_nomsg(tag = (<span class="keywordtype">char</span>*) cpl_frame_get_tag(frame));</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> {</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> check_nomsg(msk_ref_fits=cpl_frameset_new());</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordflow">if</span> (nmsk < 1) {</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"No input frames. Nothing to do."</span>);</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (nmsk==1) {</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"Only one input frames. Use it as master."</span>);</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> check_nomsg(frame = cpl_frameset_get_frame(msk_set,0));</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> strcpy(frame_name,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> check_nomsg(tag = (<span class="keywordtype">char</span>*) cpl_frame_get_tag(frame));</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> ck0_nomsg(sinfo_contains_frames_kind(msk_set,</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> msk_ref_fits,PRO_BP_MAP_NO));</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> check_nomsg(nmsk_ref_fits = cpl_frameset_get_size(msk_ref_fits));</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordflow">if</span> (nmsk_ref_fits < 1) {</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"No %s input frames. Uses %s for FITS header"</span>,</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> PRO_BP_MAP_NO,PRO_BP_MAP_DI);</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> ck0_nomsg(sinfo_contains_frames_kind(msk_set,</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> msk_ref_fits,PRO_BP_MAP_DI));</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> check_nomsg(nmsk_ref_fits = cpl_frameset_get_size(msk_ref_fits));</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordflow">if</span> (nmsk_ref_fits < 1) {</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"No %s input frames. Uses %s for FITS header"</span>,</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> PRO_BP_MAP_DI,PRO_BP_MAP_NL);</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> ck0_nomsg(sinfo_contains_frames_kind(msk_set,</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> msk_ref_fits,PRO_BP_MAP_NL));</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> check_nomsg(nmsk_ref_fits = cpl_frameset_get_size(msk_ref_fits));</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordflow">if</span> (nmsk_ref_fits < 1) {</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"No %s input frames. Uses 1st mask in the list"</span>,</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> PRO_BP_MAP_NL);</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> sinfo_free_frameset(&msk_ref_fits);</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> check_nomsg(msk_ref_fits=cpl_frameset_duplicate(msk_set));</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> check_nomsg(frame = cpl_frameset_get_frame(msk_set,0));</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> check_nomsg(cpl_frameset_erase_frame(msk_set,frame));</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> check_nomsg(tag = (<span class="keywordtype">char</span>*) cpl_frame_get_tag(frame));</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> sinfo_msg(<span class="stringliteral">"Uses as reference frame %s"</span>,PRO_BP_MAP_NL);</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> check_nomsg(frame = cpl_frameset_get_frame(msk_ref_fits,0));</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> strcpy(frame_name,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> tag = (<span class="keywordtype">char</span>*) PRO_BP_MAP_NL;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> }</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> sinfo_msg(<span class="stringliteral">"Uses as reference frame %s"</span>,PRO_BP_MAP_DI);</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> check_nomsg(frame = cpl_frameset_get_frame(msk_ref_fits,0));</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> strcpy(frame_name,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> tag = (<span class="keywordtype">char</span>*) PRO_BP_MAP_DI;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> }</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> sinfo_msg(<span class="stringliteral">"Uses as reference frame %s"</span>,PRO_BP_MAP_NO);</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> check_nomsg(frame = cpl_frameset_get_frame(msk_ref_fits,0));</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> strcpy(frame_name,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> tag = (<span class="keywordtype">char</span>*) PRO_BP_MAP_NO;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> }</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> }</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> check_nomsg(nmsk = cpl_frameset_get_size(msk_set)); </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> cknull_nomsg(img_sum = (cpl_image**) cpl_calloc ((nmsk+1), </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keyword">sizeof</span>(cpl_image*))) ;</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> cknull_nomsg(img_sum[0]=cpl_image_load(frame_name,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment">/* here mem leak */</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">for</span> (i=0;i<nmsk;i++) {</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> check_nomsg(frame = cpl_frameset_get_frame(msk_set,i));</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> check_nomsg(strcpy(frame_name,cpl_frame_get_filename(frame)));</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> check_nomsg(tmp_tag=(<span class="keywordtype">char</span>*)cpl_frame_get_tag(frame));</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">if</span>(strcmp(tmp_tag,tag) == 0 ) {</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> cknull_nomsg(img_set=cpl_image_load(frame_name,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> check_nomsg(max=cpl_image_get_max(img_set));</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordflow">if</span>((strcmp(tmp_tag,PRO_BP_MAP_NL) == 0) && max>1 ) {</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> sinfo_msg(<span class="stringliteral">"corr1"</span>);</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> check_nomsg(cpl_image_threshold(img_set,0.5,0.9,1,0));</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> sinfo_free_image(&(img_sum[0]));</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> check_nomsg(img_sum[0]=cpl_image_duplicate(img_set));</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> }</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> cknull_nomsg(img_set=cpl_image_load(frame_name,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> check_nomsg(max=cpl_image_get_max(img_set));</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keywordflow">if</span>((strcmp(tmp_tag,PRO_BP_MAP_NL) == 0) && max>1 ) {</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> sinfo_msg(<span class="stringliteral">"corr2 name=%s tag=%s"</span>,frame_name,tmp_tag);</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> check_nomsg(cpl_image_threshold(img_set,0.5,0.9,1,0));</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> }</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> cknull_nomsg(img_sum[k+1]=sinfo_new_combine_masks (img_sum[k], img_set));</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> k++;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> sinfo_free_image(&img_set);</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> sinfo_free_image(&(img_sum[k-1]));</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> }</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> }</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> img_tot=cpl_image_duplicate(img_sum[k]);</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> sinfo_free_image(&(img_sum[k]));</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> sinfo_free_array_image(&img_sum);</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="comment"></span></div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="comment"> frame = cpl_frameset_get_frame(msk_set,0);</span></div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="comment"> strcpy(frame_name,cpl_frame_get_filename(frame));</span></div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="comment"> img_sum=cpl_image_load(frame_name,CPL_TYPE_INT,0,0);</span></div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment"> for (i=1;i<nmsk;i++) {</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment"> frame = cpl_frameset_get_frame(msk_set,i);</span></div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="comment"> strcpy(frame_name,cpl_frame_get_filename(frame));</span></div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="comment"> img_set=cpl_image_load(frame_name,CPL_TYPE_INT,0,0);</span></div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="comment"> cpl_mask_and(img_sum, img_set);</span></div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="comment"></span></div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> n_bad = sinfo_new_count_bad_pixels(img_tot) ;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> sinfo_msg (<span class="stringliteral">"number of bad pixels: %d\n"</span>, n_bad) ;</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> cknull_nomsg(qclog_tbl = sinfo_qclog_init());</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC MBP_MAP NBADPIX"</span>,</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> n_bad,<span class="stringliteral">"No of bad pixels"</span>,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordflow">if</span> (nmsk>1) {</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> ck0(sinfo_pro_save_ima(img_tot,ref_set,sof,out_msk,</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> PRO_MASTER_BP_MAP,qclog_tbl,</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> plugin_id,config),</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="stringliteral">"cannot save ima %s"</span>, out_msk); </div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> ck0(sinfo_pro_save_ima(img_tot,ref_set,sof,out_msk,</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> PRO_MASTER_BP_MAP,qclog_tbl,</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> plugin_id,config),</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="stringliteral">"cannot save ima %s"</span>, out_msk); </div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> }</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> sinfo_free_image(&img_tot);</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> sinfo_free_frameset(&msk_ref_fits);</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> sinfo_free_frameset(&msk_set);</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> }</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> cleanup:</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> sinfo_free_image(&img_tot);</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="keywordflow">if</span>(img_sum!=NULL) {</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">for</span>(i=0;i<nmsk;i++) {</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keywordflow">if</span>(img_sum[i] != NULL) {</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> sinfo_free_image(&(img_sum[i]));</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> img_sum[i]=NULL; </div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> }</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> }</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> sinfo_free_array_image(&img_sum);</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> img_sum=NULL;</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> }</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> sinfo_free_image(&img_set);</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> sinfo_free_frameset(&msk_set);</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> sinfo_free_frameset(&msk_ref_fits);</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="keywordflow">return</span> -1; </div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> }</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> }</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__add__bp__map_8h_source.html b/html/sinfo__new__add__bp__map_8h_source.html
deleted file mode 100644
index 2e36764..0000000
--- a/html/sinfo__new__add__bp__map_8h_source.html
+++ /dev/null
@@ -1,102 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_add_bp_map.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_add_bp_map.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_NEW_ADD_BP_MAP_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_NEW_ADD_BP_MAP_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*******************************************************************************</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* "@(#) $Id: sinfo_new_add_bp_map.h,v 1.7 2007/09/21 14:13:43 amodigli Exp $"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* amodigli 13/10/04 created</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * sinfo_add_bp_map.h</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * routines to search for bad pixels</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <sinfo_hidden.h></span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> * Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> sinfo_new_add_bp_map(<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id, </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> cpl_parameterlist* config, </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> cpl_frameset* <span class="keyword">set</span>,</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> cpl_frameset* ref_set);</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#endif </span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__bezier_8c_source.html b/html/sinfo__new__bezier_8c_source.html
deleted file mode 100644
index 28fed55..0000000
--- a/html/sinfo__new__bezier_8c_source.html
+++ /dev/null
@@ -1,1576 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_bezier.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_bezier.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*****************************************************************************</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">* M.P.E. - SPIFFI project</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* rabuter 2004-11-04 Fixed error on Find Cosmic when no valid neighboors</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> where found in the subcube</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">* rabuter 10/07/03 created</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">* NAME</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">* sinfo_new_bezier.c -</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">* procedures to correct for bad pixels using bezier splines</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">* SYNOPSIS</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">* DESCRIPTION</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">* FILES</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">* ENVIRONMENT</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">* RETURN VALUES</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">* CAUTIONS</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">* EXAMPLES</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">* SEE ALSO</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">* BUGS</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor"></span><span class="preprocessor">#define POSIX_SOURCE 1</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor"></span><span class="preprocessor">#include "sinfo_vltPort.h"</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> * System Headers</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> * Local Headers</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor">#include "sinfo_new_bezier.h"</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> * Function codes</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordtype">int</span> sinfo_im_xy(cpl_image* im, <span class="keywordtype">int</span> X, <span class="keywordtype">int</span> Y)</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> {</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">int</span> res=0;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> res=X+Y*cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> }</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">int</span> sinfo_im_xyz(cpl_image* im, <span class="keywordtype">int</span> X, <span class="keywordtype">int</span> Y, <span class="keywordtype">int</span> Z)</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> {</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">int</span> res=0;</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> res = X+</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> Y*cpl_image_get_size_x(im)+</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> Z*cpl_image_get_size_x(im)*</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> }</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">int</span> sinfo_cu_xy(cpl_imagelist* cu, <span class="keywordtype">int</span> X, <span class="keywordtype">int</span> Y)</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> {</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordtype">int</span> res=0;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> res=X+Y*cpl_image_get_size_x(cpl_imagelist_get(cu,0));</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> }</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordtype">int</span> sinfo_cu_xyz(cpl_imagelist* cu, <span class="keywordtype">int</span> X, <span class="keywordtype">int</span> Y, <span class="keywordtype">int</span> Z)</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> {</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordtype">int</span> res=0;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> res = X+</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> Y*cpl_image_get_size_x(cpl_imagelist_get(cu,0))+</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> Z*cpl_image_get_size_x(cpl_imagelist_get(cu,0))*</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> cpl_image_get_size_y(cpl_imagelist_get(cu,0));</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> }</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> cpl_image *</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> sinfo_new_c_bezier_interpolate_image(cpl_image *im,</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> cpl_image *mask,</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> new_Lookup *look,</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordtype">short</span> rx,</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keywordtype">short</span> ry,</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordtype">short</span> rz,</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordtype">int</span> max_rad ,</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordtype">float</span> ** slit_edges )</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> {</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordtype">int</span> i,j,count;</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> cpl_imagelist * sc_im,* drs_sc_mask;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> cpl_image *auxImage;</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> cpl_image *tempMask;</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordtype">short</span> szx,szy,szz;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="keywordtype">short</span> rx_loop, ry_loop, rz_loop;</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment">/*float ant,new,dif;*/</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordtype">int</span> mlx=0;</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keywordtype">int</span> mly=0;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordtype">float</span>* pmdata=NULL;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keywordtype">float</span>* ptdata=NULL;</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keywordtype">float</span>* padata=NULL;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> cpl_image* sc_img=NULL;</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> cpl_image* drs_img=NULL;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> mlx=cpl_image_get_size_x(mask);</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> mly=cpl_image_get_size_y(mask);</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> ilx=cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> ily=cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> pmdata=cpl_image_get_data_float(mask);</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> pidata=cpl_image_get_data_float(im);</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keywordflow">if</span> ( mlx != ilx || mly != ily )</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> {</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" data & mask images not compatible in size\n"</span>) ;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> }</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="comment">/* allocate memory for sub cubes*/</span></div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> szx = (rx * 2 ) + 1;</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> szy = (ry * 2 ) + 1;</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> szz = (rz * 2 ) + 1;</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordflow">if</span> ( NULL == ( sc_im = cpl_imagelist_new() ) )</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> {</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" could not allocate memory for data subcube\n"</span>) ;</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> }</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keywordflow">for</span>(i=0;i<szz;i++) {</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> sc_img=cpl_image_new(szx,szy,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> cpl_imagelist_set(sc_im,sc_img,i);</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> }</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keywordflow">if</span> ( NULL == ( drs_sc_mask = cpl_imagelist_new() ) )</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> {</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" could not allocate memory for mask subcube\n"</span>) ;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> }</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="keywordflow">for</span>(i=0;i<szz;i++) {</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> drs_img=cpl_image_new(szx,szy,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> cpl_imagelist_set(drs_sc_mask,drs_img,i);</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> }</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keywordflow">if</span> ( NULL == ( tempMask = cpl_image_new(mlx, mly, CPL_TYPE_FLOAT) ) )</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> {</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not allocate memory for temporary "</span></div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="stringliteral">"dead pixel mask\n"</span>) ;</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> }</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> ptdata=cpl_image_get_data_float(tempMask);</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> count=0;</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keywordflow">for</span> ( i = 0 ; i < mlx; i++ )</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> {</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="keywordflow">for</span> ( j = 0 ; j < mly ; j++ )</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> {</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordflow">if</span> ( pmdata[sinfo_im_xy(im,i,j)] == cubePT_BADPIXEL )</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> {</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> rx_loop = 1 ; ry_loop = 1 ; rz_loop = 1 ;</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> pidata[sinfo_im_xy(im,i,j)] =</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> sinfo_new_c_bezier_correct_pixel( i, j, im, mask, sc_im,</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> drs_sc_mask, look, rx_loop, ry_loop, rz_loop );</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="comment">/* if not enough neighbors found, increase size of sub</span></div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="comment"> cube until max radius is reached */</span></div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="keywordflow">while</span> ( pidata[sinfo_im_xy(im,i,j)] == cubeNONEIGHBOR &&</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> rx_loop < rx && ry_loop < ry && rz_loop < rz )</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> {</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> rx_loop++ ; ry_loop++; rz_loop++;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="comment">/* sinfo_msg_warning("Increasing radius to %d, in %d %d",</span></div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="comment"> rx_loop, i, j) ; */</span></div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> pidata[sinfo_im_xy(im,i,j)] =</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> sinfo_new_c_bezier_correct_pixel( i, j, im, mask, sc_im,</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> drs_sc_mask, look, rx_loop, ry_loop, rz_loop );</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> }</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="comment">/* If still not enough neighbors, make result NaN = ZERO</span></div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="comment"> in spred convention */</span></div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="keywordflow">if</span> ( pidata[sinfo_im_xy(im,i,j)] == cubeNONEIGHBOR )</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> {</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> pidata[sinfo_im_xy(im,i,j)] = ZERO ;</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> }</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> count++;</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> }</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="keywordflow">if</span> ( pidata[sinfo_im_xy(im,i,j)] == ZERO )</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> {</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> ptdata[sinfo_im_xy(tempMask,i,j)] = 0 ;</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> }</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> {</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> ptdata[sinfo_im_xy(tempMask,i,j)] = 1 ;</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> }</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> }</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> }</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> sinfo_msg(<span class="stringliteral">"Replacing NaN\n"</span>);</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> auxImage=sinfo_interpol_source_image( im, tempMask, max_rad, slit_edges );</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> padata=cpl_image_get_data_float(auxImage);</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="keywordflow">for</span> ( i = 0 ; i < mlx; i++ )</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> {</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="keywordflow">for</span> ( j = 0 ; j < mly ; j++ )</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> {</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="keywordflow">if</span> ( isnan(pidata[sinfo_im_xy(im,i,j)])) <span class="comment">/*<= -2e10ZERO )*/</span></div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> {</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="comment">/* sinfo_msg_warning("Replacing NaN -> %d %d %f\n",</span></div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="comment"> i,j, padata[sinfo_im_xy(im,i,j)] ); */</span></div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> pidata[sinfo_im_xy(im,i,j)] = padata[sinfo_im_xy(im,i,j)];</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> }</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> }</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> }</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> cpl_image_delete(auxImage);</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> cpl_imagelist_delete(sc_im);</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> cpl_imagelist_delete(drs_sc_mask);</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> </div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> sinfo_msg(<span class="stringliteral">"bad pixels count: %d\n"</span>,count);</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keywordflow">return</span> im;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> }</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> </div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> cpl_image *</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> sinfo_new_c_bezier_find_bad( cpl_image *im,</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> cpl_image *mask,</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="comment">/* Lookup *look,*/</span></div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="keywordtype">short</span> rx,</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="keywordtype">short</span> ry,</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="keywordtype">short</span> rz,</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="keywordtype">short</span> lowerI,</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="keywordtype">short</span> highI,</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="keywordtype">short</span> lowerJ,</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="keywordtype">short</span> highJ,</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="keywordtype">float</span> factor )</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> {</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> </div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="keywordtype">int</span> i,j,count;</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> cpl_imagelist * sc_im,* drs_sc_mask;</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="keywordtype">short</span> szx,szy,szz;</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="keywordtype">float</span> <span class="comment">/*ant,*/</span>newValue,old<span class="comment">/*,dif,porcentage,distance*/</span>;</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="keywordtype">double</span> med, stdev;</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="comment">/*cpl_image *out;*/</span></div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="keywordtype">short</span> rx_loop, ry_loop, rz_loop;</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> </div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="keywordtype">int</span> mlx=0;</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="keywordtype">int</span> mly=0;</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="comment">//float* pmdata=NULL;</span></div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> cpl_image* sc_img=NULL;</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> cpl_image* drs_img=NULL;</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> </div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> </div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> mlx=cpl_image_get_size_x(mask);</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> mly=cpl_image_get_size_y(mask);</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> ilx=cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> ily=cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="comment">//pmdata=cpl_image_get_data_float(mask);</span></div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> pidata=cpl_image_get_data_float(im);</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> </div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="keywordflow">if</span> ( mlx != ilx || mly != ily )</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> {</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" data & mask images not compatible in size\n"</span>) ;</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> }</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="comment">/* allocate memory for sub cubes*/</span></div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> szx = (rx * 2 ) + 1;</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> szy = (ry * 2 ) + 1;</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> szz = (rz * 2 ) + 1;</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="keywordflow">if</span> ( NULL == ( sc_im = cpl_imagelist_new() ) )</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> {</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" could not allocate memory for data subcube\n"</span>) ;</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> }</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="keywordflow">for</span>(i=0;i<szz;i++) {</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> sc_img=cpl_image_new(szx,szy,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> cpl_imagelist_set(sc_im,sc_img,i);</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> }</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="keywordflow">if</span> ( NULL == ( drs_sc_mask = cpl_imagelist_new() ) )</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> {</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" could not allocate memory for mask subcube\n"</span>) ;</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> }</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="keywordflow">for</span>(i=0;i<szz;i++) {</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> drs_img=cpl_image_new(szx,szy,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> cpl_imagelist_set(drs_sc_mask,drs_img,i);</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> }</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> </div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> count=0;</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="keywordflow">for</span> ( i = 0 ; i < mlx; i++ )</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> {</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="keywordflow">for</span> ( j = 0 ; j < mly ; j++ )</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> {</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="keywordflow">if</span> ( i >= lowerI && i < highI && j >= lowerJ && j < highJ )</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> {</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> </div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> rx_loop = 1 ; ry_loop = 1 ; rz_loop = 1 ;</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> newValue = sinfo_new_c_bezier_correct_pixel_2D( i, j, im,</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> mask,</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> sc_im,</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> drs_sc_mask,</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="comment">/* look,*/</span></div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> rx_loop,</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> ry_loop,</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> rz_loop,</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> &med,</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> &stdev,</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> factor );</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="comment">/* if NaN returned, increase size of sub cube</span></div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="comment"> until max radius is reached */</span></div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="keywordflow">while</span> ( newValue == ZERO && rx_loop < rx &&</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> ry_loop < ry && rz_loop < rz )</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> {</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> rx_loop++ ; ry_loop++; rz_loop++;</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="comment">/*sinfo_msg_warning("Increasing radius to %d,</span></div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="comment"> in %d %d", rx_loop, i, j) ; */</span></div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> newValue = sinfo_new_c_bezier_correct_pixel_2D( i, j, im,</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> mask,</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> sc_im,</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> drs_sc_mask,</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="comment">/*, look*/</span></div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> rx_loop,</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> ry_loop,</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> rz_loop,</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> &med,</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> &stdev,</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> factor );</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> }</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="keywordflow">if</span> ( isnan(newValue)) <span class="comment">/*<= -3.e10 ZERO )*/</span></div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="keywordflow">continue</span>;</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> old = pidata[sinfo_im_xy(im,i,j)];</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="keywordflow">if</span> ( newValue != old )</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> {</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> pidata[sinfo_im_xy(im,i,j)] = newValue;</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="comment">/*sinfo_msg_warning("[%d,%d]=%f -> %f, med= %f,</span></div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="comment"> stdev=%f\n",i,j, old, newValue, med, stdev );*/</span></div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> count++;</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> }</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> }</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> }</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> }</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> </div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> </div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> sinfo_msg(<span class="stringliteral">"bad pixels count: %d\n"</span>,count);</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> </div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> </div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> cpl_imagelist_delete(sc_im);</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> cpl_imagelist_delete(drs_sc_mask);</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="keywordflow">return</span> im;</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> }</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> </div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="keywordtype">float</span></div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> sinfo_new_c_bezier_correct_pixel(<span class="keywordtype">int</span> ipos,</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <span class="keywordtype">int</span> jpos,</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> cpl_image * im,</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> cpl_image * mask,</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> cpl_imagelist * sc_im,</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> cpl_imagelist * drs_sc_mask,</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> new_Lookup * look,</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="keywordtype">short</span> rx,</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="keywordtype">short</span> ry,</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> <span class="keywordtype">short</span> rz )</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> {</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="keywordtype">short</span> ic, jc, kc, ii, jj, kk<span class="comment">/*, sjj, skk*/</span>,is,js,ks;</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="keywordtype">short</span> i, j, k, indexJ, indexI, lx, ly, lz, szx, szy, szz;</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="comment">/*float indexIf,indexJf,sp;*/</span></div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> cpl_image * X, * Y, * Z, * hX;</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> cpl_imagelist * id, * jd;</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> </div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="keywordtype">int</span> idlx=0;</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="keywordtype">int</span> idly=0;</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="keywordtype">int</span> idnp=0;</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> </div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> <span class="keywordtype">int</span> drslx=0;</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="keywordtype">int</span> drsly=0;</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="keywordtype">int</span> drsnp=0;</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> </div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> </div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="keywordtype">float</span>* pXdata=NULL;</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="keywordtype">float</span>* pYdata=NULL;</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="keywordtype">float</span>* pZdata=NULL;</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="keywordtype">float</span>* phXdata=NULL;</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="keywordtype">float</span>* pmdata=NULL;</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="keywordtype">float</span>* piddata=NULL;</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="keywordtype">float</span>* pjddata=NULL;</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="keywordtype">float</span>* pscdata=NULL;</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="keywordtype">float</span>* pdrsdata=NULL;</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> </div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> cpl_image* id_img=NULL;</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> cpl_image* jd_img=NULL;</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> cpl_image* sc_img=NULL;</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> cpl_image* drs_img=NULL;</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> </div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> X = look -> X;</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> Y = look -> Y;</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> Z = look -> Z;</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> hX = look -> hX;</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="keywordtype">id</span> = look -> id;</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> jd = look -> jd;</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> </div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> <span class="comment"> phXdata=cpl_image_get_data_float(hX);</span></div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="comment"> if ( phXdata[sinfo_im_xy( hX, ipos, jpos)] > 1 )</span></div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <span class="comment"> sinfo_msg_error(" double hit in position [%d,%d]=%f, "</span></div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="comment"> "can not correct\n",</span></div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="comment"> ipos,jpos,phXdata[sinfo_im_xy(hX,ipos,jpos)]) ;</span></div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> <span class="comment"> return ( -2e10 );</span></div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> <span class="comment"> }*/</span></div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> </div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> pidata=cpl_image_get_data_float(im);</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> pmdata=cpl_image_get_data_float(mask);</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> </div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> phXdata=cpl_image_get_data_float(hX);</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="keywordflow">if</span> ( phXdata[sinfo_im_xy( hX, ipos, jpos)] < 1 )</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> {</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> <span class="comment">/*sinfo_msg_error("no lookup in position [%d,%d]=%f, can not correct",</span></div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> <span class="comment"> ipos,jpos,phXdata[sinfo_im_xy(hX,ipos,jpos)]) ;*/</span></div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> <span class="keywordflow">return</span> ( ZERO );</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> }</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> pXdata=cpl_image_get_data_float(X);</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> pYdata=cpl_image_get_data_float(Y);</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> pZdata=cpl_image_get_data_float(Z);</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> </div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> </div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> ic = pXdata[sinfo_im_xy( X, ipos, jpos)];</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> jc = pYdata[sinfo_im_xy( Y, ipos, jpos)];</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> kc = pZdata[sinfo_im_xy( Z, ipos, jpos)];</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> <span class="comment">/*if ( !(ipos % 16 ) )*/</span></div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="preprocessor">#ifdef DEBUG</span></div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="preprocessor"></span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Correcting bad pixel : ipos=%d,jpos=%d, "</span></div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="stringliteral">"in Cube -> ic=%d, jc=%d, kc=%d\n"</span>,</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> ipos,jpos, ic, jc, kc );</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> <span class="preprocessor"></span> <span class="comment">/*limit to start not before the beginning of the cube*/</span></div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> ii = ic - rx; <span class="keywordflow">if</span> ( ii < 0 ) ii = 0;</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> jj = jc - ry; <span class="keywordflow">if</span> ( jj < 0 ) jj = 0;</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> kk = kc - rz; <span class="keywordflow">if</span> ( kk < 0 ) kk = 0;</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> </div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="preprocessor">#ifdef DEBUG</span></div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="preprocessor"></span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Start Point in Cube -> ii=%d,jj=%d,kk=%d\n"</span>, ii, jj, kk );</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> <span class="comment">/*limit to end not outside of the cube */</span></div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> szx = (rx * 2 ) + 1;</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> szy = (ry * 2 ) + 1;</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> szz = (rz * 2 ) + 1;</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> </div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> idlx=cpl_image_get_size_x(cpl_imagelist_get(<span class="keywordtype">id</span>,0));</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> idly=cpl_image_get_size_y(cpl_imagelist_get(<span class="keywordtype">id</span>,0));</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> idnp=cpl_imagelist_get_size(<span class="keywordtype">id</span>);</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> </div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> lx = idlx;</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> ly = idly;</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> lz = idnp;</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> </div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <span class="keywordflow">if</span> ( ( ic + rx ) >= idlx )</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> szx = szx - ( (ic+rx)-(lx-1) );</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> </div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <span class="keywordflow">if</span> ( ( jc + ry ) >= idly )</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> szy = szy - ( (jc+ry)-(ly-1) );</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> </div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> <span class="keywordflow">if</span> ( ( kc + rz ) >= idnp )</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> szz = szz - ( (kc+rz)-(lz-1) );</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> </div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> drslx=cpl_image_get_size_x(cpl_imagelist_get(drs_sc_mask,0));</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> drsly=cpl_image_get_size_y(cpl_imagelist_get(drs_sc_mask,0));</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> drsnp=cpl_imagelist_get_size(drs_sc_mask);</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> <span class="preprocessor">#ifdef DEBUG</span></div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> </div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Size of subcube: szx=%d,szy=%d,szz=%d\n"</span>, szx, szy, szz );</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <span class="comment">/*fill whole mask with not available*/</span></div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Fill Mask subcube of size: %d,%d,%d, with NOINFO\n"</span>,</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> drslx, drsly, drsnp);</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="preprocessor"></span> <span class="keywordflow">for</span>( i = 0; i < drslx; i++) {</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <span class="keywordflow">for</span>( j = 0; j < drsly; j++) {</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> <span class="keywordflow">for</span>( k = 0; k < drsnp; k++) {</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> drs_img=cpl_imagelist_get(drs_sc_mask,k);</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> pdrsdata=cpl_image_get_data_float(drs_img);</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> pdrsdata[sinfo_cu_xy(drs_sc_mask,i,j)] = cubePT_NOINFO;</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> }</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> }</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> }</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> </div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> <span class="keywordflow">for</span>( i = ii,is=0; i < ii+szx; i++,is++)</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> {</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> <span class="keywordflow">for</span>( j = jj,js=0; j < jj+szy; j++,js++)</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> {</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="keywordflow">for</span>( k = kk,ks=0; k < kk+szz; k++,ks++)</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> {</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <span class="preprocessor">#ifdef DEBUG</span></div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> <span class="preprocessor"></span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"i=%d j=%d k=%d is=%d ij=%d ik=%d"</span>,</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> i,j,k,is,js,ks);</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> <span class="preprocessor"></span> id_img=cpl_imagelist_get(<span class="keywordtype">id</span>,k);</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> jd_img=cpl_imagelist_get(jd,k);</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> piddata=cpl_image_get_data_float(id_img);</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> pjddata=cpl_image_get_data_float(jd_img);</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> </div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> drs_img=cpl_imagelist_get(drs_sc_mask,ks);</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> pdrsdata=cpl_image_get_data_float(drs_img);</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> sc_img=cpl_imagelist_get(sc_im,ks);</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> pscdata=cpl_image_get_data_float(sc_img);</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> </div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> indexI = sinfo_new_nint( piddata[sinfo_cu_xy(<span class="keywordtype">id</span>,i,j)] );</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> indexJ = sinfo_new_nint( pjddata[sinfo_cu_xy(jd,i,j)] );</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <span class="keywordflow">if</span> ( indexJ <= -1 || indexJ>=2048 || indexI == -1 )</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> {</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> pdrsdata[sinfo_cu_xy(drs_sc_mask,is,js)] = cubePT_NOINFO;</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="keywordflow">continue</span>;</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> }</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> pscdata[sinfo_cu_xy(sc_im,is,js)] =</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> pidata[sinfo_im_xy(im,indexI,indexJ)];</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> pdrsdata[sinfo_cu_xy(drs_sc_mask,is,js)] =</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> pmdata[sinfo_im_xy(mask,indexI,indexJ)];</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> <span class="preprocessor">#ifdef DEBUG</span></div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> <span class="preprocessor"></span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Cube i=%d, j=%d, k=%d ;"</span></div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> <span class="stringliteral">" Sub is=%d, js=%d, ks=%d ;"</span></div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> <span class="stringliteral">" Plane I=%d,J=%d ; mask %f ; im %f"</span>,</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> i, j, k, is, js, ks, indexI, indexJ,</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> pmdata[sinfo_im_xy(mask,indexI,indexJ)],</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> pidata[sinfo_im_xy(im,indexI,indexJ)]);</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> }</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> }</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> }</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> </div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> </div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> <span class="comment">/*signal to correct this pixel*/</span></div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> drs_img=cpl_imagelist_get(drs_sc_mask,rz);</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> pdrsdata=cpl_image_get_data_float(drs_img);</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> pdrsdata[sinfo_cu_xy(drs_sc_mask,rx,ry)] = cubePT_FIND;</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> <span class="keywordflow">return</span> ( sinfo_new_c_bezier_interpol( sc_im, drs_sc_mask ) );</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> }</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> </div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> <span class="keywordtype">float</span></div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> sinfo_new_c_bezier_correct_pixel_2D(<span class="keywordtype">int</span> ipos,</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> <span class="keywordtype">int</span> jpos,</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> cpl_image * im,</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> cpl_image * mask,</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> cpl_imagelist * sc_im,</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> cpl_imagelist * drs_sc_mask,</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> <span class="comment">/* Lookup * look,*/</span></div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> <span class="keywordtype">short</span> rx, <span class="keywordtype">short</span> ry,</div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> <span class="keywordtype">short</span> rz ,</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> <span class="keywordtype">double</span> *med ,</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> <span class="keywordtype">double</span> *stdev,</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> <span class="keywordtype">float</span> factor )</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> {</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="keywordtype">short</span> ic, jc, kc, ii, jj, kk<span class="comment">/*, sjj, skk*/</span>,is,js,ks;</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> <span class="keywordtype">short</span> i, j, k, indexJ, indexI, lx, ly, lz, szx, szy, szz;</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> <span class="keywordtype">double</span> sum;</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> <span class="keywordtype">int</span> counter;</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <span class="keywordtype">float</span> sumarr[100];</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> </div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> </div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> </div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="keywordtype">int</span> drslx=0;</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> <span class="keywordtype">int</span> drsly=0;</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> <span class="keywordtype">int</span> drsnp=0;</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> </div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> </div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> <span class="keywordtype">float</span>* pidata=0;</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> <span class="keywordtype">float</span>* pmdata=0;</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> <span class="keywordtype">float</span>* pscdata=0;</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> <span class="keywordtype">float</span>* pdrsdata=0;</div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> </div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> cpl_image* drs_img=NULL;</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> cpl_image* sc_img=NULL;</div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> </div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> jc = 0;</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> ic = ipos;</div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> kc = jpos;</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Correcting bad pixel : ipos=%d,jpos=%d, "</span></div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> <span class="stringliteral">"in Cube -> ic=%d, jc=%d, kc=%d"</span>, ipos,jpos, ic, jc, kc );</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> <span class="comment">/*limit to start not before the beginning of the cube*/</span></div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> ii = ic - rx; <span class="keywordflow">if</span> ( ii < 0 ) ii = 0;</div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> jj = jc - ry; <span class="keywordflow">if</span> ( jj < 0 ) jj = 0;</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> kk = kc - rz; <span class="keywordflow">if</span> ( kk < 0 ) kk = 0;</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> </div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Start Point in Cube -> ii=%d,jj=%d,kk=%d"</span>, ii, jj, kk );</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> </div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> ilx=cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> ily=cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> </div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> <span class="comment">/*limit to end not outside of the cube */</span></div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> szx = (rx * 2 ) + 1;</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> szy = (ry * 2 ) + 1;</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> szz = (rz * 2 ) + 1;</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> lx = ilx;</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> ly = ily;</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> lz = ily;</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> <span class="keywordflow">if</span> ( ( ic + rx ) >= ilx )</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> szx = szx - ( (ic+rx)-(lx-1) );</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> </div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <span class="keywordflow">if</span> ( ( jc + ry ) >= ily )</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> szy = szy - ( (jc+ry)-(ly-1) );</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> </div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> <span class="keywordflow">if</span> ( ( kc + rz ) >= ily )</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> szz = szz - ( (kc+rz)-(lz-1) );</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> </div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> <span class="preprocessor">#ifdef DEBUG</span></div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> <span class="preprocessor"></span> drslx=cpl_image_get_size_x(cpl_imagelist_get(drs_sc_mask,0));</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> drsly=cpl_image_get_size_y(cpl_imagelist_get(drs_sc_mask,0));</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> drsnp=cpl_imagelist_get_size(drs_sc_mask);</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Size of subcube : szx=%d,szy=%d,szz=%d"</span>, szx, szy, szz );</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> <span class="comment">/*fill whole mask with not available*/</span></div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Fill Mask subcube of size:%d,%d,%d, with NOINFO"</span>,</div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> drslx, drsly, drsnp);</div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> <span class="preprocessor"></span> <span class="keywordflow">for</span>( i = 0; i < drslx; i++) {</div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> <span class="keywordflow">for</span>( j = 0; j < drsly; j++) {</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> <span class="keywordflow">for</span>( k = 0; k < drsnp; k++) {</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> drs_img=cpl_imagelist_get(drs_sc_mask,k);</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> pdrsdata=cpl_image_get_data_float(drs_img);</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> pdrsdata[sinfo_cu_xy(drs_sc_mask,i,j)] = cubePT_NOINFO;</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> }</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> }</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> }</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> counter = 0;</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> sum=0;</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> memset(sumarr,0x00,<span class="keyword">sizeof</span>(sumarr));</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> pidata=cpl_image_get_data(im);</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> pmdata=cpl_image_get_data(mask);</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> </div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> <span class="keywordflow">for</span>( i = ii,is=0; i < ii+szx; i++,is++)</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> {</div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> <span class="keywordflow">for</span>( j = jj,js=0; j < jj+szy; j++,js++)</div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> {</div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> <span class="keywordflow">for</span>( k = kk,ks=0; k < kk+szz; k++,ks++)</div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> {</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> <span class="preprocessor">#ifdef DEBUG</span></div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> <span class="preprocessor"></span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"i=%d j=%d k=%d is=%d ij=%d ik=%d"</span>,</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> i,j,k,is,js,ks);</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> <span class="preprocessor"></span> indexI = i;</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> indexJ = k;</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="keywordflow">if</span> ( isnan(pidata[sinfo_im_xy(mask,indexI,indexJ)]) )</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> pmdata[sinfo_im_xy(mask,indexI,indexJ)] = 0;</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> </div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="keywordflow">if</span> ( pmdata[sinfo_im_xy(mask,indexI,indexJ)] == 1 &&</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> ( indexI != ipos || indexJ != jpos) )</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> {</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> <span class="comment">/*sumarr[counter] = pidata[sinfo_im_xy(im,indexI,indexJ)];*/</span></div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> sum = sum + pidata[sinfo_im_xy(im,indexI,indexJ)];</div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> counter++;</div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> }</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> sc_img=cpl_imagelist_get(sc_im,ks);</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> pscdata[sinfo_cu_xy(sc_im,is,js)]=</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> pidata[sinfo_im_xy(im,indexI,indexJ)];</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> drs_img=cpl_imagelist_get(drs_sc_mask,ks);</div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> pdrsdata=cpl_image_get_data_float(drs_img);</div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> pdrsdata[sinfo_cu_xy(drs_sc_mask,is,js)]=</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> pmdata[sinfo_im_xy(mask,indexI,indexJ)];</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> <span class="preprocessor">#ifdef DEBUG</span></div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> <span class="preprocessor"></span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Cube i=%d, j=%d, k=%d ; "</span></div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> <span class="stringliteral">"Sub is=%d, js=%d, ks=%d ; "</span></div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> <span class="stringliteral">" Plane I=%d,J=%d ; mask %f ; im %f"</span>,</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> i, j, k, is, js, ks, indexI, indexJ,</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> pmdata[sinfo_im_xy(mask,indexI,indexJ)],</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> pidata[sinfo_im_xy(im,indexI,indexJ)]);</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> }</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> }</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> }</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> </div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> </div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> <span class="comment">/*signal to correct this pixel*/</span></div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> drs_img=cpl_imagelist_get(drs_sc_mask,rz);</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> pdrsdata=cpl_image_get_data_float(drs_img);</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> pdrsdata[sinfo_cu_xy(drs_sc_mask,rx,ry)] = cubePT_FIND;</div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> <span class="keywordflow">if</span> ( counter )</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> *med = sum/counter;</div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> <span class="keywordflow">return</span>(pidata[sinfo_im_xy(im,ipos,jpos)]);</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> </div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> <span class="comment">/*sinfo_msg_debug("%f %f %d\n",</span></div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> <span class="comment"> sum ,pidata[sinfo_im_xy(im,ipos,jpos)], counter);*/</span></div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> </div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> </div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> </div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> sum =0;</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> counter=0;</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> <span class="keywordflow">for</span>( i = ii,is=0; i < ii+szx; i++,is++)</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> {</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> <span class="keywordflow">for</span>( j = jj,js=0; j < jj+szy; j++,js++)</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> {</div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> <span class="keywordflow">for</span>( k = kk,ks=0; k < kk+szz; k++,ks++)</div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> {</div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> drs_img=cpl_imagelist_get(drs_sc_mask,ks);</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> pdrsdata=cpl_image_get_data_float(drs_img);</div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> indexI = i;</div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> indexJ = k;</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> <span class="keywordflow">if</span> ( pdrsdata[sinfo_cu_xy(drs_sc_mask,is,js)] == 1 &&</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> ( indexI != ipos || indexJ != jpos) )</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> {</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> sc_img=cpl_imagelist_get(sc_im,ks);</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> pscdata=cpl_image_get_data_float(sc_img);</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> </div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> sum=sum+((pscdata[sinfo_cu_xy(drs_sc_mask,is,js)]- *med) *</div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> (pscdata[sinfo_cu_xy(drs_sc_mask,is,js)] - *med ) );</div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> counter++;</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> }</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> }</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> }</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> }</div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> <span class="comment"> double aux;</span></div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> <span class="comment"> aux = sum;</span></div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> sum = sum / (counter - 1);</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> *stdev = sqrt( sum );</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> </div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> <span class="keywordflow">if</span> ( (fabs( pidata[sinfo_im_xy(im,ipos,jpos)] - *med ) ></div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> factor * *stdev) ||</div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> isnan(pidata[sinfo_im_xy(im,ipos,jpos)]) )</div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> {</div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> <span class="comment">/*sinfo_msg_debug("[%d,%d]: distance to mean = %f,"</span></div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> <span class="comment"> " thres =%f sum=%f, stdev=%f, counter=%d, aux= %f",</span></div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> <span class="comment"> ipos,jpos, fabs( pidata[sinfo_im_xy(im,ipos,jpos)] - *med),</span></div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> <span class="comment"> factor * *stdev, sum,*stdev, counter,aux );</span></div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> <span class="comment"> pmdata[sinfo_im_xy(mask,ipos,jpos)] = 0;*/</span></div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> <span class="keywordflow">return</span> ( sinfo_new_c_bezier_interpol( sc_im, drs_sc_mask ) );</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> }</div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> <span class="keywordflow">return</span>(pidata[sinfo_im_xy(im,ipos,jpos)]);</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> }</div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> </div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> </div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> </div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> <span class="keywordtype">float</span></div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> sinfo_new_c_bezier_interpol( cpl_imagelist * im, cpl_imagelist * action )</div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> {</div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> <span class="keywordtype">short</span> pos;</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> i,j,k;</div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> new_XYZW indata[1000];</div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> new_XYZW res;</div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> new_XYZW selected;</div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> <span class="keywordtype">float</span> step,cumstep,distance,selected_distance;</div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> new_Dim *point=NULL;</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> <span class="keywordtype">double</span> munk;</div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> <span class="keywordtype">float</span>* padata=NULL;</div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> cpl_image* a_img=NULL;</div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> </div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> selected.w = 0;</div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> memset(indata,0x00,1000*<span class="keyword">sizeof</span>(new_XYZW));</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> ilx=cpl_image_get_size_x(cpl_imagelist_get(im,0));</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> ily=cpl_image_get_size_y(cpl_imagelist_get(im,0));</div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> inp=cpl_imagelist_get_size(im);</div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> </div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> pos=0;</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> <span class="keywordflow">for</span>( i=0; i < ilx; i++)</div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> {</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> <span class="keywordflow">for</span>( j=0; j < ily; j++)</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> {</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> <span class="preprocessor">#ifdef DEBUG</span></div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> <span class="preprocessor"></span> <span class="keywordtype">int</span> pix=0;</div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> pix=i+j*ilx;</div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> <span class="preprocessor"></span> <span class="keywordflow">for</span>( k=0; k < inp; k++)</div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> {</div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> a_img=cpl_imagelist_get(action,k);</div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> padata=cpl_image_get_data_float(a_img);</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> i_img=cpl_imagelist_get(action,k);</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> <span class="keywordflow">if</span> ( padata[sinfo_cu_xy(action,i,j)] == cubePT_USE )</div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> {</div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> <span class="preprocessor">#ifdef DEBUG</span></div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> <span class="preprocessor"></span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Used im[%d,%d,%d]=%lf\n"</span>,</div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> i,j,k,pidata[pix]);</div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> <span class="preprocessor"></span> indata[pos].x = i;</div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> indata[pos].y = j;</div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> indata[pos].z = k;</div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> indata[pos].w = pidata[sinfo_cu_xy(im,i,j)];</div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> pos++;</div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> }</div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> {</div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> <span class="keywordflow">if</span> ( padata[sinfo_cu_xy(action,i,j)] == cubePT_FIND )</div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> {</div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> (*point).x = i;</div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> (*point).y = j;</div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> (*point).z = k;</div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> <span class="preprocessor">#ifdef DEBUG</span></div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> <span class="preprocessor"></span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Find for im[%d,%d,%d]=%lf reason:%f"</span>,</div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> i,j,k,pidata[pix],</div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> padata[sinfo_cu_xy(action,i,j)]);</div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> <span class="preprocessor"></span> }</div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> {</div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> <span class="preprocessor">#ifdef DEBUG</span></div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> <span class="preprocessor"></span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Ignored im[%d,%d,%d]=%lf reason:%f"</span>,</div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> i,j,k,pidata[sinfo_im_xy(im,i,j)],</div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> padata[pix]);</div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> <span class="preprocessor"></span> }</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> }</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> }</div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> }</div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> }</div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> </div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> </div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> <span class="keywordflow">if</span> ( pos < 2 )</div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> {</div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> <span class="preprocessor">#ifdef DEBUG</span></div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> <span class="preprocessor"></span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"subcube contains no valid pixels "</span></div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> <span class="stringliteral">"to use in iterpolation"</span>);</div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> <span class="preprocessor"></span> <span class="comment">/*i_img=cpl_imagelist_get((*point).z);</span></div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> <span class="comment"> pidata=cpl_image_get_data_float(i_img);</span></div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> <span class="comment"> return( pidata[sinfo_im_xy(im,(*point).x,(*point).y)] );*/</span></div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> <span class="keywordflow">return</span>( cubeNONEIGHBOR );</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> </div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> }</div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> </div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> </div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> step = 0.01;</div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> cumstep = 0.0;</div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> selected_distance=1000;</div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> munk = pow( 1.0-cumstep, (<span class="keywordtype">double</span>)pos - 1 );</div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> <span class="keywordflow">for</span> ( i = 0 ; ( i < 100 ) && ( munk != 0.0 ); i++ )</div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> {</div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> memset( &res, 0x00, <span class="keyword">sizeof</span>(new_XYZW) );</div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> sinfo_new_bezier( indata, pos-1, cumstep, munk, &res);</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> distance = sqrt( pow( ((*point).x-res.x), 2)+</div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> pow( ((*point).y-res.y), 2)+</div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> pow( ((*point).z-res.z), 2) );</div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> <span class="comment">/*sinfo_msg_debug("%lf %lf %lf %lf %lf\n",</span></div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> <span class="comment"> res.x,res.y,res.z,res.w,distance);*/</span></div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> <span class="keywordflow">if</span> ( distance < selected_distance )</div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> {</div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> selected_distance = distance;</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> selected.x = res.x;</div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> selected.y = res.y;</div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> selected.z = res.z;</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> selected.w = res.w;</div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> }</div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> cumstep = cumstep + step;</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> munk = pow( 1.0 - cumstep, (<span class="keywordtype">double</span>)pos - 1 );</div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> </div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> }</div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> </div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> <span class="preprocessor">#ifdef DEBUG</span></div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> <span class="preprocessor"></span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Selected %lf %lf %lf %lf, distance=%lf"</span>,</div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> selected.x,selected.y,selected.z,</div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> selected.w,selected_distance);</div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> <span class="preprocessor"></span> i_img=cpl_imagelist_get(im,(*point).z);</div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> pidata[sinfo_cu_xy(im,(*point).x,(*point).y)] = selected.w;</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> </div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> <span class="keywordflow">return</span> selected.w;</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> }</div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> </div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> </div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> </div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> sinfo_new_bezier(new_XYZW *p,<span class="keywordtype">int</span> n,<span class="keywordtype">double</span> mu,<span class="keywordtype">double</span> munk,new_XYZW *res )</div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> {</div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> <span class="keywordtype">int</span> k, kn, nn, nkn;</div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> <span class="keywordtype">double</span> blend, muk;</div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> </div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> muk = 1;</div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> <span class="keywordflow">for</span> ( k = 0; k <= n; k++ ) {</div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> nn = n;</div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> kn = k;</div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> nkn = n - k;</div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> blend = muk * munk;</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> muk *= mu;</div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> munk /= ( 1.0 - mu );</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> <span class="keywordflow">while</span> ( nn >= 1 ) {</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> blend *= (double)nn;</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> nn--;</div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> <span class="keywordflow">if</span> ( kn > 1 ) {</div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> blend /= (double)kn;</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> kn--;</div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> }</div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> <span class="keywordflow">if</span> ( nkn > 1 ) {</div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> blend /= (double)nkn;</div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> nkn--;</div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> }</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> }</div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> res -> x += p[k].x * blend;</div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> res -> y += p[k].y * blend;</div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> res -> z += p[k].z * blend;</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> res -> w += p[k].w * blend;</div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> }</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> <span class="keywordflow">return</span>( 0 );</div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> }</div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> </div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> sinfo_new_c_create_XYZ( new_Lookup *l )</div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> {</div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> cpl_image *imX,*imY,*imZ,*imcX;</div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> <span class="keywordtype">short</span> i,j,k,indexI,indexJ,x,y,z;</div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> <span class="keywordtype">int</span> size;</div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> <span class="keywordtype">int</span> idlx=0;</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> <span class="keywordtype">int</span> idly=0;</div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> <span class="keywordtype">int</span> idnp=0;</div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> <span class="keywordtype">float</span>* piddata=NULL;</div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> <span class="keywordtype">float</span>* pjddata=NULL;</div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> <span class="keywordtype">float</span>* pXdata=NULL;</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> <span class="keywordtype">float</span>* pYdata=NULL;</div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> <span class="keywordtype">float</span>* pZdata=NULL;</div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> <span class="keywordtype">float</span>* phXdata=NULL;</div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> </div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> cpl_image* j_img=NULL;</div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> </div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> idlx=cpl_image_get_size_x(cpl_imagelist_get(l->id,0));</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> idly=cpl_image_get_size_y(cpl_imagelist_get(l->id,0));</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> idnp=cpl_imagelist_get_size(l->id);</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> </div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> size = idlx*idly;</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> <span class="keywordflow">if</span> ( NULL == (imX = cpl_image_new(size, size, CPL_TYPE_FLOAT)) )</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> {</div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" could not allocate memory for X !\n"</span>) ;</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> }</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> <span class="keywordflow">if</span> ( NULL == (imY = cpl_image_new(size, size, CPL_TYPE_FLOAT)) )</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> {</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" could not allocate memory for Y !\n"</span>) ;</div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> }</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> <span class="keywordflow">if</span> ( NULL == (imZ = cpl_image_new(size, size, CPL_TYPE_FLOAT)) )</div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> {</div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" could not allocate memory for Z !\n"</span>) ;</div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> }</div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> <span class="keywordflow">if</span> ( NULL == (imcX = cpl_image_new(size, size, CPL_TYPE_FLOAT)) )</div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> {</div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" could not allocate memory for cX !\n"</span>) ;</div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> }</div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> </div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> l -> X = imX;</div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> l -> Y = imY;</div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> l -> Z = imZ;</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> l -> hX = imcX;</div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> </div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> <span class="comment">/*Round id*/</span></div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> <span class="keywordflow">for</span>( i = 0; i < idlx; i++)</div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> {</div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> <span class="keywordflow">for</span>( j = 0; j < idly; j++)</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> {</div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> <span class="keywordflow">for</span>( k = 0; k < idnp; k++)</div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> {</div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> i_img=cpl_imagelist_get(l->id,k);</div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> piddata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> piddata[sinfo_cu_xy(l->id,i,j)] =</div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> (float)sinfo_new_nint(piddata[sinfo_cu_xy(l->id,i,j)]);</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> }</div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> }</div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> }</div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> </div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> <span class="comment">/*Round jd*/</span></div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> <span class="keywordflow">for</span>( i = 0; i < idlx; i++)</div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> {</div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> <span class="keywordflow">for</span>( j = 0; j < idly; j++)</div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> {</div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> <span class="keywordflow">for</span>( k = 0; k < idnp; k++)</div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> {</div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> j_img=cpl_imagelist_get(l->jd,k);</div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> pjddata=cpl_image_get_data_float(j_img);</div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> pjddata[sinfo_cu_xy(l->jd,i,j)] =</div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> (float)sinfo_new_nint(pjddata[sinfo_cu_xy(l->jd,i,j)]);</div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> }</div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> }</div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> }</div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> </div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> <span class="comment">/*Fill with -1 X Y Z*/</span></div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> <span class="keywordflow">for</span>( i = 0; i < cpl_image_get_size_x(l -> X); i++)</div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> {</div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> <span class="keywordflow">for</span>( j = 0; j < cpl_image_get_size_y(l -> X); j++)</div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> {</div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> pXdata=cpl_image_get_data_float(l->X);</div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> pYdata=cpl_image_get_data_float(l->Y);</div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> pZdata=cpl_image_get_data_float(l->Z);</div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> </div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> pXdata[sinfo_im_xy(l->X,i,j)] = ZERO;</div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> pYdata[sinfo_im_xy(l->Y,i,j)] = ZERO;</div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> pZdata[sinfo_im_xy(l->Z,i,j)] = ZERO;</div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> }</div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> }</div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> <span class="preprocessor">#define FORW</span></div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> <span class="preprocessor"></span><span class="preprocessor">#ifdef BACK</span></div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> <span class="preprocessor"></span> <span class="keywordflow">for</span>( x = idlx - 1;x>=0;x--)</div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> {</div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> <span class="keywordflow">for</span>( y = idly - 1;y>=0;y--)</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> {</div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> <span class="keywordflow">for</span>( z = idnp - 1;z>=0;z--)</div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> #endif</div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> #ifdef FORW</div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> <span class="keywordflow">for</span>( x = 0; x < idlx; x++)</div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> {</div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> <span class="keywordflow">for</span>( y = 0; y < idly; y++)</div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> {</div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> <span class="keywordflow">for</span>( z = 0; z < idnp; z++)</div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> #endif</div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> {</div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> i_img=cpl_imagelist_get(l->id,z);</div>
-<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> piddata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span> j_img=cpl_imagelist_get(l->jd,z);</div>
-<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> pjddata=cpl_image_get_data_float(j_img);</div>
-<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> indexI = piddata [sinfo_cu_xy(l->id,x,y)];</div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> indexJ = pjddata [sinfo_cu_xy(l->jd,x,y)];</div>
-<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> <span class="keywordflow">if</span> ( indexI > 0.0 && indexI < size &&</div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> indexJ > 0.0 && indexJ < size )</div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> {</div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> <span class="comment">/*sinfo_msg_debug("%d %d %d = %f, %f\n",</span></div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> <span class="comment"> x,y,z,(float)ICube(x,y,z),(float)JCube(x,y,z));*/</span></div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> pXdata=cpl_image_get_data_float(l->X);</div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> pYdata=cpl_image_get_data_float(l->Y);</div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> pZdata=cpl_image_get_data_float(l->Z);</div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> phXdata=cpl_image_get_data_float(l->hX);</div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> </div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> pXdata[sinfo_im_xy(l->X ,indexI,indexJ)] = x;</div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> phXdata[sinfo_im_xy(l->hX,indexI,indexJ)] =</div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> phXdata[sinfo_im_xy(l->hX,indexI,indexJ)] + 1;</div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> </div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> pYdata[sinfo_im_xy(l->Y ,indexI,indexJ)] = y;</div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> <span class="comment">/*phXdata[sinfo_im_xy(l->hX,indexI,indexJ)] =</span></div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> <span class="comment"> phXdata[sinfo_im_xy(l->hX,indexI,indexJ)] + 1;*/</span></div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> </div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> pZdata[sinfo_im_xy(l->Z ,indexI,indexJ)] = z;</div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> <span class="comment">/*phXdata[sinfo_im_xy(l->hX,indexI,indexJ)] =</span></div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> <span class="comment"> phXdata[sinfo_im_xy(l->hX,indexI,indexJ)] + 1;*/</span></div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> }</div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> }</div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> }</div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> }</div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> </div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> </div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> sinfo_msg(<span class="stringliteral">"Filled X Y Z , cX cY cZ 2D frames\n"</span>);</div>
-<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> <span class="keywordflow">return</span>(0);</div>
-<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> }</div>
-<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> </div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> new_Lookup *</div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> sinfo_new_lookup( <span class="keywordtype">void</span> )</div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> {</div>
-<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> new_Lookup *l;</div>
-<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> l = (new_Lookup*)cpl_calloc(1, <span class="keyword">sizeof</span>(new_Lookup));</div>
-<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> <span class="keywordflow">return</span> (l);</div>
-<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> }</div>
-<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> sinfo_new_destroy_lookup( new_Lookup *l )</div>
-<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span> {</div>
-<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> <span class="keywordflow">if</span> ( l )</div>
-<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span> cpl_free(l);</div>
-<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> }</div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> sinfo_new_change_mask (cpl_image * mask, cpl_image * im)</div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> {</div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> <span class="comment">//int mlx=0;</span></div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> <span class="comment">//int mly=0;</span></div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> <span class="keywordtype">float</span>* pmdata=NULL;</div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> </div>
-<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> <span class="keywordflow">if</span> (mask == NULL || im == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> ilx=cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> ily=cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> pidata=cpl_image_get_data_float(im);</div>
-<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span> </div>
-<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> <span class="comment">//mlx=cpl_image_get_size_x(mask);</span></div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> <span class="comment">//mly=cpl_image_get_size_y(mask);</span></div>
-<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> pmdata=cpl_image_get_data_float(mask);</div>
-<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> </div>
-<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) ilx*ily ; i++ )</div>
-<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> {</div>
-<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> <span class="keywordflow">if</span> (isnan(pidata[i]))</div>
-<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> {</div>
-<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> pmdata[i] = 0. ;</div>
-<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span> }</div>
-<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> }</div>
-<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> }</div>
-<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span> </div>
-<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span> </div>
-<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> cpl_image *</div>
-<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span> sinfo_new_c_bezier_find_cosmic( cpl_image *im,</div>
-<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span> cpl_image *mask,</div>
-<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span> new_Lookup *look,</div>
-<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span> <span class="keywordtype">short</span> rx,</div>
-<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span> <span class="keywordtype">short</span> ry,</div>
-<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span> <span class="keywordtype">short</span> rz,</div>
-<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span> <span class="keywordtype">short</span> lowerI,</div>
-<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span> <span class="keywordtype">short</span> highI,</div>
-<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span> <span class="keywordtype">short</span> lowerJ,</div>
-<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span> <span class="keywordtype">short</span> highJ,</div>
-<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span> <span class="keywordtype">float</span> factor )</div>
-<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span> {</div>
-<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span> </div>
-<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span> <span class="keywordtype">int</span> i,j,count;</div>
-<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span> cpl_imagelist * sc_im,* drs_sc_mask;</div>
-<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> <span class="keywordtype">short</span> szx,szy,szz;</div>
-<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> <span class="keywordtype">float</span> <span class="comment">/*ant,*/</span>newValue,old<span class="comment">/*,dif,porcentage,distance*/</span>;</div>
-<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> <span class="keywordtype">double</span> med, stdev;</div>
-<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> <span class="comment">/*cpl_image *out;*/</span></div>
-<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> <span class="keywordtype">short</span> rx_loop, ry_loop, rz_loop;</div>
-<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> </div>
-<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> </div>
-<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> cpl_image* o_img=NULL;</div>
-<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> <span class="comment">//float* pmdata=NULL;</span></div>
-<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> </div>
-<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> </div>
-<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> </div>
-<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> </div>
-<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> <span class="keywordtype">int</span> mlx=0;</div>
-<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> <span class="keywordtype">int</span> mly=0;</div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> </div>
-<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> </div>
-<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> </div>
-<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> </div>
-<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> mlx=cpl_image_get_size_x(mask);</div>
-<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span> mly=cpl_image_get_size_y(mask);</div>
-<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> <span class="comment">//pmdata=cpl_image_get_data_float(mask);</span></div>
-<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> </div>
-<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span> ilx=cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> ily=cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span> pidata=cpl_image_get_data_float(im);</div>
-<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span> </div>
-<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> <span class="keywordflow">if</span> ( mlx != ilx || mly != ily )</div>
-<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> {</div>
-<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" data & mask images not compatible in size\n"</span>) ;</div>
-<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span> }</div>
-<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span> </div>
-<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> <span class="comment">/* allocate memory for sub cubes*/</span></div>
-<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span> szx = (rx * 2 ) + 1;</div>
-<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span> szy = (ry * 2 ) + 1;</div>
-<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span> szz = (rz * 2 ) + 1;</div>
-<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> </div>
-<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span> <span class="keywordflow">if</span> ( NULL == ( sc_im = cpl_imagelist_new() ) )</div>
-<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span> {</div>
-<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" could not allocate memory for data subcube\n"</span>) ;</div>
-<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> }</div>
-<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> <span class="keywordflow">for</span>(i=0;i<szz;i++){</div>
-<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span> o_img=cpl_image_new(szx,szy,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> cpl_imagelist_set(sc_im,o_img,i);</div>
-<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span> }</div>
-<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> </div>
-<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span> <span class="keywordflow">if</span> ( NULL == ( drs_sc_mask = cpl_imagelist_new() ) )</div>
-<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span> {</div>
-<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" could not allocate memory for mask subcube\n"</span>) ;</div>
-<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> }</div>
-<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span> </div>
-<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span> <span class="keywordflow">for</span>(i=0;i<szz;i++){</div>
-<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> o_img=cpl_image_new(szx,szy,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> cpl_imagelist_set(drs_sc_mask,o_img,i);</div>
-<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span> }</div>
-<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span> </div>
-<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> </div>
-<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span> </div>
-<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span> </div>
-<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span> count=0;</div>
-<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span> <span class="keywordflow">for</span> ( i = 0 ; i < mlx; i++ )</div>
-<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span> {</div>
-<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span> <span class="keywordflow">for</span> ( j = 0 ; j < mly ; j++ )</div>
-<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span> {</div>
-<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span> <span class="keywordflow">if</span> ( i >= lowerI && i < highI && j >= lowerJ && j < highJ )</div>
-<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span> {</div>
-<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span> </div>
-<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> rx_loop = 1 ; ry_loop = 1 ; rz_loop = 1 ;</div>
-<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span> newValue = sinfo_new_c_bezier_correct_cosmic( i, j, im,</div>
-<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span> mask, sc_im,</div>
-<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> drs_sc_mask,</div>
-<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> look,</div>
-<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span> rx_loop,</div>
-<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span> ry_loop,</div>
-<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span> rz_loop,</div>
-<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span> &med,</div>
-<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span> &stdev,</div>
-<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span> factor );</div>
-<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span> <span class="comment">/* if no valid neighboors are found, increase size of</span></div>
-<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span> <span class="comment"> sub cube until max radius is reached */</span></div>
-<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span> <span class="keywordflow">while</span> ( newValue == cubeNONEIGHBOR && rx_loop < rx &&</div>
-<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span> ry_loop < ry && rz_loop < rz )</div>
-<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span> {</div>
-<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span> rx_loop++ ; ry_loop++; rz_loop++;</div>
-<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span> <span class="comment">/*sinfo_msg_debug("Increasing radius to %d, in %d %d",</span></div>
-<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span> <span class="comment"> rx_loop, i, j) ; */</span></div>
-<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span> newValue = sinfo_new_c_bezier_correct_cosmic( i, j, im,</div>
-<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span> mask,</div>
-<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span> sc_im,</div>
-<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span> drs_sc_mask,</div>
-<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> look,</div>
-<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span> rx_loop,</div>
-<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span> ry_loop,</div>
-<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> rz_loop,</div>
-<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span> &med,</div>
-<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> &stdev,</div>
-<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span> factor );</div>
-<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span> }</div>
-<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span> <span class="comment">/*give up on increasing the size*/</span></div>
-<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span> <span class="keywordflow">if</span> ( isnan(newValue) || newValue == cubeNONEIGHBOR )</div>
-<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span> <span class="comment">/*<= -3.e10 ZERO )*/</span></div>
-<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span> <span class="keywordflow">continue</span>;</div>
-<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span> </div>
-<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span> old = pidata[sinfo_im_xy(im,i,j)];</div>
-<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span> <span class="keywordflow">if</span> ( newValue != old )</div>
-<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span> {</div>
-<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span> pidata[sinfo_im_xy(im,i,j)] = newValue;</div>
-<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span> <span class="comment">/*sinfo_msg_debug("[%d,%d]=%f -> %f, med= %f, stdev=%f",</span></div>
-<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span> <span class="comment"> i,j, old, newValue, med, stdev ); */</span></div>
-<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span> count++;</div>
-<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span> }</div>
-<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span> }</div>
-<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span> }</div>
-<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span> }</div>
-<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span> </div>
-<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span> </div>
-<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"bad pixels count: %d"</span>,count);</div>
-<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span> </div>
-<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span> </div>
-<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span> cpl_imagelist_delete(sc_im);</div>
-<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span> cpl_imagelist_delete(drs_sc_mask);</div>
-<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span> <span class="keywordflow">return</span> im;</div>
-<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span> }</div>
-<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span> </div>
-<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span> </div>
-<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span> <span class="keywordtype">float</span></div>
-<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span> sinfo_new_c_bezier_correct_cosmic(<span class="keywordtype">int</span> ipos,</div>
-<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span> <span class="keywordtype">int</span> jpos,</div>
-<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span> cpl_image * im,</div>
-<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span> cpl_image * mask,</div>
-<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span> cpl_imagelist * sc_im,</div>
-<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span> cpl_imagelist * drs_sc_mask,</div>
-<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span> new_Lookup * look,</div>
-<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span> <span class="keywordtype">short</span> rx,</div>
-<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span> <span class="keywordtype">short</span> ry,</div>
-<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span> <span class="keywordtype">short</span> rz ,</div>
-<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span> <span class="keywordtype">double</span> *med ,</div>
-<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span> <span class="keywordtype">double</span> *stdev,</div>
-<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span> <span class="keywordtype">float</span> factor )</div>
-<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span> {</div>
-<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span> <span class="keywordtype">short</span> ic, jc, kc, ii, jj, kk<span class="comment">/*, sjj, skk*/</span>,is,js,ks;</div>
-<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span> <span class="keywordtype">short</span> i, j, k, indexJ, indexI, lx, ly, lz, szx, szy, szz;</div>
-<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span> <span class="comment">/*float indexIf,indexJf,sp;*/</span></div>
-<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span> cpl_image * X, * Y, * Z, * hX;</div>
-<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span> cpl_imagelist * id, * jd;</div>
-<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span> <span class="keywordtype">short</span> counter;</div>
-<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span> <span class="keywordtype">double</span> sum;</div>
-<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span> <span class="keywordtype">float</span>* phXdata=NULL;</div>
-<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span> <span class="keywordtype">float</span>* pXdata=NULL;</div>
-<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span> <span class="keywordtype">float</span>* pYdata=NULL;</div>
-<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span> <span class="keywordtype">float</span>* pZdata=NULL;</div>
-<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span> </div>
-<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span> <span class="keywordtype">float</span>* pimdata=NULL;</div>
-<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span> <span class="keywordtype">float</span>* pscdata=NULL;</div>
-<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span> <span class="keywordtype">float</span>* pdrsdata=NULL;</div>
-<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span> <span class="keywordtype">float</span>* piddata=NULL;</div>
-<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span> <span class="keywordtype">float</span>* pjddata=NULL;</div>
-<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span> <span class="keywordtype">float</span>* pmaskdata=NULL;</div>
-<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span> </div>
-<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span> </div>
-<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span> <span class="keywordtype">int</span> idlx=0;</div>
-<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span> <span class="keywordtype">int</span> idly=0;</div>
-<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span> <span class="keywordtype">int</span> idnp=0;</div>
-<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span> </div>
-<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span> <span class="keywordtype">int</span> drslx=0;</div>
-<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span> <span class="keywordtype">int</span> drsly=0;</div>
-<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span> <span class="keywordtype">int</span> drsnp=0;</div>
-<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span> </div>
-<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span> </div>
-<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span> X = look -> X;</div>
-<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span> Y = look -> Y;</div>
-<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span> Z = look -> Z;</div>
-<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span> hX = look -> hX;</div>
-<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span> <span class="keywordtype">id</span> = look -> id;</div>
-<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span> jd = look -> jd;</div>
-<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span> </div>
-<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span> phXdata=cpl_image_get_data_float(hX);</div>
-<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span> <span class="comment">/*if ( phXdata[sinfo_im_xy( hX, ipos, jpos)] > 1 )</span></div>
-<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span> <span class="comment"> sinfo_msg_error("double hit in position [%d,%d]=%f, can not correct",</span></div>
-<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span> <span class="comment"> ipos,jpos,phXdata[sinfo_im_xy(hX,ipos,jpos)]) ;</span></div>
-<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span> <span class="comment"> return ( -2e10 );</span></div>
-<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span> <span class="comment"> }*/</span></div>
-<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span> <span class="keywordflow">if</span> ( phXdata[sinfo_im_xy( hX, ipos, jpos)] < 1 )</div>
-<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span> {</div>
-<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span> <span class="comment">/*sinfo_msg_error("no lookup in position [%d,%d]=%f, can not correct",</span></div>
-<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span> <span class="comment"> ipos,jpos,phXdata[sinfo_im_xy(hX,ipos,jpos)]) ;*/</span></div>
-<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span> <span class="keywordflow">return</span> ( ZERO );</div>
-<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span> }</div>
-<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span> </div>
-<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span> pXdata=cpl_image_get_data_float(X);</div>
-<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span> pYdata=cpl_image_get_data_float(Y);</div>
-<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span> pZdata=cpl_image_get_data_float(Z);</div>
-<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span> </div>
-<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span> ic = pXdata[sinfo_im_xy( X, ipos, jpos)];</div>
-<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span> jc = pYdata[sinfo_im_xy( Y, ipos, jpos)];</div>
-<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span> kc = pZdata[sinfo_im_xy( Z, ipos, jpos)];</div>
-<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span> <span class="comment">/*if ( !(ipos % 16 ) )*/</span></div>
-<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span> <span class="preprocessor">#ifdef DEBUG</span></div>
-<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span> <span class="preprocessor"></span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Correcting bad pixel : ipos=%d,jpos=%d, "</span></div>
-<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span> <span class="stringliteral">"in Cube -> ic=%d, jc=%d, kc=%d"</span>, ipos,jpos, ic, jc, kc );</div>
-<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span> <span class="preprocessor"></span> <span class="comment">/*limit to start not before the beginning of the cube*/</span></div>
-<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span> ii = ic - rx; <span class="keywordflow">if</span> ( ii < 0 ) ii = 0;</div>
-<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span> jj = jc - ry; <span class="keywordflow">if</span> ( jj < 0 ) jj = 0;</div>
-<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span> kk = kc - rz; <span class="keywordflow">if</span> ( kk < 0 ) kk = 0;</div>
-<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span> </div>
-<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span> <span class="preprocessor">#ifdef DEBUG</span></div>
-<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span> <span class="preprocessor"></span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Start Point in Cube -> ii=%d,jj=%d,kk=%d"</span>, ii, jj, kk );</div>
-<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span> <span class="comment">/*limit to end not outside of the cube */</span></div>
-<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span> szx = (rx * 2 ) + 1;</div>
-<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span> szy = (ry * 2 ) + 1;</div>
-<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span> szz = (rz * 2 ) + 1;</div>
-<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span> </div>
-<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span> idlx = cpl_image_get_size_x(cpl_imagelist_get(<span class="keywordtype">id</span>,0));</div>
-<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span> idly = cpl_image_get_size_y(cpl_imagelist_get(<span class="keywordtype">id</span>,0));</div>
-<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span> idnp = cpl_imagelist_get_size(<span class="keywordtype">id</span>);</div>
-<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span> </div>
-<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span> lx = idlx;</div>
-<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span> ly = idly;</div>
-<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span> lz = idnp;</div>
-<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span> <span class="keywordflow">if</span> ( ( ic + rx ) >= idlx )</div>
-<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span> szx = szx - ( (ic+rx)-(lx-1) );</div>
-<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span> </div>
-<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span> <span class="keywordflow">if</span> ( ( jc + ry ) >= idly )</div>
-<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span> szy = szy - ( (jc+ry)-(ly-1) );</div>
-<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span> </div>
-<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span> <span class="keywordflow">if</span> ( ( kc + rz ) >= idnp )</div>
-<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span> szz = szz - ( (kc+rz)-(lz-1) );</div>
-<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span> </div>
-<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span> <span class="preprocessor">#ifdef DEBUG</span></div>
-<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span> <span class="preprocessor"></span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Size of subcube : szx=%d,szy=%d,szz=%d\n"</span>, szx, szy, szz );</div>
-<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span> <span class="comment">/*fill whole mask with not available*/</span></div>
-<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span> drsnp=cpl_imagelist_get_size(drs_sc_mask);</div>
-<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span> drslx=cpl_image_get_size_x(cpl_imagelist_get(drs_sc_mask,0));</div>
-<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span> drsly=cpl_image_get_size_y(cpl_imagelist_get(drs_sc_mask,0));</div>
-<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span> </div>
-<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Fill Mask subcube of size: %d,%d,%d, with NOINFO"</span>,</div>
-<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span> drslx, drsly, drsnp);</div>
-<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span> <span class="preprocessor"></span> <span class="keywordflow">for</span>( i = 0; i < drslx; i++) {</div>
-<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span> <span class="keywordflow">for</span>( j = 0; j < drsly; j++) {</div>
-<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span> <span class="keywordflow">for</span>( k = 0; k < drsnp; k++) {</div>
-<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span> pdrsdata=cpl_image_get_data_float(cpl_imagelist_get(drs_sc_mask,k));</div>
-<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span> pdrsdata[sinfo_cu_xy(drs_sc_mask,i,j)] = cubePT_NOINFO;</div>
-<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span> }</div>
-<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span> }</div>
-<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span> }</div>
-<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span> pimdata=cpl_image_get_data_float(im);</div>
-<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span> pmaskdata=cpl_image_get_data_float(mask);</div>
-<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span> <span class="keywordflow">for</span>( i = ii,is=0; i < ii+szx; i++,is++)</div>
-<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span> {</div>
-<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span> <span class="keywordflow">for</span>( j = jj,js=0; j < jj+szy; j++,js++)</div>
-<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span> {</div>
-<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span> <span class="keywordflow">for</span>( k = kk,ks=0; k < kk+szz; k++,ks++)</div>
-<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span> {</div>
-<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span> <span class="preprocessor">#ifdef DEBUG</span></div>
-<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span> <span class="preprocessor"></span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"i=%d j=%d k=%d is=%d ij=%d ik=%d"</span>,</div>
-<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span> i,j,k,is,js,ks);</div>
-<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span> <span class="preprocessor"></span> piddata=cpl_image_get_data_float(cpl_imagelist_get(<span class="keywordtype">id</span>,k));</div>
-<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span> pjddata=cpl_image_get_data_float(cpl_imagelist_get(<span class="keywordtype">id</span>,k));</div>
-<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span> pdrsdata=cpl_image_get_data_float(cpl_imagelist_get(drs_sc_mask,ks));</div>
-<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span> pscdata=cpl_image_get_data_float(cpl_imagelist_get(sc_im,ks));</div>
-<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span> </div>
-<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span> </div>
-<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span> indexI = sinfo_new_nint( piddata[sinfo_cu_xy(<span class="keywordtype">id</span>,i,j)] );</div>
-<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span> indexJ = sinfo_new_nint( pjddata[sinfo_cu_xy(jd,i,j)] );</div>
-<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span> <span class="keywordflow">if</span> ( indexJ <= -1 || indexJ>=2048 || indexI == -1 )</div>
-<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span> {</div>
-<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span> pdrsdata[sinfo_cu_xy(drs_sc_mask,is,js)] = cubePT_NOINFO;</div>
-<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span> <span class="keywordflow">continue</span>;</div>
-<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span> }</div>
-<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span> pscdata[sinfo_cu_xy(sc_im,is,js)]=</div>
-<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span> pimdata[sinfo_im_xy(im,indexI,indexJ)];</div>
-<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span> pdrsdata[sinfo_cu_xy(drs_sc_mask,is,js)]=</div>
-<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span> pmaskdata[sinfo_im_xy(mask,indexI,indexJ)];</div>
-<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span> <span class="preprocessor">#ifdef DEBUG</span></div>
-<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span> <span class="preprocessor"></span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Cube i=%d, j=%d, k=%d ; "</span></div>
-<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span> <span class="stringliteral">" Sub is=%d, js=%d, ks=%d ; "</span></div>
-<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span> <span class="stringliteral">" Plane I=%d,J=%d ; mask %f ; im %f\n"</span>,</div>
-<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span> i, j, k, is, js, ks, indexI, indexJ,</div>
-<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span> pmaskdata[sinfo_im_xy(mask,indexI,indexJ)],</div>
-<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span> pimdata[sinfo_im_xy(im,indexI,indexJ)]);</div>
-<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span> }</div>
-<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span> }</div>
-<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span> }</div>
-<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span> </div>
-<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span> <span class="comment">/* ignoring the elements in the slitlet of the tested pixel */</span></div>
-<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span> </div>
-<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span> <span class="keywordflow">for</span>( i = 0; i < szx; i++) {</div>
-<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span> <span class="keywordflow">for</span>( k = 0; k < szz; k++) {</div>
-<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span> pdrsdata=cpl_image_get_data_float(cpl_imagelist_get(drs_sc_mask,k));</div>
-<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span> pdrsdata[sinfo_cu_xy(drs_sc_mask,i,ry)] = cubePT_NOINFO;</div>
-<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span> }</div>
-<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span> }</div>
-<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span> <span class="comment">/* now calculate mean and stdev in subcube */</span></div>
-<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span> </div>
-<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span> counter = 0;</div>
-<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span> sum=0;</div>
-<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span> <span class="keywordflow">for</span>( i = 0; i < szx; i++)</div>
-<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span> {</div>
-<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span> <span class="keywordflow">for</span>( j = 0; j < szy; j++)</div>
-<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span> {</div>
-<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span> <span class="keywordflow">for</span>( k = 0; k < szz; k++)</div>
-<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span> {</div>
-<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span> pdrsdata=cpl_image_get_data_float(cpl_imagelist_get(drs_sc_mask,k));</div>
-<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span> pscdata=cpl_image_get_data_float(cpl_imagelist_get(sc_im,k));</div>
-<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span> <span class="keywordflow">if</span> (pscdata[sinfo_cu_xy(sc_im ,i ,j)] != ZERO &&</div>
-<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span> pdrsdata[sinfo_cu_xy(drs_sc_mask,i ,j)] != cubePT_NOINFO)</div>
-<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span> {</div>
-<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span> sum = sum + pscdata[sinfo_cu_xy(sc_im ,i ,j)];</div>
-<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span> counter++;</div>
-<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span> }</div>
-<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span> }</div>
-<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span> }</div>
-<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span> }</div>
-<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span> </div>
-<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span> *med = sum / counter ;</div>
-<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span> </div>
-<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span> counter = 0;</div>
-<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span> sum=0;</div>
-<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span> <span class="keywordflow">for</span>( i = 0; i < szx; i++)</div>
-<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span> {</div>
-<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span> <span class="keywordflow">for</span>( j = 0; j < szy; j++)</div>
-<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span> {</div>
-<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span> <span class="keywordflow">for</span>( k = 0; k < szz; k++)</div>
-<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span> {</div>
-<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span> pscdata=cpl_image_get_data_float(cpl_imagelist_get(sc_im,k));</div>
-<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span> pdrsdata=cpl_image_get_data_float(cpl_imagelist_get(drs_sc_mask,k));</div>
-<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span> <span class="keywordflow">if</span> (pscdata[sinfo_cu_xy(sc_im ,i ,j)] != ZERO &&</div>
-<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span> pdrsdata[sinfo_cu_xy(drs_sc_mask,i ,j)] != cubePT_NOINFO)</div>
-<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span> {</div>
-<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span> sum = sum + (pscdata[sinfo_cu_xy(sc_im ,i ,j)] - *med) *</div>
-<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span> (pscdata[sinfo_cu_xy(sc_im ,i ,j)] - *med) ;</div>
-<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span> counter++;</div>
-<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span> }</div>
-<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span> }</div>
-<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span> }</div>
-<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span> }</div>
-<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span> </div>
-<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span> *stdev = sqrt( sum / ( counter - 1 ) );</div>
-<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span> </div>
-<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span> </div>
-<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span> <span class="keywordflow">if</span> ( (fabs( pimdata[sinfo_im_xy(im,ipos,jpos)] - *med ) ></div>
-<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span> factor * *stdev) ||</div>
-<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span> isnan(pimdata[sinfo_im_xy(im,ipos,jpos)]) )</div>
-<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span> {</div>
-<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span> pdrsdata=cpl_image_get_data_float(cpl_imagelist_get(drs_sc_mask,rz));</div>
-<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span> pdrsdata[sinfo_cu_xy(drs_sc_mask,rx,ry)] = cubePT_FIND;</div>
-<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span> <span class="keywordflow">return</span> ( sinfo_new_c_bezier_interpol( sc_im, drs_sc_mask ) );</div>
-<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span> }</div>
-<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span> <span class="keywordflow">return</span>(pimdata[sinfo_im_xy(im,ipos,jpos)]);</div>
-<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span> </div>
-<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span> </div>
-<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span> }</div>
-<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__bezier_8h_source.html b/html/sinfo__new__bezier_8h_source.html
deleted file mode 100644
index 09f91b0..0000000
--- a/html/sinfo__new__bezier_8h_source.html
+++ /dev/null
@@ -1,230 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_bezier.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_bezier.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_NEW_BEZIER_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_NEW_BEZIER_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*************************************************************************</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* "@(#) $Id: sinfo_new_bezier.h,v 1.12 2007/06/06 07:10:45 amodigli Exp $"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* schreib 10/10/03 created</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * bezier.h</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * bad pixel interpolation routines using bezier splines</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_spectrum_ops.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_image_ops.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> * Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#define cubeNONEIGHBOR -1000000 </span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor"></span><span class="comment">/* define new number that indicates that not enough neighors </span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> are available for sinfo_Bezier correction */</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#define cubePT_BADPIXEL 0 </span><span class="comment">/*Bad pixel*/</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"></span><span class="preprocessor">#define cubePT_USE 1 </span><span class="comment">/*Good pixel*/</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor"></span><span class="preprocessor">#define cubePT_FIND 2 </span><span class="comment">/*Correct that pixel*/</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor"></span><span class="preprocessor">#define cubePT_NOINFO 3 </span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>new_dim_ {</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> x;</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> y;</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> z;</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> } new_Dim;</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>new_xyzw_ {</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">double</span> x;</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">double</span> y;</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">double</span> z;</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">double</span> w;</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> } new_XYZW;</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>new_lookup_ {</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> cpl_image *X;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> cpl_image *hX;</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> cpl_image *Y;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> cpl_image *Z;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> cpl_imagelist *id;</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> cpl_imagelist *jd;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> } new_Lookup;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">int</span> sinfo_im_xy(cpl_image* im, <span class="keywordtype">int</span> X, <span class="keywordtype">int</span> Y); </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">int</span> sinfo_im_xyz(cpl_image* im, <span class="keywordtype">int</span> X, <span class="keywordtype">int</span> Y, <span class="keywordtype">int</span> Z); </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">int</span> sinfo_cu_xy(cpl_imagelist* cu, <span class="keywordtype">int</span> X, <span class="keywordtype">int</span> Y); </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">int</span> sinfo_cu_xyz(cpl_imagelist* cu, <span class="keywordtype">int</span> X, <span class="keywordtype">int</span> Y, <span class="keywordtype">int</span> Z); </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> * Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> cpl_image * </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> sinfo_new_c_bezier_interpolate_image(cpl_image *im, </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> cpl_image *mask, </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> new_Lookup *look, </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">short</span> rx, </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordtype">short</span> ry, </div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordtype">short</span> rz,</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">int</span> max_rad , </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">float</span> ** slit_edges );</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> cpl_image * </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> sinfo_new_c_bezier_find_bad(cpl_image *im, </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> cpl_image *mask<span class="comment">/*, sinfo_new_lookup *look*/</span>, </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">short</span> rx, </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">short</span> ry, </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">short</span> rz,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">short</span> lowerI, </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">short</span> highI, </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">short</span> lowerJ, </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordtype">short</span> highJ, </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">float</span> factor );</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">float</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> sinfo_new_c_bezier_correct_pixel(<span class="keywordtype">int</span> ipos, </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordtype">int</span> jpos, </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> cpl_image *im, </div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> cpl_image *mask, </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> cpl_imagelist *sc_im, </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> cpl_imagelist *drs_sc_mask, </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> new_Lookup *look, </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">short</span> rx, </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">short</span> ry, </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">short</span> rz );</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordtype">float</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> sinfo_new_c_bezier_correct_pixel_2D( <span class="keywordtype">int</span> ipos ,</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordtype">int</span> jpos, </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> cpl_image *im, </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> cpl_image *mask, </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> cpl_imagelist *sc_im, </div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> cpl_imagelist *drs_sc_mask, </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment">/*new_Lookup *look,*/</span> </div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordtype">short</span> rx, </div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordtype">short</span> ry, </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keywordtype">short</span> rz , </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordtype">double</span> *med, </div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordtype">double</span> *stdev, </div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordtype">float</span> factor );</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordtype">float</span> sinfo_new_c_bezier_interpol(cpl_imagelist * im, cpl_imagelist * action );</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">int</span> sinfo_new_bezier(new_XYZW *p,<span class="keywordtype">int</span> n,<span class="keywordtype">double</span> mu,<span class="keywordtype">double</span> munk,new_XYZW *res );</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordtype">float</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> sinfo_new_c_bezier_correct_cosmic( <span class="keywordtype">int</span> ipos ,</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordtype">int</span> jpos,</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> cpl_image *im,</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> cpl_image *mask,</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> cpl_imagelist *sc_im,</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> cpl_imagelist *drs_sc_mask,</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> new_Lookup *look, </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keywordtype">short</span> rx, </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keywordtype">short</span> ry, </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keywordtype">short</span> rz , </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keywordtype">double</span> *med, </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordtype">double</span> *stdev, </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordtype">float</span> factor );</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> cpl_image * </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> sinfo_new_c_bezier_find_cosmic(cpl_image *im, </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> cpl_image *mask, </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> new_Lookup *look, </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordtype">short</span> rx, </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="keywordtype">short</span> ry, </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keywordtype">short</span> rz,</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordtype">short</span> lowerI, </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordtype">short</span> highI, </div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordtype">short</span> lowerJ, </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keywordtype">short</span> highJ, </div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordtype">float</span> factor );</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordtype">int</span> sinfo_new_c_create_XYZ( new_Lookup *l );</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> new_Lookup * sinfo_new_lookup( <span class="keywordtype">void</span> ) ;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordtype">void</span> sinfo_new_destroy_lookup( new_Lookup *l ) ;</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordtype">int</span> sinfo_new_change_mask(cpl_image * mask,cpl_image * im ) ;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="preprocessor">#endif </span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="preprocessor"></span><span class="comment">/*--------------------------------------------------------------------------*/</span><span class="preprocessor"></span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__cube__ops_8c_source.html b/html/sinfo__new__cube__ops_8c_source.html
deleted file mode 100644
index 4f41b10..0000000
--- a/html/sinfo__new__cube__ops_8c_source.html
+++ /dev/null
@@ -1,5055 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_cube_ops.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_cube_ops.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*$Id: sinfo_new_cube_ops.c,v 1.47 2013/08/02 14:11:23 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*************************************************************************</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* schreib 17/05/00 created</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> * $Date: 2013/08/02 14:11:23 $</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> * $Revision: 1.47 $</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">* NAME</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">* sinfo_new_cube_ops.c -</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">* cube arithmetic routines</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">* SYNOPSIS</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">* #include "sinfo_new_cube_ops.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">* 2) cpl_imagelist *</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">* sinfo_new_cube_ops( cpl_imagelist * cube1,</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">* cpl_imagelist * cube2,</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">* int operation)</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">* 3) cpl_imagelist *</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">* sinfo_new_cube_const_ops(</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">* cpl_imagelist * cube1,</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">* double constant,</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">* int operation)</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">* 4) cpl_imagelist *</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">* sinfo_new_cube_sub(</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">* cpl_imagelist * c1,</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">* cpl_imagelist * c2 )</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">* 5) cpl_imagelist *</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">* sinfo_new_cube_add(</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">* cpl_imagelist * c1,</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">* cpl_imagelist * c2 )</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">* 6) cpl_imagelist *</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">* sinfo_new_cube_mul(</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">* cpl_imagelist * c1,</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">* cpl_imagelist * c2 )</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">* 7) cpl_imagelist *</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">* sinfo_new_cube_div(</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">* cpl_imagelist * c1,</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">* cpl_imagelist * c2 )</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">* 8) cpl_imagelist * sinfo_new_add_image_to_cube(cpl_imagelist * cu,</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> cpl_image * im)</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">* 9) cpl_imagelist * sinfo_new_sub_image_from_cube (cpl_imagelist * cu,</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> cpl_image * im)</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">* 10) cpl_imagelist * sinfo_new_mul_image_to_cube(cpl_imagelist * cu,</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> cpl_image * im)</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">* 11) cpl_imagelist * sinfo_new_div_cube_by_image(cpl_imagelist * cu,</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> cpl_image * im)</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">* 12) cpl_imagelist * sinfo_new_add_spectrum_to_cube(cpl_imagelist *cu,</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"> Vector *spec)</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">* 13) cpl_imagelist * sinfo_new_sub_spectrum_from_cube(cpl_imagelist *cu,</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"> Vector *spec)</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">* 14) cpl_imagelist * sinfo_new_mul_spectrum_to_cube(cpl_imagelist *cu,</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> Vector *spec)</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment">* 15) cpl_imagelist * sinfo_new_div_cube_by_spectrum(cpl_imagelist *cu,</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment"> Vector *spec)</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment">* 16) Vector * sinfo_new_clean_mean_of_spectra(cpl_imagelist * cube,</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment">* int llx,</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment">* int lly,</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment">* int urx,</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">* int ury,</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment">* double lo_reject,</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment">* double hi_reject)</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">* 17) cpl_image * sinfo_new_median_cube(cpl_imagelist * cube)</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment">* 18) cpl_image * sinfo_new_average_cube_to_image(cpl_imagelist * cube)</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment">* 19) cpl_image * sinfo_new_sum_cube_to_image(cpl_imagelist * cube)</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">* 20) cpl_image *</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment"> sinfo_new_average_cube_to_image_between_waves (cpl_imagelist * cube,</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment">* float dispersion,</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment">* float centralWave,</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment">* float initialLambda,</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment">* float finalLambda)</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment">* 21) cpl_image * sinfo_new_extract_image_from_cube(cpl_imagelist * cube,</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment"> int plane_index)</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">* 22) Vector * sinfo_new_extract_spectrum_from_cube( cpl_imagelist * cube,</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment"> int x_pos, int y_pos )</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment">* 23) cpl_imagelist *</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment"> sinfo_new_combine_jittered_cubes ( cpl_imagelist ** cubes,</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">* cpl_imagelist * mergedCube,</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment">* int n_cubes,</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment">* float * cumoffsetx,</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment">* float * cumoffsety,</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment">* float * exptimes,</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment">* char * kernel_type )</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment">* 24) cpl_imagelist * sinfo_new_interpol_cube_simple( cpl_imagelist * cube,</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">* cpl_imagelist * badcube,</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">* int maxdist )</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment">* 25) cpl_imagelist * sinfo_cube_zshift(const cpl_imagelist * cube,</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment">* const double shift,</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment">* double* rest)</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment">* 26) cpl_imagelist * sinfo_cube_zshift_poly(const cpl_imagelist * cube,</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment">* const double shift,</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment">* const int order)</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment">* 27) cpl_imagelist * sinfo_cube_zshift_spline3(const cpl_imagelist * cube,</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment">* const double shift)</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment">* DESCRIPTION</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment">* 2) 4 operations between 2 cubes</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment">* 3) 4 operations between a cube and a constant</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment">* 4) subtract one cube from another</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment">* 5) add a cube to another</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment">* 6) multiply two cubes</span></div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment">* 7) divide two cubes</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment">* 8) add an image to all planes in the cube</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment">* 9) subtract an image from all planes in the cube</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment">* 10) multiply an image to all planes in the cube</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment">* 11) divide all planes in the cube by an image</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment">* 12) adds a spectrum (in z-direction) to all data</span></div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment">* points in a cube</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment">* 13) subtracts a spectrum (in z-direction) from all</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment">* data points in a cube</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment">* 14) multiplies a spectrum (in z-direction) to all data</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment">* points in a cube</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment">* 15) divides all data points of a cube by a spectrum</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="comment">* (in z-direction)</span></div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment">* 16) averaging routine to get a better spectral S/N, sorts</span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment">* the values of the same z-position, cuts the lowest and</span></div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment">* highest values according to given thresholds and then</span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment">* takes the average within the x-y plane , cannot have</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment">* a sum of low and high rejected values greater than 90%</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment">* of all values</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment">* 17) determines the sinfo_new_median value in every pixel position</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment">* by considering all pixels along the third axis.</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment">* ZERO pixels in a plane are not considered. If all</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="comment">* pixels at a position are not valid the result will</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment">* be 'ZERO'.</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment">* 18) determines the average value in every pixel position</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment">* by considering all pixels along the third axis.</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment">* ZERO pixels in a plane are not considered. If all</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment">* pixels at a position are not valid the result will</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment">* be 'ZERO'.</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment">* 19) determines the sum value in every pixel position</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment">* by considering all pixels along the third axis.</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment">* ZERO pixels in a plane are not considered. If all</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment">* pixels at a position are not valid the result will</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="comment">* be 'ZERO'.</span></div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment">* 20) determines the average value in every pixel position</span></div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment">* by considering only the pixels along the third axis</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment">* which lie between the given wavelength values.</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment">* These values are first recalculated to plane indices</span></div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment">* by using the given dispersion and minimum wavelength in</span></div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment">* the cube.</span></div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment">* ZERO pixels in a plane are not considered. If all</span></div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="comment">* pixels at a position are not valid the result will</span></div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment">* be 'ZERO'.</span></div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment">* 21) returns the wanted image plane of the cube</span></div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment">* 22) returns the wanted single spectrum of the cube</span></div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment">* 23) merges jittered data cubes to one bigger cube</span></div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment">* by averaging the overlap regions weighted by</span></div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment">* the integration times. The x, y size of the final data</span></div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment">* cube is user given, and should be between 32 and 64</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="comment">* pixels, while the relative pixel-offset (sub-pixel</span></div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment">* accuracy) of the single cubes with respect to the</span></div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment">* first cube in the list is read from the SEQ CUMOFFSETX,Y</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment">* fits header keyword.</span></div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="comment">* 24) interpolates bad pixel of an object cube if a bad pixel</span></div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="comment">* mask cube is available by using the nearest neighbors</span></div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="comment">* in 3 dimensions.</span></div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="comment">* 25) shifts an imagelist by a given amount to integer pixel accuracy</span></div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="comment">* 26) shifts an imagelist by a given amount to sub-pixel accuracy</span></div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="comment">* 27) shifts an imagelist by a given amount to sub-pixel accuracy</span></div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="comment">* FILES</span></div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="comment">* ENVIRONMENT</span></div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment">* RETURN VALUES</span></div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment">* CAUTIONS</span></div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="comment">* EXAMPLES</span></div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="comment">* SEE ALSO</span></div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="comment">* BUGS</span></div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment">*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="preprocessor">#include "sinfo_vltPort.h"</span></div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="comment"> * System Headers</span></div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="preprocessor">#include <sys/types.h></span></div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="preprocessor">#include <sys/times.h></span></div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="comment"> * Local Headers</span></div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="preprocessor">#include "sinfo_dfs.h"</span></div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="preprocessor">#include "sinfo_new_cube_ops.h"</span></div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="preprocessor">#include "sinfo_resampling.h"</span></div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="preprocessor">#include "sinfo_function_1d.h"</span></div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="preprocessor">#include <cpl_vector.h></span></div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="comment"> * Function codes</span></div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> sinfo_shift_cubes(cpl_imagelist** tmpcubes,</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="keywordtype">char</span>* kernel_type,</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="keyword">const</span> <span class="keywordtype">int</span> n_cubes,</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> cpl_imagelist** cubes,</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_min,</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_max,</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="keywordtype">float</span>* sub_offsetx,</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="keywordtype">float</span>* sub_offsety,</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="keyword">const</span> <span class="keywordtype">int</span> mlx,</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="keyword">const</span> <span class="keywordtype">int</span> mly,</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> cpl_imagelist* mask);</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> sinfo_build_mask_cube(<span class="keyword">const</span> <span class="keywordtype">int</span> z_min,</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_max,</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keyword">const</span> <span class="keywordtype">int</span> olx,</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="keyword">const</span> <span class="keywordtype">int</span> oly,</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="keyword">const</span> <span class="keywordtype">int</span> n_cubes,</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keyword">const</span> <span class="keywordtype">int</span>* llx,</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="keyword">const</span> <span class="keywordtype">int</span>* lly,</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="keywordtype">double</span> * exptimes,</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> cpl_imagelist** cubes,</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> cpl_imagelist** tmpcubes,</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> cpl_imagelist* mask);</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> </div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> sinfo_build_mask_cube_thomas(<span class="keyword">const</span> <span class="keywordtype">int</span> z_min,</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_max,</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keyword">const</span> <span class="keywordtype">int</span> olx,</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="keyword">const</span> <span class="keywordtype">int</span> oly,</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="keyword">const</span> <span class="keywordtype">int</span> n_cubes,</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="keyword">const</span> <span class="keywordtype">int</span>* llx,</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="keyword">const</span> <span class="keywordtype">int</span>* lly,</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="keywordtype">double</span> * exptimes,</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> cpl_imagelist** cubes,</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> cpl_imagelist** tmpcubes,</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> cpl_imagelist* mask);</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> sinfo_compute_weight_average(<span class="keyword">const</span> <span class="keywordtype">int</span> z_min,</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_max,</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ilx,</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ily,</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="keyword">const</span> <span class="keywordtype">int</span> n_cubes,</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> cpl_imagelist* mergedCube,</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> cpl_imagelist* mask,</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> cpl_imagelist** tmpcubes,</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="keywordtype">double</span>* exptimes,</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keywordtype">int</span>* llx,</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="keywordtype">int</span>* lly);</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> sinfo_check_input(cpl_imagelist** cubes,</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="keyword">const</span> <span class="keywordtype">int</span> n_cubes,</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="keywordtype">float</span>* cumoffsetx,</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="keywordtype">float</span>* cumoffsety,</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="keywordtype">double</span>* exptimes);</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> sinfo_coadd_with_ks_clip2(<span class="keyword">const</span> <span class="keywordtype">int</span> z_min,</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_max,</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ilx,</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ily,</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="keyword">const</span> <span class="keywordtype">int</span> n_cubes,</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="keyword">const</span> <span class="keywordtype">double</span> kappa,</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="keywordtype">int</span>* llx,</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="keywordtype">int</span>* lly,</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="keywordtype">double</span>* exptimes,</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> cpl_imagelist* mask,</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> cpl_imagelist* mergedCube,</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> cpl_imagelist** tmpcubes);</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="comment">/* temporally commented out as not yet used</span></div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="comment">static int</span></div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="comment">sinfo_ks_clip(</span></div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="comment"> const int n_cubes,</span></div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="comment"> const int nc,</span></div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="comment"> const int ilx,</span></div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="comment"> const int ily,</span></div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="comment"> const double kappa,</span></div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="comment"> int* llx,</span></div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="comment"> int* lly,</span></div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="comment"> double* exptimes,</span></div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="comment"> cpl_imagelist** tmpcubes,</span></div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="comment"> float* podata,</span></div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="comment"> float* pmdata,</span></div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="comment"> const int x,</span></div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="comment"> const int y,</span></div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="comment"> const int m,</span></div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="comment"> const int mlx,</span></div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="comment"> const int olx</span></div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="comment"> );</span></div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="comment"></span></div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="comment"></span></div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> sinfo_coadd_with_ks_clip(<span class="keyword">const</span> <span class="keywordtype">int</span> z_min,</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_max,</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ilx,</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ily,</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keyword">const</span> <span class="keywordtype">int</span> n_cubes,</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="keyword">const</span> <span class="keywordtype">double</span> kappa,</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordtype">int</span>* llx,</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="keywordtype">int</span>* lly,</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="keywordtype">double</span>* exptimes,</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> cpl_imagelist* mask,</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> cpl_imagelist* mergedCube,</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> cpl_imagelist** tmpcubes);</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> cpl_imagelist *</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> sinfo_new_cube_ops(</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> cpl_imagelist * cube1,</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> cpl_imagelist * cube2,</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="keywordtype">int</span> operation)</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> {</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> </div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="keywordflow">if</span> (cube1==NULL || cube2==NULL)</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> {</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"null cubes"</span>);</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> }</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> </div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="keywordflow">switch</span>(operation)</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> {</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="keywordflow">case</span> <span class="charliteral">'+'</span>:</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="keywordflow">return</span> sinfo_new_cube_add(cube1, cube2) ;</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> </div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="keywordflow">case</span> <span class="charliteral">'-'</span>:</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="keywordflow">return</span> sinfo_new_cube_sub(cube1, cube2) ;</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> </div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> </div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="keywordflow">case</span> <span class="charliteral">'*'</span>:</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="keywordflow">return</span> sinfo_new_cube_mul(cube1, cube2) ;</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> </div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> </div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="keywordflow">case</span> <span class="charliteral">'/'</span>:</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="keywordflow">return</span> sinfo_new_cube_div(cube1, cube2) ;</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> </div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> </div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"illegal requested operation: aborting cube arithmetic"</span>) ;</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> }</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> }</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> </div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="comment"> Function : sinfo_new_cube_const_ops()</span></div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <span class="comment"> In : 1 cube, 1 constant, operation to perform</span></div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> <span class="comment"> Out : result cube</span></div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="comment"> Job : 4 operations between a cube and a constant</span></div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="comment"> Notice : possible operations are:</span></div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="comment"> Addition '+'</span></div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="comment"> Subtraction '-'</span></div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="comment"> Multiplication '*'</span></div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="comment"> Division '/'</span></div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="comment"> Logarithm 'l'</span></div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="comment"> Power '^'</span></div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="comment"> Exponentiation 'e'</span></div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="comment"></span></div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> </div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> cpl_imagelist *</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> sinfo_new_cube_const_ops(</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> cpl_imagelist * c1,</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="keywordtype">double</span> constant,</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="keywordtype">int</span> operation)</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> {</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="keywordtype">int</span> ilx1=0;</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <span class="keywordtype">int</span> ily1=0;</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="keywordtype">int</span> inp1=0;</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> cpl_imagelist* c2=NULL;</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> cpl_image* img1=NULL;</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> </div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> </div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> </div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="keywordflow">if</span> (c1 == NULL)</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> {</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"null cube"</span>) ;</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> }</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> inp1=cpl_imagelist_get_size(c1);</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> img1=cpl_imagelist_get(c1,0);</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> ilx1=cpl_image_get_size_x(img1);</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> ily1=cpl_image_get_size_y(img1);</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> </div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> </div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> </div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> </div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> </div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="keywordflow">if</span> ((constant == 0.0) && (operation == <span class="charliteral">'/'</span>))</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> {</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"division by zero requested "</span></div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="stringliteral">"in cube/constant operation"</span>) ;</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> }</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> </div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="keywordflow">if</span> ( NULL == (c2 = cpl_imagelist_new()) )</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> {</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new cube"</span> ) ;</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> }</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> </div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> c2=cpl_imagelist_duplicate(c1);</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="keywordflow">if</span>(operation == <span class="charliteral">'+'</span>) {</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> cpl_imagelist_add_scalar(c2,constant);</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (operation == <span class="charliteral">'-'</span>) {</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> cpl_imagelist_subtract_scalar(c2,constant);</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (operation == <span class="charliteral">'*'</span>) {</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> cpl_imagelist_multiply_scalar(c2,constant);</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (operation == <span class="charliteral">'/'</span>) {</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> cpl_imagelist_divide_scalar(c2,constant);</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> </div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"operation not supported"</span>);</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> }</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="keywordflow">return</span> c2 ;</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> }</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> </div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> </div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="comment"> * Function : sinfo_new_cube_sub()</span></div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="comment"> * In : two cubes</span></div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> <span class="comment"> * Out : result cube</span></div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> <span class="comment"> * Job : subtract one cube from another</span></div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> </div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> cpl_imagelist *</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> sinfo_new_cube_sub(</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> cpl_imagelist * c1,</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> cpl_imagelist * c2</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> )</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> {</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> cpl_imagelist * c3 ;</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> ulong32 i ;</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="keywordtype">int</span> np ;</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="keywordtype">int</span> ilx1=0;</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> <span class="keywordtype">int</span> ily1=0;</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <span class="keywordtype">int</span> inp1=0;</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> <span class="keywordtype">int</span> ilx2=0;</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> <span class="keywordtype">int</span> ily2=0;</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> <span class="keywordtype">int</span> inp2=0;</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> </div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> </div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> cpl_image* img1=NULL;</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> cpl_image* img2=NULL;</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> cpl_image* img3=NULL;</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> <span class="keywordtype">float</span>* p1data=NULL;</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> <span class="keywordtype">float</span>* p2data=NULL;</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> <span class="keywordtype">float</span>* p3data=NULL;</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> </div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> </div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> </div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> inp1=cpl_imagelist_get_size(c1);</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> i_img=cpl_imagelist_get(c1,0);</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> ilx1=cpl_image_get_size_x(i_img);</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> ily1=cpl_image_get_size_y(i_img);</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> </div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> </div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> inp2=cpl_imagelist_get_size(c2);</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> i_img=cpl_imagelist_get(c2,0);</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> ilx2=cpl_image_get_size_x(i_img);</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> ily2=cpl_image_get_size_y(i_img);</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> </div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> <span class="keywordflow">if</span> ((ilx1 != ilx2) ||</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> (ily1 != ily2))</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> {</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"incompatible size: cannot subtract"</span>) ;</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> }</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> </div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <span class="keywordflow">if</span> ((inp2 != inp1) &&</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> (inp2 != 1))</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> {</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot compute with these number of planes"</span>) ;</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> }</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> </div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="keywordflow">if</span> ( NULL == (c3 = cpl_imagelist_new()) )</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> {</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new cube"</span> ) ;</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> }</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> </div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="keywordflow">for</span> (np=0 ; np < inp1 ; np++)</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> {</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> img3=cpl_image_new(ilx1,ily1,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> cpl_imagelist_set(c3,img3,np);</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> }</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> </div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> </div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="keywordflow">for</span> (np=0 ; np < inp1 ; np++)</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> {</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> img1=cpl_imagelist_get(c1,np);</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> p1data=cpl_image_get_data_float(img1);</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> img2=cpl_imagelist_get(c2,np);</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> p2data=cpl_image_get_data_float(img2);</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> img3=cpl_imagelist_get(c3,np);</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> p3data=cpl_image_get_data_float(img3);</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> </div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="keywordflow">for</span> (i=0 ; i< (ulong32)ilx1*ily1 ; i++)</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> {</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> p3data[i] = p1data[i] - p2data[i] ;</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> }</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> }</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> </div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> <span class="keywordflow">return</span> c3 ;</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> }</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> </div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> </div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> <span class="comment"> * Function : sinfo_new_cube_add()</span></div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> <span class="comment"> * In : two cubes</span></div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> <span class="comment"> * Out : result cube</span></div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> <span class="comment"> * Job : add a cube to another</span></div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> </div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> cpl_imagelist *</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> sinfo_new_cube_add(</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> cpl_imagelist * c1,</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> cpl_imagelist * c2</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> )</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> {</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> cpl_imagelist * c3 ;</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> ulong32 i ;</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="keywordtype">int</span> np ;</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="keywordtype">int</span> ilx1=0;</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="keywordtype">int</span> ily1=0;</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> <span class="keywordtype">int</span> inp1=0;</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> <span class="keywordtype">int</span> ilx2=0;</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> <span class="keywordtype">int</span> ily2=0;</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <span class="keywordtype">int</span> inp2=0;</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> </div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> </div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> cpl_image* img1=NULL;</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> cpl_image* img2=NULL;</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> cpl_image* img3=NULL;</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="keywordtype">float</span>* p1data=NULL;</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="keywordtype">float</span>* p2data=NULL;</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> <span class="keywordtype">float</span>* p3data=NULL;</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> </div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> </div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> </div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> inp1=cpl_imagelist_get_size(c1);</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> i_img=cpl_imagelist_get(c1,0);</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> ilx1=cpl_image_get_size_x(i_img);</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> ily1=cpl_image_get_size_y(i_img);</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> </div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> </div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> inp2=cpl_imagelist_get_size(c2);</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> i_img=cpl_imagelist_get(c2,0);</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> ilx2=cpl_image_get_size_x(i_img);</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> ily2=cpl_image_get_size_y(i_img);</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> <span class="keywordflow">if</span> ((ilx1 != ilx2) || (ily1 != ily2))</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> {</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"incompatible size: cannot add"</span>) ;</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> }</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <span class="keywordflow">if</span> ((inp2 != inp1) && (inp2 != 1))</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> {</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot compute with these number of planes"</span>) ;</div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> }</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> </div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> <span class="keywordflow">if</span> (NULL == (c3 = cpl_imagelist_new()) )</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> {</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new cube"</span>) ;</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> }</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> </div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <span class="keywordflow">for</span> (np=0 ; np < inp1 ; np++)</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> {</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> img3=cpl_image_new(ilx1,ily1,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> cpl_imagelist_set(c3,img3,np);</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> }</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> </div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="keywordflow">for</span> (np=0 ; np < inp1 ; np++)</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> {</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> img1=cpl_imagelist_get(c1,np);</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> p1data=cpl_image_get_data_float(img1);</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> img2=cpl_imagelist_get(c2,np);</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> p2data=cpl_image_get_data_float(img2);</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> img3=cpl_imagelist_get(c3,np);</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> p3data=cpl_image_get_data_float(img3);</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> <span class="keywordflow">for</span> (i=0 ; i< (ulong32)ilx1*ily1 ; i++)</div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> {</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> p3data[i] = p1data[i] + p2data[i] ;</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> }</div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> }</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> </div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="keywordflow">return</span> c3 ;</div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> }</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> </div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> <span class="comment"> * Function : sinfo_new_cube_mul()</span></div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> <span class="comment"> * In : two cubes</span></div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> <span class="comment"> * Out : result cube</span></div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> <span class="comment"> * Job : multiply 2 cubes</span></div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> </div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> cpl_imagelist *</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> sinfo_new_cube_mul(</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> cpl_imagelist * c1,</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> cpl_imagelist * c2</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> )</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> {</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> cpl_imagelist *c3 ;</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> ulong32 i ;</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> <span class="keywordtype">int</span> np ;</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> <span class="keywordtype">int</span> ilx1=0;</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> <span class="keywordtype">int</span> ily1=0;</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> <span class="keywordtype">int</span> inp1=0;</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> <span class="keywordtype">int</span> ilx2=0;</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> <span class="keywordtype">int</span> ily2=0;</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <span class="keywordtype">int</span> inp2=0;</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> </div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> </div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> cpl_image* img1=NULL;</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> cpl_image* img2=NULL;</div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> cpl_image* img3=NULL;</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> <span class="keywordtype">float</span>* p1data=NULL;</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> <span class="keywordtype">float</span>* p2data=NULL;</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> <span class="keywordtype">float</span>* p3data=NULL;</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> </div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> </div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> </div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> </div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> inp1=cpl_imagelist_get_size(c1);</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> i_img=cpl_imagelist_get(c1,0);</div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> ilx1=cpl_image_get_size_x(i_img);</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> ily1=cpl_image_get_size_y(i_img);</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> </div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> </div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> inp2=cpl_imagelist_get_size(c2);</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> i_img=cpl_imagelist_get(c2,0);</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> ilx2=cpl_image_get_size_x(i_img);</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> ily2=cpl_image_get_size_y(i_img);</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> </div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> <span class="keywordflow">if</span> ((ilx1 != ilx2) || (ily1 != ily2))</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> {</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"incompatible size: cannot multiply"</span>) ;</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> }</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> </div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> <span class="keywordflow">if</span> ((inp2 != inp1) && (inp2 != 1))</div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> {</div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot compute with these number of planes"</span>) ;</div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> }</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> </div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> <span class="keywordflow">if</span> ( NULL == (c3 = cpl_imagelist_new()) )</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> {</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new cube"</span> ) ;</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> }</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> </div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> </div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="keywordflow">for</span> (np=0 ; np < inp1 ; np++)</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> {</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> img3=cpl_image_new(ilx1,ily1,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> cpl_imagelist_set(c3,img3,np);</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> }</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> </div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> <span class="keywordflow">for</span> (np=0 ; np < inp1 ; np++)</div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> {</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> img1=cpl_imagelist_get(c1,np);</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> p1data=cpl_image_get_data_float(img1);</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> img2=cpl_imagelist_get(c2,np);</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> p2data=cpl_image_get_data_float(img2);</div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> img3=cpl_imagelist_get(c3,np);</div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> p3data=cpl_image_get_data_float(img3);</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> <span class="keywordflow">for</span> (i=0 ; i< (ulong32)ilx1*ilx2 ; i++)</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> {</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> p3data[i] = p1data[i] * p2data[i] ;</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> }</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> }</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> </div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> <span class="keywordflow">return</span> c3 ;</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> }</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> </div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> </div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> <span class="comment"> * Function : sinfo_new_cube_div()</span></div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> <span class="comment"> * In : two cubes</span></div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> <span class="comment"> * Out : result cube</span></div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> <span class="comment"> * Job : divide 2 cubes</span></div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> </div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> cpl_imagelist *</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> sinfo_new_cube_div(</div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> cpl_imagelist * c1,</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> cpl_imagelist * c2</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> )</div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> {</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> cpl_imagelist * c3 ;</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> ulong32 i ;</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> <span class="keywordtype">int</span> np ;</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> <span class="keywordtype">int</span> ilx1=0;</div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> <span class="keywordtype">int</span> ily1=0;</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> <span class="keywordtype">int</span> inp1=0;</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> <span class="keywordtype">int</span> ilx2=0;</div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> <span class="keywordtype">int</span> ily2=0;</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> <span class="keywordtype">int</span> inp2=0;</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> </div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> </div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> cpl_image* img1=NULL;</div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> cpl_image* img2=NULL;</div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> cpl_image* img3=NULL;</div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> <span class="keywordtype">float</span>* p1data=NULL;</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> <span class="keywordtype">float</span>* p2data=NULL;</div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> <span class="keywordtype">float</span>* p3data=NULL;</div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> </div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> </div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> inp1=cpl_imagelist_get_size(c1);</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> i_img=cpl_imagelist_get(c1,0);</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> ilx1=cpl_image_get_size_x(i_img);</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> ily1=cpl_image_get_size_y(i_img);</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> </div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> </div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> inp2=cpl_imagelist_get_size(c2);</div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> i_img=cpl_imagelist_get(c2,0);</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> ilx2=cpl_image_get_size_x(i_img);</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> ily2=cpl_image_get_size_y(i_img);</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> </div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> <span class="keywordflow">if</span> ((ilx1 != ilx2) ||</div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> (ily1 != ily2))</div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> {</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"incompatible size: cannot divide"</span>) ;</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> }</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> </div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> <span class="keywordflow">if</span> ((inp2 != inp1) && (inp2 != 1))</div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> {</div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot compute with these number of planes"</span>) ;</div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> }</div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> </div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> <span class="keywordflow">if</span> (NULL == (c3 = cpl_imagelist_new()) )</div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> {</div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate a new cube"</span>) ;</div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> }</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> </div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> <span class="keywordflow">for</span> (np=0 ; np < inp1 ; np++)</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> {</div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> img3=cpl_image_new(ilx1,ily1,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> cpl_imagelist_set(c3,img3,np);</div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> }</div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> </div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> <span class="keywordflow">for</span> (np=0 ; np < inp1 ; np++)</div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> {</div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> img1=cpl_imagelist_get(c1,np);</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> p1data=cpl_image_get_data_float(img1);</div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> img2=cpl_imagelist_get(c2,np);</div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> p2data=cpl_image_get_data_float(img2);</div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> img3=cpl_imagelist_get(c3,np);</div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> p3data=cpl_image_get_data_float(img3);</div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> </div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> </div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> <span class="keywordflow">for</span> (i=0 ; i< (ulong32) ilx1*ily1 ; i++)</div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> {</div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> <span class="keywordflow">if</span> (fabs((<span class="keywordtype">double</span>)p2data[i]) < 1e-10)</div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> {</div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> p3data[i] = 0.0 ;</div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> }</div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> {</div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> p3data[i] = p1data[i] / p2data[i] ;</div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> }</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> }</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> }</div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> </div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> <span class="keywordflow">return</span> c3 ;</div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> }</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> </div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> </div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> </div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> <span class="comment"> Function : sinfo_new_add_image_to_cube()</span></div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> <span class="comment"> In : 1 allocated cube, 1 allocated image</span></div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> <span class="comment"> Out : result cube</span></div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> <span class="comment"> Job : add an image to all planes in the cube</span></div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> </div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> cpl_imagelist *</div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> sinfo_new_add_image_to_cube(cpl_imagelist * cu, cpl_image * im)</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> {</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> cpl_imagelist * cube ;</div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> <span class="keywordtype">int</span> clx=0;</div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> <span class="keywordtype">int</span> cly=0;</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> <span class="keywordtype">int</span> cnp=0;</div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> </div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> </div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> </div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> <span class="keywordflow">if</span> (cu==NULL || im==NULL)</div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> {</div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"null cube or null image"</span>) ;</div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> }</div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> cnp=cpl_imagelist_get_size(cu);</div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> i_img=cpl_imagelist_get(cu,0);</div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> clx=cpl_image_get_size_x(i_img);</div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> cly=cpl_image_get_size_y(i_img);</div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> </div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> ilx=cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> ily=cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> </div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> <span class="keywordflow">if</span> ((clx != ilx) || (cly != ily))</div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> {</div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"incompatible size: cannot add image to cube"</span>) ;</div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> }</div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> </div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> cube = cpl_imagelist_duplicate (cu) ;</div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> </div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> <span class="keywordflow">for</span> (i=0 ; i<cnp ; i++)</div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> {</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> <span class="comment">/* AMO</span></div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> <span class="comment"> here may be we have to use cpl_image_add_create and cpl_imagelist_set</span></div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> cpl_image_add(cpl_imagelist_get(cube,i), im) ;</div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> }</div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> </div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> <span class="keywordflow">return</span> cube ;</div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> }</div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> </div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> <span class="comment"> Function : sinfo_new_sub_image_from_cube()</span></div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> <span class="comment"> In : 1 allocated cube, 1 allocated image</span></div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> <span class="comment"> Out : result cube</span></div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> <span class="comment"> Job : subtract an image from all planes in the cube</span></div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> </div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> cpl_imagelist *</div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> sinfo_new_sub_image_from_cube (cpl_imagelist * cu, cpl_image * im)</div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> {</div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> cpl_imagelist * cube ;</div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> <span class="keywordtype">int</span> clx=0;</div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> <span class="keywordtype">int</span> cly=0;</div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> <span class="keywordtype">int</span> cnp=0;</div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> </div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> </div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> </div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> <span class="keywordflow">if</span> (cu==NULL || im==NULL)</div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> {</div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"null cube or null image"</span>) ;</div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> }</div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> cnp=cpl_imagelist_get_size(cu);</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> i_img=cpl_imagelist_get(cu,0);</div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> clx=cpl_image_get_size_x(i_img);</div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> cly=cpl_image_get_size_y(i_img);</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> </div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> ilx=cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> ily=cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> </div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> <span class="keywordflow">if</span> ((clx != ilx) || (cly != ily))</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> {</div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> </div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"incompatible size: cannot subtract image from cube"</span>) ;</div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> }</div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> </div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> cube = cpl_imagelist_duplicate (cu) ;</div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> </div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> <span class="keywordflow">for</span> (i=0 ; i<cnp ; i++)</div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> {</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> <span class="comment">/* AMO</span></div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> <span class="comment"> here may be we have to use cpl_image_add_create and cpl_imagelist_set</span></div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> cpl_image_subtract(cpl_imagelist_get(cube,i), im) ;</div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> }</div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> <span class="keywordflow">return</span> cube ;</div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> }</div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> </div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> <span class="comment"> Function : sinfo_new_mul_image_to_cube()</span></div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> <span class="comment"> In : 1 allocated cube, 1 allocated image</span></div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> <span class="comment"> Out : result cube</span></div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> <span class="comment"> Job : multiply an image to all planes in the cube</span></div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> </div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> cpl_imagelist *</div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> sinfo_new_mul_image_to_cube(cpl_imagelist * cu, cpl_image * im)</div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> {</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> cpl_imagelist * cube ;</div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> <span class="keywordtype">int</span> clx=0;</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> <span class="keywordtype">int</span> cly=0;</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> <span class="keywordtype">int</span> cnp=0;</div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> </div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> </div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> </div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> <span class="keywordflow">if</span> (cu==NULL || im==NULL)</div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> {</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"null cube or null image"</span>) ;</div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> }</div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> cnp=cpl_imagelist_get_size(cu);</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> i_img=cpl_imagelist_get(cu,0);</div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> clx=cpl_image_get_size_x(i_img);</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> cly=cpl_image_get_size_y(i_img);</div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> </div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> ilx=cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> ily=cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> </div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> <span class="keywordflow">if</span> ((clx != ilx) || (cly != ily))</div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> {</div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"incompatible size: cannot multiply image by cube"</span>) ;</div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> }</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> </div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> cube = cpl_imagelist_duplicate (cu) ;</div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> </div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> <span class="keywordflow">for</span> (i=0 ; i<cnp ; i++)</div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> {</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> <span class="comment">/* AMO</span></div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> <span class="comment"> here may be we have to use cpl_image_add_create and cpl_imagelist_set</span></div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> cpl_image_multiply(cpl_imagelist_get(cube,i), im) ;</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> }</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> </div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> <span class="keywordflow">return</span> cube ;</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> }</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> </div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> <span class="comment"> Function : sinfo_new_div_cube_by_image()</span></div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> <span class="comment"> In : 1 allocated cube, 1 allocated image</span></div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> <span class="comment"> Out : result cube</span></div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> <span class="comment"> Job : divide all planes in the cube by an image</span></div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> </div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> cpl_imagelist *</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> sinfo_new_div_cube_by_image(cpl_imagelist * cu, cpl_image * im)</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> {</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> cpl_imagelist * cube ;</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> <span class="keywordtype">int</span> clx=0;</div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> <span class="keywordtype">int</span> cly=0;</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> <span class="keywordtype">int</span> cnp=0;</div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> </div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> </div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> </div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> <span class="keywordflow">if</span> (cu==NULL || im==NULL)</div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> {</div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"null cube or null image"</span>) ;</div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> }</div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> cnp=cpl_imagelist_get_size(cu);</div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> i_img=cpl_imagelist_get(cu,0);</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> clx=cpl_image_get_size_x(i_img);</div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> cly=cpl_image_get_size_y(i_img);</div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> </div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> ilx=cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> ily=cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> </div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> <span class="keywordflow">if</span> ((clx != ilx) || (cly != ily))</div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> {</div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"incompatible size: cannot divide cube by image"</span>) ;</div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> }</div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> </div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> cube = cpl_imagelist_duplicate (cu) ;</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> </div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> <span class="keywordflow">for</span> (i=0 ; i<cnp ; i++)</div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> {</div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> <span class="comment">/* AMO</span></div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> <span class="comment"> here may be we have to use cpl_image_add_create and cpl_imagelist_set</span></div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> cpl_image_divide(cpl_imagelist_get(cube,i), im) ;</div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> }</div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> </div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> <span class="keywordflow">return</span> cube ;</div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> }</div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> </div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> </div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> <span class="comment"> Function : sinfo_new_add_spectrum_to_cube()</span></div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> <span class="comment"> In : 1 allocated cube, 1 allocated spectrum sinfo_vector</span></div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> <span class="comment"> Out : result cube</span></div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> <span class="comment"> Job : adds a spectrum (in z-direction) to all data</span></div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> <span class="comment"> points in a cube</span></div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> </div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> cpl_imagelist *</div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> sinfo_new_add_spectrum_to_cube(cpl_imagelist *cu, Vector *spec)</div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> {</div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> cpl_imagelist * cube ;</div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> <span class="keywordtype">int</span> i ,j ;</div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> cpl_image* o_img=NULL;</div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> </div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> <span class="keywordflow">if</span> (cu == NULL || spec == NULL)</div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> {</div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"null cube or null spectrum"</span>) ;</div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> }</div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> inp=cpl_imagelist_get_size(cu);</div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> i_img=cpl_imagelist_get(cu,0);</div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> ilx=cpl_image_get_size_x(i_img);</div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> ily=cpl_image_get_size_y(i_img);</div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> </div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> <span class="keywordflow">if</span> ( inp != spec -> n_elements )</div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> {</div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cube length and spectrum length are not compatible"</span>) ;</div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> }</div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> </div>
-<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> <span class="keywordflow">if</span> ( NULL == (cube = cpl_imagelist_new ()) )</div>
-<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span> {</div>
-<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new cube"</span> ) ;</div>
-<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> }</div>
-<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> <span class="keywordflow">for</span> ( i = 0; i < inp; i++)</div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> {</div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> o_img=cpl_image_new(ilx,ily,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> cpl_imagelist_set(cube,o_img,i);</div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> }</div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> </div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> </div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> <span class="keywordflow">for</span> ( i = 0; i < inp; i++)</div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> {</div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> i_img=cpl_imagelist_get(cu,i);</div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> o_img=cpl_imagelist_get(cube,i);</div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> podata=cpl_image_get_data_float(o_img);</div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> <span class="keywordflow">for</span> ( j = 0; j < (int) ilx*ily; j++)</div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> {</div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> podata[j] = pidata[j] + spec -> data[i] ;</div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> }</div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> }</div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> </div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> <span class="keywordflow">return</span> cube ;</div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> }</div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> </div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> <span class="comment"> Function : sinfo_new_sub_spectrum_from_cube()</span></div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> <span class="comment"> In : 1 allocated cube, 1 allocated spectrum sinfo_vector</span></div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> <span class="comment"> Out : result cube</span></div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> <span class="comment"> Job : subtracts a spectrum (in z-direction) from all</span></div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> <span class="comment"> data points in a cube</span></div>
-<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> </div>
-<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> cpl_imagelist *</div>
-<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> sinfo_new_sub_spectrum_from_cube(cpl_imagelist *cu, Vector *spec)</div>
-<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> {</div>
-<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> cpl_imagelist * cube ;</div>
-<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> <span class="keywordtype">int</span> i ,j ;</div>
-<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> cpl_image* o_img=NULL;</div>
-<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> </div>
-<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> <span class="keywordflow">if</span> (cu == NULL || spec == NULL)</div>
-<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span> {</div>
-<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"null cube or null spectrum"</span>) ;</div>
-<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> }</div>
-<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> inp=cpl_imagelist_get_size(cu);</div>
-<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> i_img=cpl_imagelist_get(cu,0);</div>
-<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> ilx=cpl_image_get_size_x(i_img);</div>
-<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span> ily=cpl_image_get_size_y(i_img);</div>
-<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> </div>
-<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span> <span class="keywordflow">if</span> ( inp != spec -> n_elements )</div>
-<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> {</div>
-<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cube length and spectrum length are not compatible"</span>) ;</div>
-<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> }</div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> </div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> <span class="keywordflow">if</span> ( NULL == (cube = cpl_imagelist_new()) )</div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> {</div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new cube"</span> ) ;</div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> }</div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> <span class="keywordflow">for</span> ( i = 0; i < inp; i++)</div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> {</div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> o_img=cpl_image_new(ilx,ily,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> cpl_imagelist_set(cube,o_img,i);</div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> }</div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> </div>
-<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> <span class="keywordflow">for</span> ( i = 0; i < inp; i++)</div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> {</div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> i_img=cpl_imagelist_get(cu,i);</div>
-<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> o_img=cpl_imagelist_get(cube,i);</div>
-<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> podata=cpl_image_get_data_float(o_img);</div>
-<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> <span class="keywordflow">for</span> ( j = 0; j < (int) ilx*ily; j++)</div>
-<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span> {</div>
-<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> <span class="keywordflow">if</span> ( isnan(pidata[j]) || isnan(spec -> data[i]) )</div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> {</div>
-<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> podata[j] = ZERO ;</div>
-<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> }</div>
-<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> {</div>
-<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> podata[j] = pidata[j] - spec -> data[i] ;</div>
-<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> }</div>
-<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> }</div>
-<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span> }</div>
-<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> </div>
-<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span> <span class="keywordflow">return</span> cube ;</div>
-<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> }</div>
-<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span> </div>
-<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span> </div>
-<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span> <span class="comment"> Function : sinfo_new_mul_spectrum_to_cube()</span></div>
-<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span> <span class="comment"> In : 1 allocated cube, 1 allocated spectrum sinfo_vector</span></div>
-<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span> <span class="comment"> Out : result cube</span></div>
-<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> <span class="comment"> Job : multiplies a spectrum (in z-direction) to all data</span></div>
-<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span> <span class="comment"> points in a cube</span></div>
-<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> </div>
-<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span> cpl_imagelist *</div>
-<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span> sinfo_new_mul_spectrum_to_cube(cpl_imagelist *cu, Vector *spec)</div>
-<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span> {</div>
-<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span> cpl_imagelist * cube ;</div>
-<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span> <span class="keywordtype">int</span> i ,j ;</div>
-<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span> cpl_image* o_img=NULL;</div>
-<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span> </div>
-<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span> <span class="keywordflow">if</span> (cu == NULL || spec == NULL)</div>
-<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span> {</div>
-<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"null cube or null spectrum"</span>) ;</div>
-<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span> }</div>
-<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span> inp=cpl_imagelist_get_size(cu);</div>
-<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span> i_img=cpl_imagelist_get(cu,0);</div>
-<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span> ilx=cpl_image_get_size_x(i_img);</div>
-<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span> ily=cpl_image_get_size_y(i_img);</div>
-<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span> </div>
-<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span> <span class="keywordflow">if</span> ( inp != spec -> n_elements )</div>
-<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> {</div>
-<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cube length and spectrum length are not compatible"</span>) ;</div>
-<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> }</div>
-<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> </div>
-<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> <span class="keywordflow">if</span> ( NULL == (cube = cpl_imagelist_new ()) )</div>
-<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> {</div>
-<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new cube"</span> ) ;</div>
-<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> }</div>
-<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> </div>
-<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> <span class="keywordflow">for</span> ( i = 0; i < inp; i++)</div>
-<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> {</div>
-<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> o_img=cpl_image_new(ilx,ily,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> cpl_imagelist_set(cube,o_img,i);</div>
-<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> }</div>
-<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> </div>
-<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> <span class="keywordflow">for</span> ( i = 0; i < inp; i++)</div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> {</div>
-<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> i_img=cpl_imagelist_get(cu,i);</div>
-<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> o_img=cpl_imagelist_get(cube,i);</div>
-<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> podata=cpl_image_get_data_float(o_img);</div>
-<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span> <span class="keywordflow">for</span> ( j = 0; j < (int) ilx*ily; j++)</div>
-<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> {</div>
-<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> <span class="keywordflow">if</span> ( isnan(pidata[j]) || isnan(spec->data[i]) )</div>
-<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span> {</div>
-<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> podata[j] = ZERO ;</div>
-<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span> }</div>
-<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> {</div>
-<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> podata[j] = pidata[j] * spec -> data[i] ;</div>
-<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span> }</div>
-<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span> }</div>
-<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span> }</div>
-<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span> </div>
-<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> <span class="keywordflow">return</span> cube ;</div>
-<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span> }</div>
-<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span> </div>
-<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span> </div>
-<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span> <span class="comment"> Function : sinfo_new_div_cube_by_spectrum()</span></div>
-<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span> <span class="comment"> In : 1 allocated cube, 1 allocated spectrum sinfo_vector</span></div>
-<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span> <span class="comment"> Out : result cube</span></div>
-<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span> <span class="comment"> Job : divides all data points of a cube by a spectrum</span></div>
-<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> <span class="comment"> (in z-direction)</span></div>
-<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span> </div>
-<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> cpl_imagelist *</div>
-<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span> sinfo_new_div_cube_by_spectrum(cpl_imagelist *cu, Vector *spec)</div>
-<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> {</div>
-<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span> cpl_imagelist * cube ;</div>
-<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span> <span class="keywordtype">float</span> help ;</div>
-<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> <span class="keywordtype">int</span> i ,j ;</div>
-<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span> cpl_image* o_img=NULL;</div>
-<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span> </div>
-<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> <span class="keywordflow">if</span> (cu == NULL || spec == NULL)</div>
-<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span> {</div>
-<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"null cube or null spectrum"</span>) ;</div>
-<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span> }</div>
-<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span> inp=cpl_imagelist_get_size(cu);</div>
-<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span> i_img=cpl_imagelist_get(cu,0);</div>
-<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span> ilx=cpl_image_get_size_x(i_img);</div>
-<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span> ily=cpl_image_get_size_y(i_img);</div>
-<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span> </div>
-<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span> <span class="keywordflow">if</span> ( inp != spec -> n_elements )</div>
-<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> {</div>
-<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cube length and spectrum length are not compatible"</span>) ;</div>
-<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> }</div>
-<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> </div>
-<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span> <span class="keywordflow">if</span> (NULL == (cube = cpl_imagelist_new ()) )</div>
-<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span> {</div>
-<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new cube"</span>) ;</div>
-<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span> }</div>
-<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span> </div>
-<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span> <span class="keywordflow">for</span> ( i = 0; i < inp; i++)</div>
-<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span> {</div>
-<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span> o_img=cpl_image_new(ilx,ily,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span> cpl_imagelist_set(cube,o_img,i);</div>
-<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span> }</div>
-<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span> </div>
-<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span> <span class="keywordflow">for</span> ( i = 0; i < inp; i++)</div>
-<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span> {</div>
-<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span> </div>
-<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span> i_img=cpl_imagelist_get(cu,i);</div>
-<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span> o_img=cpl_imagelist_get(cube,i);</div>
-<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> podata=cpl_image_get_data_float(o_img);</div>
-<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span> <span class="keywordflow">for</span> ( j = 0; j < (int) ilx*ily; j++)</div>
-<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span> {</div>
-<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> <span class="keywordflow">if</span> (!isnan(spec->data[i]) && spec->data[i] != 0.)</div>
-<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span> {</div>
-<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> help = 1/spec->data[i] ;</div>
-<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span> <span class="keywordflow">if</span> ( help > THRESH )</div>
-<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span> {</div>
-<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span> help = 1. ;</div>
-<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span> }</div>
-<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span> }</div>
-<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span> {</div>
-<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span> help = ZERO ;</div>
-<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span> }</div>
-<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span> </div>
-<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span> <span class="keywordflow">if</span> ( isnan(help) || isnan(pidata[j]) )</div>
-<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span> {</div>
-<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span> podata[j] = ZERO ;</div>
-<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span> }</div>
-<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span> {</div>
-<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span> podata[j] = pidata[j] * help ;</div>
-<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span> }</div>
-<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span> }</div>
-<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span> }</div>
-<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span> <span class="keywordflow">return</span> cube ;</div>
-<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span> }</div>
-<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span> </div>
-<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span> </div>
-<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span> <span class="comment"> Function : sinfo_new_clean_mean_of_spectra()</span></div>
-<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span> <span class="comment"> In : 1 allocated cube, position of rectangle in x-y plane ,</span></div>
-<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span> <span class="comment"> low and high cut threshold</span></div>
-<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span> <span class="comment"> Out : result spectrum sinfo_vector</span></div>
-<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span> <span class="comment"> Job : averaging routine to get a better spectral S/N, sorts</span></div>
-<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span> <span class="comment"> the values of the same z-position, cuts the lowest and</span></div>
-<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span> <span class="comment"> highest values according to given thresholds and then</span></div>
-<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span> <span class="comment"> takes the average within the x-y plane , cannot have</span></div>
-<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span> <span class="comment"> a sum of low and high rejected values greater than 90%</span></div>
-<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span> <span class="comment"> of all values</span></div>
-<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span> </div>
-<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span> Vector *</div>
-<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span> sinfo_new_clean_mean_of_spectra(cpl_imagelist * cube,</div>
-<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span> <span class="keywordtype">int</span> llx,</div>
-<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span> <span class="keywordtype">int</span> lly,</div>
-<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span> <span class="keywordtype">int</span> urx,</div>
-<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span> <span class="keywordtype">int</span> ury,</div>
-<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span> <span class="keywordtype">double</span> lo_reject,</div>
-<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span> <span class="keywordtype">double</span> hi_reject)</div>
-<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span> {</div>
-<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span> Vector * mean ;</div>
-<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span> pixelvalue *local_rectangle ;</div>
-<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span> <span class="keywordtype">int</span> i, j, k, l, m ;</div>
-<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span> <span class="keywordtype">int</span> recsize, lo_n, hi_n, nv ;</div>
-<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span> </div>
-<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span> <span class="keywordflow">if</span> ( cube == NULL || cpl_imagelist_get_size(cube) < 1 )</div>
-<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span> {</div>
-<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no cube to take the mean of his spectra"</span>) ;</div>
-<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span> }</div>
-<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span> inp=cpl_imagelist_get_size(cube);</div>
-<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span> i_img=cpl_imagelist_get(cube,0);</div>
-<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span> ilx=cpl_image_get_size_x(i_img);</div>
-<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span> ily=cpl_image_get_size_y(i_img);</div>
-<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span> </div>
-<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span> <span class="keywordflow">if</span> ((llx<1) || (llx>ilx) ||</div>
-<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span> (urx<1) || (urx>ilx) ||</div>
-<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span> (lly<1) || (lly>ily) ||</div>
-<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span> (ury<1) || (ury>ily) ||</div>
-<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span> (llx>=urx) || (lly>=ury))</div>
-<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span> {</div>
-<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"invalid rectangle coordinates:"</span>) ;</div>
-<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"lower left is [%d %d] upper right is [%d %d]"</span>,</div>
-<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span> llx, lly, urx, ury) ;</div>
-<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span> }</div>
-<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span> </div>
-<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span> <span class="keywordflow">if</span> ((lo_reject + hi_reject) > 0.9)</div>
-<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span> {</div>
-<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"illegal rejection thresholds: [%f] and [%f]"</span>,</div>
-<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span> lo_reject, hi_reject) ;</div>
-<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"threshold sum should not be over 0.9"</span></div>
-<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span> <span class="stringliteral">" aborting average"</span>) ;</div>
-<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span> }</div>
-<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span> </div>
-<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span> <span class="comment">/* shift from FITS coordinates to C coordinates */</span></div>
-<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span> llx -- ;</div>
-<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span> lly -- ;</div>
-<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span> urx -- ;</div>
-<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span> ury -- ;</div>
-<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span> </div>
-<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span> recsize = (urx - llx + 1) * (ury - lly + 1) ;</div>
-<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span> </div>
-<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span> lo_n = (int) (recsize * lo_reject + 0.5) ;</div>
-<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span> hi_n = (int) (recsize * hi_reject + 0.5) ;</div>
-<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span> </div>
-<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span> <span class="keywordflow">if</span> (lo_n + hi_n >= recsize)</div>
-<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span> {</div>
-<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"everything would be rejected"</span>) ;</div>
-<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span> <span class="keywordflow">return</span> NullVector;</div>
-<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span> }</div>
-<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span> </div>
-<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span> <span class="comment">/* allocate a new sinfo_vector to store the average spectral values */</span></div>
-<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span> <span class="keywordflow">if</span> (NULL == (mean = sinfo_new_vector (inp)) )</div>
-<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span> {</div>
-<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate a new sinfo_vector"</span>) ;</div>
-<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span> }</div>
-<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span> </div>
-<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span> <span class="comment">/*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span> <span class="comment"> * loop through the cube planes, through the x axis and the y-axis of the</span></div>
-<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span> <span class="comment"> * plane rectangle and store pixel values in a buffer.</span></div>
-<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span> <span class="keywordflow">for</span> ( i = 0 ; i < inp ; i++ )</div>
-<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span> {</div>
-<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span> i_img=cpl_imagelist_get(cube,i);</div>
-<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span> m = 0 ;</div>
-<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span> local_rectangle=(pixelvalue *)cpl_calloc(recsize, <span class="keyword">sizeof</span> (pixelvalue*));</div>
-<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span> </div>
-<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span> <span class="keywordflow">for</span> ( j = lly ; j <= ury ; j++ )</div>
-<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span> {</div>
-<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span> <span class="keywordflow">for</span> ( k = llx ; k <= urx ; k++ )</div>
-<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span> {</div>
-<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span> local_rectangle[m] = pidata[k + j * ilx] ;</div>
-<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span> m ++ ;</div>
-<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span> }</div>
-<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span> }</div>
-<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span> <span class="comment">/*sorts the pixelvalues in the buffer*/</span></div>
-<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span> sinfo_pixel_qsort (local_rectangle, recsize) ;</div>
-<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span> </div>
-<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span> nv = 0 ;</div>
-<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span> <span class="keywordflow">for</span> ( l = lo_n ; l < (recsize - hi_n) ; l++ )</div>
-<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span> {</div>
-<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span> mean -> data[i] += local_rectangle[l] ;</div>
-<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span> nv ++;</div>
-<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span> }</div>
-<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span> mean -> data[i] /= nv ;</div>
-<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span> </div>
-<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span> cpl_free ( local_rectangle ) ;</div>
-<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span> }</div>
-<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span> <span class="keywordflow">return</span> mean ;</div>
-<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span> }</div>
-<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span> </div>
-<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span> </div>
-<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span> <span class="comment"> Function :sinfo_new_median_cube()</span></div>
-<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span> <span class="comment"> In :1 allocated cube</span></div>
-<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span> <span class="comment"> Out :result image</span></div>
-<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span> <span class="comment"> Job :determines the sinfo_new_median value in every pixel position</span></div>
-<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span> <span class="comment"> by considering all pixels along the third axis.</span></div>
-<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span> <span class="comment"> ZERO pixels in a plane are not considered. If all</span></div>
-<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span> <span class="comment"> pixels at a position are not valid the result will</span></div>
-<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span> <span class="comment"> be 'ZERO'.</span></div>
-<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span> cpl_image *</div>
-<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span> sinfo_new_median_cube(cpl_imagelist * cube)</div>
-<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span> {</div>
-<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span> cpl_image * im ;</div>
-<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span> pixelvalue * buffer ;</div>
-<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span> <span class="keywordtype">int</span> i, j, k, nz ;</div>
-<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span> </div>
-<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span> <span class="keywordflow">if</span> ( cube == NULL )</div>
-<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span> {</div>
-<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"null cube"</span>) ;</div>
-<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span> }</div>
-<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span> inp=cpl_imagelist_get_size(cube);</div>
-<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span> i_img=cpl_imagelist_get(cube,0);</div>
-<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span> ilx=cpl_image_get_size_x(i_img);</div>
-<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span> ily=cpl_image_get_size_y(i_img);</div>
-<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span> </div>
-<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span> <span class="keywordflow">if</span> (NULL == (im = cpl_image_new (ilx, ily, CPL_TYPE_FLOAT )) )</div>
-<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span> {</div>
-<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new image"</span>) ;</div>
-<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span> }</div>
-<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span> </div>
-<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span> <span class="comment">/*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span> <span class="comment"> * transfer each sinfo_vector in z direction in a buffer and collect</span></div>
-<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span> <span class="comment"> only non-blank data.</span></div>
-<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span> </div>
-<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span> podata=cpl_image_get_data_float(im);</div>
-<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) ilx*ily ; i++ )</div>
-<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span> {</div>
-<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span> buffer = (pixelvalue *) cpl_calloc (inp, <span class="keyword">sizeof</span> (pixelvalue *));</div>
-<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span> k = 0 ;</div>
-<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span> <span class="keywordflow">for</span> ( j = 0 ; j < inp ; j ++ )</div>
-<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span> {</div>
-<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span> i_img=cpl_imagelist_get(cube,j);</div>
-<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span> <span class="keywordflow">if</span> ( !isnan(pidata[i]) )</div>
-<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span> {</div>
-<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span> buffer[k] = pidata[i] ;</div>
-<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span> k ++ ;</div>
-<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span> }</div>
-<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span> }</div>
-<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span> nz = k ;</div>
-<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span> </div>
-<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span> <span class="comment">/* proceed depending on the number of valid pixels */</span></div>
-<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span> <span class="keywordflow">if</span> ( nz > 2 )</div>
-<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span> {</div>
-<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span> podata[i] = sinfo_new_median ( buffer, nz ) ;</div>
-<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span> }</div>
-<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (nz == 2)</div>
-<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span> {</div>
-<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span> podata[i] = (buffer[0] + buffer[1]) / 2. ;</div>
-<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span> }</div>
-<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (nz == 1)</div>
-<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span> {</div>
-<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span> podata[i] = buffer[0] ;</div>
-<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span> }</div>
-<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (nz == 0)</div>
-<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span> {</div>
-<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span> podata[i] = ZERO ;</div>
-<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span> }</div>
-<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span> </div>
-<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span> cpl_free ( buffer ) ;</div>
-<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span> }</div>
-<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span> </div>
-<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span> <span class="keywordflow">return</span> im ;</div>
-<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span> }</div>
-<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span> </div>
-<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span> </div>
-<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span> <span class="comment"> Function : sinfo_new_average_cube_to_image()</span></div>
-<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span> <span class="comment"> In : 1 allocated cube</span></div>
-<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span> <span class="comment"> Out : result image</span></div>
-<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span> <span class="comment"> Job : determines the average value in every pixel position</span></div>
-<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span> <span class="comment"> by considering all pixels along the third axis.</span></div>
-<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span> <span class="comment"> ZERO pixels in a plane are not considered. If all</span></div>
-<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span> <span class="comment"> pixels at a position are not valid the result will</span></div>
-<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span> <span class="comment"> be 'ZERO'.</span></div>
-<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span> cpl_image *</div>
-<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span> sinfo_new_average_cube_to_image(cpl_imagelist * cube)</div>
-<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span> {</div>
-<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span> cpl_image * im ;</div>
-<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span> <span class="keywordtype">int</span> i, j, nz ;</div>
-<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span> </div>
-<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span> <span class="keywordflow">if</span> ( cube == NULL )</div>
-<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span> {</div>
-<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"null cube"</span>) ;</div>
-<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span> }</div>
-<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span> inp=cpl_imagelist_get_size(cube);</div>
-<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span> i_img=cpl_imagelist_get(cube,0);</div>
-<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span> ilx=cpl_image_get_size_x(i_img);</div>
-<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span> ily=cpl_image_get_size_y(i_img);</div>
-<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span> </div>
-<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span> <span class="keywordflow">if</span> (NULL == (im = cpl_image_new (ilx, ily,CPL_TYPE_FLOAT )) )</div>
-<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span> {</div>
-<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new image"</span>) ;</div>
-<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span> }</div>
-<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span> </div>
-<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span> <span class="comment">/*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span> <span class="comment"> * transfer each vector in z direction in a buffer and collect</span></div>
-<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span> <span class="comment"> only non-blank data.</span></div>
-<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span> </div>
-<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span> podata=cpl_image_get_data_float(im);</div>
-<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) ilx*ily ; i++ )</div>
-<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span> {</div>
-<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span> nz = 0 ;</div>
-<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span> <span class="keywordflow">for</span> ( j = 0 ; j < inp ; j ++ )</div>
-<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span> {</div>
-<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span> i_img=cpl_imagelist_get(cube,j);</div>
-<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span> <span class="keywordflow">if</span> ( !isnan(pidata[i]) )</div>
-<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span> {</div>
-<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span> nz ++ ;</div>
-<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span> podata[i] += pidata[i] ;</div>
-<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span> }</div>
-<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span> }</div>
-<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span> </div>
-<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span> <span class="comment">/* proceed depending on the number of valid pixels */</span></div>
-<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span> <span class="keywordflow">if</span> ( nz >= 1 )</div>
-<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span> {</div>
-<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span> podata[i] /= nz ;</div>
-<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span> }</div>
-<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (nz == 0)</div>
-<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span> {</div>
-<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span> podata[i] = ZERO ;</div>
-<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span> }</div>
-<div class="line"><a name="l01656"></a><span class="lineno"> 1656</span> }</div>
-<div class="line"><a name="l01657"></a><span class="lineno"> 1657</span> </div>
-<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span> <span class="keywordflow">return</span> im ;</div>
-<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span> }</div>
-<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span> </div>
-<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01662"></a><span class="lineno"> 1662</span> <span class="comment"> Function : sinfo_new_sum_cube_to_image()</span></div>
-<div class="line"><a name="l01663"></a><span class="lineno"> 1663</span> <span class="comment"> In : 1 allocated cube</span></div>
-<div class="line"><a name="l01664"></a><span class="lineno"> 1664</span> <span class="comment"> Out : result image</span></div>
-<div class="line"><a name="l01665"></a><span class="lineno"> 1665</span> <span class="comment"> Job : determines the sum value in every pixel position</span></div>
-<div class="line"><a name="l01666"></a><span class="lineno"> 1666</span> <span class="comment"> by considering all pixels along the third axis.</span></div>
-<div class="line"><a name="l01667"></a><span class="lineno"> 1667</span> <span class="comment"> ZERO pixels in a plane are not considered. If all</span></div>
-<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span> <span class="comment"> pixels at a position are not valid the result will</span></div>
-<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span> <span class="comment"> be 'ZERO'.</span></div>
-<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span> cpl_image *</div>
-<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span> sinfo_new_sum_cube_to_image(cpl_imagelist * cube)</div>
-<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span> {</div>
-<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span> cpl_image * im ;</div>
-<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span> <span class="keywordtype">int</span> i, j, nz ;</div>
-<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span> </div>
-<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span> <span class="keywordflow">if</span> ( cube == NULL )</div>
-<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span> {</div>
-<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"null cube"</span>) ;</div>
-<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span> }</div>
-<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span> inp=cpl_imagelist_get_size(cube);</div>
-<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span> i_img=cpl_imagelist_get(cube,0);</div>
-<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span> ilx=cpl_image_get_size_x(i_img);</div>
-<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span> ily=cpl_image_get_size_y(i_img);</div>
-<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span> </div>
-<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span> <span class="keywordflow">if</span> (NULL == (im = cpl_image_new (ilx, ily, CPL_TYPE_FLOAT )) )</div>
-<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span> {</div>
-<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new image"</span>) ;</div>
-<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span> }</div>
-<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span> </div>
-<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span> <span class="comment">/*-------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span> <span class="comment"> * transfer each vector in z direction in a buffer and collect only</span></div>
-<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span> <span class="comment"> non-blank data.</span></div>
-<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span> </div>
-<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span> podata=cpl_image_get_data_float(im);</div>
-<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) ilx*ily ; i++ )</div>
-<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span> {</div>
-<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span> nz = 0 ;</div>
-<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span> <span class="keywordflow">for</span> ( j = 0 ; j < inp ; j ++ )</div>
-<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span> {</div>
-<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span> i_img=cpl_imagelist_get(cube,j);</div>
-<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span> <span class="keywordflow">if</span> ( !isnan(pidata[i]) )</div>
-<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span> {</div>
-<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span> nz++ ;</div>
-<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span> podata[i] += pidata[i] ;</div>
-<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span> }</div>
-<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span> }</div>
-<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span> </div>
-<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span> <span class="comment">/* proceed depending on the number of valid pixels */</span></div>
-<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span> <span class="keywordflow">if</span> (nz == 0)</div>
-<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span> {</div>
-<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span> podata[i] = ZERO ;</div>
-<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span> }</div>
-<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span> }</div>
-<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span> </div>
-<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span> <span class="keywordflow">return</span> im ;</div>
-<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span> }</div>
-<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span> </div>
-<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span> <span class="comment"> Function sinfo_new_average_cube_to_image_between_waves()</span></div>
-<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span> <span class="comment"> In cube: data cube to collapse</span></div>
-<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span> <span class="comment"> dispersion: dispersion per pixel in microns/pixel</span></div>
-<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span> <span class="comment"> (derived from fits header information)</span></div>
-<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span> <span class="comment"> centralWave: central wavelength in the cube in microns</span></div>
-<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span> <span class="comment"> (derived from fits header information)</span></div>
-<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span> <span class="comment"> initialLambda, finalLambda: wavelength values in microns</span></div>
-<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span> <span class="comment"> within which the cube is averaged</span></div>
-<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span> <span class="comment"> Out :resulting averaged image</span></div>
-<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span> <span class="comment"> Job :determines the average value in every pixel position</span></div>
-<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span> <span class="comment"> by considering only the pixels along the third axis</span></div>
-<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span> <span class="comment"> which lie between the given wavelength values.</span></div>
-<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span> <span class="comment"> These values are first recalculated to plane indices</span></div>
-<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span> <span class="comment"> by using the given dispersion and minimum wavelength in</span></div>
-<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span> <span class="comment"> the cube.</span></div>
-<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span> <span class="comment"> ZERO pixels in a plane are not considered. If all</span></div>
-<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span> <span class="comment"> pixels at a position are not valid the result will</span></div>
-<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span> <span class="comment"> be 'ZERO'.</span></div>
-<div class="line"><a name="l01749"></a><span class="lineno"> 1749</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01750"></a><span class="lineno"> 1750</span> cpl_image *</div>
-<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span> sinfo_new_average_cube_to_image_between_waves (cpl_imagelist * cube,</div>
-<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span> <span class="keywordtype">float</span> dispersion,</div>
-<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span> <span class="keywordtype">float</span> centralWave,</div>
-<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span> <span class="keywordtype">float</span> initialLambda,</div>
-<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span> <span class="keywordtype">float</span> finalLambda)</div>
-<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span> {</div>
-<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span> cpl_image * im ;</div>
-<div class="line"><a name="l01758"></a><span class="lineno"> 1758</span> <span class="keywordtype">int</span> firstPlane ;</div>
-<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span> <span class="keywordtype">int</span> lastPlane ;</div>
-<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span> <span class="keywordtype">int</span> i, j, nz ;</div>
-<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span> <span class="keywordtype">float</span> minWave ;</div>
-<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span> </div>
-<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span> <span class="keywordflow">if</span> ( cube == NULL )</div>
-<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span> {</div>
-<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"null cube"</span>) ;</div>
-<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span> }</div>
-<div class="line"><a name="l01774"></a><span class="lineno"> 1774</span> i_img=cpl_imagelist_get(cube,0);</div>
-<div class="line"><a name="l01775"></a><span class="lineno"> 1775</span> ilx=cpl_image_get_size_x(i_img);</div>
-<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span> ily=cpl_image_get_size_y(i_img);</div>
-<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span> </div>
-<div class="line"><a name="l01778"></a><span class="lineno"> 1778</span> inp=cpl_imagelist_get_size(cube);</div>
-<div class="line"><a name="l01779"></a><span class="lineno"> 1779</span> </div>
-<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span> minWave = centralWave - (float) (inp / 2)*dispersion ;</div>
-<div class="line"><a name="l01781"></a><span class="lineno"> 1781</span> </div>
-<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span> <span class="keywordflow">if</span> ( dispersion <= 0. || minWave <= 0. )</div>
-<div class="line"><a name="l01783"></a><span class="lineno"> 1783</span> {</div>
-<div class="line"><a name="l01784"></a><span class="lineno"> 1784</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"wrong dispersion or minimum wavelength given"</span>) ;</div>
-<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01786"></a><span class="lineno"> 1786</span> }</div>
-<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span> </div>
-<div class="line"><a name="l01788"></a><span class="lineno"> 1788</span> <span class="keywordflow">if</span> ( initialLambda < minWave ||</div>
-<div class="line"><a name="l01789"></a><span class="lineno"> 1789</span> (initialLambda >= minWave + dispersion * inp) )</div>
-<div class="line"><a name="l01790"></a><span class="lineno"> 1790</span> {</div>
-<div class="line"><a name="l01791"></a><span class="lineno"> 1791</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"wrong initial wavelength given"</span>) ;</div>
-<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span> }</div>
-<div class="line"><a name="l01794"></a><span class="lineno"> 1794</span> </div>
-<div class="line"><a name="l01795"></a><span class="lineno"> 1795</span> <span class="keywordflow">if</span> ( finalLambda <= minWave ||</div>
-<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span> (finalLambda > minWave + dispersion * inp) )</div>
-<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span> {</div>
-<div class="line"><a name="l01798"></a><span class="lineno"> 1798</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"wrong final wavelength given"</span>) ;</div>
-<div class="line"><a name="l01799"></a><span class="lineno"> 1799</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span> }</div>
-<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span> </div>
-<div class="line"><a name="l01802"></a><span class="lineno"> 1802</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l01803"></a><span class="lineno"> 1803</span> <span class="keywordflow">if</span> (NULL == (im = cpl_image_new (ilx, ily, CPL_TYPE_FLOAT )) )</div>
-<div class="line"><a name="l01804"></a><span class="lineno"> 1804</span> {</div>
-<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new image"</span>) ;</div>
-<div class="line"><a name="l01806"></a><span class="lineno"> 1806</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01807"></a><span class="lineno"> 1807</span> }</div>
-<div class="line"><a name="l01808"></a><span class="lineno"> 1808</span> </div>
-<div class="line"><a name="l01809"></a><span class="lineno"> 1809</span> <span class="comment">/* transfer the wavelength range to image plane indices */</span></div>
-<div class="line"><a name="l01810"></a><span class="lineno"> 1810</span> firstPlane = sinfo_new_nint ((<span class="keywordtype">double</span>) ((initialLambda - minWave) /</div>
-<div class="line"><a name="l01811"></a><span class="lineno"> 1811</span> dispersion)) ;</div>
-<div class="line"><a name="l01812"></a><span class="lineno"> 1812</span> lastPlane = sinfo_new_nint ((<span class="keywordtype">double</span>) ((finalLambda - minWave) /</div>
-<div class="line"><a name="l01813"></a><span class="lineno"> 1813</span> dispersion)) ;</div>
-<div class="line"><a name="l01814"></a><span class="lineno"> 1814</span> </div>
-<div class="line"><a name="l01815"></a><span class="lineno"> 1815</span> <span class="keywordflow">if</span> ( firstPlane < 0 || firstPlane >= inp ||</div>
-<div class="line"><a name="l01816"></a><span class="lineno"> 1816</span> lastPlane < 0 || lastPlane > inp )</div>
-<div class="line"><a name="l01817"></a><span class="lineno"> 1817</span> {</div>
-<div class="line"><a name="l01818"></a><span class="lineno"> 1818</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"wrong values given!"</span>) ;</div>
-<div class="line"><a name="l01819"></a><span class="lineno"> 1819</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01820"></a><span class="lineno"> 1820</span> }</div>
-<div class="line"><a name="l01821"></a><span class="lineno"> 1821</span> </div>
-<div class="line"><a name="l01822"></a><span class="lineno"> 1822</span> <span class="comment">/*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01823"></a><span class="lineno"> 1823</span> <span class="comment"> * transfer each vector in z direction in a buffer and collect only</span></div>
-<div class="line"><a name="l01824"></a><span class="lineno"> 1824</span> <span class="comment"> non-blank data.</span></div>
-<div class="line"><a name="l01825"></a><span class="lineno"> 1825</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01826"></a><span class="lineno"> 1826</span> </div>
-<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span> </div>
-<div class="line"><a name="l01828"></a><span class="lineno"> 1828</span> </div>
-<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span> podata=cpl_image_get_data_float(im);</div>
-<div class="line"><a name="l01830"></a><span class="lineno"> 1830</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) ilx*ily ; i++ )</div>
-<div class="line"><a name="l01831"></a><span class="lineno"> 1831</span> {</div>
-<div class="line"><a name="l01832"></a><span class="lineno"> 1832</span> nz = 0 ;</div>
-<div class="line"><a name="l01833"></a><span class="lineno"> 1833</span> </div>
-<div class="line"><a name="l01834"></a><span class="lineno"> 1834</span> <span class="keywordflow">for</span> ( j = firstPlane ; j <= lastPlane ; j ++ )</div>
-<div class="line"><a name="l01835"></a><span class="lineno"> 1835</span> {</div>
-<div class="line"><a name="l01836"></a><span class="lineno"> 1836</span> i_img=cpl_imagelist_get(cube,j);</div>
-<div class="line"><a name="l01837"></a><span class="lineno"> 1837</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l01838"></a><span class="lineno"> 1838</span> <span class="keywordflow">if</span> ( !isnan(pidata[i]) )</div>
-<div class="line"><a name="l01839"></a><span class="lineno"> 1839</span> {</div>
-<div class="line"><a name="l01840"></a><span class="lineno"> 1840</span> nz ++ ;</div>
-<div class="line"><a name="l01841"></a><span class="lineno"> 1841</span> podata[i] += pidata[i] ;</div>
-<div class="line"><a name="l01842"></a><span class="lineno"> 1842</span> }</div>
-<div class="line"><a name="l01843"></a><span class="lineno"> 1843</span> }</div>
-<div class="line"><a name="l01844"></a><span class="lineno"> 1844</span> </div>
-<div class="line"><a name="l01845"></a><span class="lineno"> 1845</span> <span class="comment">/* proceed depending on the number of valid pixels */</span></div>
-<div class="line"><a name="l01846"></a><span class="lineno"> 1846</span> <span class="keywordflow">if</span> ( nz >= 1 )</div>
-<div class="line"><a name="l01847"></a><span class="lineno"> 1847</span> {</div>
-<div class="line"><a name="l01848"></a><span class="lineno"> 1848</span> podata[i] /= nz ;</div>
-<div class="line"><a name="l01849"></a><span class="lineno"> 1849</span> }</div>
-<div class="line"><a name="l01850"></a><span class="lineno"> 1850</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (nz == 0)</div>
-<div class="line"><a name="l01851"></a><span class="lineno"> 1851</span> {</div>
-<div class="line"><a name="l01852"></a><span class="lineno"> 1852</span> podata[i] = ZERO ;</div>
-<div class="line"><a name="l01853"></a><span class="lineno"> 1853</span> }</div>
-<div class="line"><a name="l01854"></a><span class="lineno"> 1854</span> }</div>
-<div class="line"><a name="l01855"></a><span class="lineno"> 1855</span> </div>
-<div class="line"><a name="l01856"></a><span class="lineno"> 1856</span> <span class="keywordflow">return</span> im ;</div>
-<div class="line"><a name="l01857"></a><span class="lineno"> 1857</span> }</div>
-<div class="line"><a name="l01858"></a><span class="lineno"> 1858</span> </div>
-<div class="line"><a name="l01859"></a><span class="lineno"> 1859</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01860"></a><span class="lineno"> 1860</span> <span class="comment"> Function : sinfo_new_extract_image_from_cube()</span></div>
-<div class="line"><a name="l01861"></a><span class="lineno"> 1861</span> <span class="comment"> In : 1 allocated cube</span></div>
-<div class="line"><a name="l01862"></a><span class="lineno"> 1862</span> <span class="comment"> index of cube plane</span></div>
-<div class="line"><a name="l01863"></a><span class="lineno"> 1863</span> <span class="comment"> Out : extracted image</span></div>
-<div class="line"><a name="l01864"></a><span class="lineno"> 1864</span> <span class="comment"> Job : returns the wanted image plane of the cube</span></div>
-<div class="line"><a name="l01865"></a><span class="lineno"> 1865</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01866"></a><span class="lineno"> 1866</span> cpl_image *</div>
-<div class="line"><a name="l01867"></a><span class="lineno"> 1867</span> sinfo_new_extract_image_from_cube(cpl_imagelist * cube, <span class="keywordtype">int</span> plane_index)</div>
-<div class="line"><a name="l01868"></a><span class="lineno"> 1868</span> {</div>
-<div class="line"><a name="l01869"></a><span class="lineno"> 1869</span> <span class="keywordflow">if</span> ( cube == NULL )</div>
-<div class="line"><a name="l01870"></a><span class="lineno"> 1870</span> {</div>
-<div class="line"><a name="l01871"></a><span class="lineno"> 1871</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"null cube"</span>) ;</div>
-<div class="line"><a name="l01872"></a><span class="lineno"> 1872</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01873"></a><span class="lineno"> 1873</span> }</div>
-<div class="line"><a name="l01874"></a><span class="lineno"> 1874</span> </div>
-<div class="line"><a name="l01875"></a><span class="lineno"> 1875</span> <span class="keywordflow">if</span> ( plane_index < 0 || plane_index >= cpl_imagelist_get_size(cube) )</div>
-<div class="line"><a name="l01876"></a><span class="lineno"> 1876</span> {</div>
-<div class="line"><a name="l01877"></a><span class="lineno"> 1877</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"wrong plane index for image to be extracted"</span>) ;</div>
-<div class="line"><a name="l01878"></a><span class="lineno"> 1878</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01879"></a><span class="lineno"> 1879</span> }</div>
-<div class="line"><a name="l01880"></a><span class="lineno"> 1880</span> </div>
-<div class="line"><a name="l01881"></a><span class="lineno"> 1881</span> <span class="keywordflow">return</span> cpl_imagelist_get(cube,plane_index) ;</div>
-<div class="line"><a name="l01882"></a><span class="lineno"> 1882</span> }</div>
-<div class="line"><a name="l01883"></a><span class="lineno"> 1883</span> </div>
-<div class="line"><a name="l01884"></a><span class="lineno"> 1884</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01885"></a><span class="lineno"> 1885</span> <span class="comment"> Function :sinfo_new_extract_spectrum_from_cube()</span></div>
-<div class="line"><a name="l01886"></a><span class="lineno"> 1886</span> <span class="comment"> In :cube: 1 allocated cube</span></div>
-<div class="line"><a name="l01887"></a><span class="lineno"> 1887</span> <span class="comment"> x_pos, y_pos: x, y pixel position of the</span></div>
-<div class="line"><a name="l01888"></a><span class="lineno"> 1888</span> <span class="comment"> spectrum counted from 0</span></div>
-<div class="line"><a name="l01889"></a><span class="lineno"> 1889</span> <span class="comment"> Out :extracted spectral sinfo_vector object</span></div>
-<div class="line"><a name="l01890"></a><span class="lineno"> 1890</span> <span class="comment"> Job :returns the wanted single spectrum of the cube</span></div>
-<div class="line"><a name="l01891"></a><span class="lineno"> 1891</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01892"></a><span class="lineno"> 1892</span> Vector *</div>
-<div class="line"><a name="l01893"></a><span class="lineno"> 1893</span> sinfo_new_extract_spectrum_from_cube(cpl_imagelist * cube,</div>
-<div class="line"><a name="l01894"></a><span class="lineno"> 1894</span> <span class="keywordtype">int</span> x_pos, <span class="keywordtype">int</span> y_pos)</div>
-<div class="line"><a name="l01895"></a><span class="lineno"> 1895</span> {</div>
-<div class="line"><a name="l01896"></a><span class="lineno"> 1896</span> Vector * returnedSpectrum ;</div>
-<div class="line"><a name="l01897"></a><span class="lineno"> 1897</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l01898"></a><span class="lineno"> 1898</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01899"></a><span class="lineno"> 1899</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01900"></a><span class="lineno"> 1900</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l01901"></a><span class="lineno"> 1901</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01902"></a><span class="lineno"> 1902</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l01903"></a><span class="lineno"> 1903</span> </div>
-<div class="line"><a name="l01904"></a><span class="lineno"> 1904</span> <span class="keywordflow">if</span> ( cube == NULL )</div>
-<div class="line"><a name="l01905"></a><span class="lineno"> 1905</span> {</div>
-<div class="line"><a name="l01906"></a><span class="lineno"> 1906</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no cube given!"</span>) ;</div>
-<div class="line"><a name="l01907"></a><span class="lineno"> 1907</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01908"></a><span class="lineno"> 1908</span> }</div>
-<div class="line"><a name="l01909"></a><span class="lineno"> 1909</span> i_img=cpl_imagelist_get(cube,0);</div>
-<div class="line"><a name="l01910"></a><span class="lineno"> 1910</span> ilx=cpl_image_get_size_x(i_img);</div>
-<div class="line"><a name="l01911"></a><span class="lineno"> 1911</span> ily=cpl_image_get_size_y(i_img);</div>
-<div class="line"><a name="l01912"></a><span class="lineno"> 1912</span> inp=cpl_imagelist_get_size(cube);</div>
-<div class="line"><a name="l01913"></a><span class="lineno"> 1913</span> </div>
-<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span> <span class="keywordflow">if</span> ( x_pos < 0 || x_pos >= ilx )</div>
-<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span> {</div>
-<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"wrong x-positon of spectrum given!"</span>) ;</div>
-<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span> }</div>
-<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span> </div>
-<div class="line"><a name="l01920"></a><span class="lineno"> 1920</span> <span class="keywordflow">if</span> ( y_pos < 0 || y_pos >= ily )</div>
-<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span> {</div>
-<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"wrong y-positon of spectrum given!"</span>) ;</div>
-<div class="line"><a name="l01923"></a><span class="lineno"> 1923</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01924"></a><span class="lineno"> 1924</span> }</div>
-<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span> </div>
-<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span> <span class="keywordflow">if</span> ( NULL == (returnedSpectrum = sinfo_new_vector ( inp )) )</div>
-<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span> {</div>
-<div class="line"><a name="l01929"></a><span class="lineno"> 1929</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new spectrum!"</span>) ;</div>
-<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span> }</div>
-<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span> </div>
-<div class="line"><a name="l01933"></a><span class="lineno"> 1933</span> <span class="keywordflow">for</span> ( i = 0 ; i < inp ; i++ )</div>
-<div class="line"><a name="l01934"></a><span class="lineno"> 1934</span> {</div>
-<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span> i_img=cpl_imagelist_get(cube,i);</div>
-<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span> returnedSpectrum -> data[i] = pidata[x_pos + ilx*y_pos] ;</div>
-<div class="line"><a name="l01938"></a><span class="lineno"> 1938</span> }</div>
-<div class="line"><a name="l01939"></a><span class="lineno"> 1939</span> </div>
-<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span> <span class="keywordflow">return</span> returnedSpectrum ;</div>
-<div class="line"><a name="l01941"></a><span class="lineno"> 1941</span> }</div>
-<div class="line"><a name="l01942"></a><span class="lineno"> 1942</span> </div>
-<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span> <span class="comment"> Function : sinfo_new_combine_jittered_cubes()</span></div>
-<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span> <span class="comment"> In : cubes: list of jittered cubes to mosaic</span></div>
-<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span> <span class="comment"> mergedCube: resulting merged cube containing the</span></div>
-<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span> <span class="comment"> jittered cubes</span></div>
-<div class="line"><a name="l01948"></a><span class="lineno"> 1948</span> <span class="comment"> n_cubes: number of cubes in the list to merge</span></div>
-<div class="line"><a name="l01949"></a><span class="lineno"> 1949</span> <span class="comment"> cumoffsetx,y: array of relative x, y pixel offsets</span></div>
-<div class="line"><a name="l01950"></a><span class="lineno"> 1950</span> <span class="comment"> with respect to the first frame in the</span></div>
-<div class="line"><a name="l01951"></a><span class="lineno"> 1951</span> <span class="comment"> same sequence as the cube list.</span></div>
-<div class="line"><a name="l01952"></a><span class="lineno"> 1952</span> <span class="comment"> exptimes: exposure times array giving the time</span></div>
-<div class="line"><a name="l01953"></a><span class="lineno"> 1953</span> <span class="comment"> in the same sequence as the cube list</span></div>
-<div class="line"><a name="l01954"></a><span class="lineno"> 1954</span> <span class="comment"> kernel_type: the name of the interpolation kernel</span></div>
-<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span> <span class="comment"> that you want to generate using the</span></div>
-<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span> <span class="comment"> eclipse routine</span></div>
-<div class="line"><a name="l01957"></a><span class="lineno"> 1957</span> <span class="comment"> sinfo_generate_interpolation_kernel()</span></div>
-<div class="line"><a name="l01958"></a><span class="lineno"> 1958</span> <span class="comment"> Supported kernels are:</span></div>
-<div class="line"><a name="l01959"></a><span class="lineno"> 1959</span> <span class="comment"> NULL: default kernel, currently tanh</span></div>
-<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span> <span class="comment"> "default": dito</span></div>
-<div class="line"><a name="l01961"></a><span class="lineno"> 1961</span> <span class="comment"> "tanh": Hyperbolic tangent</span></div>
-<div class="line"><a name="l01962"></a><span class="lineno"> 1962</span> <span class="comment"> "sinc2": Square sinc</span></div>
-<div class="line"><a name="l01963"></a><span class="lineno"> 1963</span> <span class="comment"> "lanczos": Lanczos2 kernel</span></div>
-<div class="line"><a name="l01964"></a><span class="lineno"> 1964</span> <span class="comment"> "hamming": Hamming kernel</span></div>
-<div class="line"><a name="l01965"></a><span class="lineno"> 1965</span> <span class="comment"> "hann": Hann kernel</span></div>
-<div class="line"><a name="l01966"></a><span class="lineno"> 1966</span> <span class="comment"> Out : mask: cube of the same size as combinedCube</span></div>
-<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span> <span class="comment"> containing 0 for blank (ZERO pixels) and</span></div>
-<div class="line"><a name="l01968"></a><span class="lineno"> 1968</span> <span class="comment"> the summed integration times for</span></div>
-<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span> <span class="comment"> overlapping regions</span></div>
-<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span> <span class="comment"> mergedCube: final data cube containing the</span></div>
-<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span> <span class="comment"> jittered cubes</span></div>
-<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span> <span class="comment"> Job : merges jittered data cubes to one bigger cube</span></div>
-<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span> <span class="comment"> by averaging the overlap regions weighted by</span></div>
-<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span> <span class="comment"> the integration times. The x, y size of the final data</span></div>
-<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span> <span class="comment"> cube is user given, and should be between 32 and 64</span></div>
-<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span> <span class="comment"> pixels, while the relative pixel-offset (sub-pixel</span></div>
-<div class="line"><a name="l01977"></a><span class="lineno"> 1977</span> <span class="comment"> accuracy) of the single cubes with respect to the</span></div>
-<div class="line"><a name="l01978"></a><span class="lineno"> 1978</span> <span class="comment"> first cube in the list is read from the</span></div>
-<div class="line"><a name="l01979"></a><span class="lineno"> 1979</span> <span class="comment"> SEQ CUMOFFSETX,Y</span></div>
-<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span> <span class="comment"> fits header keyword.</span></div>
-<div class="line"><a name="l01981"></a><span class="lineno"> 1981</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01982"></a><span class="lineno"> 1982</span> cpl_imagelist *</div>
-<div class="line"><a name="l01983"></a><span class="lineno"> 1983</span> sinfo_new_combine_jittered_cubes ( cpl_imagelist ** cubes,</div>
-<div class="line"><a name="l01984"></a><span class="lineno"> 1984</span> cpl_imagelist * mergedCube,</div>
-<div class="line"><a name="l01985"></a><span class="lineno"> 1985</span> <span class="keywordtype">int</span> n_cubes,</div>
-<div class="line"><a name="l01986"></a><span class="lineno"> 1986</span> <span class="keywordtype">float</span> * cumoffsetx,</div>
-<div class="line"><a name="l01987"></a><span class="lineno"> 1987</span> <span class="keywordtype">float</span> * cumoffsety,</div>
-<div class="line"><a name="l01988"></a><span class="lineno"> 1988</span> <span class="keywordtype">float</span> * exptimes,</div>
-<div class="line"><a name="l01989"></a><span class="lineno"> 1989</span> <span class="keywordtype">char</span> * kernel_type )</div>
-<div class="line"><a name="l01990"></a><span class="lineno"> 1990</span> {</div>
-<div class="line"><a name="l01991"></a><span class="lineno"> 1991</span> </div>
-<div class="line"><a name="l01992"></a><span class="lineno"> 1992</span> <span class="keywordtype">int</span> i=0 ;</div>
-<div class="line"><a name="l01993"></a><span class="lineno"> 1993</span> <span class="keywordtype">int</span> x=0;</div>
-<div class="line"><a name="l01994"></a><span class="lineno"> 1994</span> <span class="keywordtype">int</span> y=0;</div>
-<div class="line"><a name="l01995"></a><span class="lineno"> 1995</span> <span class="keywordtype">int</span> z=0;</div>
-<div class="line"><a name="l01996"></a><span class="lineno"> 1996</span> <span class="keywordtype">int</span> llx0=0;</div>
-<div class="line"><a name="l01997"></a><span class="lineno"> 1997</span> <span class="keywordtype">int</span> lly0=0;</div>
-<div class="line"><a name="l01998"></a><span class="lineno"> 1998</span> <span class="keywordtype">int</span> posx=0;</div>
-<div class="line"><a name="l01999"></a><span class="lineno"> 1999</span> <span class="keywordtype">int</span> posy=0;</div>
-<div class="line"><a name="l02000"></a><span class="lineno"> 2000</span> <span class="keywordtype">float</span> weight=0;</div>
-<div class="line"><a name="l02001"></a><span class="lineno"> 2001</span> cpl_imagelist * mask=NULL;</div>
-<div class="line"><a name="l02002"></a><span class="lineno"> 2002</span> <span class="keywordtype">double</span> * kernel=NULL;</div>
-<div class="line"><a name="l02003"></a><span class="lineno"> 2003</span> <span class="comment">/*cpl_image * shiftedImage ;*/</span></div>
-<div class="line"><a name="l02004"></a><span class="lineno"> 2004</span> </div>
-<div class="line"><a name="l02005"></a><span class="lineno"> 2005</span> <span class="keywordtype">int</span>* llx=NULL ;</div>
-<div class="line"><a name="l02006"></a><span class="lineno"> 2006</span> <span class="keywordtype">int</span>* lly=NULL ;</div>
-<div class="line"><a name="l02007"></a><span class="lineno"> 2007</span> </div>
-<div class="line"><a name="l02008"></a><span class="lineno"> 2008</span> <span class="keywordtype">float</span>* sub_offsetx=NULL ;</div>
-<div class="line"><a name="l02009"></a><span class="lineno"> 2009</span> <span class="keywordtype">float</span>* sub_offsety=NULL ;</div>
-<div class="line"><a name="l02010"></a><span class="lineno"> 2010</span> </div>
-<div class="line"><a name="l02011"></a><span class="lineno"> 2011</span> cpl_imagelist ** tmpcubes=NULL ;</div>
-<div class="line"><a name="l02012"></a><span class="lineno"> 2012</span> pixelvalue * tmpspace=NULL;</div>
-<div class="line"><a name="l02013"></a><span class="lineno"> 2013</span> </div>
-<div class="line"><a name="l02014"></a><span class="lineno"> 2014</span> </div>
-<div class="line"><a name="l02015"></a><span class="lineno"> 2015</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l02016"></a><span class="lineno"> 2016</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l02017"></a><span class="lineno"> 2017</span> <span class="keywordtype">int</span> olx=0;</div>
-<div class="line"><a name="l02018"></a><span class="lineno"> 2018</span> <span class="keywordtype">int</span> oly=0;</div>
-<div class="line"><a name="l02019"></a><span class="lineno"> 2019</span> <span class="keywordtype">int</span> mlx=0;</div>
-<div class="line"><a name="l02020"></a><span class="lineno"> 2020</span> <span class="keywordtype">int</span> onp=0;</div>
-<div class="line"><a name="l02021"></a><span class="lineno"> 2021</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l02022"></a><span class="lineno"> 2022</span> </div>
-<div class="line"><a name="l02023"></a><span class="lineno"> 2023</span> </div>
-<div class="line"><a name="l02024"></a><span class="lineno"> 2024</span> </div>
-<div class="line"><a name="l02025"></a><span class="lineno"> 2025</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l02026"></a><span class="lineno"> 2026</span> <span class="keywordtype">float</span>* pmdata=NULL;</div>
-<div class="line"><a name="l02027"></a><span class="lineno"> 2027</span> <span class="keywordtype">float</span>* ptdata=NULL;</div>
-<div class="line"><a name="l02028"></a><span class="lineno"> 2028</span> </div>
-<div class="line"><a name="l02029"></a><span class="lineno"> 2029</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l02030"></a><span class="lineno"> 2030</span> cpl_image* o_img=NULL;</div>
-<div class="line"><a name="l02031"></a><span class="lineno"> 2031</span> cpl_image* m_img=NULL;</div>
-<div class="line"><a name="l02032"></a><span class="lineno"> 2032</span> cpl_image* t_img=NULL;</div>
-<div class="line"><a name="l02033"></a><span class="lineno"> 2033</span> </div>
-<div class="line"><a name="l02034"></a><span class="lineno"> 2034</span> </div>
-<div class="line"><a name="l02035"></a><span class="lineno"> 2035</span> <span class="keywordflow">if</span> ( cubes == NULL )</div>
-<div class="line"><a name="l02036"></a><span class="lineno"> 2036</span> {</div>
-<div class="line"><a name="l02037"></a><span class="lineno"> 2037</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no cube list given!"</span>) ;</div>
-<div class="line"><a name="l02038"></a><span class="lineno"> 2038</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02039"></a><span class="lineno"> 2039</span> }</div>
-<div class="line"><a name="l02040"></a><span class="lineno"> 2040</span> <span class="keywordflow">if</span> ( n_cubes <= 0 )</div>
-<div class="line"><a name="l02041"></a><span class="lineno"> 2041</span> {</div>
-<div class="line"><a name="l02042"></a><span class="lineno"> 2042</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"wrong number of data cubes in list!"</span>) ;</div>
-<div class="line"><a name="l02043"></a><span class="lineno"> 2043</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02044"></a><span class="lineno"> 2044</span> }</div>
-<div class="line"><a name="l02045"></a><span class="lineno"> 2045</span> <span class="keywordflow">if</span> ( cumoffsetx == NULL || cumoffsety == NULL )</div>
-<div class="line"><a name="l02046"></a><span class="lineno"> 2046</span> {</div>
-<div class="line"><a name="l02047"></a><span class="lineno"> 2047</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no cumoffsetx/y given!"</span>) ;</div>
-<div class="line"><a name="l02048"></a><span class="lineno"> 2048</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02049"></a><span class="lineno"> 2049</span> }</div>
-<div class="line"><a name="l02050"></a><span class="lineno"> 2050</span> <span class="keywordflow">if</span> ( exptimes == NULL )</div>
-<div class="line"><a name="l02051"></a><span class="lineno"> 2051</span> {</div>
-<div class="line"><a name="l02052"></a><span class="lineno"> 2052</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no exposure time array given!"</span>) ;</div>
-<div class="line"><a name="l02053"></a><span class="lineno"> 2053</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02054"></a><span class="lineno"> 2054</span> }</div>
-<div class="line"><a name="l02055"></a><span class="lineno"> 2055</span> </div>
-<div class="line"><a name="l02056"></a><span class="lineno"> 2056</span> o_img=cpl_imagelist_get(mergedCube,0);</div>
-<div class="line"><a name="l02057"></a><span class="lineno"> 2057</span> olx=cpl_image_get_size_x(o_img);</div>
-<div class="line"><a name="l02058"></a><span class="lineno"> 2058</span> oly=cpl_image_get_size_y(o_img);</div>
-<div class="line"><a name="l02059"></a><span class="lineno"> 2059</span> onp=cpl_imagelist_get_size(mergedCube);</div>
-<div class="line"><a name="l02060"></a><span class="lineno"> 2060</span> <span class="keywordflow">if</span> ( NULL == (mask = cpl_imagelist_new()) )</div>
-<div class="line"><a name="l02061"></a><span class="lineno"> 2061</span> {</div>
-<div class="line"><a name="l02062"></a><span class="lineno"> 2062</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"could not allocate cube!"</span>) ;</div>
-<div class="line"><a name="l02063"></a><span class="lineno"> 2063</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02064"></a><span class="lineno"> 2064</span> }</div>
-<div class="line"><a name="l02065"></a><span class="lineno"> 2065</span> <span class="keywordflow">for</span>(i=0;i<onp;i++){</div>
-<div class="line"><a name="l02066"></a><span class="lineno"> 2066</span> o_img=cpl_image_new(olx,oly,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l02067"></a><span class="lineno"> 2067</span> cpl_imagelist_set(mergedCube,o_img,i);</div>
-<div class="line"><a name="l02068"></a><span class="lineno"> 2068</span> }</div>
-<div class="line"><a name="l02069"></a><span class="lineno"> 2069</span> </div>
-<div class="line"><a name="l02070"></a><span class="lineno"> 2070</span> i_img=cpl_imagelist_get(cubes[0],0);</div>
-<div class="line"><a name="l02071"></a><span class="lineno"> 2071</span> ilx=cpl_image_get_size_x(i_img);</div>
-<div class="line"><a name="l02072"></a><span class="lineno"> 2072</span> ily=cpl_image_get_size_y(i_img);</div>
-<div class="line"><a name="l02073"></a><span class="lineno"> 2073</span> </div>
-<div class="line"><a name="l02074"></a><span class="lineno"> 2074</span> inp=cpl_imagelist_get_size(cubes[0]);</div>
-<div class="line"><a name="l02075"></a><span class="lineno"> 2075</span> </div>
-<div class="line"><a name="l02076"></a><span class="lineno"> 2076</span> <span class="comment">/*--------------------------------------------------------------------</span></div>
-<div class="line"><a name="l02077"></a><span class="lineno"> 2077</span> <span class="comment"> * center the cubes within the allocated big cube</span></div>
-<div class="line"><a name="l02078"></a><span class="lineno"> 2078</span> <span class="comment"> * that means define the (0,0) positions of the cubes in the image planes</span></div>
-<div class="line"><a name="l02079"></a><span class="lineno"> 2079</span> <span class="comment"> * to sub-pixel accuracy by using cumoffsetx,y and the reference cube</span></div>
-<div class="line"><a name="l02080"></a><span class="lineno"> 2080</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02081"></a><span class="lineno"> 2081</span> <span class="comment">/* position of first reference frame, centered in big cube */</span></div>
-<div class="line"><a name="l02082"></a><span class="lineno"> 2082</span> llx0 = olx/2 - ilx/2 ;</div>
-<div class="line"><a name="l02083"></a><span class="lineno"> 2083</span> lly0 = oly/2 - ily/2 ;</div>
-<div class="line"><a name="l02084"></a><span class="lineno"> 2084</span> </div>
-<div class="line"><a name="l02085"></a><span class="lineno"> 2085</span> <span class="comment">/*--------------------------------------------------------------------</span></div>
-<div class="line"><a name="l02086"></a><span class="lineno"> 2086</span> <span class="comment"> * go through the frame list and determine the lower left edge position</span></div>
-<div class="line"><a name="l02087"></a><span class="lineno"> 2087</span> <span class="comment"> * of the shifted cubes. Additionnally, the sub-pixel offsets are</span></div>
-<div class="line"><a name="l02088"></a><span class="lineno"> 2088</span> <span class="comment"> * determined.</span></div>
-<div class="line"><a name="l02089"></a><span class="lineno"> 2089</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02090"></a><span class="lineno"> 2090</span> </div>
-<div class="line"><a name="l02091"></a><span class="lineno"> 2091</span> llx=cpl_calloc(n_cubes,<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)); ;</div>
-<div class="line"><a name="l02092"></a><span class="lineno"> 2092</span> lly=cpl_calloc(n_cubes,<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)) ;</div>
-<div class="line"><a name="l02093"></a><span class="lineno"> 2093</span> </div>
-<div class="line"><a name="l02094"></a><span class="lineno"> 2094</span> sub_offsetx=cpl_calloc(n_cubes,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02095"></a><span class="lineno"> 2095</span> sub_offsety=cpl_calloc(n_cubes,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02096"></a><span class="lineno"> 2096</span> </div>
-<div class="line"><a name="l02097"></a><span class="lineno"> 2097</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_cubes ; i++ )</div>
-<div class="line"><a name="l02098"></a><span class="lineno"> 2098</span> {</div>
-<div class="line"><a name="l02099"></a><span class="lineno"> 2099</span> llx[i] = llx0 - sinfo_new_nint(cumoffsetx[i]) ;</div>
-<div class="line"><a name="l02100"></a><span class="lineno"> 2100</span> sub_offsetx[i] = (float)sinfo_new_nint(cumoffsetx[i]) - cumoffsetx[i] ;</div>
-<div class="line"><a name="l02101"></a><span class="lineno"> 2101</span> lly[i] = lly0 - sinfo_new_nint(cumoffsety[i]) ;</div>
-<div class="line"><a name="l02102"></a><span class="lineno"> 2102</span> sub_offsety[i] = (float)sinfo_new_nint(cumoffsety[i]) - cumoffsety[i] ;</div>
-<div class="line"><a name="l02103"></a><span class="lineno"> 2103</span> }</div>
-<div class="line"><a name="l02104"></a><span class="lineno"> 2104</span> </div>
-<div class="line"><a name="l02105"></a><span class="lineno"> 2105</span> </div>
-<div class="line"><a name="l02106"></a><span class="lineno"> 2106</span> <span class="comment">/* -------------------------------------------------------------</span></div>
-<div class="line"><a name="l02107"></a><span class="lineno"> 2107</span> <span class="comment"> * shift the cubes according to the computed sub-pixel offsets</span></div>
-<div class="line"><a name="l02108"></a><span class="lineno"> 2108</span> <span class="comment"> * that means shift the single image planes of each cube</span></div>
-<div class="line"><a name="l02109"></a><span class="lineno"> 2109</span> <span class="comment"> * first determine an interpolation kernel</span></div>
-<div class="line"><a name="l02110"></a><span class="lineno"> 2110</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02111"></a><span class="lineno"> 2111</span> <span class="keywordflow">if</span> ( NULL == (kernel = sinfo_generate_interpolation_kernel(kernel_type)))</div>
-<div class="line"><a name="l02112"></a><span class="lineno"> 2112</span> {</div>
-<div class="line"><a name="l02113"></a><span class="lineno"> 2113</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">"could not generate desired interpolation kernel"</span></div>
-<div class="line"><a name="l02114"></a><span class="lineno"> 2114</span> <span class="stringliteral">" or no kernel_typ was given, the default kernel"</span></div>
-<div class="line"><a name="l02115"></a><span class="lineno"> 2115</span> <span class="stringliteral">" is used now!"</span>) ;</div>
-<div class="line"><a name="l02116"></a><span class="lineno"> 2116</span> }</div>
-<div class="line"><a name="l02117"></a><span class="lineno"> 2117</span> <span class="comment">/* go through the frame list */</span></div>
-<div class="line"><a name="l02118"></a><span class="lineno"> 2118</span> </div>
-<div class="line"><a name="l02119"></a><span class="lineno"> 2119</span> </div>
-<div class="line"><a name="l02120"></a><span class="lineno"> 2120</span> tmpcubes=(cpl_imagelist**)cpl_calloc(n_cubes,<span class="keyword">sizeof</span>(cpl_imagelist*)) ;</div>
-<div class="line"><a name="l02121"></a><span class="lineno"> 2121</span> </div>
-<div class="line"><a name="l02122"></a><span class="lineno"> 2122</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_cubes ; i++ )</div>
-<div class="line"><a name="l02123"></a><span class="lineno"> 2123</span> {</div>
-<div class="line"><a name="l02124"></a><span class="lineno"> 2124</span> tmpspace = cpl_calloc(ilx, ily*<span class="keyword">sizeof</span>(pixelvalue)) ;</div>
-<div class="line"><a name="l02125"></a><span class="lineno"> 2125</span> tmpcubes[i] = cpl_imagelist_new();</div>
-<div class="line"><a name="l02126"></a><span class="lineno"> 2126</span> </div>
-<div class="line"><a name="l02127"></a><span class="lineno"> 2127</span> <span class="keywordflow">for</span> ( z = 0 ; z < inp ; z++ )</div>
-<div class="line"><a name="l02128"></a><span class="lineno"> 2128</span> {</div>
-<div class="line"><a name="l02129"></a><span class="lineno"> 2129</span> </div>
-<div class="line"><a name="l02130"></a><span class="lineno"> 2130</span> </div>
-<div class="line"><a name="l02131"></a><span class="lineno"> 2131</span> t_img=sinfo_new_shift_image(cpl_imagelist_get(cubes[i],z),</div>
-<div class="line"><a name="l02132"></a><span class="lineno"> 2132</span> sub_offsetx[i], sub_offsety[i], kernel);</div>
-<div class="line"><a name="l02133"></a><span class="lineno"> 2133</span> </div>
-<div class="line"><a name="l02134"></a><span class="lineno"> 2134</span> <span class="keywordflow">if</span> (t_img==NULL)</div>
-<div class="line"><a name="l02135"></a><span class="lineno"> 2135</span> {</div>
-<div class="line"><a name="l02136"></a><span class="lineno"> 2136</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"could not shift image plane no %d"</span></div>
-<div class="line"><a name="l02137"></a><span class="lineno"> 2137</span> <span class="stringliteral">" in cube no %d!"</span>, z, i) ;</div>
-<div class="line"><a name="l02138"></a><span class="lineno"> 2138</span> cpl_imagelist_delete(mergedCube) ;</div>
-<div class="line"><a name="l02139"></a><span class="lineno"> 2139</span> cpl_imagelist_delete(mask) ;</div>
-<div class="line"><a name="l02140"></a><span class="lineno"> 2140</span> cpl_free(kernel) ;</div>
-<div class="line"><a name="l02141"></a><span class="lineno"> 2141</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02142"></a><span class="lineno"> 2142</span> }</div>
-<div class="line"><a name="l02143"></a><span class="lineno"> 2143</span> cpl_imagelist_set(tmpcubes[i],t_img,z);</div>
-<div class="line"><a name="l02144"></a><span class="lineno"> 2144</span> }</div>
-<div class="line"><a name="l02145"></a><span class="lineno"> 2145</span> cpl_free(tmpspace);</div>
-<div class="line"><a name="l02146"></a><span class="lineno"> 2146</span> }</div>
-<div class="line"><a name="l02147"></a><span class="lineno"> 2147</span> </div>
-<div class="line"><a name="l02148"></a><span class="lineno"> 2148</span> <span class="comment">/*-------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l02149"></a><span class="lineno"> 2149</span> <span class="comment"> * Build the mask data cube.</span></div>
-<div class="line"><a name="l02150"></a><span class="lineno"> 2150</span> <span class="comment"> * The mask is 0 where no data is available, otherwise the integration</span></div>
-<div class="line"><a name="l02151"></a><span class="lineno"> 2151</span> <span class="comment"> time of one frame, respectively the summed integration</span></div>
-<div class="line"><a name="l02152"></a><span class="lineno"> 2152</span> <span class="comment"> * times in the overlapping regions are inserted</span></div>
-<div class="line"><a name="l02153"></a><span class="lineno"> 2153</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02154"></a><span class="lineno"> 2154</span> <span class="comment">/* go through the frame list */</span></div>
-<div class="line"><a name="l02155"></a><span class="lineno"> 2155</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_cubes ; i++ )</div>
-<div class="line"><a name="l02156"></a><span class="lineno"> 2156</span> {</div>
-<div class="line"><a name="l02157"></a><span class="lineno"> 2157</span> </div>
-<div class="line"><a name="l02158"></a><span class="lineno"> 2158</span> <span class="comment">/* go through the first image plane of the big data cube */</span></div>
-<div class="line"><a name="l02159"></a><span class="lineno"> 2159</span> <span class="keywordflow">for</span> ( y = 0 ; y < oly ; y++ )</div>
-<div class="line"><a name="l02160"></a><span class="lineno"> 2160</span> {</div>
-<div class="line"><a name="l02161"></a><span class="lineno"> 2161</span> <span class="keywordflow">for</span> ( x = 0 ; x < olx ; x++ )</div>
-<div class="line"><a name="l02162"></a><span class="lineno"> 2162</span> {</div>
-<div class="line"><a name="l02163"></a><span class="lineno"> 2163</span> <span class="comment">/* find the position of the present cube and</span></div>
-<div class="line"><a name="l02164"></a><span class="lineno"> 2164</span> <span class="comment"> go through the single spectra */</span></div>
-<div class="line"><a name="l02165"></a><span class="lineno"> 2165</span> <span class="keywordflow">if</span> ( y >= lly[i] && y < lly[i]+ily &&</div>
-<div class="line"><a name="l02166"></a><span class="lineno"> 2166</span> x >= llx[i] && x < llx[i]+ilx )</div>
-<div class="line"><a name="l02167"></a><span class="lineno"> 2167</span> {</div>
-<div class="line"><a name="l02168"></a><span class="lineno"> 2168</span> posx = x - llx[i] ;</div>
-<div class="line"><a name="l02169"></a><span class="lineno"> 2169</span> posy = y - lly[i] ;</div>
-<div class="line"><a name="l02170"></a><span class="lineno"> 2170</span> <span class="keywordflow">for</span> ( z = 0 ; z < onp ; z++ )</div>
-<div class="line"><a name="l02171"></a><span class="lineno"> 2171</span> {</div>
-<div class="line"><a name="l02172"></a><span class="lineno"> 2172</span> t_img=cpl_imagelist_get(tmpcubes[i],z);</div>
-<div class="line"><a name="l02173"></a><span class="lineno"> 2173</span> ptdata=cpl_image_get_data_float(t_img);</div>
-<div class="line"><a name="l02174"></a><span class="lineno"> 2174</span> m_img=cpl_imagelist_get(mask,z);</div>
-<div class="line"><a name="l02175"></a><span class="lineno"> 2175</span> pmdata=cpl_image_get_data_float(m_img);</div>
-<div class="line"><a name="l02176"></a><span class="lineno"> 2176</span> <span class="keywordflow">if</span> (!isnan(ptdata[posx+posy*ilx]) &&</div>
-<div class="line"><a name="l02177"></a><span class="lineno"> 2177</span> ptdata[posx+posy*ilx] != 0.)</div>
-<div class="line"><a name="l02178"></a><span class="lineno"> 2178</span> {</div>
-<div class="line"><a name="l02179"></a><span class="lineno"> 2179</span> pmdata[x+y*mlx] += exptimes[i] ;</div>
-<div class="line"><a name="l02180"></a><span class="lineno"> 2180</span> }</div>
-<div class="line"><a name="l02181"></a><span class="lineno"> 2181</span> }</div>
-<div class="line"><a name="l02182"></a><span class="lineno"> 2182</span> }</div>
-<div class="line"><a name="l02183"></a><span class="lineno"> 2183</span> }</div>
-<div class="line"><a name="l02184"></a><span class="lineno"> 2184</span> }</div>
-<div class="line"><a name="l02185"></a><span class="lineno"> 2185</span> }</div>
-<div class="line"><a name="l02186"></a><span class="lineno"> 2186</span> </div>
-<div class="line"><a name="l02187"></a><span class="lineno"> 2187</span> </div>
-<div class="line"><a name="l02188"></a><span class="lineno"> 2188</span> </div>
-<div class="line"><a name="l02189"></a><span class="lineno"> 2189</span> </div>
-<div class="line"><a name="l02190"></a><span class="lineno"> 2190</span> </div>
-<div class="line"><a name="l02191"></a><span class="lineno"> 2191</span> </div>
-<div class="line"><a name="l02192"></a><span class="lineno"> 2192</span> <span class="comment">/* calculate a weighted average using the</span></div>
-<div class="line"><a name="l02193"></a><span class="lineno"> 2193</span> <span class="comment"> exposure time of the single frames</span></div>
-<div class="line"><a name="l02194"></a><span class="lineno"> 2194</span> <span class="comment"> of the overlapping regions of the cubes */</span></div>
-<div class="line"><a name="l02195"></a><span class="lineno"> 2195</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_cubes ; i++ )</div>
-<div class="line"><a name="l02196"></a><span class="lineno"> 2196</span> {</div>
-<div class="line"><a name="l02197"></a><span class="lineno"> 2197</span> </div>
-<div class="line"><a name="l02198"></a><span class="lineno"> 2198</span> <span class="comment">/* go through the first image plane of the big data cube */</span></div>
-<div class="line"><a name="l02199"></a><span class="lineno"> 2199</span> <span class="keywordflow">for</span> ( y = 0 ; y < oly ; y++ )</div>
-<div class="line"><a name="l02200"></a><span class="lineno"> 2200</span> {</div>
-<div class="line"><a name="l02201"></a><span class="lineno"> 2201</span> </div>
-<div class="line"><a name="l02202"></a><span class="lineno"> 2202</span> <span class="keywordflow">for</span> ( x = 0 ; x < olx ; x++ )</div>
-<div class="line"><a name="l02203"></a><span class="lineno"> 2203</span> {</div>
-<div class="line"><a name="l02204"></a><span class="lineno"> 2204</span> </div>
-<div class="line"><a name="l02205"></a><span class="lineno"> 2205</span> <span class="comment">/* find the position of the present cube</span></div>
-<div class="line"><a name="l02206"></a><span class="lineno"> 2206</span> <span class="comment"> and go through the single spectra */</span></div>
-<div class="line"><a name="l02207"></a><span class="lineno"> 2207</span> <span class="keywordflow">if</span> ( y >= lly[i] && y < lly[i]+ily &&</div>
-<div class="line"><a name="l02208"></a><span class="lineno"> 2208</span> x >= llx[i] && x < llx[i]+ilx )</div>
-<div class="line"><a name="l02209"></a><span class="lineno"> 2209</span> {</div>
-<div class="line"><a name="l02210"></a><span class="lineno"> 2210</span> </div>
-<div class="line"><a name="l02211"></a><span class="lineno"> 2211</span> posx = x - llx[i] ;</div>
-<div class="line"><a name="l02212"></a><span class="lineno"> 2212</span> posy = y - lly[i] ;</div>
-<div class="line"><a name="l02213"></a><span class="lineno"> 2213</span> <span class="keywordflow">for</span> ( z = 0 ; z < onp ; z++ )</div>
-<div class="line"><a name="l02214"></a><span class="lineno"> 2214</span> {</div>
-<div class="line"><a name="l02215"></a><span class="lineno"> 2215</span> </div>
-<div class="line"><a name="l02216"></a><span class="lineno"> 2216</span> t_img=cpl_imagelist_get(tmpcubes[i],z);</div>
-<div class="line"><a name="l02217"></a><span class="lineno"> 2217</span> ptdata=cpl_image_get_data_float(t_img);</div>
-<div class="line"><a name="l02218"></a><span class="lineno"> 2218</span> m_img=cpl_imagelist_get(mask,z);</div>
-<div class="line"><a name="l02219"></a><span class="lineno"> 2219</span> pmdata=cpl_image_get_data_float(m_img);</div>
-<div class="line"><a name="l02220"></a><span class="lineno"> 2220</span> mlx=cpl_image_get_size_x(m_img);</div>
-<div class="line"><a name="l02221"></a><span class="lineno"> 2221</span> </div>
-<div class="line"><a name="l02222"></a><span class="lineno"> 2222</span> o_img=cpl_imagelist_get(mergedCube,z);</div>
-<div class="line"><a name="l02223"></a><span class="lineno"> 2223</span> podata=cpl_image_get_data_float(o_img);</div>
-<div class="line"><a name="l02224"></a><span class="lineno"> 2224</span> podata[x+y*olx]=0;</div>
-<div class="line"><a name="l02225"></a><span class="lineno"> 2225</span> <span class="keywordflow">if</span> (!isnan(ptdata[posx+posy*ilx]))</div>
-<div class="line"><a name="l02226"></a><span class="lineno"> 2226</span> {</div>
-<div class="line"><a name="l02227"></a><span class="lineno"> 2227</span> <span class="keywordflow">if</span> (pmdata[x+y*mlx] != 0.)</div>
-<div class="line"><a name="l02228"></a><span class="lineno"> 2228</span> {</div>
-<div class="line"><a name="l02229"></a><span class="lineno"> 2229</span> <span class="comment">/* adjust the intensities to</span></div>
-<div class="line"><a name="l02230"></a><span class="lineno"> 2230</span> <span class="comment"> the first reference cube */</span></div>
-<div class="line"><a name="l02231"></a><span class="lineno"> 2231</span> weight = exptimes[0] / pmdata[x+y*mlx] ;</div>
-<div class="line"><a name="l02232"></a><span class="lineno"> 2232</span> }</div>
-<div class="line"><a name="l02233"></a><span class="lineno"> 2233</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02234"></a><span class="lineno"> 2234</span> {</div>
-<div class="line"><a name="l02235"></a><span class="lineno"> 2235</span> weight = 0. ;</div>
-<div class="line"><a name="l02236"></a><span class="lineno"> 2236</span> }</div>
-<div class="line"><a name="l02237"></a><span class="lineno"> 2237</span> podata[x+y*olx] +=</div>
-<div class="line"><a name="l02238"></a><span class="lineno"> 2238</span> weight*ptdata[posx+posy*ilx] ;</div>
-<div class="line"><a name="l02239"></a><span class="lineno"> 2239</span> }</div>
-<div class="line"><a name="l02240"></a><span class="lineno"> 2240</span> }</div>
-<div class="line"><a name="l02241"></a><span class="lineno"> 2241</span> }</div>
-<div class="line"><a name="l02242"></a><span class="lineno"> 2242</span> }</div>
-<div class="line"><a name="l02243"></a><span class="lineno"> 2243</span> }</div>
-<div class="line"><a name="l02244"></a><span class="lineno"> 2244</span> }</div>
-<div class="line"><a name="l02245"></a><span class="lineno"> 2245</span> </div>
-<div class="line"><a name="l02246"></a><span class="lineno"> 2246</span> </div>
-<div class="line"><a name="l02247"></a><span class="lineno"> 2247</span> </div>
-<div class="line"><a name="l02248"></a><span class="lineno"> 2248</span> </div>
-<div class="line"><a name="l02249"></a><span class="lineno"> 2249</span> <span class="comment">/* convert the "free space" in the cube to blank pixels */</span></div>
-<div class="line"><a name="l02250"></a><span class="lineno"> 2250</span> <span class="comment">/* convert_0_to_ZERO_for_cubes(mergedCube) ; */</span></div>
-<div class="line"><a name="l02251"></a><span class="lineno"> 2251</span> cpl_free(kernel) ; <span class="comment">/* originated by eclise-malloc */</span></div>
-<div class="line"><a name="l02252"></a><span class="lineno"> 2252</span> <span class="keywordflow">for</span>( i = 0 ; i < n_cubes ; i++ )</div>
-<div class="line"><a name="l02253"></a><span class="lineno"> 2253</span> {</div>
-<div class="line"><a name="l02254"></a><span class="lineno"> 2254</span> cpl_imagelist_delete (tmpcubes[i]) ;</div>
-<div class="line"><a name="l02255"></a><span class="lineno"> 2255</span> }</div>
-<div class="line"><a name="l02256"></a><span class="lineno"> 2256</span> </div>
-<div class="line"><a name="l02257"></a><span class="lineno"> 2257</span> cpl_free(tmpcubes); ;</div>
-<div class="line"><a name="l02258"></a><span class="lineno"> 2258</span> cpl_free(llx); ;</div>
-<div class="line"><a name="l02259"></a><span class="lineno"> 2259</span> cpl_free(lly) ;</div>
-<div class="line"><a name="l02260"></a><span class="lineno"> 2260</span> </div>
-<div class="line"><a name="l02261"></a><span class="lineno"> 2261</span> cpl_free(sub_offsetx) ;</div>
-<div class="line"><a name="l02262"></a><span class="lineno"> 2262</span> cpl_free(sub_offsety) ;</div>
-<div class="line"><a name="l02263"></a><span class="lineno"> 2263</span> </div>
-<div class="line"><a name="l02264"></a><span class="lineno"> 2264</span> <span class="keywordflow">return</span> mask ;</div>
-<div class="line"><a name="l02265"></a><span class="lineno"> 2265</span> }</div>
-<div class="line"><a name="l02266"></a><span class="lineno"> 2266</span> </div>
-<div class="line"><a name="l02267"></a><span class="lineno"> 2267</span> </div>
-<div class="line"><a name="l02268"></a><span class="lineno"> 2268</span> </div>
-<div class="line"><a name="l02269"></a><span class="lineno"> 2269</span> </div>
-<div class="line"><a name="l02270"></a><span class="lineno"> 2270</span> </div>
-<div class="line"><a name="l02271"></a><span class="lineno"> 2271</span> </div>
-<div class="line"><a name="l02272"></a><span class="lineno"> 2272</span> </div>
-<div class="line"><a name="l02273"></a><span class="lineno"> 2273</span> </div>
-<div class="line"><a name="l02303"></a><span class="lineno"> 2303</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02304"></a><span class="lineno"> 2304</span> sinfo_build_mask_cube(<span class="keyword">const</span> <span class="keywordtype">int</span> z_min,</div>
-<div class="line"><a name="l02305"></a><span class="lineno"> 2305</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_max,</div>
-<div class="line"><a name="l02306"></a><span class="lineno"> 2306</span> <span class="keyword">const</span> <span class="keywordtype">int</span> olx,</div>
-<div class="line"><a name="l02307"></a><span class="lineno"> 2307</span> <span class="keyword">const</span> <span class="keywordtype">int</span> oly,</div>
-<div class="line"><a name="l02308"></a><span class="lineno"> 2308</span> <span class="keyword">const</span> <span class="keywordtype">int</span> n_cubes,</div>
-<div class="line"><a name="l02309"></a><span class="lineno"> 2309</span> <span class="keyword">const</span> <span class="keywordtype">int</span>* llx,</div>
-<div class="line"><a name="l02310"></a><span class="lineno"> 2310</span> <span class="keyword">const</span> <span class="keywordtype">int</span>* lly,</div>
-<div class="line"><a name="l02311"></a><span class="lineno"> 2311</span> <span class="keywordtype">double</span> * exptimes,</div>
-<div class="line"><a name="l02312"></a><span class="lineno"> 2312</span> cpl_imagelist** cubes,</div>
-<div class="line"><a name="l02313"></a><span class="lineno"> 2313</span> cpl_imagelist** tmpcubes,</div>
-<div class="line"><a name="l02314"></a><span class="lineno"> 2314</span> cpl_imagelist* mask)</div>
-<div class="line"><a name="l02315"></a><span class="lineno"> 2315</span> {</div>
-<div class="line"><a name="l02316"></a><span class="lineno"> 2316</span> </div>
-<div class="line"><a name="l02317"></a><span class="lineno"> 2317</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02318"></a><span class="lineno"> 2318</span> <span class="keywordtype">int</span> y=0;</div>
-<div class="line"><a name="l02319"></a><span class="lineno"> 2319</span> <span class="keywordtype">int</span> z=0;</div>
-<div class="line"><a name="l02320"></a><span class="lineno"> 2320</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l02321"></a><span class="lineno"> 2321</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l02322"></a><span class="lineno"> 2322</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l02323"></a><span class="lineno"> 2323</span> cpl_image* t_img=NULL;</div>
-<div class="line"><a name="l02324"></a><span class="lineno"> 2324</span> <span class="keywordtype">int</span> posx=0;</div>
-<div class="line"><a name="l02325"></a><span class="lineno"> 2325</span> <span class="keywordtype">int</span> posy=0;</div>
-<div class="line"><a name="l02326"></a><span class="lineno"> 2326</span> <span class="keywordtype">float</span>* ptdata=NULL;</div>
-<div class="line"><a name="l02327"></a><span class="lineno"> 2327</span> <span class="keywordtype">float</span>* pmdata=NULL;</div>
-<div class="line"><a name="l02328"></a><span class="lineno"> 2328</span> <span class="keywordtype">int</span> m=0;</div>
-<div class="line"><a name="l02329"></a><span class="lineno"> 2329</span> <span class="keywordtype">int</span> x=0;</div>
-<div class="line"><a name="l02330"></a><span class="lineno"> 2330</span> <span class="keywordtype">int</span> mlx=0;</div>
-<div class="line"><a name="l02331"></a><span class="lineno"> 2331</span> cpl_image* m_img=NULL;</div>
-<div class="line"><a name="l02332"></a><span class="lineno"> 2332</span> </div>
-<div class="line"><a name="l02333"></a><span class="lineno"> 2333</span> </div>
-<div class="line"><a name="l02334"></a><span class="lineno"> 2334</span> <span class="keywordflow">for</span> ( z = z_min, m=0 ; z < z_max ; z++, m++ ) {</div>
-<div class="line"><a name="l02335"></a><span class="lineno"> 2335</span> </div>
-<div class="line"><a name="l02336"></a><span class="lineno"> 2336</span> <span class="comment">// go through the first image plane of the big data cube</span></div>
-<div class="line"><a name="l02337"></a><span class="lineno"> 2337</span> <span class="keywordflow">for</span> ( y = 0 ; y < oly ; y++ ) {</div>
-<div class="line"><a name="l02338"></a><span class="lineno"> 2338</span> <span class="keywordflow">for</span> ( x = 0 ; x < olx ; x++ ) {</div>
-<div class="line"><a name="l02339"></a><span class="lineno"> 2339</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_cubes ; i++ ) {</div>
-<div class="line"><a name="l02340"></a><span class="lineno"> 2340</span> </div>
-<div class="line"><a name="l02341"></a><span class="lineno"> 2341</span> i_img=cpl_imagelist_get(cubes[i],0);</div>
-<div class="line"><a name="l02342"></a><span class="lineno"> 2342</span> ilx=cpl_image_get_size_x(i_img);</div>
-<div class="line"><a name="l02343"></a><span class="lineno"> 2343</span> ily=cpl_image_get_size_y(i_img);</div>
-<div class="line"><a name="l02344"></a><span class="lineno"> 2344</span> </div>
-<div class="line"><a name="l02345"></a><span class="lineno"> 2345</span> </div>
-<div class="line"><a name="l02346"></a><span class="lineno"> 2346</span> <span class="comment">// find the position of the present cube and go</span></div>
-<div class="line"><a name="l02347"></a><span class="lineno"> 2347</span> <span class="comment">// through the single spectra */</span></div>
-<div class="line"><a name="l02348"></a><span class="lineno"> 2348</span> <span class="keywordflow">if</span> ( y >= lly[i] && y < lly[i]+ily &&</div>
-<div class="line"><a name="l02349"></a><span class="lineno"> 2349</span> x >= llx[i] && x < llx[i]+ilx )</div>
-<div class="line"><a name="l02350"></a><span class="lineno"> 2350</span> {</div>
-<div class="line"><a name="l02351"></a><span class="lineno"> 2351</span> posx = x - llx[i] ;</div>
-<div class="line"><a name="l02352"></a><span class="lineno"> 2352</span> posy = y - lly[i] ;</div>
-<div class="line"><a name="l02353"></a><span class="lineno"> 2353</span> </div>
-<div class="line"><a name="l02354"></a><span class="lineno"> 2354</span> </div>
-<div class="line"><a name="l02355"></a><span class="lineno"> 2355</span> t_img=cpl_imagelist_get(tmpcubes[i],m);</div>
-<div class="line"><a name="l02356"></a><span class="lineno"> 2356</span> ptdata=cpl_image_get_data_float(t_img);</div>
-<div class="line"><a name="l02357"></a><span class="lineno"> 2357</span> m_img=cpl_imagelist_get(mask,z);</div>
-<div class="line"><a name="l02358"></a><span class="lineno"> 2358</span> pmdata=cpl_image_get_data_float(m_img);</div>
-<div class="line"><a name="l02359"></a><span class="lineno"> 2359</span> mlx=cpl_image_get_size_x(m_img);</div>
-<div class="line"><a name="l02360"></a><span class="lineno"> 2360</span> </div>
-<div class="line"><a name="l02361"></a><span class="lineno"> 2361</span> <span class="keywordflow">if</span> (!isnan(ptdata[posx+posy*ilx]) &&</div>
-<div class="line"><a name="l02362"></a><span class="lineno"> 2362</span> ptdata[posx+posy*ilx] != 0.)</div>
-<div class="line"><a name="l02363"></a><span class="lineno"> 2363</span> {</div>
-<div class="line"><a name="l02364"></a><span class="lineno"> 2364</span> pmdata[x+y*mlx] += (float)exptimes[i] ;</div>
-<div class="line"><a name="l02365"></a><span class="lineno"> 2365</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (isnan(ptdata[posx+posy*ilx])) {</div>
-<div class="line"><a name="l02366"></a><span class="lineno"> 2366</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"ptdata %d, %d, %d is NAN\t"</span>,x,y,z);</div>
-<div class="line"><a name="l02367"></a><span class="lineno"> 2367</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ptdata[posx+posy*ilx] == 0.) {</div>
-<div class="line"><a name="l02368"></a><span class="lineno"> 2368</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"ptdata %d, %d, %d is 0\t"</span>,x,y,z);</div>
-<div class="line"><a name="l02369"></a><span class="lineno"> 2369</span> }</div>
-<div class="line"><a name="l02370"></a><span class="lineno"> 2370</span> </div>
-<div class="line"><a name="l02371"></a><span class="lineno"> 2371</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l02372"></a><span class="lineno"> 2372</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"point %d, %d, %d outside range\n"</span>,x,y,z);</div>
-<div class="line"><a name="l02373"></a><span class="lineno"> 2373</span> }</div>
-<div class="line"><a name="l02374"></a><span class="lineno"> 2374</span> }</div>
-<div class="line"><a name="l02375"></a><span class="lineno"> 2375</span> }</div>
-<div class="line"><a name="l02376"></a><span class="lineno"> 2376</span> }</div>
-<div class="line"><a name="l02377"></a><span class="lineno"> 2377</span> }</div>
-<div class="line"><a name="l02378"></a><span class="lineno"> 2378</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02379"></a><span class="lineno"> 2379</span> </div>
-<div class="line"><a name="l02380"></a><span class="lineno"> 2380</span> }</div>
-<div class="line"><a name="l02381"></a><span class="lineno"> 2381</span> </div>
-<div class="line"><a name="l02382"></a><span class="lineno"> 2382</span> </div>
-<div class="line"><a name="l02383"></a><span class="lineno"> 2383</span> </div>
-<div class="line"><a name="l02384"></a><span class="lineno"> 2384</span> </div>
-<div class="line"><a name="l02385"></a><span class="lineno"> 2385</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02386"></a><span class="lineno"> 2386</span> sinfo_build_mask_cube_thomas(<span class="keyword">const</span> <span class="keywordtype">int</span> z_min,</div>
-<div class="line"><a name="l02387"></a><span class="lineno"> 2387</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_max,</div>
-<div class="line"><a name="l02388"></a><span class="lineno"> 2388</span> <span class="keyword">const</span> <span class="keywordtype">int</span> olx,</div>
-<div class="line"><a name="l02389"></a><span class="lineno"> 2389</span> <span class="keyword">const</span> <span class="keywordtype">int</span> oly,</div>
-<div class="line"><a name="l02390"></a><span class="lineno"> 2390</span> <span class="keyword">const</span> <span class="keywordtype">int</span> n_cubes,</div>
-<div class="line"><a name="l02391"></a><span class="lineno"> 2391</span> <span class="keyword">const</span> <span class="keywordtype">int</span>* llx,</div>
-<div class="line"><a name="l02392"></a><span class="lineno"> 2392</span> <span class="keyword">const</span> <span class="keywordtype">int</span>* lly,</div>
-<div class="line"><a name="l02393"></a><span class="lineno"> 2393</span> <span class="keywordtype">double</span> * exptimes,</div>
-<div class="line"><a name="l02394"></a><span class="lineno"> 2394</span> cpl_imagelist** cubes,</div>
-<div class="line"><a name="l02395"></a><span class="lineno"> 2395</span> cpl_imagelist** tmpcubes,</div>
-<div class="line"><a name="l02396"></a><span class="lineno"> 2396</span> cpl_imagelist* mask)</div>
-<div class="line"><a name="l02397"></a><span class="lineno"> 2397</span> {</div>
-<div class="line"><a name="l02398"></a><span class="lineno"> 2398</span> </div>
-<div class="line"><a name="l02399"></a><span class="lineno"> 2399</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02400"></a><span class="lineno"> 2400</span> <span class="keywordtype">int</span> y=0;</div>
-<div class="line"><a name="l02401"></a><span class="lineno"> 2401</span> <span class="keywordtype">int</span> z=0;</div>
-<div class="line"><a name="l02402"></a><span class="lineno"> 2402</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l02403"></a><span class="lineno"> 2403</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l02404"></a><span class="lineno"> 2404</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l02405"></a><span class="lineno"> 2405</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l02406"></a><span class="lineno"> 2406</span> cpl_image* t_img=NULL;</div>
-<div class="line"><a name="l02407"></a><span class="lineno"> 2407</span> <span class="keywordtype">int</span> posx=0;</div>
-<div class="line"><a name="l02408"></a><span class="lineno"> 2408</span> <span class="keywordtype">int</span> posy=0;</div>
-<div class="line"><a name="l02409"></a><span class="lineno"> 2409</span> <span class="keywordtype">float</span>* ptdata=NULL;</div>
-<div class="line"><a name="l02410"></a><span class="lineno"> 2410</span> <span class="keywordtype">float</span>* pmdata=NULL;</div>
-<div class="line"><a name="l02411"></a><span class="lineno"> 2411</span> <span class="keywordtype">int</span> m=0;</div>
-<div class="line"><a name="l02412"></a><span class="lineno"> 2412</span> <span class="keywordtype">int</span> x=0;</div>
-<div class="line"><a name="l02413"></a><span class="lineno"> 2413</span> <span class="keywordtype">int</span> mlx=0;</div>
-<div class="line"><a name="l02414"></a><span class="lineno"> 2414</span> cpl_image* m_img=NULL;</div>
-<div class="line"><a name="l02415"></a><span class="lineno"> 2415</span> </div>
-<div class="line"><a name="l02416"></a><span class="lineno"> 2416</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_cubes ; i++ ) {</div>
-<div class="line"><a name="l02417"></a><span class="lineno"> 2417</span> </div>
-<div class="line"><a name="l02418"></a><span class="lineno"> 2418</span> i_img=cpl_imagelist_get(cubes[i],0);</div>
-<div class="line"><a name="l02419"></a><span class="lineno"> 2419</span> ilx=cpl_image_get_size_x(i_img);</div>
-<div class="line"><a name="l02420"></a><span class="lineno"> 2420</span> ily=cpl_image_get_size_y(i_img);</div>
-<div class="line"><a name="l02421"></a><span class="lineno"> 2421</span> inp=cpl_imagelist_get_size(cubes[i]);</div>
-<div class="line"><a name="l02422"></a><span class="lineno"> 2422</span> </div>
-<div class="line"><a name="l02423"></a><span class="lineno"> 2423</span> <span class="comment">//go through the first image plane of the big data cube</span></div>
-<div class="line"><a name="l02424"></a><span class="lineno"> 2424</span> <span class="keywordflow">for</span> ( y = 0 ; y < oly ; y++ ){</div>
-<div class="line"><a name="l02425"></a><span class="lineno"> 2425</span> <span class="keywordflow">for</span> ( x = 0 ; x < olx ; x++ ){</div>
-<div class="line"><a name="l02426"></a><span class="lineno"> 2426</span> <span class="comment">// find the position of the present cube and go</span></div>
-<div class="line"><a name="l02427"></a><span class="lineno"> 2427</span> <span class="comment">// through the single spectra</span></div>
-<div class="line"><a name="l02428"></a><span class="lineno"> 2428</span> <span class="keywordflow">if</span> ( y >= lly[i] && y < lly[i]+ily &&</div>
-<div class="line"><a name="l02429"></a><span class="lineno"> 2429</span> x >= llx[i] && x < llx[i]+ilx ) {</div>
-<div class="line"><a name="l02430"></a><span class="lineno"> 2430</span> posx = x - llx[i] ;</div>
-<div class="line"><a name="l02431"></a><span class="lineno"> 2431</span> posy = y - lly[i] ;</div>
-<div class="line"><a name="l02432"></a><span class="lineno"> 2432</span> </div>
-<div class="line"><a name="l02433"></a><span class="lineno"> 2433</span> <span class="keywordflow">for</span> ( z = z_min,m=0 ; z < z_max ; z++,m++ ) {</div>
-<div class="line"><a name="l02434"></a><span class="lineno"> 2434</span> t_img=cpl_imagelist_get(tmpcubes[i],m);</div>
-<div class="line"><a name="l02435"></a><span class="lineno"> 2435</span> ptdata=cpl_image_get_data_float(t_img);</div>
-<div class="line"><a name="l02436"></a><span class="lineno"> 2436</span> m_img=cpl_imagelist_get(mask,z);</div>
-<div class="line"><a name="l02437"></a><span class="lineno"> 2437</span> pmdata=cpl_image_get_data_float(m_img);</div>
-<div class="line"><a name="l02438"></a><span class="lineno"> 2438</span> mlx=cpl_image_get_size_x(m_img);</div>
-<div class="line"><a name="l02439"></a><span class="lineno"> 2439</span> </div>
-<div class="line"><a name="l02440"></a><span class="lineno"> 2440</span> <span class="keywordflow">if</span> (!isnan(ptdata[posx+posy*ilx]) &&</div>
-<div class="line"><a name="l02441"></a><span class="lineno"> 2441</span> ptdata[posx+posy*ilx] != 0.) {</div>
-<div class="line"><a name="l02442"></a><span class="lineno"> 2442</span> pmdata[x+y*mlx] += (float)exptimes[i] ;</div>
-<div class="line"><a name="l02443"></a><span class="lineno"> 2443</span> }</div>
-<div class="line"><a name="l02444"></a><span class="lineno"> 2444</span> }</div>
-<div class="line"><a name="l02445"></a><span class="lineno"> 2445</span> }</div>
-<div class="line"><a name="l02446"></a><span class="lineno"> 2446</span> }</div>
-<div class="line"><a name="l02447"></a><span class="lineno"> 2447</span> }</div>
-<div class="line"><a name="l02448"></a><span class="lineno"> 2448</span> }</div>
-<div class="line"><a name="l02449"></a><span class="lineno"> 2449</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02450"></a><span class="lineno"> 2450</span> }</div>
-<div class="line"><a name="l02451"></a><span class="lineno"> 2451</span> </div>
-<div class="line"><a name="l02452"></a><span class="lineno"> 2452</span> </div>
-<div class="line"><a name="l02453"></a><span class="lineno"> 2453</span> </div>
-<div class="line"><a name="l02454"></a><span class="lineno"> 2454</span> </div>
-<div class="line"><a name="l02455"></a><span class="lineno"> 2455</span> </div>
-<div class="line"><a name="l02506"></a><span class="lineno"> 2506</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02507"></a><span class="lineno"> 2507</span> sinfo_new_combine_jittered_cubes_range ( cpl_imagelist ** cubes,</div>
-<div class="line"><a name="l02508"></a><span class="lineno"> 2508</span> cpl_imagelist * mergedCube,</div>
-<div class="line"><a name="l02509"></a><span class="lineno"> 2509</span> cpl_imagelist * mask,</div>
-<div class="line"><a name="l02510"></a><span class="lineno"> 2510</span> <span class="keywordtype">int</span> n_cubes,</div>
-<div class="line"><a name="l02511"></a><span class="lineno"> 2511</span> <span class="keywordtype">float</span> * cumoffsetx,</div>
-<div class="line"><a name="l02512"></a><span class="lineno"> 2512</span> <span class="keywordtype">float</span> * cumoffsety,</div>
-<div class="line"><a name="l02513"></a><span class="lineno"> 2513</span> <span class="keywordtype">double</span> * exptimes,</div>
-<div class="line"><a name="l02514"></a><span class="lineno"> 2514</span> <span class="keywordtype">char</span> * kernel_type,</div>
-<div class="line"><a name="l02515"></a><span class="lineno"> 2515</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_min, <span class="keyword">const</span> <span class="keywordtype">int</span> z_max )</div>
-<div class="line"><a name="l02516"></a><span class="lineno"> 2516</span> {</div>
-<div class="line"><a name="l02517"></a><span class="lineno"> 2517</span> </div>
-<div class="line"><a name="l02518"></a><span class="lineno"> 2518</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l02519"></a><span class="lineno"> 2519</span> <span class="keywordtype">int</span> llx0, lly0 ;</div>
-<div class="line"><a name="l02520"></a><span class="lineno"> 2520</span> cpl_imagelist ** tmpcubes=NULL ;</div>
-<div class="line"><a name="l02521"></a><span class="lineno"> 2521</span> <span class="keywordtype">int</span>* llx=NULL ;</div>
-<div class="line"><a name="l02522"></a><span class="lineno"> 2522</span> <span class="keywordtype">int</span>* lly=NULL ;</div>
-<div class="line"><a name="l02523"></a><span class="lineno"> 2523</span> <span class="keywordtype">float</span>* sub_offsetx=NULL ;</div>
-<div class="line"><a name="l02524"></a><span class="lineno"> 2524</span> <span class="keywordtype">float</span>* sub_offsety=NULL ;</div>
-<div class="line"><a name="l02525"></a><span class="lineno"> 2525</span> </div>
-<div class="line"><a name="l02526"></a><span class="lineno"> 2526</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l02527"></a><span class="lineno"> 2527</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l02528"></a><span class="lineno"> 2528</span> <span class="keywordtype">int</span> olx=0;</div>
-<div class="line"><a name="l02529"></a><span class="lineno"> 2529</span> <span class="keywordtype">int</span> oly=0;</div>
-<div class="line"><a name="l02530"></a><span class="lineno"> 2530</span> <span class="keywordtype">int</span> mlx=0;</div>
-<div class="line"><a name="l02531"></a><span class="lineno"> 2531</span> <span class="keywordtype">int</span> mly=0;</div>
-<div class="line"><a name="l02532"></a><span class="lineno"> 2532</span> </div>
-<div class="line"><a name="l02533"></a><span class="lineno"> 2533</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l02534"></a><span class="lineno"> 2534</span> cpl_image* o_img=NULL;</div>
-<div class="line"><a name="l02535"></a><span class="lineno"> 2535</span> </div>
-<div class="line"><a name="l02536"></a><span class="lineno"> 2536</span> </div>
-<div class="line"><a name="l02537"></a><span class="lineno"> 2537</span> <span class="keywordflow">if</span>(sinfo_check_input(cubes,n_cubes,cumoffsetx,cumoffsety,exptimes) == -1) {</div>
-<div class="line"><a name="l02538"></a><span class="lineno"> 2538</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l02539"></a><span class="lineno"> 2539</span> }</div>
-<div class="line"><a name="l02540"></a><span class="lineno"> 2540</span> </div>
-<div class="line"><a name="l02541"></a><span class="lineno"> 2541</span> o_img=cpl_imagelist_get(mergedCube,z_min);</div>
-<div class="line"><a name="l02542"></a><span class="lineno"> 2542</span> olx=cpl_image_get_size_x(o_img);</div>
-<div class="line"><a name="l02543"></a><span class="lineno"> 2543</span> oly=cpl_image_get_size_y(o_img);</div>
-<div class="line"><a name="l02544"></a><span class="lineno"> 2544</span> i_img=cpl_imagelist_get(cubes[0],0);</div>
-<div class="line"><a name="l02545"></a><span class="lineno"> 2545</span> ilx=cpl_image_get_size_x(i_img);</div>
-<div class="line"><a name="l02546"></a><span class="lineno"> 2546</span> ily=cpl_image_get_size_y(i_img);</div>
-<div class="line"><a name="l02547"></a><span class="lineno"> 2547</span> mlx=olx;</div>
-<div class="line"><a name="l02548"></a><span class="lineno"> 2548</span> mly=oly;</div>
-<div class="line"><a name="l02549"></a><span class="lineno"> 2549</span> </div>
-<div class="line"><a name="l02550"></a><span class="lineno"> 2550</span> </div>
-<div class="line"><a name="l02551"></a><span class="lineno"> 2551</span> <span class="comment">/*--------------------------------------------------------------------</span></div>
-<div class="line"><a name="l02552"></a><span class="lineno"> 2552</span> <span class="comment"> * center the cubes within the allocated big cube</span></div>
-<div class="line"><a name="l02553"></a><span class="lineno"> 2553</span> <span class="comment"> * that means define the (0,0) positions of the cubes in the image planes</span></div>
-<div class="line"><a name="l02554"></a><span class="lineno"> 2554</span> <span class="comment"> * to sub-pixel accuracy by using cumoffsetx,y and the reference cube</span></div>
-<div class="line"><a name="l02555"></a><span class="lineno"> 2555</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02556"></a><span class="lineno"> 2556</span> <span class="comment">/* position of first reference frame, centered in big cube */</span></div>
-<div class="line"><a name="l02557"></a><span class="lineno"> 2557</span> llx0 = olx/2 - ilx/2 ;</div>
-<div class="line"><a name="l02558"></a><span class="lineno"> 2558</span> lly0 = oly/2 - ily/2 ;</div>
-<div class="line"><a name="l02559"></a><span class="lineno"> 2559</span> </div>
-<div class="line"><a name="l02560"></a><span class="lineno"> 2560</span> <span class="comment">/*--------------------------------------------------------------------</span></div>
-<div class="line"><a name="l02561"></a><span class="lineno"> 2561</span> <span class="comment"> * go through the frame list and determine the lower left edge position</span></div>
-<div class="line"><a name="l02562"></a><span class="lineno"> 2562</span> <span class="comment"> * of the shifted cubes. Additionnally, the sub-pixel offsets are</span></div>
-<div class="line"><a name="l02563"></a><span class="lineno"> 2563</span> <span class="comment"> * determined.</span></div>
-<div class="line"><a name="l02564"></a><span class="lineno"> 2564</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02565"></a><span class="lineno"> 2565</span> </div>
-<div class="line"><a name="l02566"></a><span class="lineno"> 2566</span> </div>
-<div class="line"><a name="l02567"></a><span class="lineno"> 2567</span> llx=cpl_calloc(n_cubes,<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)) ;</div>
-<div class="line"><a name="l02568"></a><span class="lineno"> 2568</span> lly=cpl_calloc(n_cubes,<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)) ;</div>
-<div class="line"><a name="l02569"></a><span class="lineno"> 2569</span> sub_offsetx=cpl_calloc(n_cubes,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02570"></a><span class="lineno"> 2570</span> sub_offsety=cpl_calloc(n_cubes,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02571"></a><span class="lineno"> 2571</span> </div>
-<div class="line"><a name="l02572"></a><span class="lineno"> 2572</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_cubes ; i++ )</div>
-<div class="line"><a name="l02573"></a><span class="lineno"> 2573</span> {</div>
-<div class="line"><a name="l02574"></a><span class="lineno"> 2574</span> llx[i] = llx0 - sinfo_new_nint(cumoffsetx[i]) ;</div>
-<div class="line"><a name="l02575"></a><span class="lineno"> 2575</span> sub_offsetx[i] = (float)sinfo_new_nint(cumoffsetx[i]) - cumoffsetx[i] ;</div>
-<div class="line"><a name="l02576"></a><span class="lineno"> 2576</span> lly[i] = lly0 - sinfo_new_nint(cumoffsety[i]) ;</div>
-<div class="line"><a name="l02577"></a><span class="lineno"> 2577</span> sub_offsety[i] = (float)sinfo_new_nint(cumoffsety[i]) - cumoffsety[i] ;</div>
-<div class="line"><a name="l02578"></a><span class="lineno"> 2578</span> }</div>
-<div class="line"><a name="l02579"></a><span class="lineno"> 2579</span> </div>
-<div class="line"><a name="l02580"></a><span class="lineno"> 2580</span> tmpcubes=(cpl_imagelist**)cpl_calloc(n_cubes,<span class="keyword">sizeof</span>(cpl_imagelist*)) ;</div>
-<div class="line"><a name="l02581"></a><span class="lineno"> 2581</span> <span class="comment">/* -------------------------------------------------------------</span></div>
-<div class="line"><a name="l02582"></a><span class="lineno"> 2582</span> <span class="comment"> * shift the cubes according to the computed sub-pixel offsets</span></div>
-<div class="line"><a name="l02583"></a><span class="lineno"> 2583</span> <span class="comment"> * that means shift the single image planes of each cube</span></div>
-<div class="line"><a name="l02584"></a><span class="lineno"> 2584</span> <span class="comment"> * first determine an interpolation kernel</span></div>
-<div class="line"><a name="l02585"></a><span class="lineno"> 2585</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02586"></a><span class="lineno"> 2586</span> <span class="keywordflow">if</span>(sinfo_shift_cubes(tmpcubes,kernel_type,n_cubes,cubes,z_min, z_max,</div>
-<div class="line"><a name="l02587"></a><span class="lineno"> 2587</span> sub_offsetx,sub_offsety,mlx,mly,mask) == -1) {</div>
-<div class="line"><a name="l02588"></a><span class="lineno"> 2588</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l02589"></a><span class="lineno"> 2589</span> }</div>
-<div class="line"><a name="l02590"></a><span class="lineno"> 2590</span> </div>
-<div class="line"><a name="l02591"></a><span class="lineno"> 2591</span> </div>
-<div class="line"><a name="l02592"></a><span class="lineno"> 2592</span> <span class="comment">/*-----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l02593"></a><span class="lineno"> 2593</span> <span class="comment"> * Build the mask data cube.</span></div>
-<div class="line"><a name="l02594"></a><span class="lineno"> 2594</span> <span class="comment"> * The mask is 0 where no data is available, otherwise the</span></div>
-<div class="line"><a name="l02595"></a><span class="lineno"> 2595</span> <span class="comment"> integration time of</span></div>
-<div class="line"><a name="l02596"></a><span class="lineno"> 2596</span> <span class="comment"> * one frame, respectively the summed integration</span></div>
-<div class="line"><a name="l02597"></a><span class="lineno"> 2597</span> <span class="comment"> * times in the overlapping regions are inserted</span></div>
-<div class="line"><a name="l02598"></a><span class="lineno"> 2598</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02599"></a><span class="lineno"> 2599</span> <span class="comment">/* go through the frame list */</span></div>
-<div class="line"><a name="l02600"></a><span class="lineno"> 2600</span> sinfo_build_mask_cube(z_min,z_max,olx,oly,n_cubes,llx,lly,exptimes,</div>
-<div class="line"><a name="l02601"></a><span class="lineno"> 2601</span> cubes,tmpcubes,mask);</div>
-<div class="line"><a name="l02602"></a><span class="lineno"> 2602</span> </div>
-<div class="line"><a name="l02603"></a><span class="lineno"> 2603</span> </div>
-<div class="line"><a name="l02604"></a><span class="lineno"> 2604</span> <span class="comment">/* calculate a weighted average using the exposure time of the</span></div>
-<div class="line"><a name="l02605"></a><span class="lineno"> 2605</span> <span class="comment"> single frames of the overlapping regions of the cubes */</span></div>
-<div class="line"><a name="l02606"></a><span class="lineno"> 2606</span> </div>
-<div class="line"><a name="l02607"></a><span class="lineno"> 2607</span> sinfo_compute_weight_average(z_min,z_max,ilx,ily,n_cubes,mergedCube,mask,</div>
-<div class="line"><a name="l02608"></a><span class="lineno"> 2608</span> tmpcubes,exptimes,llx,lly);</div>
-<div class="line"><a name="l02609"></a><span class="lineno"> 2609</span> </div>
-<div class="line"><a name="l02610"></a><span class="lineno"> 2610</span> <span class="comment">/* convert the "free space" in the cube to blank pixels */</span></div>
-<div class="line"><a name="l02611"></a><span class="lineno"> 2611</span> <span class="comment">/* convert_0_to_ZERO_for_cubes(mergedCube) ; */</span></div>
-<div class="line"><a name="l02612"></a><span class="lineno"> 2612</span> </div>
-<div class="line"><a name="l02613"></a><span class="lineno"> 2613</span> <span class="keywordflow">for</span>( i = 0 ; i < n_cubes ; i++ )</div>
-<div class="line"><a name="l02614"></a><span class="lineno"> 2614</span> {</div>
-<div class="line"><a name="l02615"></a><span class="lineno"> 2615</span> cpl_imagelist_delete (tmpcubes[i]) ;</div>
-<div class="line"><a name="l02616"></a><span class="lineno"> 2616</span> }</div>
-<div class="line"><a name="l02617"></a><span class="lineno"> 2617</span> </div>
-<div class="line"><a name="l02618"></a><span class="lineno"> 2618</span> </div>
-<div class="line"><a name="l02619"></a><span class="lineno"> 2619</span> cpl_free(tmpcubes) ;</div>
-<div class="line"><a name="l02620"></a><span class="lineno"> 2620</span> cpl_free(llx) ;</div>
-<div class="line"><a name="l02621"></a><span class="lineno"> 2621</span> cpl_free(lly) ;</div>
-<div class="line"><a name="l02622"></a><span class="lineno"> 2622</span> cpl_free(sub_offsetx) ;</div>
-<div class="line"><a name="l02623"></a><span class="lineno"> 2623</span> cpl_free(sub_offsety) ;</div>
-<div class="line"><a name="l02624"></a><span class="lineno"> 2624</span> </div>
-<div class="line"><a name="l02625"></a><span class="lineno"> 2625</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l02626"></a><span class="lineno"> 2626</span> }</div>
-<div class="line"><a name="l02627"></a><span class="lineno"> 2627</span> </div>
-<div class="line"><a name="l02645"></a><span class="lineno"> 2645</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02646"></a><span class="lineno"> 2646</span> sinfo_check_input(cpl_imagelist** cubes,</div>
-<div class="line"><a name="l02647"></a><span class="lineno"> 2647</span> <span class="keyword">const</span> <span class="keywordtype">int</span> n_cubes,</div>
-<div class="line"><a name="l02648"></a><span class="lineno"> 2648</span> <span class="keywordtype">float</span>* cumoffsetx,</div>
-<div class="line"><a name="l02649"></a><span class="lineno"> 2649</span> <span class="keywordtype">float</span>* cumoffsety,</div>
-<div class="line"><a name="l02650"></a><span class="lineno"> 2650</span> <span class="keywordtype">double</span>* exptimes)</div>
-<div class="line"><a name="l02651"></a><span class="lineno"> 2651</span> {</div>
-<div class="line"><a name="l02652"></a><span class="lineno"> 2652</span> <span class="keywordflow">if</span> ( cubes == NULL )</div>
-<div class="line"><a name="l02653"></a><span class="lineno"> 2653</span> {</div>
-<div class="line"><a name="l02654"></a><span class="lineno"> 2654</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no cube list given!"</span>) ;</div>
-<div class="line"><a name="l02655"></a><span class="lineno"> 2655</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02656"></a><span class="lineno"> 2656</span> }</div>
-<div class="line"><a name="l02657"></a><span class="lineno"> 2657</span> <span class="keywordflow">if</span> ( n_cubes <= 0 )</div>
-<div class="line"><a name="l02658"></a><span class="lineno"> 2658</span> {</div>
-<div class="line"><a name="l02659"></a><span class="lineno"> 2659</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"wrong number of data cubes in list!"</span>) ;</div>
-<div class="line"><a name="l02660"></a><span class="lineno"> 2660</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02661"></a><span class="lineno"> 2661</span> }</div>
-<div class="line"><a name="l02662"></a><span class="lineno"> 2662</span> <span class="keywordflow">if</span> ( cumoffsetx == NULL || cumoffsety == NULL )</div>
-<div class="line"><a name="l02663"></a><span class="lineno"> 2663</span> {</div>
-<div class="line"><a name="l02664"></a><span class="lineno"> 2664</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no cumoffsetx/y given!"</span>) ;</div>
-<div class="line"><a name="l02665"></a><span class="lineno"> 2665</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l02666"></a><span class="lineno"> 2666</span> }</div>
-<div class="line"><a name="l02667"></a><span class="lineno"> 2667</span> <span class="keywordflow">if</span> ( exptimes == NULL )</div>
-<div class="line"><a name="l02668"></a><span class="lineno"> 2668</span> {</div>
-<div class="line"><a name="l02669"></a><span class="lineno"> 2669</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no exposure time array given!"</span>) ;</div>
-<div class="line"><a name="l02670"></a><span class="lineno"> 2670</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02671"></a><span class="lineno"> 2671</span> }</div>
-<div class="line"><a name="l02672"></a><span class="lineno"> 2672</span> </div>
-<div class="line"><a name="l02673"></a><span class="lineno"> 2673</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02674"></a><span class="lineno"> 2674</span> }</div>
-<div class="line"><a name="l02675"></a><span class="lineno"> 2675</span> </div>
-<div class="line"><a name="l02701"></a><span class="lineno"> 2701</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02702"></a><span class="lineno"> 2702</span> sinfo_compute_weight_average(<span class="keyword">const</span> <span class="keywordtype">int</span> z_min,</div>
-<div class="line"><a name="l02703"></a><span class="lineno"> 2703</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_max,</div>
-<div class="line"><a name="l02704"></a><span class="lineno"> 2704</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ilx,</div>
-<div class="line"><a name="l02705"></a><span class="lineno"> 2705</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ily,</div>
-<div class="line"><a name="l02706"></a><span class="lineno"> 2706</span> <span class="keyword">const</span> <span class="keywordtype">int</span> n_cubes,</div>
-<div class="line"><a name="l02707"></a><span class="lineno"> 2707</span> cpl_imagelist* mergedCube,</div>
-<div class="line"><a name="l02708"></a><span class="lineno"> 2708</span> cpl_imagelist* mask,</div>
-<div class="line"><a name="l02709"></a><span class="lineno"> 2709</span> cpl_imagelist** tmpcubes,</div>
-<div class="line"><a name="l02710"></a><span class="lineno"> 2710</span> <span class="keywordtype">double</span>* exptimes,</div>
-<div class="line"><a name="l02711"></a><span class="lineno"> 2711</span> <span class="keywordtype">int</span>* llx,</div>
-<div class="line"><a name="l02712"></a><span class="lineno"> 2712</span> <span class="keywordtype">int</span>* lly)</div>
-<div class="line"><a name="l02713"></a><span class="lineno"> 2713</span> {</div>
-<div class="line"><a name="l02714"></a><span class="lineno"> 2714</span> </div>
-<div class="line"><a name="l02715"></a><span class="lineno"> 2715</span> <span class="keywordtype">int</span> m=0;</div>
-<div class="line"><a name="l02716"></a><span class="lineno"> 2716</span> <span class="keywordtype">int</span> x=0;</div>
-<div class="line"><a name="l02717"></a><span class="lineno"> 2717</span> <span class="keywordtype">int</span> y=0;</div>
-<div class="line"><a name="l02718"></a><span class="lineno"> 2718</span> <span class="keywordtype">int</span> z=0;</div>
-<div class="line"><a name="l02719"></a><span class="lineno"> 2719</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02720"></a><span class="lineno"> 2720</span> </div>
-<div class="line"><a name="l02721"></a><span class="lineno"> 2721</span> <span class="keywordtype">int</span> mlx=0;</div>
-<div class="line"><a name="l02722"></a><span class="lineno"> 2722</span> <span class="keywordtype">int</span> mly=0;</div>
-<div class="line"><a name="l02723"></a><span class="lineno"> 2723</span> <span class="keywordtype">int</span> olx=0;</div>
-<div class="line"><a name="l02724"></a><span class="lineno"> 2724</span> <span class="keywordtype">int</span> oly=0;</div>
-<div class="line"><a name="l02725"></a><span class="lineno"> 2725</span> </div>
-<div class="line"><a name="l02726"></a><span class="lineno"> 2726</span> cpl_image* o_img=NULL;</div>
-<div class="line"><a name="l02727"></a><span class="lineno"> 2727</span> cpl_image* m_img=NULL;</div>
-<div class="line"><a name="l02728"></a><span class="lineno"> 2728</span> cpl_image* t_img=NULL;</div>
-<div class="line"><a name="l02729"></a><span class="lineno"> 2729</span> </div>
-<div class="line"><a name="l02730"></a><span class="lineno"> 2730</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l02731"></a><span class="lineno"> 2731</span> <span class="keywordtype">float</span>* pmdata=NULL;</div>
-<div class="line"><a name="l02732"></a><span class="lineno"> 2732</span> <span class="keywordtype">float</span>* ptdata=NULL;</div>
-<div class="line"><a name="l02733"></a><span class="lineno"> 2733</span> <span class="keywordtype">double</span> weight=0;</div>
-<div class="line"><a name="l02734"></a><span class="lineno"> 2734</span> </div>
-<div class="line"><a name="l02735"></a><span class="lineno"> 2735</span> <span class="keywordtype">int</span> posx=0;</div>
-<div class="line"><a name="l02736"></a><span class="lineno"> 2736</span> <span class="keywordtype">int</span> posy=0;</div>
-<div class="line"><a name="l02737"></a><span class="lineno"> 2737</span> </div>
-<div class="line"><a name="l02738"></a><span class="lineno"> 2738</span> </div>
-<div class="line"><a name="l02739"></a><span class="lineno"> 2739</span> o_img=cpl_imagelist_get(mergedCube,z_min);</div>
-<div class="line"><a name="l02740"></a><span class="lineno"> 2740</span> olx=cpl_image_get_size_x(o_img);</div>
-<div class="line"><a name="l02741"></a><span class="lineno"> 2741</span> oly=cpl_image_get_size_y(o_img);</div>
-<div class="line"><a name="l02742"></a><span class="lineno"> 2742</span> mlx=olx;</div>
-<div class="line"><a name="l02743"></a><span class="lineno"> 2743</span> mly=oly;</div>
-<div class="line"><a name="l02744"></a><span class="lineno"> 2744</span> </div>
-<div class="line"><a name="l02745"></a><span class="lineno"> 2745</span> <span class="comment">/* calculate a weighted average using the exposure time of the</span></div>
-<div class="line"><a name="l02746"></a><span class="lineno"> 2746</span> <span class="comment"> single frames of the overlapping regions of the cubes */</span></div>
-<div class="line"><a name="l02747"></a><span class="lineno"> 2747</span> <span class="keywordflow">for</span> ( z = z_min, m = 0 ; z < z_max ; z++, m++ ) {</div>
-<div class="line"><a name="l02748"></a><span class="lineno"> 2748</span> o_img=cpl_imagelist_get(mergedCube,z);</div>
-<div class="line"><a name="l02749"></a><span class="lineno"> 2749</span> podata=cpl_image_get_data_float(o_img);</div>
-<div class="line"><a name="l02750"></a><span class="lineno"> 2750</span> m_img=cpl_imagelist_get(mask,z);</div>
-<div class="line"><a name="l02751"></a><span class="lineno"> 2751</span> pmdata=cpl_image_get_data_float(m_img);</div>
-<div class="line"><a name="l02752"></a><span class="lineno"> 2752</span> mlx=cpl_image_get_size_x(m_img);</div>
-<div class="line"><a name="l02753"></a><span class="lineno"> 2753</span> </div>
-<div class="line"><a name="l02754"></a><span class="lineno"> 2754</span> <span class="comment">/* go through the first image plane of the big data cube */</span></div>
-<div class="line"><a name="l02755"></a><span class="lineno"> 2755</span> <span class="keywordflow">for</span> ( y = 0 ; y < oly ; y++ ) {</div>
-<div class="line"><a name="l02756"></a><span class="lineno"> 2756</span> <span class="keywordflow">for</span> ( x = 0 ; x < olx ; x++ ) {</div>
-<div class="line"><a name="l02757"></a><span class="lineno"> 2757</span> </div>
-<div class="line"><a name="l02758"></a><span class="lineno"> 2758</span> <span class="comment">/* find the position of the present cube and</span></div>
-<div class="line"><a name="l02759"></a><span class="lineno"> 2759</span> <span class="comment"> go through the single spectra */</span></div>
-<div class="line"><a name="l02760"></a><span class="lineno"> 2760</span> </div>
-<div class="line"><a name="l02761"></a><span class="lineno"> 2761</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_cubes ; i++ ) {</div>
-<div class="line"><a name="l02762"></a><span class="lineno"> 2762</span> </div>
-<div class="line"><a name="l02763"></a><span class="lineno"> 2763</span> <span class="keywordflow">if</span> ( y >= lly[i] && y < lly[i]+ily &&</div>
-<div class="line"><a name="l02764"></a><span class="lineno"> 2764</span> x >= llx[i] && x < llx[i]+ilx ) {</div>
-<div class="line"><a name="l02765"></a><span class="lineno"> 2765</span> posx = x - llx[i] ;</div>
-<div class="line"><a name="l02766"></a><span class="lineno"> 2766</span> posy = y - lly[i] ;</div>
-<div class="line"><a name="l02767"></a><span class="lineno"> 2767</span> </div>
-<div class="line"><a name="l02768"></a><span class="lineno"> 2768</span> t_img=cpl_imagelist_get(tmpcubes[i],m);</div>
-<div class="line"><a name="l02769"></a><span class="lineno"> 2769</span> ptdata=cpl_image_get_data_float(t_img);</div>
-<div class="line"><a name="l02770"></a><span class="lineno"> 2770</span> <span class="comment">/* To prevent black regions in peculiar batterfly cases</span></div>
-<div class="line"><a name="l02771"></a><span class="lineno"> 2771</span> <span class="comment"> podata[x+y*olx]=0;</span></div>
-<div class="line"><a name="l02772"></a><span class="lineno"> 2772</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02773"></a><span class="lineno"> 2773</span> <span class="keywordflow">if</span> (!isnan(ptdata[posx+posy*ilx])) {</div>
-<div class="line"><a name="l02774"></a><span class="lineno"> 2774</span> <span class="keywordflow">if</span> (pmdata[x+y*mlx] != 0.) {</div>
-<div class="line"><a name="l02775"></a><span class="lineno"> 2775</span> <span class="comment">/* adjust the intensities to the</span></div>
-<div class="line"><a name="l02776"></a><span class="lineno"> 2776</span> <span class="comment"> first reference cube */</span></div>
-<div class="line"><a name="l02777"></a><span class="lineno"> 2777</span> weight = exptimes[0] / pmdata[x+y*mlx] ;</div>
-<div class="line"><a name="l02778"></a><span class="lineno"> 2778</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l02779"></a><span class="lineno"> 2779</span> weight = 0. ;</div>
-<div class="line"><a name="l02780"></a><span class="lineno"> 2780</span> }</div>
-<div class="line"><a name="l02781"></a><span class="lineno"> 2781</span> podata[x+y*olx] += weight*ptdata[posx+posy*ilx] ;</div>
-<div class="line"><a name="l02782"></a><span class="lineno"> 2782</span> </div>
-<div class="line"><a name="l02783"></a><span class="lineno"> 2783</span> }</div>
-<div class="line"><a name="l02784"></a><span class="lineno"> 2784</span> }</div>
-<div class="line"><a name="l02785"></a><span class="lineno"> 2785</span> }</div>
-<div class="line"><a name="l02786"></a><span class="lineno"> 2786</span> }</div>
-<div class="line"><a name="l02787"></a><span class="lineno"> 2787</span> }</div>
-<div class="line"><a name="l02788"></a><span class="lineno"> 2788</span> }</div>
-<div class="line"><a name="l02789"></a><span class="lineno"> 2789</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02790"></a><span class="lineno"> 2790</span> }</div>
-<div class="line"><a name="l02791"></a><span class="lineno"> 2791</span> </div>
-<div class="line"><a name="l02792"></a><span class="lineno"> 2792</span> </div>
-<div class="line"><a name="l02832"></a><span class="lineno"> 2832</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02833"></a><span class="lineno"> 2833</span> sinfo_shift_cubes(cpl_imagelist** tmpcubes,</div>
-<div class="line"><a name="l02834"></a><span class="lineno"> 2834</span> <span class="keywordtype">char</span>* kernel_type,</div>
-<div class="line"><a name="l02835"></a><span class="lineno"> 2835</span> <span class="keyword">const</span> <span class="keywordtype">int</span> n_cubes,</div>
-<div class="line"><a name="l02836"></a><span class="lineno"> 2836</span> cpl_imagelist** cubes,</div>
-<div class="line"><a name="l02837"></a><span class="lineno"> 2837</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_min,</div>
-<div class="line"><a name="l02838"></a><span class="lineno"> 2838</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_max,</div>
-<div class="line"><a name="l02839"></a><span class="lineno"> 2839</span> <span class="keywordtype">float</span>* sub_offsetx,</div>
-<div class="line"><a name="l02840"></a><span class="lineno"> 2840</span> <span class="keywordtype">float</span>* sub_offsety,</div>
-<div class="line"><a name="l02841"></a><span class="lineno"> 2841</span> <span class="keyword">const</span> <span class="keywordtype">int</span> mlx,</div>
-<div class="line"><a name="l02842"></a><span class="lineno"> 2842</span> <span class="keyword">const</span> <span class="keywordtype">int</span> mly,</div>
-<div class="line"><a name="l02843"></a><span class="lineno"> 2843</span> cpl_imagelist* mask)</div>
-<div class="line"><a name="l02844"></a><span class="lineno"> 2844</span> {</div>
-<div class="line"><a name="l02845"></a><span class="lineno"> 2845</span> </div>
-<div class="line"><a name="l02846"></a><span class="lineno"> 2846</span> <span class="keywordtype">double</span> * kernel ;</div>
-<div class="line"><a name="l02847"></a><span class="lineno"> 2847</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02848"></a><span class="lineno"> 2848</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l02849"></a><span class="lineno"> 2849</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l02850"></a><span class="lineno"> 2850</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l02851"></a><span class="lineno"> 2851</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l02852"></a><span class="lineno"> 2852</span> pixelvalue * tmpspace;</div>
-<div class="line"><a name="l02853"></a><span class="lineno"> 2853</span> <span class="keywordtype">int</span> z=0;</div>
-<div class="line"><a name="l02854"></a><span class="lineno"> 2854</span> cpl_image* t_img=NULL;</div>
-<div class="line"><a name="l02855"></a><span class="lineno"> 2855</span> cpl_image* m_img=NULL;</div>
-<div class="line"><a name="l02856"></a><span class="lineno"> 2856</span> <span class="keywordtype">int</span> m=0;</div>
-<div class="line"><a name="l02857"></a><span class="lineno"> 2857</span> </div>
-<div class="line"><a name="l02858"></a><span class="lineno"> 2858</span> <span class="comment">/* -------------------------------------------------------------</span></div>
-<div class="line"><a name="l02859"></a><span class="lineno"> 2859</span> <span class="comment"> * shift the cubes according to the computed sub-pixel offsets</span></div>
-<div class="line"><a name="l02860"></a><span class="lineno"> 2860</span> <span class="comment"> * that means shift the single image planes of each cube</span></div>
-<div class="line"><a name="l02861"></a><span class="lineno"> 2861</span> <span class="comment"> * first determine an interpolation kernel</span></div>
-<div class="line"><a name="l02862"></a><span class="lineno"> 2862</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02863"></a><span class="lineno"> 2863</span> </div>
-<div class="line"><a name="l02864"></a><span class="lineno"> 2864</span> <span class="keywordflow">if</span> ( NULL == (kernel = sinfo_generate_interpolation_kernel(kernel_type)) )</div>
-<div class="line"><a name="l02865"></a><span class="lineno"> 2865</span> {</div>
-<div class="line"><a name="l02866"></a><span class="lineno"> 2866</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">"could not generate desired interpolation kernel"</span></div>
-<div class="line"><a name="l02867"></a><span class="lineno"> 2867</span> <span class="stringliteral">"or no kernel_typ was given, the default kernel"</span></div>
-<div class="line"><a name="l02868"></a><span class="lineno"> 2868</span> <span class="stringliteral">"is used now!"</span>) ;</div>
-<div class="line"><a name="l02869"></a><span class="lineno"> 2869</span> }</div>
-<div class="line"><a name="l02870"></a><span class="lineno"> 2870</span> <span class="comment">/* go through the frame list */</span></div>
-<div class="line"><a name="l02871"></a><span class="lineno"> 2871</span> </div>
-<div class="line"><a name="l02872"></a><span class="lineno"> 2872</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_cubes ; i++ )</div>
-<div class="line"><a name="l02873"></a><span class="lineno"> 2873</span> {</div>
-<div class="line"><a name="l02874"></a><span class="lineno"> 2874</span> </div>
-<div class="line"><a name="l02875"></a><span class="lineno"> 2875</span> i_img=cpl_imagelist_get(cubes[i],0);</div>
-<div class="line"><a name="l02876"></a><span class="lineno"> 2876</span> ilx=cpl_image_get_size_x(i_img);</div>
-<div class="line"><a name="l02877"></a><span class="lineno"> 2877</span> ily=cpl_image_get_size_y(i_img);</div>
-<div class="line"><a name="l02878"></a><span class="lineno"> 2878</span> inp=cpl_imagelist_get_size(cubes[i]);</div>
-<div class="line"><a name="l02879"></a><span class="lineno"> 2879</span> tmpspace = cpl_calloc(ilx, ily*<span class="keyword">sizeof</span>(pixelvalue)) ;</div>
-<div class="line"><a name="l02880"></a><span class="lineno"> 2880</span> tmpcubes[i]=cpl_imagelist_new();</div>
-<div class="line"><a name="l02881"></a><span class="lineno"> 2881</span> </div>
-<div class="line"><a name="l02882"></a><span class="lineno"> 2882</span> <span class="keywordflow">for</span> ( z = z_min, m=0 ; z < z_max ; z++, m++ )</div>
-<div class="line"><a name="l02883"></a><span class="lineno"> 2883</span> {</div>
-<div class="line"><a name="l02884"></a><span class="lineno"> 2884</span> t_img=sinfo_new_shift_image(cpl_imagelist_get(cubes[i],z),</div>
-<div class="line"><a name="l02885"></a><span class="lineno"> 2885</span> sub_offsetx[i],</div>
-<div class="line"><a name="l02886"></a><span class="lineno"> 2886</span> sub_offsety[i],</div>
-<div class="line"><a name="l02887"></a><span class="lineno"> 2887</span> kernel);</div>
-<div class="line"><a name="l02888"></a><span class="lineno"> 2888</span> </div>
-<div class="line"><a name="l02889"></a><span class="lineno"> 2889</span> <span class="keywordflow">if</span> (t_img==NULL)</div>
-<div class="line"><a name="l02890"></a><span class="lineno"> 2890</span> {</div>
-<div class="line"><a name="l02891"></a><span class="lineno"> 2891</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not shift image plane no %d "</span></div>
-<div class="line"><a name="l02892"></a><span class="lineno"> 2892</span> <span class="stringliteral">"in cube no %d!"</span>, z, i) ;</div>
-<div class="line"><a name="l02893"></a><span class="lineno"> 2893</span> cpl_free(kernel) ;</div>
-<div class="line"><a name="l02894"></a><span class="lineno"> 2894</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02895"></a><span class="lineno"> 2895</span> }</div>
-<div class="line"><a name="l02896"></a><span class="lineno"> 2896</span> </div>
-<div class="line"><a name="l02897"></a><span class="lineno"> 2897</span> cpl_imagelist_set(tmpcubes[i],t_img,m);</div>
-<div class="line"><a name="l02898"></a><span class="lineno"> 2898</span> m_img=cpl_image_new(mlx,mly,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l02899"></a><span class="lineno"> 2899</span> cpl_imagelist_set(mask,m_img,z);</div>
-<div class="line"><a name="l02900"></a><span class="lineno"> 2900</span> }</div>
-<div class="line"><a name="l02901"></a><span class="lineno"> 2901</span> </div>
-<div class="line"><a name="l02902"></a><span class="lineno"> 2902</span> cpl_free(tmpspace);</div>
-<div class="line"><a name="l02903"></a><span class="lineno"> 2903</span> </div>
-<div class="line"><a name="l02904"></a><span class="lineno"> 2904</span> }</div>
-<div class="line"><a name="l02905"></a><span class="lineno"> 2905</span> <span class="keywordflow">if</span>(kernel != NULL) cpl_free(kernel) ;</div>
-<div class="line"><a name="l02906"></a><span class="lineno"> 2906</span> </div>
-<div class="line"><a name="l02907"></a><span class="lineno"> 2907</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02908"></a><span class="lineno"> 2908</span> </div>
-<div class="line"><a name="l02909"></a><span class="lineno"> 2909</span> }</div>
-<div class="line"><a name="l02910"></a><span class="lineno"> 2910</span> </div>
-<div class="line"><a name="l02911"></a><span class="lineno"> 2911</span> </div>
-<div class="line"><a name="l02912"></a><span class="lineno"> 2912</span> <span class="comment">/* Temporally commented out as not yet used</span></div>
-<div class="line"><a name="l02913"></a><span class="lineno"> 2913</span> <span class="comment">static int</span></div>
-<div class="line"><a name="l02914"></a><span class="lineno"> 2914</span> <span class="comment">sinfo_ks_clip(</span></div>
-<div class="line"><a name="l02915"></a><span class="lineno"> 2915</span> <span class="comment"> const int n_cubes,</span></div>
-<div class="line"><a name="l02916"></a><span class="lineno"> 2916</span> <span class="comment"> const int nc,</span></div>
-<div class="line"><a name="l02917"></a><span class="lineno"> 2917</span> <span class="comment"> const int ilx,</span></div>
-<div class="line"><a name="l02918"></a><span class="lineno"> 2918</span> <span class="comment"> const int ily,</span></div>
-<div class="line"><a name="l02919"></a><span class="lineno"> 2919</span> <span class="comment"> const double kappa,</span></div>
-<div class="line"><a name="l02920"></a><span class="lineno"> 2920</span> <span class="comment"> int* llx,</span></div>
-<div class="line"><a name="l02921"></a><span class="lineno"> 2921</span> <span class="comment"> int* lly,</span></div>
-<div class="line"><a name="l02922"></a><span class="lineno"> 2922</span> <span class="comment"> double* exptimes,</span></div>
-<div class="line"><a name="l02923"></a><span class="lineno"> 2923</span> <span class="comment"> cpl_imagelist** tmpcubes,</span></div>
-<div class="line"><a name="l02924"></a><span class="lineno"> 2924</span> <span class="comment"> float* podata,</span></div>
-<div class="line"><a name="l02925"></a><span class="lineno"> 2925</span> <span class="comment"> float* pmdata,</span></div>
-<div class="line"><a name="l02926"></a><span class="lineno"> 2926</span> <span class="comment"> const int x,</span></div>
-<div class="line"><a name="l02927"></a><span class="lineno"> 2927</span> <span class="comment"> const int y,</span></div>
-<div class="line"><a name="l02928"></a><span class="lineno"> 2928</span> <span class="comment"> const int m,</span></div>
-<div class="line"><a name="l02929"></a><span class="lineno"> 2929</span> <span class="comment"> const int mlx,</span></div>
-<div class="line"><a name="l02930"></a><span class="lineno"> 2930</span> <span class="comment"> const int olx</span></div>
-<div class="line"><a name="l02931"></a><span class="lineno"> 2931</span> <span class="comment"> )</span></div>
-<div class="line"><a name="l02932"></a><span class="lineno"> 2932</span> <span class="comment">{</span></div>
-<div class="line"><a name="l02933"></a><span class="lineno"> 2933</span> <span class="comment"></span></div>
-<div class="line"><a name="l02934"></a><span class="lineno"> 2934</span> <span class="comment"></span></div>
-<div class="line"><a name="l02935"></a><span class="lineno"> 2935</span> <span class="comment"> int posx=0;</span></div>
-<div class="line"><a name="l02936"></a><span class="lineno"> 2936</span> <span class="comment"> int posy=0;</span></div>
-<div class="line"><a name="l02937"></a><span class="lineno"> 2937</span> <span class="comment"> int i=0;</span></div>
-<div class="line"><a name="l02938"></a><span class="lineno"> 2938</span> <span class="comment"> int nclip=0;</span></div>
-<div class="line"><a name="l02939"></a><span class="lineno"> 2939</span> <span class="comment"> int ks=0;</span></div>
-<div class="line"><a name="l02940"></a><span class="lineno"> 2940</span> <span class="comment"></span></div>
-<div class="line"><a name="l02941"></a><span class="lineno"> 2941</span> <span class="comment"> float sig=0;</span></div>
-<div class="line"><a name="l02942"></a><span class="lineno"> 2942</span> <span class="comment"> float med=0;</span></div>
-<div class="line"><a name="l02943"></a><span class="lineno"> 2943</span> <span class="comment"> float ovr=0;</span></div>
-<div class="line"><a name="l02944"></a><span class="lineno"> 2944</span> <span class="comment"> float avg=0;</span></div>
-<div class="line"><a name="l02945"></a><span class="lineno"> 2945</span> <span class="comment"></span></div>
-<div class="line"><a name="l02946"></a><span class="lineno"> 2946</span> <span class="comment"> float* ptdata=NULL;</span></div>
-<div class="line"><a name="l02947"></a><span class="lineno"> 2947</span> <span class="comment"> float* pvdata=NULL;</span></div>
-<div class="line"><a name="l02948"></a><span class="lineno"> 2948</span> <span class="comment"></span></div>
-<div class="line"><a name="l02949"></a><span class="lineno"> 2949</span> <span class="comment"> cpl_image* t_img=NULL;</span></div>
-<div class="line"><a name="l02950"></a><span class="lineno"> 2950</span> <span class="comment"> float msk_sum=0;</span></div>
-<div class="line"><a name="l02951"></a><span class="lineno"> 2951</span> <span class="comment"> float val_msk_sum=0;</span></div>
-<div class="line"><a name="l02952"></a><span class="lineno"> 2952</span> <span class="comment"> cpl_image* v_img=NULL;</span></div>
-<div class="line"><a name="l02953"></a><span class="lineno"> 2953</span> <span class="comment"></span></div>
-<div class="line"><a name="l02954"></a><span class="lineno"> 2954</span> <span class="comment"> cpl_vector* val=NULL;</span></div>
-<div class="line"><a name="l02955"></a><span class="lineno"> 2955</span> <span class="comment"> cpl_vector* msk=NULL;</span></div>
-<div class="line"><a name="l02956"></a><span class="lineno"> 2956</span> <span class="comment"></span></div>
-<div class="line"><a name="l02957"></a><span class="lineno"> 2957</span> <span class="comment"> msk=cpl_vector_new(n_cubes);</span></div>
-<div class="line"><a name="l02958"></a><span class="lineno"> 2958</span> <span class="comment"> for (i=0;i<n_cubes;i++) {</span></div>
-<div class="line"><a name="l02959"></a><span class="lineno"> 2959</span> <span class="comment"> cpl_vector_set(msk,i,1);</span></div>
-<div class="line"><a name="l02960"></a><span class="lineno"> 2960</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l02961"></a><span class="lineno"> 2961</span> <span class="comment"></span></div>
-<div class="line"><a name="l02962"></a><span class="lineno"> 2962</span> <span class="comment"> // k-s clipping</span></div>
-<div class="line"><a name="l02963"></a><span class="lineno"> 2963</span> <span class="comment"> nclip=0;</span></div>
-<div class="line"><a name="l02964"></a><span class="lineno"> 2964</span> <span class="comment"></span></div>
-<div class="line"><a name="l02965"></a><span class="lineno"> 2965</span> <span class="comment"> for (ks=0;ks<nc;ks++) {</span></div>
-<div class="line"><a name="l02966"></a><span class="lineno"> 2966</span> <span class="comment"></span></div>
-<div class="line"><a name="l02967"></a><span class="lineno"> 2967</span> <span class="comment"> sig=0;</span></div>
-<div class="line"><a name="l02968"></a><span class="lineno"> 2968</span> <span class="comment"> med=0;</span></div>
-<div class="line"><a name="l02969"></a><span class="lineno"> 2969</span> <span class="comment"> ovr=0;</span></div>
-<div class="line"><a name="l02970"></a><span class="lineno"> 2970</span> <span class="comment"> if(nc-nclip >0) {</span></div>
-<div class="line"><a name="l02971"></a><span class="lineno"> 2971</span> <span class="comment"> val=cpl_vector_new(nc-nclip);</span></div>
-<div class="line"><a name="l02972"></a><span class="lineno"> 2972</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l02973"></a><span class="lineno"> 2973</span> <span class="comment"></span></div>
-<div class="line"><a name="l02974"></a><span class="lineno"> 2974</span> <span class="comment"> // fill val</span></div>
-<div class="line"><a name="l02975"></a><span class="lineno"> 2975</span> <span class="comment"> for ( i = 0 ; i < n_cubes ; i++ ) {</span></div>
-<div class="line"><a name="l02976"></a><span class="lineno"> 2976</span> <span class="comment"> t_img=cpl_imagelist_get(tmpcubes[i],m);</span></div>
-<div class="line"><a name="l02977"></a><span class="lineno"> 2977</span> <span class="comment"> ptdata=cpl_image_get_data_float(t_img);</span></div>
-<div class="line"><a name="l02978"></a><span class="lineno"> 2978</span> <span class="comment"> if ( y >= lly[i] && y < lly[i]+ily &&</span></div>
-<div class="line"><a name="l02979"></a><span class="lineno"> 2979</span> <span class="comment"> x >= llx[i] && x < llx[i]+ilx ) {</span></div>
-<div class="line"><a name="l02980"></a><span class="lineno"> 2980</span> <span class="comment"> posx = x - llx[i] ;</span></div>
-<div class="line"><a name="l02981"></a><span class="lineno"> 2981</span> <span class="comment"> posy = y - lly[i] ;</span></div>
-<div class="line"><a name="l02982"></a><span class="lineno"> 2982</span> <span class="comment"> if (!isnan(ptdata[posx+posy*ilx]) &&</span></div>
-<div class="line"><a name="l02983"></a><span class="lineno"> 2983</span> <span class="comment"> ptdata[posx+posy*ilx] != 0. &&</span></div>
-<div class="line"><a name="l02984"></a><span class="lineno"> 2984</span> <span class="comment"> (cpl_vector_get(msk,i) != 0)) {</span></div>
-<div class="line"><a name="l02985"></a><span class="lineno"> 2985</span> <span class="comment"> cpl_vector_set(val,ovr,(double)ptdata[posx+posy*ilx]);</span></div>
-<div class="line"><a name="l02986"></a><span class="lineno"> 2986</span> <span class="comment"> ovr++;</span></div>
-<div class="line"><a name="l02987"></a><span class="lineno"> 2987</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l02988"></a><span class="lineno"> 2988</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l02989"></a><span class="lineno"> 2989</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l02990"></a><span class="lineno"> 2990</span> <span class="comment"></span></div>
-<div class="line"><a name="l02991"></a><span class="lineno"> 2991</span> <span class="comment"> // get avg, med, sig</span></div>
-<div class="line"><a name="l02992"></a><span class="lineno"> 2992</span> <span class="comment"> if(ovr>0) {</span></div>
-<div class="line"><a name="l02993"></a><span class="lineno"> 2993</span> <span class="comment"> avg=cpl_vector_get_mean(val);</span></div>
-<div class="line"><a name="l02994"></a><span class="lineno"> 2994</span> <span class="comment"> med=cpl_vector_get_median_const(val);</span></div>
-<div class="line"><a name="l02995"></a><span class="lineno"> 2995</span> <span class="comment"> if(ovr>1) {</span></div>
-<div class="line"><a name="l02996"></a><span class="lineno"> 2996</span> <span class="comment"> sig=cpl_vector_get_stdev(val);</span></div>
-<div class="line"><a name="l02997"></a><span class="lineno"> 2997</span> <span class="comment"> } else {</span></div>
-<div class="line"><a name="l02998"></a><span class="lineno"> 2998</span> <span class="comment"> sig=0;</span></div>
-<div class="line"><a name="l02999"></a><span class="lineno"> 2999</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l03000"></a><span class="lineno"> 3000</span> <span class="comment"> cpl_vector_delete(val);</span></div>
-<div class="line"><a name="l03001"></a><span class="lineno"> 3001</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l03002"></a><span class="lineno"> 3002</span> <span class="comment"></span></div>
-<div class="line"><a name="l03003"></a><span class="lineno"> 3003</span> <span class="comment"> for ( i = 0 ; i < n_cubes ; i++ ) {</span></div>
-<div class="line"><a name="l03004"></a><span class="lineno"> 3004</span> <span class="comment"> t_img=cpl_imagelist_get(tmpcubes[i],m);</span></div>
-<div class="line"><a name="l03005"></a><span class="lineno"> 3005</span> <span class="comment"> ptdata=cpl_image_get_data_float(t_img);</span></div>
-<div class="line"><a name="l03006"></a><span class="lineno"> 3006</span> <span class="comment"> // Do k-s clipping at each pixel</span></div>
-<div class="line"><a name="l03007"></a><span class="lineno"> 3007</span> <span class="comment"> if ( y >= lly[i] && y < lly[i]+ily &&</span></div>
-<div class="line"><a name="l03008"></a><span class="lineno"> 3008</span> <span class="comment"> x >= llx[i] && x < llx[i]+ilx ) {</span></div>
-<div class="line"><a name="l03009"></a><span class="lineno"> 3009</span> <span class="comment"> posx = x - llx[i] ;</span></div>
-<div class="line"><a name="l03010"></a><span class="lineno"> 3010</span> <span class="comment"> posy = y - lly[i] ;</span></div>
-<div class="line"><a name="l03011"></a><span class="lineno"> 3011</span> <span class="comment"> //sinfo_msg_warning("llx[%d]=%d lly[%d],=%d",i,llx[i],i,lly[i]);</span></div>
-<div class="line"><a name="l03012"></a><span class="lineno"> 3012</span> <span class="comment"> //sinfo_msg_warning("posx=%d posy=%d",posx,posy);</span></div>
-<div class="line"><a name="l03013"></a><span class="lineno"> 3013</span> <span class="comment"> if (!isnan(ptdata[posx+posy*ilx]) &&</span></div>
-<div class="line"><a name="l03014"></a><span class="lineno"> 3014</span> <span class="comment"> ptdata[posx+posy*ilx] != 0. &&</span></div>
-<div class="line"><a name="l03015"></a><span class="lineno"> 3015</span> <span class="comment"> (cpl_vector_get(msk,i) != 0)) {</span></div>
-<div class="line"><a name="l03016"></a><span class="lineno"> 3016</span> <span class="comment"> if(abs((ptdata[posx+posy*ilx]-med))> kappa*sig) {</span></div>
-<div class="line"><a name="l03017"></a><span class="lineno"> 3017</span> <span class="comment"> ptdata[posx+posy*ilx]=0;</span></div>
-<div class="line"><a name="l03018"></a><span class="lineno"> 3018</span> <span class="comment"></span></div>
-<div class="line"><a name="l03019"></a><span class="lineno"> 3019</span> <span class="comment"> pmdata[x+y*mlx] -= exptimes[i] ;</span></div>
-<div class="line"><a name="l03020"></a><span class="lineno"> 3020</span> <span class="comment"></span></div>
-<div class="line"><a name="l03021"></a><span class="lineno"> 3021</span> <span class="comment"> cpl_vector_set(msk,i,0);</span></div>
-<div class="line"><a name="l03022"></a><span class="lineno"> 3022</span> <span class="comment"> nclip++;</span></div>
-<div class="line"><a name="l03023"></a><span class="lineno"> 3023</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l03024"></a><span class="lineno"> 3024</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l03025"></a><span class="lineno"> 3025</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l03026"></a><span class="lineno"> 3026</span> <span class="comment"></span></div>
-<div class="line"><a name="l03027"></a><span class="lineno"> 3027</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l03028"></a><span class="lineno"> 3028</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l03029"></a><span class="lineno"> 3029</span> <span class="comment"></span></div>
-<div class="line"><a name="l03030"></a><span class="lineno"> 3030</span> <span class="comment"> msk_sum=0;</span></div>
-<div class="line"><a name="l03031"></a><span class="lineno"> 3031</span> <span class="comment"> val_msk_sum=0;</span></div>
-<div class="line"><a name="l03032"></a><span class="lineno"> 3032</span> <span class="comment"> for ( i = 0 ; i < n_cubes ; i++ ) {</span></div>
-<div class="line"><a name="l03033"></a><span class="lineno"> 3033</span> <span class="comment"> v_img=cpl_imagelist_get(tmpcubes[i],m);</span></div>
-<div class="line"><a name="l03034"></a><span class="lineno"> 3034</span> <span class="comment"> pvdata=cpl_image_get_data_float(v_img);</span></div>
-<div class="line"><a name="l03035"></a><span class="lineno"> 3035</span> <span class="comment"> // computes sky at each point</span></div>
-<div class="line"><a name="l03036"></a><span class="lineno"> 3036</span> <span class="comment"> if ( y >= lly[i] && y < lly[i]+ily &&</span></div>
-<div class="line"><a name="l03037"></a><span class="lineno"> 3037</span> <span class="comment"> x >= llx[i] && x < llx[i]+ilx ) {</span></div>
-<div class="line"><a name="l03038"></a><span class="lineno"> 3038</span> <span class="comment"> posx = x - llx[i] ;</span></div>
-<div class="line"><a name="l03039"></a><span class="lineno"> 3039</span> <span class="comment"> posy = y - lly[i] ;</span></div>
-<div class="line"><a name="l03040"></a><span class="lineno"> 3040</span> <span class="comment"> if (!isnan(pvdata[posx+posy*ilx]) &&</span></div>
-<div class="line"><a name="l03041"></a><span class="lineno"> 3041</span> <span class="comment"> pvdata[posx+posy*ilx] != 0. &&</span></div>
-<div class="line"><a name="l03042"></a><span class="lineno"> 3042</span> <span class="comment"> (cpl_vector_get(msk,i) != 0)) {</span></div>
-<div class="line"><a name="l03043"></a><span class="lineno"> 3043</span> <span class="comment"></span></div>
-<div class="line"><a name="l03044"></a><span class="lineno"> 3044</span> <span class="comment"> msk_sum+= pmdata[x+y*mlx];</span></div>
-<div class="line"><a name="l03045"></a><span class="lineno"> 3045</span> <span class="comment"></span></div>
-<div class="line"><a name="l03046"></a><span class="lineno"> 3046</span> <span class="comment"> val_msk_sum+=pvdata[posx+posy*ilx]*</span></div>
-<div class="line"><a name="l03047"></a><span class="lineno"> 3047</span> <span class="comment"> pmdata[x+y*mlx];</span></div>
-<div class="line"><a name="l03048"></a><span class="lineno"> 3048</span> <span class="comment"></span></div>
-<div class="line"><a name="l03049"></a><span class="lineno"> 3049</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l03050"></a><span class="lineno"> 3050</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l03051"></a><span class="lineno"> 3051</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l03052"></a><span class="lineno"> 3052</span> <span class="comment"></span></div>
-<div class="line"><a name="l03053"></a><span class="lineno"> 3053</span> <span class="comment"> podata[x+y*olx]=val_msk_sum/msk_sum;</span></div>
-<div class="line"><a name="l03054"></a><span class="lineno"> 3054</span> <span class="comment"> cpl_vector_delete(msk);</span></div>
-<div class="line"><a name="l03055"></a><span class="lineno"> 3055</span> <span class="comment"></span></div>
-<div class="line"><a name="l03056"></a><span class="lineno"> 3056</span> <span class="comment"> return 0;</span></div>
-<div class="line"><a name="l03057"></a><span class="lineno"> 3057</span> <span class="comment"></span></div>
-<div class="line"><a name="l03058"></a><span class="lineno"> 3058</span> <span class="comment">}</span></div>
-<div class="line"><a name="l03059"></a><span class="lineno"> 3059</span> <span class="comment"></span></div>
-<div class="line"><a name="l03060"></a><span class="lineno"> 3060</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l03061"></a><span class="lineno"> 3061</span> </div>
-<div class="line"><a name="l03111"></a><span class="lineno"> 3111</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l03112"></a><span class="lineno"> 3112</span> sinfo_new_combine_jittered_cubes_thomas_range(cpl_imagelist ** cubes,</div>
-<div class="line"><a name="l03113"></a><span class="lineno"> 3113</span> cpl_imagelist * mergedCube,</div>
-<div class="line"><a name="l03114"></a><span class="lineno"> 3114</span> cpl_imagelist * mask,</div>
-<div class="line"><a name="l03115"></a><span class="lineno"> 3115</span> <span class="keywordtype">int</span> n_cubes,</div>
-<div class="line"><a name="l03116"></a><span class="lineno"> 3116</span> <span class="keywordtype">float</span> * cumoffsetx,</div>
-<div class="line"><a name="l03117"></a><span class="lineno"> 3117</span> <span class="keywordtype">float</span> * cumoffsety,</div>
-<div class="line"><a name="l03118"></a><span class="lineno"> 3118</span> <span class="keywordtype">double</span> * exptimes,</div>
-<div class="line"><a name="l03119"></a><span class="lineno"> 3119</span> <span class="keywordtype">char</span> * kernel_type,</div>
-<div class="line"><a name="l03120"></a><span class="lineno"> 3120</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_min,</div>
-<div class="line"><a name="l03121"></a><span class="lineno"> 3121</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_max,</div>
-<div class="line"><a name="l03122"></a><span class="lineno"> 3122</span> <span class="keyword">const</span> <span class="keywordtype">double</span> kappa )</div>
-<div class="line"><a name="l03123"></a><span class="lineno"> 3123</span> {</div>
-<div class="line"><a name="l03124"></a><span class="lineno"> 3124</span> <span class="keyword">const</span> <span class="keywordtype">int</span> VERY_BIG_INT = 268431360;</div>
-<div class="line"><a name="l03125"></a><span class="lineno"> 3125</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l03126"></a><span class="lineno"> 3126</span> <span class="keywordtype">int</span> llx0, lly0 ;</div>
-<div class="line"><a name="l03127"></a><span class="lineno"> 3127</span> <span class="keywordtype">int</span>* llx=NULL;</div>
-<div class="line"><a name="l03128"></a><span class="lineno"> 3128</span> <span class="keywordtype">int</span>* lly=NULL ;</div>
-<div class="line"><a name="l03129"></a><span class="lineno"> 3129</span> <span class="keywordtype">float</span>* sub_offsetx=NULL ;</div>
-<div class="line"><a name="l03130"></a><span class="lineno"> 3130</span> <span class="keywordtype">float</span>* sub_offsety=NULL ;</div>
-<div class="line"><a name="l03131"></a><span class="lineno"> 3131</span> cpl_imagelist ** tmpcubes=NULL ;</div>
-<div class="line"><a name="l03132"></a><span class="lineno"> 3132</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_siz=z_max-z_min;</div>
-<div class="line"><a name="l03133"></a><span class="lineno"> 3133</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l03134"></a><span class="lineno"> 3134</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l03135"></a><span class="lineno"> 3135</span> <span class="keywordtype">int</span> olx=0;</div>
-<div class="line"><a name="l03136"></a><span class="lineno"> 3136</span> <span class="keywordtype">int</span> oly=0;</div>
-<div class="line"><a name="l03137"></a><span class="lineno"> 3137</span> <span class="keywordtype">int</span> mlx=0;</div>
-<div class="line"><a name="l03138"></a><span class="lineno"> 3138</span> <span class="keywordtype">int</span> mly=0;</div>
-<div class="line"><a name="l03139"></a><span class="lineno"> 3139</span> <span class="keywordtype">int</span> onp=0;</div>
-<div class="line"><a name="l03140"></a><span class="lineno"> 3140</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l03141"></a><span class="lineno"> 3141</span> cpl_image* o_img=NULL;</div>
-<div class="line"><a name="l03142"></a><span class="lineno"> 3142</span> <span class="keywordtype">int</span> min_lx = VERY_BIG_INT;</div>
-<div class="line"><a name="l03143"></a><span class="lineno"> 3143</span> <span class="keywordtype">int</span> min_ly = VERY_BIG_INT;</div>
-<div class="line"><a name="l03144"></a><span class="lineno"> 3144</span> </div>
-<div class="line"><a name="l03145"></a><span class="lineno"> 3145</span> </div>
-<div class="line"><a name="l03146"></a><span class="lineno"> 3146</span> <span class="keywordflow">if</span>(sinfo_check_input(cubes,n_cubes,cumoffsetx,cumoffsety,exptimes) == -1) {</div>
-<div class="line"><a name="l03147"></a><span class="lineno"> 3147</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l03148"></a><span class="lineno"> 3148</span> }</div>
-<div class="line"><a name="l03149"></a><span class="lineno"> 3149</span> </div>
-<div class="line"><a name="l03150"></a><span class="lineno"> 3150</span> <span class="keywordflow">if</span> (z_siz <= 0 ){</div>
-<div class="line"><a name="l03151"></a><span class="lineno"> 3151</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"z_max <= z_min given!"</span>) ;</div>
-<div class="line"><a name="l03152"></a><span class="lineno"> 3152</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03153"></a><span class="lineno"> 3153</span> }</div>
-<div class="line"><a name="l03154"></a><span class="lineno"> 3154</span> </div>
-<div class="line"><a name="l03155"></a><span class="lineno"> 3155</span> i_img=cpl_imagelist_get(cubes[0],0);</div>
-<div class="line"><a name="l03156"></a><span class="lineno"> 3156</span> o_img=cpl_imagelist_get(mergedCube,0);</div>
-<div class="line"><a name="l03157"></a><span class="lineno"> 3157</span> ilx=cpl_image_get_size_x(i_img);</div>
-<div class="line"><a name="l03158"></a><span class="lineno"> 3158</span> ily=cpl_image_get_size_y(i_img);</div>
-<div class="line"><a name="l03159"></a><span class="lineno"> 3159</span> olx=cpl_image_get_size_x(o_img);</div>
-<div class="line"><a name="l03160"></a><span class="lineno"> 3160</span> oly=cpl_image_get_size_y(o_img);</div>
-<div class="line"><a name="l03161"></a><span class="lineno"> 3161</span> mlx=olx;</div>
-<div class="line"><a name="l03162"></a><span class="lineno"> 3162</span> mly=oly;</div>
-<div class="line"><a name="l03163"></a><span class="lineno"> 3163</span> <span class="comment">// sinfo_msg_warning(" cube size [%d:%d] merged cube size[%d:%d]" , ilx, ily, olx, oly);</span></div>
-<div class="line"><a name="l03164"></a><span class="lineno"> 3164</span> <span class="comment">/*--------------------------------------------------------------------</span></div>
-<div class="line"><a name="l03165"></a><span class="lineno"> 3165</span> <span class="comment"> * center the cubes within the allocated big cube</span></div>
-<div class="line"><a name="l03166"></a><span class="lineno"> 3166</span> <span class="comment"> * that means define the (0,0) positions of the cubes in the image planes</span></div>
-<div class="line"><a name="l03167"></a><span class="lineno"> 3167</span> <span class="comment"> * to sub-pixel accuracy by using cumoffsetx,y and the reference cube</span></div>
-<div class="line"><a name="l03168"></a><span class="lineno"> 3168</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03169"></a><span class="lineno"> 3169</span> <span class="comment">/* position of first reference frame, centered in big cube */</span></div>
-<div class="line"><a name="l03170"></a><span class="lineno"> 3170</span> llx0 = (1.0 * olx- 1.0 * ilx)/2.0 ;</div>
-<div class="line"><a name="l03171"></a><span class="lineno"> 3171</span> lly0 = (1.0 * oly - 1.0 * ily)/2.0 ;</div>
-<div class="line"><a name="l03172"></a><span class="lineno"> 3172</span> <span class="comment">// sinfo_msg_warning(" zero point [%d:%d]" , llx0, lly0);</span></div>
-<div class="line"><a name="l03173"></a><span class="lineno"> 3173</span> <span class="comment">/*--------------------------------------------------------------------</span></div>
-<div class="line"><a name="l03174"></a><span class="lineno"> 3174</span> <span class="comment"> * go through the frame list and determine the lower left edge position</span></div>
-<div class="line"><a name="l03175"></a><span class="lineno"> 3175</span> <span class="comment"> * of the shifted cubes. Additionnally, the sub-pixel offsets are</span></div>
-<div class="line"><a name="l03176"></a><span class="lineno"> 3176</span> <span class="comment"> * determined.</span></div>
-<div class="line"><a name="l03177"></a><span class="lineno"> 3177</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03178"></a><span class="lineno"> 3178</span> </div>
-<div class="line"><a name="l03179"></a><span class="lineno"> 3179</span> llx=cpl_calloc(n_cubes,<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>));</div>
-<div class="line"><a name="l03180"></a><span class="lineno"> 3180</span> lly=cpl_calloc(n_cubes,<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)) ;</div>
-<div class="line"><a name="l03181"></a><span class="lineno"> 3181</span> sub_offsetx=cpl_calloc(n_cubes,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l03182"></a><span class="lineno"> 3182</span> sub_offsety=cpl_calloc(n_cubes,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l03183"></a><span class="lineno"> 3183</span> </div>
-<div class="line"><a name="l03184"></a><span class="lineno"> 3184</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_cubes ; i++ ) {</div>
-<div class="line"><a name="l03185"></a><span class="lineno"> 3185</span> llx[i] = llx0 - sinfo_new_nint(cumoffsetx[i]) ;</div>
-<div class="line"><a name="l03186"></a><span class="lineno"> 3186</span> </div>
-<div class="line"><a name="l03187"></a><span class="lineno"> 3187</span> sub_offsetx[i] = (float)sinfo_new_nint(cumoffsetx[i]) - cumoffsetx[i] ;</div>
-<div class="line"><a name="l03188"></a><span class="lineno"> 3188</span> lly[i] = lly0 - sinfo_new_nint(cumoffsety[i]) ;</div>
-<div class="line"><a name="l03189"></a><span class="lineno"> 3189</span> sub_offsety[i] = (float)sinfo_new_nint(cumoffsety[i]) - cumoffsety[i] ;</div>
-<div class="line"><a name="l03190"></a><span class="lineno"> 3190</span> <span class="comment">/* sinfo_msg_warning("suboff[%d]= %f %f ll[%d:%d] cumoffset[%f:%f]" ,</span></div>
-<div class="line"><a name="l03191"></a><span class="lineno"> 3191</span> <span class="comment"> i,sub_offsetx[i],sub_offsety[i], llx[i], lly[i],</span></div>
-<div class="line"><a name="l03192"></a><span class="lineno"> 3192</span> <span class="comment"> cumoffsetx[i], cumoffsety[i]);*/</span></div>
-<div class="line"><a name="l03193"></a><span class="lineno"> 3193</span> <span class="keywordflow">if</span> (llx[i] < min_lx)</div>
-<div class="line"><a name="l03194"></a><span class="lineno"> 3194</span> {</div>
-<div class="line"><a name="l03195"></a><span class="lineno"> 3195</span> min_lx = llx[i];</div>
-<div class="line"><a name="l03196"></a><span class="lineno"> 3196</span> }</div>
-<div class="line"><a name="l03197"></a><span class="lineno"> 3197</span> <span class="keywordflow">if</span> (lly[i] < min_ly)</div>
-<div class="line"><a name="l03198"></a><span class="lineno"> 3198</span> {</div>
-<div class="line"><a name="l03199"></a><span class="lineno"> 3199</span> min_ly = lly[i];</div>
-<div class="line"><a name="l03200"></a><span class="lineno"> 3200</span> }</div>
-<div class="line"><a name="l03201"></a><span class="lineno"> 3201</span> }</div>
-<div class="line"><a name="l03202"></a><span class="lineno"> 3202</span> <span class="comment">/***********---------</span></div>
-<div class="line"><a name="l03203"></a><span class="lineno"> 3203</span> <span class="comment"> * "normalize" the shift - minimum should be 0</span></div>
-<div class="line"><a name="l03204"></a><span class="lineno"> 3204</span> <span class="comment"> **********************************************/</span></div>
-<div class="line"><a name="l03205"></a><span class="lineno"> 3205</span> <span class="keywordflow">if</span> (min_lx != 0)</div>
-<div class="line"><a name="l03206"></a><span class="lineno"> 3206</span> {</div>
-<div class="line"><a name="l03207"></a><span class="lineno"> 3207</span> <span class="keywordflow">for</span> (i = 0 ; i < n_cubes ; i++ )</div>
-<div class="line"><a name="l03208"></a><span class="lineno"> 3208</span> {</div>
-<div class="line"><a name="l03209"></a><span class="lineno"> 3209</span> llx[i] = llx[i] - min_lx;</div>
-<div class="line"><a name="l03210"></a><span class="lineno"> 3210</span> }</div>
-<div class="line"><a name="l03211"></a><span class="lineno"> 3211</span> }</div>
-<div class="line"><a name="l03212"></a><span class="lineno"> 3212</span> <span class="keywordflow">if</span> (min_ly != 0)</div>
-<div class="line"><a name="l03213"></a><span class="lineno"> 3213</span> {</div>
-<div class="line"><a name="l03214"></a><span class="lineno"> 3214</span> <span class="keywordflow">for</span> (i = 0 ; i < n_cubes ; i++ )</div>
-<div class="line"><a name="l03215"></a><span class="lineno"> 3215</span> {</div>
-<div class="line"><a name="l03216"></a><span class="lineno"> 3216</span> lly[i] = lly[i] - min_ly;</div>
-<div class="line"><a name="l03217"></a><span class="lineno"> 3217</span> }</div>
-<div class="line"><a name="l03218"></a><span class="lineno"> 3218</span> }</div>
-<div class="line"><a name="l03219"></a><span class="lineno"> 3219</span> </div>
-<div class="line"><a name="l03220"></a><span class="lineno"> 3220</span> <span class="comment">/* -------------------------------------------------------------</span></div>
-<div class="line"><a name="l03221"></a><span class="lineno"> 3221</span> <span class="comment"> * shift the cubes according to the computed sub-pixel offsets</span></div>
-<div class="line"><a name="l03222"></a><span class="lineno"> 3222</span> <span class="comment"> * that means shift the single image planes of each cube</span></div>
-<div class="line"><a name="l03223"></a><span class="lineno"> 3223</span> <span class="comment"> * first determine an interpolation kernel</span></div>
-<div class="line"><a name="l03224"></a><span class="lineno"> 3224</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03225"></a><span class="lineno"> 3225</span> </div>
-<div class="line"><a name="l03226"></a><span class="lineno"> 3226</span> tmpcubes=(cpl_imagelist**)cpl_calloc(n_cubes,<span class="keyword">sizeof</span>(cpl_imagelist*)) ;</div>
-<div class="line"><a name="l03227"></a><span class="lineno"> 3227</span> </div>
-<div class="line"><a name="l03228"></a><span class="lineno"> 3228</span> <span class="keywordflow">if</span>(sinfo_shift_cubes(tmpcubes,kernel_type,n_cubes,cubes,z_min, z_max,</div>
-<div class="line"><a name="l03229"></a><span class="lineno"> 3229</span> sub_offsetx,sub_offsety,mlx,mly,mask) == -1) {</div>
-<div class="line"><a name="l03230"></a><span class="lineno"> 3230</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l03231"></a><span class="lineno"> 3231</span> </div>
-<div class="line"><a name="l03232"></a><span class="lineno"> 3232</span> }</div>
-<div class="line"><a name="l03233"></a><span class="lineno"> 3233</span> </div>
-<div class="line"><a name="l03234"></a><span class="lineno"> 3234</span> </div>
-<div class="line"><a name="l03235"></a><span class="lineno"> 3235</span> <span class="comment">/*-------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l03236"></a><span class="lineno"> 3236</span> <span class="comment"> * Build the mask data cube.</span></div>
-<div class="line"><a name="l03237"></a><span class="lineno"> 3237</span> <span class="comment"> * The mask is 0 where no data is available, otherwise the integration</span></div>
-<div class="line"><a name="l03238"></a><span class="lineno"> 3238</span> <span class="comment"> * time of one frame, respectively the summed integration</span></div>
-<div class="line"><a name="l03239"></a><span class="lineno"> 3239</span> <span class="comment"> * times in the overlapping regions are inserted</span></div>
-<div class="line"><a name="l03240"></a><span class="lineno"> 3240</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03241"></a><span class="lineno"> 3241</span> <span class="comment">/* go through the frame list */</span></div>
-<div class="line"><a name="l03242"></a><span class="lineno"> 3242</span> </div>
-<div class="line"><a name="l03243"></a><span class="lineno"> 3243</span> </div>
-<div class="line"><a name="l03244"></a><span class="lineno"> 3244</span> o_img=cpl_imagelist_get(mergedCube,0);</div>
-<div class="line"><a name="l03245"></a><span class="lineno"> 3245</span> olx=cpl_image_get_size_x(o_img);</div>
-<div class="line"><a name="l03246"></a><span class="lineno"> 3246</span> oly=cpl_image_get_size_y(o_img);</div>
-<div class="line"><a name="l03247"></a><span class="lineno"> 3247</span> onp=cpl_imagelist_get_size(mergedCube);</div>
-<div class="line"><a name="l03248"></a><span class="lineno"> 3248</span> </div>
-<div class="line"><a name="l03249"></a><span class="lineno"> 3249</span> <span class="keywordflow">if</span>(-1 == sinfo_build_mask_cube_thomas(z_min,z_max,olx,oly,n_cubes,llx,lly,</div>
-<div class="line"><a name="l03250"></a><span class="lineno"> 3250</span> exptimes,cubes,tmpcubes,mask) ) {</div>
-<div class="line"><a name="l03251"></a><span class="lineno"> 3251</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l03252"></a><span class="lineno"> 3252</span> }</div>
-<div class="line"><a name="l03254"></a><span class="lineno"> 3254</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l03255"></a><span class="lineno"> 3255</span> <span class="comment"> check_nomsg(sinfo_coadd_with_ks_clip_optimized(z_min,z_max,n_cubes,</span></div>
-<div class="line"><a name="l03256"></a><span class="lineno"> 3256</span> <span class="comment"> kappa,llx,lly,</span></div>
-<div class="line"><a name="l03257"></a><span class="lineno"> 3257</span> <span class="comment"> exptimes,mask,mergedCube,tmpcubes));</span></div>
-<div class="line"><a name="l03258"></a><span class="lineno"> 3258</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l03261"></a><span class="lineno"> 3261</span> check_nomsg(sinfo_coadd_with_ks_clip2(z_min,z_max,ilx,ily,n_cubes,kappa,llx,lly,</div>
-<div class="line"><a name="l03262"></a><span class="lineno"> 3262</span> exptimes,mask,mergedCube,tmpcubes));</div>
-<div class="line"><a name="l03263"></a><span class="lineno"> 3263</span> </div>
-<div class="line"><a name="l03265"></a><span class="lineno"> 3265</span> <span class="comment">/* convert the "free space" in the cube to blank pixels */</span></div>
-<div class="line"><a name="l03266"></a><span class="lineno"> 3266</span> <span class="comment">/* convert_0_to_ZERO_for_cubes(mergedCube) ; */</span></div>
-<div class="line"><a name="l03267"></a><span class="lineno"> 3267</span> <span class="comment">/* convert_0_to_ZERO_for_cubes(mergedSky) ; */</span></div>
-<div class="line"><a name="l03268"></a><span class="lineno"> 3268</span> <span class="comment">//cpl_free(kernel) ; /* originated by eclise-malloc */</span></div>
-<div class="line"><a name="l03269"></a><span class="lineno"> 3269</span> </div>
-<div class="line"><a name="l03270"></a><span class="lineno"> 3270</span> cleanup:</div>
-<div class="line"><a name="l03271"></a><span class="lineno"> 3271</span> </div>
-<div class="line"><a name="l03272"></a><span class="lineno"> 3272</span> <span class="keywordflow">for</span>( i = 0 ; i < n_cubes ; i++ ) {</div>
-<div class="line"><a name="l03273"></a><span class="lineno"> 3273</span> cpl_imagelist_delete (tmpcubes[i]) ;</div>
-<div class="line"><a name="l03274"></a><span class="lineno"> 3274</span> }</div>
-<div class="line"><a name="l03275"></a><span class="lineno"> 3275</span> </div>
-<div class="line"><a name="l03276"></a><span class="lineno"> 3276</span> cpl_free(tmpcubes);</div>
-<div class="line"><a name="l03277"></a><span class="lineno"> 3277</span> cpl_free(llx);</div>
-<div class="line"><a name="l03278"></a><span class="lineno"> 3278</span> cpl_free(lly) ;</div>
-<div class="line"><a name="l03279"></a><span class="lineno"> 3279</span> cpl_free(sub_offsetx) ;</div>
-<div class="line"><a name="l03280"></a><span class="lineno"> 3280</span> cpl_free(sub_offsety) ;</div>
-<div class="line"><a name="l03281"></a><span class="lineno"> 3281</span> sinfo_print_rec_status(0);</div>
-<div class="line"><a name="l03282"></a><span class="lineno"> 3282</span> </div>
-<div class="line"><a name="l03283"></a><span class="lineno"> 3283</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03284"></a><span class="lineno"> 3284</span> }</div>
-<div class="line"><a name="l03285"></a><span class="lineno"> 3285</span> </div>
-<div class="line"><a name="l03299"></a><span class="lineno"> 3299</span> cpl_imagelist *</div>
-<div class="line"><a name="l03300"></a><span class="lineno"> 3300</span> sinfo_new_interpol_cube_simple( cpl_imagelist * cube,</div>
-<div class="line"><a name="l03301"></a><span class="lineno"> 3301</span> cpl_imagelist * badcube,</div>
-<div class="line"><a name="l03302"></a><span class="lineno"> 3302</span> <span class="keywordtype">int</span> maxdist )</div>
-<div class="line"><a name="l03303"></a><span class="lineno"> 3303</span> {</div>
-<div class="line"><a name="l03304"></a><span class="lineno"> 3304</span> cpl_imagelist * intercube ;</div>
-<div class="line"><a name="l03305"></a><span class="lineno"> 3305</span> <span class="keywordtype">float</span>* goodNeighbors=NULL ;</div>
-<div class="line"><a name="l03306"></a><span class="lineno"> 3306</span> <span class="keywordtype">int</span> z, row, col ;</div>
-<div class="line"><a name="l03307"></a><span class="lineno"> 3307</span> <span class="keywordtype">int</span> nx, ny, nz ;</div>
-<div class="line"><a name="l03308"></a><span class="lineno"> 3308</span> <span class="keywordtype">int</span> llx, lly, llz ;</div>
-<div class="line"><a name="l03309"></a><span class="lineno"> 3309</span> <span class="keywordtype">int</span> zi, coli, rowi ;</div>
-<div class="line"><a name="l03310"></a><span class="lineno"> 3310</span> <span class="keywordtype">int</span> n ;</div>
-<div class="line"><a name="l03311"></a><span class="lineno"> 3311</span> </div>
-<div class="line"><a name="l03312"></a><span class="lineno"> 3312</span> </div>
-<div class="line"><a name="l03313"></a><span class="lineno"> 3313</span> </div>
-<div class="line"><a name="l03314"></a><span class="lineno"> 3314</span> </div>
-<div class="line"><a name="l03315"></a><span class="lineno"> 3315</span> <span class="keywordtype">int</span> clx=0;</div>
-<div class="line"><a name="l03316"></a><span class="lineno"> 3316</span> <span class="keywordtype">int</span> cly=0;</div>
-<div class="line"><a name="l03317"></a><span class="lineno"> 3317</span> <span class="keywordtype">int</span> blx=0;</div>
-<div class="line"><a name="l03318"></a><span class="lineno"> 3318</span> <span class="keywordtype">int</span> bly=0;</div>
-<div class="line"><a name="l03319"></a><span class="lineno"> 3319</span> </div>
-<div class="line"><a name="l03320"></a><span class="lineno"> 3320</span> <span class="keywordtype">int</span> cnp=0;</div>
-<div class="line"><a name="l03321"></a><span class="lineno"> 3321</span> </div>
-<div class="line"><a name="l03322"></a><span class="lineno"> 3322</span> </div>
-<div class="line"><a name="l03323"></a><span class="lineno"> 3323</span> <span class="keywordtype">float</span>* pbdata=NULL;</div>
-<div class="line"><a name="l03324"></a><span class="lineno"> 3324</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l03325"></a><span class="lineno"> 3325</span> <span class="keywordtype">float</span>* pbzidata=NULL;</div>
-<div class="line"><a name="l03326"></a><span class="lineno"> 3326</span> <span class="keywordtype">float</span>* pczidata=NULL;</div>
-<div class="line"><a name="l03327"></a><span class="lineno"> 3327</span> </div>
-<div class="line"><a name="l03328"></a><span class="lineno"> 3328</span> cpl_image* c_img=NULL;</div>
-<div class="line"><a name="l03329"></a><span class="lineno"> 3329</span> cpl_image* b_img=NULL;</div>
-<div class="line"><a name="l03330"></a><span class="lineno"> 3330</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l03331"></a><span class="lineno"> 3331</span> </div>
-<div class="line"><a name="l03332"></a><span class="lineno"> 3332</span> cpl_image* bzi_img=NULL;</div>
-<div class="line"><a name="l03333"></a><span class="lineno"> 3333</span> cpl_image* czi_img=NULL;</div>
-<div class="line"><a name="l03334"></a><span class="lineno"> 3334</span> </div>
-<div class="line"><a name="l03335"></a><span class="lineno"> 3335</span> </div>
-<div class="line"><a name="l03336"></a><span class="lineno"> 3336</span> </div>
-<div class="line"><a name="l03337"></a><span class="lineno"> 3337</span> <span class="keywordflow">if</span> ( cube == NULL || badcube == NULL )</div>
-<div class="line"><a name="l03338"></a><span class="lineno"> 3338</span> {</div>
-<div class="line"><a name="l03339"></a><span class="lineno"> 3339</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no cube given!"</span>) ;</div>
-<div class="line"><a name="l03340"></a><span class="lineno"> 3340</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03341"></a><span class="lineno"> 3341</span> }</div>
-<div class="line"><a name="l03342"></a><span class="lineno"> 3342</span> <span class="keywordflow">if</span> ( maxdist < 1 )</div>
-<div class="line"><a name="l03343"></a><span class="lineno"> 3343</span> {</div>
-<div class="line"><a name="l03344"></a><span class="lineno"> 3344</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong maxrad given!"</span>) ;</div>
-<div class="line"><a name="l03345"></a><span class="lineno"> 3345</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03346"></a><span class="lineno"> 3346</span> }</div>
-<div class="line"><a name="l03347"></a><span class="lineno"> 3347</span> intercube = cpl_imagelist_duplicate(cube) ;</div>
-<div class="line"><a name="l03348"></a><span class="lineno"> 3348</span> </div>
-<div class="line"><a name="l03349"></a><span class="lineno"> 3349</span> goodNeighbors=cpl_calloc((2*maxdist+1)*(2*maxdist+1)*(2*maxdist+1) -1,</div>
-<div class="line"><a name="l03350"></a><span class="lineno"> 3350</span> <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l03351"></a><span class="lineno"> 3351</span> </div>
-<div class="line"><a name="l03352"></a><span class="lineno"> 3352</span> cnp=cpl_imagelist_get_size(cube);</div>
-<div class="line"><a name="l03353"></a><span class="lineno"> 3353</span> <span class="keywordflow">for</span> ( z = 0 ; z < cnp ; z++ )</div>
-<div class="line"><a name="l03354"></a><span class="lineno"> 3354</span> {</div>
-<div class="line"><a name="l03355"></a><span class="lineno"> 3355</span> b_img=cpl_imagelist_get(badcube,z);</div>
-<div class="line"><a name="l03356"></a><span class="lineno"> 3356</span> i_img=cpl_imagelist_get(intercube,z);</div>
-<div class="line"><a name="l03357"></a><span class="lineno"> 3357</span> pbdata=cpl_image_get_data_float(b_img);</div>
-<div class="line"><a name="l03358"></a><span class="lineno"> 3358</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l03359"></a><span class="lineno"> 3359</span> blx=cpl_image_get_size_x(b_img);</div>
-<div class="line"><a name="l03360"></a><span class="lineno"> 3360</span> bly=cpl_image_get_size_y(b_img);</div>
-<div class="line"><a name="l03361"></a><span class="lineno"> 3361</span> </div>
-<div class="line"><a name="l03362"></a><span class="lineno"> 3362</span> c_img=cpl_imagelist_get(cube,z);</div>
-<div class="line"><a name="l03363"></a><span class="lineno"> 3363</span> clx=cpl_image_get_size_x(c_img);</div>
-<div class="line"><a name="l03364"></a><span class="lineno"> 3364</span> cly=cpl_image_get_size_y(c_img);</div>
-<div class="line"><a name="l03365"></a><span class="lineno"> 3365</span> </div>
-<div class="line"><a name="l03366"></a><span class="lineno"> 3366</span> <span class="keywordflow">for</span> ( row = 0 ; row < cly ; row++ )</div>
-<div class="line"><a name="l03367"></a><span class="lineno"> 3367</span> {</div>
-<div class="line"><a name="l03368"></a><span class="lineno"> 3368</span> <span class="keywordflow">for</span> ( col = 0 ; col < clx ; col++ )</div>
-<div class="line"><a name="l03369"></a><span class="lineno"> 3369</span> {</div>
-<div class="line"><a name="l03370"></a><span class="lineno"> 3370</span> <span class="keywordflow">if</span> ( pbdata[col+row*clx] == 0 )</div>
-<div class="line"><a name="l03371"></a><span class="lineno"> 3371</span> {</div>
-<div class="line"><a name="l03372"></a><span class="lineno"> 3372</span> <span class="comment">/* determine the lower left sinfo_edge of the cube */</span></div>
-<div class="line"><a name="l03373"></a><span class="lineno"> 3373</span> llx = col - maxdist ;</div>
-<div class="line"><a name="l03374"></a><span class="lineno"> 3374</span> nx = 2*maxdist +1 ;</div>
-<div class="line"><a name="l03375"></a><span class="lineno"> 3375</span> <span class="keywordflow">if</span> (llx < 0)</div>
-<div class="line"><a name="l03376"></a><span class="lineno"> 3376</span> {</div>
-<div class="line"><a name="l03377"></a><span class="lineno"> 3377</span> nx += llx ;</div>
-<div class="line"><a name="l03378"></a><span class="lineno"> 3378</span> llx = 0 ;</div>
-<div class="line"><a name="l03379"></a><span class="lineno"> 3379</span> }</div>
-<div class="line"><a name="l03380"></a><span class="lineno"> 3380</span> <span class="keywordflow">if</span> ( llx + nx > clx )</div>
-<div class="line"><a name="l03381"></a><span class="lineno"> 3381</span> {</div>
-<div class="line"><a name="l03382"></a><span class="lineno"> 3382</span> nx -= (llx + nx - clx) ;</div>
-<div class="line"><a name="l03383"></a><span class="lineno"> 3383</span> }</div>
-<div class="line"><a name="l03384"></a><span class="lineno"> 3384</span> </div>
-<div class="line"><a name="l03385"></a><span class="lineno"> 3385</span> lly = row - maxdist ;</div>
-<div class="line"><a name="l03386"></a><span class="lineno"> 3386</span> ny = 2*maxdist +1 ;</div>
-<div class="line"><a name="l03387"></a><span class="lineno"> 3387</span> <span class="keywordflow">if</span> (lly < 0)</div>
-<div class="line"><a name="l03388"></a><span class="lineno"> 3388</span> {</div>
-<div class="line"><a name="l03389"></a><span class="lineno"> 3389</span> ny += lly ;</div>
-<div class="line"><a name="l03390"></a><span class="lineno"> 3390</span> lly = 0 ;</div>
-<div class="line"><a name="l03391"></a><span class="lineno"> 3391</span> }</div>
-<div class="line"><a name="l03392"></a><span class="lineno"> 3392</span> <span class="keywordflow">if</span> ( lly + ny > cly )</div>
-<div class="line"><a name="l03393"></a><span class="lineno"> 3393</span> {</div>
-<div class="line"><a name="l03394"></a><span class="lineno"> 3394</span> ny -= (lly + ny - cly) ;</div>
-<div class="line"><a name="l03395"></a><span class="lineno"> 3395</span> }</div>
-<div class="line"><a name="l03396"></a><span class="lineno"> 3396</span> </div>
-<div class="line"><a name="l03397"></a><span class="lineno"> 3397</span> llz = z - maxdist ;</div>
-<div class="line"><a name="l03398"></a><span class="lineno"> 3398</span> nz = 2*maxdist +1 ;</div>
-<div class="line"><a name="l03399"></a><span class="lineno"> 3399</span> <span class="keywordflow">if</span> (llz < 0)</div>
-<div class="line"><a name="l03400"></a><span class="lineno"> 3400</span> {</div>
-<div class="line"><a name="l03401"></a><span class="lineno"> 3401</span> nz += llz ;</div>
-<div class="line"><a name="l03402"></a><span class="lineno"> 3402</span> llz = 0 ;</div>
-<div class="line"><a name="l03403"></a><span class="lineno"> 3403</span> }</div>
-<div class="line"><a name="l03404"></a><span class="lineno"> 3404</span> <span class="keywordflow">if</span> ( llz + nz > cnp )</div>
-<div class="line"><a name="l03405"></a><span class="lineno"> 3405</span> {</div>
-<div class="line"><a name="l03406"></a><span class="lineno"> 3406</span> nz -= (llz + nz - cnp) ;</div>
-<div class="line"><a name="l03407"></a><span class="lineno"> 3407</span> }</div>
-<div class="line"><a name="l03408"></a><span class="lineno"> 3408</span> n = 0 ;</div>
-<div class="line"><a name="l03409"></a><span class="lineno"> 3409</span> <span class="keywordflow">for</span> ( zi = llz ; zi < llz+nz ; zi++ )</div>
-<div class="line"><a name="l03410"></a><span class="lineno"> 3410</span> {</div>
-<div class="line"><a name="l03411"></a><span class="lineno"> 3411</span> bzi_img=cpl_imagelist_get(badcube,zi);</div>
-<div class="line"><a name="l03412"></a><span class="lineno"> 3412</span> czi_img=cpl_imagelist_get(cube,zi);</div>
-<div class="line"><a name="l03413"></a><span class="lineno"> 3413</span> pbzidata=cpl_image_get_data_float(bzi_img);</div>
-<div class="line"><a name="l03414"></a><span class="lineno"> 3414</span> pczidata=cpl_image_get_data_float(czi_img);</div>
-<div class="line"><a name="l03415"></a><span class="lineno"> 3415</span> </div>
-<div class="line"><a name="l03416"></a><span class="lineno"> 3416</span> <span class="keywordflow">for</span> ( rowi = lly ; rowi < lly+ny ; rowi++ )</div>
-<div class="line"><a name="l03417"></a><span class="lineno"> 3417</span> {</div>
-<div class="line"><a name="l03418"></a><span class="lineno"> 3418</span> <span class="keywordflow">for</span> ( coli = llx ; coli < llx+nx ; coli++ )</div>
-<div class="line"><a name="l03419"></a><span class="lineno"> 3419</span> {</div>
-<div class="line"><a name="l03420"></a><span class="lineno"> 3420</span> <span class="keywordflow">if</span> ( pbzidata[coli+rowi*blx] == 1 )</div>
-<div class="line"><a name="l03421"></a><span class="lineno"> 3421</span> {</div>
-<div class="line"><a name="l03422"></a><span class="lineno"> 3422</span> goodNeighbors[n] = pczidata[coli+rowi*clx] ;</div>
-<div class="line"><a name="l03423"></a><span class="lineno"> 3423</span> n++ ;</div>
-<div class="line"><a name="l03424"></a><span class="lineno"> 3424</span> }</div>
-<div class="line"><a name="l03425"></a><span class="lineno"> 3425</span> }</div>
-<div class="line"><a name="l03426"></a><span class="lineno"> 3426</span> }</div>
-<div class="line"><a name="l03427"></a><span class="lineno"> 3427</span> }</div>
-<div class="line"><a name="l03428"></a><span class="lineno"> 3428</span> <span class="keywordflow">if</span> ( n > 0 )</div>
-<div class="line"><a name="l03429"></a><span class="lineno"> 3429</span> {</div>
-<div class="line"><a name="l03430"></a><span class="lineno"> 3430</span> pidata[col+row*clx]=sinfo_new_median(goodNeighbors,n);</div>
-<div class="line"><a name="l03431"></a><span class="lineno"> 3431</span> pbdata[col+row*clx]=1 ;</div>
-<div class="line"><a name="l03432"></a><span class="lineno"> 3432</span> }</div>
-<div class="line"><a name="l03433"></a><span class="lineno"> 3433</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03434"></a><span class="lineno"> 3434</span> {</div>
-<div class="line"><a name="l03435"></a><span class="lineno"> 3435</span> continue ;</div>
-<div class="line"><a name="l03436"></a><span class="lineno"> 3436</span> }</div>
-<div class="line"><a name="l03437"></a><span class="lineno"> 3437</span> }</div>
-<div class="line"><a name="l03438"></a><span class="lineno"> 3438</span> }</div>
-<div class="line"><a name="l03439"></a><span class="lineno"> 3439</span> }</div>
-<div class="line"><a name="l03440"></a><span class="lineno"> 3440</span> }</div>
-<div class="line"><a name="l03441"></a><span class="lineno"> 3441</span> cpl_free(goodNeighbors) ;</div>
-<div class="line"><a name="l03442"></a><span class="lineno"> 3442</span> <span class="keywordflow">return</span> intercube ;</div>
-<div class="line"><a name="l03443"></a><span class="lineno"> 3443</span> }</div>
-<div class="line"><a name="l03444"></a><span class="lineno"> 3444</span> </div>
-<div class="line"><a name="l03445"></a><span class="lineno"> 3445</span> </div>
-<div class="line"><a name="l03446"></a><span class="lineno"> 3446</span> </div>
-<div class="line"><a name="l03447"></a><span class="lineno"> 3447</span> </div>
-<div class="line"><a name="l03448"></a><span class="lineno"> 3448</span> </div>
-<div class="line"><a name="l03501"></a><span class="lineno"> 3501</span> cpl_imagelist *</div>
-<div class="line"><a name="l03502"></a><span class="lineno"> 3502</span> sinfo_new_combine_cubes ( cpl_imagelist ** cubes,</div>
-<div class="line"><a name="l03503"></a><span class="lineno"> 3503</span> cpl_imagelist * mergedCube,</div>
-<div class="line"><a name="l03504"></a><span class="lineno"> 3504</span> <span class="keywordtype">int</span> n_cubes,</div>
-<div class="line"><a name="l03505"></a><span class="lineno"> 3505</span> <span class="keywordtype">float</span> * cumoffsetx,</div>
-<div class="line"><a name="l03506"></a><span class="lineno"> 3506</span> <span class="keywordtype">float</span> * cumoffsety,</div>
-<div class="line"><a name="l03507"></a><span class="lineno"> 3507</span> <span class="keywordtype">float</span> factor,</div>
-<div class="line"><a name="l03508"></a><span class="lineno"> 3508</span> <span class="keywordtype">char</span> * kernel_type )</div>
-<div class="line"><a name="l03509"></a><span class="lineno"> 3509</span> {</div>
-<div class="line"><a name="l03510"></a><span class="lineno"> 3510</span> <span class="keywordtype">int</span> i=0 ;</div>
-<div class="line"><a name="l03511"></a><span class="lineno"> 3511</span> <span class="keywordtype">int</span> x=0;</div>
-<div class="line"><a name="l03512"></a><span class="lineno"> 3512</span> <span class="keywordtype">int</span> y=0;</div>
-<div class="line"><a name="l03513"></a><span class="lineno"> 3513</span> <span class="keywordtype">int</span> z=0;</div>
-<div class="line"><a name="l03514"></a><span class="lineno"> 3514</span> <span class="keywordtype">int</span> llx0=0;</div>
-<div class="line"><a name="l03515"></a><span class="lineno"> 3515</span> <span class="keywordtype">int</span> lly0=0;</div>
-<div class="line"><a name="l03516"></a><span class="lineno"> 3516</span> <span class="keywordtype">int</span> posx=0;</div>
-<div class="line"><a name="l03517"></a><span class="lineno"> 3517</span> <span class="keywordtype">int</span> posy=0;</div>
-<div class="line"><a name="l03518"></a><span class="lineno"> 3518</span> cpl_imagelist * mask=NULL ;</div>
-<div class="line"><a name="l03519"></a><span class="lineno"> 3519</span> <span class="keywordtype">double</span> * kernel=NULL ;</div>
-<div class="line"><a name="l03520"></a><span class="lineno"> 3520</span> cpl_image * shiftedImage=NULL ;</div>
-<div class="line"><a name="l03521"></a><span class="lineno"> 3521</span> <span class="keywordtype">int</span> n=0;</div>
-<div class="line"><a name="l03522"></a><span class="lineno"> 3522</span> <span class="keywordtype">int</span> ns=0;</div>
-<div class="line"><a name="l03523"></a><span class="lineno"> 3523</span> <span class="keywordtype">double</span> sum=0;</div>
-<div class="line"><a name="l03524"></a><span class="lineno"> 3524</span> <span class="keywordtype">double</span> sum2=0;</div>
-<div class="line"><a name="l03525"></a><span class="lineno"> 3525</span> <span class="keywordtype">double</span> mean=0;</div>
-<div class="line"><a name="l03526"></a><span class="lineno"> 3526</span> <span class="keywordtype">double</span> sigma=0;</div>
-<div class="line"><a name="l03527"></a><span class="lineno"> 3527</span> </div>
-<div class="line"><a name="l03528"></a><span class="lineno"> 3528</span> cpl_imagelist ** tmpcubes=NULL ;</div>
-<div class="line"><a name="l03529"></a><span class="lineno"> 3529</span> </div>
-<div class="line"><a name="l03530"></a><span class="lineno"> 3530</span> <span class="keywordtype">int</span>* llx=NULL ;</div>
-<div class="line"><a name="l03531"></a><span class="lineno"> 3531</span> <span class="keywordtype">int</span>* lly=NULL ;</div>
-<div class="line"><a name="l03532"></a><span class="lineno"> 3532</span> </div>
-<div class="line"><a name="l03533"></a><span class="lineno"> 3533</span> <span class="keywordtype">float</span>* sub_offsetx=NULL ;</div>
-<div class="line"><a name="l03534"></a><span class="lineno"> 3534</span> <span class="keywordtype">float</span>* sub_offsety=NULL ;</div>
-<div class="line"><a name="l03535"></a><span class="lineno"> 3535</span> <span class="keywordtype">float</span>* cubedata=NULL ;</div>
-<div class="line"><a name="l03536"></a><span class="lineno"> 3536</span> </div>
-<div class="line"><a name="l03537"></a><span class="lineno"> 3537</span> <span class="keywordtype">int</span> mlx=0;</div>
-<div class="line"><a name="l03538"></a><span class="lineno"> 3538</span> <span class="keywordtype">int</span> mly=0;</div>
-<div class="line"><a name="l03539"></a><span class="lineno"> 3539</span> <span class="keywordtype">int</span> clx=0;</div>
-<div class="line"><a name="l03540"></a><span class="lineno"> 3540</span> <span class="keywordtype">int</span> cly=0;</div>
-<div class="line"><a name="l03541"></a><span class="lineno"> 3541</span> <span class="keywordtype">int</span> mnp=0;</div>
-<div class="line"><a name="l03542"></a><span class="lineno"> 3542</span> <span class="keywordtype">int</span> cnp=0;</div>
-<div class="line"><a name="l03543"></a><span class="lineno"> 3543</span> </div>
-<div class="line"><a name="l03544"></a><span class="lineno"> 3544</span> </div>
-<div class="line"><a name="l03545"></a><span class="lineno"> 3545</span> <span class="keywordtype">float</span>* ptdata=NULL;</div>
-<div class="line"><a name="l03546"></a><span class="lineno"> 3546</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l03547"></a><span class="lineno"> 3547</span> <span class="keywordtype">float</span>* pmdata=NULL;</div>
-<div class="line"><a name="l03548"></a><span class="lineno"> 3548</span> </div>
-<div class="line"><a name="l03549"></a><span class="lineno"> 3549</span> cpl_image* tmp_img=NULL;</div>
-<div class="line"><a name="l03550"></a><span class="lineno"> 3550</span> cpl_image* o_img=NULL;</div>
-<div class="line"><a name="l03551"></a><span class="lineno"> 3551</span> cpl_image* m_img=NULL;</div>
-<div class="line"><a name="l03552"></a><span class="lineno"> 3552</span> cpl_image* c_img=NULL;</div>
-<div class="line"><a name="l03553"></a><span class="lineno"> 3553</span> cpl_image* t_img=NULL;</div>
-<div class="line"><a name="l03554"></a><span class="lineno"> 3554</span> </div>
-<div class="line"><a name="l03555"></a><span class="lineno"> 3555</span> </div>
-<div class="line"><a name="l03556"></a><span class="lineno"> 3556</span> </div>
-<div class="line"><a name="l03557"></a><span class="lineno"> 3557</span> </div>
-<div class="line"><a name="l03558"></a><span class="lineno"> 3558</span> <span class="keywordflow">if</span> ( cubes == NULL )</div>
-<div class="line"><a name="l03559"></a><span class="lineno"> 3559</span> {</div>
-<div class="line"><a name="l03560"></a><span class="lineno"> 3560</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no cube list given!"</span>) ;</div>
-<div class="line"><a name="l03561"></a><span class="lineno"> 3561</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03562"></a><span class="lineno"> 3562</span> }</div>
-<div class="line"><a name="l03563"></a><span class="lineno"> 3563</span> </div>
-<div class="line"><a name="l03564"></a><span class="lineno"> 3564</span> </div>
-<div class="line"><a name="l03565"></a><span class="lineno"> 3565</span> <span class="keywordflow">if</span> ( mergedCube == NULL )</div>
-<div class="line"><a name="l03566"></a><span class="lineno"> 3566</span> {</div>
-<div class="line"><a name="l03567"></a><span class="lineno"> 3567</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no out cube given!"</span>) ;</div>
-<div class="line"><a name="l03568"></a><span class="lineno"> 3568</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03569"></a><span class="lineno"> 3569</span> }</div>
-<div class="line"><a name="l03570"></a><span class="lineno"> 3570</span> </div>
-<div class="line"><a name="l03571"></a><span class="lineno"> 3571</span> </div>
-<div class="line"><a name="l03572"></a><span class="lineno"> 3572</span> <span class="keywordflow">if</span> ( n_cubes <= 0 )</div>
-<div class="line"><a name="l03573"></a><span class="lineno"> 3573</span> {</div>
-<div class="line"><a name="l03574"></a><span class="lineno"> 3574</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"wrong number of data cubes in list!"</span>) ;</div>
-<div class="line"><a name="l03575"></a><span class="lineno"> 3575</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03576"></a><span class="lineno"> 3576</span> }</div>
-<div class="line"><a name="l03577"></a><span class="lineno"> 3577</span> <span class="keywordflow">if</span> ( cumoffsetx == NULL || cumoffsety == NULL )</div>
-<div class="line"><a name="l03578"></a><span class="lineno"> 3578</span> {</div>
-<div class="line"><a name="l03579"></a><span class="lineno"> 3579</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no cumoffsetx/y given!"</span>) ;</div>
-<div class="line"><a name="l03580"></a><span class="lineno"> 3580</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l03581"></a><span class="lineno"> 3581</span> }</div>
-<div class="line"><a name="l03582"></a><span class="lineno"> 3582</span> </div>
-<div class="line"><a name="l03583"></a><span class="lineno"> 3583</span> <span class="keywordflow">if</span> ( factor <= 0. )</div>
-<div class="line"><a name="l03584"></a><span class="lineno"> 3584</span> {</div>
-<div class="line"><a name="l03585"></a><span class="lineno"> 3585</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"wrong factor given!"</span>) ;</div>
-<div class="line"><a name="l03586"></a><span class="lineno"> 3586</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03587"></a><span class="lineno"> 3587</span> }</div>
-<div class="line"><a name="l03588"></a><span class="lineno"> 3588</span> </div>
-<div class="line"><a name="l03589"></a><span class="lineno"> 3589</span> m_img=cpl_imagelist_get(mergedCube,0);</div>
-<div class="line"><a name="l03590"></a><span class="lineno"> 3590</span> mlx=cpl_image_get_size_x(m_img);</div>
-<div class="line"><a name="l03591"></a><span class="lineno"> 3591</span> mly=cpl_image_get_size_y(m_img);</div>
-<div class="line"><a name="l03592"></a><span class="lineno"> 3592</span> cnp=cpl_imagelist_get_size(cubes[0]);</div>
-<div class="line"><a name="l03593"></a><span class="lineno"> 3593</span> c_img=cpl_imagelist_get(cubes[0],0);</div>
-<div class="line"><a name="l03594"></a><span class="lineno"> 3594</span> clx=cpl_image_get_size_x(c_img);</div>
-<div class="line"><a name="l03595"></a><span class="lineno"> 3595</span> cly=cpl_image_get_size_y(c_img);</div>
-<div class="line"><a name="l03596"></a><span class="lineno"> 3596</span> </div>
-<div class="line"><a name="l03597"></a><span class="lineno"> 3597</span> </div>
-<div class="line"><a name="l03598"></a><span class="lineno"> 3598</span> tmpcubes=(cpl_imagelist**)cpl_calloc(n_cubes,<span class="keyword">sizeof</span>(cpl_imagelist*)) ;</div>
-<div class="line"><a name="l03599"></a><span class="lineno"> 3599</span> </div>
-<div class="line"><a name="l03600"></a><span class="lineno"> 3600</span> <span class="comment">/* allocation for a cube structure without the image planes */</span></div>
-<div class="line"><a name="l03601"></a><span class="lineno"> 3601</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l03602"></a><span class="lineno"> 3602</span> <span class="comment"> for ( i = 0 ; i < n_cubes ; i++ )</span></div>
-<div class="line"><a name="l03603"></a><span class="lineno"> 3603</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l03604"></a><span class="lineno"> 3604</span> <span class="comment"> tmpcubes[i] = (cpl_imagelist*)cpl_malloc(sizeof(cpl_imagelist)) ;</span></div>
-<div class="line"><a name="l03605"></a><span class="lineno"> 3605</span> <span class="comment"> tmpcubes[i]->plane = (cpl_image**)cpl_calloc(cubes[0]->np ,</span></div>
-<div class="line"><a name="l03606"></a><span class="lineno"> 3606</span> <span class="comment"> sizeof(cpl_image*)) ;</span></div>
-<div class="line"><a name="l03607"></a><span class="lineno"> 3607</span> <span class="comment"></span></div>
-<div class="line"><a name="l03608"></a><span class="lineno"> 3608</span> <span class="comment"> tmpcubes[i]->lx = cubes[0]->lx ;</span></div>
-<div class="line"><a name="l03609"></a><span class="lineno"> 3609</span> <span class="comment"> tmpcubes[i]->ly = cubes[0]->ly ;</span></div>
-<div class="line"><a name="l03610"></a><span class="lineno"> 3610</span> <span class="comment"> tmpcubes[i]->np = cubes[0]->np ;</span></div>
-<div class="line"><a name="l03611"></a><span class="lineno"> 3611</span> <span class="comment"> tmpcubes[i]->nbpix = (ulong32)cubes[0]->lx *</span></div>
-<div class="line"><a name="l03612"></a><span class="lineno"> 3612</span> <span class="comment"> (ulong32)cubes[0]->ly *</span></div>
-<div class="line"><a name="l03613"></a><span class="lineno"> 3613</span> <span class="comment"> (ulong32)cubes[0]->np ;</span></div>
-<div class="line"><a name="l03614"></a><span class="lineno"> 3614</span> <span class="comment"> tmpcubes[i]->history = (char*)NULL ;</span></div>
-<div class="line"><a name="l03615"></a><span class="lineno"> 3615</span> <span class="comment"> tmpcubes[i]->n_comments = 0 ;</span></div>
-<div class="line"><a name="l03616"></a><span class="lineno"> 3616</span> <span class="comment"> tmpcubes[i]->orig_ptype = BPP_DEFAULT ;</span></div>
-<div class="line"><a name="l03617"></a><span class="lineno"> 3617</span> <span class="comment"> tmpcubes[i]->filename = NULL ;</span></div>
-<div class="line"><a name="l03618"></a><span class="lineno"> 3618</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l03619"></a><span class="lineno"> 3619</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03620"></a><span class="lineno"> 3620</span> tmpcubes[0]=cpl_imagelist_duplicate(cubes[0]);</div>
-<div class="line"><a name="l03621"></a><span class="lineno"> 3621</span> </div>
-<div class="line"><a name="l03622"></a><span class="lineno"> 3622</span> <span class="comment">/*--------------------------------------------------------------------</span></div>
-<div class="line"><a name="l03623"></a><span class="lineno"> 3623</span> <span class="comment"> * center the cubes within the allocated big cube</span></div>
-<div class="line"><a name="l03624"></a><span class="lineno"> 3624</span> <span class="comment"> * that means define the (0,0) positions of the cubes in the image planes</span></div>
-<div class="line"><a name="l03625"></a><span class="lineno"> 3625</span> <span class="comment"> * to sub-pixel accuracy by using cumoffsetx,y and the reference cube</span></div>
-<div class="line"><a name="l03626"></a><span class="lineno"> 3626</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03627"></a><span class="lineno"> 3627</span> <span class="comment">/* position of first reference frame, centered in big cube */</span></div>
-<div class="line"><a name="l03628"></a><span class="lineno"> 3628</span> llx0 = mlx/2 - clx/2 ;</div>
-<div class="line"><a name="l03629"></a><span class="lineno"> 3629</span> lly0 = mly/2 - cly/2 ;</div>
-<div class="line"><a name="l03630"></a><span class="lineno"> 3630</span> </div>
-<div class="line"><a name="l03631"></a><span class="lineno"> 3631</span> <span class="comment">/*--------------------------------------------------------------------</span></div>
-<div class="line"><a name="l03632"></a><span class="lineno"> 3632</span> <span class="comment"> * go through the frame list and determine the lower left edge position</span></div>
-<div class="line"><a name="l03633"></a><span class="lineno"> 3633</span> <span class="comment"> * of the shifted cubes. Additionnally, the sub-pixel offsets are</span></div>
-<div class="line"><a name="l03634"></a><span class="lineno"> 3634</span> <span class="comment"> * determined.</span></div>
-<div class="line"><a name="l03635"></a><span class="lineno"> 3635</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03636"></a><span class="lineno"> 3636</span> </div>
-<div class="line"><a name="l03637"></a><span class="lineno"> 3637</span> </div>
-<div class="line"><a name="l03638"></a><span class="lineno"> 3638</span> llx=cpl_calloc(n_cubes,<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)) ;</div>
-<div class="line"><a name="l03639"></a><span class="lineno"> 3639</span> lly=cpl_calloc(n_cubes,<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)) ;</div>
-<div class="line"><a name="l03640"></a><span class="lineno"> 3640</span> sub_offsetx=cpl_calloc(n_cubes,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l03641"></a><span class="lineno"> 3641</span> sub_offsety=cpl_calloc(n_cubes,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l03642"></a><span class="lineno"> 3642</span> </div>
-<div class="line"><a name="l03643"></a><span class="lineno"> 3643</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_cubes ; i++ )</div>
-<div class="line"><a name="l03644"></a><span class="lineno"> 3644</span> {</div>
-<div class="line"><a name="l03645"></a><span class="lineno"> 3645</span> llx[i] = llx0 - sinfo_new_nint(cumoffsetx[i]) ;</div>
-<div class="line"><a name="l03646"></a><span class="lineno"> 3646</span> sub_offsetx[i] = (float)sinfo_new_nint(cumoffsetx[i]) - cumoffsetx[i] ;</div>
-<div class="line"><a name="l03647"></a><span class="lineno"> 3647</span> lly[i] = lly0 - sinfo_new_nint(cumoffsety[i]) ;</div>
-<div class="line"><a name="l03648"></a><span class="lineno"> 3648</span> sub_offsety[i] = (float)sinfo_new_nint(cumoffsety[i]) - cumoffsety[i] ;</div>
-<div class="line"><a name="l03649"></a><span class="lineno"> 3649</span> }</div>
-<div class="line"><a name="l03650"></a><span class="lineno"> 3650</span> </div>
-<div class="line"><a name="l03651"></a><span class="lineno"> 3651</span> <span class="comment">/* -------------------------------------------------------------</span></div>
-<div class="line"><a name="l03652"></a><span class="lineno"> 3652</span> <span class="comment"> * shift the cubes according to the computed sub-pixel offsets</span></div>
-<div class="line"><a name="l03653"></a><span class="lineno"> 3653</span> <span class="comment"> * that means shift the single image planes of each cube</span></div>
-<div class="line"><a name="l03654"></a><span class="lineno"> 3654</span> <span class="comment"> * first determine an interpolation kernel</span></div>
-<div class="line"><a name="l03655"></a><span class="lineno"> 3655</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03656"></a><span class="lineno"> 3656</span> <span class="keywordflow">if</span> ( NULL == (kernel = sinfo_generate_interpolation_kernel(kernel_type)) )</div>
-<div class="line"><a name="l03657"></a><span class="lineno"> 3657</span> {</div>
-<div class="line"><a name="l03658"></a><span class="lineno"> 3658</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">"could not generate desired interpolation kernel"</span></div>
-<div class="line"><a name="l03659"></a><span class="lineno"> 3659</span> <span class="stringliteral">" or no kernel_typ was given, the default kernel"</span></div>
-<div class="line"><a name="l03660"></a><span class="lineno"> 3660</span> <span class="stringliteral">" is used now!"</span>) ;</div>
-<div class="line"><a name="l03661"></a><span class="lineno"> 3661</span> }</div>
-<div class="line"><a name="l03662"></a><span class="lineno"> 3662</span> <span class="comment">/* go through the frame list */</span></div>
-<div class="line"><a name="l03663"></a><span class="lineno"> 3663</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_cubes ; i++ )</div>
-<div class="line"><a name="l03664"></a><span class="lineno"> 3664</span> {</div>
-<div class="line"><a name="l03665"></a><span class="lineno"> 3665</span> <span class="comment">/* go through the image planes and shift each plane by a</span></div>
-<div class="line"><a name="l03666"></a><span class="lineno"> 3666</span> <span class="comment"> sub-pixel value */</span></div>
-<div class="line"><a name="l03667"></a><span class="lineno"> 3667</span> <span class="keywordflow">for</span> ( z = 0 ; z < cnp ; z++ )</div>
-<div class="line"><a name="l03668"></a><span class="lineno"> 3668</span> {</div>
-<div class="line"><a name="l03669"></a><span class="lineno"> 3669</span> tmp_img=cpl_imagelist_get(cubes[i],z);</div>
-<div class="line"><a name="l03670"></a><span class="lineno"> 3670</span> <span class="keywordflow">if</span> ( NULL == (shiftedImage = sinfo_new_shift_image(tmp_img,</div>
-<div class="line"><a name="l03671"></a><span class="lineno"> 3671</span> sub_offsetx[i],</div>
-<div class="line"><a name="l03672"></a><span class="lineno"> 3672</span> sub_offsety[i],</div>
-<div class="line"><a name="l03673"></a><span class="lineno"> 3673</span> kernel ) ) )</div>
-<div class="line"><a name="l03674"></a><span class="lineno"> 3674</span> {</div>
-<div class="line"><a name="l03675"></a><span class="lineno"> 3675</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"could not shift image plane no %d "</span></div>
-<div class="line"><a name="l03676"></a><span class="lineno"> 3676</span> <span class="stringliteral">"in cube no %d!"</span>, z, i) ;</div>
-<div class="line"><a name="l03677"></a><span class="lineno"> 3677</span> cpl_imagelist_delete(mergedCube) ;</div>
-<div class="line"><a name="l03678"></a><span class="lineno"> 3678</span> cpl_imagelist_delete(mask) ;</div>
-<div class="line"><a name="l03679"></a><span class="lineno"> 3679</span> cpl_free(kernel) ;</div>
-<div class="line"><a name="l03680"></a><span class="lineno"> 3680</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03681"></a><span class="lineno"> 3681</span> }</div>
-<div class="line"><a name="l03682"></a><span class="lineno"> 3682</span> cpl_imagelist_set(tmpcubes[i],shiftedImage,z);</div>
-<div class="line"><a name="l03683"></a><span class="lineno"> 3683</span> }</div>
-<div class="line"><a name="l03684"></a><span class="lineno"> 3684</span> }</div>
-<div class="line"><a name="l03685"></a><span class="lineno"> 3685</span> </div>
-<div class="line"><a name="l03686"></a><span class="lineno"> 3686</span> cubedata=cpl_calloc(n_cubes,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l03687"></a><span class="lineno"> 3687</span> </div>
-<div class="line"><a name="l03688"></a><span class="lineno"> 3688</span> <span class="keywordflow">for</span> ( y = 0 ; y < mly ; y++ )</div>
-<div class="line"><a name="l03689"></a><span class="lineno"> 3689</span> {</div>
-<div class="line"><a name="l03690"></a><span class="lineno"> 3690</span> <span class="keywordflow">for</span> ( x = 0 ; x < mlx ; x++ )</div>
-<div class="line"><a name="l03691"></a><span class="lineno"> 3691</span> {</div>
-<div class="line"><a name="l03692"></a><span class="lineno"> 3692</span> <span class="keywordflow">for</span> ( z = 0 ; z < mnp ; z++ )</div>
-<div class="line"><a name="l03693"></a><span class="lineno"> 3693</span> {</div>
-<div class="line"><a name="l03694"></a><span class="lineno"> 3694</span> sum = 0. ;</div>
-<div class="line"><a name="l03695"></a><span class="lineno"> 3695</span> sum2 = 0. ;</div>
-<div class="line"><a name="l03696"></a><span class="lineno"> 3696</span> n = 0 ;</div>
-<div class="line"><a name="l03697"></a><span class="lineno"> 3697</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_cubes ; i++ )</div>
-<div class="line"><a name="l03698"></a><span class="lineno"> 3698</span> {</div>
-<div class="line"><a name="l03699"></a><span class="lineno"> 3699</span> c_img=cpl_imagelist_get(cubes[i],z);</div>
-<div class="line"><a name="l03700"></a><span class="lineno"> 3700</span> </div>
-<div class="line"><a name="l03701"></a><span class="lineno"> 3701</span> clx=cpl_image_get_size_x(c_img);</div>
-<div class="line"><a name="l03702"></a><span class="lineno"> 3702</span> cly=cpl_image_get_size_y(c_img);</div>
-<div class="line"><a name="l03703"></a><span class="lineno"> 3703</span> </div>
-<div class="line"><a name="l03704"></a><span class="lineno"> 3704</span> t_img=cpl_imagelist_get(tmpcubes[i],z);</div>
-<div class="line"><a name="l03705"></a><span class="lineno"> 3705</span> ptdata=cpl_image_get_data_float(t_img);</div>
-<div class="line"><a name="l03706"></a><span class="lineno"> 3706</span> </div>
-<div class="line"><a name="l03707"></a><span class="lineno"> 3707</span> m_img=cpl_imagelist_get(mergedCube,z);</div>
-<div class="line"><a name="l03708"></a><span class="lineno"> 3708</span> pmdata=cpl_image_get_data_float(m_img);</div>
-<div class="line"><a name="l03709"></a><span class="lineno"> 3709</span> o_img=cpl_imagelist_get(mask,z);</div>
-<div class="line"><a name="l03710"></a><span class="lineno"> 3710</span> podata=cpl_image_get_data_float(o_img);</div>
-<div class="line"><a name="l03711"></a><span class="lineno"> 3711</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l03712"></a><span class="lineno"> 3712</span> <span class="comment"> find the position of the present cube and go</span></div>
-<div class="line"><a name="l03713"></a><span class="lineno"> 3713</span> <span class="comment"> through the single spectra</span></div>
-<div class="line"><a name="l03714"></a><span class="lineno"> 3714</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03715"></a><span class="lineno"> 3715</span> <span class="keywordflow">if</span> ( y >= lly[i] && y < lly[i]+cly &&</div>
-<div class="line"><a name="l03716"></a><span class="lineno"> 3716</span> x >= llx[i] && x < llx[i]+clx )</div>
-<div class="line"><a name="l03717"></a><span class="lineno"> 3717</span> {</div>
-<div class="line"><a name="l03718"></a><span class="lineno"> 3718</span> posx = x - llx[i] ;</div>
-<div class="line"><a name="l03719"></a><span class="lineno"> 3719</span> posy = y - lly[i] ;</div>
-<div class="line"><a name="l03720"></a><span class="lineno"> 3720</span> <span class="keywordflow">if</span> (!isnan(ptdata[posx+posy*clx]))</div>
-<div class="line"><a name="l03721"></a><span class="lineno"> 3721</span> {</div>
-<div class="line"><a name="l03722"></a><span class="lineno"> 3722</span> sum += ptdata[posx+posy*clx] ;</div>
-<div class="line"><a name="l03723"></a><span class="lineno"> 3723</span> sum2 += (ptdata[posx+posy*clx] *</div>
-<div class="line"><a name="l03724"></a><span class="lineno"> 3724</span> ptdata[posx+posy*clx]) ;</div>
-<div class="line"><a name="l03725"></a><span class="lineno"> 3725</span> cubedata[n] = ptdata[posx+posy*clx] ;</div>
-<div class="line"><a name="l03726"></a><span class="lineno"> 3726</span> n++ ;</div>
-<div class="line"><a name="l03727"></a><span class="lineno"> 3727</span> }</div>
-<div class="line"><a name="l03728"></a><span class="lineno"> 3728</span> }</div>
-<div class="line"><a name="l03729"></a><span class="lineno"> 3729</span> }</div>
-<div class="line"><a name="l03730"></a><span class="lineno"> 3730</span> </div>
-<div class="line"><a name="l03731"></a><span class="lineno"> 3731</span> <span class="keywordflow">if</span> ( n == 0 )</div>
-<div class="line"><a name="l03732"></a><span class="lineno"> 3732</span> {</div>
-<div class="line"><a name="l03733"></a><span class="lineno"> 3733</span> mean = 0. ;</div>
-<div class="line"><a name="l03734"></a><span class="lineno"> 3734</span> sigma = 0. ;</div>
-<div class="line"><a name="l03735"></a><span class="lineno"> 3735</span> pmdata[x+y*mlx] = 0. ;</div>
-<div class="line"><a name="l03736"></a><span class="lineno"> 3736</span> podata[x+y*mlx] = 0 ;</div>
-<div class="line"><a name="l03737"></a><span class="lineno"> 3737</span> }</div>
-<div class="line"><a name="l03738"></a><span class="lineno"> 3738</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( n == 1 )</div>
-<div class="line"><a name="l03739"></a><span class="lineno"> 3739</span> {</div>
-<div class="line"><a name="l03740"></a><span class="lineno"> 3740</span> mean = sum ;</div>
-<div class="line"><a name="l03741"></a><span class="lineno"> 3741</span> sigma = 0. ;</div>
-<div class="line"><a name="l03742"></a><span class="lineno"> 3742</span> pmdata[x+y*mlx] = mean ;</div>
-<div class="line"><a name="l03743"></a><span class="lineno"> 3743</span> podata[x+y*mlx] = 1 ;</div>
-<div class="line"><a name="l03744"></a><span class="lineno"> 3744</span> }</div>
-<div class="line"><a name="l03745"></a><span class="lineno"> 3745</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03746"></a><span class="lineno"> 3746</span> {</div>
-<div class="line"><a name="l03747"></a><span class="lineno"> 3747</span> mean = sum/(double)n ;</div>
-<div class="line"><a name="l03748"></a><span class="lineno"> 3748</span> sigma = sqrt( (sum2 - sum*mean) / (<span class="keywordtype">double</span>)(n - 1) ) ;</div>
-<div class="line"><a name="l03749"></a><span class="lineno"> 3749</span> ns = 0 ;</div>
-<div class="line"><a name="l03750"></a><span class="lineno"> 3750</span> <span class="keywordflow">for</span> ( i = 0 ; i < n ; i++ )</div>
-<div class="line"><a name="l03751"></a><span class="lineno"> 3751</span> {</div>
-<div class="line"><a name="l03752"></a><span class="lineno"> 3752</span> <span class="keywordflow">if</span> ( cubedata[i] > mean+factor*sigma ||</div>
-<div class="line"><a name="l03753"></a><span class="lineno"> 3753</span> cubedata[i] < mean-factor*sigma )</div>
-<div class="line"><a name="l03754"></a><span class="lineno"> 3754</span> {</div>
-<div class="line"><a name="l03755"></a><span class="lineno"> 3755</span> continue ;</div>
-<div class="line"><a name="l03756"></a><span class="lineno"> 3756</span> }</div>
-<div class="line"><a name="l03757"></a><span class="lineno"> 3757</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03758"></a><span class="lineno"> 3758</span> {</div>
-<div class="line"><a name="l03759"></a><span class="lineno"> 3759</span> pmdata[x+y*mlx] += cubedata[i] ;</div>
-<div class="line"><a name="l03760"></a><span class="lineno"> 3760</span> ns++ ;</div>
-<div class="line"><a name="l03761"></a><span class="lineno"> 3761</span> }</div>
-<div class="line"><a name="l03762"></a><span class="lineno"> 3762</span> }</div>
-<div class="line"><a name="l03763"></a><span class="lineno"> 3763</span> <span class="keywordflow">if</span> ( ns == 0 )</div>
-<div class="line"><a name="l03764"></a><span class="lineno"> 3764</span> {</div>
-<div class="line"><a name="l03765"></a><span class="lineno"> 3765</span> pmdata[x+y*mlx] = 0. ;</div>
-<div class="line"><a name="l03766"></a><span class="lineno"> 3766</span> }</div>
-<div class="line"><a name="l03767"></a><span class="lineno"> 3767</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03768"></a><span class="lineno"> 3768</span> {</div>
-<div class="line"><a name="l03769"></a><span class="lineno"> 3769</span> pmdata[x+y*mlx] /= (float)ns ;</div>
-<div class="line"><a name="l03770"></a><span class="lineno"> 3770</span> }</div>
-<div class="line"><a name="l03771"></a><span class="lineno"> 3771</span> podata[x+y*mlx] = (float)ns ;</div>
-<div class="line"><a name="l03772"></a><span class="lineno"> 3772</span> }</div>
-<div class="line"><a name="l03773"></a><span class="lineno"> 3773</span> }</div>
-<div class="line"><a name="l03774"></a><span class="lineno"> 3774</span> }</div>
-<div class="line"><a name="l03775"></a><span class="lineno"> 3775</span> }</div>
-<div class="line"><a name="l03776"></a><span class="lineno"> 3776</span> </div>
-<div class="line"><a name="l03777"></a><span class="lineno"> 3777</span> <span class="keywordflow">for</span>( i = 0 ; i < n_cubes ; i++ )</div>
-<div class="line"><a name="l03778"></a><span class="lineno"> 3778</span> {</div>
-<div class="line"><a name="l03779"></a><span class="lineno"> 3779</span> cpl_imagelist_delete (tmpcubes[i]) ;</div>
-<div class="line"><a name="l03780"></a><span class="lineno"> 3780</span> }</div>
-<div class="line"><a name="l03781"></a><span class="lineno"> 3781</span> cpl_free(tmpcubes);</div>
-<div class="line"><a name="l03782"></a><span class="lineno"> 3782</span> cpl_free(llx);</div>
-<div class="line"><a name="l03783"></a><span class="lineno"> 3783</span> cpl_free(lly);</div>
-<div class="line"><a name="l03784"></a><span class="lineno"> 3784</span> cpl_free(sub_offsetx);</div>
-<div class="line"><a name="l03785"></a><span class="lineno"> 3785</span> cpl_free(sub_offsety);</div>
-<div class="line"><a name="l03786"></a><span class="lineno"> 3786</span> cpl_free(cubedata);</div>
-<div class="line"><a name="l03787"></a><span class="lineno"> 3787</span> </div>
-<div class="line"><a name="l03788"></a><span class="lineno"> 3788</span> <span class="comment">/* convert the "free space" in the cube to blank pixels */</span></div>
-<div class="line"><a name="l03789"></a><span class="lineno"> 3789</span> sinfo_new_convert_0_to_ZERO_for_cubes(mergedCube) ;</div>
-<div class="line"><a name="l03790"></a><span class="lineno"> 3790</span> cpl_free(kernel) ;</div>
-<div class="line"><a name="l03791"></a><span class="lineno"> 3791</span> <span class="keywordflow">return</span> mask ;</div>
-<div class="line"><a name="l03792"></a><span class="lineno"> 3792</span> }</div>
-<div class="line"><a name="l03793"></a><span class="lineno"> 3793</span> </div>
-<div class="line"><a name="l03794"></a><span class="lineno"> 3794</span> cpl_imagelist *</div>
-<div class="line"><a name="l03795"></a><span class="lineno"> 3795</span> sinfo_new_bin_cube(cpl_imagelist *cu,</div>
-<div class="line"><a name="l03796"></a><span class="lineno"> 3796</span> <span class="keywordtype">int</span> xscale,</div>
-<div class="line"><a name="l03797"></a><span class="lineno"> 3797</span> <span class="keywordtype">int</span> yscale,</div>
-<div class="line"><a name="l03798"></a><span class="lineno"> 3798</span> <span class="keywordtype">int</span> xmin,</div>
-<div class="line"><a name="l03799"></a><span class="lineno"> 3799</span> <span class="keywordtype">int</span> xmax,</div>
-<div class="line"><a name="l03800"></a><span class="lineno"> 3800</span> <span class="keywordtype">int</span> ymin,</div>
-<div class="line"><a name="l03801"></a><span class="lineno"> 3801</span> <span class="keywordtype">int</span> ymax)</div>
-<div class="line"><a name="l03802"></a><span class="lineno"> 3802</span> {</div>
-<div class="line"><a name="l03803"></a><span class="lineno"> 3803</span> <span class="keywordtype">int</span> i,j,k;</div>
-<div class="line"><a name="l03804"></a><span class="lineno"> 3804</span> cpl_imagelist * cube;</div>
-<div class="line"><a name="l03805"></a><span class="lineno"> 3805</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l03806"></a><span class="lineno"> 3806</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l03807"></a><span class="lineno"> 3807</span> <span class="keywordtype">int</span> olx=0;</div>
-<div class="line"><a name="l03808"></a><span class="lineno"> 3808</span> <span class="keywordtype">int</span> oly=0;</div>
-<div class="line"><a name="l03809"></a><span class="lineno"> 3809</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l03810"></a><span class="lineno"> 3810</span> </div>
-<div class="line"><a name="l03811"></a><span class="lineno"> 3811</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l03812"></a><span class="lineno"> 3812</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l03813"></a><span class="lineno"> 3813</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l03814"></a><span class="lineno"> 3814</span> cpl_image* o_img=NULL;</div>
-<div class="line"><a name="l03815"></a><span class="lineno"> 3815</span> </div>
-<div class="line"><a name="l03816"></a><span class="lineno"> 3816</span> </div>
-<div class="line"><a name="l03817"></a><span class="lineno"> 3817</span> <span class="comment">/* old code</span></div>
-<div class="line"><a name="l03818"></a><span class="lineno"> 3818</span> <span class="comment"> if (NULL == (cube = sinfo_newCube (xmax-xmin+1,ymax-ymin+1, cu->np)) )</span></div>
-<div class="line"><a name="l03819"></a><span class="lineno"> 3819</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l03820"></a><span class="lineno"> 3820</span> <span class="comment"> sinfo_msg_error ("cannot allocate new cube") ;</span></div>
-<div class="line"><a name="l03821"></a><span class="lineno"> 3821</span> <span class="comment"> return NULL ;</span></div>
-<div class="line"><a name="l03822"></a><span class="lineno"> 3822</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l03823"></a><span class="lineno"> 3823</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03824"></a><span class="lineno"> 3824</span> inp=cpl_imagelist_get_size(cu);</div>
-<div class="line"><a name="l03825"></a><span class="lineno"> 3825</span> i_img=cpl_imagelist_get(cu,0);</div>
-<div class="line"><a name="l03826"></a><span class="lineno"> 3826</span> ilx=cpl_image_get_size_x(i_img);</div>
-<div class="line"><a name="l03827"></a><span class="lineno"> 3827</span> ily=cpl_image_get_size_y(i_img);</div>
-<div class="line"><a name="l03828"></a><span class="lineno"> 3828</span> olx=xmax-xmin+1;</div>
-<div class="line"><a name="l03829"></a><span class="lineno"> 3829</span> oly=ymax-ymin+1;</div>
-<div class="line"><a name="l03830"></a><span class="lineno"> 3830</span> </div>
-<div class="line"><a name="l03831"></a><span class="lineno"> 3831</span> </div>
-<div class="line"><a name="l03832"></a><span class="lineno"> 3832</span> cube=cpl_imagelist_new();</div>
-<div class="line"><a name="l03833"></a><span class="lineno"> 3833</span> <span class="keywordflow">for</span> ( i = 0 ; i < inp ; i++ ) {</div>
-<div class="line"><a name="l03834"></a><span class="lineno"> 3834</span> o_img = cpl_image_new(olx,oly,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l03835"></a><span class="lineno"> 3835</span> cpl_imagelist_set(cube,o_img,i);</div>
-<div class="line"><a name="l03836"></a><span class="lineno"> 3836</span> }</div>
-<div class="line"><a name="l03837"></a><span class="lineno"> 3837</span> </div>
-<div class="line"><a name="l03838"></a><span class="lineno"> 3838</span> </div>
-<div class="line"><a name="l03839"></a><span class="lineno"> 3839</span> <span class="keywordflow">for</span> (i=0;i<inp;i++){</div>
-<div class="line"><a name="l03840"></a><span class="lineno"> 3840</span> i_img=cpl_imagelist_get(cu,i);</div>
-<div class="line"><a name="l03841"></a><span class="lineno"> 3841</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l03842"></a><span class="lineno"> 3842</span> o_img=cpl_imagelist_get(cube,i);</div>
-<div class="line"><a name="l03843"></a><span class="lineno"> 3843</span> podata=cpl_image_get_data_float(o_img);</div>
-<div class="line"><a name="l03844"></a><span class="lineno"> 3844</span> <span class="keywordflow">for</span> (j=0 ; j < olx ; j++) {</div>
-<div class="line"><a name="l03845"></a><span class="lineno"> 3845</span> <span class="keywordflow">for</span> (k=0 ; k< oly ; k++) {</div>
-<div class="line"><a name="l03846"></a><span class="lineno"> 3846</span> podata[j+k*olx]=pidata[((int) (j+xmin)/xscale)+</div>
-<div class="line"><a name="l03847"></a><span class="lineno"> 3847</span> ((<span class="keywordtype">int</span>) (k+ymin)/yscale)*ilx]/</div>
-<div class="line"><a name="l03848"></a><span class="lineno"> 3848</span> (xscale*yscale);</div>
-<div class="line"><a name="l03849"></a><span class="lineno"> 3849</span> }</div>
-<div class="line"><a name="l03850"></a><span class="lineno"> 3850</span> }</div>
-<div class="line"><a name="l03851"></a><span class="lineno"> 3851</span> }</div>
-<div class="line"><a name="l03852"></a><span class="lineno"> 3852</span> </div>
-<div class="line"><a name="l03853"></a><span class="lineno"> 3853</span> <span class="keywordflow">return</span> cube;</div>
-<div class="line"><a name="l03854"></a><span class="lineno"> 3854</span> }</div>
-<div class="line"><a name="l03855"></a><span class="lineno"> 3855</span> </div>
-<div class="line"><a name="l03856"></a><span class="lineno"> 3856</span> </div>
-<div class="line"><a name="l03857"></a><span class="lineno"> 3857</span> cpl_imagelist *</div>
-<div class="line"><a name="l03858"></a><span class="lineno"> 3858</span> sinfo_new_scale_cube(cpl_imagelist *cu,</div>
-<div class="line"><a name="l03859"></a><span class="lineno"> 3859</span> <span class="keywordtype">float</span> xscale,</div>
-<div class="line"><a name="l03860"></a><span class="lineno"> 3860</span> <span class="keywordtype">float</span> yscale,</div>
-<div class="line"><a name="l03861"></a><span class="lineno"> 3861</span> <span class="keywordtype">char</span> * kernel_type)</div>
-<div class="line"><a name="l03862"></a><span class="lineno"> 3862</span> {</div>
-<div class="line"><a name="l03863"></a><span class="lineno"> 3863</span> cpl_imagelist * cube ;</div>
-<div class="line"><a name="l03864"></a><span class="lineno"> 3864</span> <span class="keywordtype">int</span> i=0, j=0, k=0, l=0 ;</div>
-<div class="line"><a name="l03865"></a><span class="lineno"> 3865</span> <span class="keywordtype">int</span> lx_out, ly_out ;</div>
-<div class="line"><a name="l03866"></a><span class="lineno"> 3866</span> <span class="keywordtype">double</span> cur ;</div>
-<div class="line"><a name="l03867"></a><span class="lineno"> 3867</span> <span class="keywordtype">double</span> * invert_transform ;</div>
-<div class="line"><a name="l03868"></a><span class="lineno"> 3868</span> <span class="keywordtype">double</span> neighbors[16] ;</div>
-<div class="line"><a name="l03869"></a><span class="lineno"> 3869</span> <span class="keywordtype">double</span> rsc[8],</div>
-<div class="line"><a name="l03870"></a><span class="lineno"> 3870</span> sumrs ;</div>
-<div class="line"><a name="l03871"></a><span class="lineno"> 3871</span> <span class="keywordtype">double</span> param[6];</div>
-<div class="line"><a name="l03872"></a><span class="lineno"> 3872</span> <span class="keywordtype">double</span> x, y ;</div>
-<div class="line"><a name="l03873"></a><span class="lineno"> 3873</span> <span class="keywordtype">int</span> px, py ;</div>
-<div class="line"><a name="l03874"></a><span class="lineno"> 3874</span> <span class="keywordtype">int</span> pos ;</div>
-<div class="line"><a name="l03875"></a><span class="lineno"> 3875</span> <span class="keywordtype">int</span> tabx, taby ;</div>
-<div class="line"><a name="l03876"></a><span class="lineno"> 3876</span> <span class="keywordtype">double</span> * kernel ;</div>
-<div class="line"><a name="l03877"></a><span class="lineno"> 3877</span> <span class="keywordtype">int</span> leaps[16] ;</div>
-<div class="line"><a name="l03878"></a><span class="lineno"> 3878</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l03879"></a><span class="lineno"> 3879</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l03880"></a><span class="lineno"> 3880</span> <span class="keywordtype">int</span> tlx=0;</div>
-<div class="line"><a name="l03881"></a><span class="lineno"> 3881</span> <span class="keywordtype">int</span> tly=0;</div>
-<div class="line"><a name="l03882"></a><span class="lineno"> 3882</span> <span class="keywordtype">int</span> inp;</div>
-<div class="line"><a name="l03883"></a><span class="lineno"> 3883</span> <span class="keywordtype">float</span>* podata=0;</div>
-<div class="line"><a name="l03884"></a><span class="lineno"> 3884</span> cpl_image* in_img=NULL;</div>
-<div class="line"><a name="l03885"></a><span class="lineno"> 3885</span> cpl_image* ou_img=NULL;</div>
-<div class="line"><a name="l03886"></a><span class="lineno"> 3886</span> </div>
-<div class="line"><a name="l03887"></a><span class="lineno"> 3887</span> </div>
-<div class="line"><a name="l03888"></a><span class="lineno"> 3888</span> <span class="keywordflow">if</span> (cu == NULL)</div>
-<div class="line"><a name="l03889"></a><span class="lineno"> 3889</span> {</div>
-<div class="line"><a name="l03890"></a><span class="lineno"> 3890</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"null cube"</span>) ;</div>
-<div class="line"><a name="l03891"></a><span class="lineno"> 3891</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03892"></a><span class="lineno"> 3892</span> }</div>
-<div class="line"><a name="l03893"></a><span class="lineno"> 3893</span> </div>
-<div class="line"><a name="l03894"></a><span class="lineno"> 3894</span> param[0]=xscale;</div>
-<div class="line"><a name="l03895"></a><span class="lineno"> 3895</span> param[1]=0;</div>
-<div class="line"><a name="l03896"></a><span class="lineno"> 3896</span> param[2]=0;</div>
-<div class="line"><a name="l03897"></a><span class="lineno"> 3897</span> param[3]=0;</div>
-<div class="line"><a name="l03898"></a><span class="lineno"> 3898</span> param[4]=yscale;</div>
-<div class="line"><a name="l03899"></a><span class="lineno"> 3899</span> param[5]=0;</div>
-<div class="line"><a name="l03900"></a><span class="lineno"> 3900</span> </div>
-<div class="line"><a name="l03901"></a><span class="lineno"> 3901</span> </div>
-<div class="line"><a name="l03902"></a><span class="lineno"> 3902</span> invert_transform = sinfo_invert_linear_transform(param) ;</div>
-<div class="line"><a name="l03903"></a><span class="lineno"> 3903</span> <span class="keywordflow">if</span> (invert_transform == NULL) {</div>
-<div class="line"><a name="l03904"></a><span class="lineno"> 3904</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot compute sinfo_invert transform: "</span></div>
-<div class="line"><a name="l03905"></a><span class="lineno"> 3905</span> <span class="stringliteral">"aborting warping"</span>) ;</div>
-<div class="line"><a name="l03906"></a><span class="lineno"> 3906</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03907"></a><span class="lineno"> 3907</span> }</div>
-<div class="line"><a name="l03908"></a><span class="lineno"> 3908</span> </div>
-<div class="line"><a name="l03909"></a><span class="lineno"> 3909</span> <span class="comment">/* Generate default interpolation kernel */</span></div>
-<div class="line"><a name="l03910"></a><span class="lineno"> 3910</span> kernel = sinfo_generate_interpolation_kernel(kernel_type) ;</div>
-<div class="line"><a name="l03911"></a><span class="lineno"> 3911</span> <span class="keywordflow">if</span> (kernel == NULL) {</div>
-<div class="line"><a name="l03912"></a><span class="lineno"> 3912</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot generate kernel: aborting resampling"</span>) ;</div>
-<div class="line"><a name="l03913"></a><span class="lineno"> 3913</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03914"></a><span class="lineno"> 3914</span> }</div>
-<div class="line"><a name="l03915"></a><span class="lineno"> 3915</span> </div>
-<div class="line"><a name="l03916"></a><span class="lineno"> 3916</span> <span class="comment">/* Compute new image size */</span></div>
-<div class="line"><a name="l03917"></a><span class="lineno"> 3917</span> <span class="comment">/* Compute new image size */</span></div>
-<div class="line"><a name="l03918"></a><span class="lineno"> 3918</span> ilx=cpl_image_get_size_x(cpl_imagelist_get(cu,0));</div>
-<div class="line"><a name="l03919"></a><span class="lineno"> 3919</span> ily=cpl_image_get_size_y(cpl_imagelist_get(cu,0));</div>
-<div class="line"><a name="l03920"></a><span class="lineno"> 3920</span> inp=cpl_imagelist_get_size(cu);</div>
-<div class="line"><a name="l03921"></a><span class="lineno"> 3921</span> </div>
-<div class="line"><a name="l03922"></a><span class="lineno"> 3922</span> lx_out = (int) ilx*xscale ;</div>
-<div class="line"><a name="l03923"></a><span class="lineno"> 3923</span> ly_out = (int) ily*yscale ;</div>
-<div class="line"><a name="l03924"></a><span class="lineno"> 3924</span> </div>
-<div class="line"><a name="l03925"></a><span class="lineno"> 3925</span> cube=cpl_imagelist_new();</div>
-<div class="line"><a name="l03926"></a><span class="lineno"> 3926</span> <span class="keywordflow">for</span> ( l = 0 ; l < inp ; l++ ) {</div>
-<div class="line"><a name="l03927"></a><span class="lineno"> 3927</span> in_img = cpl_image_new(ilx,ily,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l03928"></a><span class="lineno"> 3928</span> cpl_imagelist_set(cube,in_img,l);</div>
-<div class="line"><a name="l03929"></a><span class="lineno"> 3929</span> }</div>
-<div class="line"><a name="l03930"></a><span class="lineno"> 3930</span> </div>
-<div class="line"><a name="l03931"></a><span class="lineno"> 3931</span> <span class="comment">/* old code</span></div>
-<div class="line"><a name="l03932"></a><span class="lineno"> 3932</span> <span class="comment"> if (NULL == (cube = sinfo_newCube (lx_out, ly_out, cu->np)) )</span></div>
-<div class="line"><a name="l03933"></a><span class="lineno"> 3933</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l03934"></a><span class="lineno"> 3934</span> <span class="comment"> sinfo_msg_error (" cannot allocate new cube") ;</span></div>
-<div class="line"><a name="l03935"></a><span class="lineno"> 3935</span> <span class="comment"> return NULL ;</span></div>
-<div class="line"><a name="l03936"></a><span class="lineno"> 3936</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l03937"></a><span class="lineno"> 3937</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03938"></a><span class="lineno"> 3938</span> </div>
-<div class="line"><a name="l03939"></a><span class="lineno"> 3939</span> <span class="keywordflow">for</span> (l=0;l<inp;l++){</div>
-<div class="line"><a name="l03940"></a><span class="lineno"> 3940</span> in_img=cpl_imagelist_get(cu,l);</div>
-<div class="line"><a name="l03941"></a><span class="lineno"> 3941</span> ou_img=cpl_imagelist_get(cube,l);</div>
-<div class="line"><a name="l03942"></a><span class="lineno"> 3942</span> tlx=cpl_image_get_size_x(in_img);</div>
-<div class="line"><a name="l03943"></a><span class="lineno"> 3943</span> tly=cpl_image_get_size_y(in_img);</div>
-<div class="line"><a name="l03944"></a><span class="lineno"> 3944</span> podata=cpl_image_get_data_float(ou_img);</div>
-<div class="line"><a name="l03945"></a><span class="lineno"> 3945</span> <span class="comment">/* Pre compute leaps for 16 closest neighbors positions */</span></div>
-<div class="line"><a name="l03946"></a><span class="lineno"> 3946</span> leaps[0] = -1 - tlx ;</div>
-<div class="line"><a name="l03947"></a><span class="lineno"> 3947</span> leaps[1] = - tlx ;</div>
-<div class="line"><a name="l03948"></a><span class="lineno"> 3948</span> leaps[2] = 1 - tlx ;</div>
-<div class="line"><a name="l03949"></a><span class="lineno"> 3949</span> leaps[3] = 2 - tlx ;</div>
-<div class="line"><a name="l03950"></a><span class="lineno"> 3950</span> </div>
-<div class="line"><a name="l03951"></a><span class="lineno"> 3951</span> leaps[4] = -1 ;</div>
-<div class="line"><a name="l03952"></a><span class="lineno"> 3952</span> leaps[5] = 0 ;</div>
-<div class="line"><a name="l03953"></a><span class="lineno"> 3953</span> leaps[6] = 1 ;</div>
-<div class="line"><a name="l03954"></a><span class="lineno"> 3954</span> leaps[7] = 2 ;</div>
-<div class="line"><a name="l03955"></a><span class="lineno"> 3955</span> </div>
-<div class="line"><a name="l03956"></a><span class="lineno"> 3956</span> leaps[8] = -1 + tlx ;</div>
-<div class="line"><a name="l03957"></a><span class="lineno"> 3957</span> leaps[9] = tlx ;</div>
-<div class="line"><a name="l03958"></a><span class="lineno"> 3958</span> leaps[10]= 1 + tlx ;</div>
-<div class="line"><a name="l03959"></a><span class="lineno"> 3959</span> leaps[11]= 2 + tlx ;</div>
-<div class="line"><a name="l03960"></a><span class="lineno"> 3960</span> </div>
-<div class="line"><a name="l03961"></a><span class="lineno"> 3961</span> leaps[12]= -1 + 2*tlx ;</div>
-<div class="line"><a name="l03962"></a><span class="lineno"> 3962</span> leaps[13]= 2*tlx ;</div>
-<div class="line"><a name="l03963"></a><span class="lineno"> 3963</span> leaps[14]= 1 + 2*tlx ;</div>
-<div class="line"><a name="l03964"></a><span class="lineno"> 3964</span> leaps[15]= 2 + 2*tlx ;</div>
-<div class="line"><a name="l03965"></a><span class="lineno"> 3965</span> </div>
-<div class="line"><a name="l03966"></a><span class="lineno"> 3966</span> <span class="comment">/* Double loop on the output image */</span></div>
-<div class="line"><a name="l03967"></a><span class="lineno"> 3967</span> <span class="keywordflow">for</span> (j=0 ; j < ly_out ; j++) {</div>
-<div class="line"><a name="l03968"></a><span class="lineno"> 3968</span> <span class="keywordflow">for</span> (i=0 ; i< lx_out ; i++) {</div>
-<div class="line"><a name="l03969"></a><span class="lineno"> 3969</span> <span class="comment">/* Compute the original source for this pixel */</span></div>
-<div class="line"><a name="l03970"></a><span class="lineno"> 3970</span> </div>
-<div class="line"><a name="l03971"></a><span class="lineno"> 3971</span> x = invert_transform[0] * (double)i +</div>
-<div class="line"><a name="l03972"></a><span class="lineno"> 3972</span> invert_transform[1] * (<span class="keywordtype">double</span>)j +</div>
-<div class="line"><a name="l03973"></a><span class="lineno"> 3973</span> invert_transform[2] ;</div>
-<div class="line"><a name="l03974"></a><span class="lineno"> 3974</span> </div>
-<div class="line"><a name="l03975"></a><span class="lineno"> 3975</span> y = invert_transform[3] * (<span class="keywordtype">double</span>)i +</div>
-<div class="line"><a name="l03976"></a><span class="lineno"> 3976</span> invert_transform[4] * (<span class="keywordtype">double</span>)j +</div>
-<div class="line"><a name="l03977"></a><span class="lineno"> 3977</span> invert_transform[5] ;</div>
-<div class="line"><a name="l03978"></a><span class="lineno"> 3978</span> </div>
-<div class="line"><a name="l03979"></a><span class="lineno"> 3979</span> <span class="comment">/* Which is the closest integer positioned neighbor? */</span></div>
-<div class="line"><a name="l03980"></a><span class="lineno"> 3980</span> px = (<span class="keywordtype">int</span>)x ;</div>
-<div class="line"><a name="l03981"></a><span class="lineno"> 3981</span> py = (<span class="keywordtype">int</span>)y ;</div>
-<div class="line"><a name="l03982"></a><span class="lineno"> 3982</span> </div>
-<div class="line"><a name="l03983"></a><span class="lineno"> 3983</span> if ((px < 1) ||</div>
-<div class="line"><a name="l03984"></a><span class="lineno"> 3984</span> (px > (tlx-2)) ||</div>
-<div class="line"><a name="l03985"></a><span class="lineno"> 3985</span> (py < 1) ||</div>
-<div class="line"><a name="l03986"></a><span class="lineno"> 3986</span> (py > (tly-2)))</div>
-<div class="line"><a name="l03987"></a><span class="lineno"> 3987</span> podata[i+j*lx_out] = (pixelvalue)0.0 ;</div>
-<div class="line"><a name="l03988"></a><span class="lineno"> 3988</span> else {</div>
-<div class="line"><a name="l03989"></a><span class="lineno"> 3989</span> <span class="comment">/* Now feed the positions for the closest 16 neighbors */</span></div>
-<div class="line"><a name="l03990"></a><span class="lineno"> 3990</span> pos = px + py * tlx ;</div>
-<div class="line"><a name="l03991"></a><span class="lineno"> 3991</span> <span class="keywordflow">for</span> (k=0 ; k<16 ; k++){</div>
-<div class="line"><a name="l03992"></a><span class="lineno"> 3992</span> <span class="keywordflow">if</span>(!isnan(podata[(<span class="keywordtype">int</span>)(pos+leaps[k])])) neighbors[k] =</div>
-<div class="line"><a name="l03993"></a><span class="lineno"> 3993</span> (<span class="keywordtype">double</span>)(podata[(int)(pos+leaps[k])]) ;</div>
-<div class="line"><a name="l03994"></a><span class="lineno"> 3994</span> <span class="keywordflow">else</span> neighbors[k]=0;</div>
-<div class="line"><a name="l03995"></a><span class="lineno"> 3995</span> }</div>
-<div class="line"><a name="l03996"></a><span class="lineno"> 3996</span> </div>
-<div class="line"><a name="l03997"></a><span class="lineno"> 3997</span> <span class="comment">/* Which tabulated value index shall we use? */</span></div>
-<div class="line"><a name="l03998"></a><span class="lineno"> 3998</span> tabx = (x - (double)px) * (double)(TABSPERPIX) ;</div>
-<div class="line"><a name="l03999"></a><span class="lineno"> 3999</span> taby = (y - (double)py) * (double)(TABSPERPIX) ;</div>
-<div class="line"><a name="l04000"></a><span class="lineno"> 4000</span> </div>
-<div class="line"><a name="l04001"></a><span class="lineno"> 4001</span> <span class="comment">/* Compute resampling coefficients */</span></div>
-<div class="line"><a name="l04002"></a><span class="lineno"> 4002</span> <span class="comment">/* rsc[0..3] in x, rsc[4..7] in y */</span></div>
-<div class="line"><a name="l04003"></a><span class="lineno"> 4003</span> </div>
-<div class="line"><a name="l04004"></a><span class="lineno"> 4004</span> rsc[0] = kernel[TABSPERPIX + tabx] ;</div>
-<div class="line"><a name="l04005"></a><span class="lineno"> 4005</span> rsc[1] = kernel[tabx] ;</div>
-<div class="line"><a name="l04006"></a><span class="lineno"> 4006</span> rsc[2] = kernel[TABSPERPIX - tabx] ;</div>
-<div class="line"><a name="l04007"></a><span class="lineno"> 4007</span> rsc[3] = kernel[2 * TABSPERPIX - tabx] ;</div>
-<div class="line"><a name="l04008"></a><span class="lineno"> 4008</span> rsc[4] = kernel[TABSPERPIX + taby] ;</div>
-<div class="line"><a name="l04009"></a><span class="lineno"> 4009</span> rsc[5] = kernel[taby] ;</div>
-<div class="line"><a name="l04010"></a><span class="lineno"> 4010</span> rsc[6] = kernel[TABSPERPIX - taby] ;</div>
-<div class="line"><a name="l04011"></a><span class="lineno"> 4011</span> rsc[7] = kernel[2 * TABSPERPIX - taby] ;</div>
-<div class="line"><a name="l04012"></a><span class="lineno"> 4012</span> </div>
-<div class="line"><a name="l04013"></a><span class="lineno"> 4013</span> sumrs = (rsc[0]+rsc[1]+rsc[2]+rsc[3]) *</div>
-<div class="line"><a name="l04014"></a><span class="lineno"> 4014</span> (rsc[4]+rsc[5]+rsc[6]+rsc[7]) ;</div>
-<div class="line"><a name="l04015"></a><span class="lineno"> 4015</span> </div>
-<div class="line"><a name="l04016"></a><span class="lineno"> 4016</span> <span class="comment">/* Compute interpolated pixel now */</span></div>
-<div class="line"><a name="l04017"></a><span class="lineno"> 4017</span> cur = rsc[4] * ( rsc[0]*neighbors[0] +</div>
-<div class="line"><a name="l04018"></a><span class="lineno"> 4018</span> rsc[1]*neighbors[1] +</div>
-<div class="line"><a name="l04019"></a><span class="lineno"> 4019</span> rsc[2]*neighbors[2] +</div>
-<div class="line"><a name="l04020"></a><span class="lineno"> 4020</span> rsc[3]*neighbors[3] ) +</div>
-<div class="line"><a name="l04021"></a><span class="lineno"> 4021</span> rsc[5] * ( rsc[0]*neighbors[4] +</div>
-<div class="line"><a name="l04022"></a><span class="lineno"> 4022</span> rsc[1]*neighbors[5] +</div>
-<div class="line"><a name="l04023"></a><span class="lineno"> 4023</span> rsc[2]*neighbors[6] +</div>
-<div class="line"><a name="l04024"></a><span class="lineno"> 4024</span> rsc[3]*neighbors[7] ) +</div>
-<div class="line"><a name="l04025"></a><span class="lineno"> 4025</span> rsc[6] * ( rsc[0]*neighbors[8] +</div>
-<div class="line"><a name="l04026"></a><span class="lineno"> 4026</span> rsc[1]*neighbors[9] +</div>
-<div class="line"><a name="l04027"></a><span class="lineno"> 4027</span> rsc[2]*neighbors[10] +</div>
-<div class="line"><a name="l04028"></a><span class="lineno"> 4028</span> rsc[3]*neighbors[11] ) +</div>
-<div class="line"><a name="l04029"></a><span class="lineno"> 4029</span> rsc[7] * ( rsc[0]*neighbors[12] +</div>
-<div class="line"><a name="l04030"></a><span class="lineno"> 4030</span> rsc[1]*neighbors[13] +</div>
-<div class="line"><a name="l04031"></a><span class="lineno"> 4031</span> rsc[2]*neighbors[14] +</div>
-<div class="line"><a name="l04032"></a><span class="lineno"> 4032</span> rsc[3]*neighbors[15] ) ;</div>
-<div class="line"><a name="l04033"></a><span class="lineno"> 4033</span> </div>
-<div class="line"><a name="l04034"></a><span class="lineno"> 4034</span> <span class="comment">/* Affect the value to the output image */</span></div>
-<div class="line"><a name="l04035"></a><span class="lineno"> 4035</span> podata[i+j*lx_out] = (pixelvalue)(cur/sumrs) ;</div>
-<div class="line"><a name="l04036"></a><span class="lineno"> 4036</span> <span class="comment">/* done ! */</span></div>
-<div class="line"><a name="l04037"></a><span class="lineno"> 4037</span> }</div>
-<div class="line"><a name="l04038"></a><span class="lineno"> 4038</span> }</div>
-<div class="line"><a name="l04039"></a><span class="lineno"> 4039</span> }</div>
-<div class="line"><a name="l04040"></a><span class="lineno"> 4040</span> }</div>
-<div class="line"><a name="l04041"></a><span class="lineno"> 4041</span> cpl_free(kernel) ;</div>
-<div class="line"><a name="l04042"></a><span class="lineno"> 4042</span> cpl_free(invert_transform) ;</div>
-<div class="line"><a name="l04043"></a><span class="lineno"> 4043</span> <span class="keywordflow">return</span> cube ;</div>
-<div class="line"><a name="l04044"></a><span class="lineno"> 4044</span> }</div>
-<div class="line"><a name="l04045"></a><span class="lineno"> 4045</span> </div>
-<div class="line"><a name="l04046"></a><span class="lineno"> 4046</span> </div>
-<div class="line"><a name="l04056"></a><span class="lineno"> 4056</span> cpl_imagelist *</div>
-<div class="line"><a name="l04057"></a><span class="lineno"> 4057</span> sinfo_cube_zshift(<span class="keyword">const</span> cpl_imagelist * cube_inp,</div>
-<div class="line"><a name="l04058"></a><span class="lineno"> 4058</span> <span class="keyword">const</span> <span class="keywordtype">double</span> shift,</div>
-<div class="line"><a name="l04059"></a><span class="lineno"> 4059</span> <span class="keywordtype">double</span>* sub_shift)</div>
-<div class="line"><a name="l04060"></a><span class="lineno"> 4060</span> {</div>
-<div class="line"><a name="l04061"></a><span class="lineno"> 4061</span> </div>
-<div class="line"><a name="l04062"></a><span class="lineno"> 4062</span> cpl_imagelist * cube_out=NULL ;</div>
-<div class="line"><a name="l04063"></a><span class="lineno"> 4063</span> <span class="keyword">const</span> cpl_image* img_inp=NULL;</div>
-<div class="line"><a name="l04064"></a><span class="lineno"> 4064</span> cpl_image* img_out=NULL;</div>
-<div class="line"><a name="l04065"></a><span class="lineno"> 4065</span> <span class="keywordtype">int</span> col, row,z ;</div>
-<div class="line"><a name="l04066"></a><span class="lineno"> 4066</span> <span class="keywordtype">int</span> int_shift ;</div>
-<div class="line"><a name="l04067"></a><span class="lineno"> 4067</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l04068"></a><span class="lineno"> 4068</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l04069"></a><span class="lineno"> 4069</span> <span class="keywordtype">int</span> ilz=0;</div>
-<div class="line"><a name="l04070"></a><span class="lineno"> 4070</span> </div>
-<div class="line"><a name="l04071"></a><span class="lineno"> 4071</span> <span class="keywordtype">int</span> olx=0;</div>
-<div class="line"><a name="l04072"></a><span class="lineno"> 4072</span> <span class="keywordtype">int</span> oly=0;</div>
-<div class="line"><a name="l04073"></a><span class="lineno"> 4073</span> <span class="keywordtype">int</span> olz=0;</div>
-<div class="line"><a name="l04074"></a><span class="lineno"> 4074</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l04075"></a><span class="lineno"> 4075</span> <span class="keyword">const</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l04076"></a><span class="lineno"> 4076</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l04077"></a><span class="lineno"> 4077</span> </div>
-<div class="line"><a name="l04078"></a><span class="lineno"> 4078</span> cknull(cube_inp,<span class="stringliteral">"no input cube given!"</span>) ;</div>
-<div class="line"><a name="l04079"></a><span class="lineno"> 4079</span> check_nomsg(img_inp=cpl_imagelist_get_const(cube_inp,0));</div>
-<div class="line"><a name="l04080"></a><span class="lineno"> 4080</span> check_nomsg(ilx=cpl_image_get_size_x(img_inp));</div>
-<div class="line"><a name="l04081"></a><span class="lineno"> 4081</span> check_nomsg(ily=cpl_image_get_size_y(img_inp));</div>
-<div class="line"><a name="l04082"></a><span class="lineno"> 4082</span> check_nomsg(ilz=cpl_imagelist_get_size(cube_inp));</div>
-<div class="line"><a name="l04083"></a><span class="lineno"> 4083</span> </div>
-<div class="line"><a name="l04084"></a><span class="lineno"> 4084</span> olx=ilx;</div>
-<div class="line"><a name="l04085"></a><span class="lineno"> 4085</span> oly=ily;</div>
-<div class="line"><a name="l04086"></a><span class="lineno"> 4086</span> olz=ilz;</div>
-<div class="line"><a name="l04087"></a><span class="lineno"> 4087</span> </div>
-<div class="line"><a name="l04088"></a><span class="lineno"> 4088</span> int_shift = sinfo_new_nint(shift) ;</div>
-<div class="line"><a name="l04089"></a><span class="lineno"> 4089</span> *sub_shift = shift - (double) int_shift ;</div>
-<div class="line"><a name="l04090"></a><span class="lineno"> 4090</span> <span class="keywordflow">if</span> ( int_shift == 0 )</div>
-<div class="line"><a name="l04091"></a><span class="lineno"> 4091</span> {</div>
-<div class="line"><a name="l04092"></a><span class="lineno"> 4092</span> cube_out =cpl_imagelist_duplicate(cube_inp) ;</div>
-<div class="line"><a name="l04093"></a><span class="lineno"> 4093</span> <span class="keywordflow">return</span> cube_out ;</div>
-<div class="line"><a name="l04094"></a><span class="lineno"> 4094</span> }</div>
-<div class="line"><a name="l04095"></a><span class="lineno"> 4095</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l04096"></a><span class="lineno"> 4096</span> {</div>
-<div class="line"><a name="l04097"></a><span class="lineno"> 4097</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l04098"></a><span class="lineno"> 4098</span> cknull(cube_out = cpl_imagelist_new(),<span class="stringliteral">"could not allocate memory!"</span>) ;</div>
-<div class="line"><a name="l04099"></a><span class="lineno"> 4099</span> <span class="keywordflow">for</span> ( i = 0 ; i < olz ; i++ ) {</div>
-<div class="line"><a name="l04100"></a><span class="lineno"> 4100</span> check_nomsg(img_out=cpl_image_new(olx,oly,CPL_TYPE_FLOAT));</div>
-<div class="line"><a name="l04101"></a><span class="lineno"> 4101</span> check_nomsg(cpl_imagelist_set(cube_out,img_out,i));</div>
-<div class="line"><a name="l04102"></a><span class="lineno"> 4102</span> }</div>
-<div class="line"><a name="l04103"></a><span class="lineno"> 4103</span> }</div>
-<div class="line"><a name="l04104"></a><span class="lineno"> 4104</span> </div>
-<div class="line"><a name="l04105"></a><span class="lineno"> 4105</span> <span class="keywordflow">for</span>(z=0; z< ilz; z++) {</div>
-<div class="line"><a name="l04106"></a><span class="lineno"> 4106</span> <span class="keywordflow">if</span> ( (z-int_shift >= 0 ) && (z - int_shift < olz) ) {</div>
-<div class="line"><a name="l04107"></a><span class="lineno"> 4107</span> check_nomsg(img_inp=cpl_imagelist_get_const(cube_inp,z));</div>
-<div class="line"><a name="l04108"></a><span class="lineno"> 4108</span> check_nomsg(img_out=cpl_imagelist_get(cube_out,z-int_shift));</div>
-<div class="line"><a name="l04109"></a><span class="lineno"> 4109</span> check_nomsg(pidata=cpl_image_get_data_float_const(img_inp));</div>
-<div class="line"><a name="l04110"></a><span class="lineno"> 4110</span> check_nomsg(podata=cpl_image_get_data_float(img_out));</div>
-<div class="line"><a name="l04111"></a><span class="lineno"> 4111</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ ) {</div>
-<div class="line"><a name="l04112"></a><span class="lineno"> 4112</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ ) {</div>
-<div class="line"><a name="l04113"></a><span class="lineno"> 4113</span> podata[col+row*olx] = pidata[col+row*olx] ;</div>
-<div class="line"><a name="l04114"></a><span class="lineno"> 4114</span> }</div>
-<div class="line"><a name="l04115"></a><span class="lineno"> 4115</span> }</div>
-<div class="line"><a name="l04116"></a><span class="lineno"> 4116</span> }</div>
-<div class="line"><a name="l04117"></a><span class="lineno"> 4117</span> }</div>
-<div class="line"><a name="l04118"></a><span class="lineno"> 4118</span> <span class="keywordflow">return</span> cube_out ;</div>
-<div class="line"><a name="l04119"></a><span class="lineno"> 4119</span> </div>
-<div class="line"><a name="l04120"></a><span class="lineno"> 4120</span> cleanup:</div>
-<div class="line"><a name="l04121"></a><span class="lineno"> 4121</span> sinfo_free_imagelist(&cube_out);</div>
-<div class="line"><a name="l04122"></a><span class="lineno"> 4122</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l04123"></a><span class="lineno"> 4123</span> }</div>
-<div class="line"><a name="l04124"></a><span class="lineno"> 4124</span> </div>
-<div class="line"><a name="l04134"></a><span class="lineno"> 4134</span> cpl_imagelist *</div>
-<div class="line"><a name="l04135"></a><span class="lineno"> 4135</span> sinfo_cube_zshift_poly(<span class="keyword">const</span> cpl_imagelist * cube_inp,</div>
-<div class="line"><a name="l04136"></a><span class="lineno"> 4136</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sub_shift,</div>
-<div class="line"><a name="l04137"></a><span class="lineno"> 4137</span> <span class="keyword">const</span> <span class="keywordtype">int</span> order)</div>
-<div class="line"><a name="l04138"></a><span class="lineno"> 4138</span> {</div>
-<div class="line"><a name="l04139"></a><span class="lineno"> 4139</span> cpl_imagelist * cube_out ;</div>
-<div class="line"><a name="l04140"></a><span class="lineno"> 4140</span> </div>
-<div class="line"><a name="l04141"></a><span class="lineno"> 4141</span> <span class="keywordtype">float</span>* spec=NULL ;</div>
-<div class="line"><a name="l04142"></a><span class="lineno"> 4142</span> <span class="keywordtype">float</span>* corrected_spec=NULL ;</div>
-<div class="line"><a name="l04143"></a><span class="lineno"> 4143</span> <span class="keywordtype">float</span>* xnum=NULL ;</div>
-<div class="line"><a name="l04144"></a><span class="lineno"> 4144</span> </div>
-<div class="line"><a name="l04145"></a><span class="lineno"> 4145</span> <span class="keywordtype">float</span> sum=0;</div>
-<div class="line"><a name="l04146"></a><span class="lineno"> 4146</span> <span class="keywordtype">float</span> new_sum=0 ;</div>
-<div class="line"><a name="l04147"></a><span class="lineno"> 4147</span> <span class="keywordtype">float</span> eval=0 ;</div>
-<div class="line"><a name="l04148"></a><span class="lineno"> 4148</span> <span class="keywordtype">float</span> * imageptr=NULL ;</div>
-<div class="line"><a name="l04149"></a><span class="lineno"> 4149</span> <span class="keywordtype">int</span> row=0;</div>
-<div class="line"><a name="l04150"></a><span class="lineno"> 4150</span> <span class="keywordtype">int</span> col=0 ;</div>
-<div class="line"><a name="l04151"></a><span class="lineno"> 4151</span> <span class="keywordtype">int</span> firstpos=0 ;</div>
-<div class="line"><a name="l04152"></a><span class="lineno"> 4152</span> <span class="keywordtype">int</span> n_points=0 ;</div>
-<div class="line"><a name="l04153"></a><span class="lineno"> 4153</span> <span class="keywordtype">int</span> i=0 ;</div>
-<div class="line"><a name="l04154"></a><span class="lineno"> 4154</span> <span class="keywordtype">int</span> flag=0;</div>
-<div class="line"><a name="l04155"></a><span class="lineno"> 4155</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l04156"></a><span class="lineno"> 4156</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l04157"></a><span class="lineno"> 4157</span> <span class="keywordtype">int</span> ilz=0;</div>
-<div class="line"><a name="l04158"></a><span class="lineno"> 4158</span> </div>
-<div class="line"><a name="l04159"></a><span class="lineno"> 4159</span> <span class="keywordtype">int</span> olx=0;</div>
-<div class="line"><a name="l04160"></a><span class="lineno"> 4160</span> <span class="keywordtype">int</span> oly=0;</div>
-<div class="line"><a name="l04161"></a><span class="lineno"> 4161</span> <span class="keywordtype">int</span> olz=0;</div>
-<div class="line"><a name="l04162"></a><span class="lineno"> 4162</span> <span class="keywordtype">int</span> z=0;</div>
-<div class="line"><a name="l04163"></a><span class="lineno"> 4163</span> </div>
-<div class="line"><a name="l04164"></a><span class="lineno"> 4164</span> <span class="keyword">const</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l04165"></a><span class="lineno"> 4165</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l04166"></a><span class="lineno"> 4166</span> <span class="keyword">const</span> cpl_image* img_inp=NULL;</div>
-<div class="line"><a name="l04167"></a><span class="lineno"> 4167</span> cpl_image* img_out=NULL;</div>
-<div class="line"><a name="l04168"></a><span class="lineno"> 4168</span> </div>
-<div class="line"><a name="l04169"></a><span class="lineno"> 4169</span> <span class="keywordflow">if</span> ( cube_inp == NULL ) {</div>
-<div class="line"><a name="l04170"></a><span class="lineno"> 4170</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no imagelist given!"</span>) ;</div>
-<div class="line"><a name="l04171"></a><span class="lineno"> 4171</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l04172"></a><span class="lineno"> 4172</span> }</div>
-<div class="line"><a name="l04173"></a><span class="lineno"> 4173</span> </div>
-<div class="line"><a name="l04174"></a><span class="lineno"> 4174</span> img_inp=cpl_imagelist_get_const(cube_inp,0);</div>
-<div class="line"><a name="l04175"></a><span class="lineno"> 4175</span> </div>
-<div class="line"><a name="l04176"></a><span class="lineno"> 4176</span> ilx=cpl_image_get_size_x(img_inp);</div>
-<div class="line"><a name="l04177"></a><span class="lineno"> 4177</span> ily=cpl_image_get_size_y(img_inp);</div>
-<div class="line"><a name="l04178"></a><span class="lineno"> 4178</span> ilz=cpl_imagelist_get_size(cube_inp);</div>
-<div class="line"><a name="l04179"></a><span class="lineno"> 4179</span> </div>
-<div class="line"><a name="l04180"></a><span class="lineno"> 4180</span> <span class="keywordflow">if</span> ( order <= 0 ) {</div>
-<div class="line"><a name="l04181"></a><span class="lineno"> 4181</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong order of interpolation polynom given!"</span>) ;</div>
-<div class="line"><a name="l04182"></a><span class="lineno"> 4182</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l04183"></a><span class="lineno"> 4183</span> }</div>
-<div class="line"><a name="l04184"></a><span class="lineno"> 4184</span> </div>
-<div class="line"><a name="l04185"></a><span class="lineno"> 4185</span> </div>
-<div class="line"><a name="l04186"></a><span class="lineno"> 4186</span> olx=ilx;</div>
-<div class="line"><a name="l04187"></a><span class="lineno"> 4187</span> oly=ily;</div>
-<div class="line"><a name="l04188"></a><span class="lineno"> 4188</span> olz=ilz;</div>
-<div class="line"><a name="l04189"></a><span class="lineno"> 4189</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l04190"></a><span class="lineno"> 4190</span> </div>
-<div class="line"><a name="l04191"></a><span class="lineno"> 4191</span> <span class="keywordflow">if</span> ( NULL == (cube_out = cpl_imagelist_new()) ) {</div>
-<div class="line"><a name="l04192"></a><span class="lineno"> 4192</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"could not allocate memory!"</span>) ;</div>
-<div class="line"><a name="l04193"></a><span class="lineno"> 4193</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l04194"></a><span class="lineno"> 4194</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04195"></a><span class="lineno"> 4195</span> <span class="keywordflow">for</span> ( i = 0 ; i < ilz ; i++ ) {</div>
-<div class="line"><a name="l04196"></a><span class="lineno"> 4196</span> img_out=cpl_image_new(olx,oly,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l04197"></a><span class="lineno"> 4197</span> cpl_imagelist_set(cube_out,img_out,i);</div>
-<div class="line"><a name="l04198"></a><span class="lineno"> 4198</span> }</div>
-<div class="line"><a name="l04199"></a><span class="lineno"> 4199</span> }</div>
-<div class="line"><a name="l04200"></a><span class="lineno"> 4200</span> </div>
-<div class="line"><a name="l04201"></a><span class="lineno"> 4201</span> </div>
-<div class="line"><a name="l04202"></a><span class="lineno"> 4202</span> n_points = order + 1 ;</div>
-<div class="line"><a name="l04203"></a><span class="lineno"> 4203</span> <span class="keywordflow">if</span> ( n_points % 2 == 0 ) {</div>
-<div class="line"><a name="l04204"></a><span class="lineno"> 4204</span> firstpos = (int)(n_points/2) - 1 ;</div>
-<div class="line"><a name="l04205"></a><span class="lineno"> 4205</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04206"></a><span class="lineno"> 4206</span> firstpos = (int)(n_points/2) ;</div>
-<div class="line"><a name="l04207"></a><span class="lineno"> 4207</span> }</div>
-<div class="line"><a name="l04208"></a><span class="lineno"> 4208</span> </div>
-<div class="line"><a name="l04209"></a><span class="lineno"> 4209</span> spec=cpl_calloc(ilz,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l04210"></a><span class="lineno"> 4210</span> corrected_spec=cpl_calloc(ilz,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l04211"></a><span class="lineno"> 4211</span> xnum=cpl_calloc(order+1,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l04212"></a><span class="lineno"> 4212</span> </div>
-<div class="line"><a name="l04213"></a><span class="lineno"> 4213</span> </div>
-<div class="line"><a name="l04214"></a><span class="lineno"> 4214</span> <span class="comment">/* fill the xa[] array for the polint function */</span></div>
-<div class="line"><a name="l04215"></a><span class="lineno"> 4215</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_points ; i++ ) {</div>
-<div class="line"><a name="l04216"></a><span class="lineno"> 4216</span> xnum[i] = i ;</div>
-<div class="line"><a name="l04217"></a><span class="lineno"> 4217</span> }</div>
-<div class="line"><a name="l04218"></a><span class="lineno"> 4218</span> </div>
-<div class="line"><a name="l04219"></a><span class="lineno"> 4219</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ ) {</div>
-<div class="line"><a name="l04220"></a><span class="lineno"> 4220</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ ) {</div>
-<div class="line"><a name="l04221"></a><span class="lineno"> 4221</span> <span class="keywordflow">for</span>( z=0; z< ilz; z++) {</div>
-<div class="line"><a name="l04222"></a><span class="lineno"> 4222</span> corrected_spec[z] = 0. ;</div>
-<div class="line"><a name="l04223"></a><span class="lineno"> 4223</span> }</div>
-<div class="line"><a name="l04224"></a><span class="lineno"> 4224</span> sum = 0. ;</div>
-<div class="line"><a name="l04225"></a><span class="lineno"> 4225</span> <span class="keywordflow">for</span> ( z = 0 ; z < ilz ; z++ ) {</div>
-<div class="line"><a name="l04226"></a><span class="lineno"> 4226</span> img_inp=cpl_imagelist_get_const(cube_inp,z);</div>
-<div class="line"><a name="l04227"></a><span class="lineno"> 4227</span> pidata=cpl_image_get_data_float_const(img_inp);</div>
-<div class="line"><a name="l04228"></a><span class="lineno"> 4228</span> spec[z] = pidata[col + row*ilx] ;</div>
-<div class="line"><a name="l04229"></a><span class="lineno"> 4229</span> <span class="keywordflow">if</span> (isnan(spec[z]) ) {</div>
-<div class="line"><a name="l04230"></a><span class="lineno"> 4230</span> spec[z] = 0. ;</div>
-<div class="line"><a name="l04231"></a><span class="lineno"> 4231</span> </div>
-<div class="line"><a name="l04232"></a><span class="lineno"> 4232</span> <span class="keywordflow">for</span> ( i = z - firstpos ; i < z-firstpos+n_points ; i++ ) {</div>
-<div class="line"><a name="l04233"></a><span class="lineno"> 4233</span> <span class="keywordflow">if</span> ( i < 0 ) continue ;</div>
-<div class="line"><a name="l04234"></a><span class="lineno"> 4234</span> <span class="keywordflow">if</span> ( i >= ilz) continue ;</div>
-<div class="line"><a name="l04235"></a><span class="lineno"> 4235</span> corrected_spec[i] = ZERO ;</div>
-<div class="line"><a name="l04236"></a><span class="lineno"> 4236</span> }</div>
-<div class="line"><a name="l04237"></a><span class="lineno"> 4237</span> }</div>
-<div class="line"><a name="l04238"></a><span class="lineno"> 4238</span> <span class="keywordflow">if</span> ( z != 0 && z != ilz - 1 ) {</div>
-<div class="line"><a name="l04239"></a><span class="lineno"> 4239</span> sum += spec[z] ;</div>
-<div class="line"><a name="l04240"></a><span class="lineno"> 4240</span> }</div>
-<div class="line"><a name="l04241"></a><span class="lineno"> 4241</span> </div>
-<div class="line"><a name="l04242"></a><span class="lineno"> 4242</span> }</div>
-<div class="line"><a name="l04243"></a><span class="lineno"> 4243</span> </div>
-<div class="line"><a name="l04244"></a><span class="lineno"> 4244</span> new_sum = 0. ;</div>
-<div class="line"><a name="l04245"></a><span class="lineno"> 4245</span> <span class="keywordflow">for</span> ( z = 0 ; z < ilz ; z++ ) {</div>
-<div class="line"><a name="l04246"></a><span class="lineno"> 4246</span> </div>
-<div class="line"><a name="l04247"></a><span class="lineno"> 4247</span> <span class="comment">/* ---------------------------------------------------------------</span></div>
-<div class="line"><a name="l04248"></a><span class="lineno"> 4248</span> <span class="comment"> * now determine the arrays of size n_points with which the</span></div>
-<div class="line"><a name="l04249"></a><span class="lineno"> 4249</span> <span class="comment"> * polynom is determined and determine the position eval</span></div>
-<div class="line"><a name="l04250"></a><span class="lineno"> 4250</span> <span class="comment"> * where the polynom is evaluated in polynomial interpolation.</span></div>
-<div class="line"><a name="l04251"></a><span class="lineno"> 4251</span> <span class="comment"> * Take care of the points near the row edges!</span></div>
-<div class="line"><a name="l04252"></a><span class="lineno"> 4252</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l04253"></a><span class="lineno"> 4253</span> <span class="keywordflow">if</span> (isnan(corrected_spec[z])) continue ;</div>
-<div class="line"><a name="l04254"></a><span class="lineno"> 4254</span> <span class="keywordflow">if</span> ( z - firstpos < 0 ) {</div>
-<div class="line"><a name="l04255"></a><span class="lineno"> 4255</span> imageptr = &spec[0] ;</div>
-<div class="line"><a name="l04256"></a><span class="lineno"> 4256</span> eval = sub_shift + z ;</div>
-<div class="line"><a name="l04257"></a><span class="lineno"> 4257</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( z - firstpos + n_points >= ilz ) {</div>
-<div class="line"><a name="l04258"></a><span class="lineno"> 4258</span> imageptr = &spec[ilz - n_points] ;</div>
-<div class="line"><a name="l04259"></a><span class="lineno"> 4259</span> eval = sub_shift + z + n_points - ilz ;</div>
-<div class="line"><a name="l04260"></a><span class="lineno"> 4260</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04261"></a><span class="lineno"> 4261</span> imageptr = &spec[z-firstpos] ;</div>
-<div class="line"><a name="l04262"></a><span class="lineno"> 4262</span> eval = sub_shift + firstpos ;</div>
-<div class="line"><a name="l04263"></a><span class="lineno"> 4263</span> }</div>
-<div class="line"><a name="l04264"></a><span class="lineno"> 4264</span> </div>
-<div class="line"><a name="l04265"></a><span class="lineno"> 4265</span> flag=0;</div>
-<div class="line"><a name="l04266"></a><span class="lineno"> 4266</span> corrected_spec[z]=sinfo_new_nev_ille(xnum,imageptr,order,eval,&flag);</div>
-<div class="line"><a name="l04267"></a><span class="lineno"> 4267</span> <span class="keywordflow">if</span> ( z != 0 && z != ilz - 1 ) {</div>
-<div class="line"><a name="l04268"></a><span class="lineno"> 4268</span> new_sum += corrected_spec[z] ;</div>
-<div class="line"><a name="l04269"></a><span class="lineno"> 4269</span> }</div>
-<div class="line"><a name="l04270"></a><span class="lineno"> 4270</span> }</div>
-<div class="line"><a name="l04271"></a><span class="lineno"> 4271</span> </div>
-<div class="line"><a name="l04272"></a><span class="lineno"> 4272</span> <span class="comment">/* fill the output spectrum */</span></div>
-<div class="line"><a name="l04273"></a><span class="lineno"> 4273</span> <span class="keywordflow">for</span> (z = 0 ; z < ilz ; z++ )</div>
-<div class="line"><a name="l04274"></a><span class="lineno"> 4274</span> {</div>
-<div class="line"><a name="l04275"></a><span class="lineno"> 4275</span> img_out=cpl_imagelist_get(cube_out,z);</div>
-<div class="line"><a name="l04276"></a><span class="lineno"> 4276</span> podata=cpl_image_get_data_float(img_out);</div>
-<div class="line"><a name="l04277"></a><span class="lineno"> 4277</span> <span class="keywordflow">if</span> ( new_sum == 0. ) {</div>
-<div class="line"><a name="l04278"></a><span class="lineno"> 4278</span> new_sum = 1. ;</div>
-<div class="line"><a name="l04279"></a><span class="lineno"> 4279</span> }</div>
-<div class="line"><a name="l04280"></a><span class="lineno"> 4280</span> <span class="keywordflow">if</span> ( z == 0 ) {</div>
-<div class="line"><a name="l04281"></a><span class="lineno"> 4281</span> podata[col+row*olx] = ZERO ;</div>
-<div class="line"><a name="l04282"></a><span class="lineno"> 4282</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( z == ilz - 1 ) {</div>
-<div class="line"><a name="l04283"></a><span class="lineno"> 4283</span> podata[col+row*olx] = ZERO ;</div>
-<div class="line"><a name="l04284"></a><span class="lineno"> 4284</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( isnan(corrected_spec[z]) ) {</div>
-<div class="line"><a name="l04285"></a><span class="lineno"> 4285</span> podata[col+row*olx] = ZERO ;</div>
-<div class="line"><a name="l04286"></a><span class="lineno"> 4286</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04287"></a><span class="lineno"> 4287</span> corrected_spec[z] *= sum / new_sum ;</div>
-<div class="line"><a name="l04288"></a><span class="lineno"> 4288</span> podata[col+row*olx] = corrected_spec[z] ;</div>
-<div class="line"><a name="l04289"></a><span class="lineno"> 4289</span> }</div>
-<div class="line"><a name="l04290"></a><span class="lineno"> 4290</span> }</div>
-<div class="line"><a name="l04291"></a><span class="lineno"> 4291</span> </div>
-<div class="line"><a name="l04292"></a><span class="lineno"> 4292</span> }</div>
-<div class="line"><a name="l04293"></a><span class="lineno"> 4293</span> }</div>
-<div class="line"><a name="l04294"></a><span class="lineno"> 4294</span> </div>
-<div class="line"><a name="l04295"></a><span class="lineno"> 4295</span> cpl_free(spec) ;</div>
-<div class="line"><a name="l04296"></a><span class="lineno"> 4296</span> cpl_free(corrected_spec) ;</div>
-<div class="line"><a name="l04297"></a><span class="lineno"> 4297</span> cpl_free(xnum) ;</div>
-<div class="line"><a name="l04298"></a><span class="lineno"> 4298</span> <span class="keywordflow">return</span> cube_out ;</div>
-<div class="line"><a name="l04299"></a><span class="lineno"> 4299</span> </div>
-<div class="line"><a name="l04300"></a><span class="lineno"> 4300</span> </div>
-<div class="line"><a name="l04301"></a><span class="lineno"> 4301</span> }</div>
-<div class="line"><a name="l04302"></a><span class="lineno"> 4302</span> </div>
-<div class="line"><a name="l04311"></a><span class="lineno"> 4311</span> cpl_imagelist *</div>
-<div class="line"><a name="l04312"></a><span class="lineno"> 4312</span> sinfo_cube_zshift_spline3(<span class="keyword">const</span> cpl_imagelist * cube_inp,</div>
-<div class="line"><a name="l04313"></a><span class="lineno"> 4313</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sub_shift)</div>
-<div class="line"><a name="l04314"></a><span class="lineno"> 4314</span> {</div>
-<div class="line"><a name="l04315"></a><span class="lineno"> 4315</span> </div>
-<div class="line"><a name="l04316"></a><span class="lineno"> 4316</span> cpl_imagelist * cube_out=NULL ;</div>
-<div class="line"><a name="l04317"></a><span class="lineno"> 4317</span> <span class="keywordtype">float</span>* spec=NULL ;</div>
-<div class="line"><a name="l04318"></a><span class="lineno"> 4318</span> <span class="keywordtype">float</span>* corrected_spec=NULL ;</div>
-<div class="line"><a name="l04319"></a><span class="lineno"> 4319</span> <span class="keywordtype">float</span>* xnum=NULL ;</div>
-<div class="line"><a name="l04320"></a><span class="lineno"> 4320</span> <span class="keywordtype">float</span>* eval=NULL ;</div>
-<div class="line"><a name="l04321"></a><span class="lineno"> 4321</span> <span class="keywordtype">float</span> sum=0;</div>
-<div class="line"><a name="l04322"></a><span class="lineno"> 4322</span> <span class="keywordtype">float</span> new_sum=0 ;</div>
-<div class="line"><a name="l04323"></a><span class="lineno"> 4323</span> <span class="keywordtype">int</span> row=0;</div>
-<div class="line"><a name="l04324"></a><span class="lineno"> 4324</span> <span class="keywordtype">int</span> col=0;</div>
-<div class="line"><a name="l04325"></a><span class="lineno"> 4325</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l04326"></a><span class="lineno"> 4326</span> <span class="keywordtype">int</span> z=0;</div>
-<div class="line"><a name="l04327"></a><span class="lineno"> 4327</span> </div>
-<div class="line"><a name="l04328"></a><span class="lineno"> 4328</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l04329"></a><span class="lineno"> 4329</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l04330"></a><span class="lineno"> 4330</span> <span class="keywordtype">int</span> ilz=0;</div>
-<div class="line"><a name="l04331"></a><span class="lineno"> 4331</span> <span class="keywordtype">int</span> olx=0;</div>
-<div class="line"><a name="l04332"></a><span class="lineno"> 4332</span> <span class="keywordtype">int</span> oly=0;</div>
-<div class="line"><a name="l04333"></a><span class="lineno"> 4333</span> <span class="keywordtype">int</span> olz=0;</div>
-<div class="line"><a name="l04334"></a><span class="lineno"> 4334</span> </div>
-<div class="line"><a name="l04335"></a><span class="lineno"> 4335</span> <span class="keyword">const</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l04336"></a><span class="lineno"> 4336</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l04337"></a><span class="lineno"> 4337</span> <span class="keyword">const</span> cpl_image* img_inp=NULL;</div>
-<div class="line"><a name="l04338"></a><span class="lineno"> 4338</span> cpl_image* img_out=NULL;</div>
-<div class="line"><a name="l04339"></a><span class="lineno"> 4339</span> </div>
-<div class="line"><a name="l04340"></a><span class="lineno"> 4340</span> <span class="keywordflow">if</span> ( cube_inp == NULL ) {</div>
-<div class="line"><a name="l04341"></a><span class="lineno"> 4341</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no imagelist given!"</span>) ;</div>
-<div class="line"><a name="l04342"></a><span class="lineno"> 4342</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l04343"></a><span class="lineno"> 4343</span> }</div>
-<div class="line"><a name="l04344"></a><span class="lineno"> 4344</span> </div>
-<div class="line"><a name="l04345"></a><span class="lineno"> 4345</span> img_inp=cpl_imagelist_get_const(cube_inp,0);</div>
-<div class="line"><a name="l04346"></a><span class="lineno"> 4346</span> ilx=cpl_image_get_size_x(img_inp);</div>
-<div class="line"><a name="l04347"></a><span class="lineno"> 4347</span> ily=cpl_image_get_size_y(img_inp);</div>
-<div class="line"><a name="l04348"></a><span class="lineno"> 4348</span> ilz=cpl_imagelist_get_size(cube_inp);</div>
-<div class="line"><a name="l04349"></a><span class="lineno"> 4349</span> </div>
-<div class="line"><a name="l04350"></a><span class="lineno"> 4350</span> </div>
-<div class="line"><a name="l04351"></a><span class="lineno"> 4351</span> olx=ilx;</div>
-<div class="line"><a name="l04352"></a><span class="lineno"> 4352</span> oly=ily;</div>
-<div class="line"><a name="l04353"></a><span class="lineno"> 4353</span> olz=ilz;</div>
-<div class="line"><a name="l04354"></a><span class="lineno"> 4354</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l04355"></a><span class="lineno"> 4355</span> <span class="keywordflow">if</span> ( NULL == (cube_out = cpl_imagelist_new()) ) {</div>
-<div class="line"><a name="l04356"></a><span class="lineno"> 4356</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"could not allocate memory!"</span>) ;</div>
-<div class="line"><a name="l04357"></a><span class="lineno"> 4357</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l04358"></a><span class="lineno"> 4358</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04359"></a><span class="lineno"> 4359</span> <span class="keywordflow">for</span> ( i = 0 ; i < ilz ; i++ ) {</div>
-<div class="line"><a name="l04360"></a><span class="lineno"> 4360</span> img_out=cpl_image_new(olx,oly,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l04361"></a><span class="lineno"> 4361</span> cpl_imagelist_set(cube_out,img_out,i);</div>
-<div class="line"><a name="l04362"></a><span class="lineno"> 4362</span> }</div>
-<div class="line"><a name="l04363"></a><span class="lineno"> 4363</span> }</div>
-<div class="line"><a name="l04364"></a><span class="lineno"> 4364</span> </div>
-<div class="line"><a name="l04365"></a><span class="lineno"> 4365</span> xnum=cpl_calloc(ilz,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l04366"></a><span class="lineno"> 4366</span> <span class="comment">/* fill the xa[] array for the spline function */</span></div>
-<div class="line"><a name="l04367"></a><span class="lineno"> 4367</span> <span class="keywordflow">for</span> ( i = 0 ; i < ilz ; i++ ) {</div>
-<div class="line"><a name="l04368"></a><span class="lineno"> 4368</span> xnum[i] = i ;</div>
-<div class="line"><a name="l04369"></a><span class="lineno"> 4369</span> }</div>
-<div class="line"><a name="l04370"></a><span class="lineno"> 4370</span> </div>
-<div class="line"><a name="l04371"></a><span class="lineno"> 4371</span> spec=cpl_calloc(ilz,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l04372"></a><span class="lineno"> 4372</span> corrected_spec=cpl_calloc(ilz,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l04373"></a><span class="lineno"> 4373</span> eval=cpl_calloc(ilz,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l04374"></a><span class="lineno"> 4374</span> </div>
-<div class="line"><a name="l04375"></a><span class="lineno"> 4375</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ ) {</div>
-<div class="line"><a name="l04376"></a><span class="lineno"> 4376</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ ) {</div>
-<div class="line"><a name="l04377"></a><span class="lineno"> 4377</span> sum = 0. ;</div>
-<div class="line"><a name="l04378"></a><span class="lineno"> 4378</span> <span class="keywordflow">for</span> ( z = 0 ; z < ilz ; z++ ) {</div>
-<div class="line"><a name="l04379"></a><span class="lineno"> 4379</span> img_inp=cpl_imagelist_get_const(cube_inp,z);</div>
-<div class="line"><a name="l04380"></a><span class="lineno"> 4380</span> pidata=cpl_image_get_data_float_const(img_inp);</div>
-<div class="line"><a name="l04381"></a><span class="lineno"> 4381</span> spec[z] = pidata[col + row*ilx] ;</div>
-<div class="line"><a name="l04382"></a><span class="lineno"> 4382</span> <span class="keywordflow">if</span> (isnan(spec[z]) ) {</div>
-<div class="line"><a name="l04383"></a><span class="lineno"> 4383</span> <span class="keywordflow">for</span> ( i = z-1 ; i <= z+1 ; i++ ) {</div>
-<div class="line"><a name="l04384"></a><span class="lineno"> 4384</span> <span class="keywordflow">if</span> ( i < 0 ) continue ;</div>
-<div class="line"><a name="l04385"></a><span class="lineno"> 4385</span> <span class="keywordflow">if</span> ( i >= ilz) continue ;</div>
-<div class="line"><a name="l04386"></a><span class="lineno"> 4386</span> corrected_spec[i] = ZERO ;</div>
-<div class="line"><a name="l04387"></a><span class="lineno"> 4387</span> }</div>
-<div class="line"><a name="l04388"></a><span class="lineno"> 4388</span> spec[z] = 0. ;</div>
-<div class="line"><a name="l04389"></a><span class="lineno"> 4389</span> }</div>
-<div class="line"><a name="l04390"></a><span class="lineno"> 4390</span> sum += spec[z] ;</div>
-<div class="line"><a name="l04391"></a><span class="lineno"> 4391</span> eval[z] = (float)sub_shift+(<span class="keywordtype">float</span>)z ;</div>
-<div class="line"><a name="l04392"></a><span class="lineno"> 4392</span> }</div>
-<div class="line"><a name="l04393"></a><span class="lineno"> 4393</span> <span class="comment">/* now we do the spline interpolation*/</span></div>
-<div class="line"><a name="l04394"></a><span class="lineno"> 4394</span> <span class="keywordflow">if</span> ( -1 == sinfo_function1d_natural_spline( xnum, spec, ilz, eval,</div>
-<div class="line"><a name="l04395"></a><span class="lineno"> 4395</span> corrected_spec, ilz ) )</div>
-<div class="line"><a name="l04396"></a><span class="lineno"> 4396</span> {</div>
-<div class="line"><a name="l04397"></a><span class="lineno"> 4397</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"error in spline interpolation!"</span>) ;</div>
-<div class="line"><a name="l04398"></a><span class="lineno"> 4398</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l04399"></a><span class="lineno"> 4399</span> }</div>
-<div class="line"><a name="l04400"></a><span class="lineno"> 4400</span> </div>
-<div class="line"><a name="l04401"></a><span class="lineno"> 4401</span> new_sum = 0. ;</div>
-<div class="line"><a name="l04402"></a><span class="lineno"> 4402</span> <span class="keywordflow">for</span> ( z = 0 ; z < ilz ; z++ ) {</div>
-<div class="line"><a name="l04403"></a><span class="lineno"> 4403</span> <span class="keywordflow">if</span> ( isnan(corrected_spec[z]) ) {</div>
-<div class="line"><a name="l04404"></a><span class="lineno"> 4404</span> continue ;</div>
-<div class="line"><a name="l04405"></a><span class="lineno"> 4405</span> }</div>
-<div class="line"><a name="l04406"></a><span class="lineno"> 4406</span> new_sum += corrected_spec[z] ;</div>
-<div class="line"><a name="l04407"></a><span class="lineno"> 4407</span> }</div>
-<div class="line"><a name="l04408"></a><span class="lineno"> 4408</span> <span class="comment">/* fill output imagelist */</span></div>
-<div class="line"><a name="l04409"></a><span class="lineno"> 4409</span> <span class="keywordflow">for</span> ( z = 0 ; z < ilz ; z++ ) {</div>
-<div class="line"><a name="l04410"></a><span class="lineno"> 4410</span> img_out=cpl_imagelist_get(cube_out,z);</div>
-<div class="line"><a name="l04411"></a><span class="lineno"> 4411</span> podata=cpl_image_get_data_float(img_out);</div>
-<div class="line"><a name="l04412"></a><span class="lineno"> 4412</span> <span class="keywordflow">if</span> ( new_sum == 0. ) new_sum =1. ;</div>
-<div class="line"><a name="l04413"></a><span class="lineno"> 4413</span> {</div>
-<div class="line"><a name="l04414"></a><span class="lineno"> 4414</span> <span class="keywordflow">if</span> ( isnan(corrected_spec[z]) ) {</div>
-<div class="line"><a name="l04415"></a><span class="lineno"> 4415</span> podata[col+row*olx] = ZERO ;</div>
-<div class="line"><a name="l04416"></a><span class="lineno"> 4416</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04417"></a><span class="lineno"> 4417</span> corrected_spec[z] *= sum / new_sum ;</div>
-<div class="line"><a name="l04418"></a><span class="lineno"> 4418</span> podata[col+row*olx] = corrected_spec[z] ;</div>
-<div class="line"><a name="l04419"></a><span class="lineno"> 4419</span> }</div>
-<div class="line"><a name="l04420"></a><span class="lineno"> 4420</span> }</div>
-<div class="line"><a name="l04421"></a><span class="lineno"> 4421</span> }</div>
-<div class="line"><a name="l04422"></a><span class="lineno"> 4422</span> }</div>
-<div class="line"><a name="l04423"></a><span class="lineno"> 4423</span> }</div>
-<div class="line"><a name="l04424"></a><span class="lineno"> 4424</span> cpl_free(xnum);</div>
-<div class="line"><a name="l04425"></a><span class="lineno"> 4425</span> cpl_free(spec) ;</div>
-<div class="line"><a name="l04426"></a><span class="lineno"> 4426</span> cpl_free(corrected_spec) ;</div>
-<div class="line"><a name="l04427"></a><span class="lineno"> 4427</span> cpl_free(eval) ;</div>
-<div class="line"><a name="l04428"></a><span class="lineno"> 4428</span> </div>
-<div class="line"><a name="l04429"></a><span class="lineno"> 4429</span> <span class="keywordflow">return</span> cube_out ;</div>
-<div class="line"><a name="l04430"></a><span class="lineno"> 4430</span> }</div>
-<div class="line"><a name="l04431"></a><span class="lineno"> 4431</span> </div>
-<div class="line"><a name="l04433"></a><span class="lineno"> 4433</span> <span class="comment">/* The structure for stroing index data for kappa-sigma</span></div>
-<div class="line"><a name="l04434"></a><span class="lineno"> 4434</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l04435"></a><span class="lineno"> 4435</span> <span class="comment"> * */</span></div>
-<div class="line"><a name="l04436"></a><span class="lineno"> 4436</span> <span class="keyword">struct </span>_CubeData</div>
-<div class="line"><a name="l04437"></a><span class="lineno"> 4437</span> {</div>
-<div class="line"><a name="l04438"></a><span class="lineno"> 4438</span> <span class="keywordtype">int</span> iCubeNumber;</div>
-<div class="line"><a name="l04439"></a><span class="lineno"> 4439</span> <span class="keywordtype">int</span> iLocalX;</div>
-<div class="line"><a name="l04440"></a><span class="lineno"> 4440</span> <span class="keywordtype">int</span> iLocalY;</div>
-<div class="line"><a name="l04441"></a><span class="lineno"> 4441</span> };</div>
-<div class="line"><a name="l04442"></a><span class="lineno"> 4442</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>_CubeData CubeData;</div>
-<div class="line"><a name="l04443"></a><span class="lineno"> 4443</span> </div>
-<div class="line"><a name="l04444"></a><span class="lineno"> 4444</span> <span class="keyword">struct </span>_CubeDataVector</div>
-<div class="line"><a name="l04445"></a><span class="lineno"> 4445</span> {</div>
-<div class="line"><a name="l04446"></a><span class="lineno"> 4446</span> <span class="keywordtype">int</span> size;</div>
-<div class="line"><a name="l04447"></a><span class="lineno"> 4447</span> CubeData** pdata;</div>
-<div class="line"><a name="l04448"></a><span class="lineno"> 4448</span> };</div>
-<div class="line"><a name="l04449"></a><span class="lineno"> 4449</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>_CubeDataVector CubeDataVector;</div>
-<div class="line"><a name="l04467"></a><span class="lineno"> 4467</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_kappa_sigma_offset_with_mask(</div>
-<div class="line"><a name="l04468"></a><span class="lineno"> 4468</span> <span class="keywordtype">int</span> z_min,</div>
-<div class="line"><a name="l04469"></a><span class="lineno"> 4469</span> <span class="keywordtype">int</span> z_max,</div>
-<div class="line"><a name="l04470"></a><span class="lineno"> 4470</span> <span class="keywordtype">int</span> nCubes,</div>
-<div class="line"><a name="l04471"></a><span class="lineno"> 4471</span> cpl_imagelist** inputCubes,</div>
-<div class="line"><a name="l04472"></a><span class="lineno"> 4472</span> <span class="keyword">const</span> <span class="keywordtype">double</span>* exptimes,</div>
-<div class="line"><a name="l04473"></a><span class="lineno"> 4473</span> cpl_imagelist* imResult,</div>
-<div class="line"><a name="l04474"></a><span class="lineno"> 4474</span> <span class="keywordtype">int</span>* offsetX,</div>
-<div class="line"><a name="l04475"></a><span class="lineno"> 4475</span> <span class="keywordtype">int</span>* offsetY,</div>
-<div class="line"><a name="l04476"></a><span class="lineno"> 4476</span> cpl_imagelist* sky_mask,</div>
-<div class="line"><a name="l04477"></a><span class="lineno"> 4477</span> <span class="keyword">const</span> <span class="keywordtype">double</span> kappa</div>
-<div class="line"><a name="l04478"></a><span class="lineno"> 4478</span> );</div>
-<div class="line"><a name="l04479"></a><span class="lineno"> 4479</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l04480"></a><span class="lineno"> 4480</span> sinfo_kappa_sigma_CubeDataVector(</div>
-<div class="line"><a name="l04481"></a><span class="lineno"> 4481</span> <span class="keywordtype">int</span> globalX,</div>
-<div class="line"><a name="l04482"></a><span class="lineno"> 4482</span> <span class="keywordtype">int</span> globalY,</div>
-<div class="line"><a name="l04483"></a><span class="lineno"> 4483</span> CubeDataVector* pCubeDataVector,</div>
-<div class="line"><a name="l04484"></a><span class="lineno"> 4484</span> cpl_imagelist* imlistResult,</div>
-<div class="line"><a name="l04485"></a><span class="lineno"> 4485</span> cpl_imagelist** input_cubes,</div>
-<div class="line"><a name="l04486"></a><span class="lineno"> 4486</span> cpl_imagelist* sky_mask,</div>
-<div class="line"><a name="l04487"></a><span class="lineno"> 4487</span> <span class="keywordtype">int</span> iPlanesNumber,</div>
-<div class="line"><a name="l04488"></a><span class="lineno"> 4488</span> <span class="keywordtype">int</span> z_min,</div>
-<div class="line"><a name="l04489"></a><span class="lineno"> 4489</span> <span class="keyword">const</span> <span class="keywordtype">double</span> kappa,</div>
-<div class="line"><a name="l04490"></a><span class="lineno"> 4490</span> <span class="keyword">const</span> <span class="keywordtype">double</span>* exptimes</div>
-<div class="line"><a name="l04491"></a><span class="lineno"> 4491</span> );</div>
-<div class="line"><a name="l04492"></a><span class="lineno"> 4492</span> </div>
-<div class="line"><a name="l04493"></a><span class="lineno"> 4493</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l04494"></a><span class="lineno"> 4494</span> sinfo_kappa_sigma_array_with_mask(cpl_array* parray, <span class="keywordtype">int</span> szArray,</div>
-<div class="line"><a name="l04495"></a><span class="lineno"> 4495</span> <span class="keyword">const</span> <span class="keywordtype">double</span> kappa,cpl_image* imMask,</div>
-<div class="line"><a name="l04496"></a><span class="lineno"> 4496</span> <span class="keyword">const</span> <span class="keywordtype">double</span>* exptimes, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y,</div>
-<div class="line"><a name="l04497"></a><span class="lineno"> 4497</span> <span class="keywordtype">double</span> mask_delta)</div>
-<div class="line"><a name="l04498"></a><span class="lineno"> 4498</span> {</div>
-<div class="line"><a name="l04499"></a><span class="lineno"> 4499</span> <span class="keywordtype">double</span> result = 0;</div>
-<div class="line"><a name="l04500"></a><span class="lineno"> 4500</span> <span class="keywordtype">int</span> nInvalidPoints = 0;</div>
-<div class="line"><a name="l04501"></a><span class="lineno"> 4501</span> <span class="keyword">const</span> <span class="keywordtype">double</span> EPS = 1E-10;</div>
-<div class="line"><a name="l04502"></a><span class="lineno"> 4502</span> <span class="comment">//sinfo_msg("sinfo_kappa_sigma_array_with_mask, x[%d] y[%d]"</span></div>
-<div class="line"><a name="l04503"></a><span class="lineno"> 4503</span> <span class="keywordtype">double</span> mask_adjustment = mask_delta;</div>
-<div class="line"><a name="l04504"></a><span class="lineno"> 4504</span> <span class="keywordflow">do</span></div>
-<div class="line"><a name="l04505"></a><span class="lineno"> 4505</span> {</div>
-<div class="line"><a name="l04506"></a><span class="lineno"> 4506</span> <span class="keywordtype">double</span> median = 0;</div>
-<div class="line"><a name="l04507"></a><span class="lineno"> 4507</span> <span class="keywordtype">double</span> sig = 0;</div>
-<div class="line"><a name="l04508"></a><span class="lineno"> 4508</span> <span class="keywordtype">int</span> z = 0;</div>
-<div class="line"><a name="l04509"></a><span class="lineno"> 4509</span> nInvalidPoints = 0;</div>
-<div class="line"><a name="l04510"></a><span class="lineno"> 4510</span> </div>
-<div class="line"><a name="l04511"></a><span class="lineno"> 4511</span> check_nomsg(median = cpl_array_get_median(parray));</div>
-<div class="line"><a name="l04512"></a><span class="lineno"> 4512</span> check_nomsg(sig = cpl_array_get_stdev(parray));</div>
-<div class="line"><a name="l04513"></a><span class="lineno"> 4513</span> <span class="keywordflow">for</span> (z = 0; z < szArray; z++)</div>
-<div class="line"><a name="l04514"></a><span class="lineno"> 4514</span> {</div>
-<div class="line"><a name="l04515"></a><span class="lineno"> 4515</span> <span class="keywordtype">int</span> isnull = 0;</div>
-<div class="line"><a name="l04516"></a><span class="lineno"> 4516</span> <span class="keywordtype">double</span> value = 0;</div>
-<div class="line"><a name="l04517"></a><span class="lineno"> 4517</span> check_nomsg(value = cpl_array_get(parray, z, &isnull));</div>
-<div class="line"><a name="l04518"></a><span class="lineno"> 4518</span> <span class="keywordflow">if</span>(!isnull)</div>
-<div class="line"><a name="l04519"></a><span class="lineno"> 4519</span> {</div>
-<div class="line"><a name="l04520"></a><span class="lineno"> 4520</span> <span class="keywordflow">if</span> (fabs(value - median) > (kappa * sig))</div>
-<div class="line"><a name="l04521"></a><span class="lineno"> 4521</span> {</div>
-<div class="line"><a name="l04522"></a><span class="lineno"> 4522</span> </div>
-<div class="line"><a name="l04523"></a><span class="lineno"> 4523</span> <span class="comment">// sinfo_msg("entered");</span></div>
-<div class="line"><a name="l04524"></a><span class="lineno"> 4524</span> <span class="comment">// sinfo_msg("val=%g check=%g",</span></div>
-<div class="line"><a name="l04525"></a><span class="lineno"> 4525</span> <span class="comment">// fabs(value - median),(kappa * sig));</span></div>
-<div class="line"><a name="l04526"></a><span class="lineno"> 4526</span> <span class="comment">// sinfo_msg("kappa=%f sig=%g median=%g value=%g",</span></div>
-<div class="line"><a name="l04527"></a><span class="lineno"> 4527</span> <span class="comment">// kappa,sig,median,value);</span></div>
-<div class="line"><a name="l04528"></a><span class="lineno"> 4528</span> </div>
-<div class="line"><a name="l04529"></a><span class="lineno"> 4529</span> <span class="comment">//double msk_new_value = 0;</span></div>
-<div class="line"><a name="l04530"></a><span class="lineno"> 4530</span> cpl_array_fill_window_invalid(parray, z, 1);</div>
-<div class="line"><a name="l04531"></a><span class="lineno"> 4531</span> mask_adjustment += exptimes[z];</div>
-<div class="line"><a name="l04532"></a><span class="lineno"> 4532</span> ++nInvalidPoints;</div>
-<div class="line"><a name="l04533"></a><span class="lineno"> 4533</span> }</div>
-<div class="line"><a name="l04534"></a><span class="lineno"> 4534</span> }</div>
-<div class="line"><a name="l04535"></a><span class="lineno"> 4535</span> }</div>
-<div class="line"><a name="l04536"></a><span class="lineno"> 4536</span> <span class="comment">/*if (nInvalidPoints)</span></div>
-<div class="line"><a name="l04537"></a><span class="lineno"> 4537</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l04538"></a><span class="lineno"> 4538</span> <span class="comment"> sinfo_msg("nInvalidPoints %d[%d][%d] median[%f] sig[%f]", nInvalidPoints,x,y, median, sig );</span></div>
-<div class="line"><a name="l04539"></a><span class="lineno"> 4539</span> <span class="comment"> }*/</span></div>
-<div class="line"><a name="l04540"></a><span class="lineno"> 4540</span> </div>
-<div class="line"><a name="l04541"></a><span class="lineno"> 4541</span> }</div>
-<div class="line"><a name="l04542"></a><span class="lineno"> 4542</span> <span class="keywordflow">while</span> (nInvalidPoints);</div>
-<div class="line"><a name="l04543"></a><span class="lineno"> 4543</span> <span class="keywordflow">if</span>(imMask && fabs(mask_adjustment) > EPS)</div>
-<div class="line"><a name="l04544"></a><span class="lineno"> 4544</span> {</div>
-<div class="line"><a name="l04545"></a><span class="lineno"> 4545</span> <span class="comment">// adjust mask image</span></div>
-<div class="line"><a name="l04546"></a><span class="lineno"> 4546</span> <span class="keywordtype">int</span> px_rejected = 0;</div>
-<div class="line"><a name="l04547"></a><span class="lineno"> 4547</span> <span class="keywordtype">double</span> msk_value = 0;</div>
-<div class="line"><a name="l04548"></a><span class="lineno"> 4548</span> check_nomsg(msk_value = cpl_image_get(imMask, x, y, &px_rejected));</div>
-<div class="line"><a name="l04549"></a><span class="lineno"> 4549</span> check_nomsg(cpl_image_set(imMask, x,y, msk_value - mask_adjustment));</div>
-<div class="line"><a name="l04550"></a><span class="lineno"> 4550</span> }</div>
-<div class="line"><a name="l04551"></a><span class="lineno"> 4551</span> <span class="comment">// get a result value for the point</span></div>
-<div class="line"><a name="l04552"></a><span class="lineno"> 4552</span> check_nomsg(result = cpl_array_get_mean(parray));</div>
-<div class="line"><a name="l04553"></a><span class="lineno"> 4553</span> <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l04554"></a><span class="lineno"> 4554</span> cleanup:</div>
-<div class="line"><a name="l04555"></a><span class="lineno"> 4555</span> sinfo_msg(<span class="stringliteral">"Error in sinfo_kappa_sigma_array_with_mask"</span>);</div>
-<div class="line"><a name="l04556"></a><span class="lineno"> 4556</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l04557"></a><span class="lineno"> 4557</span> }</div>
-<div class="line"><a name="l04558"></a><span class="lineno"> 4558</span> </div>
-<div class="line"><a name="l04559"></a><span class="lineno"> 4559</span> </div>
-<div class="line"><a name="l04560"></a><span class="lineno"> 4560</span> <span class="keywordtype">int</span> sinfo_coadd_with_ks_clip_optimized(</div>
-<div class="line"><a name="l04561"></a><span class="lineno"> 4561</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_min,</div>
-<div class="line"><a name="l04562"></a><span class="lineno"> 4562</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_max,</div>
-<div class="line"><a name="l04563"></a><span class="lineno"> 4563</span> <span class="keyword">const</span> <span class="keywordtype">int</span> n_cubes,</div>
-<div class="line"><a name="l04564"></a><span class="lineno"> 4564</span> <span class="keyword">const</span> <span class="keywordtype">double</span> kappa,</div>
-<div class="line"><a name="l04565"></a><span class="lineno"> 4565</span> <span class="keywordtype">int</span>* llx,</div>
-<div class="line"><a name="l04566"></a><span class="lineno"> 4566</span> <span class="keywordtype">int</span>* lly,</div>
-<div class="line"><a name="l04567"></a><span class="lineno"> 4567</span> <span class="keywordtype">double</span>* exptimes,</div>
-<div class="line"><a name="l04568"></a><span class="lineno"> 4568</span> cpl_imagelist* sky_mask,</div>
-<div class="line"><a name="l04569"></a><span class="lineno"> 4569</span> cpl_imagelist* mergedCube,</div>
-<div class="line"><a name="l04570"></a><span class="lineno"> 4570</span> cpl_imagelist** tmpcubes</div>
-<div class="line"><a name="l04571"></a><span class="lineno"> 4571</span> )</div>
-<div class="line"><a name="l04572"></a><span class="lineno"> 4572</span> {</div>
-<div class="line"><a name="l04573"></a><span class="lineno"> 4573</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l04574"></a><span class="lineno"> 4574</span> <span class="comment"> sinfo_msg("sinfo_coadd_with_ks_clip_optimized() z_min[%d] z_max[%d] n_cubes[%d] kappa[%f] llx[%d] lly[%d] exptimes[%d] sky_mask[%d]",</span></div>
-<div class="line"><a name="l04575"></a><span class="lineno"> 4575</span> <span class="comment"> z_min, z_max, ilx, ily, n_cubes, kappa,llx, lly,exptimes,sky_mask);</span></div>
-<div class="line"><a name="l04576"></a><span class="lineno"> 4576</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l04577"></a><span class="lineno"> 4577</span> <span class="keywordtype">int</span> result=0;</div>
-<div class="line"><a name="l04578"></a><span class="lineno"> 4578</span> check_nomsg(result=sinfo_kappa_sigma_offset_with_mask(z_min, z_max, n_cubes, tmpcubes, exptimes, mergedCube, llx, lly, sky_mask, kappa));</div>
-<div class="line"><a name="l04579"></a><span class="lineno"> 4579</span> </div>
-<div class="line"><a name="l04580"></a><span class="lineno"> 4580</span> cleanup:</div>
-<div class="line"><a name="l04581"></a><span class="lineno"> 4581</span> </div>
-<div class="line"><a name="l04582"></a><span class="lineno"> 4582</span> <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l04583"></a><span class="lineno"> 4583</span> </div>
-<div class="line"><a name="l04584"></a><span class="lineno"> 4584</span> }</div>
-<div class="line"><a name="l04585"></a><span class="lineno"> 4585</span> </div>
-<div class="line"><a name="l04586"></a><span class="lineno"> 4586</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_kappa_sigma_offset_with_mask(</div>
-<div class="line"><a name="l04587"></a><span class="lineno"> 4587</span> <span class="keywordtype">int</span> z_min,</div>
-<div class="line"><a name="l04588"></a><span class="lineno"> 4588</span> <span class="keywordtype">int</span> z_max,</div>
-<div class="line"><a name="l04589"></a><span class="lineno"> 4589</span> <span class="keywordtype">int</span> nCubes,</div>
-<div class="line"><a name="l04590"></a><span class="lineno"> 4590</span> cpl_imagelist** inputCubes,</div>
-<div class="line"><a name="l04591"></a><span class="lineno"> 4591</span> <span class="keyword">const</span> <span class="keywordtype">double</span>* exptimes,</div>
-<div class="line"><a name="l04592"></a><span class="lineno"> 4592</span> cpl_imagelist* imResult,</div>
-<div class="line"><a name="l04593"></a><span class="lineno"> 4593</span> <span class="keywordtype">int</span>* global_offsetX,</div>
-<div class="line"><a name="l04594"></a><span class="lineno"> 4594</span> <span class="keywordtype">int</span>* global_offsetY,</div>
-<div class="line"><a name="l04595"></a><span class="lineno"> 4595</span> cpl_imagelist* sky_mask,</div>
-<div class="line"><a name="l04596"></a><span class="lineno"> 4596</span> <span class="keyword">const</span> <span class="keywordtype">double</span> kappa</div>
-<div class="line"><a name="l04597"></a><span class="lineno"> 4597</span> )</div>
-<div class="line"><a name="l04598"></a><span class="lineno"> 4598</span> {</div>
-<div class="line"><a name="l04599"></a><span class="lineno"> 4599</span> <span class="keyword">const</span> <span class="keywordtype">int</span> BIG_ENOUGH_INT = 65535;</div>
-<div class="line"><a name="l04600"></a><span class="lineno"> 4600</span> CubeDataVector*** indexX = 0;</div>
-<div class="line"><a name="l04601"></a><span class="lineno"> 4601</span> <span class="keywordtype">int</span> x = 0;</div>
-<div class="line"><a name="l04602"></a><span class="lineno"> 4602</span> <span class="keywordtype">int</span> y = 0;</div>
-<div class="line"><a name="l04603"></a><span class="lineno"> 4603</span> <span class="keywordtype">int</span> z = 0;</div>
-<div class="line"><a name="l04604"></a><span class="lineno"> 4604</span> <span class="keywordtype">int</span> iPlanesNumber = z_max - z_min;</div>
-<div class="line"><a name="l04605"></a><span class="lineno"> 4605</span> <span class="keywordtype">int</span> nIndexXbytes = 0;</div>
-<div class="line"><a name="l04606"></a><span class="lineno"> 4606</span> <span class="keywordtype">int</span> globalSizeX = 0 ;</div>
-<div class="line"><a name="l04607"></a><span class="lineno"> 4607</span> <span class="keywordtype">int</span> globalSizeY = 0;</div>
-<div class="line"><a name="l04608"></a><span class="lineno"> 4608</span> </div>
-<div class="line"><a name="l04609"></a><span class="lineno"> 4609</span> <span class="keywordtype">int</span> xmax = -BIG_ENOUGH_INT;</div>
-<div class="line"><a name="l04610"></a><span class="lineno"> 4610</span> <span class="keywordtype">int</span> ymax = -BIG_ENOUGH_INT;</div>
-<div class="line"><a name="l04611"></a><span class="lineno"> 4611</span> <span class="keywordtype">int</span> xmin = BIG_ENOUGH_INT;</div>
-<div class="line"><a name="l04612"></a><span class="lineno"> 4612</span> <span class="keywordtype">int</span> ymin = BIG_ENOUGH_INT;</div>
-<div class="line"><a name="l04613"></a><span class="lineno"> 4613</span> <span class="keywordtype">int</span>* offsetX = 0; <span class="comment">// local offset of the cubes, normalized</span></div>
-<div class="line"><a name="l04614"></a><span class="lineno"> 4614</span> <span class="keywordtype">int</span>* offsetY = 0;</div>
-<div class="line"><a name="l04615"></a><span class="lineno"> 4615</span> <span class="comment">//sinfo_msg(" starting kappa-sigma clipping for cubes[%d] planes[%d]", nCubes, z_max - z_min );</span></div>
-<div class="line"><a name="l04616"></a><span class="lineno"> 4616</span> <span class="comment">// determine size of the coadded cube</span></div>
-<div class="line"><a name="l04617"></a><span class="lineno"> 4617</span> sinfo_check_rec_status(0);</div>
-<div class="line"><a name="l04618"></a><span class="lineno"> 4618</span> <span class="keywordflow">for</span> (z = 0; z < nCubes; z++)</div>
-<div class="line"><a name="l04619"></a><span class="lineno"> 4619</span> {</div>
-<div class="line"><a name="l04620"></a><span class="lineno"> 4620</span> </div>
-<div class="line"><a name="l04621"></a><span class="lineno"> 4621</span> cpl_imagelist* pCube = inputCubes[z];</div>
-<div class="line"><a name="l04622"></a><span class="lineno"> 4622</span> cpl_image* pImage = 0;</div>
-<div class="line"><a name="l04623"></a><span class="lineno"> 4623</span> <span class="keywordtype">int</span> localMaxX = 0;</div>
-<div class="line"><a name="l04624"></a><span class="lineno"> 4624</span> <span class="keywordtype">int</span> localMaxY = 0;</div>
-<div class="line"><a name="l04625"></a><span class="lineno"> 4625</span> <span class="keywordtype">int</span> localMinX = 0;</div>
-<div class="line"><a name="l04626"></a><span class="lineno"> 4626</span> <span class="keywordtype">int</span> localMinY = 0;</div>
-<div class="line"><a name="l04627"></a><span class="lineno"> 4627</span> </div>
-<div class="line"><a name="l04628"></a><span class="lineno"> 4628</span> pImage = cpl_imagelist_get(pCube, 0);</div>
-<div class="line"><a name="l04629"></a><span class="lineno"> 4629</span> </div>
-<div class="line"><a name="l04630"></a><span class="lineno"> 4630</span> localMaxX = cpl_image_get_size_x(pImage) + global_offsetX[z];</div>
-<div class="line"><a name="l04631"></a><span class="lineno"> 4631</span> localMaxY = cpl_image_get_size_y(pImage) + global_offsetY[z];</div>
-<div class="line"><a name="l04632"></a><span class="lineno"> 4632</span> localMinX = global_offsetX[z];</div>
-<div class="line"><a name="l04633"></a><span class="lineno"> 4633</span> localMinY = global_offsetY[z];</div>
-<div class="line"><a name="l04634"></a><span class="lineno"> 4634</span> </div>
-<div class="line"><a name="l04635"></a><span class="lineno"> 4635</span> <span class="keywordflow">if</span>(localMaxX > xmax) xmax = localMaxX;</div>
-<div class="line"><a name="l04636"></a><span class="lineno"> 4636</span> <span class="keywordflow">if</span>(localMaxY > ymax) ymax = localMaxY;</div>
-<div class="line"><a name="l04637"></a><span class="lineno"> 4637</span> </div>
-<div class="line"><a name="l04638"></a><span class="lineno"> 4638</span> <span class="keywordflow">if</span>(localMinX < xmin) xmin = localMinX;</div>
-<div class="line"><a name="l04639"></a><span class="lineno"> 4639</span> <span class="keywordflow">if</span>(localMinY < ymin) ymin = localMinY;</div>
-<div class="line"><a name="l04640"></a><span class="lineno"> 4640</span> }</div>
-<div class="line"><a name="l04641"></a><span class="lineno"> 4641</span> sinfo_check_rec_status(1);</div>
-<div class="line"><a name="l04642"></a><span class="lineno"> 4642</span> </div>
-<div class="line"><a name="l04643"></a><span class="lineno"> 4643</span> <span class="comment">// DFS09121 xmax and ymax could be more then output cube - check and adjust</span></div>
-<div class="line"><a name="l04644"></a><span class="lineno"> 4644</span> {</div>
-<div class="line"><a name="l04645"></a><span class="lineno"> 4645</span> <span class="keywordtype">int</span> msize_x = 0;</div>
-<div class="line"><a name="l04646"></a><span class="lineno"> 4646</span> <span class="keywordtype">int</span> msize_y = 0;</div>
-<div class="line"><a name="l04647"></a><span class="lineno"> 4647</span> <span class="comment">//sinfo_msg("DFS09121 before: xmax=%d ymax=%d", xmax, ymax);</span></div>
-<div class="line"><a name="l04648"></a><span class="lineno"> 4648</span> cpl_image * pmaskimage = cpl_imagelist_get(sky_mask, 0);</div>
-<div class="line"><a name="l04649"></a><span class="lineno"> 4649</span> msize_x = cpl_image_get_size_x(pmaskimage);</div>
-<div class="line"><a name="l04650"></a><span class="lineno"> 4650</span> msize_y = cpl_image_get_size_y(pmaskimage);</div>
-<div class="line"><a name="l04651"></a><span class="lineno"> 4651</span> xmax = msize_x < xmax ? msize_x : xmax;</div>
-<div class="line"><a name="l04652"></a><span class="lineno"> 4652</span> ymax = msize_y < ymax ? msize_y : ymax;</div>
-<div class="line"><a name="l04653"></a><span class="lineno"> 4653</span> <span class="comment">//sinfo_msg("DFS09121 after: xmax=%d ymax=%d", xmax, ymax);</span></div>
-<div class="line"><a name="l04654"></a><span class="lineno"> 4654</span> }</div>
-<div class="line"><a name="l04655"></a><span class="lineno"> 4655</span> <span class="comment">// rely on the data received outside</span></div>
-<div class="line"><a name="l04656"></a><span class="lineno"> 4656</span> globalSizeX = xmax;<span class="comment">// - xmin;</span></div>
-<div class="line"><a name="l04657"></a><span class="lineno"> 4657</span> globalSizeY = ymax;<span class="comment">// - ymin;</span></div>
-<div class="line"><a name="l04658"></a><span class="lineno"> 4658</span> <span class="comment">// calculate local offset</span></div>
-<div class="line"><a name="l04659"></a><span class="lineno"> 4659</span> check_nomsg(offsetX = cpl_malloc(<span class="keyword">sizeof</span>(offsetX[0]) * nCubes));</div>
-<div class="line"><a name="l04660"></a><span class="lineno"> 4660</span> check_nomsg(offsetY = cpl_malloc(<span class="keyword">sizeof</span>(offsetY[0]) * nCubes));</div>
-<div class="line"><a name="l04661"></a><span class="lineno"> 4661</span> sinfo_check_rec_status(2);</div>
-<div class="line"><a name="l04662"></a><span class="lineno"> 4662</span> <span class="keywordflow">for</span> (z = 0; z < nCubes; z++) <span class="comment">// use the offset from the caller</span></div>
-<div class="line"><a name="l04663"></a><span class="lineno"> 4663</span> {</div>
-<div class="line"><a name="l04664"></a><span class="lineno"> 4664</span> offsetX[z] = global_offsetX[z];<span class="comment">// - xmin;</span></div>
-<div class="line"><a name="l04665"></a><span class="lineno"> 4665</span> offsetY[z] = global_offsetY[z];<span class="comment">// - ymin;</span></div>
-<div class="line"><a name="l04666"></a><span class="lineno"> 4666</span> <span class="comment">// sinfo_msg("for cube [%d] offset X[%d : %d] Y[%d : %d]", z, offsetX[z], global_offsetX[z], offsetY[z], global_offsetY[z]);</span></div>
-<div class="line"><a name="l04667"></a><span class="lineno"> 4667</span> }</div>
-<div class="line"><a name="l04668"></a><span class="lineno"> 4668</span> sinfo_check_rec_status(3);</div>
-<div class="line"><a name="l04669"></a><span class="lineno"> 4669</span> <span class="comment">// Because of DFS09121, the allocated size is taken +1</span></div>
-<div class="line"><a name="l04670"></a><span class="lineno"> 4670</span> nIndexXbytes = <span class="keyword">sizeof</span>(CubeDataVector**) * (globalSizeX+1 );</div>
-<div class="line"><a name="l04671"></a><span class="lineno"> 4671</span> <span class="comment">// sinfo_msg(" kappa_sigma_offset, globalSizeX[%d] globalSizeY[%d] nIndexXbytes[%d]", globalSizeX, globalSizeY, nIndexXbytes);</span></div>
-<div class="line"><a name="l04672"></a><span class="lineno"> 4672</span> indexX = cpl_malloc(nIndexXbytes);</div>
-<div class="line"><a name="l04673"></a><span class="lineno"> 4673</span> memset(&indexX[0], 0, (globalSizeX+1 )* <span class="keyword">sizeof</span>(indexX[0]));</div>
-<div class="line"><a name="l04674"></a><span class="lineno"> 4674</span> <span class="comment">// prepare result planes and mask</span></div>
-<div class="line"><a name="l04675"></a><span class="lineno"> 4675</span> </div>
-<div class="line"><a name="l04676"></a><span class="lineno"> 4676</span> <span class="comment">// 1. Fill indexes - do it only for a 0 plane in the cube</span></div>
-<div class="line"><a name="l04677"></a><span class="lineno"> 4677</span> <span class="keywordflow">for</span> (z = 0; z < nCubes; z++)</div>
-<div class="line"><a name="l04678"></a><span class="lineno"> 4678</span> {</div>
-<div class="line"><a name="l04679"></a><span class="lineno"> 4679</span> <span class="keywordtype">int</span> iCubeSizeX = 0;</div>
-<div class="line"><a name="l04680"></a><span class="lineno"> 4680</span> <span class="keywordtype">int</span> iCubeSizeY = 0;</div>
-<div class="line"><a name="l04681"></a><span class="lineno"> 4681</span> <span class="keywordtype">int</span> iOffsetX = 0;</div>
-<div class="line"><a name="l04682"></a><span class="lineno"> 4682</span> <span class="keywordtype">int</span> iOffsetY = 0;</div>
-<div class="line"><a name="l04683"></a><span class="lineno"> 4683</span> </div>
-<div class="line"><a name="l04684"></a><span class="lineno"> 4684</span> cpl_imagelist* pCube = inputCubes[z];</div>
-<div class="line"><a name="l04685"></a><span class="lineno"> 4685</span> cpl_image* pImage = 0;</div>
-<div class="line"><a name="l04686"></a><span class="lineno"> 4686</span> pImage = cpl_imagelist_get(pCube, 0);</div>
-<div class="line"><a name="l04687"></a><span class="lineno"> 4687</span> </div>
-<div class="line"><a name="l04688"></a><span class="lineno"> 4688</span> iCubeSizeX = cpl_image_get_size_x(pImage);</div>
-<div class="line"><a name="l04689"></a><span class="lineno"> 4689</span> iCubeSizeY = cpl_image_get_size_y(pImage);</div>
-<div class="line"><a name="l04690"></a><span class="lineno"> 4690</span> iOffsetX = offsetX[z];</div>
-<div class="line"><a name="l04691"></a><span class="lineno"> 4691</span> iOffsetY = offsetY[z];</div>
-<div class="line"><a name="l04692"></a><span class="lineno"> 4692</span> <span class="comment">// sinfo_msg(" processing cube [%d] offsetX[%d] offsetY[%d] iCubeSizeX[%d] iCubeSizeY[%d]", z, iOffsetX, iOffsetY, iCubeSizeX, iCubeSizeY);</span></div>
-<div class="line"><a name="l04693"></a><span class="lineno"> 4693</span> <span class="keywordflow">for</span> (x = 1; x <= iCubeSizeX; x++)</div>
-<div class="line"><a name="l04694"></a><span class="lineno"> 4694</span> {</div>
-<div class="line"><a name="l04695"></a><span class="lineno"> 4695</span> <span class="keywordtype">int</span> iGlobalX = x + iOffsetX;</div>
-<div class="line"><a name="l04696"></a><span class="lineno"> 4696</span> </div>
-<div class="line"><a name="l04697"></a><span class="lineno"> 4697</span> CubeDataVector** ppVector = 0;</div>
-<div class="line"><a name="l04698"></a><span class="lineno"> 4698</span> <span class="keywordflow">if</span> (indexX[iGlobalX - 1] == 0)</div>
-<div class="line"><a name="l04699"></a><span class="lineno"> 4699</span> {</div>
-<div class="line"><a name="l04700"></a><span class="lineno"> 4700</span> <span class="comment">// Because of DFS09121, the allocated size is taken +1</span></div>
-<div class="line"><a name="l04701"></a><span class="lineno"> 4701</span> <span class="keywordtype">int</span> nBytes = <span class="keyword">sizeof</span>(CubeDataVector*) * (globalSizeY+1 );</div>
-<div class="line"><a name="l04702"></a><span class="lineno"> 4702</span> ppVector= cpl_malloc(nBytes);</div>
-<div class="line"><a name="l04703"></a><span class="lineno"> 4703</span> memset(&ppVector[0],0,(globalSizeY+1) * <span class="keyword">sizeof</span>(ppVector[0]));</div>
-<div class="line"><a name="l04704"></a><span class="lineno"> 4704</span> indexX[iGlobalX - 1] = ppVector;</div>
-<div class="line"><a name="l04705"></a><span class="lineno"> 4705</span> }</div>
-<div class="line"><a name="l04706"></a><span class="lineno"> 4706</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l04707"></a><span class="lineno"> 4707</span> {</div>
-<div class="line"><a name="l04708"></a><span class="lineno"> 4708</span> ppVector = indexX[iGlobalX - 1];</div>
-<div class="line"><a name="l04709"></a><span class="lineno"> 4709</span> }</div>
-<div class="line"><a name="l04710"></a><span class="lineno"> 4710</span> <span class="keywordflow">for</span> (y = 1; y <=iCubeSizeY; y++)</div>
-<div class="line"><a name="l04711"></a><span class="lineno"> 4711</span> {</div>
-<div class="line"><a name="l04712"></a><span class="lineno"> 4712</span> CubeData* pCubeData = 0;</div>
-<div class="line"><a name="l04713"></a><span class="lineno"> 4713</span> <span class="keywordtype">int</span> iGlobalY = y + iOffsetY;</div>
-<div class="line"><a name="l04714"></a><span class="lineno"> 4714</span> CubeDataVector* pVector = ppVector[iGlobalY - 1];</div>
-<div class="line"><a name="l04715"></a><span class="lineno"> 4715</span> <span class="keywordflow">if</span>(pVector == 0)</div>
-<div class="line"><a name="l04716"></a><span class="lineno"> 4716</span> {</div>
-<div class="line"><a name="l04717"></a><span class="lineno"> 4717</span> <span class="keywordtype">int</span> nbytes = <span class="keyword">sizeof</span>(CubeDataVector);</div>
-<div class="line"><a name="l04718"></a><span class="lineno"> 4718</span> check_nomsg(pVector = cpl_malloc(nbytes));</div>
-<div class="line"><a name="l04719"></a><span class="lineno"> 4719</span> ppVector[iGlobalY - 1] = pVector;</div>
-<div class="line"><a name="l04720"></a><span class="lineno"> 4720</span> pVector->size = 0;</div>
-<div class="line"><a name="l04721"></a><span class="lineno"> 4721</span> nbytes = <span class="keyword">sizeof</span>(CubeData*) * nCubes;</div>
-<div class="line"><a name="l04722"></a><span class="lineno"> 4722</span> pVector->pdata = cpl_malloc(nbytes);</div>
-<div class="line"><a name="l04723"></a><span class="lineno"> 4723</span> <span class="comment">// memset(&pVector->pdata[0], 0, nCubes * sizeof(pVector->pdata[0]));</span></div>
-<div class="line"><a name="l04724"></a><span class="lineno"> 4724</span> }</div>
-<div class="line"><a name="l04725"></a><span class="lineno"> 4725</span> pCubeData = cpl_malloc(<span class="keyword">sizeof</span>(CubeData));</div>
-<div class="line"><a name="l04726"></a><span class="lineno"> 4726</span> pVector->pdata[(pVector->size)++] = pCubeData;</div>
-<div class="line"><a name="l04727"></a><span class="lineno"> 4727</span> pCubeData->iCubeNumber = z;</div>
-<div class="line"><a name="l04728"></a><span class="lineno"> 4728</span> pCubeData->iLocalX = x;</div>
-<div class="line"><a name="l04729"></a><span class="lineno"> 4729</span> pCubeData->iLocalY = y;</div>
-<div class="line"><a name="l04730"></a><span class="lineno"> 4730</span> }</div>
-<div class="line"><a name="l04731"></a><span class="lineno"> 4731</span> }</div>
-<div class="line"><a name="l04732"></a><span class="lineno"> 4732</span> }</div>
-<div class="line"><a name="l04733"></a><span class="lineno"> 4733</span> sinfo_check_rec_status(4);</div>
-<div class="line"><a name="l04734"></a><span class="lineno"> 4734</span> </div>
-<div class="line"><a name="l04735"></a><span class="lineno"> 4735</span> <span class="comment">// 2. for each index value in global coordinates (x,y) call kappa-sigma</span></div>
-<div class="line"><a name="l04736"></a><span class="lineno"> 4736</span> <span class="keywordflow">for</span> (x = 1; x <= globalSizeX; x++)</div>
-<div class="line"><a name="l04737"></a><span class="lineno"> 4737</span> {</div>
-<div class="line"><a name="l04738"></a><span class="lineno"> 4738</span> CubeDataVector** pDataX = indexX[x - 1];</div>
-<div class="line"><a name="l04739"></a><span class="lineno"> 4739</span> <span class="keywordflow">if</span> (pDataX)</div>
-<div class="line"><a name="l04740"></a><span class="lineno"> 4740</span> {</div>
-<div class="line"><a name="l04741"></a><span class="lineno"> 4741</span> <span class="keywordflow">for</span> (y = 1; y <= globalSizeY; y++)</div>
-<div class="line"><a name="l04742"></a><span class="lineno"> 4742</span> {</div>
-<div class="line"><a name="l04743"></a><span class="lineno"> 4743</span> CubeDataVector* pDataY = pDataX[y - 1];</div>
-<div class="line"><a name="l04744"></a><span class="lineno"> 4744</span> <span class="keywordflow">if</span> (pDataY && pDataY->size)</div>
-<div class="line"><a name="l04745"></a><span class="lineno"> 4745</span> {</div>
-<div class="line"><a name="l04746"></a><span class="lineno"> 4746</span> sinfo_kappa_sigma_CubeDataVector(x, y, pDataY, imResult,</div>
-<div class="line"><a name="l04747"></a><span class="lineno"> 4747</span> inputCubes, sky_mask, iPlanesNumber, z_min,</div>
-<div class="line"><a name="l04748"></a><span class="lineno"> 4748</span> kappa, exptimes);</div>
-<div class="line"><a name="l04749"></a><span class="lineno"> 4749</span> }</div>
-<div class="line"><a name="l04750"></a><span class="lineno"> 4750</span> <span class="keywordflow">if</span> (pDataY)</div>
-<div class="line"><a name="l04751"></a><span class="lineno"> 4751</span> {</div>
-<div class="line"><a name="l04752"></a><span class="lineno"> 4752</span> check_nomsg(cpl_free(pDataY->pdata));</div>
-<div class="line"><a name="l04753"></a><span class="lineno"> 4753</span> check_nomsg(cpl_free(pDataY));</div>
-<div class="line"><a name="l04754"></a><span class="lineno"> 4754</span> }</div>
-<div class="line"><a name="l04755"></a><span class="lineno"> 4755</span> }</div>
-<div class="line"><a name="l04756"></a><span class="lineno"> 4756</span> check_nomsg(cpl_free(pDataX));</div>
-<div class="line"><a name="l04757"></a><span class="lineno"> 4757</span> }</div>
-<div class="line"><a name="l04758"></a><span class="lineno"> 4758</span> }</div>
-<div class="line"><a name="l04759"></a><span class="lineno"> 4759</span> sinfo_check_rec_status(5);</div>
-<div class="line"><a name="l04760"></a><span class="lineno"> 4760</span> cleanup:</div>
-<div class="line"><a name="l04761"></a><span class="lineno"> 4761</span> cpl_free(indexX);</div>
-<div class="line"><a name="l04762"></a><span class="lineno"> 4762</span> cpl_free(offsetX);</div>
-<div class="line"><a name="l04763"></a><span class="lineno"> 4763</span> cpl_free(offsetY);</div>
-<div class="line"><a name="l04764"></a><span class="lineno"> 4764</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l04765"></a><span class="lineno"> 4765</span> </div>
-<div class="line"><a name="l04766"></a><span class="lineno"> 4766</span> }</div>
-<div class="line"><a name="l04767"></a><span class="lineno"> 4767</span> </div>
-<div class="line"><a name="l04768"></a><span class="lineno"> 4768</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l04769"></a><span class="lineno"> 4769</span> sinfo_kappa_sigma_CubeDataVector(</div>
-<div class="line"><a name="l04770"></a><span class="lineno"> 4770</span> <span class="keywordtype">int</span> globalX,</div>
-<div class="line"><a name="l04771"></a><span class="lineno"> 4771</span> <span class="keywordtype">int</span> globalY,</div>
-<div class="line"><a name="l04772"></a><span class="lineno"> 4772</span> CubeDataVector* pCubeDataVector,</div>
-<div class="line"><a name="l04773"></a><span class="lineno"> 4773</span> cpl_imagelist* imlistResult,</div>
-<div class="line"><a name="l04774"></a><span class="lineno"> 4774</span> cpl_imagelist** input_cubes,</div>
-<div class="line"><a name="l04775"></a><span class="lineno"> 4775</span> cpl_imagelist* sky_mask,</div>
-<div class="line"><a name="l04776"></a><span class="lineno"> 4776</span> <span class="keywordtype">int</span> iPlanesNumber,</div>
-<div class="line"><a name="l04777"></a><span class="lineno"> 4777</span> <span class="keywordtype">int</span> z_min,</div>
-<div class="line"><a name="l04778"></a><span class="lineno"> 4778</span> <span class="keyword">const</span> <span class="keywordtype">double</span> kappa,</div>
-<div class="line"><a name="l04779"></a><span class="lineno"> 4779</span> <span class="keyword">const</span> <span class="keywordtype">double</span>* exptimes</div>
-<div class="line"><a name="l04780"></a><span class="lineno"> 4780</span> )</div>
-<div class="line"><a name="l04781"></a><span class="lineno"> 4781</span> {</div>
-<div class="line"><a name="l04782"></a><span class="lineno"> 4782</span> <span class="keywordtype">int</span> plane = 0;</div>
-<div class="line"><a name="l04783"></a><span class="lineno"> 4783</span> <span class="keywordtype">int</span> z = 0;</div>
-<div class="line"><a name="l04784"></a><span class="lineno"> 4784</span> </div>
-<div class="line"><a name="l04785"></a><span class="lineno"> 4785</span> <span class="comment">// iterate through all planes</span></div>
-<div class="line"><a name="l04786"></a><span class="lineno"> 4786</span> cpl_array* pArray = 0;</div>
-<div class="line"><a name="l04787"></a><span class="lineno"> 4787</span> check_nomsg(pArray = cpl_array_new(pCubeDataVector->size, CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l04788"></a><span class="lineno"> 4788</span> </div>
-<div class="line"><a name="l04789"></a><span class="lineno"> 4789</span> </div>
-<div class="line"><a name="l04790"></a><span class="lineno"> 4790</span> <span class="keywordflow">for</span> (plane = z_min; plane < z_min + iPlanesNumber; plane++)</div>
-<div class="line"><a name="l04791"></a><span class="lineno"> 4791</span> {</div>
-<div class="line"><a name="l04792"></a><span class="lineno"> 4792</span> <span class="keywordtype">double</span> val_msk = 0; <span class="comment">// value of the mask in the point</span></div>
-<div class="line"><a name="l04793"></a><span class="lineno"> 4793</span> <span class="keywordtype">int</span> px = 0;</div>
-<div class="line"><a name="l04794"></a><span class="lineno"> 4794</span> cpl_image* imResult = 0;</div>
-<div class="line"><a name="l04795"></a><span class="lineno"> 4795</span> cpl_image* imMask = 0;</div>
-<div class="line"><a name="l04796"></a><span class="lineno"> 4796</span> <span class="keywordtype">double</span> mask_adjustment = 0;</div>
-<div class="line"><a name="l04797"></a><span class="lineno"> 4797</span> <span class="keywordtype">int</span> nValidPoints = 0;</div>
-<div class="line"><a name="l04798"></a><span class="lineno"> 4798</span> cpl_array_fill_window_invalid(pArray, 0, pCubeDataVector->size);</div>
-<div class="line"><a name="l04799"></a><span class="lineno"> 4799</span> check_nomsg(imMask = cpl_imagelist_get(sky_mask, plane - z_min));</div>
-<div class="line"><a name="l04800"></a><span class="lineno"> 4800</span> check_nomsg(val_msk = cpl_image_get(imMask, globalX, globalY, &px));</div>
-<div class="line"><a name="l04801"></a><span class="lineno"> 4801</span> <span class="keywordflow">for</span> (z = 0; z < pCubeDataVector->size; z++) <span class="comment">// through all cubes for that point - prepare the array</span></div>
-<div class="line"><a name="l04802"></a><span class="lineno"> 4802</span> {</div>
-<div class="line"><a name="l04803"></a><span class="lineno"> 4803</span> </div>
-<div class="line"><a name="l04804"></a><span class="lineno"> 4804</span> cpl_imagelist* pCube = 0;</div>
-<div class="line"><a name="l04805"></a><span class="lineno"> 4805</span> CubeData* pCubeData = pCubeDataVector->pdata[z];</div>
-<div class="line"><a name="l04806"></a><span class="lineno"> 4806</span> pCube = input_cubes[pCubeData->iCubeNumber];</div>
-<div class="line"><a name="l04807"></a><span class="lineno"> 4807</span> <span class="keywordflow">if</span> (pCube)</div>
-<div class="line"><a name="l04808"></a><span class="lineno"> 4808</span> {</div>
-<div class="line"><a name="l04809"></a><span class="lineno"> 4809</span> cpl_image* pImage = cpl_imagelist_get(pCube, plane - z_min);</div>
-<div class="line"><a name="l04810"></a><span class="lineno"> 4810</span> </div>
-<div class="line"><a name="l04811"></a><span class="lineno"> 4811</span> <span class="keywordflow">if</span> (pImage)</div>
-<div class="line"><a name="l04812"></a><span class="lineno"> 4812</span> {</div>
-<div class="line"><a name="l04813"></a><span class="lineno"> 4813</span> <span class="keywordtype">int</span> is_rejected = 0;</div>
-<div class="line"><a name="l04814"></a><span class="lineno"> 4814</span> <span class="keywordtype">double</span> value = 0;</div>
-<div class="line"><a name="l04815"></a><span class="lineno"> 4815</span> check_nomsg(value = cpl_image_get(pImage, pCubeData->iLocalX,</div>
-<div class="line"><a name="l04816"></a><span class="lineno"> 4816</span> pCubeData->iLocalY, &is_rejected));</div>
-<div class="line"><a name="l04817"></a><span class="lineno"> 4817</span> <span class="keywordflow">if</span> (!isnan(value))</div>
-<div class="line"><a name="l04818"></a><span class="lineno"> 4818</span> {</div>
-<div class="line"><a name="l04819"></a><span class="lineno"> 4819</span> check_nomsg(cpl_array_set(pArray, z, value));</div>
-<div class="line"><a name="l04820"></a><span class="lineno"> 4820</span> ++nValidPoints;</div>
-<div class="line"><a name="l04821"></a><span class="lineno"> 4821</span> }</div>
-<div class="line"><a name="l04822"></a><span class="lineno"> 4822</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l04823"></a><span class="lineno"> 4823</span> {</div>
-<div class="line"><a name="l04824"></a><span class="lineno"> 4824</span> mask_adjustment += exptimes[z];</div>
-<div class="line"><a name="l04825"></a><span class="lineno"> 4825</span> }</div>
-<div class="line"><a name="l04826"></a><span class="lineno"> 4826</span> }</div>
-<div class="line"><a name="l04827"></a><span class="lineno"> 4827</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l04828"></a><span class="lineno"> 4828</span> {</div>
-<div class="line"><a name="l04829"></a><span class="lineno"> 4829</span> sinfo_msg(<span class="stringliteral">"pImage is null"</span>);</div>
-<div class="line"><a name="l04830"></a><span class="lineno"> 4830</span> }</div>
-<div class="line"><a name="l04831"></a><span class="lineno"> 4831</span> }</div>
-<div class="line"><a name="l04832"></a><span class="lineno"> 4832</span> }</div>
-<div class="line"><a name="l04833"></a><span class="lineno"> 4833</span> <span class="keywordflow">if</span>(nValidPoints)</div>
-<div class="line"><a name="l04834"></a><span class="lineno"> 4834</span> {</div>
-<div class="line"><a name="l04835"></a><span class="lineno"> 4835</span> sinfo_kappa_sigma_array_with_mask(pArray, pCubeDataVector->size,</div>
-<div class="line"><a name="l04836"></a><span class="lineno"> 4836</span> kappa, imMask, exptimes, globalX, globalY,</div>
-<div class="line"><a name="l04837"></a><span class="lineno"> 4837</span> mask_adjustment);</div>
-<div class="line"><a name="l04838"></a><span class="lineno"> 4838</span> check_nomsg(imResult = cpl_imagelist_get(imlistResult, plane));</div>
-<div class="line"><a name="l04839"></a><span class="lineno"> 4839</span> <span class="keywordflow">if</span> (imResult)</div>
-<div class="line"><a name="l04840"></a><span class="lineno"> 4840</span> {</div>
-<div class="line"><a name="l04841"></a><span class="lineno"> 4841</span> check_nomsg(cpl_image_set(imResult, globalX, globalY,</div>
-<div class="line"><a name="l04842"></a><span class="lineno"> 4842</span> cpl_array_get_mean(pArray)));</div>
-<div class="line"><a name="l04843"></a><span class="lineno"> 4843</span> }</div>
-<div class="line"><a name="l04844"></a><span class="lineno"> 4844</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l04845"></a><span class="lineno"> 4845</span> {</div>
-<div class="line"><a name="l04846"></a><span class="lineno"> 4846</span> sinfo_msg(<span class="stringliteral">"imResult is null"</span>);</div>
-<div class="line"><a name="l04847"></a><span class="lineno"> 4847</span> }</div>
-<div class="line"><a name="l04848"></a><span class="lineno"> 4848</span> } <span class="keywordflow">else</span></div>
-<div class="line"><a name="l04849"></a><span class="lineno"> 4849</span> {</div>
-<div class="line"><a name="l04850"></a><span class="lineno"> 4850</span> <span class="comment">// adjust the mask</span></div>
-<div class="line"><a name="l04851"></a><span class="lineno"> 4851</span> check_nomsg(cpl_image_set(imMask, globalX,globalY, 0));</div>
-<div class="line"><a name="l04852"></a><span class="lineno"> 4852</span> }</div>
-<div class="line"><a name="l04853"></a><span class="lineno"> 4853</span> }</div>
-<div class="line"><a name="l04854"></a><span class="lineno"> 4854</span> <span class="keywordflow">for</span> (z = 0; z < pCubeDataVector->size; z++) <span class="comment">// through all cubes - delete the data</span></div>
-<div class="line"><a name="l04855"></a><span class="lineno"> 4855</span> {</div>
-<div class="line"><a name="l04856"></a><span class="lineno"> 4856</span> CubeData* pCubeData = pCubeDataVector->pdata[z];</div>
-<div class="line"><a name="l04857"></a><span class="lineno"> 4857</span> cpl_free(pCubeData);</div>
-<div class="line"><a name="l04858"></a><span class="lineno"> 4858</span> }</div>
-<div class="line"><a name="l04859"></a><span class="lineno"> 4859</span> cpl_array_delete(pArray);</div>
-<div class="line"><a name="l04860"></a><span class="lineno"> 4860</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l04861"></a><span class="lineno"> 4861</span> cleanup:</div>
-<div class="line"><a name="l04862"></a><span class="lineno"> 4862</span> <span class="comment">// sinfo_msg(" -----cleanup");</span></div>
-<div class="line"><a name="l04863"></a><span class="lineno"> 4863</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l04864"></a><span class="lineno"> 4864</span> }</div>
-<div class="line"><a name="l04865"></a><span class="lineno"> 4865</span> </div>
-<div class="line"><a name="l04866"></a><span class="lineno"> 4866</span> </div>
-<div class="line"><a name="l04867"></a><span class="lineno"> 4867</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l04868"></a><span class="lineno"> 4868</span> sinfo_coadd_with_ks_clip(<span class="keyword">const</span> <span class="keywordtype">int</span> z_min,</div>
-<div class="line"><a name="l04869"></a><span class="lineno"> 4869</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_max,</div>
-<div class="line"><a name="l04870"></a><span class="lineno"> 4870</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ilx,</div>
-<div class="line"><a name="l04871"></a><span class="lineno"> 4871</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ily,</div>
-<div class="line"><a name="l04872"></a><span class="lineno"> 4872</span> <span class="keyword">const</span> <span class="keywordtype">int</span> n_cubes,</div>
-<div class="line"><a name="l04873"></a><span class="lineno"> 4873</span> <span class="keyword">const</span> <span class="keywordtype">double</span> kappa,</div>
-<div class="line"><a name="l04874"></a><span class="lineno"> 4874</span> <span class="keywordtype">int</span>* llx,</div>
-<div class="line"><a name="l04875"></a><span class="lineno"> 4875</span> <span class="keywordtype">int</span>* lly,</div>
-<div class="line"><a name="l04876"></a><span class="lineno"> 4876</span> <span class="keywordtype">double</span>* exptimes,</div>
-<div class="line"><a name="l04877"></a><span class="lineno"> 4877</span> cpl_imagelist* mask,</div>
-<div class="line"><a name="l04878"></a><span class="lineno"> 4878</span> cpl_imagelist* mergedCube,</div>
-<div class="line"><a name="l04879"></a><span class="lineno"> 4879</span> cpl_imagelist** tmpcubes)</div>
-<div class="line"><a name="l04880"></a><span class="lineno"> 4880</span> </div>
-<div class="line"><a name="l04881"></a><span class="lineno"> 4881</span> {</div>
-<div class="line"><a name="l04882"></a><span class="lineno"> 4882</span> </div>
-<div class="line"><a name="l04883"></a><span class="lineno"> 4883</span> <span class="keywordtype">int</span> m=0;</div>
-<div class="line"><a name="l04884"></a><span class="lineno"> 4884</span> <span class="keywordtype">int</span> x=0;</div>
-<div class="line"><a name="l04885"></a><span class="lineno"> 4885</span> <span class="keywordtype">int</span> y=0;</div>
-<div class="line"><a name="l04886"></a><span class="lineno"> 4886</span> <span class="keywordtype">int</span> z=0;</div>
-<div class="line"><a name="l04887"></a><span class="lineno"> 4887</span> </div>
-<div class="line"><a name="l04888"></a><span class="lineno"> 4888</span> <span class="keywordtype">int</span> mlx=0;</div>
-<div class="line"><a name="l04889"></a><span class="lineno"> 4889</span> <span class="keywordtype">int</span> mly=0;</div>
-<div class="line"><a name="l04890"></a><span class="lineno"> 4890</span> <span class="keywordtype">int</span> nc=0;</div>
-<div class="line"><a name="l04891"></a><span class="lineno"> 4891</span> <span class="keywordtype">int</span> olx=0;</div>
-<div class="line"><a name="l04892"></a><span class="lineno"> 4892</span> <span class="keywordtype">int</span> oly=0;</div>
-<div class="line"><a name="l04893"></a><span class="lineno"> 4893</span> <span class="keywordtype">int</span> posx=0;</div>
-<div class="line"><a name="l04894"></a><span class="lineno"> 4894</span> <span class="keywordtype">int</span> posy=0;</div>
-<div class="line"><a name="l04895"></a><span class="lineno"> 4895</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l04896"></a><span class="lineno"> 4896</span> <span class="keywordtype">int</span> nclip=0;</div>
-<div class="line"><a name="l04897"></a><span class="lineno"> 4897</span> <span class="keywordtype">int</span> ks=0;</div>
-<div class="line"><a name="l04898"></a><span class="lineno"> 4898</span> </div>
-<div class="line"><a name="l04899"></a><span class="lineno"> 4899</span> <span class="keywordtype">float</span> sig=0;</div>
-<div class="line"><a name="l04900"></a><span class="lineno"> 4900</span> <span class="keywordtype">float</span> med=0;</div>
-<div class="line"><a name="l04901"></a><span class="lineno"> 4901</span> <span class="keywordtype">float</span> ovr=0;</div>
-<div class="line"><a name="l04902"></a><span class="lineno"> 4902</span> <span class="keywordtype">float</span> msk_sum=0;</div>
-<div class="line"><a name="l04903"></a><span class="lineno"> 4903</span> <span class="keywordtype">float</span> val_msk_sum=0;</div>
-<div class="line"><a name="l04904"></a><span class="lineno"> 4904</span> <span class="keywordtype">float</span> avg=0;</div>
-<div class="line"><a name="l04905"></a><span class="lineno"> 4905</span> </div>
-<div class="line"><a name="l04906"></a><span class="lineno"> 4906</span> <span class="keywordtype">float</span>* pmdata=NULL;</div>
-<div class="line"><a name="l04907"></a><span class="lineno"> 4907</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l04908"></a><span class="lineno"> 4908</span> <span class="keywordtype">float</span>* ptdata=NULL;</div>
-<div class="line"><a name="l04909"></a><span class="lineno"> 4909</span> <span class="keywordtype">float</span>* pvdata=NULL;</div>
-<div class="line"><a name="l04910"></a><span class="lineno"> 4910</span> </div>
-<div class="line"><a name="l04911"></a><span class="lineno"> 4911</span> cpl_image* m_img=NULL;</div>
-<div class="line"><a name="l04912"></a><span class="lineno"> 4912</span> cpl_image* o_img=NULL;</div>
-<div class="line"><a name="l04913"></a><span class="lineno"> 4913</span> cpl_image* t_img=NULL;</div>
-<div class="line"><a name="l04914"></a><span class="lineno"> 4914</span> cpl_image* v_img=NULL;</div>
-<div class="line"><a name="l04915"></a><span class="lineno"> 4915</span> </div>
-<div class="line"><a name="l04916"></a><span class="lineno"> 4916</span> </div>
-<div class="line"><a name="l04917"></a><span class="lineno"> 4917</span> cpl_vector* val=NULL;</div>
-<div class="line"><a name="l04918"></a><span class="lineno"> 4918</span> cpl_vector* msk=NULL;</div>
-<div class="line"><a name="l04919"></a><span class="lineno"> 4919</span> </div>
-<div class="line"><a name="l04920"></a><span class="lineno"> 4920</span> </div>
-<div class="line"><a name="l04921"></a><span class="lineno"> 4921</span> o_img=cpl_imagelist_get(mergedCube,0);</div>
-<div class="line"><a name="l04922"></a><span class="lineno"> 4922</span> olx=cpl_image_get_size_x(o_img);</div>
-<div class="line"><a name="l04923"></a><span class="lineno"> 4923</span> oly=cpl_image_get_size_y(o_img);</div>
-<div class="line"><a name="l04924"></a><span class="lineno"> 4924</span> </div>
-<div class="line"><a name="l04925"></a><span class="lineno"> 4925</span> m=0;</div>
-<div class="line"><a name="l04926"></a><span class="lineno"> 4926</span> <span class="keywordflow">for</span> ( z = z_min; z < z_max ; z++ ) {</div>
-<div class="line"><a name="l04927"></a><span class="lineno"> 4927</span> m_img=cpl_imagelist_get(mask,z);</div>
-<div class="line"><a name="l04928"></a><span class="lineno"> 4928</span> pmdata=cpl_image_get_data_float(m_img);</div>
-<div class="line"><a name="l04929"></a><span class="lineno"> 4929</span> o_img=cpl_imagelist_get(mergedCube,z);</div>
-<div class="line"><a name="l04930"></a><span class="lineno"> 4930</span> podata=cpl_image_get_data_float(o_img);</div>
-<div class="line"><a name="l04931"></a><span class="lineno"> 4931</span> mlx=cpl_image_get_size_x(m_img);</div>
-<div class="line"><a name="l04932"></a><span class="lineno"> 4932</span> mly=cpl_image_get_size_y(m_img);</div>
-<div class="line"><a name="l04933"></a><span class="lineno"> 4933</span> <span class="comment">// go through the first image plane of the big data cube </span></div>
-<div class="line"><a name="l04934"></a><span class="lineno"> 4934</span> <span class="keywordflow">for</span> ( y = 0 ; y < oly ; y++ ) {</div>
-<div class="line"><a name="l04935"></a><span class="lineno"> 4935</span> <span class="keywordflow">for</span> ( x = 0 ; x < olx ; x++ ) {</div>
-<div class="line"><a name="l04936"></a><span class="lineno"> 4936</span> avg=0;</div>
-<div class="line"><a name="l04937"></a><span class="lineno"> 4937</span> nc=0;</div>
-<div class="line"><a name="l04938"></a><span class="lineno"> 4938</span> <span class="comment">// computes nc </span></div>
-<div class="line"><a name="l04939"></a><span class="lineno"> 4939</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_cubes ; i++ ) {</div>
-<div class="line"><a name="l04940"></a><span class="lineno"> 4940</span> t_img=cpl_imagelist_get(tmpcubes[i],m);</div>
-<div class="line"><a name="l04941"></a><span class="lineno"> 4941</span> ptdata=cpl_image_get_data_float(t_img);</div>
-<div class="line"><a name="l04942"></a><span class="lineno"> 4942</span> <span class="keywordflow">if</span> ( y >= lly[i] && y < lly[i]+ily &&</div>
-<div class="line"><a name="l04943"></a><span class="lineno"> 4943</span> x >= llx[i] && x < llx[i]+ilx ) {</div>
-<div class="line"><a name="l04944"></a><span class="lineno"> 4944</span> posx = x - llx[i] ;</div>
-<div class="line"><a name="l04945"></a><span class="lineno"> 4945</span> posy = y - lly[i] ;</div>
-<div class="line"><a name="l04946"></a><span class="lineno"> 4946</span> <span class="keywordflow">if</span> (!isnan(ptdata[posx+posy*ilx]) &&</div>
-<div class="line"><a name="l04947"></a><span class="lineno"> 4947</span> ptdata[posx+posy*ilx] != 0.) {</div>
-<div class="line"><a name="l04948"></a><span class="lineno"> 4948</span> nc++;</div>
-<div class="line"><a name="l04949"></a><span class="lineno"> 4949</span> }</div>
-<div class="line"><a name="l04950"></a><span class="lineno"> 4950</span> }</div>
-<div class="line"><a name="l04951"></a><span class="lineno"> 4951</span> }</div>
-<div class="line"><a name="l04952"></a><span class="lineno"> 4952</span> <span class="keywordflow">if</span>( nc > 0 ) {</div>
-<div class="line"><a name="l04953"></a><span class="lineno"> 4953</span> </div>
-<div class="line"><a name="l04954"></a><span class="lineno"> 4954</span> </div>
-<div class="line"><a name="l04955"></a><span class="lineno"> 4955</span> msk=cpl_vector_new(n_cubes);</div>
-<div class="line"><a name="l04956"></a><span class="lineno"> 4956</span> <span class="keywordflow">for</span> (i=0;i<n_cubes;i++) {</div>
-<div class="line"><a name="l04957"></a><span class="lineno"> 4957</span> cpl_vector_set(msk,i,1);</div>
-<div class="line"><a name="l04958"></a><span class="lineno"> 4958</span> }</div>
-<div class="line"><a name="l04959"></a><span class="lineno"> 4959</span> </div>
-<div class="line"><a name="l04960"></a><span class="lineno"> 4960</span> <span class="comment">// k-s clipping </span></div>
-<div class="line"><a name="l04961"></a><span class="lineno"> 4961</span> nclip=0;</div>
-<div class="line"><a name="l04962"></a><span class="lineno"> 4962</span> </div>
-<div class="line"><a name="l04963"></a><span class="lineno"> 4963</span> </div>
-<div class="line"><a name="l04964"></a><span class="lineno"> 4964</span> <span class="keywordflow">for</span> (ks=0;ks<nc;ks++) {</div>
-<div class="line"><a name="l04965"></a><span class="lineno"> 4965</span> sig=0;</div>
-<div class="line"><a name="l04966"></a><span class="lineno"> 4966</span> med=0;</div>
-<div class="line"><a name="l04967"></a><span class="lineno"> 4967</span> ovr=0;</div>
-<div class="line"><a name="l04968"></a><span class="lineno"> 4968</span> <span class="keywordflow">if</span>(nc-nclip >0) {</div>
-<div class="line"><a name="l04969"></a><span class="lineno"> 4969</span> val=cpl_vector_new(nc-nclip);</div>
-<div class="line"><a name="l04970"></a><span class="lineno"> 4970</span> }</div>
-<div class="line"><a name="l04971"></a><span class="lineno"> 4971</span> <span class="comment">// fill val </span></div>
-<div class="line"><a name="l04972"></a><span class="lineno"> 4972</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_cubes ; i++ ) {</div>
-<div class="line"><a name="l04973"></a><span class="lineno"> 4973</span> t_img=cpl_imagelist_get(tmpcubes[i],m);</div>
-<div class="line"><a name="l04974"></a><span class="lineno"> 4974</span> ptdata=cpl_image_get_data_float(t_img);</div>
-<div class="line"><a name="l04975"></a><span class="lineno"> 4975</span> <span class="keywordflow">if</span> ( y >= lly[i] && y < lly[i]+ily &&</div>
-<div class="line"><a name="l04976"></a><span class="lineno"> 4976</span> x >= llx[i] && x < llx[i]+ilx ) {</div>
-<div class="line"><a name="l04977"></a><span class="lineno"> 4977</span> posx = x - llx[i] ;</div>
-<div class="line"><a name="l04978"></a><span class="lineno"> 4978</span> posy = y - lly[i] ;</div>
-<div class="line"><a name="l04979"></a><span class="lineno"> 4979</span> <span class="keywordflow">if</span> (!isnan(ptdata[posx+posy*ilx]) &&</div>
-<div class="line"><a name="l04980"></a><span class="lineno"> 4980</span> ptdata[posx+posy*ilx] != 0. &&</div>
-<div class="line"><a name="l04981"></a><span class="lineno"> 4981</span> (cpl_vector_get(msk,i) != 0)) {</div>
-<div class="line"><a name="l04982"></a><span class="lineno"> 4982</span> cpl_vector_set(val,ovr,(<span class="keywordtype">double</span>)ptdata[posx+posy*ilx]);</div>
-<div class="line"><a name="l04983"></a><span class="lineno"> 4983</span> ovr++;</div>
-<div class="line"><a name="l04984"></a><span class="lineno"> 4984</span> }</div>
-<div class="line"><a name="l04985"></a><span class="lineno"> 4985</span> }</div>
-<div class="line"><a name="l04986"></a><span class="lineno"> 4986</span> }</div>
-<div class="line"><a name="l04987"></a><span class="lineno"> 4987</span> </div>
-<div class="line"><a name="l04988"></a><span class="lineno"> 4988</span> <span class="comment">// get avg, med, sig </span></div>
-<div class="line"><a name="l04989"></a><span class="lineno"> 4989</span> <span class="keywordflow">if</span>(ovr>0) {</div>
-<div class="line"><a name="l04990"></a><span class="lineno"> 4990</span> avg=cpl_vector_get_mean(val);</div>
-<div class="line"><a name="l04991"></a><span class="lineno"> 4991</span> med=cpl_vector_get_median_const(val);</div>
-<div class="line"><a name="l04992"></a><span class="lineno"> 4992</span> <span class="keywordflow">if</span>(ovr>1) {</div>
-<div class="line"><a name="l04993"></a><span class="lineno"> 4993</span> sig=cpl_vector_get_stdev(val);</div>
-<div class="line"><a name="l04994"></a><span class="lineno"> 4994</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04995"></a><span class="lineno"> 4995</span> sig=0;</div>
-<div class="line"><a name="l04996"></a><span class="lineno"> 4996</span> }</div>
-<div class="line"><a name="l04997"></a><span class="lineno"> 4997</span> cpl_vector_delete(val);</div>
-<div class="line"><a name="l04998"></a><span class="lineno"> 4998</span> }</div>
-<div class="line"><a name="l04999"></a><span class="lineno"> 4999</span> </div>
-<div class="line"><a name="l05000"></a><span class="lineno"> 5000</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_cubes ; i++ ) {</div>
-<div class="line"><a name="l05001"></a><span class="lineno"> 5001</span> t_img=cpl_imagelist_get(tmpcubes[i],m);</div>
-<div class="line"><a name="l05002"></a><span class="lineno"> 5002</span> ptdata=cpl_image_get_data_float(t_img);</div>
-<div class="line"><a name="l05003"></a><span class="lineno"> 5003</span> <span class="comment">// Do k-s clipping at each pixel </span></div>
-<div class="line"><a name="l05004"></a><span class="lineno"> 5004</span> <span class="keywordflow">if</span> ( y >= lly[i] && y < lly[i]+ily &&</div>
-<div class="line"><a name="l05005"></a><span class="lineno"> 5005</span> x >= llx[i] && x < llx[i]+ilx ) {</div>
-<div class="line"><a name="l05006"></a><span class="lineno"> 5006</span> posx = x - llx[i] ;</div>
-<div class="line"><a name="l05007"></a><span class="lineno"> 5007</span> posy = y - lly[i] ;</div>
-<div class="line"><a name="l05008"></a><span class="lineno"> 5008</span> <span class="keywordflow">if</span> (!isnan(ptdata[posx+posy*ilx]) &&</div>
-<div class="line"><a name="l05009"></a><span class="lineno"> 5009</span> ptdata[posx+posy*ilx] != 0. &&</div>
-<div class="line"><a name="l05010"></a><span class="lineno"> 5010</span> (cpl_vector_get(msk,i) != 0)) {</div>
-<div class="line"><a name="l05011"></a><span class="lineno"> 5011</span> <span class="keywordflow">if</span>(abs((ptdata[posx+posy*ilx]-med))> kappa*sig) {</div>
-<div class="line"><a name="l05012"></a><span class="lineno"> 5012</span> ptdata[posx+posy*ilx]=0;</div>
-<div class="line"><a name="l05013"></a><span class="lineno"> 5013</span> pmdata[x+y*mlx] -= exptimes[i] ;</div>
-<div class="line"><a name="l05014"></a><span class="lineno"> 5014</span> cpl_vector_set(msk,i,0);</div>
-<div class="line"><a name="l05015"></a><span class="lineno"> 5015</span> nclip++;</div>
-<div class="line"><a name="l05016"></a><span class="lineno"> 5016</span> }</div>
-<div class="line"><a name="l05017"></a><span class="lineno"> 5017</span> }</div>
-<div class="line"><a name="l05018"></a><span class="lineno"> 5018</span> }</div>
-<div class="line"><a name="l05019"></a><span class="lineno"> 5019</span> }</div>
-<div class="line"><a name="l05020"></a><span class="lineno"> 5020</span> } <span class="comment">// end of k-s clipping </span></div>
-<div class="line"><a name="l05021"></a><span class="lineno"> 5021</span> </div>
-<div class="line"><a name="l05022"></a><span class="lineno"> 5022</span> msk_sum=0;</div>
-<div class="line"><a name="l05023"></a><span class="lineno"> 5023</span> val_msk_sum=0;</div>
-<div class="line"><a name="l05024"></a><span class="lineno"> 5024</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_cubes ; i++ ) {</div>
-<div class="line"><a name="l05025"></a><span class="lineno"> 5025</span> v_img=cpl_imagelist_get(tmpcubes[i],m);</div>
-<div class="line"><a name="l05026"></a><span class="lineno"> 5026</span> pvdata=cpl_image_get_data_float(v_img);</div>
-<div class="line"><a name="l05027"></a><span class="lineno"> 5027</span> <span class="comment">// computes sky at each point </span></div>
-<div class="line"><a name="l05028"></a><span class="lineno"> 5028</span> <span class="keywordflow">if</span> ( y >= lly[i] && y < lly[i]+ily &&</div>
-<div class="line"><a name="l05029"></a><span class="lineno"> 5029</span> x >= llx[i] && x < llx[i]+ilx ) {</div>
-<div class="line"><a name="l05030"></a><span class="lineno"> 5030</span> posx = x - llx[i] ;</div>
-<div class="line"><a name="l05031"></a><span class="lineno"> 5031</span> posy = y - lly[i] ;</div>
-<div class="line"><a name="l05032"></a><span class="lineno"> 5032</span> <span class="comment">//sinfo_msg_warning("llx[%d]=%d lly[%d],=%d",i,llx[i],i,lly[i]);</span></div>
-<div class="line"><a name="l05033"></a><span class="lineno"> 5033</span> <span class="comment">//sinfo_msg_warning("posx=%d posy=%d",posx,posy);</span></div>
-<div class="line"><a name="l05034"></a><span class="lineno"> 5034</span> <span class="keywordflow">if</span> (!isnan(pvdata[posx+posy*ilx]) &&</div>
-<div class="line"><a name="l05035"></a><span class="lineno"> 5035</span> pvdata[posx+posy*ilx] != 0. &&</div>
-<div class="line"><a name="l05036"></a><span class="lineno"> 5036</span> (cpl_vector_get(msk,i) != 0)) {</div>
-<div class="line"><a name="l05037"></a><span class="lineno"> 5037</span> msk_sum+=pmdata[x+y*mlx];</div>
-<div class="line"><a name="l05038"></a><span class="lineno"> 5038</span> val_msk_sum+=pvdata[posx+posy*ilx]*</div>
-<div class="line"><a name="l05039"></a><span class="lineno"> 5039</span> pmdata[x+y*mlx];</div>
-<div class="line"><a name="l05040"></a><span class="lineno"> 5040</span> }</div>
-<div class="line"><a name="l05041"></a><span class="lineno"> 5041</span> }</div>
-<div class="line"><a name="l05042"></a><span class="lineno"> 5042</span> }</div>
-<div class="line"><a name="l05043"></a><span class="lineno"> 5043</span> podata[x+y*olx]=val_msk_sum/msk_sum;</div>
-<div class="line"><a name="l05044"></a><span class="lineno"> 5044</span> cpl_vector_delete(msk);</div>
-<div class="line"><a name="l05045"></a><span class="lineno"> 5045</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l05046"></a><span class="lineno"> 5046</span> <span class="comment"> sinfo_ks_clip(n_cubes,nc,ilx,ily,kappa,llx,lly,exptimes,</span></div>
-<div class="line"><a name="l05047"></a><span class="lineno"> 5047</span> <span class="comment"> tmpcubes,podata,pmdata,x,y,m,mlx,oly);</span></div>
-<div class="line"><a name="l05048"></a><span class="lineno"> 5048</span> <span class="comment"></span></div>
-<div class="line"><a name="l05049"></a><span class="lineno"> 5049</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l05050"></a><span class="lineno"> 5050</span> </div>
-<div class="line"><a name="l05051"></a><span class="lineno"> 5051</span> } <span class="comment">// end check if overlap nc >0 </span></div>
-<div class="line"><a name="l05052"></a><span class="lineno"> 5052</span> } <span class="comment">// end loop over x </span></div>
-<div class="line"><a name="l05053"></a><span class="lineno"> 5053</span> } <span class="comment">// end loop over y </span></div>
-<div class="line"><a name="l05054"></a><span class="lineno"> 5054</span> m++;</div>
-<div class="line"><a name="l05055"></a><span class="lineno"> 5055</span> } <span class="comment">// end loop over z </span></div>
-<div class="line"><a name="l05056"></a><span class="lineno"> 5056</span> </div>
-<div class="line"><a name="l05057"></a><span class="lineno"> 5057</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l05058"></a><span class="lineno"> 5058</span> </div>
-<div class="line"><a name="l05059"></a><span class="lineno"> 5059</span> </div>
-<div class="line"><a name="l05060"></a><span class="lineno"> 5060</span> }</div>
-<div class="line"><a name="l05061"></a><span class="lineno"> 5061</span> </div>
-<div class="line"><a name="l05062"></a><span class="lineno"> 5062</span> </div>
-<div class="line"><a name="l05063"></a><span class="lineno"> 5063</span> </div>
-<div class="line"><a name="l05064"></a><span class="lineno"> 5064</span> </div>
-<div class="line"><a name="l05065"></a><span class="lineno"> 5065</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l05066"></a><span class="lineno"> 5066</span> sinfo_compute_contributes_at_pos(cpl_imagelist** tmpcubes, </div>
-<div class="line"><a name="l05067"></a><span class="lineno"> 5067</span> <span class="keywordtype">int</span>* llx, <span class="keywordtype">int</span>* lly, </div>
-<div class="line"><a name="l05068"></a><span class="lineno"> 5068</span> <span class="keyword">const</span> <span class="keywordtype">int</span> x, <span class="keyword">const</span> <span class="keywordtype">int</span> y,</div>
-<div class="line"><a name="l05069"></a><span class="lineno"> 5069</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ilx, <span class="keyword">const</span> <span class="keywordtype">int</span> ily, </div>
-<div class="line"><a name="l05070"></a><span class="lineno"> 5070</span> <span class="keyword">const</span> <span class="keywordtype">int</span> m,<span class="keyword">const</span> <span class="keywordtype">int</span> n_cubes)</div>
-<div class="line"><a name="l05071"></a><span class="lineno"> 5071</span> {</div>
-<div class="line"><a name="l05072"></a><span class="lineno"> 5072</span> </div>
-<div class="line"><a name="l05073"></a><span class="lineno"> 5073</span> <span class="keywordtype">int</span> result=0;</div>
-<div class="line"><a name="l05074"></a><span class="lineno"> 5074</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l05075"></a><span class="lineno"> 5075</span> <span class="keywordtype">int</span> lox=0;</div>
-<div class="line"><a name="l05076"></a><span class="lineno"> 5076</span> <span class="keywordtype">int</span> loy=0;</div>
-<div class="line"><a name="l05077"></a><span class="lineno"> 5077</span> <span class="keywordtype">int</span> upx=0;</div>
-<div class="line"><a name="l05078"></a><span class="lineno"> 5078</span> <span class="keywordtype">int</span> upy=0;</div>
-<div class="line"><a name="l05079"></a><span class="lineno"> 5079</span> <span class="keywordtype">int</span> post=0;</div>
-<div class="line"><a name="l05080"></a><span class="lineno"> 5080</span> <span class="keywordtype">int</span> posx=0;</div>
-<div class="line"><a name="l05081"></a><span class="lineno"> 5081</span> <span class="keywordtype">int</span> posy=0;</div>
-<div class="line"><a name="l05082"></a><span class="lineno"> 5082</span> </div>
-<div class="line"><a name="l05083"></a><span class="lineno"> 5083</span> <span class="keywordtype">float</span>* ptdata=NULL;</div>
-<div class="line"><a name="l05084"></a><span class="lineno"> 5084</span> cpl_image* t_img=NULL;</div>
-<div class="line"><a name="l05085"></a><span class="lineno"> 5085</span> </div>
-<div class="line"><a name="l05086"></a><span class="lineno"> 5086</span> </div>
-<div class="line"><a name="l05087"></a><span class="lineno"> 5087</span> <span class="comment">/* computes nc the number of intensity contributes from </span></div>
-<div class="line"><a name="l05088"></a><span class="lineno"> 5088</span> <span class="comment"> each overlapping cube point intensity at x,y</span></div>
-<div class="line"><a name="l05089"></a><span class="lineno"> 5089</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l05090"></a><span class="lineno"> 5090</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_cubes ; i++ ) {</div>
-<div class="line"><a name="l05091"></a><span class="lineno"> 5091</span> t_img=cpl_imagelist_get(tmpcubes[i],m);</div>
-<div class="line"><a name="l05092"></a><span class="lineno"> 5092</span> ptdata=cpl_image_get_data_float(t_img);</div>
-<div class="line"><a name="l05093"></a><span class="lineno"> 5093</span> lox=llx[i];</div>
-<div class="line"><a name="l05094"></a><span class="lineno"> 5094</span> loy=lly[i];</div>
-<div class="line"><a name="l05095"></a><span class="lineno"> 5095</span> upx=llx[i]+ilx;</div>
-<div class="line"><a name="l05096"></a><span class="lineno"> 5096</span> upy=lly[i]+ily;</div>
-<div class="line"><a name="l05097"></a><span class="lineno"> 5097</span> </div>
-<div class="line"><a name="l05098"></a><span class="lineno"> 5098</span> <span class="keywordflow">if</span> ( y >= loy && y < upy && x >= lox && x < upx ) {</div>
-<div class="line"><a name="l05099"></a><span class="lineno"> 5099</span> posx = x - lox;</div>
-<div class="line"><a name="l05100"></a><span class="lineno"> 5100</span> posy = y - loy;</div>
-<div class="line"><a name="l05101"></a><span class="lineno"> 5101</span> post = posx+posy*ilx;</div>
-<div class="line"><a name="l05102"></a><span class="lineno"> 5102</span> </div>
-<div class="line"><a name="l05103"></a><span class="lineno"> 5103</span> <span class="keywordflow">if</span> (!isnan(ptdata[post]) && ptdata[post] != 0.) {</div>
-<div class="line"><a name="l05104"></a><span class="lineno"> 5104</span> result++;</div>
-<div class="line"><a name="l05105"></a><span class="lineno"> 5105</span> }</div>
-<div class="line"><a name="l05106"></a><span class="lineno"> 5106</span> }</div>
-<div class="line"><a name="l05107"></a><span class="lineno"> 5107</span> }</div>
-<div class="line"><a name="l05108"></a><span class="lineno"> 5108</span> </div>
-<div class="line"><a name="l05109"></a><span class="lineno"> 5109</span> </div>
-<div class="line"><a name="l05110"></a><span class="lineno"> 5110</span> <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l05111"></a><span class="lineno"> 5111</span> </div>
-<div class="line"><a name="l05112"></a><span class="lineno"> 5112</span> }</div>
-<div class="line"><a name="l05113"></a><span class="lineno"> 5113</span> </div>
-<div class="line"><a name="l05114"></a><span class="lineno"> 5114</span> </div>
-<div class="line"><a name="l05115"></a><span class="lineno"> 5115</span> </div>
-<div class="line"><a name="l05116"></a><span class="lineno"> 5116</span> </div>
-<div class="line"><a name="l05117"></a><span class="lineno"> 5117</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l05118"></a><span class="lineno"> 5118</span> sinfo_cubes_coadd_with_ks_clip(cpl_imagelist** tmpcubes, </div>
-<div class="line"><a name="l05119"></a><span class="lineno"> 5119</span> <span class="keyword">const</span> <span class="keywordtype">int</span> n_cubes,<span class="keyword">const</span> <span class="keywordtype">int</span> nc,</div>
-<div class="line"><a name="l05120"></a><span class="lineno"> 5120</span> <span class="keyword">const</span> <span class="keywordtype">int</span> x, <span class="keyword">const</span> <span class="keywordtype">int</span> y, <span class="keyword">const</span> <span class="keywordtype">int</span> m,</div>
-<div class="line"><a name="l05121"></a><span class="lineno"> 5121</span> <span class="keywordtype">int</span>* llx, <span class="keywordtype">int</span>* lly, </div>
-<div class="line"><a name="l05122"></a><span class="lineno"> 5122</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ilx, <span class="keyword">const</span> <span class="keywordtype">int</span> ily,</div>
-<div class="line"><a name="l05123"></a><span class="lineno"> 5123</span> <span class="keyword">const</span> <span class="keywordtype">double</span> kappa, </div>
-<div class="line"><a name="l05124"></a><span class="lineno"> 5124</span> <span class="keywordtype">double</span>* exptimes, <span class="keywordtype">float</span>** pmdata, </div>
-<div class="line"><a name="l05125"></a><span class="lineno"> 5125</span> cpl_vector** msk, <span class="keyword">const</span> <span class="keywordtype">int</span> mlx)</div>
-<div class="line"><a name="l05126"></a><span class="lineno"> 5126</span> </div>
-<div class="line"><a name="l05127"></a><span class="lineno"> 5127</span> </div>
-<div class="line"><a name="l05128"></a><span class="lineno"> 5128</span> {</div>
-<div class="line"><a name="l05129"></a><span class="lineno"> 5129</span> </div>
-<div class="line"><a name="l05130"></a><span class="lineno"> 5130</span> </div>
-<div class="line"><a name="l05131"></a><span class="lineno"> 5131</span> cpl_vector* val=NULL;</div>
-<div class="line"><a name="l05132"></a><span class="lineno"> 5132</span> cpl_image* t_img=NULL;</div>
-<div class="line"><a name="l05133"></a><span class="lineno"> 5133</span> </div>
-<div class="line"><a name="l05134"></a><span class="lineno"> 5134</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l05135"></a><span class="lineno"> 5135</span> <span class="keywordtype">int</span> nclip=0;</div>
-<div class="line"><a name="l05136"></a><span class="lineno"> 5136</span> <span class="keywordtype">int</span> ks=0;</div>
-<div class="line"><a name="l05137"></a><span class="lineno"> 5137</span> </div>
-<div class="line"><a name="l05138"></a><span class="lineno"> 5138</span> <span class="keywordtype">int</span> lox=0;</div>
-<div class="line"><a name="l05139"></a><span class="lineno"> 5139</span> <span class="keywordtype">int</span> loy=0;</div>
-<div class="line"><a name="l05140"></a><span class="lineno"> 5140</span> <span class="keywordtype">int</span> upx=0;</div>
-<div class="line"><a name="l05141"></a><span class="lineno"> 5141</span> <span class="keywordtype">int</span> upy=0;</div>
-<div class="line"><a name="l05142"></a><span class="lineno"> 5142</span> </div>
-<div class="line"><a name="l05143"></a><span class="lineno"> 5143</span> <span class="keywordtype">int</span> posx=0;</div>
-<div class="line"><a name="l05144"></a><span class="lineno"> 5144</span> <span class="keywordtype">int</span> posy=0;</div>
-<div class="line"><a name="l05145"></a><span class="lineno"> 5145</span> <span class="keywordtype">int</span> post=0;</div>
-<div class="line"><a name="l05146"></a><span class="lineno"> 5146</span> </div>
-<div class="line"><a name="l05147"></a><span class="lineno"> 5147</span> <span class="keywordtype">int</span> ovr=0;</div>
-<div class="line"><a name="l05148"></a><span class="lineno"> 5148</span> </div>
-<div class="line"><a name="l05149"></a><span class="lineno"> 5149</span> <span class="keywordtype">float</span> sig=0;</div>
-<div class="line"><a name="l05150"></a><span class="lineno"> 5150</span> <span class="keywordtype">float</span> avg=0;</div>
-<div class="line"><a name="l05151"></a><span class="lineno"> 5151</span> <span class="keywordtype">float</span> med=0;</div>
-<div class="line"><a name="l05152"></a><span class="lineno"> 5152</span> </div>
-<div class="line"><a name="l05153"></a><span class="lineno"> 5153</span> <span class="keywordtype">float</span>* ptdata=NULL;</div>
-<div class="line"><a name="l05154"></a><span class="lineno"> 5154</span> </div>
-<div class="line"><a name="l05155"></a><span class="lineno"> 5155</span> </div>
-<div class="line"><a name="l05156"></a><span class="lineno"> 5156</span> <span class="comment">// k-s clipping </span></div>
-<div class="line"><a name="l05157"></a><span class="lineno"> 5157</span> nclip=0;</div>
-<div class="line"><a name="l05158"></a><span class="lineno"> 5158</span> </div>
-<div class="line"><a name="l05159"></a><span class="lineno"> 5159</span> </div>
-<div class="line"><a name="l05160"></a><span class="lineno"> 5160</span> <span class="keywordflow">for</span> (ks=0;ks<nc;ks++) {</div>
-<div class="line"><a name="l05161"></a><span class="lineno"> 5161</span> sig=0;</div>
-<div class="line"><a name="l05162"></a><span class="lineno"> 5162</span> med=0;</div>
-<div class="line"><a name="l05163"></a><span class="lineno"> 5163</span> ovr=0;</div>
-<div class="line"><a name="l05164"></a><span class="lineno"> 5164</span> <span class="keywordflow">if</span>(nc-nclip >0) {</div>
-<div class="line"><a name="l05165"></a><span class="lineno"> 5165</span> check_nomsg(val=cpl_vector_new(nc-nclip));</div>
-<div class="line"><a name="l05166"></a><span class="lineno"> 5166</span> }</div>
-<div class="line"><a name="l05167"></a><span class="lineno"> 5167</span> <span class="comment">// fill val </span></div>
-<div class="line"><a name="l05168"></a><span class="lineno"> 5168</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_cubes ; i++ ) {</div>
-<div class="line"><a name="l05169"></a><span class="lineno"> 5169</span> check_nomsg(t_img=cpl_imagelist_get(tmpcubes[i],m));</div>
-<div class="line"><a name="l05170"></a><span class="lineno"> 5170</span> check_nomsg(ptdata=cpl_image_get_data_float(t_img));</div>
-<div class="line"><a name="l05171"></a><span class="lineno"> 5171</span> </div>
-<div class="line"><a name="l05172"></a><span class="lineno"> 5172</span> lox=llx[i];</div>
-<div class="line"><a name="l05173"></a><span class="lineno"> 5173</span> loy=lly[i];</div>
-<div class="line"><a name="l05174"></a><span class="lineno"> 5174</span> upx=llx[i]+ilx;</div>
-<div class="line"><a name="l05175"></a><span class="lineno"> 5175</span> upy=lly[i]+ily;</div>
-<div class="line"><a name="l05176"></a><span class="lineno"> 5176</span> </div>
-<div class="line"><a name="l05177"></a><span class="lineno"> 5177</span> <span class="keywordflow">if</span> ( y >= loy && y < upy && x >= lox && x < upx ) {</div>
-<div class="line"><a name="l05178"></a><span class="lineno"> 5178</span> posx = x - lox ;</div>
-<div class="line"><a name="l05179"></a><span class="lineno"> 5179</span> posy = y - loy ;</div>
-<div class="line"><a name="l05180"></a><span class="lineno"> 5180</span> post=posx+posy*ilx;</div>
-<div class="line"><a name="l05181"></a><span class="lineno"> 5181</span> </div>
-<div class="line"><a name="l05182"></a><span class="lineno"> 5182</span> <span class="keywordflow">if</span> (!isnan(ptdata[post]) && ptdata[post] != 0. &&</div>
-<div class="line"><a name="l05183"></a><span class="lineno"> 5183</span> (cpl_vector_get(*msk,i) != 0)) {</div>
-<div class="line"><a name="l05184"></a><span class="lineno"> 5184</span> cpl_vector_set(val,ovr,(<span class="keywordtype">double</span>)ptdata[post]);</div>
-<div class="line"><a name="l05185"></a><span class="lineno"> 5185</span> ovr++;</div>
-<div class="line"><a name="l05186"></a><span class="lineno"> 5186</span> }</div>
-<div class="line"><a name="l05187"></a><span class="lineno"> 5187</span> }</div>
-<div class="line"><a name="l05188"></a><span class="lineno"> 5188</span> }</div>
-<div class="line"><a name="l05189"></a><span class="lineno"> 5189</span> </div>
-<div class="line"><a name="l05190"></a><span class="lineno"> 5190</span> <span class="comment">// get avg, med, sig </span></div>
-<div class="line"><a name="l05191"></a><span class="lineno"> 5191</span> <span class="keywordflow">if</span>(ovr>0) {</div>
-<div class="line"><a name="l05192"></a><span class="lineno"> 5192</span> check_nomsg(avg=cpl_vector_get_mean(val));</div>
-<div class="line"><a name="l05193"></a><span class="lineno"> 5193</span> med=cpl_vector_get_median_const(val);</div>
-<div class="line"><a name="l05194"></a><span class="lineno"> 5194</span> <span class="keywordflow">if</span>(ovr>1) {</div>
-<div class="line"><a name="l05195"></a><span class="lineno"> 5195</span> sig=cpl_vector_get_stdev(val);</div>
-<div class="line"><a name="l05196"></a><span class="lineno"> 5196</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l05197"></a><span class="lineno"> 5197</span> sig=0;</div>
-<div class="line"><a name="l05198"></a><span class="lineno"> 5198</span> }</div>
-<div class="line"><a name="l05199"></a><span class="lineno"> 5199</span> cpl_vector_delete(val);</div>
-<div class="line"><a name="l05200"></a><span class="lineno"> 5200</span> }</div>
-<div class="line"><a name="l05201"></a><span class="lineno"> 5201</span> </div>
-<div class="line"><a name="l05202"></a><span class="lineno"> 5202</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_cubes ; i++ ) {</div>
-<div class="line"><a name="l05203"></a><span class="lineno"> 5203</span> t_img=cpl_imagelist_get(tmpcubes[i],m);</div>
-<div class="line"><a name="l05204"></a><span class="lineno"> 5204</span> ptdata=cpl_image_get_data_float(t_img);</div>
-<div class="line"><a name="l05205"></a><span class="lineno"> 5205</span> </div>
-<div class="line"><a name="l05206"></a><span class="lineno"> 5206</span> lox=llx[i];</div>
-<div class="line"><a name="l05207"></a><span class="lineno"> 5207</span> loy=lly[i];</div>
-<div class="line"><a name="l05208"></a><span class="lineno"> 5208</span> upx=llx[i]+ilx;</div>
-<div class="line"><a name="l05209"></a><span class="lineno"> 5209</span> upy=lly[i]+ily;</div>
-<div class="line"><a name="l05210"></a><span class="lineno"> 5210</span> </div>
-<div class="line"><a name="l05211"></a><span class="lineno"> 5211</span> <span class="comment">// Do k-s clipping at each pixel </span></div>
-<div class="line"><a name="l05212"></a><span class="lineno"> 5212</span> <span class="keywordflow">if</span> ( y >= loy && y < upy && x >= lox && x < upx ) {</div>
-<div class="line"><a name="l05213"></a><span class="lineno"> 5213</span> posx = x - lox ;</div>
-<div class="line"><a name="l05214"></a><span class="lineno"> 5214</span> posy = y - loy ;</div>
-<div class="line"><a name="l05215"></a><span class="lineno"> 5215</span> post = posx+posy*ilx;</div>
-<div class="line"><a name="l05216"></a><span class="lineno"> 5216</span> <span class="keywordflow">if</span> (!isnan(ptdata[post]) && ptdata[post] != 0. &&</div>
-<div class="line"><a name="l05217"></a><span class="lineno"> 5217</span> (cpl_vector_get(*msk,i) != 0)) {</div>
-<div class="line"><a name="l05218"></a><span class="lineno"> 5218</span> <span class="keywordflow">if</span>( abs( (ptdata[post]-med) ) > kappa*sig ) {</div>
-<div class="line"><a name="l05219"></a><span class="lineno"> 5219</span> ptdata[post]=0;</div>
-<div class="line"><a name="l05220"></a><span class="lineno"> 5220</span> (*pmdata)[x+y*mlx] -= exptimes[i] ;</div>
-<div class="line"><a name="l05221"></a><span class="lineno"> 5221</span> check_nomsg(cpl_vector_set(*msk,i,0));</div>
-<div class="line"><a name="l05222"></a><span class="lineno"> 5222</span> nclip++;</div>
-<div class="line"><a name="l05223"></a><span class="lineno"> 5223</span> }</div>
-<div class="line"><a name="l05224"></a><span class="lineno"> 5224</span> }</div>
-<div class="line"><a name="l05225"></a><span class="lineno"> 5225</span> }</div>
-<div class="line"><a name="l05226"></a><span class="lineno"> 5226</span> }</div>
-<div class="line"><a name="l05227"></a><span class="lineno"> 5227</span> } <span class="comment">// end of k-s clipping </span></div>
-<div class="line"><a name="l05228"></a><span class="lineno"> 5228</span> </div>
-<div class="line"><a name="l05229"></a><span class="lineno"> 5229</span> cleanup:</div>
-<div class="line"><a name="l05230"></a><span class="lineno"> 5230</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l05231"></a><span class="lineno"> 5231</span> }</div>
-<div class="line"><a name="l05232"></a><span class="lineno"> 5232</span> </div>
-<div class="line"><a name="l05255"></a><span class="lineno"> 5255</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l05256"></a><span class="lineno"> 5256</span> sinfo_coadd_with_ks_clip2(<span class="keyword">const</span> <span class="keywordtype">int</span> z_min,</div>
-<div class="line"><a name="l05257"></a><span class="lineno"> 5257</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_max,</div>
-<div class="line"><a name="l05258"></a><span class="lineno"> 5258</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ilx,</div>
-<div class="line"><a name="l05259"></a><span class="lineno"> 5259</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ily,</div>
-<div class="line"><a name="l05260"></a><span class="lineno"> 5260</span> <span class="keyword">const</span> <span class="keywordtype">int</span> n_cubes,</div>
-<div class="line"><a name="l05261"></a><span class="lineno"> 5261</span> <span class="keyword">const</span> <span class="keywordtype">double</span> kappa,</div>
-<div class="line"><a name="l05262"></a><span class="lineno"> 5262</span> <span class="keywordtype">int</span>* llx,</div>
-<div class="line"><a name="l05263"></a><span class="lineno"> 5263</span> <span class="keywordtype">int</span>* lly,</div>
-<div class="line"><a name="l05264"></a><span class="lineno"> 5264</span> <span class="keywordtype">double</span>* exptimes,</div>
-<div class="line"><a name="l05265"></a><span class="lineno"> 5265</span> cpl_imagelist* mask,</div>
-<div class="line"><a name="l05266"></a><span class="lineno"> 5266</span> cpl_imagelist* mergedCube,</div>
-<div class="line"><a name="l05267"></a><span class="lineno"> 5267</span> cpl_imagelist** tmpcubes)</div>
-<div class="line"><a name="l05268"></a><span class="lineno"> 5268</span> </div>
-<div class="line"><a name="l05269"></a><span class="lineno"> 5269</span> {</div>
-<div class="line"><a name="l05270"></a><span class="lineno"> 5270</span> </div>
-<div class="line"><a name="l05271"></a><span class="lineno"> 5271</span> <span class="keywordtype">int</span> m=0;</div>
-<div class="line"><a name="l05272"></a><span class="lineno"> 5272</span> <span class="keywordtype">int</span> x=0;</div>
-<div class="line"><a name="l05273"></a><span class="lineno"> 5273</span> <span class="keywordtype">int</span> y=0;</div>
-<div class="line"><a name="l05274"></a><span class="lineno"> 5274</span> <span class="keywordtype">int</span> z=0;</div>
-<div class="line"><a name="l05275"></a><span class="lineno"> 5275</span> </div>
-<div class="line"><a name="l05276"></a><span class="lineno"> 5276</span> <span class="keywordtype">int</span> mlx=0;</div>
-<div class="line"><a name="l05277"></a><span class="lineno"> 5277</span> <span class="keywordtype">int</span> mly=0;</div>
-<div class="line"><a name="l05278"></a><span class="lineno"> 5278</span> <span class="keywordtype">int</span> nc=0;</div>
-<div class="line"><a name="l05279"></a><span class="lineno"> 5279</span> <span class="keywordtype">int</span> olx=0;</div>
-<div class="line"><a name="l05280"></a><span class="lineno"> 5280</span> <span class="keywordtype">int</span> oly=0;</div>
-<div class="line"><a name="l05281"></a><span class="lineno"> 5281</span> <span class="keywordtype">int</span> posx=0;</div>
-<div class="line"><a name="l05282"></a><span class="lineno"> 5282</span> <span class="keywordtype">int</span> posy=0;</div>
-<div class="line"><a name="l05283"></a><span class="lineno"> 5283</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l05284"></a><span class="lineno"> 5284</span> </div>
-<div class="line"><a name="l05285"></a><span class="lineno"> 5285</span> <span class="keywordtype">float</span> msk_sum=0;</div>
-<div class="line"><a name="l05286"></a><span class="lineno"> 5286</span> <span class="keywordtype">float</span> val_msk_sum=0;</div>
-<div class="line"><a name="l05287"></a><span class="lineno"> 5287</span> <span class="keywordtype">float</span> avg=0;</div>
-<div class="line"><a name="l05288"></a><span class="lineno"> 5288</span> </div>
-<div class="line"><a name="l05289"></a><span class="lineno"> 5289</span> <span class="keywordtype">float</span>* pmdata=NULL;</div>
-<div class="line"><a name="l05290"></a><span class="lineno"> 5290</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l05291"></a><span class="lineno"> 5291</span> <span class="keywordtype">float</span>* pvdata=NULL;</div>
-<div class="line"><a name="l05292"></a><span class="lineno"> 5292</span> </div>
-<div class="line"><a name="l05293"></a><span class="lineno"> 5293</span> cpl_image* m_img=NULL;</div>
-<div class="line"><a name="l05294"></a><span class="lineno"> 5294</span> cpl_image* o_img=NULL;</div>
-<div class="line"><a name="l05295"></a><span class="lineno"> 5295</span> cpl_image* v_img=NULL;</div>
-<div class="line"><a name="l05296"></a><span class="lineno"> 5296</span> </div>
-<div class="line"><a name="l05297"></a><span class="lineno"> 5297</span> </div>
-<div class="line"><a name="l05298"></a><span class="lineno"> 5298</span> cpl_vector* msk=NULL;</div>
-<div class="line"><a name="l05299"></a><span class="lineno"> 5299</span> </div>
-<div class="line"><a name="l05300"></a><span class="lineno"> 5300</span> </div>
-<div class="line"><a name="l05301"></a><span class="lineno"> 5301</span> o_img=cpl_imagelist_get(mergedCube,0);</div>
-<div class="line"><a name="l05302"></a><span class="lineno"> 5302</span> olx=cpl_image_get_size_x(o_img);</div>
-<div class="line"><a name="l05303"></a><span class="lineno"> 5303</span> oly=cpl_image_get_size_y(o_img);</div>
-<div class="line"><a name="l05304"></a><span class="lineno"> 5304</span> </div>
-<div class="line"><a name="l05305"></a><span class="lineno"> 5305</span> m=0;</div>
-<div class="line"><a name="l05306"></a><span class="lineno"> 5306</span> <span class="keywordflow">for</span> ( z = z_min; z < z_max ; z++ ) {</div>
-<div class="line"><a name="l05307"></a><span class="lineno"> 5307</span> m_img=cpl_imagelist_get(mask,z);</div>
-<div class="line"><a name="l05308"></a><span class="lineno"> 5308</span> pmdata=cpl_image_get_data_float(m_img);</div>
-<div class="line"><a name="l05309"></a><span class="lineno"> 5309</span> o_img=cpl_imagelist_get(mergedCube,z);</div>
-<div class="line"><a name="l05310"></a><span class="lineno"> 5310</span> podata=cpl_image_get_data_float(o_img);</div>
-<div class="line"><a name="l05311"></a><span class="lineno"> 5311</span> mlx=cpl_image_get_size_x(m_img);</div>
-<div class="line"><a name="l05312"></a><span class="lineno"> 5312</span> mly=cpl_image_get_size_y(m_img);</div>
-<div class="line"><a name="l05313"></a><span class="lineno"> 5313</span> <span class="comment">// go through the first image plane of the big data cube </span></div>
-<div class="line"><a name="l05314"></a><span class="lineno"> 5314</span> <span class="keywordflow">for</span> ( y = 0 ; y < oly ; y++ ) {</div>
-<div class="line"><a name="l05315"></a><span class="lineno"> 5315</span> <span class="keywordflow">for</span> ( x = 0 ; x < olx ; x++ ) {</div>
-<div class="line"><a name="l05316"></a><span class="lineno"> 5316</span> avg=0;</div>
-<div class="line"><a name="l05317"></a><span class="lineno"> 5317</span> nc=0;</div>
-<div class="line"><a name="l05318"></a><span class="lineno"> 5318</span> <span class="comment">// computes nc </span></div>
-<div class="line"><a name="l05319"></a><span class="lineno"> 5319</span> </div>
-<div class="line"><a name="l05320"></a><span class="lineno"> 5320</span> nc=sinfo_compute_contributes_at_pos(tmpcubes,llx,lly,x,y,</div>
-<div class="line"><a name="l05321"></a><span class="lineno"> 5321</span> ilx,ily,m,n_cubes);</div>
-<div class="line"><a name="l05322"></a><span class="lineno"> 5322</span> </div>
-<div class="line"><a name="l05323"></a><span class="lineno"> 5323</span> <span class="keywordflow">if</span>( nc > 0 ) {</div>
-<div class="line"><a name="l05324"></a><span class="lineno"> 5324</span> </div>
-<div class="line"><a name="l05325"></a><span class="lineno"> 5325</span> </div>
-<div class="line"><a name="l05326"></a><span class="lineno"> 5326</span> msk=cpl_vector_new(n_cubes);</div>
-<div class="line"><a name="l05327"></a><span class="lineno"> 5327</span> <span class="keywordflow">for</span> (i=0;i<n_cubes;i++) {</div>
-<div class="line"><a name="l05328"></a><span class="lineno"> 5328</span> cpl_vector_set(msk,i,1);</div>
-<div class="line"><a name="l05329"></a><span class="lineno"> 5329</span> }</div>
-<div class="line"><a name="l05330"></a><span class="lineno"> 5330</span> </div>
-<div class="line"><a name="l05331"></a><span class="lineno"> 5331</span> </div>
-<div class="line"><a name="l05332"></a><span class="lineno"> 5332</span> sinfo_cubes_coadd_with_ks_clip(tmpcubes, n_cubes,nc,x,y,m,</div>
-<div class="line"><a name="l05333"></a><span class="lineno"> 5333</span> llx,lly,ilx,ily,kappa, </div>
-<div class="line"><a name="l05334"></a><span class="lineno"> 5334</span> exptimes,&pmdata, &msk,mlx);</div>
-<div class="line"><a name="l05335"></a><span class="lineno"> 5335</span> </div>
-<div class="line"><a name="l05336"></a><span class="lineno"> 5336</span> msk_sum=0;</div>
-<div class="line"><a name="l05337"></a><span class="lineno"> 5337</span> val_msk_sum=0;</div>
-<div class="line"><a name="l05338"></a><span class="lineno"> 5338</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_cubes ; i++ ) {</div>
-<div class="line"><a name="l05339"></a><span class="lineno"> 5339</span> v_img=cpl_imagelist_get(tmpcubes[i],m);</div>
-<div class="line"><a name="l05340"></a><span class="lineno"> 5340</span> pvdata=cpl_image_get_data_float(v_img);</div>
-<div class="line"><a name="l05341"></a><span class="lineno"> 5341</span> <span class="comment">// computes sky at each point </span></div>
-<div class="line"><a name="l05342"></a><span class="lineno"> 5342</span> <span class="keywordflow">if</span> ( y >= lly[i] && y < lly[i]+ily &&</div>
-<div class="line"><a name="l05343"></a><span class="lineno"> 5343</span> x >= llx[i] && x < llx[i]+ilx ) {</div>
-<div class="line"><a name="l05344"></a><span class="lineno"> 5344</span> posx = x - llx[i] ;</div>
-<div class="line"><a name="l05345"></a><span class="lineno"> 5345</span> posy = y - lly[i] ;</div>
-<div class="line"><a name="l05346"></a><span class="lineno"> 5346</span> <span class="comment">//sinfo_msg_warning("llx[%d]=%d lly[%d],=%d",i,llx[i],i,lly[i]);</span></div>
-<div class="line"><a name="l05347"></a><span class="lineno"> 5347</span> <span class="comment">//sinfo_msg_warning("posx=%d posy=%d",posx,posy);</span></div>
-<div class="line"><a name="l05348"></a><span class="lineno"> 5348</span> <span class="keywordflow">if</span> (!isnan(pvdata[posx+posy*ilx]) &&</div>
-<div class="line"><a name="l05349"></a><span class="lineno"> 5349</span> pvdata[posx+posy*ilx] != 0. &&</div>
-<div class="line"><a name="l05350"></a><span class="lineno"> 5350</span> (cpl_vector_get(msk,i) != 0)) {</div>
-<div class="line"><a name="l05351"></a><span class="lineno"> 5351</span> msk_sum+=pmdata[x+y*mlx];</div>
-<div class="line"><a name="l05352"></a><span class="lineno"> 5352</span> val_msk_sum+=pvdata[posx+posy*ilx]*</div>
-<div class="line"><a name="l05353"></a><span class="lineno"> 5353</span> pmdata[x+y*mlx];</div>
-<div class="line"><a name="l05354"></a><span class="lineno"> 5354</span> }</div>
-<div class="line"><a name="l05355"></a><span class="lineno"> 5355</span> }</div>
-<div class="line"><a name="l05356"></a><span class="lineno"> 5356</span> }</div>
-<div class="line"><a name="l05357"></a><span class="lineno"> 5357</span> podata[x+y*olx]=val_msk_sum/msk_sum;</div>
-<div class="line"><a name="l05358"></a><span class="lineno"> 5358</span> cpl_vector_delete(msk);</div>
-<div class="line"><a name="l05359"></a><span class="lineno"> 5359</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l05360"></a><span class="lineno"> 5360</span> <span class="comment"> sinfo_ks_clip(n_cubes,nc,ilx,ily,kappa,llx,lly,exptimes,</span></div>
-<div class="line"><a name="l05361"></a><span class="lineno"> 5361</span> <span class="comment"> tmpcubes,podata,pmdata,x,y,m,mlx,oly);</span></div>
-<div class="line"><a name="l05362"></a><span class="lineno"> 5362</span> <span class="comment"></span></div>
-<div class="line"><a name="l05363"></a><span class="lineno"> 5363</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l05364"></a><span class="lineno"> 5364</span> </div>
-<div class="line"><a name="l05365"></a><span class="lineno"> 5365</span> } <span class="comment">// end check if overlap nc >0 </span></div>
-<div class="line"><a name="l05366"></a><span class="lineno"> 5366</span> } <span class="comment">// end loop over x </span></div>
-<div class="line"><a name="l05367"></a><span class="lineno"> 5367</span> } <span class="comment">// end loop over y </span></div>
-<div class="line"><a name="l05368"></a><span class="lineno"> 5368</span> m++;</div>
-<div class="line"><a name="l05369"></a><span class="lineno"> 5369</span> } <span class="comment">// end loop over z </span></div>
-<div class="line"><a name="l05370"></a><span class="lineno"> 5370</span> </div>
-<div class="line"><a name="l05371"></a><span class="lineno"> 5371</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l05372"></a><span class="lineno"> 5372</span> </div>
-<div class="line"><a name="l05373"></a><span class="lineno"> 5373</span> </div>
-<div class="line"><a name="l05374"></a><span class="lineno"> 5374</span> }</div>
-<div class="line"><a name="l05375"></a><span class="lineno"> 5375</span> </div>
-<div class="line"><a name="l05376"></a><span class="lineno"> 5376</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__cube__ops_8h_source.html b/html/sinfo__new__cube__ops_8h_source.html
deleted file mode 100644
index 7e7191b..0000000
--- a/html/sinfo__new__cube__ops_8h_source.html
+++ /dev/null
@@ -1,347 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_cube_ops.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_cube_ops.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_NEW_CUBE_OPS_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_NEW_CUBE_OPS_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* schreib 18/05/00 created</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> * sinfo_new_cube_ops.h</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> * cube arithmetic routines</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_image_ops.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> * Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> cpl_imagelist *</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> sinfo_new_cube_ops(</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> cpl_imagelist * cube1,</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> cpl_imagelist * cube2,</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">int</span> operation);</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> cpl_imagelist *</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> sinfo_new_cube_const_ops(</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> cpl_imagelist * cube1,</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">double</span> constant,</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">int</span> operation);</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> cpl_imagelist *</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> sinfo_new_cube_sub(</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> cpl_imagelist * c1,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> cpl_imagelist * c2</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> ) ;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> cpl_imagelist *</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> sinfo_new_cube_add(</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> cpl_imagelist * c1,</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> cpl_imagelist * c2</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> ) ;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> cpl_imagelist *</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> sinfo_new_cube_mul(</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> cpl_imagelist * c1,</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> cpl_imagelist * c2</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> ) ;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> cpl_imagelist *</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> sinfo_new_cube_div(</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> cpl_imagelist * c1,</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> cpl_imagelist * c2</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> ) ;</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> cpl_imagelist *</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> sinfo_new_add_image_to_cube(cpl_imagelist * cu, cpl_image * im);</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> cpl_imagelist *</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> sinfo_new_sub_image_from_cube(cpl_imagelist * cu, cpl_image * im);</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> cpl_imagelist *</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> sinfo_new_mul_image_to_cube(cpl_imagelist * cu, cpl_image * im);</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> cpl_imagelist *</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> sinfo_new_div_cube_by_image(cpl_imagelist * cu, cpl_image * im);</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> cpl_imagelist *</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> sinfo_new_add_spectrum_to_cube(cpl_imagelist *cu, Vector *spec);</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> cpl_imagelist *</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> sinfo_new_sub_spectrum_from_cube(cpl_imagelist *cu, Vector *spec);</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> cpl_imagelist *</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> sinfo_new_mul_spectrum_to_cube(cpl_imagelist *cu, Vector *spec);</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> cpl_imagelist *</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> sinfo_new_div_cube_by_spectrum(cpl_imagelist *cu, Vector *spec);</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> Vector *</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> sinfo_new_clean_mean_of_spectra(cpl_imagelist * cube,</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="keywordtype">int</span> llx,</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="keywordtype">int</span> lly,</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="keywordtype">int</span> urx,</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="keywordtype">int</span> ury,</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="keywordtype">double</span> lo_reject,</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="keywordtype">double</span> hi_reject);</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> cpl_image *</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> sinfo_new_median_cube(cpl_imagelist * cube) ;</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> cpl_image *</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> sinfo_new_average_cube_to_image(cpl_imagelist * cube) ;</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> cpl_image *</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> sinfo_new_sum_cube_to_image(cpl_imagelist * cube) ;</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> cpl_image *</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> sinfo_new_average_cube_to_image_between_waves (cpl_imagelist * cube,</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="keywordtype">float</span> dispersion,</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="keywordtype">float</span> centralWave,</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="keywordtype">float</span> initialLambda,</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="keywordtype">float</span> finalLambda) ;</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> cpl_image *</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> sinfo_new_extract_image_from_cube(cpl_imagelist * cube, <span class="keywordtype">int</span> plane_index) ;</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> Vector *</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> sinfo_new_extract_spectrum_from_cube(cpl_imagelist * cube,</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keywordtype">int</span> x_pos,</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="keywordtype">int</span> y_pos ) ;</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> cpl_imagelist *</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> sinfo_new_combine_jittered_cubes ( cpl_imagelist ** cubes,</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> cpl_imagelist * mergedCube,</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="keywordtype">int</span> n_cubes,</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="keywordtype">float</span> * cumoffsetx,</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="keywordtype">float</span> * cumoffsety,</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="keywordtype">float</span> * exptimes,</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="keywordtype">char</span> * kernel_type );</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> </div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> cpl_imagelist *</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> new_combine_jittered_cubes_it ( cpl_imagelist ** cubes,</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> cpl_imagelist * mergedCube,</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> cpl_imagelist * mask,</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> <span class="keywordtype">int</span> n_cubes,</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <span class="keywordtype">float</span> * cumoffsetx,</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="keywordtype">float</span> * cumoffsety,</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="keywordtype">float</span> * exptimes,</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="keywordtype">char</span> * kernel_type,</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z) ;</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> </div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> </div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> sinfo_new_combine_jittered_cubes_thomas_range(cpl_imagelist ** cubes,</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> cpl_imagelist * mergedCube,</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> cpl_imagelist * mask,</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> <span class="keywordtype">int</span> n_cubes,</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="keywordtype">float</span> * cumoffsetx,</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <span class="keywordtype">float</span> * cumoffsety,</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> <span class="keywordtype">double</span> * exptimes,</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> <span class="keywordtype">char</span> * kernel_type,</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_min,</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_max,</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> <span class="keyword">const</span> <span class="keywordtype">double</span> kappa );</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> </div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> new_combine_jittered_cubes_sky_range (cpl_imagelist ** cubes,</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> cpl_imagelist * mergedCube,</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> cpl_imagelist * mask,</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> cpl_imagelist * mergedSky,</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> cpl_imagelist * mergedMsk,</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> cpl_imagelist * mergeMed,</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> cpl_imagelist * mergeAvg,</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> cpl_imagelist * mergeStd,</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> cpl_imagelist * mergeNc,</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> <span class="keywordtype">int</span> n_cubes,</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> <span class="keywordtype">float</span> * cumoffsetx,</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="keywordtype">float</span> * cumoffsety,</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="keywordtype">float</span> * exptimes,</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <span class="keywordtype">char</span> * kernel_type,</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_min,</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_max);</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> </div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> sinfo_new_combine_jittered_cubes_range ( cpl_imagelist ** cubes,</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> cpl_imagelist * mergedCube,</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> cpl_imagelist * mask,</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> <span class="keywordtype">int</span> n_cubes,</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> <span class="keywordtype">float</span> * cumoffsetx,</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> <span class="keywordtype">float</span> * cumoffsety,</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> <span class="keywordtype">double</span> * exptimes,</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> <span class="keywordtype">char</span> * kernel_type,</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_min, <span class="keyword">const</span> <span class="keywordtype">int</span> z_max );</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> </div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> new_combine_jittered_cubes_sky_range2 (cpl_imagelist ** cubes,</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> cpl_imagelist * mergedCube,</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> cpl_imagelist * mask,</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> cpl_imagelist * mergedSky,</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> cpl_imagelist * mergedMsk,</div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> cpl_imagelist * mergeMed,</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> cpl_imagelist * mergeAvg,</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> cpl_imagelist * mergeStd,</div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> cpl_imagelist * mergeNc,</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> <span class="keywordtype">int</span> n_cubes,</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="keywordtype">float</span> * cumoffsetx,</div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> <span class="keywordtype">float</span> * cumoffsety,</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> <span class="keywordtype">double</span> * exptimes,</div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> <span class="keywordtype">char</span> * kernel_type,</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_min,</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_max);</div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> </div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> </div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> cpl_imagelist *</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> sinfo_new_interpol_cube_simple( cpl_imagelist * cube,</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> cpl_imagelist * badcube,</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> <span class="keywordtype">int</span> maxdist ) ;</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> </div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> cpl_imagelist *</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> sinfo_new_combine_cubes ( cpl_imagelist ** cubes,</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> cpl_imagelist * mergedCube,</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> <span class="keywordtype">int</span> n_cubes,</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <span class="keywordtype">float</span> * cumoffsetx,</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="keywordtype">float</span> * cumoffsety,</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> <span class="keywordtype">float</span> factor,</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="keywordtype">char</span> * kernel_type ) ;</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> </div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> cpl_imagelist *</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> sinfo_new_bin_cube(cpl_imagelist *cu,</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> <span class="keywordtype">int</span> xscale,</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> <span class="keywordtype">int</span> yscale,</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> <span class="keywordtype">int</span> xmin,</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> <span class="keywordtype">int</span> xmax,</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> <span class="keywordtype">int</span> ymin,</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> <span class="keywordtype">int</span> ymax);</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> </div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> cpl_imagelist *</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> sinfo_new_scale_cube(cpl_imagelist *cu,</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> <span class="keywordtype">float</span> xscale,</div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> <span class="keywordtype">float</span> yscale,</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> <span class="keywordtype">char</span> * kernel_type);</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> </div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> </div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> cpl_imagelist *</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> sinfo_cube_zshift(<span class="keyword">const</span> cpl_imagelist * cube,</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> <span class="keyword">const</span> <span class="keywordtype">double</span> shift,</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> <span class="keywordtype">double</span>* rest);</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> </div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> cpl_imagelist *</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> sinfo_cube_zshift_poly(<span class="keyword">const</span> cpl_imagelist * cube,</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> <span class="keyword">const</span> <span class="keywordtype">double</span> shift,</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> <span class="keyword">const</span> <span class="keywordtype">int</span> order);</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> </div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> cpl_imagelist *</div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> sinfo_cube_zshift_spline3(<span class="keyword">const</span> cpl_imagelist * cube,</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> <span class="keyword">const</span> <span class="keywordtype">double</span> shift);</div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> </div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> </div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> sinfo_coadd_with_ks_clip_optimized(<span class="keyword">const</span> <span class="keywordtype">int</span> z_min,</div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_max,</div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> <span class="keyword">const</span> <span class="keywordtype">int</span> n_cubes,</div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> <span class="keyword">const</span> <span class="keywordtype">double</span> kappa,</div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> <span class="keywordtype">int</span>* llx,</div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> <span class="keywordtype">int</span>* lly,</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> <span class="keywordtype">double</span>* exptimes,</div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> cpl_imagelist* mask,</div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> cpl_imagelist* mergedCube,</div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> cpl_imagelist** tmpcubes);</div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> </div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> <span class="keywordtype">double</span> sinfo_kappa_sigma_array_with_mask(</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> cpl_array* parray,</div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> <span class="keywordtype">int</span> szArray,</div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> <span class="keyword">const</span> <span class="keywordtype">double</span> kappa,</div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> cpl_image* imMask,</div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> <span class="keyword">const</span> <span class="keywordtype">double</span>* exptimes,</div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">double</span> mas_adjustment</div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> <span class="comment">/*, double* val_msk_sum*/</span>);</div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> <span class="preprocessor">#endif </span></div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> <span class="preprocessor"></span><span class="comment">/*--------------------------------------------------------------------------*/</span><span class="preprocessor"></span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__cubes__build_8c_source.html b/html/sinfo__new__cubes__build_8c_source.html
deleted file mode 100644
index bd69caa..0000000
--- a/html/sinfo__new__cubes__build_8c_source.html
+++ /dev/null
@@ -1,960 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_cubes_build.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_cubes_build.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"></span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">File name : sinfo_new_cubes_build.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">Author : J. Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">Created on : December 3, 2003</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">Description : Creates data cubes or merges data cubes</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">out of jittered object-sky</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">nodding observations</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_new_cubes_build.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_pfits.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_pro_save.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_objnod_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_hidden.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_utilities_scired.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_wave_calibration.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_cube_construct.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "sinfo_skycor.h"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include "sinfo_product_config.h"</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include "sinfo_atmo_disp.h"</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#define PI_NUMB (3.1415926535897932384626433832795) </span><span class="comment">/* pi */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">static</span> <span class="keywordtype">void</span> sinfo_atm_correction(cpl_imagelist** ppCube,</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> cpl_frameset* sof,</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* polyshiftname,</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">double</span> dis_cube,</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordtype">double</span> centralLambda_cube,</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">int</span> centralpix_cube);</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> Function Definitions</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">/* Temporally commented out as not used</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">static cpl_image*</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">sinfo_flux_corr(const cpl_image* inp,const cpl_image* wav,const double dis);</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> Function : sinfo_new_cubes_build()</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> In : ini_file: file name of according .ini file</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"> Out : integer (0 if it worked, -1 if it doesn't)</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> Job : this routine carries through the data cube creation of an</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> object science observation using object-sky nodding</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> and jittering. This script expects jittered frames that</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> were already sky-subtracted</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> averaged, flatfielded, spectral tilt corrected and</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"> interleaved if necessary</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordtype">int</span> sinfo_new_cubes_build (<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id,cpl_parameterlist* config,</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> cpl_frameset* sof, <span class="keyword">const</span> <span class="keywordtype">char</span>* procatg, <span class="keyword">const</span> <span class="keywordtype">int</span> frame_index)</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> {</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> object_config * cfg=NULL ;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> cpl_image * im=NULL ;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> cpl_image * wavemapim=NULL ;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> cpl_image * wim=NULL ;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> cpl_image * res_obj=NULL ;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> cpl_image * calim=NULL ;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> cpl_image * halospec=NULL ;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> cpl_image * sky_im=NULL;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> cpl_image* res_ima=NULL;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> cpl_image* res_wim=NULL;</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> cpl_image* res_flat=NULL;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> cpl_image* res_sky=NULL;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> cpl_image* flat_im=NULL;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> cpl_image* eima_avg=NULL;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> cpl_image* eima_med=NULL;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> cpl_imagelist * cube=NULL ;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> cpl_imagelist * outcube=NULL ;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> cpl_imagelist * outcube2=NULL ;</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> cpl_imagelist* cflat=NULL;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> cpl_imagelist* cflat2=NULL;</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> cpl_imagelist* csky=NULL;</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> cpl_imagelist* csky2=NULL;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> cpl_frame* obj_frm=NULL;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> cpl_frame* sky_frm=NULL;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> cpl_imagelist* obj_cor=NULL;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">int</span> sky_cor=0;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">int</span> flux_cor=0;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">int</span> n=0 ;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">int</span> cpix=0 ;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordtype">float</span> mi=0 ;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordtype">float</span> ma=0 ;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordtype">float</span> fcol=0 ;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keywordtype">float</span> center_x=0;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">float</span> center_y=0;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordtype">float</span> * correct_dist=NULL ;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordtype">float</span> * distances=NULL ;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordtype">float</span> ** slit_edges=NULL ;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordtype">int</span> nx=0;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordtype">int</span> ny=0;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> cpl_image* dif=NULL;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordtype">float</span>* pd=NULL;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordtype">float</span>* pw=NULL;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordtype">double</span> dis=0 ;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">double</span> cwav=0 ;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordtype">char</span> pro_mjit[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordtype">char</span> pro_obs[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordtype">char</span> pro_med[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordtype">char</span> * name=NULL ;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordtype">char</span> file_name[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> cpl_table* qclog_tbl=NULL;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> cpl_frameset* stk=NULL;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> cpl_parameter* p=NULL;</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keywordtype">int</span> pdensity=0;</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> sinfo_skycor_qc* sqc=NULL;</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> cpl_table* int_obj=NULL;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> check_nomsg(p=cpl_parameterlist_find(config,<span class="stringliteral">"sinfoni.product.density"</span>));</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> check_nomsg(pdensity=cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keywordflow">if</span> (strcmp(procatg,PRO_COADD_STD) == 0) {</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> strcpy(pro_mjit,PRO_MASK_COADD_STD);</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> strcpy(pro_obs,PRO_OBS_STD);</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> strcpy(pro_med,PRO_MED_COADD_STD);</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(procatg,PRO_COADD_PSF) == 0) {</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> strcpy(pro_mjit,PRO_MASK_COADD_PSF);</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> strcpy(pro_obs,PRO_OBS_PSF);</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> strcpy(pro_med,PRO_MED_COADD_PSF);</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> strcpy(pro_mjit,PRO_MASK_COADD_OBJ);</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> strcpy(pro_obs,PRO_OBS_OBJ);</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> strcpy(pro_med,PRO_MED_COADD_OBJ);</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> }</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment">/*----parse input data and parameters to set cube_config cfg---*/</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> check_nomsg(stk = cpl_frameset_new());</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> cknull(cfg = sinfo_parse_cpl_input_objnod(config,sof,&stk),</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="stringliteral">"Error setting parameter configuration"</span>);</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> ck0(sinfo_check_input_data(cfg),<span class="stringliteral">"error checking input"</span>);</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> check_nomsg(p=cpl_parameterlist_find(config,<span class="stringliteral">"sinfoni.objnod.fcol"</span>));</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> check_nomsg(fcol=(<span class="keywordtype">float</span>)cpl_parameter_get_double(p));</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">for</span> ( n = 0 ; n < cfg->nframes ; n++ )</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> {</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Read FITS information"</span>);</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> name = cfg->framelist[n] ;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordflow">if</span>( sinfo_is_fits_file(name) != 1) {</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Input file %s is not FITS"</span>,name);</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> }</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"frame no.: %d, name: %s\n"</span>, n, name) ;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> cknull(im = cpl_image_load(name,CPL_TYPE_FLOAT,0,0),</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="stringliteral">" could not load frame %s!"</span>,name) ;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment"> *--------------------------------------------------------------</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="comment"> *---------------------RESAMPLING-------------------------------</span></div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment"> *--------------------------------------------------------------</span></div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> sinfo_msg(<span class="stringliteral">"Resampling object"</span>);</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> cknull(wavemapim = cpl_image_load(cfg->wavemap,CPL_TYPE_FLOAT,0,0),</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="stringliteral">"could not load wavemap"</span>);</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> check_nomsg(wim=cpl_image_duplicate(wavemapim));</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="stringliteral">"sinfoni.objnod.flux_cor"</span>));</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> check_nomsg(flux_cor=cpl_parameter_get_bool(p));</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> nx=cpl_image_get_size_x(wim);</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> ny=cpl_image_get_size_y(wim);</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment"> check_nomsg(pd=cpl_image_get_data(im));</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment"> //To compare statistics we make sure that the input image has all 1s</span></div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="comment"></span></div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="comment"> for(i=0;i<nx;i++) {</span></div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="comment"> for(j=0;j<ny;j++) {</span></div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="comment"> pd[nx*j+i]=1.;</span></div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="comment"> cpl_image_save(im,"im.fits", CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> cknull(res_ima = sinfo_new_defined_resampling(im,</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> wim,</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> cfg->ncoeffs,</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> &cfg->nrows,</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> &dis,</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> &mi,</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> &ma,</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> &cwav,</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> &cpix),</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="stringliteral">" sinfo_definedResampling() failed"</span> ) ;</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="comment">//cpl_image_save(res_ima,"res_im.fits",</span></div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="comment">//CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="comment">//We create an image with the derivatives</span></div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> check_nomsg(dif=cpl_image_new(nx,ny,CPL_TYPE_FLOAT));</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> pw=cpl_image_get_data(wim);</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> pd=cpl_image_get_data(dif);</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keywordflow">for</span>(i=1;i<nx-1;i++) {</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keywordflow">for</span>(j=1;j<ny-1;j++) {</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keywordflow">if</span>(!isnan(pd[nx*j+i])) {</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> pd[nx*j+i]=2.0*dis/(pw[nx*(j+1)+i]-pw[nx*(j-1)+i]);</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> }</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> }</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="keywordflow">if</span>(!isnan(pd[i])) {</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> pd[i]=dis/(pw[nx+i]-pw[i]);</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> }</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="keywordflow">if</span>(!isnan(pd[nx*(ny-1)+i])) {</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> pd[nx*(ny-1)+i]=dis/(pw[nx*(ny-1)+i]-pw[nx*(ny-2)+i]);</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> }</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> }</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment">//cpl_image_save(dif,"diff.fits",</span></div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="comment">//CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> cknull(res_wim = sinfo_new_defined_resampling(dif,</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> wim,</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> cfg->ncoeffs,</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> &cfg->nrows,</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> &dis,</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> &mi,</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> &ma,</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> &cwav,</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> &cpix),</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="stringliteral">" sinfo_definedResampling() failed"</span> ) ;</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="comment">//cpl_image_save(res_wim,"res_diff.fits",</span></div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="comment">//CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> </div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="comment">//To rescale in flux we divide the resampled image and</span></div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="comment">//the resampled derivatives. At this point res_obj should have same</span></div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="comment">//flux as input image (im.diff)</span></div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> res_obj=cpl_image_duplicate(res_ima);</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> sinfo_free_image(&res_ima);</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keywordflow">if</span>(flux_cor) {</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> sinfo_msg(<span class="stringliteral">"Apply flux correction"</span>);</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> cpl_image_divide(res_obj,res_wim);</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> }</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="comment">//cpl_image_save(res_obj,"res_obj.fits",</span></div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="comment">//CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> </div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> sinfo_free_image(&wim);</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keywordflow">if</span>((pdensity == 3) || (pdensity == 2 && frame_index == 0)) {</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> snprintf(file_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%s"</span>,</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> RESAMPLED_OUT_OBJ_FILENAME,</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> frame_index,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> ck0(sinfo_pro_save_ima(res_obj,sof,sof,file_name,</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> PRO_RESAMPLED_OBJ,</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="stringliteral">"cannot save image %s"</span>, file_name);</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> }</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> </div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> </div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="keywordflow">if</span>(strcmp(cfg->sky_dist,<span class="stringliteral">"no_sky"</span>)!=0) {</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> sinfo_msg(<span class="stringliteral">"Resampling sky"</span>);</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> check_nomsg(sky_im=cpl_image_load(cfg->sky_dist,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> check_nomsg(wim=cpl_image_duplicate(wavemapim));</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> cknull(res_ima = sinfo_new_defined_resampling(sky_im,</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> wim,</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> cfg->ncoeffs,</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> &cfg->nrows,</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> &dis,</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> &mi,</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> &ma,</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> &cwav,</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> &cpix),</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="stringliteral">" sinfo_definedResampling() failed"</span> );</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> res_sky=cpl_image_duplicate(res_ima);</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> sinfo_free_image(&res_ima);</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="keywordflow">if</span>(flux_cor) {</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> sinfo_msg(<span class="stringliteral">"Apply flux correction"</span>);</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> cpl_image_divide(res_sky,res_wim);</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> }</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> sinfo_free_image(&wim);</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> sinfo_free_image(&sky_im) ;</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="keywordflow">if</span>((pdensity == 3) || (pdensity == 2 && frame_index == 0)){</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> </div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> snprintf(file_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%s"</span>,</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> RESAMPLED_OUT_SKY_FILENAME,frame_index,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> ck0(sinfo_pro_save_ima(res_sky,sof,sof,file_name,</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> PRO_RESAMPLED_SKY,</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="stringliteral">"cannot save image %s"</span>, file_name);</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> }</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> </div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> }</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> </div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="keywordflow">if</span>(n ==0) {</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="keywordflow">if</span>(strcmp(cfg->mflat_dist,<span class="stringliteral">"not_found"</span>) != 0) {</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> sinfo_msg(<span class="stringliteral">"Resampling master flat"</span>);</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> cknull(flat_im=cpl_image_load(cfg->mflat_dist,CPL_TYPE_FLOAT,0,0),</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="stringliteral">"Distorted master flat field not found\n"</span></div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="stringliteral">"You may have set --stack-flat_ind=FALSE\n"</span></div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="stringliteral">"Flat field resampling skipped"</span>);</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> check_nomsg(wim=cpl_image_duplicate(wavemapim));</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> cknull(res_ima = sinfo_new_defined_resampling(flat_im,</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> wim,</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> cfg->ncoeffs,</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> &cfg->nrows,</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> &dis,</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> &mi,</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> &ma,</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> &cwav,</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> &cpix),</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="stringliteral">" sinfo_definedResampling() failed"</span> ) ;</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> </div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> res_flat=cpl_image_duplicate(res_ima);</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> sinfo_free_image(&res_ima);</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="keywordflow">if</span>(flux_cor) {</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> sinfo_msg(<span class="stringliteral">"Apply flux correction"</span>);</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> cpl_image_divide(res_flat,res_wim);</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> }</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> sinfo_free_image(&wim);</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> sinfo_free_image(&flat_im) ;</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keywordflow">if</span>((pdensity == 3) || (pdensity == 2 && frame_index == 0)) {</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> snprintf(file_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%s"</span>,</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> RESAMPLED_OUT_FLAT_FILENAME,frame_index,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> ck0(sinfo_pro_save_ima(res_flat,sof,sof,file_name,</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> PRO_RESAMPLED_FLAT_LAMP,</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="stringliteral">"cannot save image %s"</span>, file_name);</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> }</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> </div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> </div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> }</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> </div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> }</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> </div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> sinfo_msg(<span class="stringliteral">"wmin %f wmax %f wcent %f wstep %f cpix %d"</span>,</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> mi,ma,cwav,dis,cpix);</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> sinfo_free_image(&res_wim);</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> sinfo_free_image(&im) ;</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> sinfo_free_image(&wavemapim) ;</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> </div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="comment"> *-------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="comment"> *----------------Calibration----------------------------------------</span></div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="comment"> *-------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="comment">/*----Multiply with calibrated halogen lamp spectrum----*/</span></div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="keywordflow">if</span> (cfg->halocorrectInd == 1)</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> {</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> sinfo_msg(<span class="stringliteral">"Calibration"</span>);</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> check_nomsg(halospec = cpl_image_load(cfg->halospectrum,</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> CPL_TYPE_FLOAT,0,0)) ;</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> </div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> cknull(calim = sinfo_new_multiply_image_with_spectrum(res_obj,</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> halospec),</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="stringliteral">" sinfo_new_multiply_image_with_spectrum() failed"</span> ) ;</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> </div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> sinfo_free_image(&halospec) ;</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> sinfo_free_image(&res_obj) ;</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> res_obj = cpl_image_duplicate(calim) ;</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> sinfo_free_image(&calim);</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> }</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="comment"> *-------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="comment"> *------------------CUBECREATION-------------------------------------</span></div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="comment"> *-------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> sinfo_msg(<span class="stringliteral">"Cube creation"</span>);</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="comment">/*---select north-south-test or fitting of slitlet edges--*/</span></div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <span class="keywordflow">if</span> (cfg->northsouthInd == 0) {</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> sinfo_msg(<span class="stringliteral">"cfg->northsouthInd == 0"</span>);</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> cknull(slit_edges=sinfo_read_slitlets_edges(cfg->nslits,cfg->poslist),</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="stringliteral">"error reading slitlets edges"</span>);</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> sinfo_msg(<span class="stringliteral">"cfg->northsouthInd != 0"</span>);</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> cknull(distances = sinfo_read_distances(cfg->nslits,cfg->distlist),</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="stringliteral">"error reading distances"</span>);</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> }</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> </div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> cknull(correct_dist = (<span class="keywordtype">float</span>*) cpl_calloc(cfg->nslits, sizeof (<span class="keywordtype">float</span>)),</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="stringliteral">" could not allocate memory!"</span>) ;</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> </div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> sinfo_msg(<span class="stringliteral">"Create cube object"</span>);</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <span class="keywordflow">if</span> (cfg->northsouthInd ==0 ) {</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> </div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> cknull(cube = sinfo_new_make_cube_spi(res_obj,slit_edges,</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> correct_dist),</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="stringliteral">"could not construct data cube!"</span>) ;</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> </div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> cknull(cube = sinfo_new_make_cube_dist(res_obj,fcol,distances,</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> correct_dist),</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> <span class="stringliteral">"could not construct a data cube!"</span>) ;</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> }</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> sinfo_free_image(&res_obj);</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> </div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> </div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="keywordflow">if</span>(strcmp(cfg->sky_dist,<span class="stringliteral">"no_sky"</span>)!=0) {</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> sinfo_msg(<span class="stringliteral">"Create cube sky"</span>);</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="keywordflow">if</span> (cfg->northsouthInd ==0 ) {</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> cknull(csky = sinfo_new_make_cube_spi(res_sky,slit_edges,</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> correct_dist),</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="stringliteral">"could not construct data cube!"</span>) ;</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> cknull(csky = sinfo_new_make_cube_dist(res_sky,fcol,distances,</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> correct_dist),</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="stringliteral">"could not construct a data cube!"</span>) ;</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> }</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> sinfo_free_image(&res_sky);</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> }</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> </div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="keywordflow">if</span>(n==0) {</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="keywordflow">if</span>(strcmp(cfg->mflat_dist,<span class="stringliteral">"not_found"</span>)!=0) {</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> sinfo_msg(<span class="stringliteral">"Create cube master flat"</span>);</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="keywordflow">if</span> (cfg->northsouthInd ==0 ) {</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> cknull(cflat=sinfo_new_make_cube_spi(res_flat,slit_edges,</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> correct_dist),</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="stringliteral">"could not construct data cube!"</span>) ;</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> cknull(cflat = sinfo_new_make_cube_dist(res_flat,fcol,distances,</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> correct_dist),</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="stringliteral">"could not construct a data cube!"</span>) ;</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> }</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> sinfo_free_image(&res_flat);</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> }</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> }</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> </div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="keywordflow">if</span> (cfg->northsouthInd ==0 )</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> {</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> sinfo_new_destroy_2Dfloatarray(&slit_edges,cfg->nslits);</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> }</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> {</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> sinfo_new_destroy_array(&distances);</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> }</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> </div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="comment"> *--------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> <span class="comment"> *------------------------FINETUNING----------------------------------</span></div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="comment"> *--------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="comment"> * shift the rows of the reconstructed images of the data cube to the</span></div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <span class="comment"> * correct sub pixel position select the shift method: polynomial</span></div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="comment"> * interpolation, FFT or cubic spline interpolation</span></div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="comment"> *--------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> </div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="keywordflow">if</span>(strcmp(cfg->sky_dist,<span class="stringliteral">"no_sky"</span>)!=0) {</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <span class="keywordflow">if</span>(pdensity > 0) {</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> cknull(csky2=sinfo_new_fine_tune(csky,</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> correct_dist,</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> cfg->method,</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> cfg->order,</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> cfg->nslits),</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> <span class="stringliteral">" could not fine tune the data cube"</span>) ;</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> </div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> sinfo_free_imagelist(&csky);</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> sinfo_msg(<span class="stringliteral">"Stretch output cube along Y direction"</span>);</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> </div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> cknull(csky = sinfo_new_bin_cube(csky2,1,2,0,63,0,63),</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <span class="stringliteral">"error rebinning sky cube"</span>);</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> sinfo_free_imagelist(&csky2);</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> </div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> </div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> </div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> snprintf(file_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%2.2d%s"</span>,<span class="stringliteral">"out_sky_cube"</span>,</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> frame_index,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> ck0(sinfo_pro_save_ims(csky,sof,sof,file_name,</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> PRO_OBS_SKY,NULL,plugin_id,config),</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="stringliteral">"cannot dump cube %s"</span>, file_name);</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> cknull(eima_med=sinfo_new_median_cube(csky),</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> <span class="stringliteral">"Creating an average image"</span>);</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> check_nomsg(center_x = cpl_image_get_size_x(eima_med)/ 2. + 0.5);</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> check_nomsg(center_y = cpl_image_get_size_y(eima_med)/ 2. + 0.5);</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> </div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> sinfo_new_set_wcs_cube(csky,file_name, cwav,</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> dis, cpix, center_x, center_y);</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> </div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> sinfo_free_imagelist(&csky) ;</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> </div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> snprintf(file_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%2.2d%s"</span>,<span class="stringliteral">"out_sky_med"</span>,</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> frame_index,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> ck0(sinfo_pro_save_ima(eima_med,sof,sof,file_name,</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> PRO_SKY_MED,NULL,plugin_id,config),</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="stringliteral">"cannot save ima %s"</span>,file_name);</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> </div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> check_nomsg(sinfo_new_set_wcs_image(eima_med,file_name, center_x, center_y));</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> sinfo_free_image(&eima_med);</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> }</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> }</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> </div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> </div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> </div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> <span class="keywordflow">if</span>(n==0) {</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <span class="keywordflow">if</span>(strcmp(cfg->mflat_dist,<span class="stringliteral">"not_found"</span>)!=0) {</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <span class="keywordflow">if</span>(pdensity > 1) {</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> cknull(cflat2=sinfo_new_fine_tune(cflat,</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> correct_dist,</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> cfg->method,</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> cfg->order,</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> cfg->nslits),</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="stringliteral">" could not fine tune the data cube"</span>) ;</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> </div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> sinfo_free_imagelist(&cflat);</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> sinfo_msg(<span class="stringliteral">"Stretch output cube along Y direction"</span>);</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> </div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> cknull(cflat = sinfo_new_bin_cube(cflat2,1,2,0,63,0,63),</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="stringliteral">"Error binning flat cube"</span>);</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> sinfo_free_imagelist(&cflat2);</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> </div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> ck0(sinfo_pro_save_ims(cflat,sof,sof,OBJNOD_OUT_MFLAT_CUBE_FILENAME,</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> PRO_MFLAT_CUBE,NULL,plugin_id,config),</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="stringliteral">"cannot save cube %s"</span>, OBJNOD_OUT_MFLAT_CUBE_FILENAME);</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> </div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> sinfo_new_set_wcs_cube(cflat,OBJNOD_OUT_MFLAT_CUBE_FILENAME,cwav, dis,</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> cpix, center_x, center_y);</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> </div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> cknull(eima_avg=sinfo_new_average_cube_to_image(cflat),</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> <span class="stringliteral">"Creating an average image"</span>);</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> </div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> ck0(sinfo_pro_save_ima(eima_avg,sof,sof,<span class="stringliteral">"out_mflat_avg.fits"</span>,</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> <span class="stringliteral">"MFLAT_AVG"</span>,NULL,plugin_id,config),</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> <span class="stringliteral">"cannot save ima %s"</span>, <span class="stringliteral">"out_mflat_avg.fits"</span>);</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> </div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> sinfo_free_image(&eima_avg);</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> </div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> cknull(eima_med=sinfo_new_median_cube(cflat),</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> <span class="stringliteral">"Error computing median on cube flat"</span>);</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> </div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> ck0(sinfo_pro_save_ima(eima_med,sof,sof,<span class="stringliteral">"out_mflat_med.fits"</span>,</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <span class="stringliteral">"MFLAT_MED"</span>,NULL,plugin_id,config),</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> <span class="stringliteral">"cannot save ima %s"</span>, <span class="stringliteral">"out_mflat_med.fits"</span>);</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> </div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> sinfo_free_imagelist(&cflat);</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> sinfo_free_image(&eima_med);</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> }</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> }</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> }</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> </div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> cknull(outcube2=sinfo_new_fine_tune(cube,</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> correct_dist,</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> cfg->method,</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> cfg->order,</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> cfg->nslits),</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="stringliteral">" could not fine tune the data cube"</span>) ;</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> </div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> sinfo_msg(<span class="stringliteral">"Stretch output cube along Y direction"</span>);</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> cknull(outcube = sinfo_new_bin_cube(outcube2,1,2,0,63,0,63),</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="stringliteral">"Error binning cube"</span>);</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> sinfo_free_imagelist(&cube);</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> cknull_nomsg(qclog_tbl=sinfo_qclog_init());</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> sinfo_get_pupil_shift(outcube,n,&qclog_tbl);</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> snprintf(file_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%2.2d%s"</span>,<span class="stringliteral">"out_cube_obj"</span>,</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> frame_index,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> </div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> check_nomsg(center_x = cpl_image_get_size_x(</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> cpl_imagelist_get(outcube,0))/2.+0.5) ;</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> check_nomsg(center_y = cpl_image_get_size_y(</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> cpl_imagelist_get(outcube,0))/2.+0.5 );</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> </div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> <span class="comment">/*----------- atmospheric correction --------------*/</span></div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="keywordflow">if</span> (cfg->polyshiftname && strlen(cfg->polyshiftname))</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> {</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> sinfo_atm_correction(&outcube,</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> sof,</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> cfg->polyshiftname,</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> dis,</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> cwav,</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> cpix);</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> }</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> <span class="comment">/*-------------------------------------------------*/</span></div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> </div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> ck0(sinfo_pro_save_ims(outcube,sof,sof,file_name,</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> pro_obs,qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> <span class="stringliteral">"cannot save cube %s"</span>, file_name);</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> </div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> sinfo_new_set_wcs_cube(outcube, file_name, cwav, dis,</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> cpix, center_x, center_y);</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> <span class="comment">/* free memory */</span></div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> <span class="comment">/* to prevent error message comment next line */</span></div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> </div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <span class="stringliteral">"sinfoni.objnod.sky_cor"</span>));</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> </div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> check_nomsg(sky_cor=cpl_parameter_get_bool(p));</div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> <span class="keywordflow">if</span>(sky_cor == 1 && (pdensity == 1 || pdensity == 3) &&</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> strcmp(cfg->sky_dist,<span class="stringliteral">"no_sky"</span>)!=0)</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> {</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> obj_frm=cpl_frameset_find(sof,pro_obs);</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> sky_frm=cpl_frameset_find(sof,PRO_OBS_SKY);</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> sqc=sinfo_skycor_qc_new();</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> ck0(sinfo_skycor(config, obj_frm,sky_frm,sqc,&obj_cor,&int_obj),</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> <span class="stringliteral">"determining sky residuals corrected object"</span>);</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> cpl_frameset_erase(sof,pro_obs);</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> snprintf(file_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%2.2d%s"</span>,<span class="stringliteral">"out_cube_obj_cor"</span>,</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> frame_index,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC SKYCOR THBKGFIT"</span>,</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> sqc->th_fit,<span class="stringliteral">"Thermal background fit success"</span>,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> </div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> ck0(sinfo_pro_save_ims(obj_cor,sof,sof,file_name,</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> pro_obs,qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> <span class="stringliteral">"cannot save cube %s"</span>, file_name);</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> </div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> sinfo_skycor_qc_delete(&sqc);</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> </div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> sinfo_new_set_wcs_cube(obj_cor, file_name, cwav, dis,</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> cpix, center_x, center_y);</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> </div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> sinfo_free_imagelist(&obj_cor) ;</div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> snprintf(file_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%2.2d%s"</span>,<span class="stringliteral">"out_int_obj"</span>,</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> frame_index,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> </div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> ck0(sinfo_pro_save_tbl(int_obj,sof,sof,file_name,</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> PRO_SPECTRA_QC,qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="stringliteral">"cannot save cube %s"</span>, file_name);</div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> sinfo_free_table(&int_obj) ;</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> }</div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> sinfo_free_imagelist(&outcube2);</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> sinfo_free_imagelist(&outcube) ;</div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> sinfo_free_float(&correct_dist) ;</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> </div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> } <span class="comment">/* end loop over n (nframes) */</span></div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> </div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> <span class="comment">/* free memory */</span></div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> sinfo_objnod_free(&cfg);</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> sinfo_free_frameset(&stk);</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> </div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> </div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> </div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> cleanup:</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> sinfo_skycor_qc_delete(&sqc);</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> sinfo_free_imagelist(&obj_cor) ;</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> sinfo_free_imagelist(&outcube2) ;</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> sinfo_free_imagelist(&outcube) ;</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> sinfo_free_image(&eima_avg);</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> sinfo_free_image(&eima_med);</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> sinfo_free_imagelist(&cflat) ;</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> sinfo_free_imagelist(&cflat2) ;</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> sinfo_free_imagelist(&cube) ;</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> sinfo_free_imagelist(&csky) ;</div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> sinfo_free_imagelist(&csky2) ;</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> </div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> <span class="keywordflow">if</span>(cfg!=NULL) {</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> <span class="keywordflow">if</span> (cfg->northsouthInd ==0 ) {</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> <span class="keywordflow">if</span>(slit_edges != NULL) {</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> sinfo_new_destroy_2Dfloatarray(&slit_edges,cfg->nslits);</div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> }</div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> <span class="keywordflow">if</span> (distances != NULL ) {</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> sinfo_new_destroy_array(&distances);</div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> }</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> }</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> }</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> </div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> sinfo_free_float(&correct_dist);</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> sinfo_free_image(&res_flat);</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> sinfo_free_image(&res_sky);</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> sinfo_free_image(&res_wim);</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> sinfo_free_image(&calim);</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> sinfo_free_image(&halospec) ;</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> sinfo_free_image(&sky_im) ;</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> sinfo_free_image(&res_obj);</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> sinfo_free_image(&flat_im) ;</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> sinfo_free_image(&wavemapim);</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> sinfo_free_image(&wim);</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> sinfo_free_image(&im);</div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> sinfo_objnod_free(&cfg);</div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> sinfo_free_frameset(&stk);</div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> </div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> </div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> </div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> </div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> }</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> </div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> sinfo_atm_correction(cpl_imagelist** ppCube,</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> cpl_frameset* sof,</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* polyshiftname,</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="keywordtype">double</span> dis_cube,</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> <span class="keywordtype">double</span> centralLambda_cube,</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> <span class="keywordtype">int</span> centralpix_cube)</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> {</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> cpl_polynomial* poly = NULL;</div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> cpl_frame* first_frame=NULL;</div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* ref_file=NULL;</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> cpl_propertylist *plist_cube = NULL;</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> cpl_propertylist* ppolylist = NULL;</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> cpl_imagelist* retcube = NULL;</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> </div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> <span class="comment">/* we use the pointer outcube as a handle to *ppCube </span></div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> <span class="comment"> (don't initialize to NULL!)*/</span></div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> cpl_imagelist* outcube = *ppCube; </div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> <span class="comment">/* Get the reference file */</span></div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> first_frame = cpl_frameset_get_first(sof) ;</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> ref_file = cpl_frame_get_filename(first_frame) ;</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> <span class="keywordflow">if</span> (ref_file && strlen(ref_file))</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> {</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> <span class="comment">/* Get FITS header from reference file */</span></div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"adjusting atmospheric correction ref_file[%s]"</span>, ref_file);</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> plist_cube = cpl_propertylist_load(ref_file, 0);</div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> <span class="keywordflow">if</span> (plist_cube)</div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> {</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> <span class="comment">// check the OPTI1.NAME</span></div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> ppolylist = cpl_propertylist_load(polyshiftname,0);</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> <span class="keywordflow">if</span> (ppolylist)</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> {</div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> <span class="keywordtype">double</span> pixelscale = sinfo_pfits_get_pixscale(plist_cube);</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> <span class="keywordtype">double</span> poly_pixelscale = sinfo_pfits_get_pixscale(ppolylist);</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> <span class="keywordflow">if</span> (fabs(poly_pixelscale - pixelscale) < 1E-8)</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> {</div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> poly = sinfo_atmo_load_polynom(polyshiftname);</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> <span class="keywordflow">if</span> (!poly)</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> {</div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"Cannot load polynom from [%s]"</span>, polyshiftname);</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> }</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> {</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"polynom from [%s] is loaded"</span>, polyshiftname);</div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> }</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> }</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> {</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"pixelscale for the polynomial fit "</span></div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> <span class="stringliteral">"is different: provided[%f] expected[%f]"</span>,</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> poly_pixelscale, pixelscale);</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> }</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> sinfo_free_propertylist(&ppolylist);</div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> }</div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> <span class="keywordflow">if</span> (!poly)</div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> {</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"Pixel shift due atmospheric refraction"</span></div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> <span class="stringliteral">" would not be applied"</span>);</div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> }</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> }</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> {</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"cannot load propertylist for the frame"</span>);</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> }</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> <span class="keywordflow">if</span> (poly)</div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> {</div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> <span class="keywordtype">double</span> airmass = (</div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> (cpl_propertylist_get_double(plist_cube, <span class="stringliteral">"ESO TEL AIRM START"</span>) +</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> cpl_propertylist_get_double(plist_cube, <span class="stringliteral">"ESO TEL AIRM END"</span>))</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> / 2</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> );</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> <span class="keywordtype">double</span> angle = (</div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> (cpl_propertylist_get_double(plist_cube, <span class="stringliteral">"ESO ADA ABSROT START"</span>) +</div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> cpl_propertylist_get_double(plist_cube, <span class="stringliteral">"ESO ADA ABSROT END"</span>))</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> / 2</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> ) * PI_NUMB / 180;</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> sinfo_msg(<span class="stringliteral">"dis_cube[%f] centralLambda_cube[%f] centralpix_cube[%d]"</span>,dis_cube,centralLambda_cube,centralpix_cube);</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> retcube = sinfo_atmo_apply_cube_polynomial_shift(</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> poly, outcube,</div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> centralLambda_cube,</div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> airmass,</div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> angle,</div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> dis_cube,</div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> centralpix_cube);</div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> sinfo_free_polynomial(&poly);</div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> <span class="keywordflow">if</span> (retcube)</div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> {</div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> sinfo_free_imagelist(&outcube);</div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> *ppCube = retcube;</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> }</div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> }</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> sinfo_free_propertylist(&plist_cube);</div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> }</div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> </div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> </div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> }</div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> </div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> <span class="comment">/* Temporally commented out as not yet used</span></div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> <span class="comment">static cpl_image*</span></div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> <span class="comment">sinfo_flux_corr(const cpl_image* inp,const cpl_image* wav,const double dis)</span></div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> <span class="comment">{</span></div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> <span class="comment"></span></div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> <span class="comment"> cpl_image* out=NULL;</span></div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> <span class="comment"> cpl_image* dif=NULL;</span></div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> <span class="comment"> const float* pi=NULL;</span></div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> <span class="comment"> const float* pw=NULL;</span></div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> <span class="comment"> float* po=NULL;</span></div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> <span class="comment"> float* pd=NULL;</span></div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> <span class="comment"></span></div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> <span class="comment"> int i=0;</span></div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> <span class="comment"> int j=0;</span></div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> <span class="comment"> int nx=0;</span></div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> <span class="comment"> int ny=0;</span></div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> <span class="comment"> int stat=0;</span></div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> <span class="comment"> nx=cpl_image_get_size_x(inp);</span></div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> <span class="comment"> ny=cpl_image_get_size_y(inp);</span></div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> <span class="comment"></span></div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> <span class="comment"> out=cpl_image_new(nx,ny,CPL_TYPE_FLOAT);</span></div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> <span class="comment"> dif=cpl_image_new(nx,ny,CPL_TYPE_FLOAT);</span></div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> <span class="comment"> pi=cpl_image_get_data_const(inp);</span></div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> <span class="comment"> pw=cpl_image_get_data_const(wav);</span></div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> <span class="comment"> po=cpl_image_get_data(out);</span></div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> <span class="comment"> pd=cpl_image_get_data(dif);</span></div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> <span class="comment"></span></div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> <span class="comment"> sinfo_msg("dif=%10.8f",2.*dis/(cpl_image_get(wav,500,501,&stat)-</span></div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> <span class="comment"> cpl_image_get(wav,500,499,&stat)));</span></div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> <span class="comment"></span></div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> <span class="comment"> sinfo_msg("dif=%10.8f",2.*dis/(cpl_image_get(wav,500,101,&stat)-</span></div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> <span class="comment"> cpl_image_get(wav,500,99,&stat)));</span></div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> <span class="comment"></span></div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> <span class="comment"> sinfo_msg("dif=%10.8f",2.*dis/(cpl_image_get(wav,500,1001,&stat)-</span></div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> <span class="comment"> cpl_image_get(wav,500,999,&stat)));</span></div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> <span class="comment"></span></div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> <span class="comment"> for(i=0;i<nx;i++) {</span></div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> <span class="comment"> for(j=1;j<ny-1;j++) {</span></div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> <span class="comment"> if(pi[nx*j+i] != ZERO || pw[nx*j+i] != ZERO) {</span></div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> <span class="comment"> po[nx*j+i]=pi[nx*j+i]*dis/((pw[nx*(j+1)+i]-pw[nx*(j-1)+i])*0.5);</span></div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> <span class="comment"> pd[nx*j+i]=dis/((pw[nx*(j+1)+i]-pw[nx*(j-1)+i])*0.5);</span></div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> <span class="comment"> } else {</span></div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> <span class="comment"> po[nx*j+i]=ZERO;</span></div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> <span class="comment"> pd[nx*j+i]=ZERO;</span></div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> <span class="comment"></span></div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> <span class="comment"></span></div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> <span class="comment"> if(pi[i] != ZERO || pw[i] != ZERO) {</span></div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> <span class="comment"> po[i]=pi[i]*dis/(pw[nx+i]-pw[i]);</span></div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> <span class="comment"> pd[i]=dis/(pw[nx+i]-pw[i]);</span></div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> <span class="comment"> } else {</span></div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> <span class="comment"> po[i]=ZERO;</span></div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> <span class="comment"> pd[i]=ZERO;</span></div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> <span class="comment"></span></div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> <span class="comment"></span></div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> <span class="comment"></span></div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> <span class="comment"> if(pi[nx*(ny-1)+i] != ZERO || pw[nx*(ny-1)+i] != ZERO) {</span></div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> <span class="comment"> po[nx*(ny-1)+i]=pi[nx*(ny-1)+i]*dis/(pw[nx*(ny-1)+i]-pw[nx*(ny-2)+i]);</span></div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> <span class="comment"> pd[nx*(ny-1)+i]=dis/(pw[nx*(ny-1)+i]-pw[nx*(ny-2)+i]);</span></div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> <span class="comment"> } else {</span></div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> <span class="comment"> po[nx*(ny-1)+i]=ZERO;</span></div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> <span class="comment"> pd[nx*(ny-1)+i]=ZERO;</span></div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> <span class="comment"></span></div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> <span class="comment"> //cpl_image_save(dif,"diff.fits", CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> <span class="comment"></span></div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> <span class="comment"> sinfo_free_image(&dif);</span></div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> <span class="comment"></span></div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> <span class="comment"></span></div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> <span class="comment"> return out;</span></div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> <span class="comment"></span></div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> <span class="comment">}</span></div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> <span class="comment">*/</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__cubes__build_8h_source.html b/html/sinfo__new__cubes__build_8h_source.html
deleted file mode 100644
index 3d3ea03..0000000
--- a/html/sinfo__new__cubes__build_8h_source.html
+++ /dev/null
@@ -1,122 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_cubes_build.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_cubes_build.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_NEW_CUBES_BUILD_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_NEW_CUBES_BUILD_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*******************************************************************************</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* "@(#) $Id: sinfo_new_cubes_build.h,v 1.11 2007/06/06 07:10:45 amodigli Exp $"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* schreib 06/05/03 created</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * sinfo_cubes_build.h</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * routines to create a data cube</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> * Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> @name sinfo_new_cubes_build()</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> @param plugin_id name of recipe plugin</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> @param config input parameter list</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> @param sof input frameset</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> @param procatg</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> @param frame_index index of processed frame</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> @return integer (0 if it worked, -1 if it doesn't) </span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> @doc this routine does the resampling of an offset-corrected,</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> flatfielded, bad pixel corrected and</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> eventually interleaved data frame. Additionally, an intensity </span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> calibration is carried through by using</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> a standard star or a black body measurement. </span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> The spectral features of the flatfield halogen lamp are corrected.</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> Afterwards a data cube is created out of the resampled image.</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> It is the users choice to use either</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> the fitted sinfo_edge positions of the slitlets or the distances</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> of the slitlets gained from a north-south-test. </span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> sinfo_new_cubes_build (<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id,</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> cpl_parameterlist* config, </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* procatg, </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">const</span> <span class="keywordtype">int</span> frame_index) ;</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor">#endif </span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor"></span><span class="comment">/*--------------------------------------------------------------------------*/</span><span class="preprocessor"></span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__cubes__coadd_8c_source.html b/html/sinfo__new__cubes__coadd_8c_source.html
deleted file mode 100644
index b9b9c7e..0000000
--- a/html/sinfo__new__cubes__coadd_8c_source.html
+++ /dev/null
@@ -1,680 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_cubes_coadd.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_cubes_coadd.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"></span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">File name : sinfo_new_cubes_coadd.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">Author : J. Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">Created on : December 3, 2003</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">Description : Creates data cubes or merges data cubes</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">out of jittered object-sky</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">nodding observations</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_new_cubes_coadd.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_pfits.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_baryvel.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_pro_save.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_objnod_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_utilities_scired.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_wave_calibration.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_cube_construct.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">//Used only for sinfo_propertylist_has</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include "sinfo_dfs.h"</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#define PI_NUMB (3.1415926535897932384626433832795) </span><span class="comment">/* pi */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> Function Definitions</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> Function : sinfo_new_cubes_coadd()</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> In : ini_file: file name of according .ini file</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> Out : integer (0 if it worked, -1 if it doesn't)</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> Job : this routine carries through the data cube creation of an</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> object science observation using object-sky nodding</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> and jittering. This script expects jittered frames that</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> were already sky-subtracted</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> averaged, flatfielded, spectral tilt corrected and</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> interleaved if necessary</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> sinfo_new_cubes_coadd (<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id,cpl_parameterlist* config,</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> cpl_frameset* sof, <span class="keyword">const</span> <span class="keywordtype">char</span>* procatg)</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> {</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> object_config * cfg=NULL ;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> cpl_image * im=NULL ;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> cpl_image* jitter_image=NULL;</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> cpl_imagelist ** cube_tmp=NULL ;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> cpl_imagelist ** cubeobject=NULL ;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> cpl_imagelist * jittercube=NULL ;</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> cpl_imagelist * maskcube=NULL ;</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">int</span> sky_cor=0;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">int</span> pdensity=0;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">int</span> n=0 ;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">int</span> partind = 0 ;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordtype">int</span> centralpix=0 ;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">int</span> z_siz=0;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordtype">int</span> z_min=0;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">int</span> z_max=0;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">int</span> z=0;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">int</span> z_stp=100;</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">int</span> scales_sky=0;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">int</span> ks_clip=0;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">double</span> kappa=2.0;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordtype">float</span> ref_offx=0;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">float</span> ref_offy=0;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keywordtype">float</span> newcenter_x=0 ;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">float</span> newcenter_y=0 ;</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">float</span> cd1_1=0;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keywordtype">float</span> cd1_2=0;</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordtype">float</span> cd2_1=0;</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">float</span> cd2_2=0;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">double</span> pixelscale=0;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">double</span> angle=0;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">float</span> radangle=0 ;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordtype">double</span> exptime=0 ;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">double</span> * times=NULL ;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">float</span> * offsetx=NULL;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">float</span> * offsety=NULL;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">float</span> offx_min=1.e10;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordtype">float</span> offy_min=1.e10;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordtype">float</span> offx_max=-1.e10;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordtype">float</span> offy_max=-1.e10;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">double</span> dis=0 ;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordtype">double</span> centralLambda=0 ;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordtype">double</span> mjd_obs=0;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordtype">char</span> name_jitter[MAX_NAME_SIZE] ;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordtype">char</span> pro_mjit[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keywordtype">char</span> pro_obs[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordtype">char</span> pro_med[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keywordtype">char</span> * name=NULL ;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordtype">char</span> * partname=NULL;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordtype">char</span> * partname2=NULL ;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">char</span> file_name[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordtype">int</span> vllx=0;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordtype">int</span> vlly=0;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordtype">int</span> vurx=0;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordtype">int</span> vury=0;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordtype">int</span> onp=0;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> cpl_image* j_img=NULL;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> cpl_image* m_img=NULL;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> cpl_table* qclog_tbl=NULL;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> cpl_image* ill_cor=NULL;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> cpl_frame* frame=NULL;</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> cpl_frameset* stk=NULL;</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> cpl_parameter* p=NULL;</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordtype">int</span> mosaic_max_size=0;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordtype">double</span> barycor=0;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordtype">double</span> helicor=0;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> cpl_table* qclog=NULL;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="stringliteral">"sinfoni.objnod.mosaic_max_size"</span>));</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> check_nomsg(mosaic_max_size=cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> check_nomsg(p=cpl_parameterlist_find(config,<span class="stringliteral">"sinfoni.product.density"</span>));</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> check_nomsg(pdensity=cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordflow">if</span> (strcmp(procatg,PRO_COADD_STD) == 0) {</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> strcpy(pro_mjit,PRO_MASK_COADD_STD);</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> strcpy(pro_obs,PRO_OBS_STD);</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> strcpy(pro_med,PRO_MED_COADD_STD);</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(procatg,PRO_COADD_PSF) == 0) {</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> strcpy(pro_mjit,PRO_MASK_COADD_PSF);</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> strcpy(pro_obs,PRO_OBS_PSF);</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> strcpy(pro_med,PRO_MED_COADD_PSF);</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> strcpy(pro_mjit,PRO_MASK_COADD_OBJ);</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> strcpy(pro_obs,PRO_OBS_OBJ);</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> strcpy(pro_med,PRO_MED_COADD_OBJ);</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> }</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment">/*----parse input data and parameters to set cube_config cfg---*/</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> check_nomsg(stk = cpl_frameset_new());</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> cknull(cfg = sinfo_parse_cpl_input_objnod(config,sof,&stk),</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="stringliteral">"Error setting parameter configuration"</span>);</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> ck0(sinfo_check_input_data(cfg),<span class="stringliteral">"error checking input"</span>);</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">if</span> ( cfg->jitterind == 1 )</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> {</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> cknull(times = (<span class="keywordtype">double</span>*) cpl_calloc (cfg->nframes, sizeof (<span class="keywordtype">double</span>)),</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="stringliteral">" could not allocate memory!"</span>) ;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> cknull(offsetx = (<span class="keywordtype">float</span>*) cpl_calloc (cfg->nframes, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)),</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="stringliteral">" could not allocate memory!"</span>) ;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> cknull(offsety = (<span class="keywordtype">float</span>*) cpl_calloc (cfg->nframes, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)),</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="stringliteral">" could not allocate memory!"</span>) ;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> }</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keywordflow">if</span> (cfg->jitterind == 0)</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> {</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="keywordflow">if</span> ( NULL != (partname = strtok(cfg->outName, <span class="stringliteral">"."</span>)))</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> {</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> partname2 = strtok (NULL, <span class="stringliteral">"."</span>) ;</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> partind = 1 ;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> }</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> }</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> ck0(sinfo_auto_size_cube5(cfg,&ref_offx,&ref_offy,</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> &offx_min,&offy_min,</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> &offx_max,&offy_max),</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="stringliteral">"Error resizing cube"</span>);</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_ILL_COR)) {</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> frame = cpl_frameset_find(sof,PRO_ILL_COR);</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> ill_cor=cpl_image_load(cpl_frame_get_filename(frame),CPL_TYPE_FLOAT,0,0);</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> sinfo_msg(<span class="stringliteral">"Illumination correction image not provided"</span>);</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> cpl_error_reset();</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> }</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keywordflow">for</span> ( n = 0 ; n < cfg->nframes ; n++ )</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> {</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Read FITS information"</span>);</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> name = cfg->framelist[n] ;</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keywordflow">if</span> (n == 0)</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> {</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> strcpy (name_jitter, name) ;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> }</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordflow">if</span>( sinfo_is_fits_file(name) != 1) {</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Input file %s is not FITS"</span>,name);</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> }</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="comment">/* get some header values and compute the CD-sinfo_matrix */</span></div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> plist=cpl_propertylist_load(name,0);</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_MJD_OBS)) {</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> mjd_obs=cpl_propertylist_get_double(plist, KEY_NAME_MJD_OBS);</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"keyword %s does not exist"</span>,KEY_NAME_MJD_OBS);</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> }</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> pixelscale = sinfo_pfits_get_pixscale(plist) /2;</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> angle = sinfo_pfits_get_posangle(plist) ;</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="comment">/* in PUPIL data there is not posangle info: we reset the error */</span></div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> cpl_error_reset();</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> }</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="comment">// The following 5 lines are not really used here!</span></div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> radangle = angle * PI_NUMB / 180. ;</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> cd1_1 = cos(radangle) ;</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> cd1_2 = sin(radangle) ;</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> cd2_1 = -sin(radangle) ;</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> cd2_2 = cos(radangle) ;</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"frame no.: %d, name: %s\n"</span>, n, name) ;</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> cknull(im = cpl_image_load(name,CPL_TYPE_FLOAT,0,0),</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="stringliteral">" could not load frame %s!"</span>,name) ;</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="keywordflow">if</span> (cfg->jitterind == 1)</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> {</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> exptime = sinfo_pfits_get_ditndit(name) ;</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="keywordflow">if</span> (exptime == FLAG)</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> {</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not read fits header keyword exptime!"</span>);</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> }</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> times[n] = exptime ;</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> ck0(sinfo_new_assign_offset(n,name,offsetx,offsety,</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> ref_offx,ref_offy),</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="stringliteral">"Error assigning offsets"</span>);</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> }</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> sinfo_free_image(&im);</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> } <span class="comment">/* end loop over n (nframes) */</span></div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> </div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="comment">/* leak free */</span></div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keywordflow">if</span>(cfg->jitterind == 0) {</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keywordflow">goto</span> exit;</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> }</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="comment">/* Here in case of autojitter we estimate the sky */</span></div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="keywordflow">if</span>( (cfg->size_x*cfg->size_y*cfg->nframes) > (100*mosaic_max_size) ) {</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"Coadd cube size:%d,%d. N frames: %d"</span>,</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> cfg->size_x,cfg->size_y,cfg->nframes);</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"Max allowed should be such "</span></div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="stringliteral">"that sixeX*sixeY*Nframes < 100*%d"</span>,mosaic_max_size);</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keywordflow">goto</span> exit;</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> }</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keywordflow">if</span> ( cfg->jitterind == 1 )</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> {</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> check_nomsg(p = cpl_parameterlist_find(config, <span class="stringliteral">"sinfoni.objnod.vllx"</span>));</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> check_nomsg(vllx = cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> check_nomsg(p = cpl_parameterlist_find(config, <span class="stringliteral">"sinfoni.objnod.vlly"</span>));</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> check_nomsg(vlly = cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> check_nomsg(p = cpl_parameterlist_find(config, <span class="stringliteral">"sinfoni.objnod.vurx"</span>));</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> check_nomsg(vurx = cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> check_nomsg(p = cpl_parameterlist_find(config, <span class="stringliteral">"sinfoni.objnod.vury"</span>));</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> check_nomsg(vury = cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> cknull(cube_tmp = (cpl_imagelist**) cpl_calloc (cfg->nframes,</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> sizeof (cpl_imagelist*)),</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="stringliteral">"Could not allocate memory for cube_tmp"</span>);</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> </div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> </div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> cknull(cubeobject = (cpl_imagelist**) cpl_calloc (cfg->nframes,</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> sizeof (cpl_imagelist*)),</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="stringliteral">"Could not allocate memory for cubeobject"</span>);</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="stringliteral">"sinfoni.objnod.sky_cor"</span>));</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> check_nomsg(sky_cor=cpl_parameter_get_bool(p));</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="keywordflow">for</span> ( n = 0 ; n < cfg->nframes ; n++ ) {</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="keywordflow">if</span>(sky_cor == 1 && (pdensity == 1 || pdensity == 3) &&</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> strcmp(cfg->sky_dist,<span class="stringliteral">"no_sky"</span>)!=0) {</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> sinfo_msg(<span class="stringliteral">"load sky corrected cubes"</span>);</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> </div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> snprintf(file_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%2.2d%s"</span>,<span class="stringliteral">"out_cube_obj_cor"</span>,</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> n,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> snprintf(file_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%2.2d%s"</span>,<span class="stringliteral">"out_cube_obj"</span>,n,</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> }</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> check_nomsg(cube_tmp[n] = cpl_imagelist_load(file_name,</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> CPL_TYPE_FLOAT,0));</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> check_nomsg(cubeobject[n] = sinfo_new_cube_getvig(</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> cube_tmp[n],</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> 1+vllx,1+vlly,</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> 64 - vurx, 64 - vury));</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> check_nomsg(sinfo_free_imagelist(&cube_tmp[n]));</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> </div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> }</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> sinfo_free_array_imagelist(&cube_tmp);</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> </div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> }</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> </div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="comment"> ---------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="comment"> ------------------------JITTERING------------------------------------</span></div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="comment"> ---------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> </div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="keywordflow">if</span> (cfg->jitterind == 1)</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> {</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> sinfo_msg(<span class="stringliteral">"Jittering..."</span>);</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> sinfo_msg(<span class="stringliteral">"Coadded cube size. x: %d y: %d"</span>,</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> cfg->size_x,cfg->size_y);</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> check_nomsg(jittercube = cpl_imagelist_new()) ;</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> </div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="comment"> ---------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="comment"> -------------------THOMAS ALGORITHM----------------------------------</span></div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="comment"> ---------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="stringliteral">"sinfoni.objnod.scales_sky"</span>));</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> check_nomsg(scales_sky=cpl_parameter_get_bool(p));</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> check_nomsg(p=cpl_parameterlist_find(config,<span class="stringliteral">"sinfoni.objnod.ks_clip"</span>));</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> check_nomsg(ks_clip = cpl_parameter_get_bool(p));</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> check_nomsg(p=cpl_parameterlist_find(config,<span class="stringliteral">"sinfoni.objnod.kappa"</span>));</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> check_nomsg(kappa = cpl_parameter_get_double(p));</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="keywordflow">if</span>(scales_sky == 1) {</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> sinfo_msg(<span class="stringliteral">"Subtract spatial sinfo_median to each cube plane"</span>);</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keywordflow">for</span>(n=0;n<cfg->nframes;n++) {</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> sinfo_msg(<span class="stringliteral">"Process cube %d\n"</span>,n);</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> sinfo_new_sinfoni_correct_median_it(&(cubeobject[n]));</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> }</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> }</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="comment">/* AMO CHECK */</span></div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> </div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> cknull(maskcube=cpl_imagelist_new(),<span class="stringliteral">"could not allocate cube!"</span>);</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> </div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="comment">/* Illumination correction */</span></div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="keywordflow">if</span>(ill_cor != NULL) {</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="keywordflow">for</span>(n=0;n<cfg->nframes;n++) {</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> cpl_imagelist_divide_image(cubeobject[n],ill_cor);</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> }</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> }</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> sinfo_free_image(&ill_cor);</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> sinfo_msg(<span class="stringliteral">"Combine jittered cubes"</span>);</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> </div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> </div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="keywordflow">if</span>(ks_clip == 1) {</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> sinfo_msg(<span class="stringliteral">"Cube coaddition with kappa-sigma"</span>);</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> }</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> check_nomsg(onp=cpl_imagelist_get_size(cubeobject[0]));</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="keywordflow">for</span>(z=0;z<onp;z+=z_stp) {</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> z_siz=(z_stp < (onp-z)) ? z_stp : (onp-z);</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> z_min=z;</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> z_max=z_min+z_siz;</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> sinfo_msg(<span class="stringliteral">"Coadding cubes: range [%4.4d,%4.4d) of 0-%d\n"</span>,</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> z_min,z_max,onp);</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> </div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="keywordflow">for</span>(j=z_min;j<z_max;j++) {</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> check_nomsg(j_img=cpl_image_new(cfg->size_x,</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> cfg->size_y,CPL_TYPE_FLOAT));</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> check_nomsg(cpl_imagelist_set(jittercube,j_img,j));</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> check_nomsg(m_img = cpl_image_new(cfg->size_x,</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> cfg->size_y,CPL_TYPE_FLOAT));</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> check_nomsg(cpl_imagelist_set(maskcube,m_img,j));</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> }</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="keywordflow">if</span>(ks_clip == 1) {</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> sinfo_new_combine_jittered_cubes_thomas_range(cubeobject,</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> jittercube,</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> maskcube,</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> cfg->nframes,</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> offsetx,offsety,</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> times,</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> cfg->kernel_type,</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> z_min,</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> z_max,</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> kappa);</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> </div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> sinfo_new_combine_jittered_cubes_range(cubeobject,</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> jittercube,</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> maskcube,</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> cfg->nframes,</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> offsetx,</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> offsety,</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> times,</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> cfg->kernel_type,</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> z_min,</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> z_max) ;</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> }</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> }</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> sinfo_new_convert_0_to_ZERO_for_cubes(jittercube) ;</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> </div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="keywordflow">if</span> (jittercube == NULL)</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> {</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" could not allocate new data cube!"</span>) ;</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> }</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> </div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <span class="keywordflow">if</span> (maskcube == NULL)</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> {</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" could not merge the jittered data cubes\n"</span>) ;</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> }</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> </div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="keywordflow">for</span> ( i = 0 ; i <cfg->nframes ; i++ ) {</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> sinfo_free_imagelist(&cubeobject[i]);</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="comment">//sinfo_msg("offx[%d]=%f,offy[%d]=%f",i,offsetx[i],i,offsety[i]);</span></div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> }</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> sinfo_free_array_imagelist(&cubeobject);</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> </div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="comment">//Old setting</span></div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="comment">//newcenter_x = cfg->size_x / 2. + 0.5 ;</span></div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="comment">//newcenter_y = cfg->size_y / 2. + 0.5 ;</span></div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> </div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> </div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="comment">/* new setting */</span></div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="comment"> sinfo_msg("offx_min=%f,offy_min=%f",offx_min,offy_min);</span></div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="comment"> sinfo_msg("offx_max=%f,offy_max=%f",offx_max,offy_max);</span></div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="comment"> sinfo_msg("ref_offx=%f,ref_offy=%f",ref_offx,ref_offy);</span></div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="comment"></span></div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="comment"> newcenter_x=2*floor(fabs(offx_min)+0.5)+32+8;</span></div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="comment"> newcenter_y=-2*floor(fabs(offy_max)+0.5)+32-2;</span></div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="comment"></span></div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="comment"></span></div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="comment"> newcenter_x=cfg->size_x / 2. -offsetx[0];</span></div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="comment"> newcenter_y=cfg->size_y / 2. -offsety[0];</span></div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> </div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> </div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> </div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="keywordflow">if</span> (mjd_obs > 53825. ) {</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="comment">/* April 1st 2006 */</span></div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> newcenter_x=cfg->size_x / 2. +2*ref_offx;</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> newcenter_y=cfg->size_y / 2. +2*ref_offy;</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((mjd_obs > 53421.58210082 ) && (mjd_obs <= 53825.)){</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="comment">/* after detector's upgrade */</span></div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> newcenter_x=cfg->size_x / 2. -2*ref_offx;</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> newcenter_y=cfg->size_y / 2. +2*ref_offy;</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="comment">/* before detector's upgrade */</span></div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> newcenter_x=cfg->size_x / 2. +2*ref_offx;</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> newcenter_y=cfg->size_y / 2. -2*ref_offy;</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> }</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> </div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> </div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <span class="comment">//sinfo_msg("CRPIX=%f,%f", newcenter_x, newcenter_y);</span></div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="comment">//newcenter_x=2*floor(fabs(ref_offx)+0.5);</span></div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="comment">//newcenter_y=-2*floor(fabs(ref_offy)+0.5);</span></div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> <span class="comment">//sinfo_msg_warning("Center image: %f %f",newcenter_x,newcenter_y);</span></div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> cknull_nomsg(qclog = sinfo_qclog_init());</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> plist=cpl_propertylist_load(file_name,0);</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <span class="keywordflow">if</span>(sinfo_baryvel(plist, &barycor,&helicor) != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"Could not compute velocity corrections"</span>);</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> cpl_error_reset();</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> </div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> check_nomsg(sinfo_qclog_add_double(qclog,</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> <span class="stringliteral">"QC VRAD BARYCOR"</span>,</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> barycor,</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> <span class="stringliteral">"Barycentric radial velocity correction "</span>,</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="stringliteral">"%13.6f"</span>));</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> </div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> check_nomsg(sinfo_qclog_add_double(qclog,</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <span class="stringliteral">"QC VRAD HELICOR"</span>,</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> helicor,</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> <span class="stringliteral">"Heliocentric radial velocity correction "</span>,</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> <span class="stringliteral">"%13.6f"</span>));</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> sinfo_msg(<span class="stringliteral">"Barycor=%g Helicor=%g"</span>,barycor,helicor);</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> </div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> </div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> }</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> </div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> ck0(sinfo_pro_save_ims(jittercube,sof,sof,cfg->outName,</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> procatg,qclog,plugin_id,config),</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> <span class="stringliteral">"cannot save cube %s"</span>, cfg->outName);</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> </div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> sinfo_free_table(&qclog);</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> </div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> <span class="comment">/* we need to set again the following 3 */</span></div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> plist=cpl_propertylist_load(file_name,0);</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> dis=sinfo_pfits_get_cdelt3(plist);</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> centralLambda=sinfo_pfits_get_crval3(plist);</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> centralpix=sinfo_pfits_get_crpix3(plist);</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> sinfo_new_set_wcs_cube(jittercube, cfg->outName,</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> centralLambda, dis,</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> centralpix, newcenter_x, newcenter_y);</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> </div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> cknull(jitter_image = sinfo_new_median_cube(jittercube),</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> <span class="stringliteral">" could not do sinfo_medianCube()"</span>);</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> cknull_nomsg(qclog = sinfo_qclog_init());</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> update_bad_pixel_map(jitter_image);</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> check_nomsg(sinfo_qclog_add_double(qclog,</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="stringliteral">"QC FRMDIF MEANSTD"</span>,</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> cpl_image_get_mean(jitter_image),</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> <span class="stringliteral">"mean of the collapesd cube"</span>,</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <span class="stringliteral">"%13.6f"</span>));</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> check_nomsg(sinfo_qclog_add_double(qclog,</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="stringliteral">"QC FRMDIF STDEV"</span>,</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> cpl_image_get_stdev(jitter_image),</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <span class="stringliteral">"standard deviation of the collapesd cube"</span>,</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> <span class="stringliteral">"%13.6f"</span>));</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> ck0(sinfo_pro_save_ima(jitter_image,sof,sof,cfg->med_cube_name,</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> pro_med,qclog,plugin_id,config),</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <span class="stringliteral">"cannot save ima %s"</span>, cfg->outName);</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> sinfo_free_table(&qclog);</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> </div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> sinfo_new_set_wcs_image(jitter_image, cfg->med_cube_name,</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> newcenter_x,newcenter_y);</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> </div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> sinfo_free_image(&jitter_image);</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> </div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> ck0(sinfo_pro_save_ims(maskcube,sof,sof,cfg->maskname,</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> pro_mjit,NULL,plugin_id,config),</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="stringliteral">"cannot save cube %s"</span>, cfg->maskname);</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> </div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> sinfo_new_set_wcs_cube(maskcube, cfg->maskname,</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> centralLambda, dis, centralpix,</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> newcenter_x, newcenter_y);</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> </div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> sinfo_free_double(×) ;</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> sinfo_free_float(&offsetx) ;</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> sinfo_free_float(&offsety) ;</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> sinfo_free_imagelist(&maskcube) ;</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> sinfo_free_imagelist(&jittercube) ;</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> </div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> } <span class="comment">/* end of jittering */</span></div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> </div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> exit:</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> </div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="comment">/* free memory */</span></div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> sinfo_objnod_free(&cfg);</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> sinfo_free_frameset(&stk);</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> </div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> cleanup:</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> </div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> sinfo_free_image(&jitter_image);</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> sinfo_free_imagelist(&jittercube) ;</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> sinfo_free_imagelist(&maskcube) ;</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> sinfo_free_table(&qclog);</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> </div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="keywordflow">if</span>(cfg != NULL) {</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> <span class="keywordflow">if</span>(cube_tmp != NULL) {</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> <span class="keywordflow">for</span> ( n = 0 ; n < cfg->nframes ; n++ ) {</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> sinfo_free_imagelist(&(cube_tmp[n]));</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> }</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> sinfo_free_array_imagelist(&cube_tmp);</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> }</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="keywordflow">if</span>(cubeobject != NULL) {</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="keywordflow">for</span> ( n = 0 ; n < cfg->nframes ; n++ ) {</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> sinfo_free_imagelist(&(cubeobject[n]));</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> }</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> sinfo_free_array_imagelist(&cubeobject);</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> }</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> </div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> }</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> sinfo_free_image(&im);</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> sinfo_free_image(&ill_cor);</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> sinfo_free_float(&offsety);</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> sinfo_free_float(&offsetx);</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> sinfo_free_double(×);</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> sinfo_objnod_free(&cfg);</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> sinfo_free_frameset(&stk);</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> </div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> sinfo_check_rec_status(0);</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> }</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> </div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> </div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> </div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> }</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__cubes__coadd_8h_source.html b/html/sinfo__new__cubes__coadd_8h_source.html
deleted file mode 100644
index b18a808..0000000
--- a/html/sinfo__new__cubes__coadd_8h_source.html
+++ /dev/null
@@ -1,117 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_cubes_coadd.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_cubes_coadd.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_NEW_CUBES_COADD_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_NEW_CUBES_COADD_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*******************************************************************************</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* "@(#) $Id: sinfo_new_cubes_coadd.h,v 1.10 2007/06/06 07:10:45 amodigli Exp $"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* schreib 06/05/03 created</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * sinfo_new_cubes_coadd.h</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * routines to create a data cube</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> * Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> @name sinfo_new_cubes_coadd()</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> @param ini_file: file name of according .ini file</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> @param integer (0 if it worked, -1 if it doesn't) </span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> @doc this routine does the resampling of an offset-corrected,</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> flatfielded, bad pixel corrected and</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> eventually interleaved data frame. Additionally, an intensity </span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> calibration is carried through by using</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> a standard star or a black body measurement. </span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> The spectral features of the flatfield halogen lamp are corrected.</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> Afterwards a data cube is created out of the resampled image.</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> It is the users choice to use either</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> the fitted sinfo_edge positions of the slitlets or the distances</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> of the slitlets gained from a north-south-test. </span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> sinfo_new_cubes_coadd (<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id,</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> cpl_parameterlist* config, </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* procatg) ;</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">#endif </span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor"></span><span class="comment">/*--------------------------------------------------------------------------*/</span><span class="preprocessor"></span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__dark_8c_source.html b/html/sinfo__new__dark_8c_source.html
deleted file mode 100644
index 9749802..0000000
--- a/html/sinfo__new__dark_8c_source.html
+++ /dev/null
@@ -1,756 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_dark.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_dark.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_new_dark.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : A. Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Sep 17, 2003</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : Master sinfo_dark creation </span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_new_dark.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_utilities.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_pro_save.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_dark_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_dfs.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_pfits.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_dark_ron_reduce(cpl_frameset * framelist,</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> dark_config* cfg,</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> cpl_table* qclog);</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">static</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> sinfo_dark_compare(<span class="keyword">const</span> cpl_frame * frame1, <span class="keyword">const</span> cpl_frame * frame2);</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> Function Definitions</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> @name sinfo_new_dark()</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> @param plugin_id recipe id</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> @param config input parameterlist</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> @param sof input set of frames</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> @return integer (0 if it worked, -1 if it doesn't) </span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> @doc </span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> 1) Sorts frames according to integration time</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> 2) Take the clean mean of a stack of frames with the </span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> same integration time</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"></span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">int</span> sinfo_new_dark (<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id, cpl_parameterlist* config, </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> cpl_frameset* sof, <span class="keywordtype">char</span>* dark_name)</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> {</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> dark_config * cfg=NULL ;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> cpl_imagelist * image_list=NULL ;</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> cpl_imagelist * object_list=NULL ;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> cpl_image * image=NULL ;</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> cpl_image * eclipse_image=NULL ;</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> cpl_image* dark_img=NULL;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> cpl_frame* first_frame=NULL;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> cpl_vector* qc_dark_median=NULL;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> cpl_frameset* raw=NULL;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> cpl_table* qclog_tbl=NULL;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> cpl_propertylist* rplist=NULL;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> cpl_frameset* f_one=NULL;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">int</span> no=0;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordtype">float</span> lo_cut=0.;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">float</span> hi_cut=0.;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">int</span> i = 0;</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">int</span> j = 0;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">int</span> n = 0;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">int</span> count = 0;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">int</span>* n_times=NULL;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordtype">double</span> exp_time = 0.; </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">float</span>* int_time=NULL; </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keywordtype">float</span> time_val = 0.; </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">char</span> ref_file[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> cpl_size zone_def[4];</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordtype">double</span> qc_ron_val=0;</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">double</span> qc_ron_err=0;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">double</span> qc_darkmed_ave=0;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">double</span> qc_darkmed_stdev=0;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">double</span> fpn=0;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> cpl_size zone[4];</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">int</span> naxis1=0;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">int</span> naxis2=0;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> cpl_size* selection=NULL;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> cpl_size nsets=0;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment"> -----------------------------------------------------------------</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment"> 1) parse the file names and parameters to the dark_config data </span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment"> structure cfg </span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment"> -----------------------------------------------------------------</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> check_nomsg(raw=cpl_frameset_new());</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> cknull(cfg = sinfo_parse_cpl_input_dark(config,sof,&raw),</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="stringliteral">"could not parse cpl input!"</span>) ;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment"> -----------------------------------------------------------------</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment"> 2) GET FRAMES AND SORT ACCORDING TO EXPOSURE TIME </span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment"> -----------------------------------------------------------------</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment"> 2.1) get the total integration time from the fits header and </span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment"> store it in an array</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment">/* 2.1.1) get a data cube to stack darks */</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> sinfo_msg(<span class="stringliteral">"Build data cube"</span>);</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment">/* take a clean mean of the frames */</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> check_nomsg(image_list = cpl_imagelist_new());</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> int_time = (<span class="keywordtype">float</span>*) cpl_calloc(cfg -> nframes, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> sinfo_check_rec_status(0);</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keywordflow">for</span> ( i = 0 ; i < cfg->nframes ; i++ )</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> {</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">if</span> (sinfo_is_fits_file (cfg->inFrameList[i]) != 1) {</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Input file %s is not FITS"</span>,cfg->inFrameList[i]);</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> }</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> check_nomsg(cpl_imagelist_set(image_list,</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> cpl_image_load(cfg->inFrameList[i],CPL_TYPE_FLOAT,0,0),i));</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> exp_time = sinfo_pfits_get_exptime(cfg->inFrameList[i]);</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not get exposure time from fits header!\n"</span>);</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> }</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> sinfo_new_array_set_value(int_time, (<span class="keywordtype">float</span>)exp_time, i);</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> }</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> no=cfg->nframes;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment"> 2.2) find the number of frames with the same integration time</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> sinfo_msg(<span class="stringliteral">"Find frames with same tint"</span>);</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> n = 0;</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> n_times = (<span class="keywordtype">int</span>*) cpl_calloc(cfg -> nframes, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>));</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> sinfo_msg(<span class="stringliteral">"Sort frames with same tint"</span>);</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keywordflow">for</span> ( i = 0 ; i < cfg->nframes-1 ; i++ )</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> {</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">if</span> ( sinfo_new_array_get_value(int_time, i+1) != </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> sinfo_new_array_get_value(int_time, i)</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> ) {</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> n_times[n] = i+1;</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> n = n+1;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> }</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> }</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment"> 2.3) store the images with the same tint in data cubes and take </span></div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment"> clean means</span></div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> sinfo_msg(<span class="stringliteral">"Do clean mean"</span>);</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keywordflow">if</span> ( n == 0 ) {</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> sinfo_msg(<span class="stringliteral">"n == 0 "</span>);</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> time_val = sinfo_new_array_get_value(int_time, 0);</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> cknull(object_list = cpl_imagelist_new(),</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="stringliteral">"could not allocate memory for object_list"</span>);</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="comment">/* here we have a leak of 80 bytes */</span></div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> count = 0;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="comment">/* do also QC log */</span></div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> check_nomsg(qc_dark_median=cpl_vector_new(cfg->nframes));</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="comment">/* AMo here there is a leak */</span></div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keywordflow">for</span> ( j = 0 ; j < cfg->nframes ; j++ ) {</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> check_nomsg(cpl_imagelist_set(object_list,</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> cpl_image_duplicate(cpl_imagelist_get(image_list,j)),</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> count));</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> check_nomsg(cpl_vector_set(qc_dark_median,j,</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> cpl_image_get_median(cpl_imagelist_get(image_list,j))));</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> count = count + 1;</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> }</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> check_nomsg(qc_darkmed_ave=cpl_vector_get_mean(qc_dark_median));</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordflow">if</span> (cfg->nframes > 1) {</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> check_nomsg(qc_darkmed_stdev=cpl_vector_get_stdev(qc_dark_median));</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> }</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="comment"> rms = stdev * sqrt(1-1/(double)cpl_vector_get_size(myvector)); </span></div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment"> qc_darkmed_stdev = qc_darkmed_stdev * </span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="comment"> sqrt(1-1/(double)cpl_vector_get_size(qc_dark_median));</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="comment"> */</span> </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> check_nomsg(no=cpl_imagelist_get_size(object_list));</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> lo_cut=(floor)(cfg->lo_reject*no+0.5);</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> hi_cut=(floor)(cfg->hi_reject*no+0.5);</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> cknull(image=cpl_imagelist_collapse_minmax_create(object_list,</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> lo_cut,hi_cut),</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="stringliteral">"sinfo_average_with_rejection failed"</span>);</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> sinfo_free_imagelist(&object_list);</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> sinfo_msg(<span class="stringliteral">"dark_name=%s\n"</span>,dark_name);</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> check_nomsg(first_frame = cpl_frameset_get_frame(raw, 0)) ;</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> strcpy(ref_file,cpl_frame_get_filename(first_frame)) ;</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> cknull_nomsg(rplist = cpl_propertylist_load(ref_file, 0));</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> check_nomsg(naxis1=cpl_propertylist_get_int(rplist,<span class="stringliteral">"NAXIS1"</span>));</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> check_nomsg(naxis2=cpl_propertylist_get_int(rplist,<span class="stringliteral">"NAXIS1"</span>));</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> sinfo_free_propertylist(&rplist);</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keywordflow">if</span>(cfg->qc_ron_xmin < 1) {</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"qc_ron_xmin %d < 1"</span>,cfg->qc_ron_xmin);</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> }</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keywordflow">if</span>(cfg->qc_ron_xmax > naxis1) {</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"qc_ron_xmax %d > %d"</span>,cfg->qc_ron_xmax,naxis1);</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> }</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="keywordflow">if</span>(cfg->qc_ron_ymin < 1) {</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"qc_ron_ymin %d < 1"</span>,cfg->qc_ron_ymin);</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> }</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="keywordflow">if</span>(cfg->qc_ron_ymax > naxis2) {</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"qc_ron_ymax %d > %d"</span>,cfg->qc_ron_ymax,naxis2);</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> }</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> zone_def[0]=cfg->qc_ron_xmin;</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> zone_def[1]=cfg->qc_ron_xmax;</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> zone_def[2]=cfg->qc_ron_ymin;</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> zone_def[3]=cfg->qc_ron_ymax;</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> check(cpl_flux_get_noise_window(image,</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> zone_def,</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> cfg->qc_ron_hsize,</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> cfg->qc_ron_nsamp,</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> &qc_ron_val,</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> &qc_ron_err),</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="stringliteral">"In computation RON on image %s"</span>,dark_name);</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> </div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="keywordflow">if</span>(cfg->qc_fpn_xmin < 1) {</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"qc_fpn_xmin %d < 1"</span>,cfg->qc_fpn_xmin);</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> }</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="keywordflow">if</span>(cfg->qc_fpn_xmax > naxis1) {</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"qc_fpn_xmax %d > %d"</span>,cfg->qc_fpn_xmax,naxis1);</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> }</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="keywordflow">if</span>(cfg->qc_fpn_ymin < 1) {</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"qc_fpn_ymin %d < 1"</span>,cfg->qc_fpn_ymin);</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> }</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="keywordflow">if</span>(cfg->qc_fpn_ymax > naxis2) {</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"qc_fpn_ymax %d > %d"</span>,cfg->qc_fpn_ymax,naxis2);</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> }</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> zone[0]=cfg->qc_fpn_xmin;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> zone[1]=cfg->qc_fpn_xmax;</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> zone[2]=cfg->qc_fpn_ymin;</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> zone[3]=cfg->qc_fpn_ymax;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> check(cpl_flux_get_noise_window(image, zone, cfg->qc_fpn_hsize,</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> cfg->qc_fpn_nsamp, &fpn, NULL),</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="stringliteral">"Error computing noise in a window"</span>);</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="comment">/* QC LOG */</span></div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> cknull_nomsg(qclog_tbl = sinfo_qclog_init());</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC DARKMED AVE"</span>,</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> qc_darkmed_ave,<span class="stringliteral">"Average of raw darks medians"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC DARKMED STDEV"</span>,</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> qc_darkmed_stdev,<span class="stringliteral">"STDEV of raw darks medians"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> </div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC RON"</span>,</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> qc_ron_val,<span class="stringliteral">"Read Out Noise"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC RONRMS"</span>,</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> qc_ron_err,<span class="stringliteral">"RMS on Read Out Noise"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> </div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC DARKFPN"</span>,</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> fpn,<span class="stringliteral">"Fixed Pattern Noise of combined frames"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="comment">/* special way to calculate RON: for each couple */</span></div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> check(selection = cpl_frameset_labelise(raw,sinfo_dark_compare,&nsets),</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="stringliteral">"Error labelizing"</span>);</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> </div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> </div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="keywordflow">for</span> ( i = 0 ; i < nsets ; i++ ) {</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> sinfo_msg(<span class="stringliteral">"Reduce data set no %d out of %"</span> CPL_SIZE_FORMAT <span class="stringliteral">""</span>, i+1, nsets);</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> cpl_msg_indent_more();</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> check_nomsg(f_one = cpl_frameset_extract(raw,selection,i));</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="keywordflow">if</span> (cpl_frameset_get_size(f_one) < 2) {</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"Skip %d set. One frame, not enough "</span></div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="stringliteral">"to get ron"</span>,i+1);</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="keywordflow">if</span> (sinfo_dark_ron_reduce(f_one,cfg,qclog_tbl) ) {</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>( <span class="stringliteral">"Cannot reduce set number %d"</span>, i+1) ;</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> }</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> }</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> sinfo_free_frameset(&f_one);</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> cpl_msg_indent_less();</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> </div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> }</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> cpl_free(selection);</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> </div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="comment">/* generate a dummy_set with the master dark and a dummy </span></div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="comment"> dark=2*master_dark */</span></div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> ck0(sinfo_pro_save_ima(image,raw,sof,dark_name,</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> PRO_MASTER_DARK,qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="stringliteral">"cannot save ima %s"</span>, dark_name);</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> sinfo_free_image(&image);</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n == 1) {</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> sinfo_msg(<span class="stringliteral">"n == 1"</span>);</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> time_val = sinfo_new_array_get_value(int_time, 0);</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> cknull(object_list = cpl_imagelist_new(),</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="stringliteral">"could not allocate memory"</span>);</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> count = 0;</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="keywordflow">for</span> (j =0; j < n_times[0]; j++) {</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> </div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> check_nomsg(cpl_imagelist_set(object_list,</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> cpl_image_duplicate(cpl_imagelist_get(image_list,j)),</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> count));</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> count = count + 1;</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> }</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> check_nomsg(no=cpl_imagelist_get_size(object_list));</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> lo_cut=(floor)(cfg->lo_reject*no+0.5);</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> hi_cut=(floor)(cfg->hi_reject*no+0.5);</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> check(image=cpl_imagelist_collapse_minmax_create(object_list,</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> lo_cut,hi_cut),</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="stringliteral">"sinfo_average_with_rejection failed!"</span>);</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> </div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> sinfo_free_imagelist(&object_list);</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> </div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> cknull_nomsg(qclog_tbl = sinfo_qclog_init());</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC NAME"</span>,1,</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="stringliteral">"A description"</span>,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> </div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> ck0(sinfo_pro_save_ima(image,raw,sof,dark_name,</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> PRO_MASTER_DARK,qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="stringliteral">"cannot save ima %s"</span>, dark_name);</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> </div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> </div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> sinfo_free_image(&image);</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> </div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> time_val = sinfo_new_array_get_value(int_time, n_times[0]);</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> cknull(object_list = cpl_imagelist_new(),</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="stringliteral">"could not allocate memory"</span>);</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> count = 0;</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> </div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> </div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="keywordflow">for</span> (j = n_times[0]; j < cfg->nframes; j++) {</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> </div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> check_nomsg(cpl_imagelist_set(object_list,</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> cpl_image_duplicate(cpl_imagelist_get(image_list,j)),</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> count));</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> count = count + 1;</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> }</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> </div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> check_nomsg(no=cpl_imagelist_get_size(object_list));</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> lo_cut=(floor)(cfg->lo_reject*no+0.5);</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> hi_cut=(floor)(cfg->hi_reject*no+0.5);</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> cknull(eclipse_image=cpl_imagelist_collapse_minmax_create(object_list,</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> lo_cut,hi_cut),</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="stringliteral">"sinfo_average_with_rejection failed!"</span>);</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> </div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> sinfo_free_imagelist(&object_list);</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> </div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> </div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> cknull_nomsg(qclog_tbl = sinfo_qclog_init());</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC NAME"</span>,1,</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="stringliteral">"A description"</span>,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> </div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> ck0(sinfo_pro_save_ima(eclipse_image,raw,sof,dark_name,</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> PRO_MASTER_DARK,qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="stringliteral">"cannot save ima %s"</span>, dark_name);</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> sinfo_free_image(&eclipse_image);</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> </div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> </div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> sinfo_msg(<span class="stringliteral">"n==else\n"</span>);</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> </div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="keywordflow">for</span> (i= 0; i < n+1; i++) {</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="keywordflow">if</span> ( i == 0 ) {</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> time_val = sinfo_new_array_get_value(int_time, 0);</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> check(object_list = cpl_imagelist_new(),</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> <span class="stringliteral">"could not allocate memory"</span>);</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> </div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> count = 0;</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="keywordflow">for</span> (j = 0; j < n_times[0]; j++) {</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> check_nomsg(cpl_imagelist_set(object_list,</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> cpl_image_duplicate(cpl_imagelist_get(image_list,j)),</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> count));</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> count = count + 1;</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> }</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> check_nomsg(no=cpl_imagelist_get_size(object_list));</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> lo_cut=(floor)(cfg->lo_reject*no+0.5);</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> hi_cut=(floor)(cfg->hi_reject*no+0.5);</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> check(image=cpl_imagelist_collapse_minmax_create(object_list,</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> lo_cut,hi_cut),</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="stringliteral">"Error computing average with rejection"</span>);</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> sinfo_free_imagelist(&object_list);</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> </div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> sinfo_msg(<span class="stringliteral">"dark_name-%s\n"</span>,dark_name);</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> cknull_nomsg(qclog_tbl = sinfo_qclog_init());</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC NAME"</span>,1,</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="stringliteral">"A description"</span>,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> </div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> ck0(sinfo_pro_save_ima(image,raw,sof,dark_name,</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> PRO_MASTER_DARK,qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="stringliteral">"cannot save ima %s"</span>, dark_name);</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> </div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> </div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> sinfo_free_image(&image);</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( i == n ) {</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> time_val = sinfo_new_array_get_value(int_time, n_times[n-1]);</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> cknull(object_list = cpl_imagelist_new(), </div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="stringliteral">"could not allocate memory"</span>);</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> </div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> count = 0;</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="keywordflow">for</span> (j = n_times[n-1]; j < cfg->nframes; j++) {</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> check_nomsg(cpl_imagelist_set(object_list,</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> cpl_image_duplicate(cpl_imagelist_get(image_list,j)),</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> count));</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> count = count + 1;</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> }</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> check_nomsg(no=cpl_imagelist_get_size(object_list));</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> lo_cut=(floor)(cfg->lo_reject*no+0.5);</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> hi_cut=(floor)(cfg->hi_reject*no+0.5);</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> check(image=cpl_imagelist_collapse_minmax_create(object_list,</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> lo_cut,hi_cut),</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="stringliteral">"Error computing average with rejection"</span>);</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> </div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> sinfo_free_imagelist(&object_list);</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> </div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> cknull_nomsg(qclog_tbl = sinfo_qclog_init());</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC NAME"</span>,1,</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="stringliteral">"A description"</span>,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> </div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> ck0(sinfo_pro_save_ima(image,raw,sof,dark_name,</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> PRO_MASTER_DARK,qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <span class="stringliteral">"cannot save ima %s"</span>, dark_name);</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> sinfo_free_image(&image);</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> time_val = sinfo_new_array_get_value(int_time, n_times[i-1]);</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> cknull(object_list = cpl_imagelist_new(), </div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> <span class="stringliteral">"could not allocate memory"</span>);</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> </div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> count = 0;</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="keywordflow">for</span> (j = n_times[i-1]; j < n_times[i]; j++) {</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> check_nomsg(cpl_imagelist_set(object_list,</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> cpl_image_duplicate(cpl_imagelist_get(image_list,j)),</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> count));</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> count = count + 1;</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> }</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> check_nomsg(no=cpl_imagelist_get_size(object_list));</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> lo_cut=(floor)(cfg->lo_reject*no+0.5);</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> hi_cut=(floor)(cfg->hi_reject*no+0.5);</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> cknull(image=cpl_imagelist_collapse_minmax_create(object_list,</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> lo_cut,hi_cut),</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="stringliteral">"Error computing average with rejection"</span>);</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> </div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> sinfo_free_imagelist(&object_list);</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> </div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> cknull_nomsg(qclog_tbl = sinfo_qclog_init());</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC NAME"</span>,1,</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="stringliteral">"A description"</span>,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> </div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> ck0(sinfo_pro_save_ima(image,raw,sof,dark_name,</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> PRO_MASTER_DARK,qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="stringliteral">"cannot save ima %s"</span>, dark_name);</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> </div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> sinfo_free_image(&image);</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> }</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> </div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> } <span class="comment">/* end for loop */</span></div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> } <span class="comment">/* end else over n */</span></div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> </div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> </div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> </div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> sinfo_free_imagelist(&image_list);</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> sinfo_free_my_vector(&qc_dark_median);</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> sinfo_free_int(&n_times);</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> sinfo_free_float(&int_time);</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> sinfo_dark_free(&cfg);</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> sinfo_free_frameset(&raw);</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> </div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> </div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> cleanup:</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> sinfo_free_frameset(&f_one);</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> cpl_free(selection);</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> sinfo_free_image(&eclipse_image);</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> sinfo_free_image(&dark_img);</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> sinfo_free_image(&image);</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> sinfo_free_propertylist(&rplist);</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> sinfo_free_my_vector(&qc_dark_median);</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> sinfo_free_imagelist(&object_list);</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> sinfo_free_int(&n_times);</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> sinfo_free_float(&int_time);</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> sinfo_free_imagelist(&image_list);</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> sinfo_dark_free(&cfg);</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> sinfo_free_frameset(&raw);</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> </div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> </div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> }</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> </div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> </div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> </div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> </div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> </div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> </div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="comment">/*--------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <span class="comment">/*--------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> <span class="keyword">static</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> sinfo_dark_ron_reduce(cpl_frameset * framelist,</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> dark_config * cfg,</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> cpl_table * qclog_tbl)</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> {</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> cpl_imagelist * iset =NULL;</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> <span class="keywordtype">int</span> i =0;</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> <span class="keywordtype">double</span>* ron=NULL;</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="comment">/* int nraw=0; */</span></div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="keywordtype">int</span> niset=0;</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> <span class="keywordtype">char</span> key_name[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> </div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> cknull_nomsg(framelist);</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> </div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <span class="comment">/* Load the current set */</span></div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="keywordflow">if</span> ((iset = sinfo_new_frameset_to_iset(framelist)) == NULL) {</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"Cannot load the data"</span>) ;</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> }</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> <span class="comment">/* Loop on all pairs */</span></div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> <span class="comment">/* nraw = cpl_table_get_nrow(qclog_tbl); */</span></div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> niset=cpl_imagelist_get_size(iset);</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> </div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> ron = cpl_calloc(niset,<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> </div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> sinfo_get_ron(framelist,</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> cfg->qc_ron_xmin,cfg->qc_ron_xmax,</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> cfg->qc_ron_ymin,cfg->qc_ron_ymax,</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> cfg->qc_ron_hsize,cfg->qc_ron_nsamp,</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> &ron);</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> </div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> <span class="keywordflow">for</span> (i=0 ; i<niset-1 ; i++) {</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> </div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> <span class="comment">/* Write the paf file on disk */</span></div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> <span class="comment">/* Write QC LOG */</span></div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> </div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> snprintf(key_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d"</span>,<span class="stringliteral">"QC RON"</span>,i+1);</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> sinfo_qclog_add_double(qclog_tbl,key_name,ron[i],</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> <span class="stringliteral">"Read Out Noise"</span>,<span class="stringliteral">"%f"</span>);</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> </div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> }</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> </div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> cpl_free(ron);</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> sinfo_free_imagelist(&iset) ;</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> </div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> cleanup:</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> cpl_free(ron);</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> ron=NULL;</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> sinfo_free_imagelist(&iset) ;</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> </div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> </div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> }</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> </div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> </div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_dark_compare(</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> <span class="keyword">const</span> cpl_frame * frame1,</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> <span class="keyword">const</span> cpl_frame * frame2)</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> {</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="keywordtype">int</span> comparison=0 ;</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> cpl_propertylist * plist1=NULL;</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> cpl_propertylist * plist2=NULL;</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> </div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> <span class="keywordtype">char</span> * sval ;</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> <span class="keywordtype">char</span> mode1[512] ;</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> <span class="keywordtype">char</span> mode2[512] ;</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> <span class="keywordtype">double</span> dval1=0;</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> <span class="keywordtype">double</span> dval2=0;</div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> <span class="keywordtype">int</span> ival1=0;</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> <span class="keywordtype">int</span> ival2=0;</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> </div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> <span class="keywordflow">if</span> (frame1==NULL || frame2==NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> </div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> <span class="comment">/* Get property lists */</span></div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> cknull(plist1=cpl_propertylist_load(cpl_frame_get_filename(frame1),0),</div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> <span class="stringliteral">"getting header from reference frame"</span>);</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> </div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> cknull(plist2=cpl_propertylist_load(cpl_frame_get_filename(frame2),0),</div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> <span class="stringliteral">"getting header from reference frame"</span>);</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> </div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> <span class="comment">/* Compare exposure time */</span></div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> comparison = 1 ;</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> check(dval1=sinfo_pfits_get_exp_time(plist1),<span class="stringliteral">"To get exptime"</span>);</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> check(dval2=sinfo_pfits_get_exp_time(plist2),<span class="stringliteral">"To get exptime"</span>);</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> </div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> <span class="keywordflow">if</span> (fabs(dval1-dval2) > 1e-5) comparison = 0 ;</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> </div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> <span class="comment">/* Compare the readout mode */</span></div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> check(ival1=sinfo_pfits_get_rom(plist1),<span class="stringliteral">"to get read out mode"</span>);</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> check(ival2=sinfo_pfits_get_rom(plist2),<span class="stringliteral">"to get read out mode"</span>);</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> <span class="keywordflow">if</span> (ival1 != ival2) comparison = 0 ;</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> </div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> </div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> <span class="comment">/* Compare the detector mode */</span></div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> cknull(sval=sinfo_pfits_get_mode(plist1),<span class="stringliteral">"to get detector mode"</span>);</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> strcpy(mode1, sval) ;</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> </div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> cknull(sval=sinfo_pfits_get_mode(plist2),<span class="stringliteral">"to get detector mode"</span>);</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> strcpy(mode2, sval) ;</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> </div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> </div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> <span class="keywordflow">if</span> (strcmp(mode1, mode2)) comparison = 0 ;</div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> </div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> <span class="comment">/* Files have to be consequtive */</span></div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> <span class="comment"> check(ival1 = sinfo_pfits_get_expno(plist1),"to get exposure number");</span></div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> <span class="comment"> check(ival2 = sinfo_pfits_get_expno(plist1),"to get exposure number");</span></div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> <span class="comment"> if (ival1 != ival2) comparison = 0 ;</span></div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> sinfo_free_propertylist(&plist1);</div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> sinfo_free_propertylist(&plist2);</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> </div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> <span class="keywordflow">return</span> comparison ;</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> cleanup:</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> sinfo_free_propertylist(&plist1);</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> sinfo_free_propertylist(&plist2);</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> </div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> </div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__dark_8h_source.html b/html/sinfo__new__dark_8h_source.html
deleted file mode 100644
index 5ba13b8..0000000
--- a/html/sinfo__new__dark_8h_source.html
+++ /dev/null
@@ -1,111 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_dark.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_dark.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_NEW_DARK_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_NEW_DARK_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*****************************************************************************</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* "@(#) $Id: sinfo_new_dark.h,v 1.6 2007/06/06 07:10:45 amodigli Exp $"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* amodigli 17/09/03 created</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * sinfo_dark.h</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * routines to create a master sinfo_dark</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/*@-skipposixheaders@*/</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/*@=skipposixheaders@*/</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> * Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> @name cpl_dark()</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> @param ini_file: file name of according .ini file</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> @param cpl_parameterlist: structure containing recipe's parameters</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> @param cpl_frameset: structure containing recipe's input files</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> @result integer (0 if it worked, -1 if it doesn't) </span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> @doc Sorts frames according to integration time</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> Take the clean mean of a stack of frames with the same</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> integration time</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> sinfo_new_dark (<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id, cpl_parameterlist* config, </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> cpl_frameset* <span class="keyword">set</span>, <span class="keywordtype">char</span>* dark_name);</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#endif </span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__find__distortions_8c_source.html b/html/sinfo__new__find__distortions_8c_source.html
deleted file mode 100644
index 4d07e3d..0000000
--- a/html/sinfo__new__find__distortions_8c_source.html
+++ /dev/null
@@ -1,797 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_find_distortions.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_find_distortions.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"></span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_find_distortions.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : A. Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Aug 12, 2004</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description :</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span><span class="preprocessor">#include <sinfo_cpl_size.h></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_new_find_distortions.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_pro_save.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_finddist_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_wave_calibration.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_cube_construct.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_absolute.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_distortion.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_utilities.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "sinfo_recipes.h"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#define SINFO_ARC_SATURATION 100000</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_ARC_MAX_WIDTH 64</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> Function Definitions</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> Function : sinfo_find_distortions()</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> In :</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> Out :</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> Job :</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"></span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> new_compute_shift(<span class="keywordtype">double</span> x,</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">double</span> y,</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">double</span> c00,</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">double</span> c10,</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">double</span> c01,</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">double</span> c11,</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">double</span> c20,</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keywordtype">double</span> c02,</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keywordtype">double</span> c21,</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">double</span> c12,</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">double</span> c30,</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">double</span> c03);</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> sinfo_new_find_distortions(<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id,</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> cpl_parameterlist* config,</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> cpl_frameset* sof,</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> cpl_frameset* set_fibre_ns)</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> {</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> finddist_config * cfg=NULL ;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> cpl_image * imonind=NULL ;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> cpl_image * impoly=NULL ;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> cpl_image * im=NULL ;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> cpl_image * map=NULL ;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> cpl_image * mask=NULL ;</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">int</span>* degx=NULL;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">int</span>* degy=NULL;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">int</span>* n_found_lines=NULL;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordtype">int</span>* sum_pointer=NULL;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">int</span>** row_clean=NULL;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keywordtype">int</span> pdensity=0;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keywordtype">int</span> x_l=SIZEX/4*1;</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordtype">int</span> x_u=SIZEX/4*3;</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">int</span> y_l=SIZEY/4*1;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">int</span> y_u=SIZEY/4*3;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">int</span> x_c=SIZEX/4*2;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">int</span> y_c=SIZEY/4*2;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keyword">const</span> <span class="keywordtype">int</span> pdx=4;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keyword">const</span> <span class="keywordtype">int</span> pdy=4;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">int</span> check = 0;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">int</span> i = 0;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">int</span> lx=0;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">int</span> ly=0;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordtype">int</span> sum=0;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keywordtype">int</span> n_lines=0;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">int</span> fit=0;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordtype">int</span> n=0;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> cpl_size coef_pow[2];</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordtype">int</span> arcs_window_size=0;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keywordtype">float</span> value=0;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordtype">float</span> newval=0;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordtype">float</span> total_dist=0;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordtype">float</span> shift=0;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordtype">float</span>* distances=NULL;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordtype">float</span>** wavelength_clean=NULL;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">float</span>** slit_pos=NULL;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordtype">float</span>** acoefs=NULL;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordtype">float</span>* wave=NULL;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordtype">float</span>* intens=NULL;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordtype">float</span>* first =NULL;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordtype">double</span>* coef=NULL;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordtype">double</span> xshift=0.;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordtype">double</span> arcs_thres_factor=0;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keywordtype">double</span> arcs_min_arclen_factor=0;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keywordtype">double</span> pcf[pdx][pdy];</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordtype">char</span> tbl_name[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordtype">char</span> key_name[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> cpl_table* poly_tbl=NULL;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> cpl_table* tbl_spos=NULL;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> cpl_table* tbl_line_list=NULL;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> FitParams** par=NULL;</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> cpl_frameset* stk=NULL;</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> cpl_table* qclog_tbl=NULL;</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> cpl_polynomial* distor_poly=NULL;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> cpl_apertures * arcs=NULL ;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> cpl_parameter* p=NULL;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keywordtype">int</span> smooth_rad=0;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> check_nomsg(p=cpl_parameterlist_find(config,<span class="stringliteral">"sinfoni.product.density"</span>));</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> check_nomsg(pdensity=cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment"> parse the file names and parameters to the finddist_config</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment"> data structure cfg</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> check_nomsg(stk=cpl_frameset_new());</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> cknull(cfg = sinfo_parse_cpl_input_finddist(config,sof,&stk),</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="stringliteral">"could not parse CPL input!"</span>);</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="keywordflow">if</span>(sinfo_is_fits_file (cfg->inFrame) != 1) {</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Input file %s is not FITS"</span>,cfg->inFrame);</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> }</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment">/* load the emission line frame--- */</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> check(im = cpl_image_load(cfg->inFrame,CPL_TYPE_FLOAT,0,0),</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="stringliteral">"could not load arc image"</span>);</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment">/* load the fake on - fake off frame--- */</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> check(imonind = cpl_image_load(cfg->nsFrame,CPL_TYPE_FLOAT,0,0),</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="stringliteral">"could not load on-off fake image"</span>);</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> check(impoly = cpl_image_load(cfg->nsFrame,CPL_TYPE_FLOAT,0,0),</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="stringliteral">"could not load on-off fake image"</span>);</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment">/* load the fake on - fake off frame--- */</span></div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> check(mask = cpl_image_load(cfg->mask,CPL_TYPE_FLOAT,0,0),</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="stringliteral">"could not load mask image"</span>);</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> check(cpl_image_multiply (im,mask),</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="stringliteral">"Failing to correct arc ima by bp mask"</span>);</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> check(cpl_image_multiply (imonind,mask),</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="stringliteral">"Failing to correct on-off fake ima by bp mask"</span>);</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> check(cpl_image_multiply(impoly,mask),</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="stringliteral">"Failing to correct on-off fake ima by bp mask"</span>);</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> sinfo_free_image(&mask);</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> check_nomsg(lx = cpl_image_get_size_x(im));</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> check_nomsg(ly = cpl_image_get_size_y(im));</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="comment">/* TO BE CHENGED THE FOLLOWING INPUT */</span></div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="comment">/* open the line list and read the number of lines */</span></div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> check(tbl_line_list = cpl_table_load(cfg->lineList,1,0),</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="stringliteral">"problems loading table %s"</span>,cfg->lineList);</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> check_nomsg(n_lines = cpl_table_get_nrow(tbl_line_list));</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> check_nomsg(wave=cpl_table_get_data_float(tbl_line_list,<span class="stringliteral">"wave"</span>));</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> check_nomsg(intens = cpl_table_get_data_float(tbl_line_list,<span class="stringliteral">"int"</span>));</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="comment"> #---------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="comment"> #---------------------------FINDLINES---------------------------------</span></div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="comment"> #---------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> sinfo_msg(<span class="stringliteral">"Find Lines"</span>);</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="comment"> do the wavelength calibration, that means:</span></div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="comment"> find the dispersion relation and parameterize its coefficients</span></div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> acoefs = sinfo_new_2Dfloatarray(cfg->nrDispCoefficients, lx);</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> n_found_lines = sinfo_new_intarray(lx);</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> row_clean = sinfo_new_2Dintarray(lx, n_lines);</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> wavelength_clean = sinfo_new_2Dfloatarray(lx, n_lines);</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> sum_pointer = sinfo_new_intarray(1);</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="comment">/* find the emission lines in each image column */</span></div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> sinfo_new_intarray_set_value(sum_pointer, 0, 0);</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> ck0(check = sinfo_new_find_lines(im,</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> wave,</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> intens,</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> n_lines,</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> row_clean,</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> wavelength_clean,</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> cfg->guessBeginWavelength,</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> cfg->guessDispersion1,</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> cfg->guessDispersion2,</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> cfg->mindiff,</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> cfg->halfWidth,</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> n_found_lines,</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> cfg->sigma,</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> sum_pointer ),</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="stringliteral">"FindLines failed!"</span>);</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> sinfo_free_table(&tbl_line_list);</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="comment"> #-------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="comment"> #---------------------------WAVECALIB-------------------------------------</span></div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="comment"> #-------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> sinfo_msg(<span class="stringliteral">"Do wave calib"</span>);</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> sum = sinfo_new_intarray_get_value(sum_pointer,0);</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="comment">/* #allocate memory for the fit parameters */</span></div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> cknull(par = sinfo_new_fit_params( sum ),</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="stringliteral">"sinfo_new_fit_params failed!"</span>);</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="comment"> fit each line, make a polynomial fit and fit the resulting fit</span></div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="comment"> coefficients across the columns of the slitlet</span></div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> cknull(map = sinfo_new_wave_cal(im,</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> par,</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> acoefs,</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> cfg->nslitlets,</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> row_clean,</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> wavelength_clean,</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> n_found_lines,</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> cfg->guessDispersion1,</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> cfg->halfWidth,</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> cfg->minAmplitude,</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> cfg->maxResidual,</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> cfg->fwhm,</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> cfg->nrDispCoefficients,</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> cfg->nrCoefCoefficients,</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> cfg->sigmaFactor,</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> cfg->pixeldist,</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> cfg->pixel_tolerance),</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="stringliteral">"sinfo_waveCal failed!"</span>);</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="comment">/* here mem leak */</span></div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> sinfo_msg(<span class="stringliteral">"Check line positions"</span>);</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> shift = sinfo_new_check_line_positions (im, acoefs,</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> cfg->nrDispCoefficients,</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> cfg->guessDispersion1,par);</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="keywordflow">if</span> (FLAG == shift) {</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> ( <span class="stringliteral">"checkForLinePositions failed!"</span>);</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> }</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> sinfo_free_image(&map);</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="comment">/* free memory */</span></div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> sinfo_new_destroy_2Dfloatarray ( &wavelength_clean, lx );</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> sinfo_new_destroy_2Dintarray (&row_clean, lx);</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> sinfo_new_destroy_intarray(&n_found_lines );</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> sinfo_new_destroy_intarray(&sum_pointer );</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> sinfo_new_destroy_2Dfloatarray ( &acoefs, cfg->nrDispCoefficients );</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="comment"> sinfo_new_destroy_array (& wave );</span></div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="comment"> sinfo_new_destroy_array (& intens );</span></div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="comment"> #----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="comment"> #-------------------------SLITFITS-------------------------------------------</span></div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="comment"> #----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="comment"> #--fit the slitlet sinfo_edge positions if desired--</span></div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> sinfo_msg(<span class="stringliteral">"Find slit pos"</span>);</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="comment">/*allocate memory for the slitlet position array */</span></div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> slit_pos = sinfo_new_2Dfloatarray(32,2);</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> fit = <a class="code" href="group__sinfo__boltzmann.html#gab3549f7bb876fb4091ba3c0bd64d267d" title="fits the beginning and end position of the slitlets by using non-linear least square fitting of a Bol...">sinfo_new_fit_slits_boltz</a>( im, par, slit_pos, cfg->boxLength,</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> cfg->yBox, cfg->diffTol );</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> </div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> </div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="keywordflow">if</span> (fit < 0) {</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"sinfo_fitSlitsBoltz failed"</span> );</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> }</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> sinfo_new_destroy_fit_params(&par);</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> check_nomsg(tbl_spos=cpl_table_new(32));</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> check_nomsg(cpl_table_new_column(tbl_spos,<span class="stringliteral">"pos1"</span>, CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> check_nomsg(cpl_table_new_column(tbl_spos,<span class="stringliteral">"pos2"</span>, CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> check_nomsg(cpl_table_set_column_format(tbl_spos,<span class="stringliteral">"pos1"</span>, <span class="stringliteral">"15.9f"</span>));</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> check_nomsg(cpl_table_set_column_format(tbl_spos,<span class="stringliteral">"pos2"</span>, <span class="stringliteral">"15.9f"</span>));</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> </div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="keywordflow">for</span> (i =0; i< 32; i++) {</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> check_nomsg(cpl_table_set_double(tbl_spos,<span class="stringliteral">"pos1"</span>,i,</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> sinfo_new_array2D_get_value(slit_pos,i,0)));</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> check_nomsg(cpl_table_set_double(tbl_spos,<span class="stringliteral">"pos2"</span>,i,</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> sinfo_new_array2D_get_value(slit_pos,i,1)));</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> }</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="keywordflow">if</span>(pdensity > 2) {</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> strcpy(tbl_name,<span class="stringliteral">"out_slitlets_pos_predist.fits"</span>);</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> ck0(sinfo_pro_save_tbl(tbl_spos,set_fibre_ns,sof,tbl_name,</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> PRO_SLITLETS_POS_PREDIST,NULL,plugin_id,config),</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="stringliteral">"cannot save tbl %s"</span>, tbl_name);</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> }</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> sinfo_free_table(&tbl_spos);</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="comment"> # do the north - south - test</span></div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> sinfo_msg(<span class="stringliteral">"Do north south test"</span>);</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="comment"> sinfo_msg("cfg->nslits =%d\n", cfg->nslits);</span></div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="comment"> sinfo_msg("cfg->nshalfWidth =%d\n", cfg->nshalfWidth);</span></div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="comment"> sinfo_msg("cfg->nsfwhm=%f\n",cfg->nsfwhm );</span></div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="comment"> sinfo_msg("cfg->minDiff=%f\n", cfg->minDiff);</span></div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="comment"> sinfo_msg("cfg->estimated_dist=%f\n", cfg->estimated_dist);</span></div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="comment"> sinfo_msg("cfg->devtol=%f\n", cfg->devtol);</span></div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="comment"> sinfo_msg("cfg->loPos=%d\n", cfg->loPos);</span></div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="comment"> sinfo_msg("cfg->hiPos=%d\n",cfg->hiPos);</span></div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> cknull(distances = sinfo_north_south_test(imonind,</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> cfg->nslits,</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> cfg->nshalfWidth,</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> cfg->nsfwhm ,</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> cfg->minDiff,</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> cfg->estimated_dist,</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> cfg->devtol,</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> cfg->loPos,</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> cfg->hiPos),</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="stringliteral">"north_south_test failed"</span>);</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> sinfo_free_image(&imonind);</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> </div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="comment"> # get firstcol</span></div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> sinfo_msg(<span class="stringliteral">"get first col"</span>);</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> first = sinfo_new_floatarray(61);</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> total_dist=0;</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> n=0;</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> </div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="keywordflow">for</span> (i=0; i< 31; i++) {</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> total_dist=total_dist+sinfo_new_array_get_value(distances,i);</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> </div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="keywordflow">for</span> (j=0; j< 2; j++) {</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="keywordflow">if</span> (j == 0) {</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="keywordflow">if</span> (i != 30) {</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> newval = sinfo_new_array2D_get_value(slit_pos,i+1,j) - total_dist;</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> sinfo_new_array_set_value(first, newval, n);</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> n = n+1;</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> }</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> }</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="keywordflow">if</span> (j == 1) {</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> newval = sinfo_new_array2D_get_value(slit_pos,i,j) - total_dist;</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> sinfo_new_array_set_value(first, newval, n);</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> n = n+1;</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> }</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> }</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> }</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> value = sinfo_new_f_median(first,61);</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> sinfo_msg(<span class="stringliteral">"Firstcol =%f"</span>, value);</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> sinfo_new_destroy_array(&first);</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> sinfo_new_destroy_array(&distances);</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> sinfo_new_destroy_2Dfloatarray ( &slit_pos, 32 );</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="comment"> # Determine distortions</span></div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> sinfo_msg(<span class="stringliteral">"Determine distortions"</span>);</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> degx=cpl_calloc(8,<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>));</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> degy=cpl_calloc(8,<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>));</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> coef=cpl_calloc(8,<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> </div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="stringliteral">"sinfoni.distortion.arcs_thresh_factor"</span>));</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> check_nomsg(arcs_thres_factor=cpl_parameter_get_double(p));</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> </div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="stringliteral">"sinfoni.distortion.arcs_min_arclen_factor"</span>));</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> check_nomsg(arcs_min_arclen_factor=cpl_parameter_get_double(p));</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> </div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="stringliteral">"sinfoni.distortion.arcs_window_size"</span>));</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> check_nomsg(arcs_window_size=cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> </div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="stringliteral">"sinfoni.distortion.smooth_rad"</span>));</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> check_nomsg(smooth_rad=cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> </div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> </div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> cknull(distor_poly=sinfo_distortion_estimate_new(impoly,</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> 0,</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> 0,</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> cpl_image_get_size_x(impoly),</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> cpl_image_get_size_y(impoly),</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> FALSE,</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> SINFO_ARC_SATURATION,</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> SINFO_ARC_MAX_WIDTH,</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> arcs_thres_factor,</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> arcs_min_arclen_factor,</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> arcs_window_size,</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> smooth_rad,</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> 3,</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> (<span class="keywordtype">double</span>)value,</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> &arcs),</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="stringliteral">"cannot estimage distortion"</span>) ;</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="comment">/*AMo: additional mem leaks */</span></div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> </div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> sinfo_free_apertures(&arcs);</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> coef_pow[0]=0;</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> coef_pow[1]=0;</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> check_nomsg(pcf[0][0]=cpl_polynomial_get_coeff(distor_poly,coef_pow));</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> sinfo_msg(<span class="stringliteral">"Polynomial fit results: coeff[%d][%d]=%g"</span>,0,0,pcf[0][0]);</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="comment"> pcf[0][0]+=value;</span></div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> sinfo_msg(<span class="stringliteral">"Polynomial fit results: coeff[%d][%d]=%g"</span>,0,0,pcf[0][0]);</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> check_nomsg(cpl_polynomial_set_coeff(distor_poly,coef_pow,pcf[0][0]));</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> </div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="comment">/* up to here ok */</span></div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="comment">/* To check mem leaks */</span></div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> sinfo_free_image(&impoly);</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> </div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="comment">//sinfo_msg("Polynomial fit results: deg=%d",</span></div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="comment">// cpl_polynomial_get_degree(distor_poly));</span></div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> </div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> </div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> coef_pow[0]=0;</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> coef_pow[1]=0;</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> check_nomsg(pcf[0][0]=cpl_polynomial_get_coeff(distor_poly,coef_pow));</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <span class="comment">//sinfo_msg("Polynomial fit results: coeff[%d][%d]=%g",0,0,pcf[0][0]);</span></div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> </div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> coef_pow[0]=1;</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> coef_pow[1]=0;</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> check_nomsg(pcf[1][0]=cpl_polynomial_get_coeff(distor_poly,coef_pow));</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="comment">//sinfo_msg("Polynomial fit results: coeff[%d][%d]=%g",1,0,pcf[1][0]);</span></div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> </div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> coef_pow[0]=0;</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> coef_pow[1]=1;</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> check_nomsg(pcf[0][1]=cpl_polynomial_get_coeff(distor_poly,coef_pow));</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> <span class="comment">//sinfo_msg("Polynomial fit results: coeff[%d][%d]=%g",0,1,pcf[0][1]);</span></div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> </div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> coef_pow[0]=1;</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> coef_pow[1]=1;</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> check_nomsg(pcf[1][1]=cpl_polynomial_get_coeff(distor_poly,coef_pow));</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="comment">//sinfo_msg("Polynomial fit results: coeff[%d][%d]=%g",1,1,pcf[1][1]);</span></div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> </div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> coef_pow[0]=2;</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> coef_pow[1]=0;</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> check_nomsg(pcf[2][0]=cpl_polynomial_get_coeff(distor_poly,coef_pow));</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> <span class="comment">//sinfo_msg("Polynomial fit results: coeff[%d][%d]=%g",2,0,pcf[2][0]);</span></div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> </div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> coef_pow[0]=0;</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> coef_pow[1]=2;</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> check_nomsg(pcf[0][2]=cpl_polynomial_get_coeff(distor_poly,coef_pow));</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> <span class="comment">//sinfo_msg("Polynomial fit results: coeff[%d][%d]=%g",0,2,pcf[0][2]);</span></div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> </div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> coef_pow[0]=2;</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> coef_pow[1]=1;</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> check_nomsg(pcf[2][1]=cpl_polynomial_get_coeff(distor_poly,coef_pow));</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> <span class="comment">//sinfo_msg("Polynomial fit results: coeff[%d][%d]=%g",2,1,pcf[2][1]);</span></div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> </div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> coef_pow[0]=1;</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> coef_pow[1]=2;</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> check_nomsg(pcf[1][2]=cpl_polynomial_get_coeff(distor_poly,coef_pow));</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="comment">//sinfo_msg("Polynomial fit results: coeff[%d][%d]=%g",1,2,pcf[1][2]);</span></div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> </div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> coef_pow[0]=3;</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> coef_pow[1]=0;</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> check_nomsg(pcf[3][0]=cpl_polynomial_get_coeff(distor_poly,coef_pow));</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="comment">//sinfo_msg("Polynomial fit results: coeff[%d][%d]=%g",3,0,pcf[3][0]);</span></div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> </div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> coef_pow[0]=0;</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> coef_pow[1]=3;</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> check_nomsg(pcf[0][3]=cpl_polynomial_get_coeff(distor_poly,coef_pow));</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="comment">//sinfo_msg("Polynomial fit results: coeff[%d][%d]=%g",0,3,pcf[0][3]);</span></div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> </div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> sinfo_msg(<span class="stringliteral">"Save results"</span>);</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> </div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> check_nomsg(poly_tbl=cpl_table_new(10));</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> check_nomsg(cpl_table_new_column(poly_tbl,<span class="stringliteral">"degx"</span>, CPL_TYPE_INT));</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> check_nomsg(cpl_table_new_column(poly_tbl,<span class="stringliteral">"degy"</span>, CPL_TYPE_INT));</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> check_nomsg(cpl_table_new_column(poly_tbl,<span class="stringliteral">"coeff"</span>, CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> check_nomsg(cpl_table_set_int(poly_tbl,<span class="stringliteral">"degx"</span>,0,0));</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> check_nomsg(cpl_table_set_int(poly_tbl,<span class="stringliteral">"degx"</span>,1,1));</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> check_nomsg(cpl_table_set_int(poly_tbl,<span class="stringliteral">"degx"</span>,2,0));</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> check_nomsg(cpl_table_set_int(poly_tbl,<span class="stringliteral">"degx"</span>,3,1));</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> check_nomsg(cpl_table_set_int(poly_tbl,<span class="stringliteral">"degx"</span>,4,2));</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> check_nomsg(cpl_table_set_int(poly_tbl,<span class="stringliteral">"degx"</span>,5,0));</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> check_nomsg(cpl_table_set_int(poly_tbl,<span class="stringliteral">"degx"</span>,6,2));</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> check_nomsg(cpl_table_set_int(poly_tbl,<span class="stringliteral">"degx"</span>,7,1));</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> check_nomsg(cpl_table_set_int(poly_tbl,<span class="stringliteral">"degx"</span>,8,3));</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> check_nomsg(cpl_table_set_int(poly_tbl,<span class="stringliteral">"degx"</span>,9,0));</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> </div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> check_nomsg(cpl_table_set_int(poly_tbl,<span class="stringliteral">"degy"</span>,0,0));</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> check_nomsg(cpl_table_set_int(poly_tbl,<span class="stringliteral">"degy"</span>,1,0));</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> check_nomsg(cpl_table_set_int(poly_tbl,<span class="stringliteral">"degy"</span>,2,1));</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> check_nomsg(cpl_table_set_int(poly_tbl,<span class="stringliteral">"degy"</span>,3,1));</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> check_nomsg(cpl_table_set_int(poly_tbl,<span class="stringliteral">"degy"</span>,4,0));</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> check_nomsg(cpl_table_set_int(poly_tbl,<span class="stringliteral">"degy"</span>,5,2));</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> check_nomsg(cpl_table_set_int(poly_tbl,<span class="stringliteral">"degy"</span>,6,1));</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> check_nomsg(cpl_table_set_int(poly_tbl,<span class="stringliteral">"degy"</span>,7,2));</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> check_nomsg(cpl_table_set_int(poly_tbl,<span class="stringliteral">"degy"</span>,8,0));</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> check_nomsg(cpl_table_set_int(poly_tbl,<span class="stringliteral">"degy"</span>,9,3));</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> </div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> check_nomsg(cpl_table_set_double(poly_tbl,<span class="stringliteral">"coeff"</span>,0,pcf[0][0]));</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> check_nomsg(cpl_table_set_double(poly_tbl,<span class="stringliteral">"coeff"</span>,1,pcf[1][0]));</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> check_nomsg(cpl_table_set_double(poly_tbl,<span class="stringliteral">"coeff"</span>,2,pcf[0][1]));</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> check_nomsg(cpl_table_set_double(poly_tbl,<span class="stringliteral">"coeff"</span>,3,pcf[1][1]));</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> check_nomsg(cpl_table_set_double(poly_tbl,<span class="stringliteral">"coeff"</span>,4,pcf[2][0]));</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> check_nomsg(cpl_table_set_double(poly_tbl,<span class="stringliteral">"coeff"</span>,5,pcf[0][2]));</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> check_nomsg(cpl_table_set_double(poly_tbl,<span class="stringliteral">"coeff"</span>,6,pcf[2][1]));</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> check_nomsg(cpl_table_set_double(poly_tbl,<span class="stringliteral">"coeff"</span>,7,pcf[1][2]));</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> check_nomsg(cpl_table_set_double(poly_tbl,<span class="stringliteral">"coeff"</span>,8,pcf[3][0]));</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> check_nomsg(cpl_table_set_double(poly_tbl,<span class="stringliteral">"coeff"</span>,9,pcf[0][3]));</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> </div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <span class="comment">//sinfo_msg("Polynomial distortion coefficients \n");</span></div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> <span class="comment">//sinfo_msg("c= %g %g %g %g %g %g %g %g %g %g\n",</span></div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <span class="comment">// pcf[0][0],pcf[1][0],pcf[0][1],pcf[1][1],</span></div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> <span class="comment">// pcf[2][0],pcf[0][2],pcf[2][1],pcf[1][2],pcf[3][0],pcf[0][3]);</span></div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> </div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> <span class="comment">/* QC LOG */</span></div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> check_nomsg(qclog_tbl = sinfo_qclog_init());</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> snprintf(key_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%d"</span>,<span class="stringliteral">"QC COEFF"</span>,0,0);</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,key_name,pcf[0][0],</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> <span class="stringliteral">"Polynomial distortion coefficient"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> </div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> snprintf(key_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%d"</span>,<span class="stringliteral">"QC COEFF"</span>,1,0);</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,key_name,pcf[1][0],</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="stringliteral">"Polynomial distortion coefficient"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> </div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> snprintf(key_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%d"</span>,<span class="stringliteral">"QC COEFF"</span>,0,1);</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,key_name,pcf[0][1],</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="stringliteral">"Polynomial distortion coefficient"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> </div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> snprintf(key_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%d"</span>,<span class="stringliteral">"QC COEFF"</span>,1,1);</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,key_name,pcf[1][1],</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> <span class="stringliteral">"Polynomial distortion coefficient"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> </div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> snprintf(key_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%d"</span>,<span class="stringliteral">"QC COEFF"</span>,2,0);</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,key_name,pcf[2][0],</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="stringliteral">"Polynomial distortion coefficient"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> </div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> snprintf(key_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%d"</span>,<span class="stringliteral">"QC COEFF"</span>,0,2);</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,key_name,pcf[0][2],</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="stringliteral">"Polynomial distortion coefficient"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> </div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> snprintf(key_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%d"</span>,<span class="stringliteral">"QC COEFF"</span>,2,1);</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,key_name,pcf[2][1],</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="stringliteral">"Polynomial distortion coefficient"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> </div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> snprintf(key_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%d"</span>,<span class="stringliteral">"QC COEFF"</span>,1,2);</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,key_name,pcf[1][2],</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> <span class="stringliteral">"Polynomial distortion coefficient"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> </div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> snprintf(key_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%d"</span>,<span class="stringliteral">"QC COEFF"</span>,3,0);</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,key_name,pcf[3][0],</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> <span class="stringliteral">"Polynomial distortion coefficient"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> </div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> snprintf(key_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%d"</span>,<span class="stringliteral">"QC COEFF"</span>,0,3);</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,key_name,pcf[0][3],</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> <span class="stringliteral">"Polynomial distortion coefficient"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> </div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> snprintf(key_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s"</span>,<span class="stringliteral">"QC OFFSET"</span>);</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,key_name,value,</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> <span class="stringliteral">"Polynomial distortion coefficient"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> </div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> xshift=new_compute_shift(x_c,y_c,pcf[0][0],pcf[1][0],pcf[0][1],</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> pcf[1][1],pcf[2][0],pcf[0][2],</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> pcf[2][1],pcf[1][2],pcf[3][0],pcf[0][3]);</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> </div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC XSHIFT CC"</span>,xshift,</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="stringliteral">"X shift in x_c,y_c"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> </div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> </div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> xshift=new_compute_shift(x_l,y_l,pcf[0][0],pcf[1][0],pcf[0][1],</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> pcf[1][1],pcf[2][0],pcf[0][2],</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> pcf[2][1],pcf[1][2],pcf[3][0],pcf[0][3]);</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> </div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC XSHIFT LL"</span>,xshift,</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> <span class="stringliteral">"X shift in x_l,y_l"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> </div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> xshift=new_compute_shift(x_l,y_u,pcf[0][0],pcf[1][0],pcf[0][1],</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> pcf[1][1],pcf[2][0],pcf[0][2],</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> pcf[2][1],pcf[1][2],pcf[3][0],pcf[0][3]);</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> </div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC XSHIFT UL"</span>,xshift,</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> <span class="stringliteral">"X shift in x_l,y_u"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> </div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> xshift=new_compute_shift(x_u,y_u,pcf[0][0],pcf[1][0],pcf[0][1],</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> pcf[1][1],pcf[2][0],pcf[0][2],</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> pcf[2][1],pcf[1][2],pcf[3][0],pcf[0][3]);</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> </div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC XSHIFT UR"</span>,xshift,</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> <span class="stringliteral">"X shift in x_u,y_u"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> </div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> </div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> xshift=new_compute_shift(x_u,y_l,pcf[0][0],pcf[1][0],pcf[0][1],</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> pcf[1][1],pcf[2][0],pcf[0][2],</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> pcf[2][1],pcf[1][2],pcf[3][0],pcf[0][3]);</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> </div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC XSHIFT LR"</span>,xshift,</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> <span class="stringliteral">"X shift in x_u,y_l"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> </div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> </div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> ck0(sinfo_pro_save_tbl(poly_tbl,set_fibre_ns,sof,cfg->outName,</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> PRO_DISTORTION,qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> <span class="stringliteral">"cannot dump tbl %s"</span>, cfg->outName);</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> </div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> sinfo_free_table(&poly_tbl);</div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> sinfo_free_polynomial(&distor_poly);</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> sinfo_free_int(°x);</div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> sinfo_free_int(°y);</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> sinfo_free_double(&coef);</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> sinfo_free_image(&im);</div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> sinfo_free_frameset(&stk);</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> sinfo_finddist_free (&cfg);</div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> </div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> </div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> cleanup:</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> sinfo_free_table(&poly_tbl);</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> sinfo_free_polynomial(&distor_poly);</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> sinfo_free_int(°x);</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> sinfo_free_int(°y);</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> sinfo_free_double(&coef);</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> sinfo_free_apertures(&arcs);</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> </div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> </div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> </div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> <span class="comment">/*if(wave != NULL) sinfo_new_destroy_array (& wave );*/</span></div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> <span class="comment">/*if(intens != NULL) sinfo_new_destroy_array (& intens );*/</span></div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> <span class="keywordflow">if</span>(first != NULL) sinfo_new_destroy_array(&first);</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> sinfo_free_table(&tbl_spos);</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> <span class="keywordflow">if</span>(slit_pos != NULL) sinfo_new_destroy_2Dfloatarray (&slit_pos,32);</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> <span class="keywordflow">if</span>(distances != NULL) sinfo_new_destroy_array(&distances);</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> <span class="keywordflow">if</span>(par!=NULL) sinfo_new_destroy_fit_params(&par);</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <span class="keywordflow">if</span>(n_found_lines != NULL) sinfo_new_destroy_intarray(&n_found_lines );</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> <span class="keywordflow">if</span>(row_clean != NULL) sinfo_new_destroy_2Dintarray(&row_clean, lx);</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> <span class="keywordflow">if</span>(wavelength_clean != NULL) {</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> sinfo_new_destroy_2Dfloatarray(&wavelength_clean,lx);</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> }</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> <span class="keywordflow">if</span>(sum_pointer != NULL) sinfo_new_destroy_intarray(&sum_pointer);</div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> <span class="keywordflow">if</span>(acoefs != NULL) {</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> sinfo_new_destroy_2Dfloatarray(&acoefs, cfg->nrDispCoefficients );</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> }</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> sinfo_free_table(&tbl_line_list);</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> sinfo_free_image(&mask);</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> sinfo_free_image(&impoly);</div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> sinfo_free_image(&imonind);</div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> sinfo_free_image(&map);</div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> sinfo_free_image(&im);</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> sinfo_finddist_free (&cfg);</div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> sinfo_free_frameset(&stk);</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> </div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> }</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> </div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> </div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> new_compute_shift(<span class="keywordtype">double</span> x,</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> <span class="keywordtype">double</span> y,</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> <span class="keywordtype">double</span> c00,</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> <span class="keywordtype">double</span> c10,</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> <span class="keywordtype">double</span> c01,</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> <span class="keywordtype">double</span> c11,</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> <span class="keywordtype">double</span> c20,</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> <span class="keywordtype">double</span> c02,</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> <span class="keywordtype">double</span> c21,</div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> <span class="keywordtype">double</span> c12,</div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> <span class="keywordtype">double</span> c30,</div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> <span class="keywordtype">double</span> c03)</div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> {</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> </div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> <span class="keywordtype">double</span> x_shift=0;</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> <span class="keywordtype">double</span> shift=0;</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> <span class="comment">//sinfo_msg("c= %g %g %g %g %g %g %g %g %g %g\n",</span></div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> <span class="comment">// c00,c10,c01,c11,</span></div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <span class="comment">// c20,c02,c21,c12,c30,c03);</span></div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> </div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> shift=c00+c10*x+c01*y+</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> c11*x*y+c20*x*x+c02*y*y+</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> c21*x*x*y+c12*x*y*y+c30*x*x*x+c03*y*y*y;</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> x_shift=x-shift;</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> <span class="keywordflow">return</span> x_shift;</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> </div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> </div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> </div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__find__distortions_8h_source.html b/html/sinfo__new__find__distortions_8h_source.html
deleted file mode 100644
index 5d33c21..0000000
--- a/html/sinfo__new__find__distortions_8h_source.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_find_distortions.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_find_distortions.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_NEW_FIND_DISTORTIONS_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_NEW_FIND_DISTORTIONS_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/****************************************************************************</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* "@(#) $Id: sinfo_new_find_distortions.h,v 1.9 2007/09/14 14:40:04 amodigli Exp $"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* amodigli 12/08/04 created</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * sinfo_find_distortions.h</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> * Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> Function : sinfo_find_distortions()</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> In : </span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> Out : </span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> Job :</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> sinfo_new_find_distortions (<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id,</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> cpl_parameterlist* config, </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> cpl_frameset* sof,</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> cpl_frameset* set_fibre_ns) ;</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#endif </span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__lamp__flats_8c_source.html b/html/sinfo__new__lamp__flats_8c_source.html
deleted file mode 100644
index bae7527..0000000
--- a/html/sinfo__new__lamp__flats_8c_source.html
+++ /dev/null
@@ -1,1048 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_lamp_flats.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_lamp_flats.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_new_lamp_flats.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : A. Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Sep 29, 2003</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : </span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * this step handles stacks of lamp flat fields, </span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * o it takes a clean mean,</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * o subtracts the off- from the on-frames, </span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> * o corrects for static bad pixels and normalizes for a master flat field. </span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> * o It distinguishes the spectrally dithered frames and </span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> * o treats them the same way. </span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * o It can also generate a static bad pixel mask if wished.</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_new_lamp_flats.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "sinfo_flat_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include "sinfo_pro_save.h"</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include "sinfo_new_cube_ops.h"</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#include "sinfo_image_ops.h"</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include "sinfo_utilities.h"</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">static</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> new_qc_get_cnt(cpl_frameset* on_set, cpl_frameset* of_set, flat_config* cfg);</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">static</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> new_lamp_flats_det_ncounts(cpl_frameset* raw, flat_config* config);</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keyword">static</span> <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">double</span> avg_on; </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keywordtype">double</span> std_on;</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">double</span> avg_of; </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">double</span> std_of;</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">double</span> avg_di; </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keywordtype">double</span> std_di;</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">double</span> nsat_on;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">double</span> noise_on;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">double</span> noise_of;</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">double</span> flux_on;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">double</span> nsat;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> } qc_lampflat;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"> Function Definitions</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"> @name sinfo_new_lamp_flats()</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> @param plugin_id recipe id</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"> @param config input parameterlist</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> @param sof input set of frames</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> @return integer (0 if it worked, -1 if it doesn't) </span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"> @doc </span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment"></span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment"> * this step handles stacks of lamp flat fields, </span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"> * o it takes a clean mean,</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"> * o subtracts the off- from the on-frames, </span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment"> * o corrects for static bad pixels and normalizes for a master flat field. </span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"> * o It distinguishes the spectrally dithered frames and </span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"> * o treats them the same way. </span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment"> * o It can also generate a static bad pixel mask if wished.</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment"></span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment"></span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> sinfo_new_lamp_flats (<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id, </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> cpl_parameterlist* config, </div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> cpl_frameset* sof,</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> cpl_frameset* ref_set)</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> {</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> flat_config * cfg =NULL;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> cpl_imagelist* list_object=NULL;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> cpl_imagelist* list_dither_object=NULL ;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> cpl_imagelist* list_sky=NULL ;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> cpl_imagelist* list_dither_sky=NULL;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> cpl_image ** im=NULL ;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> cpl_image * norm_dith =NULL;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> cpl_image * im_obj =NULL;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> cpl_image * int_im =NULL;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> cpl_image * int_im_dith =NULL;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> cpl_image * im_sky =NULL;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> cpl_image * im_dither =NULL;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> cpl_image * im_obj_sub =NULL;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> cpl_image * im_dither_sub =NULL;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> cpl_image * im_dither_sky =NULL;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> cpl_image ** imMed=NULL ;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> cpl_image * colImage =NULL;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> cpl_image * mask_im =NULL;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> cpl_image * norm =NULL;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> cpl_image * compImage =NULL;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> cpl_image * maskImage =NULL;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> cpl_image * threshIm =NULL;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">char</span> name[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordtype">int</span> typ;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> Stats * stats =NULL;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordtype">int</span> i = 0;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordtype">int</span>* n=NULL;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordtype">int</span> nob =0;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordtype">int</span> nsky = 0; </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordtype">int</span> nobjdith = 0;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordtype">int</span> nskydith = 0; </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keywordtype">int</span> n_badpixels =0;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keywordtype">int</span> pos =0;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keywordtype">float</span>** slit_edges=NULL;</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordtype">float</span> local_clean_mean =0.;</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordtype">float</span> clean_stdev =0.;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordtype">float</span> mean_factor =0.;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordtype">float</span> val_x=0;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordtype">float</span> val_y=0;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keywordtype">char</span> outNameDither[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordtype">char</span> name_list[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordtype">char</span> tbl_slitpos_name[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> cpl_table* tbl_slitpos=NULL;</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordtype">int</span>* status=NULL;</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordtype">int</span> n_im_med=0;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> cpl_frameset* raw=NULL;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> cpl_table* qclog_tbl=NULL;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordtype">int</span> naxis1=0;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordtype">int</span> naxis2=0;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keywordtype">double</span> fpn_stdev1=0;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordtype">double</span> fpn_stdev2=0;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordtype">int</span> no=0;</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordtype">float</span> lo_cut=0;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordtype">float</span> hi_cut=0;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment"> -----------------------------------------------------------------</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment"> 1) parse the file names and parameters to the tilt_config data </span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment"> structure cfg </span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment"> -----------------------------------------------------------------</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> cknull_nomsg(raw=cpl_frameset_new());</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> cknull(cfg = sinfo_parse_cpl_input_flat(config,sof,&raw),</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="stringliteral">"could not parse cpl input!"</span>);</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordflow">if</span> (cfg->interpolInd == 1) {</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(cfg->mask) != 1) {</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Input file %s is not FITS"</span>,cfg->mask);</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> }</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keywordflow">if</span> (sinfo_is_fits_file(cfg->slitposList) != 1) {</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Input file %s is not FITS"</span>,cfg->slitposList);</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> }</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> }</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment"> # Take a clean mean of several images</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="comment"> # input is 1 or more similar images</span></div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> sinfo_msg(<span class="stringliteral">"Takes clean mean of several images"</span>);</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="comment">/* #allocate memory for lists of object, sky and dithered frames--*/</span></div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> cknull(list_object = cpl_imagelist_new (),<span class="stringliteral">"could not allocate memory"</span>);</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordflow">if</span> (cfg->contains_dither == 1) {</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> cknull(list_dither_object=cpl_imagelist_new(),<span class="stringliteral">"could not allocate memory"</span>);</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> }</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keywordflow">if</span> (cfg->contains_sky == 1) {</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> cknull(list_sky=cpl_imagelist_new(),<span class="stringliteral">"could not allocate memory"</span>);</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> }</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="keywordflow">if</span> (cfg->contains_dither == 1 && cfg->nditheroff > 0) {</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> cknull(list_dither_sky=cpl_imagelist_new(),<span class="stringliteral">"could not allocate memory"</span>);</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> }</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keywordflow">if</span> (cfg->contains_dither == 0 && cfg->nditheroff > 0){</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"please use non-dithered off-frames, remove the 2!"</span>);</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> }</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment">/* problem with im as image holder: cleanup then does not work */</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> im = (cpl_image**) cpl_calloc (cfg -> nframes, <span class="keyword">sizeof</span>(cpl_image*)); </div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordflow">for</span> (i=0; i< cfg->nframes; i++) {</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> strcpy(name,cfg->framelist[i]);</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(name) != 1) {</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"PP Input file %s %d is not FITS"</span>,name,i);</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> }</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> im[i]=cpl_image_load(name,CPL_TYPE_FLOAT,0,0);</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> }</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keywordflow">for</span> (i=0; i< cfg->nframes; i++) {</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> typ = cfg->frametype[i];</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> pos = cfg->frameposition[i];</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> cknull(im[i],<span class="stringliteral">"could not load image %d"</span>,i);</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="keywordflow">if</span> (pos == 2) {</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keywordflow">if</span> (typ == 1) {</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> cpl_imagelist_set( list_object, cpl_image_duplicate(im[i]), nob ); </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> nob = nob + 1;</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> cpl_imagelist_set( list_sky, cpl_image_duplicate(im[i]), nsky );</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> nsky = nsky + 1 ;</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> }</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keywordflow">if</span> (typ == 1) {</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> cpl_imagelist_set(list_dither_object, </div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> cpl_image_duplicate(im[i]), nobjdith ); </div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> nobjdith = nobjdith + 1;</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> cpl_imagelist_set( list_dither_sky, </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> cpl_image_duplicate(im[i]), nskydith );</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> nskydith = nskydith + 1 ;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> }</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> }</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> }</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="keywordflow">if</span> (nob != cfg->nobj || cfg->noff != nsky || </div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> nobjdith != cfg->nditherobj || nskydith != cfg->nditheroff) {</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"something is wrong with the number of "</span></div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="stringliteral">"the different types of frames"</span>);</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> }</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="comment">/* # create and fill cubes with the different image lists- */</span></div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> sinfo_msg(<span class="stringliteral">"Creates and fills cubes with the different image lists"</span>);</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> cknull(list_object,<span class="stringliteral">"could not create data cube!"</span>);</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="keywordflow">if</span> (cfg->contains_dither == 1) {</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> cknull(list_dither_object,<span class="stringliteral">"could not create data cube!"</span>);</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> }</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="keywordflow">if</span> (cfg->contains_sky == 1 && nsky > 0) {</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> cknull(list_sky,<span class="stringliteral">"could not create data cube!"</span>);</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> }</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="keywordflow">if</span> (cfg->contains_dither == 1 && nskydith > 0) {</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> cknull(list_dither_sky,<span class="stringliteral">"could not create data cube!"</span>);</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> }</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="comment">/*-take the average of the different cubes -*/</span></div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> sinfo_msg(<span class="stringliteral">"Takes the average of the different cubes"</span>);</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="keywordflow">if</span> (cfg->loReject*cfg->nobj < 1. && cfg->hiReject *cfg->nobj < 1.) {</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> cknull(im_obj = sinfo_new_average_cube_to_image(list_object ),</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="stringliteral">"sinfo_averageCubeToImage failed"</span> );</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> no=cpl_imagelist_get_size(list_object);</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> lo_cut=(floor)(cfg->loReject*no+0.5);</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> hi_cut=(floor)(cfg->hiReject*no+0.5);</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> cknull(im_obj=cpl_imagelist_collapse_minmax_create(list_object,</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> lo_cut,</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> hi_cut),</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="stringliteral">"sinfo_average_with_rejection failed"</span> );</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> }</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> sinfo_free_imagelist(&list_object);</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="keywordflow">if</span> (cfg->contains_sky == 1) {</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keywordflow">if</span> (cfg->loReject * nsky < 1. && cfg->hiReject * nsky < 1.) {</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> cknull(im_sky = sinfo_new_average_cube_to_image(list_sky ),</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="stringliteral">"sinfo_new_average_cube_to_image failed"</span> );</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> no=cpl_imagelist_get_size(list_sky);</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> lo_cut=(floor)(cfg->loReject*no+0.5);</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> hi_cut=(floor)(cfg->hiReject*no+0.5);</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> cknull(im_sky=cpl_imagelist_collapse_minmax_create(list_sky,lo_cut,hi_cut),</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="stringliteral">"sinfo_average_with_rejection failed"</span> );</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> }</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> sinfo_free_imagelist(&list_sky);</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> }</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="keywordflow">if</span> (cfg->contains_dither == 1) {</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="keywordflow">if</span> (cfg->loReject*nobjdith < 1. && cfg->hiReject * nobjdith < 1.) {</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> cknull(im_dither = sinfo_new_average_cube_to_image(list_dither_object ),</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="stringliteral">"sinfo_new_average_cube_to_image failed"</span> );</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> </div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> no=cpl_imagelist_get_size(list_dither_object);</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> lo_cut=(floor)(cfg->loReject*no+0.5);</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> hi_cut=(floor)(cfg->hiReject*no+0.5);</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> cknull(im_dither=cpl_imagelist_collapse_minmax_create(list_dither_object,</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> lo_cut,hi_cut),</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="stringliteral">"sinfo_average_with_rejection failed"</span> );</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> }</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> sinfo_free_imagelist(&list_dither_object);</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> }</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="keywordflow">if</span> (cfg->contains_dither == 1 && nskydith > 0 ) {</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="keywordflow">if</span> (cfg->loReject*nskydith < 1. && cfg->hiReject*nskydith < 1.) {</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> cknull(im_dither_sky = sinfo_new_average_cube_to_image(list_dither_sky ),</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="stringliteral">"sinfo_new_average_cube_to_image failed"</span> );</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> no=cpl_imagelist_get_size(list_dither_sky);</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> lo_cut=(floor)(cfg->loReject*no+0.5);</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> hi_cut=(floor)(cfg->hiReject*no+0.5);</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> cknull(im_dither_sky=cpl_imagelist_collapse_minmax_create(list_dither_sky,</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> lo_cut,hi_cut),</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="stringliteral">"new_average_with_rejection failed"</span> );</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> }</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> sinfo_free_imagelist(&list_dither_sky);</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> } </div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="comment"> # Subtract the resulting off-frame (sky) from the on-frame </span></div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="comment"> #-------------------------------------------------------</span></div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="comment"> #finally, subtract off from on frames and store the result in the </span></div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="comment"> # object cube----------------</span></div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> </div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> sinfo_msg(<span class="stringliteral">"Subtracts the resulting off-frame (sky) from the on-frame"</span>);</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordflow">if</span> (cfg->contains_sky == 1) {</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> cknull(im_obj_sub = cpl_image_subtract_create(im_obj, im_sky),</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="stringliteral">"could not sinfo_sub_image"</span>);</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> sinfo_free_image(&im_obj);</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="keywordflow">if</span> (((cfg->contains_dither == 1) && (nskydith > 0)) || </div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> (cfg->contains_dither == 0)) {</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> sinfo_free_image(&im_sky);</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> }</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> im_obj = im_obj_sub;</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> }</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="keywordflow">if</span> (cfg->contains_dither == 1 && nskydith > 0) {</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> cknull(im_dither_sub=cpl_image_subtract_create(im_dither, im_dither_sky),</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="stringliteral">"could not sinfo_sub_image"</span>);</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> sinfo_free_image(&im_dither);</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> sinfo_free_image(&im_dither_sky);</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> im_dither = im_dither_sub;</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (cfg->contains_dither == 1 && </div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> nskydith == 0 && </div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> cfg->contains_sky == 1) {</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> cknull(im_dither_sub = cpl_image_subtract_create(im_dither, im_sky),</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="stringliteral">"could not sinfo_sub_image"</span>);</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> sinfo_free_image(&im_dither);</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> sinfo_free_image(&im_sky);</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> im_dither = im_dither_sub;</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> }</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="comment"> # Generating a static bad pixel mask:</span></div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="comment"> # remove the intensity tilt from every column</span></div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="comment"> # and compute the standard deviation on a rectangular zone</span></div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> </div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> sinfo_msg(<span class="stringliteral">"Generating a static bad pixel mask"</span>);</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> n_im_med = cfg->iterations+1;</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> </div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> imMed=(cpl_image**) cpl_calloc(n_im_med, <span class="keyword">sizeof</span>(cpl_image*));</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> </div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="keywordflow">if</span> (cfg->badInd == 1) {</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> sinfo_msg(<span class="stringliteral">"removes the intensity tilt from every column and"</span>);</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> sinfo_msg(<span class="stringliteral">"computes the standard deviation on a rectangular zone"</span>);</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> </div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="comment">/* this call originates 36 bytes leaks */</span></div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> cknull(colImage = sinfo_new_col_tilt( im_obj, cfg->sigmaFactor ),</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="stringliteral">"sinfo_colTilt failed"</span> );</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> </div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> cknull(stats = sinfo_new_image_stats_on_rectangle(colImage, </div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> cfg->badLoReject, </div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> cfg->badHiReject, </div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> cfg->llx, </div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> cfg->lly, </div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> cfg->urx, </div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> cfg->ury),</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="stringliteral">"sinfo_get_image_stats_on_vig failed\n"</span>);</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> </div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> local_clean_mean = stats->cleanmean;</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> clean_stdev = stats->cleanstdev;</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> </div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> </div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="comment">/* indicate pixels with great deviations from the clean mean as bad */</span></div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="keywordflow">if</span> (cfg->threshInd == 1) {</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> cknull(threshIm = sinfo_new_thresh_image(colImage, </div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> local_clean_mean-mean_factor*clean_stdev,</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> local_clean_mean+mean_factor*clean_stdev),</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="stringliteral">" sinfo_threshImage failed\n"</span> );</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> }</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="keywordflow">if</span> (cfg->threshInd == 0) {</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> threshIm = colImage;</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> }</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> </div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> <span class="comment"> filter iteratively the images by a sinfo_median filter of the nearest </span></div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="comment"> neighbors under the condition of a deviation greater than a factor </span></div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="comment"> times the standard deviation</span></div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> </div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> cknull(imMed[0]= sinfo_new_median_image(threshIm,-cfg->factor*clean_stdev),</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="stringliteral">" sinfo_medianImage failed"</span> );</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> </div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> </div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="comment">/* AMO check again if here the loop start and ending point are proper */</span></div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="keywordflow">for</span> (i=1; i< cfg->iterations+1; i++) {</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> cknull(imMed[i]=sinfo_new_median_image(imMed[i-1], </div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> -cfg->factor*clean_stdev),</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="stringliteral">"sinfo_medianImage failed"</span> );</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> }</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> </div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="comment">/* compare the filtered image with the input image */</span></div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> cknull(compImage=sinfo_new_compare_images(threshIm, </div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> imMed[cfg->iterations], </div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> im_obj),</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="stringliteral">"sinfo_compareImages failed"</span> );</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> </div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> <span class="comment">/*---generate the bad pixel mask */</span></div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> n = (<span class="keywordtype">int</span>*)cpl_calloc(1,<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>));</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> cknull(maskImage = sinfo_new_promote_image_to_mask( compImage, n ),</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="stringliteral">"error in sinfo_promoteImageToMask"</span> );</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> </div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> n_badpixels = n[0];</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> sinfo_msg(<span class="stringliteral">"No of bad pixels: %d"</span>, n_badpixels);</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> </div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> cknull_nomsg(qclog_tbl = sinfo_qclog_init());</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC BP-MAP NBADPIX"</span>,n_badpixels,</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="stringliteral">"No of bad pixels"</span>,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> </div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> ck0(sinfo_pro_save_ima(maskImage,ref_set,sof,cfg->maskname,</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> PRO_BP_MAP,qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="stringliteral">"cannot save ima %s"</span>, cfg->maskname);</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> </div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> </div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="comment">/* free memory */</span></div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> </div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> sinfo_new_del_Stats(stats);</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> sinfo_free_int(&n);</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> sinfo_free_image(&threshIm); <span class="comment">/* */</span></div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="keywordflow">if</span> (cfg->threshInd == 1) {</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> sinfo_free_image(&colImage);</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> }</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> sinfo_free_image(&compImage);</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> sinfo_free_image(&maskImage);</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> </div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="keywordflow">for</span> (i=0; i< cfg->iterations+1; i++) {</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> sinfo_free_image(&imMed[i]);</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> }</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> </div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> }</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> </div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> cpl_free(imMed);</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> imMed=NULL;</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> </div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="comment"> # Master flat field: static bad pixel correction and normalizing</span></div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> </div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> sinfo_msg(<span class="stringliteral">"Creates a Master flat field"</span>);</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> <span class="keywordflow">if</span> (cfg->interpolInd == 1) {</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> cknull(mask_im = cpl_image_load(cfg->mask,CPL_TYPE_FLOAT,0,0),</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="stringliteral">"could not load static bad pixel mask"</span> );</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> </div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="comment">/* open the ASCII list of the slitlet positions */</span></div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> </div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> <span class="comment">/* slit_edges = sinfo_new_2Dfloat_array(32, 2) ; */</span></div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> slit_edges = (<span class="keywordtype">float</span> **) cpl_calloc( 32, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>*) ) ;</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="keywordflow">for</span> ( i = 0 ; i < 32 ; i++ )</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> {</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> slit_edges[i] = (<span class="keywordtype">float</span> *) cpl_calloc( 2, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> }</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> <span class="comment">/*READ TFITS TABLE*/</span></div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(cfg->slitposList) !=1 ) {</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Input file %s is not FITS"</span>, cfg->slitposList);</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> }</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> strcpy(tbl_slitpos_name,cfg->slitposList);</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> check(tbl_slitpos = cpl_table_load(tbl_slitpos_name,1,0),</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="stringliteral">"error loading tbl %s"</span>,tbl_slitpos_name);</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> </div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <span class="keywordflow">for</span> (i =0 ; i< 32; i++){</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> val_x=cpl_table_get_double(tbl_slitpos,<span class="stringliteral">"pos1"</span>,i,status);</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> val_y=cpl_table_get_double(tbl_slitpos,<span class="stringliteral">"pos2"</span>,i,status);</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> slit_edges[i][0]=val_x;</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> slit_edges[i][1]=val_y;</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> }</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> sinfo_free_table(&tbl_slitpos);</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> </div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> cknull(int_im = sinfo_interpol_source_image (im_obj, mask_im, </div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> cfg->maxRad, slit_edges),</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> <span class="stringliteral">"could not carry out sinfo_interpolSourceImage"</span> );</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> </div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> sinfo_free_image(&im_obj);</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> cknull(norm = sinfo_new_normalize_to_central_pixel(int_im),</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="stringliteral">"could not normalize flatfield"</span> );</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> sinfo_free_image(&int_im);</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> im_obj = norm; </div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> </div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="keywordflow">if</span> (cfg->contains_dither == 1) {</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> cknull(int_im_dith = sinfo_interpol_source_image(im_dither, </div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> mask_im,</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> cfg->maxRad,</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> slit_edges),</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> <span class="stringliteral">"could not carry out sinfo_interpolSourceImage"</span> );</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> </div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> cpl_image_delete(im_dither);</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> cknull(norm_dith = sinfo_new_normalize_to_central_pixel(int_im_dith),</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> <span class="stringliteral">"could not normalize flatfield"</span> );</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> sinfo_free_image(&int_im_dith);</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> im_dither = norm_dith;</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> }</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="comment">/* sinfo_new_destroy_2Dfloatarray(slit_edges, 32); */</span> </div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="keywordflow">for</span> ( i = 0 ; i < 32 ; i++ )</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> {</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> cpl_free( slit_edges[i] );</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> }</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> cpl_free( slit_edges ) ;</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> sinfo_free_image(&mask_im);</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> </div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> }</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> </div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="keywordflow">if</span> (cfg->interpolInd != 1) {</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> cknull(norm = sinfo_new_normalize_to_central_pixel(im_obj),</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> <span class="stringliteral">"could not normalize flatfield"</span> );</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> sinfo_free_image(&im_obj);</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> im_obj = norm; </div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> </div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="keywordflow">if</span> (cfg->contains_dither == 1) {</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> cknull(norm_dith = sinfo_new_normalize_to_central_pixel(im_dither),</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <span class="stringliteral">"could not normalize flatfield"</span> );</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> sinfo_free_image(&im_dither);</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> im_dither = norm_dith;</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> }</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> }</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> </div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> naxis1=cpl_image_get_size_x(im_obj);</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> naxis2=cpl_image_get_size_y(im_obj);</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> </div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> </div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> <span class="keywordflow">if</span>(cfg->qc_fpn_xmin1 < 1) {</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"qc_ron_xmin < 1"</span>);</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> }</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> </div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> <span class="keywordflow">if</span>(cfg->qc_fpn_xmax1 > naxis1) {</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"qc_ron_xmax < %d"</span>,naxis1);</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> }</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> </div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> <span class="keywordflow">if</span>(cfg->qc_fpn_ymin1 < 1) {</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"qc_ron_ymin < 1"</span>);</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> }</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> </div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> <span class="keywordflow">if</span>(cfg->qc_fpn_ymax1 > naxis2) {</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"qc_ron_ymax < %d"</span>,naxis2);</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> }</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> fpn_stdev1 = cpl_image_get_stdev_window(im_obj,</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> cfg->qc_fpn_xmin1,</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> cfg->qc_fpn_ymin1,</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> cfg->qc_fpn_xmax1,</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> cfg->qc_fpn_ymax1);</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> </div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> </div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <span class="keywordflow">if</span>(cfg->qc_fpn_xmin2 < 1) {</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"qc_ron_xmin < %d"</span>,1);</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> }</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> </div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> </div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> <span class="keywordflow">if</span>(cfg->qc_fpn_xmax2 > naxis1) {</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"qc_ron_xmax < %d"</span>,naxis1);</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> }</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> </div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> <span class="keywordflow">if</span>(cfg->qc_fpn_ymin2 < 1) {</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"qc_ron_ymin < 1"</span>);</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> }</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> </div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="keywordflow">if</span>(cfg->qc_fpn_ymax2 > naxis2) {</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"qc_ron_ymax < %d"</span>,naxis2);</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> }</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> fpn_stdev2 = cpl_image_get_stdev_window(im_obj,</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> cfg->qc_fpn_xmin2,</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> cfg->qc_fpn_ymin2,</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> cfg->qc_fpn_xmax2,</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> cfg->qc_fpn_ymax2);</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> </div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> </div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> </div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> ck0(new_lamp_flats_det_ncounts(raw,cfg),<span class="stringliteral">"error computing number of counts"</span>);</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> cknull_nomsg(qclog_tbl = sinfo_qclog_init());</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC SPECFLAT NCNTSAVG"</span>,</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> qc_lampflat.avg_di,<span class="stringliteral">"Average counts"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC SPECFLAT NCNTSSTD"</span>,</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> qc_lampflat.std_di,<span class="stringliteral">"Stdev counts"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC SPECFLAT OFFFLUX"</span>,</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> qc_lampflat.avg_of,</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> <span class="stringliteral">"Average flux off frames"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> </div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> <span class="stringliteral">"QC LFLAT FPN1"</span>,</div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> fpn_stdev1,</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> <span class="stringliteral">"Fixed Pattern Noise of combined frames"</span>,</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> <span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> </div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="stringliteral">"QC LFLAT FPN2"</span>,</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> fpn_stdev2,</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> <span class="stringliteral">"Fixed Pattern Noise of combined frames"</span>,</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> <span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> </div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> ck0(sinfo_pro_save_ima(im_obj,ref_set,sof,cfg->outName,</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> PRO_MASTER_FLAT_LAMP,qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> <span class="stringliteral">"cannot save ima %s"</span>, cfg->outName);</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> </div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> sinfo_free_image(&im_obj);</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> </div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> </div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> <span class="keywordflow">if</span> (cfg->contains_dither == 1) {</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> </div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> <span class="keywordflow">if</span> (strstr(cfg->outName, <span class="stringliteral">".fits"</span> ) != NULL ) {</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> </div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> snprintf(name_list, MAX_NAME_SIZE-1,<span class="stringliteral">"%s%s"</span>, </div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> sinfo_new_get_rootname(cfg->outName),</div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> <span class="stringliteral">"_dither"</span>);</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> strcpy(outNameDither,name_list);</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> strcat(outNameDither,strstr(cfg->outName,<span class="stringliteral">".fits"</span>));</div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> </div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> strcpy(outNameDither,cfg->outName);</div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> strcat(outNameDither,<span class="stringliteral">"_dither"</span>);</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> }</div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> </div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> </div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> naxis1=cpl_image_get_size_x(im_dither);</div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> naxis2=cpl_image_get_size_y(im_dither);</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> </div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> </div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> <span class="keywordflow">if</span>(cfg->qc_fpn_xmin1 < 1) {</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"qc_ron_xmin1 < 1"</span>);</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> }</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> </div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> <span class="keywordflow">if</span>(cfg->qc_fpn_xmax1 > naxis1) {</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"qc_ron_xmax1 < %d"</span>,naxis1);</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> }</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> </div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> <span class="keywordflow">if</span>(cfg->qc_fpn_ymin1 < 1) {</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"qc_ron_ymin1 < 1"</span>);</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> }</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> </div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <span class="keywordflow">if</span>(cfg->qc_fpn_ymax1 > naxis2) {</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"qc_ron_ymax1 < %d"</span>,naxis2);</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> }</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> </div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> </div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> fpn_stdev1 = cpl_image_get_stdev_window(im_dither,</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> cfg->qc_fpn_xmin1,</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> cfg->qc_fpn_ymin1,</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> cfg->qc_fpn_xmax1,</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> cfg->qc_fpn_ymax1);</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> </div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> <span class="keywordflow">if</span>(cfg->qc_fpn_xmin2 < 1) {</div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"qc_ron_xmin2 < 1"</span>);</div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> }</div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> </div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> <span class="keywordflow">if</span>(cfg->qc_fpn_xmax2 > naxis1) {</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"qc_ron_xmax2 < %d"</span>,naxis1);</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> }</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> </div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> <span class="keywordflow">if</span>(cfg->qc_fpn_ymin2 < 1) {</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"qc_ron_ymin2 < 1"</span>);</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> }</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> </div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> <span class="keywordflow">if</span>(cfg->qc_fpn_ymax2 > naxis2) {</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"qc_ron_ymax2 < %d"</span>,naxis2);</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> }</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> </div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> fpn_stdev2 = cpl_image_get_stdev_window(im_dither,</div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> cfg->qc_fpn_xmin2,</div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> cfg->qc_fpn_ymin2,</div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> cfg->qc_fpn_xmax2,</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> cfg->qc_fpn_ymax2);</div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> </div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> </div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> ck0(new_lamp_flats_det_ncounts(raw,cfg),<span class="stringliteral">"error computing ncounts"</span>);</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> cknull_nomsg(qclog_tbl = sinfo_qclog_init());</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC SPECFLAT NCNTSAVG"</span>,</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> qc_lampflat.avg_di,<span class="stringliteral">"Average counts"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> </div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC SPECFLAT NCNTSSTD"</span>,</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> qc_lampflat.std_di,<span class="stringliteral">"Stdev counts"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> </div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC SPECFLAT OFFFLUX"</span>,</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> qc_lampflat.avg_of,<span class="stringliteral">"Average flux off frames"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> </div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC LFLAT FPN1"</span>,fpn_stdev1,</div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> <span class="stringliteral">"Fixed Pattern Noise of combined frames"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> </div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC LFLAT FPN2"</span>,fpn_stdev2,</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> <span class="stringliteral">"Fixed Pattern Noise of combined frames"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> </div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> </div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> ck0(sinfo_pro_save_ima(im_dither,ref_set,sof,outNameDither,</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> PRO_MASTER_FLAT_LAMP,qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> <span class="stringliteral">"cannot save ima %s"</span>, outNameDither);</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> </div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> sinfo_free_image(&im_dither);</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> </div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> }</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> </div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> </div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> <span class="comment">/* could be done earlier? */</span></div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> sinfo_free_image_array(&im,cfg->nframes);</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> sinfo_free_frameset(&raw);</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> sinfo_flat_free(&cfg);</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> </div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> cleanup:</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> </div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> </div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> <span class="comment">/* free memory */</span></div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> <span class="keywordflow">if</span>(slit_edges != NULL) {</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> <span class="keywordflow">for</span> ( i = 0 ; i < 32 ; i++ )</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> {</div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> <span class="keywordflow">if</span>(slit_edges[i] != NULL) {</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> cpl_free( slit_edges[i] );</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> }</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> slit_edges[i]=NULL;</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> }</div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> cpl_free( slit_edges ) ;</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> }</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> sinfo_free_image(&mask_im);</div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> <span class="keywordflow">if</span>(stats) {</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> sinfo_new_del_Stats(stats);</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> }</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> sinfo_free_int(&n);</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> sinfo_free_image(&threshIm);</div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> sinfo_free_image(&maskImage);</div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> <span class="keywordflow">if</span>(imMed != NULL) sinfo_free_image_array(&imMed,cfg->iterations);</div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> <span class="keywordflow">if</span>(stats!= NULL) {</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> sinfo_new_del_Stats(stats);</div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> stats=NULL;</div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> }</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> sinfo_free_image(&compImage);</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> sinfo_free_image(&colImage);</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> sinfo_free_imagelist(&list_dither_object);</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> sinfo_free_imagelist(&list_dither_sky);</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> <span class="keywordflow">if</span>(list_sky != NULL) {</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> sinfo_free_imagelist(&list_sky);</div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> }</div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> sinfo_free_imagelist(&list_object);</div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> sinfo_free_image(&im_dither);</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> sinfo_free_image(&im_dither_sky);</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> sinfo_free_image(&im_obj);</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> sinfo_free_image(&im_sky);</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> <span class="keywordflow">if</span>(im != NULL) sinfo_free_image_array(&im,cfg->nframes);</div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> sinfo_free_frameset(&raw);</div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> <span class="keywordflow">if</span>(cfg != NULL) {</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> sinfo_flat_free(&cfg);</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> }</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> </div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> }</div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> </div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> new_lamp_flats_det_ncounts(cpl_frameset* raw, flat_config* cfg)</div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> {</div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> </div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> <span class="keywordtype">int</span> nraw=0;</div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> <span class="keywordtype">int</span> non=0;</div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> <span class="keywordtype">int</span> noff=0;</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> </div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> <span class="keywordtype">double</span> mjd_on=0;</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> <span class="keywordtype">double</span> mjd_of=0;</div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> <span class="keywordtype">double</span> mjd_of_frm=0;</div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> </div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> <span class="keywordtype">char</span> filename[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> </div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> cpl_frame* frm=NULL;</div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> cpl_frame* frm_dup=NULL;</div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> cpl_frame* on_frm=NULL;</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> cpl_frame* of_frm=NULL;</div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> cpl_frame* tmp_of_frm=NULL;</div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> </div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> </div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> cpl_frameset* on_set=NULL;</div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> cpl_frameset* of_set=NULL;</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> cpl_frameset* wrk_set=NULL;</div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> </div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> on_set=cpl_frameset_new();</div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> of_set=cpl_frameset_new();</div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> </div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> nraw = cpl_frameset_get_size(raw);</div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> </div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> <span class="keywordflow">for</span> (i=0; i< nraw; i++) {</div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> frm = cpl_frameset_get_frame(raw,i);</div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> frm_dup = cpl_frame_duplicate(frm);</div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> <span class="keywordflow">if</span>(sinfo_frame_is_on(frm) == 1) {</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> cpl_frameset_insert(on_set,frm_dup);</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> non++;</div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> cpl_frameset_insert(of_set,frm_dup);</div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> noff++;</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> }</div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> }</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> </div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> </div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> <span class="keywordflow">if</span> (non == noff) {</div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> new_qc_get_cnt(on_set,of_set,cfg);</div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> </div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (non == 0) {</div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> sinfo_msg(<span class="stringliteral">"non == 0"</span>);</div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"QC SPECFLAT NCNTAVG/NCTNTSTD/OFFFLUX=0 "</span>);</div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> </div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( noff == 0 ) {</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> sinfo_msg(<span class="stringliteral">"noff == 0"</span>);</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"QC SPECFLAT NCNTAVG/NCTNTSTD/OFFFLUX=0 "</span>);</div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> </div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> </div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"non != noff, => QC SPECFLAT NCNTAVG/NCTNTSTD/OFFFLUX=0 "</span>);</div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> </div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> <span class="keywordflow">for</span> (i=0;i<non;i++) {</div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> wrk_set=cpl_frameset_new();</div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> on_frm=cpl_frameset_get_frame(on_set,i);</div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> mjd_on=sinfo_get_mjd_obs(on_frm);</div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> of_frm=cpl_frameset_get_frame(of_set,0);</div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> mjd_of=sinfo_get_mjd_obs(of_frm);</div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> strcpy(filename,cpl_frame_get_filename(of_frm));</div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> <span class="keywordflow">for</span> (j=1;j<noff;j++) {</div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> tmp_of_frm = cpl_frameset_get_frame(of_set,j);</div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> mjd_of_frm = sinfo_get_mjd_obs(tmp_of_frm);</div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> </div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> <span class="keywordflow">if</span>(1000.*(mjd_of_frm-mjd_on)*(mjd_of_frm-mjd_on) <</div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> 1000.*(mjd_of- mjd_on)*(mjd_of- mjd_on) ) {</div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> mjd_of=mjd_of_frm;</div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> of_frm=cpl_frame_duplicate(tmp_of_frm);</div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> }</div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> }</div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> strcpy(filename,cpl_frame_get_filename(of_frm));</div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> frm_dup=cpl_frame_duplicate(of_frm);</div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> cpl_frameset_insert(wrk_set,frm_dup);</div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> strcpy(filename,cpl_frame_get_filename(of_frm));</div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> }</div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> <span class="comment">/* Commented out as algorithm non robust if non != noff */</span></div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> new_qc_get_cnt(on_set,wrk_set,cfg); </div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> </div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> }</div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> </div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> cpl_frameset_delete(wrk_set);</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> cpl_frameset_delete(on_set);</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> cpl_frameset_delete(of_set);</div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> </div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> </div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> }</div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> </div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> new_qc_get_cnt(cpl_frameset* on_set, cpl_frameset* of_set, flat_config* cfg)</div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> {</div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> </div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> <span class="keywordtype">int</span> nsat=0;</div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> <span class="keywordtype">int</span> non=0;</div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> <span class="keywordtype">int</span> nof=0;</div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> <span class="keywordtype">int</span> nfr=0;</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> </div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> <span class="keywordtype">char</span> name[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> cpl_vector* vec_on=NULL;</div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> cpl_vector* vec_of=NULL;</div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> cpl_vector* vec_di=NULL;</div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> cpl_vector* vec_nsat=NULL;</div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> cpl_frame* on_frm=NULL;</div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> cpl_frame* of_frm=NULL;</div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> </div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> cpl_image* dif_ima=NULL;</div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> cpl_image* on_ima=NULL;</div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> cpl_image* of_ima=NULL;</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> cpl_image* tmp_ima=NULL;</div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> </div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> <span class="keywordtype">double</span> med=0;</div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> non = cpl_frameset_get_size(on_set);</div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> nof = cpl_frameset_get_size(of_set);</div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> nfr = (non <= nof) ? non : nof;</div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> vec_on = cpl_vector_new(nfr);</div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> vec_of = cpl_vector_new(nfr);</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> vec_di = cpl_vector_new(nfr);</div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> vec_nsat = cpl_vector_new(nfr);</div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> </div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> </div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> <span class="keywordflow">for</span> (i=0; i< nfr; i++) {</div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> on_frm = cpl_frameset_get_frame(on_set,i);</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> strcpy(name,cpl_frame_get_filename(on_frm));</div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> on_ima = cpl_image_load(name,CPL_TYPE_FLOAT,0,0);</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> med= cpl_image_get_median(on_ima);</div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> cpl_vector_set(vec_on,i,med);</div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> </div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> tmp_ima = cpl_image_duplicate(on_ima);</div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> cpl_image_threshold(tmp_ima,SINFO_DBL_MIN,</div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> cfg->qc_thresh_max,0,1);</div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> nsat=cpl_image_get_flux(tmp_ima);</div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> cpl_vector_set(vec_nsat,i,nsat);</div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> </div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> <span class="comment">/* Are you sure to have same frames off as on ? */</span></div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> of_frm = cpl_frameset_get_frame(of_set,i);</div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> strcpy(name,cpl_frame_get_filename(of_frm));</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> of_ima = cpl_image_load(name,CPL_TYPE_FLOAT,0,0);</div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> med= cpl_image_get_median(of_ima);</div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> cpl_vector_set(vec_of,i,med);</div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> dif_ima = cpl_image_subtract_create(on_ima,of_ima);</div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> med= cpl_image_get_median(dif_ima);</div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> cpl_vector_set(vec_di,i,med);</div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> </div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> cpl_image_delete(on_ima);</div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> cpl_image_delete(of_ima);</div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> cpl_image_delete(dif_ima);</div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> cpl_image_delete(tmp_ima);</div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> }</div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> qc_lampflat.avg_on=cpl_vector_get_mean(vec_on);</div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> qc_lampflat.avg_of=cpl_vector_get_mean(vec_of);</div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> qc_lampflat.avg_di=cpl_vector_get_mean(vec_di);</div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> <span class="keywordflow">if</span>(nfr > 1 ) {</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> qc_lampflat.std_on=cpl_vector_get_stdev(vec_on);</div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> qc_lampflat.std_of=cpl_vector_get_stdev(vec_of);</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> qc_lampflat.std_di=cpl_vector_get_stdev(vec_di);</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> }</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> qc_lampflat.nsat=cpl_vector_get_mean(vec_nsat);</div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> cpl_vector_delete(vec_on);</div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> cpl_vector_delete(vec_of);</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> cpl_vector_delete(vec_di);</div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> cpl_vector_delete(vec_nsat);</div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> <span class="comment"> sinfo_msg( "sinfo_qc_get_cnt","avg_on=%g std_on=%g ",</span></div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> <span class="comment"> qc_lampflat.avg_on,qc_lampflat.std_on);</span></div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> <span class="comment"> sinfo_msg( "sinfo_qc_get_cnt","avg_of=%g std_of=%g ",</span></div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> <span class="comment"> qc_lampflat.avg_of,qc_lampflat.std_of);</span></div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> <span class="comment"> sinfo_msg( "sinfo_qc_get_cnt","avg_di=%g std_di=%g ",</span></div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> <span class="comment"> qc_lampflat.avg_di,qc_lampflat.std_di);</span></div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> <span class="comment"> sinfo_msg( "sinfo_qc_get_cnt","nsat=%g ",qc_lampflat.nsat);</span></div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> }</div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__lamp__flats_8h_source.html b/html/sinfo__new__lamp__flats_8h_source.html
deleted file mode 100644
index 2507a7f..0000000
--- a/html/sinfo__new__lamp__flats_8h_source.html
+++ /dev/null
@@ -1,124 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_lamp_flats.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_lamp_flats.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_NEW_LAMP_FLATS_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_NEW_LAMP_FLATS_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*****************************************************************************</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* "@(#) $Id: sinfo_new_lamp_flats.h,v 1.9 2007/09/21 14:13:43 amodigli Exp $"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* amodigli 17/09/03 created</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * sinfo_new_lamp_flats.h</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * this step handles stacks of lamp flat fields, </span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> * o it takes a clean mean,</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> * o subtracts the off- from the on-frames, </span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> * o corrects for static bad pixels and normalizes for a master flat field. </span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> * o It distinguishes the spectrally dithered frames and </span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * o treats them the same way. </span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> * o It can also generate a static bad pixel mask if wished.</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> * Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> Function : sinfo_new_lamp_flats()</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> In : ini_file: file name of according .ini file</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> Out : integer (0 if it worked, -1 if it doesn't) </span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> Job :</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> * this step handles stacks of lamp flat fields, </span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> * o it takes a clean mean,</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> * o subtracts the off- from the on-frames, </span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> * o corrects for static bad pixels and normalizes for a master flat field. </span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> * o It distinguishes the spectrally dithered frames and </span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> * o treats them the same way. </span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> * o It can also generate a static bad pixel mask if wished.</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"></span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> sinfo_new_lamp_flats (<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id,</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> cpl_parameterlist* config, </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> cpl_frameset* sof,</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> cpl_frameset* ref_set) ;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor">#endif </span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__nst_8c_source.html b/html/sinfo__new__nst_8c_source.html
deleted file mode 100644
index c0c02d5..0000000
--- a/html/sinfo__new__nst_8c_source.html
+++ /dev/null
@@ -1,429 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_nst.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_nst.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : spiffi_north_south_test.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : A. Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Sep 17, 2003</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : </span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * nsh.h</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * Result of a north-south test exposure are 32 continuum spectra of a </span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * pinhole that means one spectrum in each slitlet at the same spatial </span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> * position.</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> * Each spectrum is fitted in sp[atial direction by a Gaussian to get the </span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> * sub-pixel positions for each row.</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * Then the distances are determined in each row and averaged</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> * Result: are distances of each slitlet from each other => 31 values stored </span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> * in an ASCII file this Python script needs a frame of a pinhole source with </span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> * a continuous spectrum, that is shifted exactly perpendicular to the </span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * slitlets. It fits the spectra in spatial direction by a Gaussian fit </span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> * function and therefore determines the sub-pixel position of the source.</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> * Then the distances of the slitlets from each other are determined and </span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> * saved in an ASCII list. </span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor"></span><span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include "sinfo_new_nst.h"</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include "sinfo_pro_save.h"</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include "sinfo_ns_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include "sinfo_cube_construct.h"</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#include "sinfo_utilities.h"</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> Function Definitions</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"> Function : north_south_test()</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> In : ini_file: file name of according .ini file</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> Out : integer (0 if it worked, -1 if it doesn't) </span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> Job : Result of a north-south test exposure are 32 continuum </span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> spectra of a pinhole that means one spectrum in each </span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> slitlet at the same spatial position.</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"></span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"> Each spectrum is fitted in sp[atial direction by a Gaussian</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"> to get the sub-pixel positions for each row.</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"></span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"> Then the distances are determined in each row and averaged</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"></span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"> Result: are distances of each slitlet from each other =></span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> 31 values stored in an ASCII file</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"></span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"></span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> sinfo_new_nst(<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id, </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> cpl_parameterlist* config, </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> cpl_frameset* sof,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> cpl_frameset* ref_set)</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> {</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> ns_config * cfg=NULL ;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> cpl_imagelist * list_object=NULL ;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> cpl_imagelist * list_off=NULL;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> cpl_image * im_on=NULL;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> cpl_image * im_on_sub=NULL ;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> cpl_image * im_on_ind=NULL ;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> cpl_image * im_on_gauss=NULL ;</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> cpl_image * im_mask=NULL ;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> cpl_image * im_off=NULL ;</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">char</span>* name=NULL;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">char</span> tbl_name[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">int</span> typ=0;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">int</span> i = 0;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">int</span> nob =0;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">int</span> nof =0;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">float</span>* distances=NULL;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> cpl_table* tbl_dist=NULL;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> cpl_vector* qc_dist=NULL;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keywordtype">double</span> qc_dist_mean=0;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">double</span> qc_dist_stdev=0;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> cpl_frameset* raw=NULL;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> cpl_table* qclog_tbl=NULL;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordtype">char</span> key_value[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordtype">char</span> key_name[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keywordtype">int</span> no=0;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordtype">double</span> lo_cut=0.;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordtype">double</span> hi_cut=0.;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordtype">int</span> pdensity=0;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment"> -----------------------------------------------------------------</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment"> 1) parse the file names and parameters to the ns_config data </span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment"> structure cfg</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment"> -----------------------------------------------------------------</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment"> parse the file names and parameters to the ns_config data structure cfg </span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> sinfo_msg(<span class="stringliteral">"Parse cpl input"</span>);</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> check_nomsg(raw=cpl_frameset_new());</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> cknull(cfg = sinfo_parse_cpl_input_ns(config,sof,&raw),</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="stringliteral">"could not parse cpl input!"</span>) ;</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">if</span> (cfg->maskInd == 1) {</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(cfg->mask) != 1) {</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Input file %s is not FITS"</span>,cfg->mask); </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> }</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> }</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment"> --------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment"> stack the frames in data cubes and take the clean mean of all frames</span></div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment"> --------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment">/* allocate memory for lists of object and off-frames */</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> sinfo_msg(<span class="stringliteral">"stack the frames in data cubes"</span>);</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> check(list_object = cpl_imagelist_new(),</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="stringliteral">"could not allocate memory"</span>);</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keywordflow">if</span> (cfg->noff > 0 ) {</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> check(list_off = cpl_imagelist_new(),</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="stringliteral">"could not allocate memory"</span>);</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> }</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment"> #build different image lists for the different cases----</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> sinfo_msg(<span class="stringliteral">"build different image lists for the different cases"</span>);</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> nob = 0;</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> nof = 0;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keywordflow">for</span> (i=0; i< cfg->nframes; i++){</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> name = cfg->framelist[i];</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(name) != 1) {</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Input file %s is not FITS"</span>,name);</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> typ = sinfo_new_intarray_get_value( cfg->frametype, i );</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">if</span> (typ == 1) {</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> cpl_imagelist_set(list_object,</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> cpl_image_load(name,CPL_TYPE_FLOAT,0,0),nob);</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> nob = nob + 1;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> cpl_imagelist_set(list_off,</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> cpl_image_load(name,CPL_TYPE_FLOAT,0,0),nof);</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> nof = nof + 1;</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> }</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> }</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> }</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keywordflow">if</span> (cfg->noff != nof || cfg->nobj != nob ){ </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"something wrong with the number of the "</span></div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="stringliteral">"different types of frames"</span>);</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> }</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment"> #---take the average of the different cubes -------------</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> sinfo_msg(<span class="stringliteral">"take the average of the different cubes"</span>);</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> check_nomsg(no=cpl_imagelist_get_size(list_object));</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> lo_cut=(floor)(cfg->loReject*no+0.5);</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> hi_cut=(floor)(cfg->hiReject*no+0.5);</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> check(im_on=cpl_imagelist_collapse_minmax_create(list_object,lo_cut,hi_cut),</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="stringliteral">"sinfo_average_with_rejection failed"</span> );</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keywordflow">if</span> (cfg->noff != 0) {</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="comment"> im_off = sinfo_average_with_rejection( cube_off, </span></div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment"> cfg->loReject, cfg->hiReject );</span></div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> check_nomsg(no=cpl_imagelist_get_size(list_off));</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> lo_cut=(floor)(cfg->loReject*no+0.5);</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> hi_cut=(floor)(cfg->hiReject*no+0.5);</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> check(im_off=cpl_imagelist_collapse_minmax_create(list_off,lo_cut,hi_cut),</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="stringliteral">"sinfo_average_with_rejection failed"</span> );</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> sinfo_free_imagelist(&list_off);</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> }</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> sinfo_free_imagelist(&list_object);</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="comment"> #finally, subtract off from on frames and store the result in the object cube</span></div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordflow">if</span> (cfg->noff != 0) {</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> sinfo_msg(<span class="stringliteral">"subtract off from on frames"</span>);</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> check(im_on_sub = cpl_image_subtract_create(im_on, im_off),</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="stringliteral">"sinfo_sub_image failed"</span> );</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> sinfo_free_image(&im_on);</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> sinfo_free_image(&im_off);</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> check_nomsg(im_on_sub = cpl_image_duplicate(im_on));</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> sinfo_free_image(&im_on);</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> }</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="comment"> # convolution with Gaussian if recommended</span></div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordflow">if</span> (cfg->gaussInd == 1) {</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> sinfo_msg(<span class="stringliteral">"convolution with Gaussian"</span>);</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> cknull(im_on_gauss = sinfo_new_convolve_ns_image_by_gauss(im_on_sub, </div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> cfg->hw),</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="stringliteral">"could not carry out sinfo_convolveNSImageByGauss"</span> );</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> sinfo_free_image(&im_on_sub);</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> check_nomsg(im_on_sub = cpl_image_duplicate(im_on_gauss));</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> sinfo_free_image(&im_on_gauss);</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> }</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="comment"> # static bad pixel indication</span></div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="keywordflow">if</span> (cfg->maskInd == 1) {</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> sinfo_msg(<span class="stringliteral">"static bad pixel indication"</span>);</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> check(im_mask = cpl_image_load(cfg->mask,CPL_TYPE_FLOAT,0,0),</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="stringliteral">"could not load static bad pixel mask"</span> );</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> cknull(im_on_ind = sinfo_new_mult_image_by_mask(im_on_sub, im_mask),</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="stringliteral">"could not carry out sinfo_multImageByMask"</span> );</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> sinfo_free_image(&im_mask);</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> sinfo_free_image(&im_on_sub);</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> check_nomsg(im_on_ind = cpl_image_duplicate(im_on_sub));</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> sinfo_free_image(&im_on_sub);</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> }</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="keywordflow">if</span>(pdensity > 1 && strcmp(plugin_id,<span class="stringliteral">"sinfo_rec_distortion"</span>)!=0) {</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> ck0(sinfo_pro_save_ima(im_on_ind,ref_set,sof,cfg->fitsname,</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> PRO_MASTER_SLIT,NULL,plugin_id,config),</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="stringliteral">"cannot save ima %s"</span>, cfg->fitsname);</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> }</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="comment"> # do the north - south - test</span></div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> sinfo_msg(<span class="stringliteral">"Do the north - south - test"</span>);</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> cknull(distances = sinfo_north_south_test(im_on_ind, </div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> cfg->nslits,</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> cfg->halfWidth,</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> cfg->fwhm ,</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> cfg->minDiff,</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> cfg->estimated_dist,</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> cfg->devtol, </div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> IMA_PIX_START, </div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> IMA_PIX_END ),</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="stringliteral">"North South Test distance determination failed"</span>);</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> sinfo_free_image(&im_on_ind);</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="comment"> sinfo_new_parameter_to_ascii(distances, cfg->nslits - 1, cfg->outName);</span></div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> check_nomsg(tbl_dist = cpl_table_new(cfg->nslits - 1));</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> check_nomsg(cpl_table_new_column(tbl_dist,<span class="stringliteral">"slitlet_distance"</span>,</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> CPL_TYPE_FLOAT));</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> check_nomsg(cpl_table_copy_data_float(tbl_dist,<span class="stringliteral">"slitlet_distance"</span>,</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> distances));</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> strcpy(tbl_name,cfg->outName);</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> </div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> check_nomsg(qclog_tbl = cpl_table_new(cfg->nslits + 1));</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> check_nomsg(cpl_table_new_column(qclog_tbl,<span class="stringliteral">"key_name"</span>, CPL_TYPE_STRING));</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> check_nomsg(cpl_table_new_column(qclog_tbl,<span class="stringliteral">"key_type"</span>, CPL_TYPE_STRING));</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> check_nomsg(cpl_table_new_column(qclog_tbl,<span class="stringliteral">"key_value"</span>, CPL_TYPE_STRING));</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> check_nomsg(cpl_table_new_column(qclog_tbl,<span class="stringliteral">"key_help"</span>, CPL_TYPE_STRING));</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> check_nomsg(qc_dist=cpl_vector_new(cfg->nslits - 1));</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="keywordflow">for</span>(i=0;i<cfg->nslits - 1;i++) {</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> snprintf(key_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%i"</span>,<span class="stringliteral">"QC SL DIST"</span>,i);</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> cpl_table_set_string(qclog_tbl,<span class="stringliteral">"key_name"</span>,i,key_name);</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> cpl_table_set_string(qclog_tbl,<span class="stringliteral">"key_type"</span>,i,<span class="stringliteral">"CPL_TYPE_DOUBLE"</span>);</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> snprintf(key_value,MAX_NAME_SIZE-1,<span class="stringliteral">"%g"</span>,distances[i]);</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> cpl_table_set_string(qclog_tbl,<span class="stringliteral">"key_value"</span>,i,key_value);</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> cpl_table_set_string(qclog_tbl,<span class="stringliteral">"key_help"</span>,i,<span class="stringliteral">"Slitlet distance"</span>);</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> cpl_vector_set(qc_dist,i,distances[i]);</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> }</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> check_nomsg(qc_dist_mean=cpl_vector_get_mean(qc_dist));</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> check_nomsg(qc_dist_stdev=cpl_vector_get_stdev(qc_dist));</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> </div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> cpl_table_set_string(qclog_tbl,<span class="stringliteral">"key_name"</span>,cfg->nslits-1,<span class="stringliteral">"QC SL DISTAVG"</span>);</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> cpl_table_set_string(qclog_tbl,<span class="stringliteral">"key_type"</span>,cfg->nslits-1,<span class="stringliteral">"CPL_TYPE_DOUBLE"</span>);</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> snprintf(key_value,MAX_NAME_SIZE-1,<span class="stringliteral">"%g"</span>,cpl_vector_get_mean(qc_dist));</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> cpl_table_set_string(qclog_tbl,<span class="stringliteral">"key_value"</span>,cfg->nslits-1,key_value);</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> cpl_table_set_string(qclog_tbl,<span class="stringliteral">"key_help"</span>,cfg->nslits-1,</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="stringliteral">"Average Slitlet distance"</span>);</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> </div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> cpl_table_set_string(qclog_tbl,<span class="stringliteral">"key_name"</span>,cfg->nslits,<span class="stringliteral">"QC SL DISTRMS"</span>);</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> cpl_table_set_string(qclog_tbl,<span class="stringliteral">"key_type"</span>,cfg->nslits,<span class="stringliteral">"CPL_TYPE_DOUBLE"</span>);</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> snprintf(key_value,MAX_NAME_SIZE-1,<span class="stringliteral">"%g"</span>,qc_dist_stdev);</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> cpl_table_set_string(qclog_tbl,<span class="stringliteral">"key_value"</span>,cfg->nslits,key_value);</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> cpl_table_set_string(qclog_tbl,<span class="stringliteral">"key_help"</span>,cfg->nslits,</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="stringliteral">"RMS Slitlet distance"</span>);</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> ck0(sinfo_pro_save_tbl(tbl_dist,ref_set,sof,tbl_name,</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> PRO_SLITLETS_DISTANCE,qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="stringliteral">"cannot dump tbl %s"</span>, tbl_name);</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> </div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> sinfo_free_my_vector(&qc_dist);</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> sinfo_free_table(&tbl_dist);</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> sinfo_free_float(&distances);</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> sinfo_ns_free (&cfg);</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> sinfo_free_frameset(&raw);</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> </div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> cleanup:</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> sinfo_free_my_vector(&qc_dist);</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> sinfo_free_table(&tbl_dist);</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> sinfo_free_float(&distances);</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> sinfo_free_table(&tbl_dist);</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> sinfo_free_imagelist(&list_object);</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> sinfo_free_imagelist(&list_off);</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> sinfo_free_image(&im_on);</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> sinfo_free_image(&im_mask);</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> sinfo_free_image(&im_on_gauss);</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> sinfo_free_image(&im_on_sub);</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> sinfo_free_image(&im_off);</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> sinfo_free_image(&im_on_ind);</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> sinfo_ns_free (&cfg);</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> sinfo_free_frameset(&raw);</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> </div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> }</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__nst_8h_source.html b/html/sinfo__new__nst_8h_source.html
deleted file mode 100644
index e52eaa5..0000000
--- a/html/sinfo__new__nst_8h_source.html
+++ /dev/null
@@ -1,134 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_nst.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_nst.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_NEW_NST_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_NEW_NST_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*****************************************************************************</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* "@(#) $Id: sinfo_new_nst.h,v 1.7 2007/09/21 14:49:00 amodigli Exp $"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* amodigli 17/09/03 created</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * new_nsh.h</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * Result of a north-south test exposure are 32 continuum spectra of a </span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> * pinhole that means one spectrum in each slitlet at the same spatial </span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> * position.</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> * Each spectrum is fitted in sp[atial direction by a Gaussian to get the </span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> * sub-pixel positions for each row.</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> * Then the distances are determined in each row and averaged</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> * Result: are distances of each slitlet from each other => 31 values stored </span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> * in an ASCII file this Python script needs a frame of a pinhole source with </span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> * a continuous spectrum, that is shifted exactly perpendicular to the </span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> * slitlets. It fits the spectra in spatial direction by a Gaussian fit </span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> * function and therefore determines the sub-pixel position of the source.</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> * Then the distances of the slitlets from each other are determined and </span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> * saved in an ASCII list. </span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> * Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> Function : sinfo_nst()</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> In : ini_file: file name of according .ini file</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> Out : integer (0 if it worked, -1 if it doesn't) </span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> Job :</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> * Result of a north-south test exposure are 32 continuum spectra of a </span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> * pinhole that means one spectrum in each slitlet at the same spatial </span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> * position.</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> * Each spectrum is fitted in sp[atial direction by a Gaussian to get the </span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> * sub-pixel positions for each row.</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> * Then the distances are determined in each row and averaged </span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"></span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"></span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> sinfo_new_nst (<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id, </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> cpl_parameterlist* config,</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> cpl_frameset* <span class="keyword">set</span>,</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> cpl_frameset* ref_set) ;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="preprocessor">#endif </span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__objnod_8c_source.html b/html/sinfo__new__objnod_8c_source.html
deleted file mode 100644
index bd99d8d..0000000
--- a/html/sinfo__new__objnod_8c_source.html
+++ /dev/null
@@ -1,915 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_objnod.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_objnod.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_new_objnod.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : J. Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : December 3, 2003</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : Creates data cubes or merges data cubes </span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> out of jittered object-sky</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> nodding observations </span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_new_objnod.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_hidden.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_pro_save.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_objnod_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_pfits.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_utilities_scired.h"</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_wave_calibration.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_cube_construct.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#define PI_NUMB (3.1415926535897932384626433832795) </span><span class="comment">/* pi */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> Function Definitions</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> Function : sinfo_new_objnod()</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> In : ini_file: file name of according .ini file</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> Out : integer (0 if it worked, -1 if it doesn't) </span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> Job : this routine carries through the data cube creation of an </span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> object science observation using object-sky nodding</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> and jittering. This script expects jittered frames that</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> were already sky-subtracted</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> averaged, flatfielded, spectral tilt corrected and </span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> interleaved if necessary</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">int</span> sinfo_new_objnod (<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id,cpl_parameterlist* config, </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> cpl_frameset* sof, <span class="keyword">const</span> <span class="keywordtype">char</span>* procatg)</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> {</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> object_config * cfg=NULL ;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> cpl_image * im=NULL ;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> cpl_image * wavemapim=NULL ;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> cpl_image * resampledImage=NULL ;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> cpl_image * calim=NULL ;</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> cpl_image * halospec=NULL ;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> cpl_image * sky_im=NULL;</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> cpl_image* res_flat=NULL;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> cpl_image* res_sky=NULL;</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> cpl_image* flat_im=NULL;</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> cpl_image* jitter_image=NULL;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> cpl_image* eima_avg=NULL;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> cpl_image* eima_med=NULL;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> cpl_imagelist * cube=NULL ;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> cpl_imagelist * outcube=NULL ;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> cpl_imagelist * outcube2=NULL ;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> cpl_imagelist ** cubeobject=NULL ;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> cpl_imagelist ** cube_tmp=NULL ;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> cpl_imagelist * jittercube=NULL ;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> cpl_imagelist * maskcube=NULL ;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> cpl_imagelist* cflat=NULL;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> cpl_imagelist* cflat2=NULL;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> cpl_imagelist* csky=NULL;</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> cpl_imagelist* csky2=NULL;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordtype">int</span> n=0;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">int</span> partind = 0 ;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keywordtype">int</span> centralpix=0 ;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">int</span> z_siz=0;</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">int</span> z_min=0;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keywordtype">int</span> z_max=0;</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordtype">int</span> z=0;</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">int</span> z_stp=100;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">int</span> scales_sky=0;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">int</span> ks_clip=0;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">double</span> kappa=2.0;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">float</span> ref_offx=0;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">float</span> ref_offy=0;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">float</span> mi=0 ;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">float</span> ma=0 ;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">float</span> fcol=0 ;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordtype">float</span> center_x=0;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordtype">float</span> newcenter_x=0 ;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordtype">float</span> center_y=0;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keywordtype">float</span> newcenter_y=0;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">float</span> cd1_1=0;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordtype">float</span> cd1_2=0;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordtype">float</span> cd2_1=0;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordtype">float</span> cd2_2=0;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordtype">float</span> pixelscale=0;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordtype">float</span> angle=0;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keywordtype">float</span> radangle=0;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordtype">double</span> exptime=0;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordtype">float</span> * correct_dist=NULL ;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keywordtype">float</span> * distances=NULL ;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordtype">double</span> * times=NULL ;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordtype">float</span> * offsetx=NULL;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">float</span> * offsety=NULL;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordtype">float</span> ** slit_edges=NULL ;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordtype">float</span> offx_min=1.e10;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordtype">float</span> offy_min=1.e10;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordtype">float</span> offx_max=-1.e10;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordtype">float</span> offy_max=-1.e10;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordtype">double</span> dis=0;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordtype">double</span> centralLambda=0;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keywordtype">char</span> name_jitter[MAX_NAME_SIZE] ;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keywordtype">char</span> pro_mjit[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keywordtype">char</span> pro_obs[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keywordtype">char</span> pro_med[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordtype">char</span> * name=NULL ;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordtype">char</span> * partname=NULL;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordtype">char</span> * partname2=NULL;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keywordtype">char</span> file_name[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keywordtype">int</span> vllx=0;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordtype">int</span> vlly=0;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordtype">int</span> vurx=0;</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="keywordtype">int</span> vury=0;</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordtype">int</span> onp=0;</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> cpl_image* j_img=NULL;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> cpl_image* m_img=NULL;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> cpl_table* qclog_tbl=NULL;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> cpl_image* ill_cor=NULL;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> cpl_frame* frame=NULL;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> cpl_frameset* stk=NULL;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> cpl_parameter* p=NULL;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordtype">int</span> mosaic_max_size=0;</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="stringliteral">"sinfoni.objnod.mosaic_max_size"</span>));</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> check_nomsg(mosaic_max_size=cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keywordflow">if</span> (strcmp(procatg,PRO_COADD_STD) == 0) {</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> strcpy(pro_mjit,PRO_MASK_COADD_STD);</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> strcpy(pro_obs,PRO_OBS_STD);</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> strcpy(pro_med,PRO_MED_COADD_STD);</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(procatg,PRO_COADD_PSF) == 0) {</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> strcpy(pro_mjit,PRO_MASK_COADD_PSF);</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> strcpy(pro_obs,PRO_OBS_PSF);</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> strcpy(pro_med,PRO_MED_COADD_PSF);</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> strcpy(pro_mjit,PRO_MASK_COADD_OBJ);</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> strcpy(pro_obs,PRO_OBS_OBJ);</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> strcpy(pro_med,PRO_MED_COADD_OBJ);</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> }</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment">/*----parse input data and parameters to set cube_config cfg---*/</span></div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> check_nomsg(stk = cpl_frameset_new());</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> cknull(cfg = sinfo_parse_cpl_input_objnod(config,sof,&stk),</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="stringliteral">"Error setting parameter configuration"</span>);</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> ck0(sinfo_check_input_data(cfg),<span class="stringliteral">"error checking input"</span>);</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keywordflow">if</span> ( cfg->jitterind == 1 )</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> {</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> cknull(times = (<span class="keywordtype">double</span>*) cpl_calloc (cfg->nframes, sizeof (<span class="keywordtype">double</span>)), </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="stringliteral">" could not allocate memory!"</span>) ;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> cknull(offsetx = (<span class="keywordtype">float</span>*) cpl_calloc (cfg->nframes, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)),</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="stringliteral">" could not allocate memory!"</span>) ;</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> cknull(offsety = (<span class="keywordtype">float</span>*) cpl_calloc (cfg->nframes, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)),</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="stringliteral">" could not allocate memory!"</span>) ;</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> }</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keywordflow">if</span> (cfg->jitterind == 0)</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> {</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordflow">if</span> ( NULL != (partname = strtok(cfg->outName, <span class="stringliteral">"."</span>))) </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> {</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> partname2 = strtok (NULL, <span class="stringliteral">"."</span>) ;</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> partind = 1 ;</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> }</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> }</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> ck0(sinfo_auto_size_cube5(cfg,&ref_offx,&ref_offy,</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> &offx_min,&offy_min,</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> &offx_max,&offy_max),</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="stringliteral">"Error resizing cube"</span>);</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> check_nomsg(p=cpl_parameterlist_find(config,<span class="stringliteral">"sinfoni.objnod.fcol"</span>));</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> check_nomsg(fcol=cpl_parameter_get_double(p));</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_ILL_COR)) {</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> sinfo_msg(<span class="stringliteral">"Illumination correction cube is provided"</span>);</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> frame = cpl_frameset_find(sof,PRO_ILL_COR);</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> ill_cor=cpl_image_load(cpl_frame_get_filename(frame),CPL_TYPE_FLOAT,0,0);</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> sinfo_msg(<span class="stringliteral">"Illumination correction cube not provided"</span>);</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> cpl_error_reset();</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> }</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keywordflow">for</span> ( n = 0 ; n < cfg->nframes ; n++ )</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> {</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> sinfo_msg(<span class="stringliteral">"Read FITS information"</span>);</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> name = cfg->framelist[n] ; </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keywordflow">if</span> (n == 0)</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> {</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> strcpy (name_jitter, name) ;</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> } </div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keywordflow">if</span>( sinfo_is_fits_file(name) != 1) {</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Input file %s is not FITS"</span>,name);</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> }</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="comment">/* get some header values and compute the CD-sinfo_matrix */</span></div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> plist=cpl_propertylist_load(name,0);</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> pixelscale = sinfo_pfits_get_pixscale(plist) /2;</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> angle = sinfo_pfits_get_posangle(plist) ;</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="comment">/* in PUPIL data there is not posangle info: we reset the error */</span></div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> cpl_error_reset();</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> }</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> radangle = angle * PI_NUMB / 180. ;</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> cd1_1 = cos(radangle) ;</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> cd1_2 = sin(radangle) ;</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> cd2_1 = -sin(radangle) ;</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> cd2_2 = cos(radangle) ;</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> sinfo_msg(<span class="stringliteral">"frame no.: %d, name: %s\n"</span>, n, name) ;</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> cknull(im = cpl_image_load(name,CPL_TYPE_FLOAT,0,0),</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="stringliteral">" could not load frame %s!"</span>,name) ;</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="keywordflow">if</span> (cfg->jitterind == 1)</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> {</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> exptime = sinfo_pfits_get_ditndit(name) ;</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keywordflow">if</span> (exptime == FLAG)</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> {</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not read fits header keyword exptime!"</span>);</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> }</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> times[n] = exptime ;</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> ck0(sinfo_new_assign_offset(n,name,offsetx,offsety,</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> ref_offx,ref_offy),</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="stringliteral">"Error assigning offsets"</span>);</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> }</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> </div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="comment"> *-------------------------------------------------------------- </span></div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="comment"> *---------------------RESAMPLING-------------------------------</span></div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="comment"> *--------------------------------------------------------------</span></div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> sinfo_msg(<span class="stringliteral">"Resampling object"</span>);</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> cknull(wavemapim = cpl_image_load(cfg->wavemap,CPL_TYPE_FLOAT,0,0),</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="stringliteral">"could not load wavemap"</span>);</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> cknull(resampledImage = sinfo_new_defined_resampling( im, </div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> wavemapim, </div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> cfg->ncoeffs,</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> &cfg->nrows,</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> &dis,</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> &mi,</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> &ma,</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> ¢ralLambda,</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> ¢ralpix),</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="stringliteral">" sinfo_definedResampling() failed"</span> ) ;</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keywordflow">if</span>(n ==0) {</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="keywordflow">if</span>(strcmp(cfg->mflat_dist,<span class="stringliteral">"not_found"</span>) != 0) {</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> sinfo_msg(<span class="stringliteral">"Resampling master flat"</span>);</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> cknull(flat_im=cpl_image_load(cfg->mflat_dist,CPL_TYPE_FLOAT,0,0),</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="stringliteral">"Distorted master flat field not found\n"</span></div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="stringliteral">"You may have set --stack-flat_ind=FALSE\n"</span></div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="stringliteral">"Flat field resampling skipped"</span>);</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> cknull(res_flat = sinfo_new_defined_resampling(flat_im, </div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> wavemapim,</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> cfg->ncoeffs,</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> &cfg->nrows,</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> &dis,</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> &mi,</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> &ma,</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> ¢ralLambda,</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> ¢ralpix),</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="stringliteral">" sinfo_definedResampling() failed"</span> ) ;</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> sinfo_free_image(&flat_im) ;</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> }</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> </div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="keywordflow">if</span>(strcmp(cfg->sky_dist,<span class="stringliteral">"no_sky"</span>)!=0) {</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> sinfo_msg(<span class="stringliteral">"Resampling sky"</span>);</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> check_nomsg(sky_im=cpl_image_load(cfg->sky_dist,</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> cknull(res_sky = sinfo_new_defined_resampling(sky_im,</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> wavemapim,</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> cfg->ncoeffs,</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> &cfg->nrows,</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> &dis,</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> &mi,</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> &ma,</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> ¢ralLambda,</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> ¢ralpix),</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="stringliteral">" sinfo_definedResampling() failed"</span> );</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> </div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> sinfo_free_image(&sky_im) ;</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> }</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> }</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> sinfo_msg (<span class="stringliteral">"dispersion %f\n"</span>, dis) ;</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> sinfo_msg (<span class="stringliteral">"lambda min %f max %f cent %f\n"</span>, mi,ma,centralLambda ) ;</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> sinfo_msg (<span class="stringliteral">"central pixel %d\n"</span>, centralpix) ; </div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> sinfo_free_image(&im) ;</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> sinfo_free_image(&wavemapim) ;</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> </div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="comment"> *-------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="comment"> *----------------Calibration----------------------------------------</span></div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="comment"> *-------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="comment">/*----Multiply with calibrated halogen lamp spectrum----*/</span> </div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="keywordflow">if</span> (cfg->halocorrectInd == 1)</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> { </div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> sinfo_msg(<span class="stringliteral">"Calibration"</span>);</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> check_nomsg(halospec = cpl_image_load(cfg->halospectrum,</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> CPL_TYPE_FLOAT,0,0)) ;</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> </div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> cknull(calim = sinfo_new_multiply_image_with_spectrum(resampledImage,</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> halospec),</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="stringliteral">" sinfo_new_multiply_image_with_spectrum() failed"</span> ) ;</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> </div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> sinfo_free_image(&halospec) ;</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> sinfo_free_image(&resampledImage) ;</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> resampledImage = cpl_image_duplicate(calim) ;</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> sinfo_free_image(&calim);</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> }</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="comment"> *-------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="comment"> *------------------CUBECREATION-------------------------------------</span></div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="comment"> *-------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> sinfo_msg(<span class="stringliteral">"Cube creation"</span>);</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="comment">/*---select north-south-test or fitting of slitlet edges--*/</span></div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="keywordflow">if</span> (cfg->northsouthInd == 0) {</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> sinfo_msg(<span class="stringliteral">"cfg->northsouthInd == 0"</span>);</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> cknull(slit_edges = sinfo_read_slitlets_edges(cfg->nslits,cfg->poslist),</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="stringliteral">"error reading slitlets edges"</span>);</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> sinfo_msg(<span class="stringliteral">"cfg->northsouthInd != 0"</span>);</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> cknull(distances = sinfo_read_distances(cfg->nslits,cfg->distlist),</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="stringliteral">"error reading distances"</span>);</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> }</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> </div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> cknull(correct_dist = (<span class="keywordtype">float</span>*) cpl_calloc(cfg->nslits, sizeof (<span class="keywordtype">float</span>)),</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="stringliteral">" could not allocate memory!"</span>) ;</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> </div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> sinfo_msg(<span class="stringliteral">"Create cube object"</span>);</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="keywordflow">if</span> (cfg->northsouthInd ==0 ) {</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> </div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> cknull(cube = sinfo_new_make_cube_spi(resampledImage,</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> slit_edges,</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> correct_dist),</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="stringliteral">" could not construct data cube!"</span>) ;</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> </div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> cknull(cube = sinfo_new_make_cube_dist(resampledImage,</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> fcol,</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> distances,</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> correct_dist),</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="stringliteral">" could not construct a data cube!"</span>) ;</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> }</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> sinfo_free_image(&resampledImage);</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> </div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="keywordflow">if</span>(n==0) {</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="keywordflow">if</span>(strcmp(cfg->mflat_dist,<span class="stringliteral">"not_found"</span>)!=0) {</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> sinfo_msg(<span class="stringliteral">"Create cube master flat"</span>);</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="keywordflow">if</span> (cfg->northsouthInd ==0 ) {</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> cknull(cflat=sinfo_new_make_cube_spi(res_flat,</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> slit_edges,</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> correct_dist),</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="stringliteral">" could not construct data cube!"</span>) ;</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> cknull(cflat = sinfo_new_make_cube_dist(res_flat,</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> fcol,</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> distances,</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> correct_dist),</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="stringliteral">" could not construct a data cube!"</span>) ;</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> }</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> sinfo_free_image(&res_flat);</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> }</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="keywordflow">if</span>(strcmp(cfg->sky_dist,<span class="stringliteral">"no_sky"</span>)!=0) {</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> </div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> sinfo_msg(<span class="stringliteral">"Create cube sky"</span>);</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="keywordflow">if</span> (cfg->northsouthInd ==0 ) {</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> cknull(csky = sinfo_new_make_cube_spi(res_sky,</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> slit_edges,</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> correct_dist),</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="stringliteral">" could not construct data cube!"</span>) ;</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> cknull(csky = sinfo_new_make_cube_dist(res_sky,</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> fcol,</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> distances,</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> correct_dist),</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="stringliteral">" could not construct a data cube!"</span>) ;</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> }</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> sinfo_free_image(&res_sky);</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> }</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> }</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> </div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> </div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> <span class="keywordflow">if</span> (cfg->northsouthInd ==0 )</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> {</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> sinfo_new_destroy_2Dfloatarray(&slit_edges,cfg->nslits);</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> }</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> {</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> sinfo_new_destroy_array(&distances);</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> }</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> </div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="comment"> *--------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="comment"> *------------------------FINETUNING----------------------------------</span></div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="comment"> *--------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="comment"> * shift the rows of the reconstructed images of the data cube to the </span></div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="comment"> * correct sub pixel position select the shift method: polynomial </span></div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="comment"> * interpolation, FFT or cubic spline interpolation</span></div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="comment"> *--------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> </div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="keywordflow">if</span>(n==0) {</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="keywordflow">if</span>(strcmp(cfg->sky_dist,<span class="stringliteral">"no_sky"</span>)!=0) {</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> cknull(csky2=sinfo_new_fine_tune(csky,</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> correct_dist,</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> cfg->method,</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> cfg->order,</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> cfg->nslits),</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="stringliteral">" could not fine tune the data cube"</span>) ;</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> </div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> sinfo_free_imagelist(&csky);</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> sinfo_msg(<span class="stringliteral">"Stretch output cube along Y direction"</span>);</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> </div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> cknull(csky = sinfo_new_bin_cube(csky2,1,2,0,63,0,63),</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="stringliteral">"error rebinning sky cube"</span>);</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> sinfo_free_imagelist(&csky2);</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> </div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> </div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> </div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> ck0(sinfo_pro_save_ims(csky,sof,sof,<span class="stringliteral">"out_sky_cube.fits"</span>,</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> PRO_OBS_SKY,NULL,plugin_id,config),</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="stringliteral">"cannot dump cube %s"</span>, <span class="stringliteral">"out_sky_cube.fits"</span>);</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> </div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> cknull(eima_med=sinfo_new_median_cube(csky),</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="stringliteral">"Creating an average image"</span>);</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> check_nomsg(center_x = cpl_image_get_size_x(eima_med)/ 2. + 0.5);</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> check_nomsg(center_y = cpl_image_get_size_y(eima_med)/ 2. + 0.5);</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> </div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> sinfo_new_set_wcs_cube(csky, <span class="stringliteral">"out_sky_cube.fits"</span>, centralLambda, </div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> dis, centralpix, center_x, center_y);</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> </div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> sinfo_free_imagelist(&csky) ;</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> </div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> ck0(sinfo_pro_save_ima(eima_med,sof,sof,<span class="stringliteral">"out_sky_med.fits"</span>,</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> PRO_SKY_MED,NULL,plugin_id,config),</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> <span class="stringliteral">"cannot save ima %s"</span>, <span class="stringliteral">"out_sky_med.fits"</span>);</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> </div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> sinfo_new_set_wcs_image(eima_med,<span class="stringliteral">"out_sky_med.fits"</span>, </div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> center_x, center_y);</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> sinfo_free_image(&eima_med);</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> }</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> </div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> </div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> <span class="keywordflow">if</span>(strcmp(cfg->mflat_dist,<span class="stringliteral">"not_found"</span>)!=0) {</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> </div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> cknull(cflat2=sinfo_new_fine_tune(cflat,correct_dist,</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> cfg->method,cfg->order,</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> cfg->nslits),</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="stringliteral">" could not fine tune the data cube"</span>) ;</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> </div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> sinfo_free_imagelist(&cflat);</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> sinfo_msg(<span class="stringliteral">"Stretch output cube along Y direction"</span>);</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> </div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> cknull(cflat = sinfo_new_bin_cube(cflat2,1,2,0,63,0,63),</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="stringliteral">"Error binning flat cube"</span>);</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> sinfo_free_imagelist(&cflat2);</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> </div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> ck0(sinfo_pro_save_ims(cflat,sof,sof,OBJNOD_OUT_MFLAT_CUBE_FILENAME,</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> PRO_MFLAT_CUBE,NULL,plugin_id,config),</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="stringliteral">"cannot save cube %s"</span>, OBJNOD_OUT_MFLAT_CUBE_FILENAME);</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> </div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> cknull(eima_avg=sinfo_new_average_cube_to_image(cflat),</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> <span class="stringliteral">"Creating an average image"</span>);</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> </div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> ck0(sinfo_pro_save_ima(eima_avg,sof,sof,<span class="stringliteral">"out_mflat_avg.fits"</span>,</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> <span class="stringliteral">"MFLAT_AVG"</span>,NULL,plugin_id,config),</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> <span class="stringliteral">"cannot save ima %s"</span>, <span class="stringliteral">"out_mflat_avg.fits"</span>);</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> </div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> sinfo_free_image(&eima_avg);</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> </div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> cknull(eima_med=sinfo_new_median_cube(cflat),</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> <span class="stringliteral">"Error computing median on cube flat"</span>);</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> </div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> ck0(sinfo_pro_save_ima(eima_med,sof,sof,<span class="stringliteral">"out_mflat_med.fits"</span>,</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="stringliteral">"MFLAT_MED"</span>,NULL,plugin_id,config),</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <span class="stringliteral">"cannot save ima %s"</span>, <span class="stringliteral">"out_mflat_med.fits"</span>);</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> </div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> sinfo_free_imagelist(&cflat); </div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> sinfo_free_image(&eima_med);</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> }</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> }</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> </div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> </div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> cknull(outcube2=sinfo_new_fine_tune(cube,</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> correct_dist,</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> cfg->method,</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> cfg->order,</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> cfg->nslits),</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <span class="stringliteral">" could not fine tune the data cube"</span>) ;</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> </div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> sinfo_msg(<span class="stringliteral">"Stretch output cube along Y direction"</span>);</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> cknull(outcube = sinfo_new_bin_cube(outcube2,1,2,0,63,0,63),</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <span class="stringliteral">"Error binning cube"</span>);</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> sinfo_free_imagelist(&cube);</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> cknull_nomsg(qclog_tbl=sinfo_qclog_init());</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> sinfo_get_pupil_shift(outcube,n,&qclog_tbl);</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> snprintf(file_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%2.2d%s"</span>,</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="stringliteral">"out_cube_obj"</span>,n,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> ck0(sinfo_pro_save_ims(outcube,sof,sof,file_name,</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> pro_obs,qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <span class="stringliteral">"cannot save cube %s"</span>, file_name);</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> </div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> </div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> check_nomsg(center_x = cpl_image_get_size_x(</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> cpl_imagelist_get(outcube,0))/2.+0.5) ;</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> check_nomsg(center_y = cpl_image_get_size_y(</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> cpl_imagelist_get(outcube,0))/2.+0.5 );</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> </div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> </div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> sinfo_new_set_wcs_cube(outcube, file_name, centralLambda, dis, </div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> centralpix, center_x, center_y);</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> </div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="comment">/* free memory */</span></div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> <span class="comment">/* to prevent error message comment next line */</span></div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> sinfo_free_imagelist(&outcube2);</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> sinfo_free_imagelist(&outcube) ;</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> sinfo_free_float(&correct_dist) ;</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> </div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> </div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> } <span class="comment">/* end loop over n (nframes) */</span></div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> </div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="comment">/* leak free */</span></div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> <span class="keywordflow">if</span>(cfg->jitterind == 0) {</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> <span class="keywordflow">goto</span> exit;</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> } </div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> </div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> <span class="comment">/* Here in case of autojitter we estimate the sky */</span></div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> <span class="keywordflow">if</span>( (cfg->size_x*cfg->size_y*cfg->nframes) > (100*mosaic_max_size) ) {</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"Coadd cube size:%d,%d. N frames: %d"</span>,</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> cfg->size_x,cfg->size_y,cfg->nframes);</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"Max allowed should be such that "</span></div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> <span class="stringliteral">"sixeX*sixeY*Nframes < 100*%d"</span>,mosaic_max_size);</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="keywordflow">goto</span> exit;</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> } </div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> </div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <span class="keywordflow">if</span> ( cfg->jitterind == 1 )</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> { </div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> check_nomsg(p = cpl_parameterlist_find(config, <span class="stringliteral">"sinfoni.objnod.vllx"</span>));</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> check_nomsg(vllx = cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> check_nomsg(p = cpl_parameterlist_find(config, <span class="stringliteral">"sinfoni.objnod.vlly"</span>));</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> check_nomsg(vlly = cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> check_nomsg(p = cpl_parameterlist_find(config, <span class="stringliteral">"sinfoni.objnod.vurx"</span>));</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> check_nomsg(vurx = cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> check_nomsg(p = cpl_parameterlist_find(config, <span class="stringliteral">"sinfoni.objnod.vury"</span>));</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> check_nomsg(vury = cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> </div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> cknull(cube_tmp =(cpl_imagelist**) cpl_calloc(cfg->nframes, </div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> sizeof (cpl_imagelist*)),</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> <span class="stringliteral">"Could not allocate memory for cube_tmp"</span>);</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> cknull(cubeobject =(cpl_imagelist**) cpl_calloc(cfg->nframes, </div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="keyword">sizeof</span>(cpl_imagelist*)),</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="stringliteral">"Could not allocate memory for cubeobject"</span>);</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> </div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> <span class="keywordflow">for</span> ( n = 0 ; n < cfg->nframes ; n++ ) {</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> snprintf(file_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%2.2d%s"</span>,<span class="stringliteral">"out_cube_obj"</span>,</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> n,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> check_nomsg(cube_tmp[n] = cpl_imagelist_load(file_name,</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> CPL_TYPE_FLOAT,0));</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> check_nomsg(cubeobject[n] = sinfo_new_cube_getvig(cube_tmp[n],</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> 1+vllx,1+vlly,</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> 64-vurx,64-vury));</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> check_nomsg(sinfo_free_imagelist(&cube_tmp[n]));</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> }</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> sinfo_free_array_imagelist(&cube_tmp);</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> </div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> }</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> </div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> <span class="comment"> ---------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> <span class="comment"> ------------------------JITTERING------------------------------------</span></div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> <span class="comment"> ---------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> </div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> <span class="keywordflow">if</span> (cfg->jitterind == 1)</div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> {</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> sinfo_msg(<span class="stringliteral">"Jittering..."</span>);</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> </div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> sinfo_msg(<span class="stringliteral">"Coadded cube size. x: %d y: %d"</span>,</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> cfg->size_x,cfg->size_y);</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> check_nomsg(jittercube = cpl_imagelist_new()) ;</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> </div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> </div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <span class="comment"> ---------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> <span class="comment"> -------------------THOMAS ALGORITHM----------------------------------</span></div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> <span class="comment"> ---------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> </div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="stringliteral">"sinfoni.objnod.scales_sky"</span>));</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> check_nomsg(scales_sky=cpl_parameter_get_bool(p));</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> check_nomsg(p=cpl_parameterlist_find(config,<span class="stringliteral">"sinfoni.objnod.ks_clip"</span>));</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> check_nomsg(ks_clip = cpl_parameter_get_bool(p));</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> check_nomsg(p=cpl_parameterlist_find(config,<span class="stringliteral">"sinfoni.objnod.kappa"</span>));</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> check_nomsg(kappa = cpl_parameter_get_double(p));</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> </div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> </div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> <span class="keywordflow">if</span>(scales_sky == 1) {</div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> sinfo_msg(<span class="stringliteral">"Subtract spatial sinfo_median to each cube plane"</span>);</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> <span class="keywordflow">for</span>(n=0;n<cfg->nframes;n++) {</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> sinfo_msg(<span class="stringliteral">"process cube %d\n"</span>,n);</div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> sinfo_new_sinfoni_correct_median_it(&(cubeobject[n]));</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> }</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> }</div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> </div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> </div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> <span class="comment">/* AMO CHECK */</span></div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> </div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> cknull(maskcube=cpl_imagelist_new(),<span class="stringliteral">"could not allocate cube!"</span>);</div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> </div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> <span class="comment">/* Illumination correction */</span> </div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> <span class="keywordflow">if</span>(ill_cor != NULL) {</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> <span class="keywordflow">for</span>(n=0;n<cfg->nframes;n++) {</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> sinfo_msg(<span class="stringliteral">"Illumination correction is applied"</span>);</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> cpl_imagelist_divide_image(cubeobject[n],ill_cor);</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> }</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> }</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> sinfo_free_image(&ill_cor);</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> </div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> sinfo_msg(<span class="stringliteral">"Combine jittered cubes"</span>);</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> </div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> </div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> <span class="keywordflow">if</span>(ks_clip == 1) {</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> sinfo_msg(<span class="stringliteral">"Cube coaddition with kappa-sigma"</span>);</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> }</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> check_nomsg(onp=cpl_imagelist_get_size(cubeobject[0]));</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> <span class="keywordflow">for</span>(z=0;z<onp;z+=z_stp) {</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> z_siz=(z_stp < (onp-z)) ? z_stp : (onp-z);</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> z_min=z;</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> z_max=z_min+z_siz;</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> sinfo_msg(<span class="stringliteral">"Coadding cubes: range [%4.4d,%4.4d) of 0-%d\n"</span>,</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> z_min,z_max,onp);</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> </div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> <span class="keywordflow">for</span>(j=z_min;j<z_max;j++) {</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> check_nomsg(j_img=cpl_image_new(cfg->size_x,</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> cfg->size_y,CPL_TYPE_FLOAT));</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> check_nomsg(cpl_imagelist_set(jittercube,j_img,j));</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> check_nomsg(m_img = cpl_image_new(cfg->size_x,</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> cfg->size_y,CPL_TYPE_FLOAT));</div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> check_nomsg(cpl_imagelist_set(maskcube,m_img,j));</div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> }</div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> <span class="keywordflow">if</span>(ks_clip == 1) {</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> sinfo_new_combine_jittered_cubes_thomas_range(cubeobject,</div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> jittercube,</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> maskcube,</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> cfg->nframes,</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> offsetx,offsety,</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> times,</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> cfg->kernel_type,</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> z_min,</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> z_max,</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> kappa);</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> </div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> sinfo_new_combine_jittered_cubes_range(cubeobject, </div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> jittercube,</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> maskcube,</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> cfg->nframes,</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> offsetx,</div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> offsety, </div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> times,</div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> cfg->kernel_type,</div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> z_min,</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> z_max) ;</div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> }</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> }</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> sinfo_new_convert_0_to_ZERO_for_cubes(jittercube) ; </div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> </div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <span class="keywordflow">if</span> (jittercube == NULL)</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> {</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" could not allocate new data cube!"</span>) ;</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> }</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> </div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> <span class="keywordflow">if</span> (maskcube == NULL)</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> {</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" could not merge the jittered data cubes\n"</span>) ;</div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> }</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> </div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> <span class="keywordflow">for</span> ( i = 0 ; i <cfg->nframes ; i++ ) {</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> sinfo_free_imagelist(&cubeobject[i]);</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> }</div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> sinfo_free_array_imagelist(&cubeobject);</div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> </div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> newcenter_x = cfg->size_x / 2. + 0.5 ;</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> newcenter_y = cfg->size_y / 2. + 0.5 ;</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> </div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> ck0(sinfo_pro_save_ims(jittercube,sof,sof,cfg->outName,</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> procatg,NULL,plugin_id,config),</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> <span class="stringliteral">"cannot save cube %s"</span>, cfg->outName);</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> </div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> sinfo_new_set_wcs_cube(jittercube, cfg->outName, centralLambda, </div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> dis, centralpix, center_x, center_y);</div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> </div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> cknull(jitter_image = sinfo_new_median_cube(jittercube),</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> <span class="stringliteral">" could not do sinfo_medianCube()"</span>);</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> </div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> </div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> ck0(sinfo_pro_save_ima(jitter_image,sof,sof,cfg->med_cube_name,</div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> pro_med,NULL,plugin_id,config),</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> <span class="stringliteral">"cannot save ima %s"</span>, cfg->outName);</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> </div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> sinfo_new_set_wcs_image(jitter_image, cfg->med_cube_name,</div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> center_x,center_y);</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> </div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> sinfo_free_image(&jitter_image);</div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> </div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> ck0(sinfo_pro_save_ims(maskcube,sof,sof,cfg->maskname,</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> pro_mjit,NULL,plugin_id,config),</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> <span class="stringliteral">"cannot save cube %s"</span>, cfg->maskname);</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> </div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> sinfo_new_set_wcs_cube(maskcube, cfg->maskname, centralLambda, </div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> dis, centralpix, center_x, center_y);</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> </div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> sinfo_free_double(×) ;</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> sinfo_free_float(&offsetx) ;</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> sinfo_free_float(&offsety) ;</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> sinfo_free_imagelist(&maskcube) ;</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> sinfo_free_imagelist(&jittercube) ; </div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> </div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> } <span class="comment">/* end of jittering */</span></div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> </div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> exit:</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> </div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> <span class="comment">/* free memory */</span></div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> sinfo_objnod_free(&cfg);</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> sinfo_free_frameset(&stk);</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> <span class="keywordflow">return</span> 0; </div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> </div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> cleanup:</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> sinfo_free_image(&jitter_image);</div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> sinfo_free_imagelist(&jittercube) ;</div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> sinfo_free_imagelist(&maskcube) ;</div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> </div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> <span class="keywordflow">if</span>(cfg != NULL) {</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> <span class="keywordflow">if</span>(cube_tmp != NULL) {</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> <span class="keywordflow">for</span> ( n = 0 ; n < cfg->nframes ; n++ ) {</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> sinfo_free_imagelist(&(cube_tmp[n]));</div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> }</div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> sinfo_free_array_imagelist(&cube_tmp);</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> }</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> <span class="keywordflow">if</span>(cubeobject != NULL) {</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> <span class="keywordflow">for</span> ( n = 0 ; n < cfg->nframes ; n++ ) {</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> sinfo_free_imagelist(&(cubeobject[n]));</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> }</div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> sinfo_free_array_imagelist(&cubeobject);</div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> }</div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> </div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> }</div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> </div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> sinfo_free_imagelist(&outcube2) ;</div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> sinfo_free_imagelist(&outcube) ;</div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> sinfo_free_image(&eima_avg);</div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> sinfo_free_image(&eima_med);</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> sinfo_free_imagelist(&cflat) ;</div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> sinfo_free_imagelist(&cflat2) ;</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> sinfo_free_imagelist(&cube) ;</div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> sinfo_free_imagelist(&csky) ;</div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> sinfo_free_imagelist(&csky2) ;</div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> </div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> <span class="keywordflow">if</span>(cfg!=NULL) {</div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> <span class="keywordflow">if</span> (cfg->northsouthInd ==0 ) {</div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> <span class="keywordflow">if</span>(slit_edges != NULL) {</div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> sinfo_new_destroy_2Dfloatarray(&slit_edges,cfg->nslits);</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> }</div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> <span class="keywordflow">if</span> (distances != NULL ) {</div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> sinfo_new_destroy_array(&distances);</div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> }</div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> }</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> }</div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> </div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> sinfo_free_float(&correct_dist);</div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> sinfo_free_image(&res_flat);</div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> sinfo_free_image(&res_sky);</div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> sinfo_free_image(&calim);</div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> sinfo_free_image(&halospec) ;</div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> sinfo_free_image(&sky_im) ;</div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> sinfo_free_image(&resampledImage);</div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> sinfo_free_image(&flat_im) ;</div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> sinfo_free_image(&wavemapim);</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> sinfo_free_image(&im);</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> sinfo_free_image(&ill_cor);</div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> sinfo_free_float(&offsety);</div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> sinfo_free_float(&offsetx);</div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> sinfo_free_double(×);</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> sinfo_objnod_free(&cfg);</div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> sinfo_free_frameset(&stk);</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> </div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> <span class="keywordflow">return</span> -1; </div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> </div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> </div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> </div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__objnod_8h_source.html b/html/sinfo__new__objnod_8h_source.html
deleted file mode 100644
index 29abe98..0000000
--- a/html/sinfo__new__objnod_8h_source.html
+++ /dev/null
@@ -1,117 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_objnod.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_objnod.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_NEW_OBJNOD_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_NEW_OBJNOD_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* "@(#) $Id: sinfo_new_objnod.h,v 1.8 2007/06/06 07:10:45 amodigli Exp $"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* schreib 06/05/03 created</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * sinfo_objnod.h</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * routines to create a data cube</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> * Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> @name sinfo_new_objnod()</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> @param ini_file: file name of according .ini file</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> @return integer (0 if it worked, -1 if it doesn't) </span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> @doc this routine does the resampling of an offset-corrected,</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> flatfielded, bad pixel corrected and</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> eventually interleaved data frame. Additionally, an intensity </span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> calibration is carried through by using</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> a standard star or a black body measurement. </span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> The spectral features of the flatfield halogen lamp are corrected.</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> Afterwards a data cube is created out of the resampled image.</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> It is the users choice to use either</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> the fitted sinfo_edge positions of the slitlets or the distances</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> of the slitlets gained from a north-south-test. </span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> sinfo_new_objnod (<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id,</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> cpl_parameterlist* config, </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* procatg) ;</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">#endif </span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor"></span><span class="comment">/*--------------------------------------------------------------------------*/</span><span class="preprocessor"></span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__prepare__stacked__frames_8c_source.html b/html/sinfo__new__prepare__stacked__frames_8c_source.html
deleted file mode 100644
index 00ec5e8..0000000
--- a/html/sinfo__new__prepare__stacked__frames_8c_source.html
+++ /dev/null
@@ -1,1446 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_prepare_stacked_frames.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_prepare_stacked_frames.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"></span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_new_prepare_stacked_frames.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : A. Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Sep 17, 2003</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description :</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> this handles stacks of input frames, that means it takes a clean mean,</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> subtracts the off- from the on-frames, flatfields, corrects for static bad</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> pixels, corrects for a linear tilt of the spectra if necessary, and finally,</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> interleaves dithered exposures or convolves a single exposure with a</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> Gaussian, respectively.</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_new_prepare_stacked_frames.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_stack_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_coltilt.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_image_ops.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_merge.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "sinfo_utilities.h"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include "sinfo_wave_calibration.h"</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include "sinfo_new_bezier.h"</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include "sinfo_shift_images.h"</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include "sinfo_product_config.h"</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include "sinfo_pro_save.h"</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include "sinfo_utilities.h"</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include "sinfo_dfs.h"</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include "sinfo_raw_types.h"</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include "sinfo_wcal_functions.h"</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include "sinfo_new_bezier.h"</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include "sinfo_hidden.h"</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> Function Definitions</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> Function : sinfo_new_prepare_stacked_frames()</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> In : ini_file: file name of according .ini file</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> Out : integer (0 if it worked, -1 if it doesn't)</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> Job :</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> this handles stacks of input frames, that means it takes a clean mean,</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"> subtracts the off- from the on-frames, flatfields, corrects for static bad</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"> pixels, corrects for a linear tilt of the spectra if necessary, and finally,</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"> interleaves dithered exposures or convolves a single exposure with a</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"> Gaussian, respectively.</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"></span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> new_get_names(<span class="keyword">const</span> <span class="keywordtype">char</span>* pcatg, <span class="keyword">const</span> <span class="keywordtype">int</span> ind, stack_config_n ** cfg);</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> new_get_names(<span class="keyword">const</span> <span class="keywordtype">char</span>* pcatg, <span class="keyword">const</span> <span class="keywordtype">int</span> ind, stack_config_n ** cfg){</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordflow">if</span> (strcmp(pcatg,PRO_FIBRE_NS_STACKED_OFF) == 0) {</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> strcpy((*cfg)->outName,DISTORTION_STACK_OFF_OUT_FILENAME);</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> }</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordflow">if</span> (strcmp(pcatg,PRO_FIBRE_NS_STACKED_ON) == 0) {</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> strcpy((*cfg)->outName,<span class="stringliteral">"out_ns_stack_on.fits"</span>);</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> }</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordflow">if</span> (strcmp(pcatg,PRO_FIBRE_NS_STACKED) == 0) {</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> strcpy((*cfg)->outName,<span class="stringliteral">"out_ns_stack.fits"</span>);</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> }</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordflow">if</span> (strcmp(pcatg,PRO_WAVE_LAMP_STACKED) == 0) {</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> strcpy((*cfg)->outName,<span class="stringliteral">"out_wcal_stack.fits"</span>);</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> }</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordflow">if</span> (strcmp(pcatg,PRO_FIBRE_NS_STACKED_DIST)== 0) {</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> strcpy((*cfg)->outName,<span class="stringliteral">"out_ns_stack_warp.fits"</span>);</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> }</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordflow">if</span> (strcmp(pcatg,PRO_WAVE_SLITPOS_STACKED) == 0) {</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> strcpy((*cfg)->outName,<span class="stringliteral">"out_slit_pos_stack.fits"</span>);</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> }</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordflow">if</span> (strcmp(pcatg,PRO_PSF_CALIBRATOR_STACKED)== 0) {</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> snprintf((*cfg)->outName,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%s"</span>,<span class="stringliteral">"out_stack"</span>,ind,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> }</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordflow">if</span> (strcmp(pcatg,PRO_SKY_PSF_CALIBRATOR_STACKED)== 0) {</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> strcpy((*cfg)->outName,STACKED_OUT_FILENAME);</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> }</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordflow">if</span> (strcmp(pcatg,PRO_STD_NODDING_STACKED) == 0) {</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> snprintf((*cfg)->outName,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%s"</span>,<span class="stringliteral">"out_stack"</span>,ind,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> }</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">/* only 1 frame</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment"> if (strcmp(pcatg,PRO_STD_NODDING_STACKED) == 0) {</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment"> strcpy((*cfg)->outName,STACKED_OUT_FILENAME);</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordflow">if</span> (strcmp(pcatg,PRO_SKY_NODDING_STACKED) == 0) {</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> strcpy((*cfg)->outName,STACKED_OUT_FILENAME); <span class="comment">/*STD*/</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> }</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordflow">if</span> (strcmp(pcatg,PRO_OBJECT_NODDING_STACKED) == 0) {</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> snprintf((*cfg)->outName,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%s"</span>,<span class="stringliteral">"out_stack"</span>,ind,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> }</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordflow">if</span> (strcmp(pcatg,PRO_PUPIL_LAMP_STACKED) == 0) {</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> snprintf((*cfg)->outName,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%s"</span>,<span class="stringliteral">"out_stack"</span>,ind,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> }</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">if</span> (strcmp(pcatg,PRO_STACKED) == 0) {</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> snprintf((*cfg)->outName,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%s"</span>,<span class="stringliteral">"out_stack"</span>,ind,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> }</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> snprintf((*cfg)->sky_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%s"</span>,<span class="stringliteral">"out_sky"</span>,ind,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> }</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keywordtype">int</span> sinfo_new_prepare_stacked_frames (<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id,</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> cpl_parameterlist* config,</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> cpl_frameset* sof,</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> cpl_frameset* ref_set,</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* frm_pro_ctg,</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keyword">const</span> <span class="keywordtype">int</span> frm_ind,</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> fake* fk)</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> {</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> stack_config_n * cfg =NULL;</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> cpl_imagelist * list_object=NULL ;</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> cpl_imagelist * list_dither_object=NULL;</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> cpl_imagelist * list_dither_sky=NULL;</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> cpl_imagelist * list_sky=NULL;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> cpl_imagelist * list_dark=NULL;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> new_Lookup* lookup=NULL;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> cpl_image * im3=NULL ;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> cpl_image * im4=NULL ;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> cpl_image * im5=NULL ;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> cpl_image * im6=NULL ;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> cpl_image * im7=NULL ;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> cpl_image * im8=NULL ;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> cpl_image * im9=NULL ;</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> cpl_image * ref_im1=NULL ;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> cpl_image * ref_im2=NULL ;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> cpl_image ** im=NULL ;</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> cpl_image * im_obj=NULL ;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> cpl_image* simg=NULL;</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> cpl_image * im_dark=NULL ;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> cpl_image * im_sky=NULL ;</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> cpl_image * im_dither=NULL ;</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> cpl_image * im_dither_sky=NULL ;</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> cpl_image * im_obj_sub=NULL ;</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> cpl_image * im_obj_flat=NULL ;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> cpl_image * im_dither_sub=NULL ;</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> cpl_image * im_dither_flat=NULL ;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> cpl_image * int_im_shifted=NULL ;</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> cpl_image * int_im_dith_shifted=NULL ;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> cpl_image * im_conv=NULL ;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keywordtype">int</span> sy=0;</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> cpl_image * mask_im=NULL ;</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> cpl_image * flat_smooth=NULL ;</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> cpl_image * flat1=NULL ;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> cpl_image * flat2=NULL ;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> cpl_image * int_im=NULL ;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> cpl_image * int_im_dith=NULL ;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> cpl_image * sky_img_flat=NULL;</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> cpl_image * sky_dist=NULL;</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> cpl_imagelist * iCube=NULL ;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> cpl_imagelist * jCube=NULL ;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> cpl_image * X=NULL ;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> cpl_image * hX=NULL ;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> cpl_image * Y=NULL ;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> cpl_image * Z=NULL ;</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> cpl_table * qclog_tbl=NULL;</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> cpl_image* sky_img=NULL;</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> cpl_image* mdark=NULL;</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keywordtype">char</span>* name=NULL;</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keywordtype">int</span> typ=0;</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keywordtype">int</span> pos=0;</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordtype">int</span> i = 0;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keywordtype">int</span> n = 0;</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="keywordtype">int</span> cnt = 0 ;</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keywordtype">float</span> val_x=0;</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keywordtype">float</span> val_y=0;</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keywordtype">int</span> status=0;</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordtype">float</span>** slit_edges=NULL;</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordtype">char</span>** in_nam=NULL;</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordtype">int</span> nob = 0;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keywordtype">int</span> nsky = 0;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordtype">int</span> nobjdith = 0;</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordtype">int</span> nskydith = 0;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordtype">int</span> nda = 0;</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordtype">char</span> name_list[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="keywordtype">char</span> fake_sky_name[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordtype">int</span> no=0;</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordtype">float</span> lo_cut=0;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordtype">float</span> hi_cut=0;</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> cpl_imagelist* list_object_tmp=NULL;</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> cpl_imagelist* list_dither_object_tmp=NULL;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> cpl_imagelist* list_sky_tmp=NULL;</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> cpl_imagelist* list_dither_sky_tmp=NULL;</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> cpl_image* flat1_dist=NULL;</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> cpl_image* flat2_dist=NULL;</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> cpl_frameset* raw=NULL;</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keywordtype">char</span> file_name[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> cpl_table* tbl_index = NULL;</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> cpl_table* tbl_slitpos=NULL;</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordtype">int</span> rhead=0;</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> cpl_frame* sky_frame = NULL;</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keywordtype">char</span>* sky_name = NULL;</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keywordtype">char</span>* sky_tag = NULL;</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> qc_wcal* qc=sinfo_qc_wcal_new();</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> cpl_parameter* p=NULL;</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="keywordtype">int</span> pdensity=0;</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keywordtype">int</span> mflat_norm_smooth=FALSE;</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="keywordtype">int</span> smooth_rad=16;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="keywordtype">int</span> sub_raw_sky=1;</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="comment"> -----------------------------------------------------------------</span></div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="comment"> 1) parse the file names and parameters to the psf_config data</span></div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment"> structure cfg</span></div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="comment"> -----------------------------------------------------------------</span></div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> check_nomsg(p=cpl_parameterlist_find(config,<span class="stringliteral">"sinfoni.product.density"</span>));</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> check_nomsg(pdensity=cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="stringliteral">"sinfoni.stacked.mflat_norm_smooth"</span>));</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> check_nomsg(mflat_norm_smooth=cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="stringliteral">"sinfoni.stacked.mflat_smooth_rad"</span>));</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> check_nomsg(smooth_rad=cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> check_nomsg(p=cpl_parameterlist_find(config,<span class="stringliteral">"sinfoni.stacked.sub_raw_sky"</span>));</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> check_nomsg(sub_raw_sky=cpl_parameter_get_bool(p));</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> </div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> check_nomsg(raw=cpl_frameset_new());</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> cknull(cfg = sinfo_parse_cpl_input_stack(config,sof,&raw, fk),</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="stringliteral">"could not parse cpl input file!"</span>) ;</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> ck0(sinfo_det_ncounts(raw, cfg->qc_thresh_max,qc),<span class="stringliteral">"computing det ncounts"</span>);</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keywordflow">if</span>(ref_set != NULL) {</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> sinfo_free_frameset(&raw);</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> raw=cpl_frameset_duplicate(ref_set);</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> }</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="comment">/* defines output file name for stack set i */</span></div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> ck0_nomsg(new_get_names(frm_pro_ctg, frm_ind, &cfg));</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> </div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="keywordflow">if</span> (cfg->flatInd == 1){</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(cfg->flatfield1) != 1) {</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Input FF file %s is not FITS"</span>,cfg->flatfield1);</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> }</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> }</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keywordflow">if</span> (cfg->maskInd == 1) {</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(cfg->mask) != 1) {</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Input mask file %s is not FITS"</span>,cfg->mask);</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> }</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="keywordflow">if</span>(cfg -> indind == 0) {</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(cfg->slitposList) != 1) {</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Input slitpos file %s is not FITS"</span>,cfg->slitposList);</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> }</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> }</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> }</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> </div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="comment"> # Take a clean mean of several images</span></div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="comment"> # input is 1 or more similar images</span></div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="keywordflow">if</span> (cfg->sfInd == 1){</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="keywordflow">if</span> (cfg->contains_dark == 0) {</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"no sinfo_dark frames given!"</span>);</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> }</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="keywordflow">if</span> (cfg->contains_ref == 0) {</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no reference frames given!"</span>);</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> }</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> }</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="comment">/* allocate memory for lists of object, sky and dithered frames */</span></div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> check(list_object=cpl_imagelist_new(),</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="stringliteral">"could not allocate memory for object frame"</span>);</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> </div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="keywordflow">if</span> (cfg->contains_dither == 1) {</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> check(list_dither_object=cpl_imagelist_new(),</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="stringliteral">"could not allocate memory for dither object frame"</span>);</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> }</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="keywordflow">if</span> (cfg->contains_sky == 1) {</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> check(list_sky = cpl_imagelist_new(),</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="stringliteral">"could not allocate memory for off frame list"</span>);</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> }</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="keywordflow">if</span> (cfg->contains_dither == 1 && cfg->nditheroff > 0) {</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> check(list_dither_sky = cpl_imagelist_new(),</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="stringliteral">"could not allocate memory for dither frame list"</span>);</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> }</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> </div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keywordflow">if</span> (cfg->contains_dark == 1 && cfg->sfInd == 1) {</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> check(list_dark = cpl_imagelist_new(),</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="stringliteral">"could not allocate memory for sinfo_dark frame"</span>);</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> }</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="keywordflow">if</span> (cfg->contains_dither == 0 && cfg->nditheroff > 0) {</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"please use non-dithered off-frames, remove the 2!"</span>);</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> }</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="comment">/* build different image lists for the different cases */</span></div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> cknull_nomsg(im=(cpl_image**)cpl_calloc(cfg -> nframes, <span class="keyword">sizeof</span>(cpl_image*)));</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="keywordflow">for</span> (i=0; i< cfg->nframes; i++) {</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> name = cfg->framelist[i];</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(name) != 1) {</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Input file %s is not FITS"</span>,name);</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> }</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> check_nomsg(im[i] = cpl_image_load( name,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> }</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="comment">/* up to here leak free */</span></div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> rhead=0;</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keywordflow">for</span> (i=0; i< cfg->nframes; i++) {</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> typ = sinfo_new_intarray_get_value( cfg->frametype, i );</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> pos = sinfo_new_intarray_get_value( cfg->frameposition, i );</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> cknull(im[i],<span class="stringliteral">"could not load image"</span>);</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> </div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="keywordflow">if</span> (pos == 2) {</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="keywordflow">if</span> (typ == 1) {</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> check_nomsg(cpl_imagelist_set(list_object,</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> cpl_image_duplicate(im[i]),nob));</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> nob = nob + 1;</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> }</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( typ == 0 ) {</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> check_nomsg(cpl_imagelist_set(list_sky,</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> cpl_image_duplicate(im[i]),nsky));</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> nsky = nsky + 1;</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="keywordflow">if</span>(pdensity > 0) {</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="keywordflow">if</span>(fk->is_fake_sky==1) {</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> snprintf(fake_sky_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%s"</span>,<span class="stringliteral">"out_fake_sky"</span>,</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> frm_ind,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> check_nomsg(sky_img=cpl_image_load(fake_sky_name,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> ck0(sinfo_pro_save_ima(sky_img,raw,sof,fake_sky_name,</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> PRO_SKY_DUMMY,NULL,</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> plugin_id,config),</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="stringliteral">"cannot save sky ima %s"</span>, fake_sky_name);</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> </div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> sinfo_free_image(&sky_img);</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> }</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> }</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> </div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> </div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="keywordflow">if</span>((pdensity == 3) || (pdensity == 1) ||</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> (pdensity == 2 && frm_ind == 0)) {</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> check_nomsg(sky_frame = cpl_frameset_get_frame(raw,i));</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> check_nomsg(sky_name = (<span class="keywordtype">char</span>*) cpl_frame_get_filename(sky_frame));</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> check_nomsg(sky_tag = (<span class="keywordtype">char</span>*) cpl_frame_get_tag(sky_frame));</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> </div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="keywordflow">if</span> ( (strstr(frm_pro_ctg,<span class="stringliteral">"OBJECT"</span>) != NULL) ||</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> (strstr(frm_pro_ctg,<span class="stringliteral">"PSF"</span>) != NULL) ||</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> (strstr(frm_pro_ctg,<span class="stringliteral">"STD"</span>) != NULL) ) {</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> check_nomsg(sky_img = cpl_image_load(sky_name,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> snprintf(sky_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%2.2d%s"</span>,<span class="stringliteral">"out_sky"</span>,</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> frm_ind,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> ck0(sinfo_pro_save_ima(sky_img,raw,sof,sky_name,</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> PRO_SKY_STACKED_DUMMY,NULL,</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> plugin_id,config),</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="stringliteral">"cannot save sky ima %s"</span>, sky_name);</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> sinfo_free_image(&sky_img);</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="keywordflow">if</span> (cfg->flatInd == 1) {</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> sinfo_msg(<span class="stringliteral">"Sky Flatfielding"</span>);</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> check(flat1=cpl_image_load(cfg->flatfield1,CPL_TYPE_FLOAT,0,0 ),</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="stringliteral">"could not load flatfield image"</span> );</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> </div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="keywordflow">if</span>(mflat_norm_smooth != 0) {</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> </div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="keywordflow">if</span>(mflat_norm_smooth == 1) {</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> </div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> sy=cpl_image_get_size_y(flat1);</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> </div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> cknull(flat_smooth=sinfo_image_smooth_fft(flat1,sy/smooth_rad),</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="stringliteral">"could not smooth flatfield"</span> );</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(mflat_norm_smooth == 2) {</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> cknull(flat_smooth = sinfo_image_smooth_median_y(flat1,</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> smooth_rad),</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="stringliteral">"could not smooth flatfield"</span> );</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> }</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> </div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> check_nomsg(cpl_image_divide(flat1,flat_smooth));</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> sinfo_free_image(&flat_smooth);</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> </div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> }</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> </div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> check_nomsg(simg = cpl_image_load(sky_name,CPL_TYPE_FLOAT,0,0 ));</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> </div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> cknull(sky_img_flat=sinfo_new_div_images_robust(simg,flat1),</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="stringliteral">"could not carry out flatfield division"</span> );</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> sinfo_free_image(&simg);</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> sinfo_free_image(&flat1);</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="comment">/* if (frm_ind == 0) { */</span></div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="keywordflow">if</span> (cfg->warpfixInd == 1){</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> sinfo_msg(<span class="stringliteral">"Correct sky for distortions"</span>);</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> snprintf(file_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%s"</span>,</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> STACK_SKY_DIST_OUT_FILENAME,frm_ind,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> sky_dist = sinfo_new_image_warp_fits(sky_img_flat,</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> cfg->kernel,</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> cfg->polyFile);</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> </div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> ck0(sinfo_pro_save_ima(sky_dist,raw,sof,</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> file_name,</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> PRO_STACK_SKY_DIST,NULL,plugin_id,</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> config),<span class="stringliteral">"cannot save ima %s"</span>,</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> STACK_SKY_DIST_OUT_FILENAME);</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> </div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> sinfo_free_image(&sky_dist);</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> }</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="comment">/* } */</span></div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> sinfo_free_image(&sky_img_flat);</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> } <span class="comment">/* end check on flatind */</span></div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> } <span class="comment">/* end check on procatg */</span></div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> }</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( typ == 5 ) {</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="keywordflow">if</span> (cfg->sfInd == 1) {</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> check_nomsg(cpl_imagelist_set(list_dark,</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> cpl_image_duplicate(im[i]),nda));</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> nda = nda + 1;</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> sinfo_free_image(&(im[i]));</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> }</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( typ == 4 ) {</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> <span class="keywordflow">if</span> ( cfg->sfInd == 1) {</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> ref_im1 = im[i];</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> sinfo_free_image(&(im[i]));</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> }</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> }</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="keywordflow">if</span> (typ == 1) {</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> check_nomsg(cpl_imagelist_set(list_dither_object,</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> cpl_image_duplicate(im[i]),nobjdith));</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> nobjdith = nobjdith + 1;</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (typ == 0) {</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> check_nomsg(cpl_imagelist_set(list_dither_object,</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> cpl_image_duplicate(im[i]),nskydith));</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> nskydith = nskydith + 1;</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (typ == 4) {</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> <span class="keywordflow">if</span> (cfg->sfInd == 1) {</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> ref_im2 = cpl_image_duplicate(im[i]);</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> sinfo_free_image(&(im[i]));</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> }</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> }</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> }</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> } <span class="comment">/* end for loop on i */</span></div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> </div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> <span class="keywordflow">if</span> (nob != cfg->nobj ||</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> cfg->noff != nsky ||</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> nobjdith != cfg->nditherobj ||</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> nskydith != cfg->nditheroff) {</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"something is wrong with the number of the"</span>);</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"different types of frames"</span>);</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> <span class="comment">/* free memory */</span></div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> </div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> }</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> </div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> <span class="keywordflow">if</span> (cfg->sfInd == 1 && nda != cfg->ndark) {</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"something is wrong with the number of sinfo_dark frames"</span>);</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> }</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> sinfo_msg(<span class="stringliteral">"Create and fill cubes with the different images"</span>);</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> </div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> <span class="comment">/* create and fill cubes with the different image lists */</span></div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> cknull(list_object,<span class="stringliteral">"could not create object data cube!"</span>);</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> </div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> <span class="comment">/* shift the images in the cubes-if indicated-in spectral direction</span></div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> <span class="comment"> with respect to the reference image</span></div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="keywordflow">if</span> (cfg->sfInd == 1) {</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> </div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> <span class="comment"> first take the mean of the sinfo_dark frames and subtract the result</span></div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> <span class="comment"> from all cubes</span></div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> sinfo_msg(<span class="stringliteral">"Shift cube images in spectral direction with "</span></div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <span class="stringliteral">"respect to reference"</span>);</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> </div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> <span class="keywordflow">if</span> (cfg->contains_dark == 1) {</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> sinfo_msg(<span class="stringliteral">"cfg->contains_dark == 1"</span>);</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> <span class="keywordflow">if</span> (cfg->loReject*cfg->ndark < 1. && cfg->hiReject * cfg->ndark < 1.) {</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="comment"> im_dark = sinfo_new_average_cube_to_image( list_dark );</span></div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> check(im_dark = cpl_imagelist_collapse_create( list_dark ),</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <span class="stringliteral">"sinfo_averageCubeToImage failed"</span> );</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> }</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> </div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> check_nomsg(no=cpl_imagelist_get_size(list_dark));</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> lo_cut=(floor)( cfg->loReject*no+0.5);</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> hi_cut=(floor)( cfg->hiReject*no+0.5);</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> check(im_dark=cpl_imagelist_collapse_minmax_create(list_dark,lo_cut,</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> hi_cut),</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> <span class="stringliteral">"sinfo_average_with_rejection failed"</span> );</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> </div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> }</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> sinfo_free_imagelist(&list_dark);</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> check_nomsg(list_object_tmp = cpl_imagelist_duplicate (list_object));</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> check(cpl_imagelist_subtract_image (list_object_tmp, im_dark),</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <span class="stringliteral">"cpl_imagelist_subtract_image failed"</span> );</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="comment"> cube_object_tmp = sinfo_subImageFromCube (cube_object, im_dark);</span></div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> sinfo_msg(<span class="stringliteral">"cfg->contains_dark == 0"</span>);</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> check_nomsg(list_object_tmp = cpl_imagelist_duplicate(list_object));</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> }</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> sinfo_free_imagelist(&list_object);</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> </div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> cknull(list_object = sinfo_align_cube_to_reference (list_object_tmp,</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> ref_im1,</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> cfg->sfOrder,</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> cfg->sfType),</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="stringliteral">"sinfo_align_cube_to_reference failed"</span> );</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> </div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> sinfo_free_imagelist(&list_object_tmp);</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> <span class="keywordflow">if</span> (cfg->contains_dither == 1) {</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> <span class="keywordflow">if</span> (cfg->contains_dark == 1) {</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> check_nomsg(list_dither_object_tmp =</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> cpl_imagelist_duplicate(list_dither_object));</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> check(cpl_imagelist_subtract_image(list_dither_object_tmp,im_dark),</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> <span class="stringliteral">"sinfo_average_with_rejection failed"</span> );</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> </div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> <span class="comment"> list_dither_object_tmp =</span></div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> <span class="comment"> sinfo_new_sub_image_from_cube(list_dither_object,</span></div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> <span class="comment"> im_dark);</span></div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> </div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> check_nomsg(list_dither_object_tmp=</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> cpl_imagelist_duplicate(list_dither_object));</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> }</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> sinfo_free_imagelist(&list_dither_object);</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> </div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> cknull(list_dither_object=</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> sinfo_align_cube_to_reference (list_dither_object_tmp,</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> ref_im2,</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> cfg->sfOrder,</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> cfg->sfType),</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="stringliteral">"sinfo_align_cube_to_reference failed"</span> );</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> </div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> sinfo_free_imagelist(&list_dither_object_tmp);</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> }</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <span class="keywordflow">if</span> (cfg->contains_sky == 1) {</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> <span class="keywordflow">if</span> (cfg->contains_dark == 1) {</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> check_nomsg(list_sky_tmp = cpl_imagelist_duplicate(list_sky));</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> check(cpl_imagelist_subtract_image (list_sky_tmp, im_dark),</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> <span class="stringliteral">"sinfo_average_with_rejection failed"</span> );</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> <span class="comment"> cube_sky_tmp = sinfo_subImageFromCube (cube_sky, im_dark);</span></div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> </div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> check_nomsg(list_sky_tmp = cpl_imagelist_duplicate(list_sky));</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> }</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> check_nomsg(list_sky_tmp=cpl_imagelist_duplicate(list_sky));</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> </div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> check(list_sky = sinfo_align_cube_to_reference (list_sky_tmp,</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> ref_im1,</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> cfg->sfOrder,</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> cfg->sfType),</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> <span class="stringliteral">"sinfo_alignCubeToReference failed"</span> );</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> </div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> check_nomsg(cpl_imagelist_delete(list_sky_tmp));</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> }</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> <span class="keywordflow">if</span> (cfg->contains_dither == 1 && cfg->contains_sky == 1) {</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> <span class="keywordflow">if</span> (cfg->contains_dark == 1) {</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> check_nomsg(list_dither_sky_tmp=cpl_imagelist_duplicate(list_dither_sky));</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> check(cpl_imagelist_subtract_image(list_dither_sky_tmp,im_dark),</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> <span class="stringliteral">"sinfo_average_with_rejection failed"</span> );</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <span class="comment"> cube_dither_sky_tmp = sinfo_subImageFromCube (cube_dither_sky, im_dark);</span></div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> </div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> check_nomsg(list_dither_sky_tmp=cpl_imagelist_duplicate(list_dither_sky));</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> }</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> sinfo_free_imagelist(&list_dither_sky);</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> </div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> check(list_dither_sky=sinfo_align_cube_to_reference(list_dither_sky_tmp,</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> ref_im2,</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> cfg->sfOrder,</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> cfg->sfType),</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <span class="stringliteral">"sinfo_alignCubeToReference failed"</span> );</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> </div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> sinfo_free_imagelist(&list_dither_sky_tmp);</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> }</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> sinfo_free_image(&ref_im1);</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> <span class="keywordflow">if</span> (cfg->contains_dither == 1) {</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> sinfo_free_image(&ref_im2);</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> }</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> <span class="keywordflow">if</span> (cfg->contains_dark == 1) {</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> sinfo_free_image(&im_dark);</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> }</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> </div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> } <span class="comment">/* end if over sfInd */</span></div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> </div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> <span class="comment">/* subtracts the master dark from different frames if present */</span></div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> <span class="keywordflow">if</span>(cfg->mdark_ind==1){</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> sinfo_msg(<span class="stringliteral">"Subtract master dark %s "</span>,cfg->mdark);</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> </div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> check_nomsg(mdark=cpl_image_load(cfg->mdark,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> <span class="keywordflow">if</span> (list_object !=NULL) {</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> cpl_imagelist_subtract_image (list_object, mdark);</div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> }</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> <span class="keywordflow">if</span> (list_sky !=NULL) {</div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> cpl_imagelist_subtract_image (list_sky, mdark);</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> }</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> sinfo_free_image(&mdark);</div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> }</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> <span class="comment">/* take the average with rejection of the different cubes */</span></div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> sinfo_msg(<span class="stringliteral">"Take the average of the different cubes"</span>);</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> </div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> <span class="keywordflow">if</span> (cfg->loReject*cfg->nobj < 1. && cfg->hiReject * cfg->nobj < 1.) {</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> check(im_obj = cpl_imagelist_collapse_create(list_object),</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <span class="stringliteral">"Average with rejection failed"</span> );</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> </div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> check_nomsg(no=cpl_imagelist_get_size(list_object));</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> lo_cut=(floor)( cfg->loReject*no+0.5);</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> hi_cut=(floor)( cfg->hiReject*no+0.5);</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> check(im_obj=cpl_imagelist_collapse_minmax_create(list_object,</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> lo_cut,hi_cut),<span class="stringliteral">"Average with rejection failed"</span> );</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> </div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> }</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> sinfo_free_imagelist(&list_object);</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> </div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <span class="keywordflow">if</span> (cfg->contains_sky == 1) {</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> <span class="keywordflow">if</span> (cfg->loReject*nsky < 1. && cfg->hiReject*nsky < 1.) {</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> <span class="comment">/* here might explode in dither mode */</span></div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> cknull(im_sky = cpl_imagelist_collapse_create( list_sky ),</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> <span class="stringliteral">"Average with rejection failed"</span>);</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> </div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> check_nomsg(no=cpl_imagelist_get_size(list_sky));</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> lo_cut=(floor)( cfg->loReject*no+0.5);</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> hi_cut=(floor)( cfg->hiReject*no+0.5);</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> check(im_sky=cpl_imagelist_collapse_minmax_create(list_sky,lo_cut,hi_cut),</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> <span class="stringliteral">"Average with rejection failed"</span>);</div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> }</div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> sinfo_free_imagelist(&list_sky);</div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> }</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> </div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> <span class="keywordflow">if</span> (cfg->contains_dither == 1) {</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> <span class="keywordflow">if</span> (cfg->loReject*nobjdith < 1. && cfg->hiReject*nobjdith < 1.) {</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> check(im_dither = cpl_imagelist_collapse_create( list_dither_object ),</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> <span class="stringliteral">"Average with rejection failed"</span>);</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> </div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> check_nomsg(no=cpl_imagelist_get_size(list_dither_object));</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> lo_cut=(floor)( cfg->loReject*no+0.5);</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> hi_cut=(floor)( cfg->hiReject*no+0.5);</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> check(im_dither=cpl_imagelist_collapse_minmax_create(list_dither_object,</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> lo_cut,hi_cut),</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> <span class="stringliteral">"Average with rejection failed"</span>);</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> </div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> }</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> sinfo_free_imagelist(&list_dither_object);</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> }</div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> </div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> <span class="keywordflow">if</span> (cfg->contains_dither == 1 && nskydith > 0) {</div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> <span class="keywordflow">if</span> (cfg->loReject*nskydith < 1. && cfg->hiReject*nskydith < 1.) {</div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> check(im_dither_sky = cpl_imagelist_collapse_create( list_dither_sky ),</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> <span class="stringliteral">"Average with rejection failed"</span>);</div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> </div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> check_nomsg(no=cpl_imagelist_get_size(list_dither_sky));</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> lo_cut=(floor)( cfg->loReject*no+0.5);</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> hi_cut=(floor)( cfg->hiReject*no+0.5);</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> check(im_dither_sky=cpl_imagelist_collapse_minmax_create(list_dither_sky,</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> lo_cut,hi_cut),</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="stringliteral">"Average with rejection failed"</span>);</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> }</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> sinfo_free_imagelist(&list_dither_sky);</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> }</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> </div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> <span class="comment"> # Subtract the resulting off-frame (sky) from the on-frame</span></div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> <span class="comment"> #-------------------------------------------------------</span></div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> <span class="comment"> # finally, subtract off from on frames and store the result</span></div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> <span class="comment"> # in the object cube</span></div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> </div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> <span class="keywordflow">if</span>(sub_raw_sky == 1 ) {</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> <span class="keywordflow">if</span> (cfg->contains_sky == 1) {</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> sinfo_msg(<span class="stringliteral">"Subtract the off-frame (sky) from the on-frame"</span>);</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> check_nomsg(im_obj_sub = cpl_image_duplicate(im_obj));</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> check(cpl_image_subtract(im_obj_sub, im_sky),</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> <span class="stringliteral">"could not sinfo_sub_image"</span>);</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> </div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> sinfo_free_image(&im_obj);</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> <span class="keywordflow">if</span> (((cfg->contains_dither == 1) && (nskydith > 0)) ||</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> cfg->contains_dither == 0) {</div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> sinfo_free_image(&im_sky);</div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> im_obj = cpl_image_duplicate(im_obj_sub);</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> }</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> }</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> </div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> <span class="keywordflow">if</span> (cfg->contains_dither == 1 && nskydith > 0) {</div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> check_nomsg(im_dither_sub = cpl_image_duplicate(im_dither));</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> check(cpl_image_subtract(im_dither_sub, im_dither_sky),</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> <span class="stringliteral">"could not sinfo_sub_image"</span>);</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> </div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> sinfo_free_image(&im_dither);</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> sinfo_free_image(&im_dither_sky);</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> im_dither = cpl_image_duplicate(im_dither_sub);</div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> </div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (cfg->contains_dither == 1 &&</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> nskydith == 0 &&</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> cfg->contains_sky == 1) {</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> check_nomsg(im_dither_sub = cpl_image_duplicate(im_dither));</div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> check(cpl_image_subtract(im_dither_sub, im_sky),</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> <span class="stringliteral">"could not sinfo_sub_image"</span>);</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> </div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> sinfo_free_image(&im_dither);</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> sinfo_free_image(&im_sky);</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> im_dither = cpl_image_duplicate(im_dither_sub);</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> }</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> }</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> </div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> <span class="comment"> # Flatfielding</span></div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> </div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> <span class="keywordflow">if</span> (cfg->flatInd == 1) {</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> sinfo_msg(<span class="stringliteral">"Flatfielding"</span>);</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> check(flat1 = cpl_image_load (cfg->flatfield1,CPL_TYPE_FLOAT,0,0),</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> <span class="stringliteral">"could not load flatfield image"</span> );</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> </div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> <span class="keywordflow">if</span>(mflat_norm_smooth) {</div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> </div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> <span class="comment">//We normalize the flat by a smoothed flat</span></div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> cknull(flat_smooth = sinfo_image_smooth_median_y(flat1,smooth_rad),</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> <span class="stringliteral">"could not smooth flatfield"</span> );</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> check_nomsg(cpl_image_divide(flat1,flat_smooth));</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> sinfo_free_image(&flat_smooth);</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> }</div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> </div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> cknull(im_obj_flat = sinfo_new_div_images_robust( im_obj, flat1),</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> <span class="stringliteral">"could not carry out flatfield division"</span> );</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> </div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> <span class="comment">/* AMO ** */</span></div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> <span class="keywordflow">if</span>(pdensity > 1) {</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> <span class="keywordflow">if</span> (frm_ind == 0) {</div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> <span class="keywordflow">if</span> (cfg->warpfixInd == 1){</div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> sinfo_msg(<span class="stringliteral">"Correct FF for distortions"</span>);</div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> <span class="comment">/* AMO check */</span></div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> cknull_nomsg(flat1_dist=sinfo_new_image_warp_fits(flat1,cfg->kernel,</div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> cfg->polyFile));</div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> </div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> ck0(sinfo_pro_save_ima(flat1_dist,raw,sof,</div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> STACK_MFLAT_DIST_OUT_FILENAME,</div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> PRO_STACK_MFLAT_DIST,NULL,plugin_id,config),</div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> <span class="stringliteral">"cannot save ima %s"</span>, STACK_MFLAT_DIST_OUT_FILENAME);</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> sinfo_free_image(&flat1_dist);</div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> }</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> }</div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> }</div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> sinfo_free_image(&flat1);</div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> sinfo_free_image(&im_obj);</div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> im_obj = cpl_image_duplicate(im_obj_flat);</div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> </div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> <span class="keywordflow">if</span>(pdensity > 1) {</div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> <span class="keywordflow">if</span> (cfg->contains_dither == 1) {</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> check(flat2 = cpl_image_load (cfg->flatfield2,CPL_TYPE_FLOAT,0,0),</div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> <span class="stringliteral">"could not load flatfield image"</span> );</div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> </div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> <span class="keywordflow">if</span>(mflat_norm_smooth) {</div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> </div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> <span class="comment">//We normalize the flat by a smoothed flat</span></div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> cknull(flat_smooth = sinfo_image_smooth_median_y(flat2,smooth_rad),</div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> <span class="stringliteral">"could not smooth flatfield"</span> );</div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> check_nomsg(cpl_image_divide(flat2,flat_smooth));</div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> sinfo_free_image(&flat_smooth);</div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> </div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> }</div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> </div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> </div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> cknull(im_dither_flat = sinfo_new_div_images_robust( im_dither, flat2),</div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> <span class="stringliteral">"could not carry out flatfield division"</span> );</div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> </div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> <span class="keywordflow">if</span> (frm_ind == 0) {</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> <span class="keywordflow">if</span> (cfg->warpfixInd == 1) {</div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> sinfo_msg(<span class="stringliteral">"Correct FF for distortions"</span>);</div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> flat2_dist = sinfo_new_image_warp_fits(flat2,</div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> cfg->kernel, cfg->polyFile);</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> </div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> ck0(sinfo_pro_save_ima(flat2_dist,raw,sof,</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> STACK_MFLAT_DITHER_DIST_OUT_FILENAME,</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> PRO_STACK_MFLAT_DITHER_DIST,</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> NULL,plugin_id,config),</div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> <span class="stringliteral">"cannot save ima %s"</span>, STACK_MFLAT_DITHER_DIST_OUT_FILENAME);</div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> sinfo_free_image(&flat2_dist);</div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> }</div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> }</div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> sinfo_free_image(&flat2);</div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> sinfo_free_image(&im_dither);</div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> im_dither = cpl_image_duplicate(im_dither_flat);</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> }</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> }</div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> }</div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> </div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> <span class="comment"> # static bad pixel correction</span></div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> </div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> <span class="keywordflow">if</span> (cfg->maskInd == 1) {</div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> sinfo_msg(<span class="stringliteral">"Static bad pixel correction"</span>);</div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> check(mask_im = cpl_image_load(cfg->mask,CPL_TYPE_FLOAT,0,0),</div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> <span class="stringliteral">"could not load static bad pixel mask"</span> );</div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> </div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> ck0(sinfo_new_change_mask(mask_im, im_obj),</div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> <span class="stringliteral">"sinfo_changeMask failed"</span> );</div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> </div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> <span class="keywordflow">if</span> (cfg->indind == 0) {</div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> <span class="comment">/* open the ASCII list of the slitlet positions */</span></div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> <span class="comment">/*READ TFITS TABLE*/</span></div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> strcpy(file_name,cfg->slitposList);</div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> check(tbl_slitpos = cpl_table_load(file_name,1,0),</div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> <span class="stringliteral">"error loading slitpos tbl %s "</span>,file_name);</div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> <span class="keywordflow">if</span>(cpl_table_has_column(tbl_slitpos,<span class="stringliteral">"pos1"</span>) != 1) {</div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Column 'pos1' not found in %s table %s"</span>,</div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> PRO_SLIT_POS,file_name);</div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> }</div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> <span class="keywordflow">if</span>(cpl_table_has_column(tbl_slitpos,<span class="stringliteral">"pos2"</span>) != 1) {</div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Column 'pos2' not found in %s table %s"</span>,</div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> PRO_SLIT_POS,file_name);</div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> }</div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> </div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> check_nomsg(n = cpl_table_get_nrow(tbl_slitpos));</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> cknull_nomsg(slit_edges = sinfo_new_2Dfloatarray(n, 2));</div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> <span class="keywordflow">for</span> (i =0 ; i< n; i++){</div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> check_nomsg(val_x=cpl_table_get_double(tbl_slitpos,<span class="stringliteral">"pos1"</span>,i,&status));</div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> check_nomsg(val_y=cpl_table_get_double(tbl_slitpos,<span class="stringliteral">"pos2"</span>,i,&status));</div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> check_nomsg(sinfo_new_array2D_set_value(slit_edges,val_x,i,0));</div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> check_nomsg(sinfo_new_array2D_set_value(slit_edges,val_y,i,1));</div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> }</div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> </div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> sinfo_free_table(&tbl_slitpos);</div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> cknull(int_im = sinfo_interpol_source_image (im_obj,</div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> mask_im,</div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> cfg->maxRad,</div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> slit_edges),</div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> <span class="stringliteral">"could not carry out sinfo_interpolSourceImage"</span> );</div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> </div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> sinfo_free_image(&im_obj);</div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> im_obj = cpl_image_duplicate(int_im);</div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> </div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> <span class="keywordflow">if</span> (cfg->contains_dither == 1) {</div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> cknull(int_im_dith = sinfo_interpol_source_image (im_dither,</div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> mask_im,</div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> cfg->maxRad,</div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> slit_edges),</div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> <span class="stringliteral">"could not carry out sinfo_interpolSourceImage"</span> );</div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> </div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> sinfo_free_image(&im_dither);</div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> im_dither = cpl_image_duplicate(int_im_dith);</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> }</div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> sinfo_new_destroy_2Dfloatarray(&slit_edges, 32);</div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> cknull(int_im = sinfo_new_mult_image_by_mask(im_obj, mask_im),</div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> <span class="stringliteral">"could not carry out sinfo_multImageByMask"</span> );</div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> </div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> sinfo_free_image(&im_obj);</div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> im_obj = cpl_image_duplicate(int_im);</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> <span class="keywordflow">if</span> (cfg->contains_dither == 1) {</div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> cknull(int_im_dith=sinfo_new_mult_image_by_mask(im_dither, mask_im),</div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> <span class="stringliteral">"could not carry out sinfo_multImageByMask"</span> );</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> </div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> sinfo_free_image(&im_dither);</div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> im_dither = cpl_image_duplicate(int_im_dith);</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> }</div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> }</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> sinfo_free_image(&mask_im);</div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> }</div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> </div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> <span class="comment"> # static bad pixel correction BEZIER</span></div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> </div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> <span class="keywordflow">if</span> (cfg->maskInd == 2){</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> sinfo_msg(<span class="stringliteral">"Static bad pixel correction BEZIER"</span>);</div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> check(mask_im = cpl_image_load(cfg->mask,CPL_TYPE_FLOAT,0,0),</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> <span class="stringliteral">"could not load static bad pixel mask"</span> );</div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> </div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> ck0(sinfo_new_change_mask(mask_im, im_obj),</div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> <span class="stringliteral">"sinfo_changeMask failed"</span> );</div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> </div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> <span class="comment">/* #open the FITS table of the slitlet positions-*/</span></div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> strcpy(file_name,cfg->slitposList);</div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> check_nomsg(tbl_slitpos = cpl_table_load(file_name,1,0));</div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> </div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> check_nomsg(n = cpl_table_get_nrow(tbl_slitpos));</div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> slit_edges = sinfo_new_2Dfloatarray(n, 2);</div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> </div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> <span class="keywordflow">for</span> (i =0 ; i< n; i++){</div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> val_x=cpl_table_get_double(tbl_slitpos,<span class="stringliteral">"pos1"</span>,i,&status);</div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> val_y=cpl_table_get_double(tbl_slitpos,<span class="stringliteral">"pos2"</span>,i,&status);</div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> sinfo_new_array2D_set_value(slit_edges,val_x,i,0);</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> sinfo_new_array2D_set_value(slit_edges,val_y,i,1);</div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> }</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> sinfo_free_table(&tbl_slitpos);</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> </div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> strcpy(file_name,cfg->indexlist);</div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> </div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> check_nomsg(tbl_index = cpl_table_load(file_name,1,0));</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> </div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> check_nomsg(n = cpl_table_get_nrow(tbl_index));</div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> </div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> cknull_nomsg(in_nam = (<span class="keywordtype">char</span>**) cpl_calloc(n,<span class="keyword">sizeof</span>(<span class="keywordtype">char</span>*)));</div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> </div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> <span class="keywordflow">for</span> (i =0 ; i< n; i++){</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> strcpy(in_nam[i],cpl_table_get_string(tbl_index,<span class="stringliteral">"name"</span>,i));</div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> }</div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> sinfo_free_table(&tbl_index);</div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> </div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> <span class="keywordflow">for</span> (i=0;i<cnt;i++) {</div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> <span class="keywordflow">if</span> (strcmp(<span class="stringliteral">"ICube.fits"</span>, name) != 0){</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> check_nomsg(iCube=cpl_imagelist_load (<span class="stringliteral">"ICube.fits"</span>,CPL_TYPE_FLOAT,0));</div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> }</div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(<span class="stringliteral">"JCube.fits"</span>, name) != 0) {</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> check_nomsg(jCube = cpl_imagelist_load (<span class="stringliteral">"JCube.fits"</span>,CPL_TYPE_FLOAT,0));</div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> }</div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(<span class="stringliteral">"X.fits"</span>, name) != 0) {</div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> check_nomsg(X=cpl_image_load(<span class="stringliteral">"X.fits"</span>,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> }</div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(<span class="stringliteral">"Y.fits"</span>, name) != 0) {</div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> check_nomsg(Y=cpl_image_load(<span class="stringliteral">"Y.fits"</span>,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> }</div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(<span class="stringliteral">"Z.fits"</span>, name) != 0) {</div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> check_nomsg(Z=cpl_image_load(<span class="stringliteral">"Z.fits"</span>,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> }</div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(<span class="stringliteral">"cX.fits"</span>, name) != 0) {</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> check_nomsg(hX=cpl_image_load(<span class="stringliteral">"cX.fits"</span>,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> }</div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong name in index list or needed file not there!"</span>);</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> }</div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> }</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> lookup = sinfo_new_lookup();</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> </div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> lookup->id=iCube;</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> lookup->jd=jCube;</div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> lookup->X=X;</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> lookup->Y=Y;</div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> lookup->Z=Z;</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> lookup->hX=hX;</div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> </div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> </div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> cknull(im_obj=sinfo_new_c_bezier_interpolate_image(im_obj,</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> mask_im,</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> lookup,</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> cfg->maxRad,</div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> cfg->maxRad,</div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> cfg->maxRad,</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> 2,</div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> slit_edges),</div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> <span class="stringliteral">"could not carry out sinfo_new_c_bezier_interpolate_image"</span> );</div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> </div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> </div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> cknull(im_obj=sinfo_new_c_bezier_find_bad( im_obj,</div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> mask_im,</div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> cfg->maxRad,</div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> cfg->maxRad,</div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> cfg->maxRad,</div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> 0,</div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> cpl_image_get_size_x(im_obj),</div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> 0,</div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> cpl_image_get_size_y(im_obj),</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> cfg->sigmaFactor),</div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> <span class="stringliteral">"could not carry out sinfo_new_c_bezier_find_bad"</span> );</div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> </div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> </div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> <span class="keywordflow">if</span> (cfg->contains_dither == 1) {</div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> cknull(im_dither=sinfo_new_c_bezier_interpolate_image(im_dither,</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> mask_im,</div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> lookup,</div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> cfg->maxRad,</div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> cfg->maxRad,</div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> cfg->maxRad,</div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> 2,</div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> slit_edges),</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> <span class="stringliteral">"could not carry out new_c_bezier_Interpolate_Image on dithered frame"</span> );</div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> </div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> cknull(im_dither=sinfo_new_c_bezier_find_bad(im_dither,</div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> mask_im,</div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> cfg->maxRad,</div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> cfg->maxRad,</div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> cfg->maxRad,</div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> 0,</div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> cpl_image_get_size_x(im_obj),</div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> 0,</div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> cpl_image_get_size_y(im_obj),</div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> cfg->sigmaFactor),</div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> <span class="stringliteral">"could not carry out new_c_bezier_find_bad on dithered frame"</span>);</div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> </div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> }</div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> sinfo_new_destroy_2Dfloatarray(&slit_edges, 32);</div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> sinfo_free_image(&mask_im);</div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> sinfo_free_imagelist(&iCube);</div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> sinfo_free_imagelist(&jCube);</div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> sinfo_free_image(&lookup->X);</div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> sinfo_free_image(&lookup->X);</div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> sinfo_free_image(&lookup->Y);</div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> sinfo_free_image(&lookup->hX);</div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> sinfo_new_destroy_lookup(lookup);</div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> }</div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> </div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> <span class="keywordflow">if</span> (cfg->maskInd == 3) {</div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> cknull(mask_im = cpl_image_load(cfg->mask,CPL_TYPE_FLOAT,0,0),</div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> <span class="stringliteral">"could not load static bad pixel mask"</span> );</div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> </div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> <span class="comment">/* #open the ASCII list of the slitlet positions-- */</span></div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> strcpy(file_name,cfg->slitposList);</div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> check_nomsg(tbl_slitpos = cpl_table_load(file_name,1,0));</div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> <span class="keywordflow">if</span>(cpl_table_has_column(tbl_slitpos,<span class="stringliteral">"pos1"</span>) != 1) {</div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Column 'pos1' not found in %s table %s"</span>,</div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> PRO_SLIT_POS,file_name);</div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> }</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> </div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> <span class="keywordflow">if</span>(cpl_table_has_column(tbl_slitpos,<span class="stringliteral">"pos2"</span>) != 1) {</div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Column 'pos2' not found in %s table %s"</span>,</div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> PRO_SLIT_POS,file_name);</div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> }</div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> </div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> check_nomsg(n = cpl_table_get_nrow(tbl_slitpos));</div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> slit_edges = sinfo_new_2Dfloatarray(n, 2);</div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> </div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> <span class="keywordflow">for</span> (i =0 ; i< n; i++) {</div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> val_x=cpl_table_get_double(tbl_slitpos,<span class="stringliteral">"pos1"</span>,i,&status);</div>
-<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> val_y=cpl_table_get_double(tbl_slitpos,<span class="stringliteral">"pos2"</span>,i,&status);</div>
-<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span> sinfo_new_array2D_set_value(slit_edges,val_x,i,0);</div>
-<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> sinfo_new_array2D_set_value(slit_edges,val_y,i,1);</div>
-<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> }</div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> sinfo_free_table(&tbl_slitpos);</div>
-<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> </div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> strcpy(file_name,cfg->indexlist);</div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> check_nomsg(tbl_index = cpl_table_load(file_name,1,0));</div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> check_nomsg(n = cpl_table_get_nrow(tbl_index));</div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> cknull_nomsg(in_nam = (<span class="keywordtype">char</span>**) cpl_calloc(n,<span class="keyword">sizeof</span>(<span class="keywordtype">char</span>*)));</div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> </div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> <span class="keywordflow">for</span> (i =0 ; i< n; i++){</div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> strcpy(in_nam[i],cpl_table_get_string(tbl_index,<span class="stringliteral">"name"</span>,i));</div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> }</div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> sinfo_free_table(&tbl_index);</div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> </div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> <span class="keywordflow">for</span> (i=0;i<cnt;i++){</div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> <span class="keywordflow">if</span> (strcmp(<span class="stringliteral">"ICube.fits"</span>, in_nam[i]) != 0){</div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> check_nomsg(iCube=cpl_imagelist_load(<span class="stringliteral">"ICube.fits"</span>,CPL_TYPE_FLOAT,0));</div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> }</div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(<span class="stringliteral">"JCube.fits"</span>, in_nam[i]) != 0){</div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> check_nomsg(jCube=cpl_imagelist_load(<span class="stringliteral">"JCube.fits"</span>,CPL_TYPE_FLOAT,0));</div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> }</div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(<span class="stringliteral">"X.fits"</span>, in_nam[i]) != 0){</div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> check_nomsg(X=cpl_image_load(<span class="stringliteral">"X.fits"</span>,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> }</div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(<span class="stringliteral">"Y.fits"</span>, in_nam[i]) != 0){</div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> check_nomsg(Y=cpl_image_load(<span class="stringliteral">"Y.fits"</span>,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> }</div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(<span class="stringliteral">"Z.fits"</span>, in_nam[i]) != 0){</div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> check_nomsg(Z=cpl_image_load(<span class="stringliteral">"Z.fits"</span>,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> }</div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(<span class="stringliteral">"cX.fits"</span>, in_nam[i]) != 0) {</div>
-<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> check_nomsg(hX=cpl_image_load(<span class="stringliteral">"cX.fits"</span>,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong name in index list or needed file not there!"</span>);</div>
-<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> }</div>
-<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> }</div>
-<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> lookup = sinfo_new_lookup();</div>
-<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> lookup->id=iCube;</div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> lookup->jd=jCube;</div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> lookup->X=X;</div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> lookup->Y=Y;</div>
-<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> lookup->Z=Z;</div>
-<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> lookup->hX=hX;</div>
-<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> </div>
-<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> cknull(im_obj = sinfo_new_c_bezier_interpolate_image(im_obj,</div>
-<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> mask_im,</div>
-<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span> lookup,</div>
-<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span> cfg->maxRad,</div>
-<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> cfg->maxRad,</div>
-<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> cfg->maxRad,</div>
-<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> 2,</div>
-<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> slit_edges ),</div>
-<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> <span class="stringliteral">"could not carry out sinfo_new_c_bezier_interpolate_image"</span> );</div>
-<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span> </div>
-<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> <span class="keywordflow">if</span> (cfg->contains_dither == 1) {</div>
-<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span> cknull(im_dither=sinfo_new_c_bezier_interpolate_image( im_dither,</div>
-<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> mask_im,</div>
-<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> lookup,</div>
-<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> cfg->maxRad,</div>
-<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> cfg->maxRad,</div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> cfg->maxRad,</div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> 2,</div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> slit_edges ),</div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> <span class="stringliteral">"could not carry out sinfo_new_c_bezier_interpolate_image"</span></div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> <span class="stringliteral">" on dithered frame"</span> );</div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> </div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> }</div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> sinfo_new_destroy_2Dfloatarray(&slit_edges, 32);</div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> sinfo_free_image(&mask_im);</div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> sinfo_free_imagelist(&iCube);</div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> sinfo_free_imagelist(&jCube);</div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> sinfo_free_image(&lookup->X);</div>
-<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> sinfo_free_image(&lookup->Y);</div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> sinfo_free_image(&lookup->Z);</div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> sinfo_free_image(&lookup->hX);</div>
-<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> sinfo_new_destroy_lookup(lookup);</div>
-<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> }</div>
-<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> </div>
-<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> </div>
-<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> <span class="comment"> # correction of distortions</span></div>
-<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> </div>
-<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> <span class="comment">/* here memory leak */</span></div>
-<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> <span class="comment">//sinfo_msg("cfg->warpfixInd=%d",cfg->warpfixInd);</span></div>
-<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> <span class="keywordflow">if</span> (cfg->warpfixInd == 1){</div>
-<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> <span class="comment">/*#open ASCII file containing the slope parameter and read it*/</span></div>
-<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span> sinfo_msg(<span class="stringliteral">"Correct object for distortions"</span>);</div>
-<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> cknull(int_im_shifted=sinfo_new_image_warp_fits(im_obj,</div>
-<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span> cfg->kernel,</div>
-<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> cfg->polyFile),</div>
-<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span> <span class="stringliteral">"could not carry out sinfo_image_warp_fits"</span> );</div>
-<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span> </div>
-<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> sinfo_free_image(&im_obj);</div>
-<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span> im_obj = cpl_image_duplicate(int_im_shifted);</div>
-<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span> <span class="keywordflow">if</span> (cfg->contains_dither == 1){</div>
-<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span> cknull(int_im_dith_shifted=sinfo_new_image_warp_fits(im_dither,</div>
-<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> cfg->kernel,</div>
-<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span> cfg->polyFile),</div>
-<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span> <span class="stringliteral">"could not carry out sinfo_image_warp_fits"</span> );</div>
-<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> sinfo_free_image(&im_dither);</div>
-<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span> im_dither = cpl_image_duplicate(int_im_dith_shifted);</div>
-<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span> }</div>
-<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span> }</div>
-<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span> </div>
-<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span> <span class="comment"> # merge (interleave) both resulting frames</span></div>
-<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span> <span class="keywordflow">if</span> (cfg->interInd == 1 && cfg->contains_dither == 1){</div>
-<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span> <span class="keywordflow">if</span>( pdensity>1) {</div>
-<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span> sinfo_msg(<span class="stringliteral">"Merge (interleave) frames"</span>);</div>
-<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span> cknull(im3 = cpl_image_new(cpl_image_get_size_x(im_obj),</div>
-<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span> cpl_image_get_size_y(im_obj),CPL_TYPE_FLOAT),</div>
-<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span> <span class="stringliteral">"could not allocate an image"</span> );</div>
-<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span> cknull(im4=sinfo_new_remove_general_offset( im_obj, im_dither,</div>
-<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span> im3, cfg->noRows ),</div>
-<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span> <span class="stringliteral">"sinfo_removeGeneralOffset failed"</span> );</div>
-<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span> </div>
-<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span> cknull(im5 = sinfo_new_remove_regional_tilt ( im_obj, im4, im3 ),</div>
-<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span> <span class="stringliteral">"sinfo_removeRegionalTilt failed"</span> );</div>
-<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span> </div>
-<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span> cknull(im6 = sinfo_new_remove_column_offset ( im_obj, im5, im3 ),</div>
-<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span> <span class="stringliteral">"sinfo_removeColumnOffset failed"</span> );</div>
-<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> </div>
-<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> cknull(im7 = sinfo_new_remove_residual_tilt ( im6, im3 ),</div>
-<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> <span class="stringliteral">"sinfo_removeResidualTilt failed"</span> );</div>
-<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> </div>
-<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> cknull(im8 = sinfo_new_remove_residual_offset ( im7, im3 ),</div>
-<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> <span class="stringliteral">"sinfo_removeResidualOffset failed"</span>);</div>
-<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> cknull(im9 = sinfo_sinfo_merge_images(im_obj, im8, im3),</div>
-<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> <span class="stringliteral">"sinfo_mergeImages failed"</span> );</div>
-<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> </div>
-<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> ck0(sinfo_pro_save_ima(im9,raw,sof,cfg->outName,</div>
-<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> frm_pro_ctg,NULL,plugin_id,config),</div>
-<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> <span class="stringliteral">"cannot save ima %s"</span>, cfg->outName);</div>
-<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> </div>
-<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> sinfo_free_image(&im3);</div>
-<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> sinfo_free_image(&im4);</div>
-<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> sinfo_free_image(&im5);</div>
-<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> sinfo_free_image(&im6);</div>
-<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> sinfo_free_image(&im7);</div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> sinfo_free_image(&im8);</div>
-<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> sinfo_free_image(&im9);</div>
-<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> sinfo_free_image(&im_obj);</div>
-<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> sinfo_free_image(&im_dither);</div>
-<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> }</div>
-<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> <span class="comment"> # convolve spectra with Gaussian</span></div>
-<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span> <span class="comment"> #---------------------------------------------------------</span></div>
-<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (cfg->gaussInd == 1 && cfg->interInd == 0) {</div>
-<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span> sinfo_msg(<span class="stringliteral">"Convolve spectra with Gaussian"</span>);</div>
-<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> <span class="keywordflow">if</span>(pdensity > 1) {</div>
-<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> cknull(im_conv = sinfo_new_convolve_image_by_gauss ( im_obj, cfg->hw ),</div>
-<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span> <span class="stringliteral">"sinfo_convolveImageByGauss failed"</span> );</div>
-<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span> </div>
-<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span> ck0(sinfo_pro_save_ima(im_conv,raw,sof,cfg->outName,</div>
-<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span> frm_pro_ctg,NULL,plugin_id,config),</div>
-<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> <span class="stringliteral">"cannot save ima %s"</span>, cfg->outName);</div>
-<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span> </div>
-<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span> sinfo_free_image(&im_obj);</div>
-<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span> sinfo_free_image(&im_conv);</div>
-<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> <span class="keywordflow">if</span> (cfg->contains_dither == 1){</div>
-<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span> sinfo_free_image(&im_dither);</div>
-<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span> }</div>
-<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span> }</div>
-<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> </div>
-<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> sinfo_msg(<span class="stringliteral">"Add QC LOG"</span>);</div>
-<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span> <span class="comment">/* add QC-LOG */</span></div>
-<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> <span class="comment">/* sinfo_det_ncounts(raw, cfg->qc_thresh_max); */</span></div>
-<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span> cknull_nomsg(qclog_tbl = sinfo_qclog_init());</div>
-<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> </div>
-<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC FRMON MEANFLUX"</span>,</div>
-<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span> qc->avg_on,<span class="stringliteral">"Average of flux"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> <span class="comment">/* ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,"QC FRMON MEANFLUX",</span></div>
-<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span> <span class="comment"> qc->avg_on,"Average of flux","%g"));*/</span></div>
-<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC FRMOFF MEANFLUX"</span>,</div>
-<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span> qc->avg_of,<span class="stringliteral">"Average of flux"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC FRMDIF MEANFLUX"</span>,</div>
-<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> qc->avg_di,<span class="stringliteral">"Average of flux"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC FRMON MAXFLUX"</span>,</div>
-<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span> qc->max_on,<span class="stringliteral">"Max of flux"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC FRMOFF MAXFLUX"</span>,</div>
-<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> qc->max_of,<span class="stringliteral">"Max of flux"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC FRMDIF MAXFLUX"</span>,</div>
-<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span> qc->max_di,<span class="stringliteral">"Max of flux"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC FRMON NPIXSAT"</span>,</div>
-<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span> qc->nsat,</div>
-<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span> <span class="stringliteral">"Number of saturated pixels"</span>,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span> update_bad_pixel_map(im_obj);</div>
-<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC FRMDIF MEANSTD"</span>,</div>
-<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span> cpl_image_get_mean(im_obj),<span class="stringliteral">"mean of the image"</span>,<span class="stringliteral">"%13.6f"</span>));</div>
-<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span> </div>
-<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,</div>
-<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> <span class="stringliteral">"QC FRMDIF STDEV"</span>,</div>
-<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span> cpl_image_get_stdev(im_obj),</div>
-<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span> <span class="stringliteral">"standard deviation of the image"</span>,</div>
-<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> <span class="stringliteral">"%13.6f"</span>));</div>
-<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> </div>
-<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span> ck0(sinfo_pro_save_ima(im_obj,raw,sof,cfg->outName,</div>
-<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span> frm_pro_ctg,qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span> <span class="stringliteral">"cannot dump ima %s"</span>, cfg->outName);</div>
-<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span> </div>
-<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span> sinfo_free_image(&im_obj);</div>
-<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span> </div>
-<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span> <span class="keywordflow">if</span> (cfg->contains_dither == 1 && cfg->interInd == 0) {</div>
-<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span> <span class="keywordflow">if</span> (strstr(cfg->outName, <span class="stringliteral">".fits"</span> ) != NULL ) {</div>
-<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span> snprintf(name_list, MAX_NAME_SIZE-1,<span class="stringliteral">"%s%s"</span>,</div>
-<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span> sinfo_new_get_rootname(cfg->outName), <span class="stringliteral">"_dith.fits"</span>);</div>
-<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span> strcpy(cfg->outName,name_list);</div>
-<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span> strcat(cfg->outName,<span class="stringliteral">"_dith"</span>);</div>
-<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span> }</div>
-<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span> cpl_free(name_list);</div>
-<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span> </div>
-<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span> </div>
-<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> </div>
-<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span> ck0(sinfo_pro_save_ima(im_dither,raw,sof,cfg->outName,</div>
-<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span> frm_pro_ctg,NULL,plugin_id,config),</div>
-<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> <span class="stringliteral">"cannot save ima %s"</span>, cfg->outName);</div>
-<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span> </div>
-<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> <span class="keywordflow">if</span> (cfg->contains_dither == 1) {</div>
-<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span> sinfo_free_image(&im_dither);</div>
-<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span> }</div>
-<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span> }</div>
-<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span> </div>
-<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span> }</div>
-<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span> </div>
-<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span> <span class="comment">/* the following generates a valgrind error</span></div>
-<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span> <span class="comment"> but without it 8 bytes are leaked */</span></div>
-<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span> sinfo_free_image_array(&im,cfg->nframes);</div>
-<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span> </div>
-<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span> <span class="comment">/*AMO: check if those images can be deleted before */</span></div>
-<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span> sinfo_free_image(&int_im_shifted);</div>
-<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span> sinfo_free_image(&int_im);</div>
-<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span> sinfo_free_image(&im_obj_flat);</div>
-<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span> sinfo_free_image(&im_obj_sub);</div>
-<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span> </div>
-<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span> sinfo_stack_free(&cfg);</div>
-<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span> sinfo_free_frameset(&raw);</div>
-<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span> sinfo_qc_wcal_delete(&qc);</div>
-<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span> </div>
-<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span> </div>
-<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span> cleanup:</div>
-<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span> sinfo_free_table(&tbl_slitpos);</div>
-<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span> sinfo_free_table(&tbl_index);</div>
-<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span> <span class="keywordflow">if</span>(slit_edges!=NULL) sinfo_new_destroy_2Dfloatarray(&slit_edges, 32);</div>
-<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span> sinfo_free_image(&flat1_dist);</div>
-<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span> sinfo_free_image(&flat1);</div>
-<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span> sinfo_free_image(&flat_smooth);</div>
-<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span> sinfo_free_image(&flat2_dist);</div>
-<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span> sinfo_free_image(&int_im);</div>
-<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span> sinfo_free_image(&int_im_dith);</div>
-<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span> sinfo_free_image(&int_im_shifted);</div>
-<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span> sinfo_free_image(&im_dither);</div>
-<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span> sinfo_free_image(&flat2);</div>
-<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span> sinfo_free_image(&im_obj_flat);</div>
-<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span> sinfo_free_image(&im_obj_sub);</div>
-<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span> sinfo_free_image(&im_obj);</div>
-<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span> sinfo_free_image(&mask_im);</div>
-<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span> sinfo_free_image(&im_sky);</div>
-<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span> sinfo_free_imagelist(&list_object_tmp);</div>
-<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span> sinfo_free_image(&sky_img_flat);</div>
-<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span> sinfo_free_image(&sky_dist);</div>
-<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span> sinfo_free_image(&sky_img);</div>
-<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span> sinfo_free_imagelist(&list_object);</div>
-<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span> sinfo_free_imagelist(&list_sky);</div>
-<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span> <span class="keywordflow">if</span>(im != NULL) sinfo_free_image_array(&im,cfg->nframes);</div>
-<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span> sinfo_stack_free(&cfg);</div>
-<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span> sinfo_free_frameset(&raw);</div>
-<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span> sinfo_qc_wcal_delete(&qc);</div>
-<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span> </div>
-<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span> </div>
-<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__prepare__stacked__frames_8h_source.html b/html/sinfo__new__prepare__stacked__frames_8h_source.html
deleted file mode 100644
index 9e76771..0000000
--- a/html/sinfo__new__prepare__stacked__frames_8h_source.html
+++ /dev/null
@@ -1,128 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_prepare_stacked_frames.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_prepare_stacked_frames.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_NEW_PREPARE_STACKED_FRAMES_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_NEW_PREPARE_STACKED_FRAMES_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*****************************************************************************</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* "@(#) $Id: sinfo_new_prepare_stacked_frames.h,v 1.7 2007/09/21 14:48:10 amodigli Exp $"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* amodigli 17/09/03 created</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * preapare_stacked_frames.h</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> sinfo_prepare_stacked_frames</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> this handles stacks of input frames, that means it takes a clean mean,</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> subtracts the off- from the on-frames, flatfields, corrects for static bad </span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> pixels, corrects for a linear tilt of the spectra if necessary, and finally, </span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> interleaves dithered exposures or convolves a single exposure with a </span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> Gaussian, respectively.</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> * Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> Function : sinfo_new_prepare_stacked_frames()</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> In : ini_file: file name of according .ini file</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> Out : integer (0 if it worked, -1 if it doesn't) </span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> Job :</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"></span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> this handles stacks of input frames, that means it takes a clean mean,</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> subtracts the off- from the on-frames, flatfields, corrects for static bad </span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> pixels, corrects for a linear tilt of the spectra if necessary, and finally, </span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> interleaves dithered exposures or convolves a single exposure with a </span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> Gaussian, respectively.</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"></span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> sinfo_new_prepare_stacked_frames (<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id,</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> cpl_parameterlist* config, </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> cpl_frameset* ref_set, </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* procatg,</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">const</span> <span class="keywordtype">int</span> frm_ind, </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> fake* fk) ;</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="preprocessor">#endif </span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__psf_8c_source.html b/html/sinfo__new__psf_8c_source.html
deleted file mode 100644
index 27f2eb1..0000000
--- a/html/sinfo__new__psf_8c_source.html
+++ /dev/null
@@ -1,2548 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_psf.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_psf.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"></span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_new_psf.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : A. Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Sep 17, 2003</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description :</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> sinfo_new_psf.py does the image reconstruction of a set of</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> sky-subtracted, flatfielded,</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> bad pixel corrected and slope of the spectra aligned exposures of a bright</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> star with continuum spectrum. The resulting image can be used to determine</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> the PSF</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#define _GNU_SOURCE</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor"></span><span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <sinfo_cpl_size.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <irplib_strehl.h></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include "sinfo_new_psf.h"</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include "sinfo_pro_save.h"</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include "sinfo_hidden.h"</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include "sinfo_key_names.h"</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include "sinfo_psf_ini.h"</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include "sinfo_psf_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#include "sinfo_utilities_scired.h"</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include "sinfo_hidden.h"</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include "sinfo_pfits.h"</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">//Used only for sinfo_propertylist_has</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#include "sinfo_dfs.h"</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">//PSO</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#define SINFO_MATH_PI 3.1415926535897932384626433832795028841971693993751058</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_MATH_PI_2 1.5707963267948966192313216916397514420985846996875529</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_MATH_PI_4 0.7853981633974483096156608458198757210492923498437765</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor">#define SINFO_STREHL_M1 8.0 //7.9</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_STREHL_M2 1.1 //1.33</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_STREHL_BOX_SIZE 64</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_STREHL_WINDOW 6</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_PSF_SZ 4</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_RSTAR 32//25</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_BKG_R1 32//25</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_BKG_R2 33//27</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_STREHL_ERROR_COEFFICIENT SINFO_MATH_PI * 0.007 / 0.0271</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="preprocessor"></span><span class="preprocessor">#ifndef SINFO_STREHL_RAD_CENTRAL</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_STREHL_RAD_CENTRAL 5</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">//constants for perfect PSF generation</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">// Dimension of the support for generating the perfect PFS</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="preprocessor">#define SINFO_PSF_DIM 1024//256</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_PSF_BLOCKS 63//11</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="preprocessor">#define SINFO_PSF_BIN 16 // Pixels over "pixel_size"</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_PSF_NPOINT 10000// number of encircled energy sampling points</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_BKG_BOX_SZ 8</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="preprocessor"></span><span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"> Function Definitions</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keyword">static</span> cpl_error_code</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> sinfo_add_com_psf_qclog(<span class="keyword">const</span> <span class="keywordtype">char</span>* fname,cpl_table** qclog_tbl);</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">static</span> cpl_error_code</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> sinfo_get_star_features(<span class="keyword">const</span> cpl_image* im,</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keyword">const</span> <span class="keywordtype">int</span> radius,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keyword">const</span> <span class="keywordtype">int</span> xpos,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ypos,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">double</span>* xc,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">double</span>* yc,</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">double</span>* pick,</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordtype">double</span>* flux,</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">double</span>* bkg);</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> sinfo_find_min_of_four(<span class="keyword">const</span> <span class="keywordtype">double</span> n1,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keyword">const</span> <span class="keywordtype">double</span> n2,</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keyword">const</span> <span class="keywordtype">double</span> n3,</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keyword">const</span> <span class="keywordtype">double</span> n4);</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> sinfo_get_strehl_from_2images(cpl_image* ima1,</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> cpl_image* ima2,</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> cpl_frame* frm1,</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> cpl_frame* frm2);</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> sinfo_get_strehl_input1(cpl_frame* frm1,</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordtype">double</span>* dispersion,</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordtype">double</span>* centralWave,</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keywordtype">double</span>* ws,</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">double</span>* we,</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordtype">double</span>* pscale,</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordtype">double</span>* exptime,</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordtype">double</span>* strehl_star_rad,</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordtype">double</span>* strehl_bg_rmin,</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordtype">double</span>* strehl_bg_rmax);</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> sinfo_get_strehl_input2(cpl_frame* frm1,cpl_frame* frm2,</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordtype">double</span>* dispersion,</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keywordtype">double</span>* centralWave,</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordtype">double</span>* ws,</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordtype">double</span>* we,</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">double</span>* pscale1,</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordtype">double</span>* pscale2,</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordtype">double</span>* exptime1,</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordtype">double</span>* exptime2,</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordtype">double</span>* strehl_star_rad1,</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordtype">double</span>* strehl_star_rad2,</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordtype">double</span>* strehl_bg_rmin1,</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordtype">double</span>* strehl_bg_rmin2,</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordtype">double</span>* strehl_bg_rmax1,</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordtype">double</span>* strehl_bg_rmax2);</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> sinfo_check_borders(cpl_size* val,<span class="keyword">const</span> <span class="keywordtype">int</span> max,<span class="keyword">const</span> <span class="keywordtype">int</span> thresh);</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> sinfo_get_safe_box(<span class="keywordtype">int</span>* llx,</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordtype">int</span>* lly,</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordtype">int</span>* urx,</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keywordtype">int</span>* ury,</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keyword">const</span> <span class="keywordtype">int</span> xpos,</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ypos,</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keyword">const</span> <span class="keywordtype">int</span> box,</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="keyword">const</span> <span class="keywordtype">int</span> szx,</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keyword">const</span> <span class="keywordtype">int</span> szy);</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> sinfo_get_strehl_from_slice(cpl_imagelist* cube,</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keywordtype">double</span> disp,</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordtype">double</span> cWave,</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keywordtype">double</span> ws,</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordtype">double</span> we,</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordtype">double</span> pscale,</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keywordtype">double</span> strehl_star_radius,</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordtype">double</span> strehl_bg_r1,</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordtype">double</span> strehl_bg_r2,</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordtype">double</span>* strehl,</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordtype">double</span>* strehl_err);</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> sinfo_get_encircled_energy(cpl_frameset* sof,</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> cpl_image* img,</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordtype">double</span>* fwhm_x,</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="keywordtype">double</span>* fwhm_y,</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> cpl_table** qclog);</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> sinfo_get_strehl_from_ima(cpl_image* ima,</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> cpl_frame* frame);</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> sinfo_get_strehl_from_image(cpl_image* img,</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordtype">double</span> ws,</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keywordtype">double</span> we,</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keywordtype">double</span> pscale,</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keywordtype">double</span> strehl_star_radius,</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keywordtype">double</span> strehl_bg_r1,</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keywordtype">double</span> strehl_bg_r2,</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="keywordtype">double</span>* strehl,</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keywordtype">double</span>* strehl_err);</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> sinfo_get_strehl_from_cube(cpl_imagelist* cube,</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordtype">char</span>* name,</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> cpl_frame* frame);</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> sinfo_get_frm12(cpl_frameset* sof,cpl_frame** frm1,cpl_frame** frm2);</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment"> Function : sinfo_new_psf()</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment"> In : ini_file: file name of according .ini file</span></div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="comment"> Out : integer (0 if it worked, -1 if it doesn't)</span></div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="comment"> Job :</span></div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="comment"></span></div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="comment"> sinfo_new_psf.py does the image reconstruction of a set of sky-subtracted,</span></div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="comment"> flatfielded,</span></div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="comment"> bad pixel corrected and slope of the spectra aligned exposures of a bright</span></div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="comment"> star with continuum spectrum. The resulting image can be used to determine</span></div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment"> the PSF</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="comment"></span></div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> sinfo_new_psf (<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id,</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> cpl_parameterlist* config,</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> cpl_frameset* sof, cpl_frameset* ref_set)</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> {</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> cpl_imagelist* cube1=NULL;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> cpl_imagelist* cube2=NULL;</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> cpl_image * med_img1=NULL ;</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> cpl_image * med_img2=NULL ;</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> cpl_table* ao_performance=NULL;</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> cpl_table* enc_energy=NULL;</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> cpl_frame* frm1=NULL;</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> cpl_frame* frm2=NULL;</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> cpl_table* qclog_tbl=NULL;</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> cpl_frameset* stk=NULL;</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> cpl_propertylist* plist =NULL;</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> psf_config * cfg =NULL;</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keywordtype">int</span> nsample=0;</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="keywordtype">int</span> i = 0;</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="keywordtype">int</span> status=0;</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="keywordtype">int</span> strehl_sw=0;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="keywordtype">int</span> ilx1=0;</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="keywordtype">int</span> ily1=0;</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="keywordtype">int</span> ilx2=0;</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="keywordtype">int</span> ily2=0;</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="keywordtype">float</span> cx1=0;</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="keywordtype">float</span> cy1=0;</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="keywordtype">float</span> cx2=0;</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="keywordtype">float</span> cy2=0;</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="keywordtype">double</span> fwhm_x=0;</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keywordtype">double</span> fwhm_y=0;</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="keywordtype">double</span> lam=0;</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="keywordtype">double</span> strehl=0;</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keywordtype">double</span> strehl1=0;</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="keywordtype">double</span> strehl2=0;</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keywordtype">char</span> fname1[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="keywordtype">char</span> fname2[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="keywordtype">char</span> key_name[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="keywordtype">char</span> obs_name1[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="keywordtype">char</span> hlamp_st=<span class="charliteral">'F'</span>;</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="keywordtype">char</span> shut2_st=<span class="charliteral">'F'</span>;</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> cpl_table* tmp_tbl=NULL;</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="comment"> -----------------------------------------------------------------</span></div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="comment"> 1) parse the file names and parameters to the psf_config data</span></div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="comment"> structure cfg</span></div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="comment"> -----------------------------------------------------------------</span></div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> sinfo_msg(<span class="stringliteral">"Parsing cpl input"</span>);</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> check_nomsg(stk=cpl_frameset_new());</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> cknull(cfg = sinfo_parse_cpl_input_psf(sof,&stk),</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="stringliteral">"error parsing cpl input"</span>);</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="comment">/* TODO the following generate a small leak of 72 bytes */</span></div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> strehl_sw=sinfo_get_strehl_type(sof);</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="keywordflow">if</span>(strehl_sw==0) {</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> sinfo_msg(<span class="stringliteral">"One target Strehl computation"</span>);</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(cfg->inFrame) != 1) {</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Input file %s is not FITS"</span>,cfg->inFrame);</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> strcpy(fname1,cfg->inFrame);</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> }</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_COADD_PSF)) {</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> frm1 = cpl_frameset_find(sof,PRO_COADD_PSF);</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_OBS_PSF)) {</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> frm1 = cpl_frameset_find(sof,PRO_OBS_PSF);</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_COADD_STD)) {</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> frm1 = cpl_frameset_find(sof,PRO_COADD_STD);</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_OBS_STD)) {</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> frm1 = cpl_frameset_find(sof,PRO_OBS_STD);</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_COADD_OBJ)) {</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> frm1 = cpl_frameset_find(sof,PRO_COADD_OBJ);</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_OBS_OBJ)) {</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> frm1 = cpl_frameset_find(sof,PRO_OBS_OBJ);</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame %s or %s or %s or %s or %s or %s not found!"</span>,</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> PRO_COADD_PSF,PRO_OBS_PSF,</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> PRO_COADD_STD,PRO_OBS_STD,</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> PRO_COADD_OBJ,PRO_OBS_OBJ);</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> }</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> sinfo_get_obsname(frm1,obs_name1);</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> check_nomsg(hlamp_st=sinfo_get_keyvalue_bool(frm1,KEY_NAME_LAMP_HALO));</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> check_nomsg(shut2_st=sinfo_get_keyvalue_bool(frm1,KEY_NAME_SHUT2_ST));</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> check_nomsg(cube1 = cpl_imagelist_load(fname1,CPL_TYPE_FLOAT,0));</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> cknull(med_img1=sinfo_new_median_cube(cube1),</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="stringliteral">" could not do sinfo_medianCube()"</span>);</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> </div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> check_nomsg(ilx1=cpl_image_get_size_x(med_img1));</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> check_nomsg(ily1=cpl_image_get_size_y(med_img1));</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> </div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> cx1 = ilx1 / 2. + 0.5;</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> cy1 = ily1 / 2. + 0.5;</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> </div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> cknull(ao_performance=sinfo_get_strehl_from_cube(cube1,fname1,frm1),</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="stringliteral">"error computing strehl"</span>);</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> strehl=sinfo_get_strehl_from_ima(med_img1,frm1);</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> sinfo_free_imagelist(&cube1);</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> sinfo_msg(<span class="stringliteral">"Two target Strehl computation"</span>);</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> sinfo_get_frm12(sof,&frm1,&frm2);</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> strcpy(fname1,cpl_frame_get_filename(frm1));</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> strcpy(fname2,cpl_frame_get_filename(frm2));</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> </div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> check_nomsg(cube1 = cpl_imagelist_load(fname1,CPL_TYPE_FLOAT,0));</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> check_nomsg(cube2 = cpl_imagelist_load(fname2,CPL_TYPE_FLOAT,0));</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> cknull(med_img1=sinfo_new_median_cube(cube1),<span class="stringliteral">"Computing median on cube"</span>);</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> cknull(med_img2=sinfo_new_median_cube(cube2),<span class="stringliteral">"Computing median on cube"</span>);</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> check_nomsg(cpl_image_save(med_img1,<span class="stringliteral">"med_img1.fits"</span>,CPL_BPP_IEEE_FLOAT,</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> NULL,CPL_IO_DEFAULT));</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> check_nomsg(cpl_image_save(med_img2,<span class="stringliteral">"med_img2.fits"</span>,CPL_BPP_IEEE_FLOAT,</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> NULL,CPL_IO_DEFAULT));</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> check_nomsg(ilx1=cpl_image_get_size_x(med_img1));</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> check_nomsg(ily1=cpl_image_get_size_y(med_img1));</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> check_nomsg(ilx2=cpl_image_get_size_x(med_img2));</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> check_nomsg(ily2=cpl_image_get_size_y(med_img2));</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> cx1 = ilx1 / 2. + 0.5;</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> cy1 = ily1 / 2. + 0.5;</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> cx2 = ilx2 / 2. + 0.5;</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> cy2 = ily2 / 2. + 0.5;</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> </div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> sinfo_free_imagelist(&cube1);</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> sinfo_free_imagelist(&cube2);</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> cknull(tmp_tbl=sinfo_get_strehl_from_2images(med_img1,med_img2,frm1,frm2),</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="stringliteral">"Computing strehl"</span>);</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> check_nomsg(strehl=cpl_table_get_double(tmp_tbl,<span class="stringliteral">"strehl"</span>,0,&status));</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> sinfo_free_table(&tmp_tbl);</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> strehl1=sinfo_get_strehl_from_ima(med_img1,frm1);</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Strehl on 1st image=%f"</span>,strehl);</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> strehl2=sinfo_get_strehl_from_ima(med_img2,frm2);</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Strehl on 2nd image=%f"</span>,strehl);</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> cknull_nomsg(qclog_tbl = sinfo_qclog_init());</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> check_nomsg(sinfo_add_com_psf_qclog(fname1,&qclog_tbl));</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="keywordflow">if</span>(irplib_isnan(strehl1)) strehl1=-100.;</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC STREHL025"</span>,strehl1,</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="stringliteral">"STREHL 25 mas"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> ck0(sinfo_pro_save_ima(med_img1,ref_set,sof,PSF_MED_CUB_025_FILENAME,</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> PRO_MED_COADD_PSF,qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="stringliteral">"cannot save ima %s"</span>, PSF_MED_CUB_100_FILENAME);</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> </div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> </div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> cknull_nomsg(qclog_tbl = sinfo_qclog_init());</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> check_nomsg(sinfo_add_com_psf_qclog(fname2,&qclog_tbl));</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="keywordflow">if</span>(irplib_isnan(strehl2)) strehl2=-100.;</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC STREHL100"</span>,strehl2,</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="stringliteral">"STREHL 100 mas"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> </div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="keywordflow">if</span>(irplib_isnan(strehl)) strehl=-100.;</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> </div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC STREHL"</span>,strehl,</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="stringliteral">"STREHL from both pixel scale images"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> ck0(sinfo_pro_save_ima(med_img2,ref_set,sof,PSF_MED_CUB_100_FILENAME,</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> PRO_MED_COADD_PSF,qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="stringliteral">"cannot save ima %s"</span>, PSF_MED_CUB_100_FILENAME);</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> </div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> sinfo_free_image(&med_img2);</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> </div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> }</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="comment">/* STREHL computation */</span></div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> </div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> check_nomsg(nsample=cpl_table_get_nrow(ao_performance));</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> cknull_nomsg(qclog_tbl = sinfo_qclog_init());</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> check_nomsg(sinfo_add_com_psf_qclog(fname1,&qclog_tbl));</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="keywordflow">if</span>(strehl_sw==0) {</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="keywordflow">if</span>(irplib_isnan(strehl)) strehl=-100.;</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> </div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC STREHL"</span>,strehl,</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="stringliteral">"STREHL from image"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> </div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> }</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> </div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> check_nomsg(strehl=cpl_table_get_column_median(ao_performance,<span class="stringliteral">"strehl"</span>));</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> </div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC STREHL MED"</span>,strehl,</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="stringliteral">"STREHL MEDIAN"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> </div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> check_nomsg(strehl=cpl_table_get_column_mean(ao_performance,<span class="stringliteral">"strehl"</span>));</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> </div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC STREHL AVG"</span>,strehl,</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="stringliteral">"STREHL AVERAGE"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="comment"> strehl=sinfo_get_strehl_from_ima(med_img1,frm1);</span></div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="comment"></span></div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="comment"> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,"QC STREHL AVG",strehl,</span></div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <span class="comment"> "STREHL AVERAGE","%f"));</span></div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="keywordflow">for</span>(i=1;i<nsample;i++) {</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> </div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> check_nomsg(strehl=cpl_table_get_double(ao_performance,<span class="stringliteral">"strehl"</span>,</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> i,&status));</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="keywordflow">if</span>(irplib_isnan(strehl)) strehl=-100.;</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> </div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> snprintf(key_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d"</span>,<span class="stringliteral">"QC STREHL"</span>,i);</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,key_name,strehl,<span class="stringliteral">"STREHL"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> </div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> check_nomsg(lam=cpl_table_get_double(ao_performance,<span class="stringliteral">"wavelength"</span>,</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> i,&status));</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> snprintf(key_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d"</span>,<span class="stringliteral">"QC LAMBDA"</span>,i);</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,key_name,lam,</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> <span class="stringliteral">"WAVELENGTH"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> </div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> }</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> </div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> check_nomsg(strehl=cpl_table_get_column_median(ao_performance,</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="stringliteral">"strehl_error"</span>));</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC STREHL MEDERR"</span>,strehl,</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="stringliteral">"STREHL ERROR MEDIAN"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> ck0_nomsg(sinfo_qclog_add_string(qclog_tbl,<span class="stringliteral">"OBS NAME"</span>,obs_name1,</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="stringliteral">"OB name"</span>,<span class="stringliteral">"%s"</span>));</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> ck0_nomsg(sinfo_qclog_add_bool(qclog_tbl,PAF_NAME_LAMP_HALO,hlamp_st,</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> KEY_NAME_LAMP_HALO,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> ck0_nomsg(sinfo_qclog_add_bool(qclog_tbl,PAF_NAME_SHUT2_ST,shut2_st,</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> KEY_NAME_SHUT2_ST,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> </div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> ck0(sinfo_pro_save_tbl(ao_performance,ref_set,sof,</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> PSF_AO_PERFORMANCE_OUT_FILENAME,</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> PRO_AO_PERFORMANCE,qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="stringliteral">"cannot save tbl %s"</span>, PSF_AO_PERFORMANCE_OUT_FILENAME);</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> </div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> sinfo_free_table(&ao_performance);</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> </div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="comment">/* Encircled energy & FWHM computation */</span></div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> cknull_nomsg(qclog_tbl=sinfo_qclog_init());</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> cknull(enc_energy=sinfo_get_encircled_energy(sof,</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> med_img1,</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> &fwhm_x,</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> &fwhm_y,</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> &qclog_tbl),</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="stringliteral">"Computing encircled energy"</span>);</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> </div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> ck0(sinfo_pro_save_tbl(enc_energy,ref_set,sof,PSF_ENC_ENERGY_OUT_FILENAME,</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> PRO_ENC_ENERGY,qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="stringliteral">"cannot save tbl %s"</span>, PSF_ENC_ENERGY_OUT_FILENAME);</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> </div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> sinfo_free_table(&enc_energy);</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> </div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="comment">/* QC log */</span></div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> cknull_nomsg(qclog_tbl = sinfo_qclog_init());</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC FWHMX"</span>,fwhm_x,</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="stringliteral">"QC FWHM X"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC FWHMY"</span>,fwhm_y,</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <span class="stringliteral">"QC FWHM Y"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> ck0_nomsg(sinfo_qclog_add_bool(qclog_tbl,PAF_NAME_LAMP_HALO,</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> hlamp_st,KEY_NAME_LAMP_HALO,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> ck0_nomsg(sinfo_qclog_add_bool(qclog_tbl,PAF_NAME_SHUT2_ST,shut2_st,</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> KEY_NAME_SHUT2_ST,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> </div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> ck0(sinfo_pro_save_ima(med_img1,ref_set,sof,cfg->outName,PRO_PSF,</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> <span class="stringliteral">"cannot save ima %s"</span>, cfg->outName);</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> </div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> sinfo_new_set_wcs_image(med_img1,cfg->outName,cx1, cy1);</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> sinfo_free_image(&med_img1);</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> sinfo_free_frameset(&stk);</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> sinfo_free_psf(&cfg);</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> </div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> cleanup:</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> </div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> sinfo_free_imagelist(&cube2);</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> sinfo_free_imagelist(&cube1);</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> sinfo_free_table(&enc_energy);</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> sinfo_free_image(&med_img1);</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> sinfo_free_table(&ao_performance);</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> sinfo_free_psf(&cfg);</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> sinfo_free_frameset(&stk);</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> </div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> </div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> }</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> </div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> </div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> </div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> </div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="keyword">static</span> cpl_error_code</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> sinfo_add_com_psf_qclog(<span class="keyword">const</span> <span class="keywordtype">char</span>* fname,cpl_table** qclog_tbl)</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> {</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> </div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> </div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="comment">/* QC log */</span></div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> cknull(plist = cpl_propertylist_load(fname, 0),</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> <span class="stringliteral">"getting header from reference ima frame %s"</span>,fname);</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> </div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_LOOP_STATE)) {</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> sinfo_qclog_add_string(*qclog_tbl,KEY_NAME_LOOP_STATE,</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> cpl_propertylist_get_string(plist,KEY_NAME_LOOP_STATE),</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> KEY_HELP_LOOP_STATE,<span class="stringliteral">"%s"</span>);</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> }</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> </div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> </div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> </div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_LOOP_LGS)) {</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> sinfo_qclog_add_int(*qclog_tbl,KEY_NAME_LOOP_LGS,</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> cpl_propertylist_get_int(plist,KEY_NAME_LOOP_LGS),</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> KEY_HELP_LOOP_LGS,<span class="stringliteral">"%d"</span>);</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> }</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> </div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> </div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_INS1_MODE)) {</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> sinfo_qclog_add_string(*qclog_tbl,KEY_NAME_INS1_MODE,</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> cpl_propertylist_get_string(plist,KEY_NAME_INS1_MODE),</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> KEY_HELP_INS1_MODE,<span class="stringliteral">"%s"</span>);</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> }</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> </div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> </div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> cleanup:</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> </div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> }</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> </div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> </div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> }</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> </div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> sinfo_get_strehl_from_image(cpl_image* img,</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> <span class="keywordtype">double</span> ws,</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> <span class="keywordtype">double</span> we,</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> <span class="keywordtype">double</span> pscale,</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> <span class="keywordtype">double</span> strehl_star_radius,</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="keywordtype">double</span> strehl_bg_r1,</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> <span class="keywordtype">double</span> strehl_bg_r2,</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <span class="keywordtype">double</span>* strehl,</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> <span class="keywordtype">double</span>* strehl_err)</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> {</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> cpl_errorstate clean_state = cpl_errorstate_get();</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> </div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> cpl_image* img_dup=NULL;</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> </div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> <span class="keywordtype">double</span> dlam=0.;</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> <span class="keywordtype">double</span> lam=0.;</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> </div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="keywordtype">double</span> max_ima_cx=0.;</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> <span class="keywordtype">double</span> max_ima_cy=0.;</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> </div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="keywordtype">double</span> psf_peak=0.;</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="keywordtype">double</span> psf_flux=0.;</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <span class="keywordtype">double</span> bkg_noise=0.;</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <span class="keywordtype">double</span> star_bkg=0.;</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="keywordtype">double</span> star_peak=0.;</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="keywordtype">double</span> star_flux=0.;</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> </div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> cpl_size max_ima_x=0;</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> cpl_size max_ima_y=0;</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> <span class="keywordtype">int</span> wllx=0;</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> <span class="keywordtype">int</span> wlly=0;</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <span class="keywordtype">int</span> wurx=0;</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> <span class="keywordtype">int</span> wury=0;</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> <span class="keywordtype">int</span> ima_szx=0;</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> <span class="keywordtype">int</span> ima_szy=0;</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> </div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> </div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> lam = (double)0.5*(ws+we);</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> dlam=we-ws;</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"ws=%f we=%f dl=%f"</span>,ws,we,dlam);</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> check_nomsg(img_dup=cpl_image_duplicate(img));</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> sinfo_clean_nan(&img_dup);</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> check_nomsg(cpl_image_get_maxpos(img_dup,&max_ima_x,&max_ima_y));</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> sinfo_free_image(&img_dup);</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> </div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> check_nomsg(ima_szx=cpl_image_get_size_x(img));</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> check_nomsg(ima_szy=cpl_image_get_size_y(img));</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> sinfo_check_borders(&max_ima_x,ima_szx,SINFO_STREHL_WINDOW);</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> sinfo_check_borders(&max_ima_y,ima_szy,SINFO_STREHL_WINDOW);</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> sinfo_get_safe_box(&wllx,&wlly,&wurx,&wury,max_ima_x,max_ima_y,SINFO_PSF_SZ,</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> ima_szx,ima_szy);</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> </div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> <span class="comment">//cpl_image_get_maxpos_window(img,wllx,wlly,wurx,wury,&max_ima_x,&max_ima_y);</span></div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> </div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> check_nomsg(max_ima_cx=cpl_image_get_centroid_x_window(img,wllx,wlly,</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> wurx,wury));</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> check_nomsg(max_ima_cy=cpl_image_get_centroid_y_window(img,wllx,wlly,</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> wurx,wury));</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> </div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> </div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> <span class="keywordflow">if</span>(CPL_ERROR_NONE != sinfo_strehl_compute_one(img,</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> SINFO_STREHL_M1,</div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> SINFO_STREHL_M2,</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> lam,</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> dlam,</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> pscale,</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> max_ima_x,</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> max_ima_y,</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> strehl_star_radius,</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> strehl_bg_r1,</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> strehl_bg_r2,</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> SINFO_STREHL_BOX_SIZE,</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> strehl,</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> strehl_err,</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> &star_bkg,</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> &star_peak,</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> &star_flux,</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> &psf_peak,</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> &psf_flux,</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> &bkg_noise)) {</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> </div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> </div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> *strehl=-1;</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> *strehl_err=0;</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> irplib_error_recover(clean_state,<span class="stringliteral">"Problem computing strehl"</span>);</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> </div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> }</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> </div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> </div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> cleanup:</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> </div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> </div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> }</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> </div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> </div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> </div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> </div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> </div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> </div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> sinfo_get_strehl_from_slice(cpl_imagelist* cube,</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <span class="keywordtype">double</span> disp,</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> <span class="keywordtype">double</span> cWave,</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> <span class="keywordtype">double</span> ws,</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> <span class="keywordtype">double</span> we,</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> <span class="keywordtype">double</span> pscale,</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> <span class="keywordtype">double</span> strehl_star_radius,</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> <span class="keywordtype">double</span> strehl_bg_r1,</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> <span class="keywordtype">double</span> strehl_bg_r2,</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> <span class="keywordtype">double</span>* strehl,</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> <span class="keywordtype">double</span>* strehl_err)</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> {</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> </div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> </div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> cpl_errorstate clean_state = cpl_errorstate_get();</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> </div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> </div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> cpl_image* img_dup=NULL;</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> cpl_image* img=NULL;</div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> </div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> <span class="keywordtype">double</span> dlam=0.;</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> <span class="keywordtype">double</span> lam=0.;</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> </div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> <span class="keywordtype">double</span> max_ima_cx=0.;</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> <span class="keywordtype">double</span> max_ima_cy=0.;</div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> <span class="keywordtype">double</span> psf_peak=0.;</div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> <span class="keywordtype">double</span> psf_flux=0.;</div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> <span class="keywordtype">double</span> bkg_noise=0.;</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> <span class="keywordtype">double</span> star_bkg=0.;</div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> <span class="keywordtype">double</span> star_peak=0.;</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> <span class="keywordtype">double</span> star_flux=0.;</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> </div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> cpl_size max_ima_x=0;</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> cpl_size max_ima_y=0;</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> <span class="keywordtype">int</span> wllx=0;</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> <span class="keywordtype">int</span> wlly=0;</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> <span class="keywordtype">int</span> wurx=0;</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> <span class="keywordtype">int</span> wury=0;</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> <span class="keywordtype">int</span> ima_szx=0;</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> <span class="keywordtype">int</span> ima_szy=0;</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> </div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> </div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> lam = (double)0.5*(ws+we);</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> dlam=we-ws;</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> </div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> </div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> img=sinfo_new_average_cube_to_image_between_waves(cube,disp,cWave,ws,we);</div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> check_nomsg(img_dup=cpl_image_duplicate(img));</div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> sinfo_clean_nan(&img_dup);</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> check_nomsg(cpl_image_get_maxpos(img_dup,&max_ima_x,&max_ima_y));</div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> check_nomsg(cpl_image_delete(img_dup));</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> </div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> </div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> check_nomsg(ima_szx=cpl_image_get_size_x(img));</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> check_nomsg(ima_szy=cpl_image_get_size_y(img));</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> sinfo_check_borders(&max_ima_x,ima_szx,SINFO_STREHL_WINDOW);</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> sinfo_check_borders(&max_ima_y,ima_szy,SINFO_STREHL_WINDOW);</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> </div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> </div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> sinfo_get_safe_box(&wllx,&wlly,&wurx,&wury,max_ima_x,max_ima_y,SINFO_PSF_SZ,</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> ima_szx,ima_szy);</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> </div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> <span class="comment"> cpl_image_get_maxpos_window(img,wllx,wlly,wurx,wury,&max_ima_x,&max_ima_y);</span></div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> check_nomsg(max_ima_cx=cpl_image_get_centroid_x_window(img,wllx,wlly,</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> wurx,wury));</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> </div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> </div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> </div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> check_nomsg(max_ima_cy=cpl_image_get_centroid_y_window(img,wllx,wlly,</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> wurx,wury));</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> </div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> </div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> </div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> <span class="keywordflow">if</span>(CPL_ERROR_NONE != irplib_strehl_mark_bad_and_compute(img,</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> SINFO_STREHL_M1,</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> SINFO_STREHL_M2,</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> lam,</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> dlam,</div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> pscale,</div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> SINFO_STREHL_BOX_SIZE,</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> max_ima_x,</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> max_ima_y,</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> strehl_star_radius,</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> strehl_bg_r1,</div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> strehl_bg_r2,</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> NOISE_HSIZE,</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> NOISE_NSAMPLES,</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> strehl,</div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> strehl_err,</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> &star_bkg,</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> &star_peak,</div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> &star_flux,</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> &psf_peak,</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> &psf_flux,</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> &bkg_noise)) {</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> </div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> </div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> *strehl=-1;</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> *strehl_err=0;</div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> irplib_error_recover(clean_state,<span class="stringliteral">"Problem computing strehl"</span>);</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> </div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> }</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> </div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> <span class="comment"> cpl_msg_info(__func__,"stehl=%f err=%f star_bkg=%f star_peak=%f star_flux=%f",</span></div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> <span class="comment"> *strehl,*strehl_err,star_bkg,star_peak,star_flux);</span></div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> <span class="comment"> cpl_msg_info(__func__,"psf_peak=%f psf_flux=%f bkg_noise=%f",</span></div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> <span class="comment"> psf_peak,psf_flux,bkg_noise);</span></div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> sinfo_free_image(&img);</div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> </div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> </div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> </div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> cleanup:</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> </div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> }</div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> </div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> </div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> </div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> cpl_table* sinfo_get_encircled_energy(cpl_frameset* sof,</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> cpl_image* img,</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> <span class="keywordtype">double</span>* fwhm_x,</div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> <span class="keywordtype">double</span>* fwhm_y,</div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> cpl_table** qclog_tbl)</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> {</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> </div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> cpl_errorstate clean_state = cpl_errorstate_get();</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> </div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> cpl_image* img_dup=NULL;</div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> cpl_size max_ima_x=0;</div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> cpl_size max_ima_y=0;</div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> <span class="keywordtype">int</span> wllx=0;</div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> <span class="keywordtype">int</span> wlly=0;</div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> <span class="keywordtype">int</span> wurx=0;</div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> <span class="keywordtype">int</span> wury=0;</div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> <span class="keyword">const</span> <span class="keywordtype">double</span> d_mirror = 8.;</div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> <span class="keyword">const</span> <span class="keywordtype">double</span> factor = 180/PI_NUMB*3600.;</div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> <span class="keywordtype">double</span> max_ima_cx=0;</div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> <span class="keywordtype">double</span> max_ima_cy=0;</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> </div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> <span class="keywordtype">double</span> norm=0.;</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> <span class="keywordtype">double</span> xc=0.;</div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> <span class="keywordtype">double</span> yc=0.;</div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> <span class="keywordtype">double</span> sx=0.;</div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> <span class="keywordtype">double</span> sy=0.;</div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> </div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> <span class="keywordtype">double</span> flux=0;</div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> <span class="keywordtype">double</span> flux_max=0;</div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> <span class="keywordtype">double</span> pix_scale=0;</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> <span class="keywordtype">double</span> lam=0.;</div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> <span class="keywordtype">double</span> pscale=0.;</div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> <span class="keywordtype">int</span> dr_difr=0;</div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> </div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> <span class="keywordtype">double</span> r=0.;</div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> <span class="keywordtype">double</span> bkg=0.;</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> <span class="keywordtype">int</span> ni=0;</div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> <span class="keywordtype">int</span> ir_difr=0;</div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> <span class="keywordtype">int</span> dr=0;</div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> <span class="keywordtype">int</span> rmin=0;</div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> </div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> <span class="keywordtype">char</span> band[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> <span class="keywordtype">char</span> spat_res[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> </div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> cpl_table* enc_energy=NULL;</div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> cpl_frame* frame=NULL;</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> </div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> <span class="keywordtype">int</span> ima_szx=0;</div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> <span class="keywordtype">int</span> ima_szy=0;</div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> </div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> </div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> </div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_COADD_PSF)) {</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> frame = cpl_frameset_find(sof,PRO_COADD_PSF);</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_OBS_PSF)) {</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> frame = cpl_frameset_find(sof,PRO_OBS_PSF);</div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_COADD_STD)) {</div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> frame = cpl_frameset_find(sof,PRO_COADD_STD);</div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_OBS_STD)) {</div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> frame = cpl_frameset_find(sof,PRO_OBS_STD);</div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_COADD_OBJ)) {</div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> frame = cpl_frameset_find(sof,PRO_COADD_OBJ);</div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_OBS_OBJ)) {</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> frame = cpl_frameset_find(sof,PRO_OBS_OBJ);</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame %s or %s or %s or %s or %s or %s not found!"</span>,</div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> PRO_COADD_PSF,PRO_OBS_PSF,</div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> PRO_COADD_STD, PRO_OBS_STD,</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> PRO_COADD_OBJ, PRO_OBS_OBJ);</div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> }</div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> </div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> sinfo_get_spatial_res(frame,spat_res);</div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> sinfo_get_band(frame,band);</div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> pix_scale=atof(spat_res);</div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> lam=sinfo_get_wave_cent(band);</div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> <span class="comment">/* factor 2 due to change of detector to 2K */</span></div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> pscale=0.5*pix_scale;</div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> </div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> </div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> </div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> dr_difr=factor*1.22*lam*1.e-6/d_mirror/pscale;</div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> ir_difr=floor(dr_difr+0.5);</div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> <span class="keywordflow">if</span> (pix_scale==0.025) {</div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> ni=10;</div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> rmin=ir_difr;</div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> dr=rmin;</div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> ni=15;</div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"Reset diffraction limit"</span>);</div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> ir_difr=10;</div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> rmin=1;</div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> dr=2;</div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> }</div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> </div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> sinfo_msg(<span class="stringliteral">"Diffraction limit: %d"</span>,ir_difr);</div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> </div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> check_nomsg(img_dup=cpl_image_duplicate(img));</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> sinfo_clean_nan(&img_dup);</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> check_nomsg(cpl_image_get_maxpos(img_dup,&max_ima_x,&max_ima_y));</div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> sinfo_free_image(&img_dup);</div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> </div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> </div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> </div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> check_nomsg(ima_szx=cpl_image_get_size_x(img));</div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> check_nomsg(ima_szy=cpl_image_get_size_y(img));</div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> sinfo_check_borders(&max_ima_x,ima_szx,SINFO_STREHL_WINDOW);</div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> sinfo_check_borders(&max_ima_y,ima_szy,SINFO_STREHL_WINDOW);</div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> sinfo_get_safe_box(&wllx,&wlly,&wurx,&wury,max_ima_x,max_ima_y,SINFO_PSF_SZ,</div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> ima_szx,ima_szy);</div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> </div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> check_nomsg(max_ima_cx=cpl_image_get_centroid_x_window(img,wllx,wlly,</div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> wurx,wury));</div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> check_nomsg(max_ima_cy=cpl_image_get_centroid_y_window(img,wllx,wlly,</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> wurx,wury));</div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> </div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> </div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> cpl_image_save(img, <span class="stringliteral">"bad_image_psf_c.fits"</span>,CPL_BPP_IEEE_DOUBLE, NULL, CPL_IO_CREATE);</div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> sinfo_msg(<span class="stringliteral">"@@@@ sinfo_get_encircled_energy() max_ima_x[%"</span> CPL_SIZE_FORMAT <span class="stringliteral">"] max_ima_y[%"</span> CPL_SIZE_FORMAT <span class="stringliteral">"] psf_sz[%d]"</span>, max_ima_x,</div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> max_ima_y,</div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> SINFO_PSF_SZ);</div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> <span class="keywordflow">if</span>(CPL_ERROR_NONE != cpl_image_fit_gaussian(img,max_ima_x,max_ima_y,</div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> SINFO_PSF_SZ,</div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> &norm,&xc,&yc,&sx,&sy,</div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> fwhm_x,fwhm_y)) {</div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> </div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> </div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> irplib_error_recover(clean_state,<span class="stringliteral">"Gaussian fit failed"</span>);</div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> </div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> }</div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> </div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> check_nomsg(enc_energy = cpl_table_new(ni));</div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> check_nomsg(cpl_table_new_column(enc_energy,<span class="stringliteral">"r_pix"</span>, CPL_TYPE_INT));</div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> check_nomsg(cpl_table_new_column(enc_energy,<span class="stringliteral">"r_mas"</span>, CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> check_nomsg(cpl_table_new_column(enc_energy,<span class="stringliteral">"r_dif"</span>, CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> check_nomsg(cpl_table_new_column(enc_energy,<span class="stringliteral">"abs_energy"</span> , CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> check_nomsg(cpl_table_new_column(enc_energy,<span class="stringliteral">"rel_energy"</span> , CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> <span class="comment">/* encircled energy computation */</span></div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> check_nomsg(bkg=irplib_strehl_ring_background(img,max_ima_x,max_ima_y,</div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> SINFO_BKG_R1,SINFO_BKG_R2,IRPLIB_BG_METHOD_AVER_REJ)) ;</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> r=rmin+(ni-1)*dr;</div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> check_nomsg(flux_max=irplib_strehl_disk_flux(img,max_ima_x,max_ima_y,r,bkg));</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> r=rmin;</div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> </div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> <span class="keywordflow">for</span>(i=0; i<ni; i++)</div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> {</div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> check_nomsg(flux=irplib_strehl_disk_flux(img,max_ima_x,max_ima_y,r,bkg));</div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> check_nomsg(cpl_table_set_int(enc_energy,<span class="stringliteral">"r_pix"</span>,i,r));</div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> check_nomsg(cpl_table_set_double(enc_energy,<span class="stringliteral">"r_mas"</span>,i,r*pscale));</div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> check_nomsg(cpl_table_set_double(enc_energy,<span class="stringliteral">"r_dif"</span>,i,r/ir_difr));</div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> check_nomsg(cpl_table_set_double(enc_energy,<span class="stringliteral">"abs_energy"</span>,i,flux));</div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> check_nomsg(cpl_table_set_double(enc_energy,<span class="stringliteral">"rel_energy"</span>,i,flux/flux_max));</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> r+=dr;</div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> </div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> }</div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> </div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> <span class="comment">//sinfo_msg("max ima=%d %d\n",max_ima_x,max_ima_y);</span></div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> <span class="comment">//sinfo_msg("centroid ima=%f %f\n",max_ima_cx,max_ima_cy);</span></div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> <span class="comment">//sinfo_msg("gauss info=%f %f %f %f %f %f %f\n",</span></div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> <span class="comment">// norm,xc,yc,sx,sy,*fwhm_x,*fwhm_y);</span></div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> </div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> check_nomsg(flux=irplib_strehl_disk_flux(img,max_ima_x,max_ima_y,</div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> ir_difr,bkg));</div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> ck0_nomsg(sinfo_qclog_add_double(*qclog_tbl,<span class="stringliteral">"QC ENC CORE"</span>,</div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> flux/flux_max,</div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> <span class="stringliteral">"Encircled energy within PSF core"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> </div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> <span class="keywordflow">return</span> enc_energy;</div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> </div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> cleanup:</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> sinfo_free_image(&img_dup);</div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> </div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> }</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> </div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> </div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> <span class="keyword">static</span> cpl_table* sinfo_get_strehl_from_cube(cpl_imagelist* cube,</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> <span class="keywordtype">char</span>* name,</div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> cpl_frame* frame)</div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> {</div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> cpl_table* strehl_tbl=NULL;</div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> </div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> <span class="keywordtype">double</span> dispersion=0.;</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> <span class="keywordtype">double</span> centralWave=0.;</div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> <span class="keywordtype">double</span> wrange=0;</div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> <span class="keywordtype">double</span> wstart=0;</div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> <span class="keywordtype">double</span> wstep=0;</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> <span class="keywordtype">double</span> wend=0;</div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> <span class="keywordtype">double</span> ws=0;</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> <span class="keywordtype">double</span> we=0;</div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> <span class="keywordtype">double</span> pix_scale=0;</div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> <span class="keywordtype">double</span> lam=0;</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> <span class="keywordtype">double</span> dlam=0;</div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> <span class="keywordtype">double</span> pscale = 0;</div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> </div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> <span class="keywordtype">double</span> strehl_star_radius=0;</div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> <span class="keywordtype">double</span> strehl_bg_r1=0;</div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> <span class="keywordtype">double</span> strehl_bg_r2=0;</div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> <span class="keywordtype">double</span> strehl=0;</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> <span class="keywordtype">double</span> strehl_err=0;</div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> <span class="keywordtype">char</span> spat_res[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> </div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> <span class="keywordtype">int</span> naxis3=0;</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> <span class="keywordtype">int</span> nsample=0;</div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> </div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> </div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> sinfo_get_spatial_res(frame,spat_res);</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> pix_scale=atof(spat_res);</div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> sinfo_msg(<span class="stringliteral">"Camera pixel scale=%f"</span>,pix_scale);</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> <span class="comment">/* factor 2 due to change of detector to 2K */</span></div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> pscale=0.5*pix_scale;</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> </div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> strehl_star_radius=SINFO_BKG_R1*pscale;</div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> strehl_bg_r1=SINFO_BKG_R1*pscale;</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> strehl_bg_r2=SINFO_BKG_R2*pscale;</div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> </div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> plist=cpl_propertylist_load(name,0);</div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> dispersion=sinfo_pfits_get_cdelt3(plist);</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> centralWave=sinfo_pfits_get_crval3(plist);</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> naxis3=sinfo_pfits_get_naxis3(plist);</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> wrange=dispersion*naxis3;</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> </div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> wstart = centralWave - (float) (cpl_imagelist_get_size(cube) / 2)*</div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> dispersion+dispersion;</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> wend =wstart + dispersion * cpl_imagelist_get_size(cube);</div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> wstep=0.025;</div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> <span class="comment"> note:</span></div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> <span class="comment"> -wstep as we do not hit the borders where the</span></div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> <span class="comment"> sinfo_gaussian fit has a problem</span></div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> nsample=(int)((wend-wstart-wstep)/wstep);</div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> check_nomsg(strehl_tbl = cpl_table_new(nsample));</div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> check_nomsg(cpl_table_new_column(strehl_tbl,<span class="stringliteral">"wavelength"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> check_nomsg(cpl_table_new_column(strehl_tbl,<span class="stringliteral">"strehl"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> check_nomsg(cpl_table_new_column(strehl_tbl,<span class="stringliteral">"strehl_error"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> </div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> </div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> <span class="keywordflow">for</span>(i=1;i<nsample;i++) {</div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> </div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> ws=wstart+wstep*i;</div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> we=ws+wstep;</div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> </div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> lam = (double)0.5*(ws+we);</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> dlam=wstep;</div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> </div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> check(sinfo_get_strehl_from_slice(cube,</div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> dispersion,</div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> centralWave,</div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> ws,</div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> we,</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> pscale,</div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> strehl_star_radius,</div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> strehl_bg_r1,</div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> strehl_bg_r2,</div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> &strehl,</div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> &strehl_err),<span class="stringliteral">"Error computing strehl"</span>);</div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> </div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> </div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> <span class="keywordflow">if</span>((isnan(lam) ==0) &&</div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> (isnan(lam) ==0) &&</div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> (isnan(lam) ==0)) {</div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> check_nomsg(cpl_table_set_double(strehl_tbl,<span class="stringliteral">"wavelength"</span>,i,lam));</div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> check_nomsg(cpl_table_set_double(strehl_tbl,<span class="stringliteral">"strehl"</span>,i,strehl));</div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> check_nomsg(cpl_table_set_double(strehl_tbl,<span class="stringliteral">"strehl_error"</span>,i,</div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> strehl_err));</div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> </div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> }</div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> }</div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> </div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> <span class="keywordflow">return</span> strehl_tbl;</div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> </div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> cleanup:</div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> </div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> </div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> }</div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> </div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> </div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> sinfo_get_strehl_from_ima(cpl_image* ima,</div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> cpl_frame* frame)</div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> {</div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> </div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> <span class="keywordtype">double</span> dispersion=0.;</div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> <span class="keywordtype">double</span> centralWave=0.;</div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> <span class="keywordtype">double</span> wstart=0;</div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> <span class="keywordtype">double</span> wend=0;</div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> <span class="keywordtype">double</span> pscale = 0;</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> </div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> <span class="keywordtype">double</span> strehl_star_radius=0;</div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> <span class="keywordtype">double</span> strehl_bg_r1=0;</div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> <span class="keywordtype">double</span> strehl_bg_r2=0;</div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> <span class="keywordtype">double</span> strehl=0;</div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> <span class="keywordtype">double</span> strehl_err=0;</div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> <span class="keywordtype">double</span> exptime=0;</div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> </div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> </div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> </div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> ck0_nomsg(sinfo_get_strehl_input1(frame,&dispersion,¢ralWave,</div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> &wstart,&wend,&pscale,&exptime,</div>
-<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> &strehl_star_radius,&strehl_bg_r1,</div>
-<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span> &strehl_bg_r2));</div>
-<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> </div>
-<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> </div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> check(sinfo_get_strehl_from_image(ima,</div>
-<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> wstart,</div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> wend,</div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> pscale,</div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> strehl_star_radius,</div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> strehl_bg_r1,</div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> strehl_bg_r2,</div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> &strehl,</div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> &strehl_err),<span class="stringliteral">"Computing Strehl"</span>);</div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> </div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> </div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> </div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> </div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> </div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> cleanup:</div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> <span class="keywordflow">return</span> strehl;</div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> </div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> </div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> }</div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> </div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> sinfo_get_frm12(cpl_frameset* sof,cpl_frame** frm1,cpl_frame** frm2){</div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> </div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> cpl_frameset* obs=NULL;</div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> <span class="keywordtype">int</span> nobs=0;</div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> <span class="keywordtype">float</span> eps=0.0001;</div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> <span class="keywordtype">float</span>* pix_scale=NULL;</div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> cpl_frame* frame=NULL;</div>
-<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> </div>
-<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> obs = cpl_frameset_new();</div>
-<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> sinfo_contains_frames_kind(sof,obs,PRO_OBS_PSF);</div>
-<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> nobs=cpl_frameset_get_size(obs);</div>
-<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> <span class="keywordflow">if</span> (nobs < 1) {</div>
-<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> sinfo_contains_frames_kind(sof,obs,PRO_OBS_STD);</div>
-<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> nobs=cpl_frameset_get_size(obs);</div>
-<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> }</div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> </div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> nobs=cpl_frameset_get_size(obs);</div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> </div>
-<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> </div>
-<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> <span class="keywordflow">if</span> (nobs < 1) {</div>
-<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> sinfo_contains_frames_kind(sof,obs,PRO_OBS_OBJ);</div>
-<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> nobs=cpl_frameset_get_size(obs);</div>
-<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> }</div>
-<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span> </div>
-<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span> nobs=cpl_frameset_get_size(obs);</div>
-<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> </div>
-<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> <span class="keywordflow">if</span> (nobs < 1) {</div>
-<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> pix_scale=cpl_calloc(nobs,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>));</div>
-<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span> <span class="keywordflow">for</span>(i=0;i<nobs;i++) {</div>
-<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> frame=cpl_frameset_get_frame(obs,i);</div>
-<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span> pix_scale[i]=sinfo_pfits_get_pixelscale(</div>
-<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> (<span class="keywordtype">char</span>*)cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> <span class="keywordflow">if</span>(fabs(pix_scale[i]-0.025)< eps) {</div>
-<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> *frm1=cpl_frame_duplicate(frame);</div>
-<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (fabs(pix_scale[i]-0.1) <eps) {</div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> *frm2=cpl_frame_duplicate(frame);</div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"No proper frame found for strehl computation"</span>);</div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> }</div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> }</div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> }</div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> cpl_free(pix_scale);</div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> cpl_frameset_delete(obs);</div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> </div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> </div>
-<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> }</div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> </div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> </div>
-<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> </div>
-<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> </div>
-<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> sinfo_get_strehl_input1(cpl_frame* frm,</div>
-<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span> <span class="keywordtype">double</span>* dispersion,</div>
-<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> <span class="keywordtype">double</span>* centralWave,</div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> <span class="keywordtype">double</span>* wstart,</div>
-<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> <span class="keywordtype">double</span>* wend,</div>
-<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> <span class="keywordtype">double</span>* pscale,</div>
-<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> <span class="keywordtype">double</span>* exptime,</div>
-<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> <span class="keywordtype">double</span>* strehl_star_rad,</div>
-<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> <span class="keywordtype">double</span>* strehl_bg_rmin,</div>
-<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> <span class="keywordtype">double</span>* strehl_bg_rmax)</div>
-<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> </div>
-<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span> {</div>
-<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> </div>
-<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> <span class="keywordtype">char</span> res[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span> <span class="keywordtype">double</span> pix_scale=0;</div>
-<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span> <span class="keywordtype">double</span> wrange=0;</div>
-<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> <span class="keywordtype">char</span> fname[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span> <span class="keywordtype">int</span> naxis3=0;</div>
-<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span> </div>
-<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span> sinfo_get_spatial_res(frm,res);</div>
-<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> pix_scale=atof(res);</div>
-<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span> </div>
-<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span> <span class="comment">/* factor 2 due to change of detector to 2K</span></div>
-<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> <span class="comment"> *pscale=0.5*pix_scale;</span></div>
-<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span> </div>
-<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span> </div>
-<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span> *pscale=pix_scale;</div>
-<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span> </div>
-<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span> *strehl_star_rad=SINFO_RSTAR*(*pscale);</div>
-<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span> *strehl_bg_rmin=SINFO_BKG_R1*(*pscale);</div>
-<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span> *strehl_bg_rmax=SINFO_BKG_R2*(*pscale);</div>
-<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> </div>
-<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span> strcpy(fname,cpl_frame_get_filename(frm));</div>
-<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span> check_nomsg(plist=cpl_propertylist_load(fname,0));</div>
-<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span> check_nomsg(*dispersion=sinfo_pfits_get_cdelt3(plist));</div>
-<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span> *centralWave=sinfo_pfits_get_crval3(plist);</div>
-<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span> check_nomsg(naxis3=sinfo_pfits_get_naxis3(plist));</div>
-<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span> *exptime=sinfo_pfits_get_exp_time(plist);</div>
-<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span> </div>
-<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span> wrange=(*dispersion)*naxis3;</div>
-<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span> </div>
-<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span> *wstart = *centralWave - (wrange / 2) +(*dispersion);</div>
-<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span> *wend = *wstart + wrange;</div>
-<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span> </div>
-<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span> </div>
-<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span> cleanup:</div>
-<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> }</div>
-<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> </div>
-<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> }</div>
-<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> </div>
-<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> </div>
-<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> sinfo_get_strehl_input2(cpl_frame* frm1,</div>
-<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> cpl_frame* frm2,</div>
-<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> <span class="keywordtype">double</span>* dispersion,</div>
-<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> <span class="keywordtype">double</span>* centralWave,</div>
-<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> <span class="keywordtype">double</span>* wstart,</div>
-<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> <span class="keywordtype">double</span>* wend,</div>
-<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> <span class="keywordtype">double</span>* pscale1,</div>
-<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> <span class="keywordtype">double</span>* pscale2,</div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> <span class="keywordtype">double</span>* exptime1,</div>
-<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> <span class="keywordtype">double</span>* exptime2,</div>
-<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> <span class="keywordtype">double</span>* strehl_star_rad1,</div>
-<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> <span class="keywordtype">double</span>* strehl_star_rad2,</div>
-<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> <span class="keywordtype">double</span>* strehl_bg_rmin1,</div>
-<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span> <span class="keywordtype">double</span>* strehl_bg_rmin2,</div>
-<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> <span class="keywordtype">double</span>* strehl_bg_rmax1,</div>
-<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> <span class="keywordtype">double</span>* strehl_bg_rmax2)</div>
-<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span> </div>
-<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> {</div>
-<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span> </div>
-<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> <span class="keywordtype">char</span> res1[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> <span class="keywordtype">char</span> res2[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span> <span class="keywordtype">double</span> pix_scale1=0;</div>
-<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span> <span class="keywordtype">double</span> pix_scale2=0;</div>
-<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span> <span class="keywordtype">double</span> wrange=0;</div>
-<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span> <span class="keywordtype">char</span> fname1[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> <span class="keywordtype">char</span> fname2[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span> <span class="keywordtype">int</span> naxis3=0;</div>
-<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span> </div>
-<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span> sinfo_get_spatial_res(frm1,res1);</div>
-<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> sinfo_get_spatial_res(frm2,res2);</div>
-<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span> pix_scale1=atof(res1);</div>
-<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span> pix_scale2=atof(res2);</div>
-<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span> <span class="comment">/* factor 2 due to change of detector to 2K</span></div>
-<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span> <span class="comment"> *pscale1=0.5*pix_scale1;</span></div>
-<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> <span class="comment"> *pscale2=0.5*pix_scale2;</span></div>
-<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span> </div>
-<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> *pscale1=pix_scale1;</div>
-<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span> *pscale2=pix_scale2;</div>
-<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> </div>
-<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span> </div>
-<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span> *strehl_star_rad1=SINFO_RSTAR*(*pscale1);</div>
-<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> *strehl_bg_rmin1=SINFO_BKG_R1*(*pscale1);</div>
-<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span> *strehl_bg_rmax1=SINFO_BKG_R2*(*pscale1);</div>
-<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> </div>
-<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span> *strehl_star_rad2=SINFO_RSTAR*(*pscale2);</div>
-<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span> *strehl_bg_rmin2=SINFO_BKG_R1*(*pscale2);</div>
-<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> *strehl_bg_rmax2=SINFO_BKG_R2*(*pscale2);</div>
-<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> </div>
-<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span> strcpy(fname1,cpl_frame_get_filename(frm1));</div>
-<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span> check_nomsg(plist=cpl_propertylist_load(fname1,0));</div>
-<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> check_nomsg(*dispersion=sinfo_pfits_get_cdelt3(plist));</div>
-<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span> *centralWave=sinfo_pfits_get_crval3(plist);</div>
-<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span> check_nomsg(naxis3=sinfo_pfits_get_naxis3(plist));</div>
-<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span> *exptime1=sinfo_pfits_get_exp_time(plist);</div>
-<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span> strcpy(fname2,cpl_frame_get_filename(frm2));</div>
-<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span> </div>
-<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span> </div>
-<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span> check_nomsg(plist=cpl_propertylist_load(fname2,0));</div>
-<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span> *exptime2=sinfo_pfits_get_exp_time(plist);</div>
-<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> </div>
-<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span> </div>
-<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span> </div>
-<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> wrange=(*dispersion)*naxis3;</div>
-<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> </div>
-<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span> *wstart = *centralWave - (wrange / 2) +(*dispersion);</div>
-<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span> *wend = *wstart + wrange;</div>
-<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span> </div>
-<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span> </div>
-<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span> cleanup:</div>
-<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span> }</div>
-<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span> </div>
-<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span> }</div>
-<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span> </div>
-<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span> </div>
-<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span> </div>
-<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span> sinfo_get_strehl_from_2images(cpl_image* ima1,</div>
-<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span> cpl_image* ima2,</div>
-<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> cpl_frame* frm1,</div>
-<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span> cpl_frame* frm2)</div>
-<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span> {</div>
-<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> </div>
-<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span> cpl_table* strehl_tbl=NULL;</div>
-<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> </div>
-<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span> </div>
-<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span> <span class="keywordtype">double</span> dispersion=0.;</div>
-<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span> <span class="keywordtype">double</span> centralWave=0.;</div>
-<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span> <span class="keywordtype">double</span> wstart=0;</div>
-<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span> <span class="keywordtype">double</span> wstep=0;</div>
-<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span> <span class="keywordtype">double</span> wend=0;</div>
-<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span> <span class="keywordtype">double</span> lam=0;</div>
-<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span> <span class="keywordtype">double</span> dlam=0;</div>
-<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span> <span class="keywordtype">double</span> pscale1 = 0;</div>
-<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span> <span class="keywordtype">double</span> pscale2 = 0;</div>
-<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span> </div>
-<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span> <span class="keywordtype">double</span> strehl_star_rad1=0;</div>
-<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span> <span class="keywordtype">double</span> strehl_star_rad2=0;</div>
-<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span> <span class="keywordtype">double</span> strehl_bg_rmin1=0;</div>
-<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span> <span class="keywordtype">double</span> strehl_bg_rmin2=0;</div>
-<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span> <span class="keywordtype">double</span> strehl_bg_rmax1=0;</div>
-<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span> <span class="keywordtype">double</span> strehl_bg_rmax2=0;</div>
-<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span> <span class="keywordtype">double</span> strehl=0;</div>
-<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span> <span class="keywordtype">double</span> strehl_err=0;</div>
-<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span> </div>
-<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span> <span class="keywordtype">int</span> nsample=1;</div>
-<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span> <span class="keywordtype">double</span> exptime1=0;</div>
-<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span> <span class="keywordtype">double</span> exptime2=0;</div>
-<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span> cpl_image* img_dup=NULL;</div>
-<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span> </div>
-<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span> cpl_size max_ima1_x=0;</div>
-<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span> cpl_size max_ima1_y=0;</div>
-<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span> </div>
-<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span> cpl_size max_ima2_x=0;</div>
-<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span> </div>
-<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span> </div>
-<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span> cpl_size max_ima2_y=0;</div>
-<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span> <span class="keywordtype">double</span> star_bkg=0;</div>
-<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span> <span class="keywordtype">double</span> star_peak=0;</div>
-<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span> <span class="keywordtype">double</span> star_flux=0;</div>
-<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span> </div>
-<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span> <span class="keywordtype">double</span> psf_peak=0;</div>
-<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span> <span class="keywordtype">double</span> psf_flux=0;</div>
-<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span> <span class="keywordtype">double</span> bkg_noise=0;</div>
-<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span> </div>
-<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span> cpl_errorstate clean_state = cpl_errorstate_get();</div>
-<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span> </div>
-<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span> ck0_nomsg(sinfo_get_strehl_input2(frm1,frm2,&dispersion, ¢ralWave,</div>
-<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span> &wstart,&wend,&pscale1,&pscale2,</div>
-<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span> &exptime1,&exptime2,</div>
-<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span> &strehl_star_rad1,&strehl_star_rad2,</div>
-<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span> &strehl_bg_rmin1,&strehl_bg_rmin2,</div>
-<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span> &strehl_bg_rmax1,&strehl_bg_rmax2));</div>
-<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span> </div>
-<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span> </div>
-<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span> </div>
-<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span> </div>
-<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span> </div>
-<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span> check_nomsg(img_dup=cpl_image_duplicate(ima1));</div>
-<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span> sinfo_clean_nan(&img_dup);</div>
-<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span> check_nomsg(cpl_image_get_maxpos(img_dup,&max_ima1_x,&max_ima1_y));</div>
-<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span> sinfo_free_image(&img_dup);</div>
-<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span> </div>
-<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span> </div>
-<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span> check_nomsg(img_dup=cpl_image_duplicate(ima2));</div>
-<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span> sinfo_clean_nan(&img_dup);</div>
-<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span> check_nomsg(cpl_image_get_maxpos(img_dup,&max_ima2_x,&max_ima2_y));</div>
-<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span> sinfo_free_image(&img_dup);</div>
-<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span> </div>
-<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span> <span class="comment"> note:</span></div>
-<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span> <span class="comment"> -wstep as we do not hit the borders where the</span></div>
-<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span> <span class="comment"> sinfo_gaussian fit has a problem</span></div>
-<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span> </div>
-<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span> </div>
-<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span> </div>
-<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span> check_nomsg(strehl_tbl = cpl_table_new(nsample));</div>
-<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span> check_nomsg(cpl_table_new_column(strehl_tbl,<span class="stringliteral">"wavelength"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span> check_nomsg(cpl_table_new_column(strehl_tbl,<span class="stringliteral">"strehl"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span> check_nomsg(cpl_table_new_column(strehl_tbl,<span class="stringliteral">"strehl_error"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span> wstep = wend-wstart;</div>
-<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span> </div>
-<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span> </div>
-<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span> </div>
-<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span> lam = (double)0.5*(wstart+wend);</div>
-<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span> dlam=wstep;</div>
-<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span> sinfo_msg(<span class="stringliteral">"lambda=%f dlambda=%f"</span>,lam,dlam);</div>
-<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span> sinfo_msg(<span class="stringliteral">"wstart=%f wend=%f"</span>,wstart,wend);</div>
-<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span> sinfo_msg(<span class="stringliteral">"wstep=%f"</span>,wstep);</div>
-<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span> </div>
-<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span> </div>
-<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span> <span class="keywordflow">if</span>(CPL_ERROR_NONE != sinfo_strehl_compute_two(ima1,ima2,</div>
-<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span> SINFO_STREHL_M1,SINFO_STREHL_M2,</div>
-<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span> lam,</div>
-<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span> pscale1,pscale2,</div>
-<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span> exptime1,exptime2,</div>
-<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span> max_ima1_x,max_ima1_y,</div>
-<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span> max_ima2_x,max_ima2_y,</div>
-<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span> strehl_star_rad1,</div>
-<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span> strehl_bg_rmin1,</div>
-<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span> strehl_bg_rmax1,</div>
-<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span> &strehl,&strehl_err,&star_bkg,</div>
-<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span> &star_peak,&star_flux,</div>
-<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span> &psf_peak,&psf_flux,&bkg_noise))</div>
-<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span> {</div>
-<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span> </div>
-<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span> strehl=-1;</div>
-<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span> strehl_err=0;</div>
-<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span> irplib_error_recover(clean_state,</div>
-<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span> <span class="stringliteral">"Problem computing strehl, set it to -1"</span>);</div>
-<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span> </div>
-<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span> }</div>
-<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span> </div>
-<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span> </div>
-<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span> <span class="keywordflow">if</span>((isnan(lam) ==0) &&</div>
-<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span> (isnan(lam) ==0) &&</div>
-<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span> (isnan(lam) ==0)) {</div>
-<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span> check_nomsg(cpl_table_set_double(strehl_tbl,<span class="stringliteral">"wavelength"</span>,0,lam));</div>
-<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span> check_nomsg(cpl_table_set_double(strehl_tbl,<span class="stringliteral">"strehl"</span>,0,strehl));</div>
-<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span> check_nomsg(cpl_table_set_double(strehl_tbl,<span class="stringliteral">"strehl_error"</span>,</div>
-<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span> 0,strehl_err));</div>
-<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span> </div>
-<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span> }</div>
-<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span> </div>
-<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span> </div>
-<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span> </div>
-<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span> <span class="keywordflow">return</span> strehl_tbl;</div>
-<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span> cleanup:</div>
-<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span> </div>
-<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span> </div>
-<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span> }</div>
-<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span> </div>
-<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span> </div>
-<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span> </div>
-<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span> <span class="preprocessor">#define irplib_assure_code cpl_ensure_code</span></div>
-<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span> <span class="preprocessor"></span><span class="keywordtype">int</span> sinfo_strehl_compute_two(</div>
-<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span> <span class="keyword">const</span> cpl_image * im1,</div>
-<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span> <span class="keyword">const</span> cpl_image * im2,</div>
-<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span> <span class="keywordtype">double</span> m1,</div>
-<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span> <span class="keywordtype">double</span> m2,</div>
-<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span> <span class="keywordtype">double</span> lam,</div>
-<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span> <span class="keywordtype">double</span> pscale1,</div>
-<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span> <span class="keywordtype">double</span> pscale2,</div>
-<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span> <span class="keywordtype">double</span> exptime1,</div>
-<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span> <span class="keywordtype">double</span> exptime2,</div>
-<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span> <span class="keywordtype">int</span> xpos1,</div>
-<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span> <span class="keywordtype">int</span> ypos1,</div>
-<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span> <span class="keywordtype">int</span> xpos2,</div>
-<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span> <span class="keywordtype">int</span> ypos2,</div>
-<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span> <span class="keywordtype">double</span> r1,</div>
-<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span> <span class="keywordtype">double</span> r2,</div>
-<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span> <span class="keywordtype">double</span> r3,</div>
-<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span> <span class="keywordtype">double</span> * strehl,</div>
-<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span> <span class="keywordtype">double</span> * strehl_err,</div>
-<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span> <span class="keywordtype">double</span> * star_bkg,</div>
-<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span> <span class="keywordtype">double</span> * star_peak,</div>
-<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span> <span class="keywordtype">double</span> * star_flux,</div>
-<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span> <span class="keywordtype">double</span> * psf_peak,</div>
-<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span> <span class="keywordtype">double</span> * psf_flux,</div>
-<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span> <span class="keywordtype">double</span> * bg_noise)</div>
-<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span> {</div>
-<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span> <span class="keywordtype">double</span> psf_peak1=0;</div>
-<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span> <span class="keywordtype">double</span> psf_peak2=0;</div>
-<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span> <span class="keywordtype">double</span> psf_flux1=0;</div>
-<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span> <span class="keywordtype">double</span> psf_flux2=0;</div>
-<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span> <span class="keywordtype">double</span> star_bkg1=0;</div>
-<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span> <span class="keywordtype">double</span> star_bkg2=0;</div>
-<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span> <span class="keywordtype">double</span> star_flux1=0;</div>
-<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span> <span class="keywordtype">double</span> star_flux2=0;</div>
-<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span> <span class="keywordtype">double</span> star_peak1=0;</div>
-<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span> <span class="keywordtype">double</span> star_peak2=0;</div>
-<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span> </div>
-<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span> <span class="keyword">const</span> <span class="keywordtype">double</span> window_size = 5.0 ;</div>
-<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span> <span class="keywordtype">double</span> star_radius, max_radius ;</div>
-<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span> <span class="keywordtype">double</span> ring[4];</div>
-<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span> </div>
-<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span> <span class="keywordtype">double</span> prat=pscale2/pscale1;</div>
-<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span> <span class="keywordtype">double</span> prat2=prat*prat;</div>
-<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span> <span class="keywordtype">double</span> trat=exptime1/exptime2;</div>
-<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span> <span class="keywordtype">double</span> frat=sinfo_scale_flux(pscale1,pscale2,exptime1,exptime2);</div>
-<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span> <span class="keywordtype">double</span> xc=0;</div>
-<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span> <span class="keywordtype">double</span> yc=0;</div>
-<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span> </div>
-<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span> <span class="keywordtype">int</span> sx=0;</div>
-<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span> <span class="keywordtype">int</span> sy=0;</div>
-<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span> <span class="keywordtype">int</span> d=16;</div>
-<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span> cpl_errorstate initial_errorstate = cpl_errorstate_get();</div>
-<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span> </div>
-<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span> </div>
-<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span> <span class="comment">/* Test inputs */</span></div>
-<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span> irplib_assure_code(im1 != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span> irplib_assure_code(im2 != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span> irplib_assure_code(strehl != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span> irplib_assure_code(strehl_err != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span> irplib_assure_code(star_bkg != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span> irplib_assure_code(star_peak != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span> irplib_assure_code(star_flux != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span> irplib_assure_code(psf_peak != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span> irplib_assure_code(psf_flux != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span> </div>
-<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span> irplib_assure_code(pscale1 > 0.0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span> irplib_assure_code(pscale2 > 0.0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span> </div>
-<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span> irplib_assure_code(xpos1-window_size > 0, CPL_ERROR_ACCESS_OUT_OF_RANGE);</div>
-<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span> irplib_assure_code(ypos1-window_size > 0, CPL_ERROR_ACCESS_OUT_OF_RANGE);</div>
-<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span> irplib_assure_code(xpos2-window_size > 0, CPL_ERROR_ACCESS_OUT_OF_RANGE);</div>
-<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span> irplib_assure_code(ypos2-window_size > 0, CPL_ERROR_ACCESS_OUT_OF_RANGE);</div>
-<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span> </div>
-<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span> irplib_assure_code(xpos1+window_size <= cpl_image_get_size_x(im1),</div>
-<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span> CPL_ERROR_ACCESS_OUT_OF_RANGE);</div>
-<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span> irplib_assure_code(ypos1+window_size <= cpl_image_get_size_y(im1),</div>
-<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span> CPL_ERROR_ACCESS_OUT_OF_RANGE);</div>
-<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span> </div>
-<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span> irplib_assure_code(xpos2+window_size <= cpl_image_get_size_x(im2),</div>
-<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span> CPL_ERROR_ACCESS_OUT_OF_RANGE);</div>
-<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span> irplib_assure_code(ypos2+window_size <= cpl_image_get_size_y(im2),</div>
-<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span> CPL_ERROR_ACCESS_OUT_OF_RANGE);</div>
-<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span> </div>
-<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span> irplib_assure_code(r1 > 0.0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span> irplib_assure_code(r2 > 0.0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span> irplib_assure_code(r3 > r2, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span> </div>
-<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span> <span class="comment">/* Computing a Strehl ratio is a story between an ideal PSF */</span></div>
-<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span> <span class="comment">/* and a candidate image supposed to approximate this ideal PSF. */</span></div>
-<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span> </div>
-<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span> <span class="comment">/* Generate first appropriate PSF to find max peak: same pscale as</span></div>
-<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span> <span class="comment"> the one of the image where we compute the flux */</span></div>
-<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span> </div>
-<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span> </div>
-<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span> sx=cpl_image_get_size_x(im1);</div>
-<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span> sy=cpl_image_get_size_y(im1);</div>
-<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span> </div>
-<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span> </div>
-<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span> psf_flux1 = 1.0; <span class="comment">// The psf flux, cpl_image_get_flux(psf), is always 1</span></div>
-<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span> psf_flux2 = 1.0; <span class="comment">// The psf flux, cpl_image_get_flux(psf), is always 1</span></div>
-<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span> *psf_flux=1.0;</div>
-<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span> ring[0] = xpos2;</div>
-<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span> ring[1] = ypos2;</div>
-<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span> ring[2] = r2/pscale2;</div>
-<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span> ring[3] = r3/pscale2;</div>
-<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span> </div>
-<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"star_pos=%d %d %d %d"</span>,xpos1,ypos1,xpos2,ypos2);</div>
-<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"star_ring=%f %f %f %f"</span>,ring[0],ring[1],ring[2],ring[3]);</div>
-<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span> </div>
-<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span> <span class="comment">/* Compute star_radius in pixels */</span></div>
-<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span> star_radius = r1/pscale2;</div>
-<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span> </div>
-<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span> <span class="comment">/* Find the peak value on the central part of the candidate image */</span></div>
-<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span> </div>
-<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span> </div>
-<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span> <span class="comment">/* Find the peak value on the central part of the candidate image */</span></div>
-<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span> max_radius = window_size < star_radius ? window_size : star_radius;</div>
-<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span> </div>
-<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span> check_nomsg(sinfo_get_star_features(im1,d,xpos1,ypos1,&xc,&yc,</div>
-<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span> &star_peak1,&star_flux1,&star_bkg1));</div>
-<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span> </div>
-<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span> </div>
-<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span> *star_peak=star_peak1;</div>
-<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span> </div>
-<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span> check_nomsg(sinfo_compute_psf(m1,m2/m1,lam*1.e-6,pscale1,xc,yc,1.,</div>
-<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span> &psf_peak1));</div>
-<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span> </div>
-<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span> check_nomsg(sinfo_get_star_features(im2,d,xpos2,ypos2,&xc,&yc,</div>
-<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span> &star_peak2,&star_flux2,&star_bkg2));</div>
-<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span> </div>
-<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span> *star_flux=star_flux2;</div>
-<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span> *star_bkg=star_bkg2;</div>
-<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span> </div>
-<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span> check_nomsg(sinfo_compute_psf(m1,m2/m1,lam*1.e-6,pscale2,xc,yc,1.,</div>
-<div class="line"><a name="l01656"></a><span class="lineno"> 1656</span> &psf_peak2));</div>
-<div class="line"><a name="l01657"></a><span class="lineno"> 1657</span> </div>
-<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span> </div>
-<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span> </div>
-<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span> </div>
-<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"p1=%g p2=%g"</span>,*star_peak,star_peak2);</div>
-<div class="line"><a name="l01662"></a><span class="lineno"> 1662</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"corr peak: p1=%g p2=%g"</span>,*star_peak,star_peak2/frat);</div>
-<div class="line"><a name="l01663"></a><span class="lineno"> 1663</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"corr bkg: bkg1=%g bkg2=%g"</span>,star_bkg1/frat,*star_bkg);</div>
-<div class="line"><a name="l01664"></a><span class="lineno"> 1664</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"rel diff: %g"</span>,</div>
-<div class="line"><a name="l01665"></a><span class="lineno"> 1665</span> fabs(star_peak2/frat- *star_peak)/(star_peak2/frat));</div>
-<div class="line"><a name="l01666"></a><span class="lineno"> 1666</span> </div>
-<div class="line"><a name="l01667"></a><span class="lineno"> 1667</span> </div>
-<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span> </div>
-<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Rescaled star_flux1=%g star_flux2=%g"</span>,</div>
-<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span> star_flux1*trat,*star_flux);</div>
-<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span> </div>
-<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span> <span class="comment">//Check that flux value as measured on im1 and on 1m2 are close one</span></div>
-<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span> <span class="comment">//to another. Note that flux1, measured on im1, need to be rescaled</span></div>
-<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span> <span class="comment">//by exposure time to match to flux2=star_flux</span></div>
-<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span> <span class="keywordflow">if</span> ( fabs((star_flux1*frat-*star_flux)/(*star_flux)) > 0.25) {</div>
-<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Star flux rel diff: %g"</span>,</div>
-<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span> fabs((star_flux1*frat-*star_flux)/(*star_flux)));</div>
-<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span> }</div>
-<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span> </div>
-<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span> <span class="comment">//Check that pick value as measured on im1 and on 1m2 are close one</span></div>
-<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span> <span class="comment">//to another. Note that peak2, measured on im2, need to be rescaled</span></div>
-<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span> <span class="comment">//by exposure time and pixel scale to match to peak1=star_peak</span></div>
-<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span> <span class="keywordflow">if</span> ( fabs(star_peak2-star_peak1*frat)/(star_peak2) > 0.25) {</div>
-<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Star pick rel diff: %g"</span>,</div>
-<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span> fabs(star_peak2-star_peak1*frat)/(star_peak2));</div>
-<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span> }</div>
-<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"ak1 star peak=%g"</span>,*star_peak);</div>
-<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span> irplib_assure_code(*star_peak > 0.0, CPL_ERROR_ILLEGAL_OUTPUT);</div>
-<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span> *star_peak=star_peak1;</div>
-<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span> </div>
-<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span> *star_bkg=star_bkg2;</div>
-<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span> *star_flux=star_flux2;</div>
-<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span> </div>
-<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"ak2"</span>);</div>
-<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span> </div>
-<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span> <span class="comment">//psf1 = irplib_strehl_generate_psf(m1, m2, lam, dlam, pscale1, size*4);</span></div>
-<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span> <span class="comment">//psf_peak1 = cpl_image_get_max(psf1) ;</span></div>
-<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span> </div>
-<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span> </div>
-<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span> </div>
-<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span> <span class="comment">/* Compute Strehl */</span></div>
-<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span> <span class="comment">//*strehl = (*star_peak *prat2/trat/ *star_flux) / (*psf_peak / *psf_flux);</span></div>
-<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span> *strehl = (*star_peak/(*star_flux*trat)) / (psf_peak1 );</div>
-<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span> <span class="comment">//*strehl = (*star_peak/(*star_flux)) / (psf_peak1 / *psf_flux) ;</span></div>
-<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"peak=%g flux1=%f flux2=%f flux=%f cflux=%g "</span></div>
-<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span> <span class="stringliteral">"fct=%g psf_peak=%g"</span>,</div>
-<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span> *star_peak,star_flux1,star_flux2,*star_flux,</div>
-<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span> *star_flux/frat*prat2,prat2/frat,psf_peak1);</div>
-<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"=======strehl=%g"</span>,*strehl);</div>
-<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span> <span class="comment"> if (*strehl > 1)</span></div>
-<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span> <span class="comment"> cpl_msg_warning(cpl_func, "Extreme Strehl-ratio=%g, star_peak=%g, "</span></div>
-<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span> <span class="comment"> "star_flux=%g, psf_peak=%g, psf_flux=%g", *strehl,</span></div>
-<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span> <span class="comment"> *star_peak, *star_flux, *psf_peak, *psf_flux);</span></div>
-<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span> <span class="comment"></span></div>
-<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span> <span class="comment"></span></div>
-<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span> <span class="comment"> // Compute Strehl error</span></div>
-<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span> <span class="comment"> if (cpl_flux_get_noise_ring(im2, ring, noise_box_sz, noise_nsamples,</span></div>
-<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span> <span class="comment"> bg_noise, NULL) == CPL_ERROR_NONE) {</span></div>
-<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span> <span class="comment"> *strehl_err = SINFO_STREHL_ERROR_COEFFICIENT * (*bg_noise) * pscale2 *</span></div>
-<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span> <span class="comment"> star_radius * star_radius / *star_flux;</span></div>
-<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span> <span class="comment"> irplib_assure_code(*strehl_err >= 0.0, CPL_ERROR_ILLEGAL_OUTPUT);</span></div>
-<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span> <span class="comment"> } else {</span></div>
-<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span> <span class="comment"> sinfo_msg_warning("Problem computing noise");</span></div>
-<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span> *bg_noise=0;</div>
-<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span> </div>
-<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span> cleanup:</div>
-<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span> </div>
-<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span> </div>
-<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(initial_errorstate)) {</div>
-<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span> <span class="comment">/* Dump the error history since recipe execution start.</span></div>
-<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span> <span class="comment"> At this point the recipe cannot recover from the error */</span></div>
-<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span> cpl_errorstate_dump(initial_errorstate, CPL_FALSE, NULL);</div>
-<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span> }</div>
-<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span> </div>
-<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span> }</div>
-<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span> </div>
-<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span> }</div>
-<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span> </div>
-<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span> </div>
-<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span> </div>
-<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span> </div>
-<div class="line"><a name="l01749"></a><span class="lineno"> 1749</span> <span class="keyword">static</span> cpl_error_code</div>
-<div class="line"><a name="l01750"></a><span class="lineno"> 1750</span> sinfo_get_star_features(<span class="keyword">const</span> cpl_image* im,</div>
-<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span> <span class="keyword">const</span> <span class="keywordtype">int</span> radius,</div>
-<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span> <span class="keyword">const</span> <span class="keywordtype">int</span> xpos,</div>
-<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ypos,</div>
-<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span> <span class="keywordtype">double</span>* xc,</div>
-<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span> <span class="keywordtype">double</span>* yc,</div>
-<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span> <span class="keywordtype">double</span>* peak,</div>
-<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span> <span class="keywordtype">double</span>* flux,</div>
-<div class="line"><a name="l01758"></a><span class="lineno"> 1758</span> <span class="keywordtype">double</span>* bkg)</div>
-<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span> {</div>
-<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span> <span class="keywordtype">int</span> sx=0;</div>
-<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span> <span class="keywordtype">int</span> sy=0;</div>
-<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span> <span class="keywordtype">int</span> ixm=0;</div>
-<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span> <span class="keywordtype">int</span> iym=0;</div>
-<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span> <span class="keywordtype">int</span> llx=0;</div>
-<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span> <span class="keywordtype">int</span> lly=0;</div>
-<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span> <span class="keywordtype">int</span> urx=0;</div>
-<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span> <span class="keywordtype">int</span> ury=0;</div>
-<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span> <span class="keywordtype">int</span> dim_new=0;</div>
-<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span> <span class="keywordtype">double</span> kappa=2;</div>
-<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span> <span class="keywordtype">double</span> xm=0;</div>
-<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span> <span class="keywordtype">double</span> ym=0;</div>
-<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span> <span class="keywordtype">double</span> bkg_stdev=0;</div>
-<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span> <span class="keywordtype">int</span> bkg_sx=SINFO_BKG_BOX_SZ;</div>
-<div class="line"><a name="l01774"></a><span class="lineno"> 1774</span> <span class="keywordtype">int</span> bkg_sy=SINFO_BKG_BOX_SZ;</div>
-<div class="line"><a name="l01775"></a><span class="lineno"> 1775</span> </div>
-<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span> cpl_bivector* iqe=NULL;</div>
-<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span> <span class="keywordtype">double</span>* piqe=NULL;</div>
-<div class="line"><a name="l01778"></a><span class="lineno"> 1778</span> cpl_image* im_new=NULL;</div>
-<div class="line"><a name="l01779"></a><span class="lineno"> 1779</span> </div>
-<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span> sx=cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l01781"></a><span class="lineno"> 1781</span> sy=cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span> </div>
-<div class="line"><a name="l01783"></a><span class="lineno"> 1783</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"star_radius=%d"</span>,radius);</div>
-<div class="line"><a name="l01784"></a><span class="lineno"> 1784</span> <span class="comment">//We find the image centroid</span></div>
-<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span> <span class="keywordflow">if</span>(NULL != (iqe=cpl_image_iqe(im,sx/2-radius,sy/2-radius,</div>
-<div class="line"><a name="l01786"></a><span class="lineno"> 1786</span> sx/2+radius,sy/2+radius))) {</div>
-<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span> </div>
-<div class="line"><a name="l01788"></a><span class="lineno"> 1788</span> </div>
-<div class="line"><a name="l01789"></a><span class="lineno"> 1789</span> piqe=cpl_bivector_get_x_data(iqe);</div>
-<div class="line"><a name="l01790"></a><span class="lineno"> 1790</span> <span class="comment">//*star_peak=piqe[5];</span></div>
-<div class="line"><a name="l01791"></a><span class="lineno"> 1791</span> xm=piqe[0];</div>
-<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span> ym=piqe[1];</div>
-<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span> <span class="comment">//Extract a square sub-image of minimal size not to hit the image borders</span></div>
-<div class="line"><a name="l01794"></a><span class="lineno"> 1794</span> <span class="comment">//centered on the previous image centroid</span></div>
-<div class="line"><a name="l01795"></a><span class="lineno"> 1795</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Max ima: %g %g"</span>,xm,ym);</div>
-<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Find min of: %g %g %g %g"</span>,xm,sx-xm,ym,sy-ym);</div>
-<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span> ixm=floor(xm);</div>
-<div class="line"><a name="l01798"></a><span class="lineno"> 1798</span> iym=floor(ym);</div>
-<div class="line"><a name="l01799"></a><span class="lineno"> 1799</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"ixm=%d iym=%d"</span>,ixm,iym);</div>
-<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span> dim_new=floor(sinfo_find_min_of_four(xm,sx-xm,ym,sy-ym));</div>
-<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"dim_new=%d"</span>,dim_new);</div>
-<div class="line"><a name="l01802"></a><span class="lineno"> 1802</span> llx=(ixm-dim_new > 1) ? ixm-dim_new : 1;</div>
-<div class="line"><a name="l01803"></a><span class="lineno"> 1803</span> lly=(iym-dim_new > 1) ? iym-dim_new : 1;</div>
-<div class="line"><a name="l01804"></a><span class="lineno"> 1804</span> urx=(ixm+dim_new < sx) ? ixm+dim_new : sx;</div>
-<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span> ury=(iym+dim_new < sy) ? iym+dim_new : sy;</div>
-<div class="line"><a name="l01806"></a><span class="lineno"> 1806</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"llx=%d lly=%d urx=%d ury=%d"</span>,llx,lly,urx,ury);</div>
-<div class="line"><a name="l01807"></a><span class="lineno"> 1807</span> check_nomsg(im_new=cpl_image_extract(im,llx,lly,urx,ury));</div>
-<div class="line"><a name="l01808"></a><span class="lineno"> 1808</span> </div>
-<div class="line"><a name="l01809"></a><span class="lineno"> 1809</span> <span class="comment">//compute the background of this last image</span></div>
-<div class="line"><a name="l01810"></a><span class="lineno"> 1810</span> check_nomsg(sinfo_get_bkg_4corners(im_new,bkg_sx,bkg_sy,bkg,&bkg_stdev));</div>
-<div class="line"><a name="l01811"></a><span class="lineno"> 1811</span> </div>
-<div class="line"><a name="l01812"></a><span class="lineno"> 1812</span> </div>
-<div class="line"><a name="l01813"></a><span class="lineno"> 1813</span> </div>
-<div class="line"><a name="l01814"></a><span class="lineno"> 1814</span> sinfo_free_bivector(&iqe);</div>
-<div class="line"><a name="l01815"></a><span class="lineno"> 1815</span> </div>
-<div class="line"><a name="l01816"></a><span class="lineno"> 1816</span> <span class="comment">//Determine the image pick on the new coordinate system</span></div>
-<div class="line"><a name="l01817"></a><span class="lineno"> 1817</span> iqe=cpl_image_iqe(im_new,dim_new-radius,dim_new-radius,</div>
-<div class="line"><a name="l01818"></a><span class="lineno"> 1818</span> dim_new+radius,dim_new+radius);</div>
-<div class="line"><a name="l01819"></a><span class="lineno"> 1819</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"xc=%g yc=%g"</span>,piqe[0],piqe[1]);</div>
-<div class="line"><a name="l01820"></a><span class="lineno"> 1820</span> *xc=piqe[0]-dim_new-1;</div>
-<div class="line"><a name="l01821"></a><span class="lineno"> 1821</span> *yc=piqe[1]-dim_new-1;</div>
-<div class="line"><a name="l01822"></a><span class="lineno"> 1822</span> </div>
-<div class="line"><a name="l01823"></a><span class="lineno"> 1823</span> </div>
-<div class="line"><a name="l01824"></a><span class="lineno"> 1824</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"xc=%g yc=%g"</span>,*xc,*yc);</div>
-<div class="line"><a name="l01825"></a><span class="lineno"> 1825</span> <span class="comment">//*peak=piqe[5];</span></div>
-<div class="line"><a name="l01826"></a><span class="lineno"> 1826</span> *peak=cpl_image_get_max_window(im_new,dim_new-radius,dim_new-radius,</div>
-<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span> dim_new+radius,dim_new+radius);</div>
-<div class="line"><a name="l01828"></a><span class="lineno"> 1828</span> </div>
-<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span> sinfo_get_flux_above_bkg(im_new,kappa,bkg_stdev,flux);</div>
-<div class="line"><a name="l01830"></a><span class="lineno"> 1830</span> *peak -= (*bkg);</div>
-<div class="line"><a name="l01831"></a><span class="lineno"> 1831</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"star peak=%g bkg=%g"</span>,*peak,*bkg);</div>
-<div class="line"><a name="l01832"></a><span class="lineno"> 1832</span> </div>
-<div class="line"><a name="l01833"></a><span class="lineno"> 1833</span> </div>
-<div class="line"><a name="l01834"></a><span class="lineno"> 1834</span> sinfo_free_bivector(&iqe);</div>
-<div class="line"><a name="l01835"></a><span class="lineno"> 1835</span> </div>
-<div class="line"><a name="l01836"></a><span class="lineno"> 1836</span> </div>
-<div class="line"><a name="l01837"></a><span class="lineno"> 1837</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01838"></a><span class="lineno"> 1838</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"IQE fit failed"</span>);</div>
-<div class="line"><a name="l01839"></a><span class="lineno"> 1839</span> cpl_error_reset();</div>
-<div class="line"><a name="l01840"></a><span class="lineno"> 1840</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"xc=%d yc=%d radius=%d"</span>,xpos,ypos,radius);</div>
-<div class="line"><a name="l01841"></a><span class="lineno"> 1841</span> *xc=xpos-sx/2;</div>
-<div class="line"><a name="l01842"></a><span class="lineno"> 1842</span> *yc=ypos-sy/2;</div>
-<div class="line"><a name="l01843"></a><span class="lineno"> 1843</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"xc=%g yc=%g"</span>,*xc,*yc);</div>
-<div class="line"><a name="l01844"></a><span class="lineno"> 1844</span> check_nomsg(sinfo_get_bkg_4corners(im,bkg_sx,bkg_sy,bkg,&bkg_stdev));</div>
-<div class="line"><a name="l01845"></a><span class="lineno"> 1845</span> check_nomsg(sinfo_get_safe_box(&llx, &lly, &urx, &ury, xpos,ypos,radius,</div>
-<div class="line"><a name="l01846"></a><span class="lineno"> 1846</span> 64,64));</div>
-<div class="line"><a name="l01847"></a><span class="lineno"> 1847</span> check_nomsg(*peak=cpl_image_get_max_window(im,llx,lly,urx,ury)-(*bkg));</div>
-<div class="line"><a name="l01848"></a><span class="lineno"> 1848</span> sinfo_get_flux_above_bkg(im,kappa,bkg_stdev,flux);</div>
-<div class="line"><a name="l01849"></a><span class="lineno"> 1849</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"star peak=%g bkg=%g"</span>,*peak,*bkg);</div>
-<div class="line"><a name="l01850"></a><span class="lineno"> 1850</span> </div>
-<div class="line"><a name="l01851"></a><span class="lineno"> 1851</span> </div>
-<div class="line"><a name="l01852"></a><span class="lineno"> 1852</span> }</div>
-<div class="line"><a name="l01853"></a><span class="lineno"> 1853</span> </div>
-<div class="line"><a name="l01854"></a><span class="lineno"> 1854</span> </div>
-<div class="line"><a name="l01855"></a><span class="lineno"> 1855</span> </div>
-<div class="line"><a name="l01856"></a><span class="lineno"> 1856</span> cleanup:</div>
-<div class="line"><a name="l01857"></a><span class="lineno"> 1857</span> sinfo_free_image(&im_new);</div>
-<div class="line"><a name="l01858"></a><span class="lineno"> 1858</span> sinfo_free_bivector(&iqe);</div>
-<div class="line"><a name="l01859"></a><span class="lineno"> 1859</span> </div>
-<div class="line"><a name="l01860"></a><span class="lineno"> 1860</span> </div>
-<div class="line"><a name="l01861"></a><span class="lineno"> 1861</span> </div>
-<div class="line"><a name="l01862"></a><span class="lineno"> 1862</span> </div>
-<div class="line"><a name="l01863"></a><span class="lineno"> 1863</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l01864"></a><span class="lineno"> 1864</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l01865"></a><span class="lineno"> 1865</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01866"></a><span class="lineno"> 1866</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l01867"></a><span class="lineno"> 1867</span> }</div>
-<div class="line"><a name="l01868"></a><span class="lineno"> 1868</span> </div>
-<div class="line"><a name="l01869"></a><span class="lineno"> 1869</span> }</div>
-<div class="line"><a name="l01870"></a><span class="lineno"> 1870</span> </div>
-<div class="line"><a name="l01871"></a><span class="lineno"> 1871</span> </div>
-<div class="line"><a name="l01872"></a><span class="lineno"> 1872</span> </div>
-<div class="line"><a name="l01873"></a><span class="lineno"> 1873</span> </div>
-<div class="line"><a name="l01874"></a><span class="lineno"> 1874</span> </div>
-<div class="line"><a name="l01875"></a><span class="lineno"> 1875</span> </div>
-<div class="line"><a name="l01876"></a><span class="lineno"> 1876</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01903"></a><span class="lineno"> 1903</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01904"></a><span class="lineno"> 1904</span> cpl_error_code</div>
-<div class="line"><a name="l01905"></a><span class="lineno"> 1905</span> sinfo_strehl_compute_one(<span class="keyword">const</span> cpl_image * im,</div>
-<div class="line"><a name="l01906"></a><span class="lineno"> 1906</span> <span class="keywordtype">double</span> m1,</div>
-<div class="line"><a name="l01907"></a><span class="lineno"> 1907</span> <span class="keywordtype">double</span> m2,</div>
-<div class="line"><a name="l01908"></a><span class="lineno"> 1908</span> <span class="keywordtype">double</span> lam,</div>
-<div class="line"><a name="l01909"></a><span class="lineno"> 1909</span> <span class="keywordtype">double</span> dlam,</div>
-<div class="line"><a name="l01910"></a><span class="lineno"> 1910</span> <span class="keywordtype">double</span> pscale,</div>
-<div class="line"><a name="l01911"></a><span class="lineno"> 1911</span> <span class="keywordtype">int</span> xpos,</div>
-<div class="line"><a name="l01912"></a><span class="lineno"> 1912</span> <span class="keywordtype">int</span> ypos,</div>
-<div class="line"><a name="l01913"></a><span class="lineno"> 1913</span> <span class="keywordtype">double</span> r1,</div>
-<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span> <span class="keywordtype">double</span> r2,</div>
-<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span> <span class="keywordtype">double</span> r3,</div>
-<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span> <span class="keywordtype">int</span> size,</div>
-<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span> <span class="keywordtype">double</span> * strehl,</div>
-<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span> <span class="keywordtype">double</span> * strehl_err,</div>
-<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span> <span class="keywordtype">double</span> * star_bkg,</div>
-<div class="line"><a name="l01920"></a><span class="lineno"> 1920</span> <span class="keywordtype">double</span> * star_peak,</div>
-<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span> <span class="keywordtype">double</span> * star_flux,</div>
-<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span> <span class="keywordtype">double</span> * psf_peak,</div>
-<div class="line"><a name="l01923"></a><span class="lineno"> 1923</span> <span class="keywordtype">double</span> * psf_flux,</div>
-<div class="line"><a name="l01924"></a><span class="lineno"> 1924</span> <span class="keywordtype">double</span> * bg_noise)</div>
-<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span> {</div>
-<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span> cpl_image * psf;</div>
-<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span> <span class="keywordtype">double</span> star_radius;</div>
-<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span> </div>
-<div class="line"><a name="l01929"></a><span class="lineno"> 1929</span> <span class="comment">/* FIXME: Arbitrary choice of image border */</span></div>
-<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span> <span class="keyword">const</span> <span class="keywordtype">double</span> window_size = (double)(SINFO_STREHL_RAD_CENTRAL);</div>
-<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span> </div>
-<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span> <span class="comment">/* Determined empirically by C. Lidman for Strehl error computation */</span></div>
-<div class="line"><a name="l01933"></a><span class="lineno"> 1933</span> <span class="comment">//Commented as not used</span></div>
-<div class="line"><a name="l01934"></a><span class="lineno"> 1934</span> <span class="comment">//const double strehl_error_coefficient = SINFO_MATH_PI * 0.007 / 0.0271;</span></div>
-<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span> </div>
-<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span> <span class="preprocessor">#if defined CPL_VERSION_CODE && CPL_VERSION_CODE >= CPL_VERSION(4, 0, 0)</span></div>
-<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span> <span class="preprocessor"></span> <span class="keywordtype">double</span> ring[4];</div>
-<div class="line"><a name="l01938"></a><span class="lineno"> 1938</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l01939"></a><span class="lineno"> 1939</span> <span class="preprocessor"></span> <span class="comment">/* FIXME: Remove this branch once CPL 3.X is no longer supported */</span></div>
-<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span> <span class="keywordtype">int</span> ring[4];</div>
-<div class="line"><a name="l01941"></a><span class="lineno"> 1941</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l01942"></a><span class="lineno"> 1942</span> <span class="preprocessor"></span> cpl_bivector* iqe1=NULL;</div>
-<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span> <span class="keywordtype">double</span> xc=0;</div>
-<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span> <span class="keywordtype">double</span> yc=0;</div>
-<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span> <span class="keywordtype">int</span> d=16;</div>
-<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span> </div>
-<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span> </div>
-<div class="line"><a name="l01948"></a><span class="lineno"> 1948</span> </div>
-<div class="line"><a name="l01949"></a><span class="lineno"> 1949</span> <span class="comment">/* Check compile-time constant */</span></div>
-<div class="line"><a name="l01950"></a><span class="lineno"> 1950</span> cpl_ensure_code(window_size > 0.0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01951"></a><span class="lineno"> 1951</span> </div>
-<div class="line"><a name="l01952"></a><span class="lineno"> 1952</span> <span class="comment">/* Test inputs */</span></div>
-<div class="line"><a name="l01953"></a><span class="lineno"> 1953</span> cpl_ensure_code(im != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01954"></a><span class="lineno"> 1954</span> cpl_ensure_code(strehl != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span> cpl_ensure_code(strehl_err != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span> cpl_ensure_code(star_bkg != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01957"></a><span class="lineno"> 1957</span> cpl_ensure_code(star_peak != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01958"></a><span class="lineno"> 1958</span> cpl_ensure_code(star_flux != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01959"></a><span class="lineno"> 1959</span> cpl_ensure_code(psf_peak != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span> cpl_ensure_code(psf_flux != NULL, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l01961"></a><span class="lineno"> 1961</span> </div>
-<div class="line"><a name="l01962"></a><span class="lineno"> 1962</span> cpl_ensure_code(pscale > 0.0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01963"></a><span class="lineno"> 1963</span> </div>
-<div class="line"><a name="l01964"></a><span class="lineno"> 1964</span> </div>
-<div class="line"><a name="l01965"></a><span class="lineno"> 1965</span> cpl_ensure_code(r1 > 0.0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01966"></a><span class="lineno"> 1966</span> cpl_ensure_code(r2 > 0.0, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span> </div>
-<div class="line"><a name="l01968"></a><span class="lineno"> 1968</span> cpl_ensure_code(r3 > r2, CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span> </div>
-<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span> </div>
-<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span> <span class="comment">/* Computing a Strehl ratio is a story between an ideal PSF */</span></div>
-<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span> check_nomsg(sinfo_compute_psf(m1,m2/m1,lam*1.e-6,pscale,xc,yc,</div>
-<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span> 1.,psf_peak));</div>
-<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span> <span class="comment">/* and a candidate image supposed to approximate this ideal PSF. */</span></div>
-<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span> </div>
-<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span> <span class="comment">/* Generate first appropriate PSF to find max peak */</span></div>
-<div class="line"><a name="l01977"></a><span class="lineno"> 1977</span> </div>
-<div class="line"><a name="l01978"></a><span class="lineno"> 1978</span> psf = irplib_strehl_generate_psf(m1, m2, lam, dlam, pscale, size);</div>
-<div class="line"><a name="l01979"></a><span class="lineno"> 1979</span> cpl_ensure_code(psf != NULL, CPL_ERROR_ILLEGAL_OUTPUT);</div>
-<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span> </div>
-<div class="line"><a name="l01981"></a><span class="lineno"> 1981</span> <span class="comment">/* Compute flux in PSF and find max peak */</span></div>
-<div class="line"><a name="l01982"></a><span class="lineno"> 1982</span> *psf_peak = cpl_image_get_max(psf);</div>
-<div class="line"><a name="l01983"></a><span class="lineno"> 1983</span> </div>
-<div class="line"><a name="l01984"></a><span class="lineno"> 1984</span> cpl_image_delete(psf);</div>
-<div class="line"><a name="l01985"></a><span class="lineno"> 1985</span> </div>
-<div class="line"><a name="l01986"></a><span class="lineno"> 1986</span> </div>
-<div class="line"><a name="l01987"></a><span class="lineno"> 1987</span> </div>
-<div class="line"><a name="l01988"></a><span class="lineno"> 1988</span> </div>
-<div class="line"><a name="l01989"></a><span class="lineno"> 1989</span> cpl_ensure( *psf_peak > 0.0, CPL_ERROR_ILLEGAL_OUTPUT,CPL_ERROR_ILLEGAL_OUTPUT); <span class="comment">/* The ideal PSF has a positive maximum */</span></div>
-<div class="line"><a name="l01990"></a><span class="lineno"> 1990</span> *psf_flux = 1.0; <span class="comment">/* The psf flux, cpl_image_get_flux(psf), is always 1 */</span></div>
-<div class="line"><a name="l01991"></a><span class="lineno"> 1991</span> </div>
-<div class="line"><a name="l01992"></a><span class="lineno"> 1992</span> </div>
-<div class="line"><a name="l01993"></a><span class="lineno"> 1993</span> <span class="comment">/* Compute star_radius in pixels */</span></div>
-<div class="line"><a name="l01994"></a><span class="lineno"> 1994</span> star_radius = r1/pscale;</div>
-<div class="line"><a name="l01995"></a><span class="lineno"> 1995</span> </div>
-<div class="line"><a name="l01996"></a><span class="lineno"> 1996</span> </div>
-<div class="line"><a name="l01997"></a><span class="lineno"> 1997</span> check_nomsg(sinfo_get_star_features(im,d,xpos,ypos,&xc,&yc,</div>
-<div class="line"><a name="l01998"></a><span class="lineno"> 1998</span> star_peak,star_flux,star_bkg));</div>
-<div class="line"><a name="l01999"></a><span class="lineno"> 1999</span> </div>
-<div class="line"><a name="l02000"></a><span class="lineno"> 2000</span> </div>
-<div class="line"><a name="l02001"></a><span class="lineno"> 2001</span> check_nomsg(sinfo_compute_psf(m1,m2/m1,lam*1.e-6,pscale,xc,yc,1.,psf_peak));</div>
-<div class="line"><a name="l02002"></a><span class="lineno"> 2002</span> </div>
-<div class="line"><a name="l02003"></a><span class="lineno"> 2003</span> </div>
-<div class="line"><a name="l02004"></a><span class="lineno"> 2004</span> </div>
-<div class="line"><a name="l02005"></a><span class="lineno"> 2005</span> *star_peak -= *star_bkg;</div>
-<div class="line"><a name="l02006"></a><span class="lineno"> 2006</span> </div>
-<div class="line"><a name="l02007"></a><span class="lineno"> 2007</span> </div>
-<div class="line"><a name="l02008"></a><span class="lineno"> 2008</span> cpl_ensure_code(*star_peak > 0.0, CPL_ERROR_ILLEGAL_OUTPUT);</div>
-<div class="line"><a name="l02009"></a><span class="lineno"> 2009</span> </div>
-<div class="line"><a name="l02010"></a><span class="lineno"> 2010</span> </div>
-<div class="line"><a name="l02011"></a><span class="lineno"> 2011</span> <span class="comment">/* Compute Strehl */</span></div>
-<div class="line"><a name="l02012"></a><span class="lineno"> 2012</span> <span class="comment">/* (StarPeak / StarFlux) / (PsfPeak / PsfFlux) */</span></div>
-<div class="line"><a name="l02013"></a><span class="lineno"> 2013</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Star flux=%g"</span>, *star_flux);</div>
-<div class="line"><a name="l02014"></a><span class="lineno"> 2014</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Star peak=%g"</span>, *star_peak);</div>
-<div class="line"><a name="l02015"></a><span class="lineno"> 2015</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"PSF flux=%g"</span>, *psf_flux);</div>
-<div class="line"><a name="l02016"></a><span class="lineno"> 2016</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"PSF peak=%g"</span>, *psf_peak);</div>
-<div class="line"><a name="l02017"></a><span class="lineno"> 2017</span> </div>
-<div class="line"><a name="l02018"></a><span class="lineno"> 2018</span> *strehl = (*star_peak * *psf_flux ) / ( *star_flux * *psf_peak);</div>
-<div class="line"><a name="l02019"></a><span class="lineno"> 2019</span> </div>
-<div class="line"><a name="l02020"></a><span class="lineno"> 2020</span> </div>
-<div class="line"><a name="l02021"></a><span class="lineno"> 2021</span> </div>
-<div class="line"><a name="l02022"></a><span class="lineno"> 2022</span> <span class="keywordflow">if</span> (*strehl > 1)</div>
-<div class="line"><a name="l02023"></a><span class="lineno"> 2023</span> cpl_msg_warning(cpl_func, <span class="stringliteral">"Extreme Strehl-ratio=%g, star_peak=%g, "</span></div>
-<div class="line"><a name="l02024"></a><span class="lineno"> 2024</span> <span class="stringliteral">"star_flux=%g, psf_peak=%g, psf_flux=%g"</span>, *strehl,</div>
-<div class="line"><a name="l02025"></a><span class="lineno"> 2025</span> *star_peak, *star_flux, *psf_peak, *psf_flux);</div>
-<div class="line"><a name="l02026"></a><span class="lineno"> 2026</span> </div>
-<div class="line"><a name="l02027"></a><span class="lineno"> 2027</span> <span class="comment">/* Compute Strehl error */</span></div>
-<div class="line"><a name="l02028"></a><span class="lineno"> 2028</span> ring[0] = xpos;</div>
-<div class="line"><a name="l02029"></a><span class="lineno"> 2029</span> ring[1] = ypos;</div>
-<div class="line"><a name="l02030"></a><span class="lineno"> 2030</span> ring[2] = r2/pscale;</div>
-<div class="line"><a name="l02031"></a><span class="lineno"> 2031</span> ring[3] = r3/pscale;</div>
-<div class="line"><a name="l02032"></a><span class="lineno"> 2032</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02033"></a><span class="lineno"> 2033</span> <span class="comment"> *strehl_err = strehl_error_coefficient * (*bg_noise) * pscale *</span></div>
-<div class="line"><a name="l02034"></a><span class="lineno"> 2034</span> <span class="comment"> star_radius * star_radius / *star_flux;</span></div>
-<div class="line"><a name="l02035"></a><span class="lineno"> 2035</span> <span class="comment"></span></div>
-<div class="line"><a name="l02036"></a><span class="lineno"> 2036</span> <span class="comment"> // This check should not be able to fail, but just to be sure</span></div>
-<div class="line"><a name="l02037"></a><span class="lineno"> 2037</span> <span class="comment"> cpl_ensure_code(*strehl_err >= 0.0, CPL_ERROR_ILLEGAL_OUTPUT);</span></div>
-<div class="line"><a name="l02038"></a><span class="lineno"> 2038</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02039"></a><span class="lineno"> 2039</span> *bg_noise=0;</div>
-<div class="line"><a name="l02040"></a><span class="lineno"> 2040</span> </div>
-<div class="line"><a name="l02041"></a><span class="lineno"> 2041</span> </div>
-<div class="line"><a name="l02042"></a><span class="lineno"> 2042</span> cleanup:</div>
-<div class="line"><a name="l02043"></a><span class="lineno"> 2043</span> sinfo_free_bivector(&iqe1);</div>
-<div class="line"><a name="l02044"></a><span class="lineno"> 2044</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l02045"></a><span class="lineno"> 2045</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l02046"></a><span class="lineno"> 2046</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l02047"></a><span class="lineno"> 2047</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l02048"></a><span class="lineno"> 2048</span> }</div>
-<div class="line"><a name="l02049"></a><span class="lineno"> 2049</span> </div>
-<div class="line"><a name="l02050"></a><span class="lineno"> 2050</span> </div>
-<div class="line"><a name="l02051"></a><span class="lineno"> 2051</span> }</div>
-<div class="line"><a name="l02052"></a><span class="lineno"> 2052</span> </div>
-<div class="line"><a name="l02053"></a><span class="lineno"> 2053</span> </div>
-<div class="line"><a name="l02054"></a><span class="lineno"> 2054</span> </div>
-<div class="line"><a name="l02055"></a><span class="lineno"> 2055</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l02056"></a><span class="lineno"> 2056</span> sinfo_check_borders(cpl_size* val,<span class="keyword">const</span> <span class="keywordtype">int</span> max,<span class="keyword">const</span> <span class="keywordtype">int</span> thresh)</div>
-<div class="line"><a name="l02057"></a><span class="lineno"> 2057</span> {</div>
-<div class="line"><a name="l02058"></a><span class="lineno"> 2058</span> </div>
-<div class="line"><a name="l02059"></a><span class="lineno"> 2059</span> *val = ((*val-thresh) > 0) ? *val : thresh;</div>
-<div class="line"><a name="l02060"></a><span class="lineno"> 2060</span> *val = ((*val+thresh) < max) ? *val : max-thresh-1;</div>
-<div class="line"><a name="l02061"></a><span class="lineno"> 2061</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l02062"></a><span class="lineno"> 2062</span> }</div>
-<div class="line"><a name="l02063"></a><span class="lineno"> 2063</span> </div>
-<div class="line"><a name="l02064"></a><span class="lineno"> 2064</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l02065"></a><span class="lineno"> 2065</span> sinfo_get_safe_box(<span class="keywordtype">int</span>* llx,</div>
-<div class="line"><a name="l02066"></a><span class="lineno"> 2066</span> <span class="keywordtype">int</span>* lly,</div>
-<div class="line"><a name="l02067"></a><span class="lineno"> 2067</span> <span class="keywordtype">int</span>* urx,</div>
-<div class="line"><a name="l02068"></a><span class="lineno"> 2068</span> <span class="keywordtype">int</span>* ury,</div>
-<div class="line"><a name="l02069"></a><span class="lineno"> 2069</span> <span class="keyword">const</span> <span class="keywordtype">int</span> xpos,</div>
-<div class="line"><a name="l02070"></a><span class="lineno"> 2070</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ypos,</div>
-<div class="line"><a name="l02071"></a><span class="lineno"> 2071</span> <span class="keyword">const</span> <span class="keywordtype">int</span> box,</div>
-<div class="line"><a name="l02072"></a><span class="lineno"> 2072</span> <span class="keyword">const</span> <span class="keywordtype">int</span> szx,</div>
-<div class="line"><a name="l02073"></a><span class="lineno"> 2073</span> <span class="keyword">const</span> <span class="keywordtype">int</span> szy)</div>
-<div class="line"><a name="l02074"></a><span class="lineno"> 2074</span> </div>
-<div class="line"><a name="l02075"></a><span class="lineno"> 2075</span> {</div>
-<div class="line"><a name="l02076"></a><span class="lineno"> 2076</span> *llx= ((xpos-box)>0) ? (xpos-box) : 1;</div>
-<div class="line"><a name="l02077"></a><span class="lineno"> 2077</span> *lly= ((ypos-box)>0) ? (ypos-box) : 1;</div>
-<div class="line"><a name="l02078"></a><span class="lineno"> 2078</span> *urx= ((xpos+box)<szx) ? (xpos+box) : szx-1 ;</div>
-<div class="line"><a name="l02079"></a><span class="lineno"> 2079</span> *ury= ((ypos+box)<szy) ? (ypos+box) : szy-1 ;</div>
-<div class="line"><a name="l02080"></a><span class="lineno"> 2080</span> </div>
-<div class="line"><a name="l02081"></a><span class="lineno"> 2081</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l02082"></a><span class="lineno"> 2082</span> }</div>
-<div class="line"><a name="l02083"></a><span class="lineno"> 2083</span> </div>
-<div class="line"><a name="l02084"></a><span class="lineno"> 2084</span> </div>
-<div class="line"><a name="l02085"></a><span class="lineno"> 2085</span> </div>
-<div class="line"><a name="l02086"></a><span class="lineno"> 2086</span> </div>
-<div class="line"><a name="l02087"></a><span class="lineno"> 2087</span> </div>
-<div class="line"><a name="l02088"></a><span class="lineno"> 2088</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02098"></a><span class="lineno"> 2098</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02099"></a><span class="lineno"> 2099</span> cpl_error_code</div>
-<div class="line"><a name="l02100"></a><span class="lineno"> 2100</span> sinfo_get_bkg_4corners(<span class="keyword">const</span> cpl_image *img,</div>
-<div class="line"><a name="l02101"></a><span class="lineno"> 2101</span> <span class="keyword">const</span> <span class="keywordtype">int</span> bkg_sx,</div>
-<div class="line"><a name="l02102"></a><span class="lineno"> 2102</span> <span class="keyword">const</span> <span class="keywordtype">int</span> bkg_sy,</div>
-<div class="line"><a name="l02103"></a><span class="lineno"> 2103</span> <span class="keywordtype">double</span>* bkg,</div>
-<div class="line"><a name="l02104"></a><span class="lineno"> 2104</span> <span class="keywordtype">double</span>* std)</div>
-<div class="line"><a name="l02105"></a><span class="lineno"> 2105</span> {</div>
-<div class="line"><a name="l02106"></a><span class="lineno"> 2106</span> </div>
-<div class="line"><a name="l02107"></a><span class="lineno"> 2107</span> <span class="keywordtype">int</span> sx=0;</div>
-<div class="line"><a name="l02108"></a><span class="lineno"> 2108</span> <span class="keywordtype">int</span> sy=0;</div>
-<div class="line"><a name="l02109"></a><span class="lineno"> 2109</span> cpl_image* img_bkg=NULL;</div>
-<div class="line"><a name="l02110"></a><span class="lineno"> 2110</span> *bkg=0;</div>
-<div class="line"><a name="l02111"></a><span class="lineno"> 2111</span> </div>
-<div class="line"><a name="l02112"></a><span class="lineno"> 2112</span> cknull(img,<span class="stringliteral">"NULL input image!"</span>);</div>
-<div class="line"><a name="l02113"></a><span class="lineno"> 2113</span> check_nomsg(sx=cpl_image_get_size_x(img));</div>
-<div class="line"><a name="l02114"></a><span class="lineno"> 2114</span> check_nomsg(sy=cpl_image_get_size_y(img));</div>
-<div class="line"><a name="l02115"></a><span class="lineno"> 2115</span> </div>
-<div class="line"><a name="l02116"></a><span class="lineno"> 2116</span> check_nomsg(img_bkg=cpl_image_new(2*bkg_sx,2*bkg_sy,CPL_TYPE_FLOAT));</div>
-<div class="line"><a name="l02117"></a><span class="lineno"> 2117</span> check_nomsg(cpl_image_copy(img_bkg,cpl_image_extract(img,1,1,bkg_sx,bkg_sy),</div>
-<div class="line"><a name="l02118"></a><span class="lineno"> 2118</span> 1,1));</div>
-<div class="line"><a name="l02119"></a><span class="lineno"> 2119</span> </div>
-<div class="line"><a name="l02120"></a><span class="lineno"> 2120</span> check_nomsg(cpl_image_copy(img_bkg,cpl_image_extract(img,sx-bkg_sx,1,</div>
-<div class="line"><a name="l02121"></a><span class="lineno"> 2121</span> sx,bkg_sy),bkg_sx+1,1));</div>
-<div class="line"><a name="l02122"></a><span class="lineno"> 2122</span> check_nomsg(cpl_image_copy(img_bkg,cpl_image_extract(img,1,sy-bkg_sy,</div>
-<div class="line"><a name="l02123"></a><span class="lineno"> 2123</span> bkg_sx,sy),1,bkg_sy+1));</div>
-<div class="line"><a name="l02124"></a><span class="lineno"> 2124</span> </div>
-<div class="line"><a name="l02125"></a><span class="lineno"> 2125</span> check_nomsg(cpl_image_copy(img_bkg,</div>
-<div class="line"><a name="l02126"></a><span class="lineno"> 2126</span> cpl_image_extract(img,sx-bkg_sx,sy-bkg_sy,sx,sy),</div>
-<div class="line"><a name="l02127"></a><span class="lineno"> 2127</span> bkg_sx+1,bkg_sy+1));</div>
-<div class="line"><a name="l02128"></a><span class="lineno"> 2128</span> </div>
-<div class="line"><a name="l02129"></a><span class="lineno"> 2129</span> check_nomsg(*bkg=cpl_image_get_median(img_bkg));</div>
-<div class="line"><a name="l02130"></a><span class="lineno"> 2130</span> check_nomsg(*std=cpl_image_get_stdev(img_bkg));</div>
-<div class="line"><a name="l02131"></a><span class="lineno"> 2131</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"sky bkg: %f"</span>,*bkg);</div>
-<div class="line"><a name="l02132"></a><span class="lineno"> 2132</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"sky stdev: %f"</span>,*std);</div>
-<div class="line"><a name="l02133"></a><span class="lineno"> 2133</span> </div>
-<div class="line"><a name="l02134"></a><span class="lineno"> 2134</span> </div>
-<div class="line"><a name="l02135"></a><span class="lineno"> 2135</span> cleanup:</div>
-<div class="line"><a name="l02136"></a><span class="lineno"> 2136</span> sinfo_free_image(&img_bkg);</div>
-<div class="line"><a name="l02137"></a><span class="lineno"> 2137</span> </div>
-<div class="line"><a name="l02138"></a><span class="lineno"> 2138</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l02139"></a><span class="lineno"> 2139</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l02140"></a><span class="lineno"> 2140</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l02141"></a><span class="lineno"> 2141</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l02142"></a><span class="lineno"> 2142</span> }</div>
-<div class="line"><a name="l02143"></a><span class="lineno"> 2143</span> </div>
-<div class="line"><a name="l02144"></a><span class="lineno"> 2144</span> </div>
-<div class="line"><a name="l02145"></a><span class="lineno"> 2145</span> }</div>
-<div class="line"><a name="l02146"></a><span class="lineno"> 2146</span> </div>
-<div class="line"><a name="l02159"></a><span class="lineno"> 2159</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02160"></a><span class="lineno"> 2160</span> cpl_error_code</div>
-<div class="line"><a name="l02161"></a><span class="lineno"> 2161</span> sinfo_compute_psf(<span class="keyword">const</span> <span class="keywordtype">double</span> dia,</div>
-<div class="line"><a name="l02162"></a><span class="lineno"> 2162</span> <span class="keyword">const</span> <span class="keywordtype">double</span> occ,</div>
-<div class="line"><a name="l02163"></a><span class="lineno"> 2163</span> <span class="keyword">const</span> <span class="keywordtype">double</span> lambda,</div>
-<div class="line"><a name="l02164"></a><span class="lineno"> 2164</span> <span class="keyword">const</span> <span class="keywordtype">double</span> psize,</div>
-<div class="line"><a name="l02165"></a><span class="lineno"> 2165</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cx,</div>
-<div class="line"><a name="l02166"></a><span class="lineno"> 2166</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cy,</div>
-<div class="line"><a name="l02167"></a><span class="lineno"> 2167</span> <span class="keyword">const</span> <span class="keywordtype">double</span> anamorph,</div>
-<div class="line"><a name="l02168"></a><span class="lineno"> 2168</span> <span class="keywordtype">double</span>* psf_peak)</div>
-<div class="line"><a name="l02169"></a><span class="lineno"> 2169</span> {</div>
-<div class="line"><a name="l02170"></a><span class="lineno"> 2170</span> </div>
-<div class="line"><a name="l02171"></a><span class="lineno"> 2171</span> <span class="keywordtype">int</span> bin=SINFO_PSF_BIN;</div>
-<div class="line"><a name="l02172"></a><span class="lineno"> 2172</span> <span class="keywordtype">int</span> npoints=SINFO_PSF_NPOINT;</div>
-<div class="line"><a name="l02173"></a><span class="lineno"> 2173</span> </div>
-<div class="line"><a name="l02174"></a><span class="lineno"> 2174</span> <span class="keywordtype">int</span> dim=SINFO_PSF_DIM;</div>
-<div class="line"><a name="l02175"></a><span class="lineno"> 2175</span> <span class="keywordtype">int</span> blocks=SINFO_PSF_BLOCKS;</div>
-<div class="line"><a name="l02176"></a><span class="lineno"> 2176</span> <span class="keywordtype">int</span> sx=dim;</div>
-<div class="line"><a name="l02177"></a><span class="lineno"> 2177</span> <span class="keywordtype">int</span> sy=dim;</div>
-<div class="line"><a name="l02178"></a><span class="lineno"> 2178</span> </div>
-<div class="line"><a name="l02179"></a><span class="lineno"> 2179</span> </div>
-<div class="line"><a name="l02180"></a><span class="lineno"> 2180</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02181"></a><span class="lineno"> 2181</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l02182"></a><span class="lineno"> 2182</span> <span class="keywordtype">double</span> k=0;</div>
-<div class="line"><a name="l02183"></a><span class="lineno"> 2183</span> </div>
-<div class="line"><a name="l02184"></a><span class="lineno"> 2184</span> <span class="keywordtype">int</span> ii=0;</div>
-<div class="line"><a name="l02185"></a><span class="lineno"> 2185</span> <span class="keywordtype">int</span> jj=0;</div>
-<div class="line"><a name="l02186"></a><span class="lineno"> 2186</span> <span class="keywordtype">int</span> start=0;</div>
-<div class="line"><a name="l02187"></a><span class="lineno"> 2187</span> </div>
-<div class="line"><a name="l02188"></a><span class="lineno"> 2188</span> <span class="keywordtype">double</span> nyquist=lambda/dia/2.*206265/psize*bin;</div>
-<div class="line"><a name="l02189"></a><span class="lineno"> 2189</span> <span class="keywordtype">double</span> cor=0.;</div>
-<div class="line"><a name="l02190"></a><span class="lineno"> 2190</span> <span class="keywordtype">double</span> v0=0;</div>
-<div class="line"><a name="l02191"></a><span class="lineno"> 2191</span> <span class="keywordtype">double</span> ll[npoints];</div>
-<div class="line"><a name="l02192"></a><span class="lineno"> 2192</span> <span class="keywordtype">double</span> part[npoints];</div>
-<div class="line"><a name="l02193"></a><span class="lineno"> 2193</span> <span class="keywordtype">double</span> ee;</div>
-<div class="line"><a name="l02194"></a><span class="lineno"> 2194</span> <span class="keywordtype">double</span> dll=0;</div>
-<div class="line"><a name="l02195"></a><span class="lineno"> 2195</span> <span class="keywordtype">double</span> tot1=0;</div>
-<div class="line"><a name="l02196"></a><span class="lineno"> 2196</span> <span class="keywordtype">double</span> tot2=0;</div>
-<div class="line"><a name="l02197"></a><span class="lineno"> 2197</span> </div>
-<div class="line"><a name="l02198"></a><span class="lineno"> 2198</span> </div>
-<div class="line"><a name="l02199"></a><span class="lineno"> 2199</span> <span class="keywordtype">double</span> fct=0;</div>
-<div class="line"><a name="l02200"></a><span class="lineno"> 2200</span> </div>
-<div class="line"><a name="l02201"></a><span class="lineno"> 2201</span> <span class="keywordtype">double</span>* pxx=NULL;</div>
-<div class="line"><a name="l02202"></a><span class="lineno"> 2202</span> <span class="keywordtype">double</span>* pyy=NULL;</div>
-<div class="line"><a name="l02203"></a><span class="lineno"> 2203</span> <span class="keywordtype">double</span>* prr=NULL;</div>
-<div class="line"><a name="l02204"></a><span class="lineno"> 2204</span> <span class="keywordtype">double</span>* ppsf0=NULL;</div>
-<div class="line"><a name="l02205"></a><span class="lineno"> 2205</span> </div>
-<div class="line"><a name="l02206"></a><span class="lineno"> 2206</span> <span class="keywordtype">double</span>* pcor=NULL;</div>
-<div class="line"><a name="l02207"></a><span class="lineno"> 2207</span> <span class="keywordtype">double</span>* pairy=NULL;</div>
-<div class="line"><a name="l02208"></a><span class="lineno"> 2208</span> <span class="keywordtype">double</span>* pw=NULL;</div>
-<div class="line"><a name="l02209"></a><span class="lineno"> 2209</span> </div>
-<div class="line"><a name="l02210"></a><span class="lineno"> 2210</span> cpl_image* img_xx=NULL;</div>
-<div class="line"><a name="l02211"></a><span class="lineno"> 2211</span> cpl_image* img_yy=NULL;</div>
-<div class="line"><a name="l02212"></a><span class="lineno"> 2212</span> cpl_image* img_rr=NULL;</div>
-<div class="line"><a name="l02213"></a><span class="lineno"> 2213</span> cpl_image* img_rrcor=NULL;</div>
-<div class="line"><a name="l02214"></a><span class="lineno"> 2214</span> cpl_image* img_airy=NULL;</div>
-<div class="line"><a name="l02215"></a><span class="lineno"> 2215</span> cpl_image* img_w=NULL;</div>
-<div class="line"><a name="l02216"></a><span class="lineno"> 2216</span> cpl_image* img_psf0=NULL;</div>
-<div class="line"><a name="l02217"></a><span class="lineno"> 2217</span> </div>
-<div class="line"><a name="l02218"></a><span class="lineno"> 2218</span> </div>
-<div class="line"><a name="l02219"></a><span class="lineno"> 2219</span> </div>
-<div class="line"><a name="l02220"></a><span class="lineno"> 2220</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"lambda=%g"</span>,lambda);</div>
-<div class="line"><a name="l02221"></a><span class="lineno"> 2221</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"dia=%f"</span>,dia);</div>
-<div class="line"><a name="l02222"></a><span class="lineno"> 2222</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"psize=%f"</span>,psize);</div>
-<div class="line"><a name="l02223"></a><span class="lineno"> 2223</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"bin=%d"</span>,bin);</div>
-<div class="line"><a name="l02224"></a><span class="lineno"> 2224</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"nyquist=%f"</span>,nyquist);</div>
-<div class="line"><a name="l02225"></a><span class="lineno"> 2225</span> </div>
-<div class="line"><a name="l02226"></a><span class="lineno"> 2226</span> check_nomsg(img_xx=cpl_image_new(sx,sy,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l02227"></a><span class="lineno"> 2227</span> img_yy=cpl_image_new(sx,sy,CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l02228"></a><span class="lineno"> 2228</span> img_rr=cpl_image_new(sx,sy,CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l02229"></a><span class="lineno"> 2229</span> img_rrcor=cpl_image_new(sx,sy,CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l02230"></a><span class="lineno"> 2230</span> </div>
-<div class="line"><a name="l02231"></a><span class="lineno"> 2231</span> pxx=cpl_image_get_data_double(img_xx);</div>
-<div class="line"><a name="l02232"></a><span class="lineno"> 2232</span> pyy=cpl_image_get_data_double(img_yy);</div>
-<div class="line"><a name="l02233"></a><span class="lineno"> 2233</span> prr=cpl_image_get_data_double(img_rr);</div>
-<div class="line"><a name="l02234"></a><span class="lineno"> 2234</span> </div>
-<div class="line"><a name="l02235"></a><span class="lineno"> 2235</span> <span class="keywordflow">for</span>(j=0;j<sy;j++) {</div>
-<div class="line"><a name="l02236"></a><span class="lineno"> 2236</span> <span class="keywordflow">for</span>(i=0;i<sx;i++) {</div>
-<div class="line"><a name="l02237"></a><span class="lineno"> 2237</span> <span class="comment">//xz plane increasing along y</span></div>
-<div class="line"><a name="l02238"></a><span class="lineno"> 2238</span> pxx[j*sx+i]=(i-sx/2-cx*bin)/nyquist*SINFO_MATH_PI/2;</div>
-<div class="line"><a name="l02239"></a><span class="lineno"> 2239</span> <span class="comment">//yz plane increasing along x</span></div>
-<div class="line"><a name="l02240"></a><span class="lineno"> 2240</span> pyy[j*sx+i]=(j-sy/2-cy*bin)/nyquist*SINFO_MATH_PI/2*anamorph;</div>
-<div class="line"><a name="l02241"></a><span class="lineno"> 2241</span> </div>
-<div class="line"><a name="l02242"></a><span class="lineno"> 2242</span> <span class="comment">//combinex xyz surface</span></div>
-<div class="line"><a name="l02243"></a><span class="lineno"> 2243</span> prr[j*sx+i]=sqrt(pxx[j*sx+i]*pxx[j*sx+i]+pyy[j*sx+i]*pyy[j*sx+i]);</div>
-<div class="line"><a name="l02244"></a><span class="lineno"> 2244</span> }</div>
-<div class="line"><a name="l02245"></a><span class="lineno"> 2245</span> }</div>
-<div class="line"><a name="l02246"></a><span class="lineno"> 2246</span> </div>
-<div class="line"><a name="l02247"></a><span class="lineno"> 2247</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02248"></a><span class="lineno"> 2248</span> <span class="comment"> check_nomsg(cpl_image_save(img_xx,"out_xx.fits", CPL_BPP_IEEE_DOUBLE,</span></div>
-<div class="line"><a name="l02249"></a><span class="lineno"> 2249</span> <span class="comment"> NULL,CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l02250"></a><span class="lineno"> 2250</span> <span class="comment"></span></div>
-<div class="line"><a name="l02251"></a><span class="lineno"> 2251</span> <span class="comment"> check_nomsg(cpl_image_save(img_yy,"out_yy.fits", CPL_BPP_IEEE_DOUBLE,</span></div>
-<div class="line"><a name="l02252"></a><span class="lineno"> 2252</span> <span class="comment"> NULL,CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l02253"></a><span class="lineno"> 2253</span> <span class="comment"></span></div>
-<div class="line"><a name="l02254"></a><span class="lineno"> 2254</span> <span class="comment"> check_nomsg(cpl_image_save(img_rr,"out_rr.fits", CPL_BPP_IEEE_DOUBLE,</span></div>
-<div class="line"><a name="l02255"></a><span class="lineno"> 2255</span> <span class="comment"> NULL,CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l02256"></a><span class="lineno"> 2256</span> <span class="comment"></span></div>
-<div class="line"><a name="l02257"></a><span class="lineno"> 2257</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02258"></a><span class="lineno"> 2258</span> </div>
-<div class="line"><a name="l02259"></a><span class="lineno"> 2259</span> img_rrcor=cpl_image_new(sx,sy,CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l02260"></a><span class="lineno"> 2260</span> </div>
-<div class="line"><a name="l02261"></a><span class="lineno"> 2261</span> cor=1./(1.-occ*occ);</div>
-<div class="line"><a name="l02262"></a><span class="lineno"> 2262</span> cor*=cor;</div>
-<div class="line"><a name="l02263"></a><span class="lineno"> 2263</span> </div>
-<div class="line"><a name="l02264"></a><span class="lineno"> 2264</span> img_rrcor=cpl_image_duplicate(img_rr);</div>
-<div class="line"><a name="l02265"></a><span class="lineno"> 2265</span> cpl_image_multiply_scalar(img_rrcor,cor);</div>
-<div class="line"><a name="l02266"></a><span class="lineno"> 2266</span> pcor=cpl_image_get_data_double(img_rrcor);</div>
-<div class="line"><a name="l02267"></a><span class="lineno"> 2267</span> </div>
-<div class="line"><a name="l02268"></a><span class="lineno"> 2268</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02269"></a><span class="lineno"> 2269</span> <span class="comment"> check_nomsg(cpl_image_save(img_rrcor,"out_rrcor.fits", CPL_BPP_IEEE_DOUBLE,</span></div>
-<div class="line"><a name="l02270"></a><span class="lineno"> 2270</span> <span class="comment"> NULL,CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l02271"></a><span class="lineno"> 2271</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02272"></a><span class="lineno"> 2272</span> </div>
-<div class="line"><a name="l02273"></a><span class="lineno"> 2273</span> img_airy=cpl_image_new(sx,sy,CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l02274"></a><span class="lineno"> 2274</span> pairy=cpl_image_get_data_double(img_airy);</div>
-<div class="line"><a name="l02275"></a><span class="lineno"> 2275</span> </div>
-<div class="line"><a name="l02276"></a><span class="lineno"> 2276</span> </div>
-<div class="line"><a name="l02277"></a><span class="lineno"> 2277</span> <span class="keywordflow">if</span> (occ == 0.0) {</div>
-<div class="line"><a name="l02278"></a><span class="lineno"> 2278</span> </div>
-<div class="line"><a name="l02279"></a><span class="lineno"> 2279</span> <span class="keywordflow">for</span>(j=0;j<sx;j++) {</div>
-<div class="line"><a name="l02280"></a><span class="lineno"> 2280</span> <span class="keywordflow">for</span>(i=0;i<sy;i++) {</div>
-<div class="line"><a name="l02281"></a><span class="lineno"> 2281</span> fct=(2.*j1(prr[j*sx+i])/prr[j*sx+i]);</div>
-<div class="line"><a name="l02282"></a><span class="lineno"> 2282</span> pairy[j*sx+i]=fct*fct;</div>
-<div class="line"><a name="l02283"></a><span class="lineno"> 2283</span> </div>
-<div class="line"><a name="l02284"></a><span class="lineno"> 2284</span> }</div>
-<div class="line"><a name="l02285"></a><span class="lineno"> 2285</span> }</div>
-<div class="line"><a name="l02286"></a><span class="lineno"> 2286</span> </div>
-<div class="line"><a name="l02287"></a><span class="lineno"> 2287</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l02288"></a><span class="lineno"> 2288</span> <span class="keywordflow">for</span>(j=0;j<sy;j++) {</div>
-<div class="line"><a name="l02289"></a><span class="lineno"> 2289</span> <span class="keywordflow">for</span>(i=0;i<sx;i++) {</div>
-<div class="line"><a name="l02290"></a><span class="lineno"> 2290</span> </div>
-<div class="line"><a name="l02291"></a><span class="lineno"> 2291</span> fct=(2.*j1(prr[j*sx+i])/prr[j*sx+i]-occ*occ*2.*j1(pcor[j*sx+i])/pcor[j*sx+i]);</div>
-<div class="line"><a name="l02292"></a><span class="lineno"> 2292</span> pairy[j*sx+i]=cor*fct*fct;</div>
-<div class="line"><a name="l02293"></a><span class="lineno"> 2293</span> </div>
-<div class="line"><a name="l02294"></a><span class="lineno"> 2294</span> }</div>
-<div class="line"><a name="l02295"></a><span class="lineno"> 2295</span> }</div>
-<div class="line"><a name="l02296"></a><span class="lineno"> 2296</span> }</div>
-<div class="line"><a name="l02297"></a><span class="lineno"> 2297</span> </div>
-<div class="line"><a name="l02298"></a><span class="lineno"> 2298</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02299"></a><span class="lineno"> 2299</span> <span class="comment"> check_nomsg(cpl_image_save(img_airy,"out_airy.fits", CPL_BPP_IEEE_DOUBLE,</span></div>
-<div class="line"><a name="l02300"></a><span class="lineno"> 2300</span> <span class="comment"> NULL,CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l02301"></a><span class="lineno"> 2301</span> <span class="comment"></span></div>
-<div class="line"><a name="l02302"></a><span class="lineno"> 2302</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02303"></a><span class="lineno"> 2303</span> </div>
-<div class="line"><a name="l02304"></a><span class="lineno"> 2304</span> <span class="comment">//To remove an expected NAN value at the PSF centre we re-set PSF(centre)=1</span></div>
-<div class="line"><a name="l02305"></a><span class="lineno"> 2305</span> img_w=cpl_image_duplicate(img_airy);</div>
-<div class="line"><a name="l02306"></a><span class="lineno"> 2306</span> pw=cpl_image_get_data_double(img_w);</div>
-<div class="line"><a name="l02307"></a><span class="lineno"> 2307</span> pairy=cpl_image_get_data_double(img_airy);</div>
-<div class="line"><a name="l02308"></a><span class="lineno"> 2308</span> </div>
-<div class="line"><a name="l02309"></a><span class="lineno"> 2309</span> <span class="keywordflow">for</span>(j=0;j<sy;j++) {</div>
-<div class="line"><a name="l02310"></a><span class="lineno"> 2310</span> <span class="keywordflow">for</span>(i=0;i<sx;i++) {</div>
-<div class="line"><a name="l02311"></a><span class="lineno"> 2311</span> <span class="keywordflow">if</span>(!irplib_isnan(pairy[i+j*sx]) && (pairy[i+j*sx] ==0)) {</div>
-<div class="line"><a name="l02312"></a><span class="lineno"> 2312</span> pairy[i+j*sx]=1.;</div>
-<div class="line"><a name="l02313"></a><span class="lineno"> 2313</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"====> %f"</span>,pairy[i+j*sx]);</div>
-<div class="line"><a name="l02314"></a><span class="lineno"> 2314</span> }</div>
-<div class="line"><a name="l02315"></a><span class="lineno"> 2315</span> }</div>
-<div class="line"><a name="l02316"></a><span class="lineno"> 2316</span> }</div>
-<div class="line"><a name="l02317"></a><span class="lineno"> 2317</span> pairy[sx/2+sy/2*sx]=1.;</div>
-<div class="line"><a name="l02318"></a><span class="lineno"> 2318</span> </div>
-<div class="line"><a name="l02319"></a><span class="lineno"> 2319</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"total-airy=%f"</span>,cpl_image_get_flux(img_airy));</div>
-<div class="line"><a name="l02320"></a><span class="lineno"> 2320</span> </div>
-<div class="line"><a name="l02321"></a><span class="lineno"> 2321</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02322"></a><span class="lineno"> 2322</span> <span class="comment"> check_nomsg(cpl_image_save(img_airy,"out_airy1.fits", CPL_BPP_IEEE_DOUBLE,</span></div>
-<div class="line"><a name="l02323"></a><span class="lineno"> 2323</span> <span class="comment"> NULL,CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l02324"></a><span class="lineno"> 2324</span> <span class="comment"></span></div>
-<div class="line"><a name="l02325"></a><span class="lineno"> 2325</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02326"></a><span class="lineno"> 2326</span> </div>
-<div class="line"><a name="l02327"></a><span class="lineno"> 2327</span> </div>
-<div class="line"><a name="l02328"></a><span class="lineno"> 2328</span> <span class="comment">// Computation of EE</span></div>
-<div class="line"><a name="l02329"></a><span class="lineno"> 2329</span> </div>
-<div class="line"><a name="l02330"></a><span class="lineno"> 2330</span> </div>
-<div class="line"><a name="l02331"></a><span class="lineno"> 2331</span> v0=prr[0+dim/4-1];</div>
-<div class="line"><a name="l02332"></a><span class="lineno"> 2332</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"v0=%12.10g"</span>,v0);</div>
-<div class="line"><a name="l02333"></a><span class="lineno"> 2333</span> <span class="keywordflow">for</span>(i=0;i<npoints;i++) {</div>
-<div class="line"><a name="l02334"></a><span class="lineno"> 2334</span> ll[i]=(double)i/npoints*v0;</div>
-<div class="line"><a name="l02335"></a><span class="lineno"> 2335</span> }</div>
-<div class="line"><a name="l02336"></a><span class="lineno"> 2336</span> dll=ll[1]-ll[0];</div>
-<div class="line"><a name="l02337"></a><span class="lineno"> 2337</span> cor=1./(1.-occ*occ);</div>
-<div class="line"><a name="l02338"></a><span class="lineno"> 2338</span> </div>
-<div class="line"><a name="l02339"></a><span class="lineno"> 2339</span> <span class="keywordflow">for</span>(i=0;i<npoints;i++) {</div>
-<div class="line"><a name="l02340"></a><span class="lineno"> 2340</span> part[i]=2.*j1(ll[i])/ll[i];</div>
-<div class="line"><a name="l02341"></a><span class="lineno"> 2341</span> }</div>
-<div class="line"><a name="l02342"></a><span class="lineno"> 2342</span> part[0]=1.0;</div>
-<div class="line"><a name="l02343"></a><span class="lineno"> 2343</span> </div>
-<div class="line"><a name="l02344"></a><span class="lineno"> 2344</span> tot1=0.;</div>
-<div class="line"><a name="l02345"></a><span class="lineno"> 2345</span> <span class="keywordflow">for</span>(i=0;i<npoints;i++) {</div>
-<div class="line"><a name="l02346"></a><span class="lineno"> 2346</span> tot1+=j1(occ*ll[i])*part[i]*dll;</div>
-<div class="line"><a name="l02347"></a><span class="lineno"> 2347</span> }</div>
-<div class="line"><a name="l02348"></a><span class="lineno"> 2348</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"tot=%10.8f"</span>,tot1);</div>
-<div class="line"><a name="l02349"></a><span class="lineno"> 2349</span> </div>
-<div class="line"><a name="l02350"></a><span class="lineno"> 2350</span> </div>
-<div class="line"><a name="l02351"></a><span class="lineno"> 2351</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"cor=%10.8f"</span>,cor);</div>
-<div class="line"><a name="l02352"></a><span class="lineno"> 2352</span> </div>
-<div class="line"><a name="l02353"></a><span class="lineno"> 2353</span> ee=(1.-j0(v0)*j0(v0));</div>
-<div class="line"><a name="l02354"></a><span class="lineno"> 2354</span> </div>
-<div class="line"><a name="l02355"></a><span class="lineno"> 2355</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"(1-j0(v0)*j0(v0))=%10.8f"</span>,ee);</div>
-<div class="line"><a name="l02356"></a><span class="lineno"> 2356</span> </div>
-<div class="line"><a name="l02357"></a><span class="lineno"> 2357</span> </div>
-<div class="line"><a name="l02358"></a><span class="lineno"> 2358</span> ee-=(j1(v0))*(j1(v0));</div>
-<div class="line"><a name="l02359"></a><span class="lineno"> 2359</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"j1^2=%10.8f"</span>,(j1(v0))*(j1(v0)));</div>
-<div class="line"><a name="l02360"></a><span class="lineno"> 2360</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"ee=%10.8f"</span>,ee);</div>
-<div class="line"><a name="l02361"></a><span class="lineno"> 2361</span> </div>
-<div class="line"><a name="l02362"></a><span class="lineno"> 2362</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"factor=%10.8f"</span>,</div>
-<div class="line"><a name="l02363"></a><span class="lineno"> 2363</span> occ*occ*(1-j0(occ*v0)*j0(occ*v0)-j1(occ*v0)*j1(occ*v0)));</div>
-<div class="line"><a name="l02364"></a><span class="lineno"> 2364</span> </div>
-<div class="line"><a name="l02365"></a><span class="lineno"> 2365</span> </div>
-<div class="line"><a name="l02366"></a><span class="lineno"> 2366</span> ee+=occ*occ*(1-j0(occ*v0)*j0(occ*v0)-j1(occ*v0)*j1(occ*v0));</div>
-<div class="line"><a name="l02367"></a><span class="lineno"> 2367</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"ee=%10.8f"</span>,ee);</div>
-<div class="line"><a name="l02368"></a><span class="lineno"> 2368</span> </div>
-<div class="line"><a name="l02369"></a><span class="lineno"> 2369</span> ee-=2.*occ*tot1;</div>
-<div class="line"><a name="l02370"></a><span class="lineno"> 2370</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"ee=%10.8f"</span>,ee);</div>
-<div class="line"><a name="l02371"></a><span class="lineno"> 2371</span> </div>
-<div class="line"><a name="l02372"></a><span class="lineno"> 2372</span> ee*=cor;</div>
-<div class="line"><a name="l02373"></a><span class="lineno"> 2373</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"ee=%10.8f"</span>,ee);</div>
-<div class="line"><a name="l02374"></a><span class="lineno"> 2374</span> </div>
-<div class="line"><a name="l02375"></a><span class="lineno"> 2375</span> </div>
-<div class="line"><a name="l02376"></a><span class="lineno"> 2376</span> tot1=0;</div>
-<div class="line"><a name="l02377"></a><span class="lineno"> 2377</span> pairy=cpl_image_get_data_double(img_airy);</div>
-<div class="line"><a name="l02378"></a><span class="lineno"> 2378</span> prr=cpl_image_get_data_double(img_rr);</div>
-<div class="line"><a name="l02379"></a><span class="lineno"> 2379</span> <span class="keywordflow">for</span>(j=0;j<sy;j++) {</div>
-<div class="line"><a name="l02380"></a><span class="lineno"> 2380</span> <span class="keywordflow">for</span>(i=0;i<sx;i++) {</div>
-<div class="line"><a name="l02381"></a><span class="lineno"> 2381</span> <span class="keywordflow">if</span>(!irplib_isnan(pairy[i+j*sx]) && (prr[i+j*sx] <v0)) {</div>
-<div class="line"><a name="l02382"></a><span class="lineno"> 2382</span> tot1+=pairy[i+j*sx]*ee;</div>
-<div class="line"><a name="l02383"></a><span class="lineno"> 2383</span> <span class="comment">//sinfo_msg_debug("tot=%f",tot1);</span></div>
-<div class="line"><a name="l02384"></a><span class="lineno"> 2384</span> </div>
-<div class="line"><a name="l02385"></a><span class="lineno"> 2385</span> }</div>
-<div class="line"><a name="l02386"></a><span class="lineno"> 2386</span> }</div>
-<div class="line"><a name="l02387"></a><span class="lineno"> 2387</span> }</div>
-<div class="line"><a name="l02388"></a><span class="lineno"> 2388</span> </div>
-<div class="line"><a name="l02389"></a><span class="lineno"> 2389</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"tot=%10.8f"</span>,tot1);</div>
-<div class="line"><a name="l02390"></a><span class="lineno"> 2390</span> cpl_image_divide_scalar(img_airy,tot1);</div>
-<div class="line"><a name="l02391"></a><span class="lineno"> 2391</span> </div>
-<div class="line"><a name="l02392"></a><span class="lineno"> 2392</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02393"></a><span class="lineno"> 2393</span> <span class="comment"> check_nomsg(cpl_image_save(img_airy,"out_airy2.fits", CPL_BPP_IEEE_DOUBLE,</span></div>
-<div class="line"><a name="l02394"></a><span class="lineno"> 2394</span> <span class="comment"> NULL,CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l02395"></a><span class="lineno"> 2395</span> <span class="comment"></span></div>
-<div class="line"><a name="l02396"></a><span class="lineno"> 2396</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02397"></a><span class="lineno"> 2397</span> </div>
-<div class="line"><a name="l02398"></a><span class="lineno"> 2398</span> </div>
-<div class="line"><a name="l02399"></a><span class="lineno"> 2399</span> <span class="comment">// Computation of maximum</span></div>
-<div class="line"><a name="l02400"></a><span class="lineno"> 2400</span> </div>
-<div class="line"><a name="l02401"></a><span class="lineno"> 2401</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"dim=%d blocks=%d,bin=%d"</span>,dim,blocks,bin);</div>
-<div class="line"><a name="l02402"></a><span class="lineno"> 2402</span> start=(dim/2-1)-(blocks/2*bin-1)-bin/2;</div>
-<div class="line"><a name="l02403"></a><span class="lineno"> 2403</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"start=%d"</span>,start);</div>
-<div class="line"><a name="l02404"></a><span class="lineno"> 2404</span> </div>
-<div class="line"><a name="l02405"></a><span class="lineno"> 2405</span> img_psf0=cpl_image_new(blocks,blocks,CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l02406"></a><span class="lineno"> 2406</span> ppsf0=cpl_image_get_data_double(img_psf0);</div>
-<div class="line"><a name="l02407"></a><span class="lineno"> 2407</span> tot1=0.;</div>
-<div class="line"><a name="l02408"></a><span class="lineno"> 2408</span> tot2=0.;</div>
-<div class="line"><a name="l02409"></a><span class="lineno"> 2409</span> </div>
-<div class="line"><a name="l02410"></a><span class="lineno"> 2410</span> <span class="keywordflow">for</span>(j=0;j<blocks;j++) {</div>
-<div class="line"><a name="l02411"></a><span class="lineno"> 2411</span> <span class="keywordflow">for</span>(i=0;i<blocks;i++) {</div>
-<div class="line"><a name="l02412"></a><span class="lineno"> 2412</span> tot1=0;</div>
-<div class="line"><a name="l02413"></a><span class="lineno"> 2413</span> <span class="keywordflow">for</span>(jj=start+j*bin;jj<start+(j+1)*bin-1;jj++){</div>
-<div class="line"><a name="l02414"></a><span class="lineno"> 2414</span> <span class="keywordflow">for</span>(ii=start+i*bin;ii<start+(i+1)*bin-1;ii++){</div>
-<div class="line"><a name="l02415"></a><span class="lineno"> 2415</span> <span class="keywordflow">if</span>(!irplib_isnan(pairy[ii+jj*sx])) {</div>
-<div class="line"><a name="l02416"></a><span class="lineno"> 2416</span> tot1+=pairy[ii+jj*sx];</div>
-<div class="line"><a name="l02417"></a><span class="lineno"> 2417</span> }</div>
-<div class="line"><a name="l02418"></a><span class="lineno"> 2418</span> }</div>
-<div class="line"><a name="l02419"></a><span class="lineno"> 2419</span> }</div>
-<div class="line"><a name="l02420"></a><span class="lineno"> 2420</span> ppsf0[i+j*blocks]=tot1;</div>
-<div class="line"><a name="l02421"></a><span class="lineno"> 2421</span> tot2+=tot1;</div>
-<div class="line"><a name="l02422"></a><span class="lineno"> 2422</span> }</div>
-<div class="line"><a name="l02423"></a><span class="lineno"> 2423</span> }</div>
-<div class="line"><a name="l02424"></a><span class="lineno"> 2424</span> </div>
-<div class="line"><a name="l02425"></a><span class="lineno"> 2425</span> cpl_image_divide_scalar(img_psf0,tot2);</div>
-<div class="line"><a name="l02426"></a><span class="lineno"> 2426</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02427"></a><span class="lineno"> 2427</span> <span class="comment"> check_nomsg(cpl_image_save(img_psf0,"out_psf0.fits", CPL_BPP_IEEE_DOUBLE,</span></div>
-<div class="line"><a name="l02428"></a><span class="lineno"> 2428</span> <span class="comment"> NULL,CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l02429"></a><span class="lineno"> 2429</span> <span class="comment"></span></div>
-<div class="line"><a name="l02430"></a><span class="lineno"> 2430</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02431"></a><span class="lineno"> 2431</span> k=180.*3600./SINFO_MATH_PI;</div>
-<div class="line"><a name="l02432"></a><span class="lineno"> 2432</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"k=%f"</span>,k);</div>
-<div class="line"><a name="l02433"></a><span class="lineno"> 2433</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"radius of first zero: 1.22*lambda/d*k:=%f"</span>,</div>
-<div class="line"><a name="l02434"></a><span class="lineno"> 2434</span> 1.22*lambda/dia*k);</div>
-<div class="line"><a name="l02435"></a><span class="lineno"> 2435</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"tot: %f"</span>,tot2);</div>
-<div class="line"><a name="l02436"></a><span class="lineno"> 2436</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"max: %f"</span>,cpl_image_get_max(img_psf0)*tot2);</div>
-<div class="line"><a name="l02437"></a><span class="lineno"> 2437</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"max/tot: %f"</span>,cpl_image_get_max(img_psf0));</div>
-<div class="line"><a name="l02438"></a><span class="lineno"> 2438</span> *psf_peak=cpl_image_get_max(img_psf0);</div>
-<div class="line"><a name="l02439"></a><span class="lineno"> 2439</span> </div>
-<div class="line"><a name="l02440"></a><span class="lineno"> 2440</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"d=%g ob=%g w=%g ps=%g cx=%g cy=%g a=%g peak=%10.8g"</span>,</div>
-<div class="line"><a name="l02441"></a><span class="lineno"> 2441</span> dia,occ,lambda,psize,cx,cy,anamorph,*psf_peak);</div>
-<div class="line"><a name="l02442"></a><span class="lineno"> 2442</span> </div>
-<div class="line"><a name="l02443"></a><span class="lineno"> 2443</span> </div>
-<div class="line"><a name="l02444"></a><span class="lineno"> 2444</span> </div>
-<div class="line"><a name="l02445"></a><span class="lineno"> 2445</span> cleanup:</div>
-<div class="line"><a name="l02446"></a><span class="lineno"> 2446</span> sinfo_free_image(&img_xx);</div>
-<div class="line"><a name="l02447"></a><span class="lineno"> 2447</span> sinfo_free_image(&img_yy);</div>
-<div class="line"><a name="l02448"></a><span class="lineno"> 2448</span> sinfo_free_image(&img_rr);</div>
-<div class="line"><a name="l02449"></a><span class="lineno"> 2449</span> sinfo_free_image(&img_rrcor);</div>
-<div class="line"><a name="l02450"></a><span class="lineno"> 2450</span> sinfo_free_image(&img_airy);</div>
-<div class="line"><a name="l02451"></a><span class="lineno"> 2451</span> </div>
-<div class="line"><a name="l02452"></a><span class="lineno"> 2452</span> </div>
-<div class="line"><a name="l02453"></a><span class="lineno"> 2453</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l02454"></a><span class="lineno"> 2454</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l02455"></a><span class="lineno"> 2455</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l02456"></a><span class="lineno"> 2456</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l02457"></a><span class="lineno"> 2457</span> }</div>
-<div class="line"><a name="l02458"></a><span class="lineno"> 2458</span> </div>
-<div class="line"><a name="l02459"></a><span class="lineno"> 2459</span> }</div>
-<div class="line"><a name="l02460"></a><span class="lineno"> 2460</span> </div>
-<div class="line"><a name="l02461"></a><span class="lineno"> 2461</span> </div>
-<div class="line"><a name="l02462"></a><span class="lineno"> 2462</span> cpl_error_code</div>
-<div class="line"><a name="l02463"></a><span class="lineno"> 2463</span> sinfo_get_flux_above_bkg(<span class="keyword">const</span> cpl_image* img,</div>
-<div class="line"><a name="l02464"></a><span class="lineno"> 2464</span> <span class="keyword">const</span> <span class="keywordtype">float</span> kappa,</div>
-<div class="line"><a name="l02465"></a><span class="lineno"> 2465</span> <span class="keyword">const</span> <span class="keywordtype">float</span> std,</div>
-<div class="line"><a name="l02466"></a><span class="lineno"> 2466</span> <span class="keywordtype">double</span>* f)</div>
-<div class="line"><a name="l02467"></a><span class="lineno"> 2467</span> {</div>
-<div class="line"><a name="l02468"></a><span class="lineno"> 2468</span> </div>
-<div class="line"><a name="l02469"></a><span class="lineno"> 2469</span> <span class="keyword">const</span> <span class="keywordtype">float</span>* pimg=NULL;</div>
-<div class="line"><a name="l02470"></a><span class="lineno"> 2470</span> <span class="keywordtype">int</span> sx=0;</div>
-<div class="line"><a name="l02471"></a><span class="lineno"> 2471</span> <span class="keywordtype">int</span> sy=0;</div>
-<div class="line"><a name="l02472"></a><span class="lineno"> 2472</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02473"></a><span class="lineno"> 2473</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l02474"></a><span class="lineno"> 2474</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l02475"></a><span class="lineno"> 2475</span> <span class="keywordtype">float</span> tot=0;</div>
-<div class="line"><a name="l02476"></a><span class="lineno"> 2476</span> </div>
-<div class="line"><a name="l02477"></a><span class="lineno"> 2477</span> cpl_image* timg=NULL;</div>
-<div class="line"><a name="l02478"></a><span class="lineno"> 2478</span> <span class="keywordtype">double</span> sky_bkg=0;</div>
-<div class="line"><a name="l02479"></a><span class="lineno"> 2479</span> <span class="keywordtype">double</span> sky_std=0;</div>
-<div class="line"><a name="l02480"></a><span class="lineno"> 2480</span> </div>
-<div class="line"><a name="l02481"></a><span class="lineno"> 2481</span> timg=cpl_image_duplicate(img);</div>
-<div class="line"><a name="l02482"></a><span class="lineno"> 2482</span> cpl_image_subtract_scalar(timg,std);</div>
-<div class="line"><a name="l02483"></a><span class="lineno"> 2483</span> check_nomsg(sinfo_get_bkg_4corners(timg,SINFO_BKG_BOX_SZ,SINFO_BKG_BOX_SZ,</div>
-<div class="line"><a name="l02484"></a><span class="lineno"> 2484</span> &sky_bkg,&sky_std));</div>
-<div class="line"><a name="l02485"></a><span class="lineno"> 2485</span> </div>
-<div class="line"><a name="l02486"></a><span class="lineno"> 2486</span> check_nomsg(pimg=cpl_image_get_data_float_const(timg));</div>
-<div class="line"><a name="l02487"></a><span class="lineno"> 2487</span> </div>
-<div class="line"><a name="l02488"></a><span class="lineno"> 2488</span> sx=cpl_image_get_size_x(img);</div>
-<div class="line"><a name="l02489"></a><span class="lineno"> 2489</span> sy=cpl_image_get_size_y(img);</div>
-<div class="line"><a name="l02490"></a><span class="lineno"> 2490</span> </div>
-<div class="line"><a name="l02491"></a><span class="lineno"> 2491</span> <span class="keywordflow">for</span>(j=0;j<sy;j++) {</div>
-<div class="line"><a name="l02492"></a><span class="lineno"> 2492</span> <span class="keywordflow">for</span>(i=0;i<sx;i++) {</div>
-<div class="line"><a name="l02493"></a><span class="lineno"> 2493</span> <span class="keywordflow">if</span>(!irplib_isnan(pimg[i+j*sx]) &&</div>
-<div class="line"><a name="l02494"></a><span class="lineno"> 2494</span> (pimg[i+j*sx]>(sky_bkg+kappa*sky_std))) {</div>
-<div class="line"><a name="l02495"></a><span class="lineno"> 2495</span> tot+=(double)pimg[i+j*sx];</div>
-<div class="line"><a name="l02496"></a><span class="lineno"> 2496</span> k++;</div>
-<div class="line"><a name="l02497"></a><span class="lineno"> 2497</span> }</div>
-<div class="line"><a name="l02498"></a><span class="lineno"> 2498</span> }</div>
-<div class="line"><a name="l02499"></a><span class="lineno"> 2499</span> }</div>
-<div class="line"><a name="l02500"></a><span class="lineno"> 2500</span> </div>
-<div class="line"><a name="l02501"></a><span class="lineno"> 2501</span> *f=(double)(tot-k*sky_bkg);</div>
-<div class="line"><a name="l02502"></a><span class="lineno"> 2502</span> </div>
-<div class="line"><a name="l02503"></a><span class="lineno"> 2503</span> cleanup:</div>
-<div class="line"><a name="l02504"></a><span class="lineno"> 2504</span> sinfo_free_image(&timg);</div>
-<div class="line"><a name="l02505"></a><span class="lineno"> 2505</span> </div>
-<div class="line"><a name="l02506"></a><span class="lineno"> 2506</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l02507"></a><span class="lineno"> 2507</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l02508"></a><span class="lineno"> 2508</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l02509"></a><span class="lineno"> 2509</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l02510"></a><span class="lineno"> 2510</span> }</div>
-<div class="line"><a name="l02511"></a><span class="lineno"> 2511</span> </div>
-<div class="line"><a name="l02512"></a><span class="lineno"> 2512</span> }</div>
-<div class="line"><a name="l02513"></a><span class="lineno"> 2513</span> </div>
-<div class="line"><a name="l02514"></a><span class="lineno"> 2514</span> </div>
-<div class="line"><a name="l02515"></a><span class="lineno"> 2515</span> </div>
-<div class="line"><a name="l02516"></a><span class="lineno"> 2516</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02517"></a><span class="lineno"> 2517</span> <span class="comment">cpl_error_code</span></div>
-<div class="line"><a name="l02518"></a><span class="lineno"> 2518</span> <span class="comment">sinfo_get_centroid(const cpl_image* img,</span></div>
-<div class="line"><a name="l02519"></a><span class="lineno"> 2519</span> <span class="comment"> const int d,</span></div>
-<div class="line"><a name="l02520"></a><span class="lineno"> 2520</span> <span class="comment"> const double xc,</span></div>
-<div class="line"><a name="l02521"></a><span class="lineno"> 2521</span> <span class="comment"> const double yc,</span></div>
-<div class="line"><a name="l02522"></a><span class="lineno"> 2522</span> <span class="comment"> double* xcen,</span></div>
-<div class="line"><a name="l02523"></a><span class="lineno"> 2523</span> <span class="comment"> double* ycen,</span></div>
-<div class="line"><a name="l02524"></a><span class="lineno"> 2524</span> <span class="comment"> double* xfwhm,</span></div>
-<div class="line"><a name="l02525"></a><span class="lineno"> 2525</span> <span class="comment"> double* yfwhm,</span></div>
-<div class="line"><a name="l02526"></a><span class="lineno"> 2526</span> <span class="comment"> double* angle)</span></div>
-<div class="line"><a name="l02527"></a><span class="lineno"> 2527</span> <span class="comment">{</span></div>
-<div class="line"><a name="l02528"></a><span class="lineno"> 2528</span> <span class="comment"></span></div>
-<div class="line"><a name="l02529"></a><span class="lineno"> 2529</span> <span class="comment"> cpl_bivector* q=NULL;</span></div>
-<div class="line"><a name="l02530"></a><span class="lineno"> 2530</span> <span class="comment"> int sx=0;</span></div>
-<div class="line"><a name="l02531"></a><span class="lineno"> 2531</span> <span class="comment"> int sy=0;</span></div>
-<div class="line"><a name="l02532"></a><span class="lineno"> 2532</span> <span class="comment"> double* pq=NULL;</span></div>
-<div class="line"><a name="l02533"></a><span class="lineno"> 2533</span> <span class="comment"> double peak=0;</span></div>
-<div class="line"><a name="l02534"></a><span class="lineno"> 2534</span> <span class="comment"> double bkg=0;</span></div>
-<div class="line"><a name="l02535"></a><span class="lineno"> 2535</span> <span class="comment"></span></div>
-<div class="line"><a name="l02536"></a><span class="lineno"> 2536</span> <span class="comment"> check_nomsg(sx=cpl_image_get_size_x(img));</span></div>
-<div class="line"><a name="l02537"></a><span class="lineno"> 2537</span> <span class="comment"> check_nomsg(sy=cpl_image_get_size_y(img));</span></div>
-<div class="line"><a name="l02538"></a><span class="lineno"> 2538</span> <span class="comment"></span></div>
-<div class="line"><a name="l02539"></a><span class="lineno"> 2539</span> <span class="comment"> check_nomsg(q=cpl_image_iqe(img,sx/2-d,sy/2-d,sx/2+d,sy/2+d));</span></div>
-<div class="line"><a name="l02540"></a><span class="lineno"> 2540</span> <span class="comment"> pq=cpl_bivector_get_data(q);</span></div>
-<div class="line"><a name="l02541"></a><span class="lineno"> 2541</span> <span class="comment"></span></div>
-<div class="line"><a name="l02542"></a><span class="lineno"> 2542</span> <span class="comment"> *xcen=pq[0];</span></div>
-<div class="line"><a name="l02543"></a><span class="lineno"> 2543</span> <span class="comment"> *ycen=pq[1];</span></div>
-<div class="line"><a name="l02544"></a><span class="lineno"> 2544</span> <span class="comment"> *xfwhm=pq[2];</span></div>
-<div class="line"><a name="l02545"></a><span class="lineno"> 2545</span> <span class="comment"> *yfwhm=pq[3];</span></div>
-<div class="line"><a name="l02546"></a><span class="lineno"> 2546</span> <span class="comment"> *angle=pq[4];</span></div>
-<div class="line"><a name="l02547"></a><span class="lineno"> 2547</span> <span class="comment"> peak=pq[5];</span></div>
-<div class="line"><a name="l02548"></a><span class="lineno"> 2548</span> <span class="comment"> bkg=pq[6];</span></div>
-<div class="line"><a name="l02549"></a><span class="lineno"> 2549</span> <span class="comment"></span></div>
-<div class="line"><a name="l02550"></a><span class="lineno"> 2550</span> <span class="comment"></span></div>
-<div class="line"><a name="l02551"></a><span class="lineno"> 2551</span> <span class="comment"> cleanup:</span></div>
-<div class="line"><a name="l02552"></a><span class="lineno"> 2552</span> <span class="comment"></span></div>
-<div class="line"><a name="l02553"></a><span class="lineno"> 2553</span> <span class="comment"> sinfo_free_bivector(&q);</span></div>
-<div class="line"><a name="l02554"></a><span class="lineno"> 2554</span> <span class="comment"></span></div>
-<div class="line"><a name="l02555"></a><span class="lineno"> 2555</span> <span class="comment"> if (cpl_error_get_code() != CPL_ERROR_NONE) {</span></div>
-<div class="line"><a name="l02556"></a><span class="lineno"> 2556</span> <span class="comment"> return cpl_error_get_code();</span></div>
-<div class="line"><a name="l02557"></a><span class="lineno"> 2557</span> <span class="comment"> } else {</span></div>
-<div class="line"><a name="l02558"></a><span class="lineno"> 2558</span> <span class="comment"> return CPL_ERROR_NONE;</span></div>
-<div class="line"><a name="l02559"></a><span class="lineno"> 2559</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l02560"></a><span class="lineno"> 2560</span> <span class="comment"></span></div>
-<div class="line"><a name="l02561"></a><span class="lineno"> 2561</span> <span class="comment">}</span></div>
-<div class="line"><a name="l02562"></a><span class="lineno"> 2562</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l02563"></a><span class="lineno"> 2563</span> </div>
-<div class="line"><a name="l02564"></a><span class="lineno"> 2564</span> </div>
-<div class="line"><a name="l02565"></a><span class="lineno"> 2565</span> </div>
-<div class="line"><a name="l02566"></a><span class="lineno"> 2566</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l02567"></a><span class="lineno"> 2567</span> sinfo_find_min_of_four(<span class="keyword">const</span> <span class="keywordtype">double</span> n1,</div>
-<div class="line"><a name="l02568"></a><span class="lineno"> 2568</span> <span class="keyword">const</span> <span class="keywordtype">double</span> n2,</div>
-<div class="line"><a name="l02569"></a><span class="lineno"> 2569</span> <span class="keyword">const</span> <span class="keywordtype">double</span> n3,</div>
-<div class="line"><a name="l02570"></a><span class="lineno"> 2570</span> <span class="keyword">const</span> <span class="keywordtype">double</span> n4)</div>
-<div class="line"><a name="l02571"></a><span class="lineno"> 2571</span> {</div>
-<div class="line"><a name="l02572"></a><span class="lineno"> 2572</span> <span class="keywordtype">double</span> min=0;</div>
-<div class="line"><a name="l02573"></a><span class="lineno"> 2573</span> min = (n1 < n2) ? n1 : n2;</div>
-<div class="line"><a name="l02574"></a><span class="lineno"> 2574</span> min = (min < n3) ? min : n3;</div>
-<div class="line"><a name="l02575"></a><span class="lineno"> 2575</span> min = (min < n4) ? min : n4;</div>
-<div class="line"><a name="l02576"></a><span class="lineno"> 2576</span> <span class="keywordflow">return</span> min;</div>
-<div class="line"><a name="l02577"></a><span class="lineno"> 2577</span> }</div>
-<div class="line"><a name="l02578"></a><span class="lineno"> 2578</span> </div>
-<div class="line"><a name="l02579"></a><span class="lineno"> 2579</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l02580"></a><span class="lineno"> 2580</span> sinfo_scale_flux(<span class="keyword">const</span> <span class="keywordtype">double</span> p1,</div>
-<div class="line"><a name="l02581"></a><span class="lineno"> 2581</span> <span class="keyword">const</span> <span class="keywordtype">double</span> p2,</div>
-<div class="line"><a name="l02582"></a><span class="lineno"> 2582</span> <span class="keyword">const</span> <span class="keywordtype">double</span> t1,</div>
-<div class="line"><a name="l02583"></a><span class="lineno"> 2583</span> <span class="keyword">const</span> <span class="keywordtype">double</span> t2)</div>
-<div class="line"><a name="l02584"></a><span class="lineno"> 2584</span> {</div>
-<div class="line"><a name="l02585"></a><span class="lineno"> 2585</span> </div>
-<div class="line"><a name="l02586"></a><span class="lineno"> 2586</span> <span class="keywordflow">return</span> (p2/p1)*(p2/p1)*(t2/t1);</div>
-<div class="line"><a name="l02587"></a><span class="lineno"> 2587</span> </div>
-<div class="line"><a name="l02588"></a><span class="lineno"> 2588</span> }</div>
-<div class="line"><a name="l02589"></a><span class="lineno"> 2589</span> </div>
-<div class="line"><a name="l02590"></a><span class="lineno"> 2590</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__psf_8h_source.html b/html/sinfo__new__psf_8h_source.html
deleted file mode 100644
index 02f0b28..0000000
--- a/html/sinfo__new__psf_8h_source.html
+++ /dev/null
@@ -1,202 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_psf.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_psf.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_NEW_PSF_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_NEW_PSF_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*****************************************************************************</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* "@(#) $Id: sinfo_new_psf.h,v 1.12 2008/02/12 16:33:50 amodigli Exp $"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* amodigli 17/09/03 created</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * sinfo_new_psf.h</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> sinfo_psf.py does the image reconstruction of a set of sky-subtracted, </span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> flatfielded, </span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> bad pixel corrected and slope of the spectra aligned exposures of a bright </span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> star with continuum spectrum. The resulting image can be used to determine </span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> the PSF</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <irplib_strehl.h></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> * Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> Function : sinfo_new_psf()</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> In : ini_file: file name of according .ini file</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> Out : integer (0 if it worked, -1 if it doesn't) </span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> Job :</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"></span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> sinfo_psf.py does the image reconstruction of a set of sky-subtracted, </span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> flatfielded, bad pixel corrected and slope of the spectra aligned exposures </span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> of a bright star with continuum spectrum. The resulting image can be used </span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> to determine the PSF</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"></span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> sinfo_new_psf(<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id,</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> cpl_parameterlist* config,</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> cpl_frameset* sof,</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> cpl_frameset* ref_set) ;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">int</span> sinfo_strehl_compute_two(</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">const</span> cpl_image * im1,</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">const</span> cpl_image * im2,</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">double</span> m1,</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">double</span> m2,</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">double</span> lam,</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">double</span> pscale1,</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">double</span> pscale2,</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">double</span> exptime1,</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">double</span> exptime2,</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">int</span> xpos1,</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keywordtype">int</span> ypos1,</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keywordtype">int</span> xpos2,</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">int</span> ypos2,</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">double</span> r1,</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">double</span> r2,</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordtype">double</span> r3,</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">double</span> * strehl,</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">double</span> * strehl_err,</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">double</span> * star_bg,</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordtype">double</span> * star_peak,</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordtype">double</span> * star_flux,</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">double</span> * psf_peak,</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">double</span> * psf_flux,</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordtype">double</span> * bg_noise);</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> cpl_error_code </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> sinfo_strehl_compute_one(<span class="keyword">const</span> cpl_image * im,</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">double</span> m1,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">double</span> m2,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">double</span> lam,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">double</span> dlam,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">double</span> pscale,</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">int</span> xpos,</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordtype">int</span> ypos,</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">double</span> r1,</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keywordtype">double</span> r2,</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">double</span> r3,</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">int</span> noise_box_sz,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keywordtype">double</span> * strehl,</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordtype">double</span> * strehl_err,</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">double</span> * star_bg,</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">double</span> * star_peak,</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">double</span> * star_flux,</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">double</span> * psf_peak,</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordtype">double</span> * psf_flux,</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">double</span> * bg_noise);</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> cpl_error_code </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> sinfo_get_bkg_4corners(<span class="keyword">const</span> cpl_image *img,</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keyword">const</span> <span class="keywordtype">int</span> bkg_sx,</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keyword">const</span> <span class="keywordtype">int</span> bkg_sy,</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">double</span>* bkg,</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordtype">double</span>* std);</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> cpl_error_code</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> sinfo_compute_psf(<span class="keyword">const</span> <span class="keywordtype">double</span> dia, </div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keyword">const</span> <span class="keywordtype">double</span> occ,</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keyword">const</span> <span class="keywordtype">double</span> lambda,</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keyword">const</span> <span class="keywordtype">double</span> psize,</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cx,</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cy,</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keyword">const</span> <span class="keywordtype">double</span> anamorph,</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordtype">double</span>* psf_peak);</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> cpl_error_code</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> sinfo_get_flux_above_bkg(<span class="keyword">const</span> cpl_image* img, </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keyword">const</span> <span class="keywordtype">float</span> kappa, </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keyword">const</span> <span class="keywordtype">float</span> std, </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordtype">double</span>* f);</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> sinfo_scale_flux(<span class="keyword">const</span> <span class="keywordtype">double</span> p1, </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keyword">const</span> <span class="keywordtype">double</span> p2, </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keyword">const</span> <span class="keywordtype">double</span> t1, </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keyword">const</span> <span class="keywordtype">double</span> t2);</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="preprocessor">#endif </span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__resampling_8c_source.html b/html/sinfo__new__resampling_8c_source.html
deleted file mode 100644
index d10ac75..0000000
--- a/html/sinfo__new__resampling_8c_source.html
+++ /dev/null
@@ -1,483 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_resampling.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_resampling.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> File name : sinfo_new_resampling.c</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Author : Nicolas Devillard</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Created on : Jan 04, 1996</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> Description : resampling routines</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"></span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> $Id: sinfo_new_resampling.c,v 1.10 2012/03/03 09:50:08 amodigli Exp $</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> $Author: amodigli $</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> $Date: 2012/03/03 09:50:08 $</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> $Revision: 1.10 $</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_new_resampling.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_pixel_handling.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/* #include "my_pi.h" */</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include "sinfo_resampling.h"</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> Private functions</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">static</span> <span class="keywordtype">void</span> new_reverse_tanh_kernel(<span class="keywordtype">double</span> * data, <span class="keywordtype">int</span> nn) ;</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">static</span> <span class="keywordtype">double</span> sinfo_new_sinc(<span class="keywordtype">double</span> x);</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">double</span> *</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> sinfo_new_generate_interpolation_kernel(<span class="keyword">const</span> <span class="keywordtype">char</span> * kernel_type)</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> {</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">double</span> * tab ;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordtype">double</span> x ;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">double</span> alpha ;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordtype">double</span> inv_norm ;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">int</span> samples = KERNEL_SAMPLES ;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordflow">if</span> (kernel_type==NULL) {</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> tab = sinfo_new_generate_interpolation_kernel(<span class="stringliteral">"tanh"</span>) ;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(kernel_type, <span class="stringliteral">"default"</span>)) {</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> tab = sinfo_new_generate_interpolation_kernel(<span class="stringliteral">"tanh"</span>) ;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(kernel_type, <span class="stringliteral">"sinfo_new_sinc"</span>)) {</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> tab = cpl_malloc(samples * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> tab[0] = 1.0 ;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> tab[samples-1] = 0.0 ;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordflow">for</span> (i=1 ; i<samples ; i++) {</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> x = (double)KERNEL_WIDTH * (<span class="keywordtype">double</span>)i/(double)(samples-1) ;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> tab[i] = sinfo_new_sinc(x) ;</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> }</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(kernel_type, <span class="stringliteral">"sinc2"</span>)) {</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> tab = cpl_malloc(samples * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> tab[0] = 1.0 ;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> tab[samples-1] = 0.0 ;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordflow">for</span> (i=1 ; i<samples ; i++) {</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> x = 2.0 * (double)i/(<span class="keywordtype">double</span>)(samples-1) ;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> tab[i] = sinfo_new_sinc(x) ;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> tab[i] *= tab[i] ;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> }</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(kernel_type, <span class="stringliteral">"lanczos"</span>)) {</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> tab = cpl_malloc(samples * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">for</span> (i=0 ; i<samples ; i++) {</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> x = (double)KERNEL_WIDTH * (<span class="keywordtype">double</span>)i/(double)(samples-1) ;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keywordflow">if</span> (fabs(x)<2) {</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> tab[i] = sinfo_new_sinc(x) * sinfo_new_sinc(x/2) ;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> tab[i] = 0.00 ;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> }</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> }</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(kernel_type, <span class="stringliteral">"hamming"</span>)) {</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> tab = cpl_malloc(samples * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> alpha = 0.54 ;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> inv_norm = 1.00 / (double)(samples - 1) ;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordflow">for</span> (i=0 ; i<samples ; i++) {</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> x = (double)i ;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordflow">if</span> (i<(samples-1)/2) {</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> tab[i] = alpha + (1-alpha) * cos(2.0*PI_NUMB*x*inv_norm) ;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> tab[i] = 0.0 ;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> }</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> }</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(kernel_type, <span class="stringliteral">"hann"</span>)) {</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> tab = cpl_malloc(samples * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> alpha = 0.50 ;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> inv_norm = 1.00 / (double)(samples - 1) ;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordflow">for</span> (i=0 ; i<samples ; i++) {</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> x = (double)i ;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keywordflow">if</span> (i<(samples-1)/2) {</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> tab[i] = alpha + (1-alpha) * cos(2.0*PI_NUMB*x*inv_norm) ;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> tab[i] = 0.0 ;</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> }</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> }</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(kernel_type, <span class="stringliteral">"tanh"</span>)) {</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> tab = sinfo_new_generate_tanh_kernel(TANH_STEEPNESS) ;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"unrecognized kernel type [%s]: aborting generation"</span>,</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> kernel_type) ;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> }</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keywordflow">return</span> tab ;</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> }</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> sinfo_new_sinc(<span class="keywordtype">double</span> x)</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> {</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">if</span> (fabs(x)<1e-4)</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="keywordflow">return</span> (<span class="keywordtype">double</span>)1.00 ;</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">return</span> ((sin(x * (<span class="keywordtype">double</span>)PI_NUMB)) / (x * (<span class="keywordtype">double</span>)PI_NUMB)) ;</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> }</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> cpl_image *</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> sinfo_new_warp_image_generic(</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> cpl_image * image_in,</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordtype">char</span> * kernel_type,</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> cpl_polynomial * poly_u,</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> cpl_polynomial * poly_v</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> )</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> {</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> cpl_image * image_out ;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordtype">int</span> i, j, k ;</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordtype">int</span> lx_out, ly_out ;</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keywordtype">double</span> cur ;</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordtype">double</span> neighbors[16] ;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="keywordtype">double</span> rsc[8],</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> sumrs ;</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keywordtype">double</span> x, y ;</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keywordtype">int</span> px, py ;</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="keywordtype">int</span> pos ;</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="keywordtype">int</span> tabx, taby ;</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="keywordtype">double</span> * kernel ;</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keywordtype">int</span> leaps[16] ;</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> cpl_vector* vx=NULL;</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keywordflow">if</span> (image_in == NULL) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="comment">/* Generate default interpolation kernel */</span></div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> kernel = sinfo_new_generate_interpolation_kernel(kernel_type) ;</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="keywordflow">if</span> (kernel == NULL) {</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot generate kernel: aborting resampling"</span>) ;</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> }</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> ilx=cpl_image_get_size_x(image_in);</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> ily=cpl_image_get_size_y(image_in);</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> pidata=cpl_image_get_data_float(image_in);</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="comment">/* Compute new image size */</span></div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> lx_out = (int)ilx ;</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> ly_out = (int)ily ;</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> image_out = cpl_image_new(lx_out, ly_out,CPL_TYPE_FLOAT) ;</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> podata=cpl_image_get_data_float(image_out);</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="comment">/* Pre compute leaps for 16 closest neighbors positions */</span></div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> leaps[0] = -1 - ilx ;</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> leaps[1] = - ilx ;</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> leaps[2] = 1 - ilx ;</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> leaps[3] = 2 - ilx ;</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> leaps[4] = -1 ;</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> leaps[5] = 0 ;</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> leaps[6] = 1 ;</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> leaps[7] = 2 ;</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> leaps[8] = -1 + ilx ;</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> leaps[9] = ilx ;</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> leaps[10]= 1 + ilx ;</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> leaps[11]= 2 + ilx ;</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> leaps[12]= -1 + 2*ilx ;</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> leaps[13]= 2*ilx ;</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> leaps[14]= 1 + 2*ilx ;</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> leaps[15]= 2 + 2*ilx ;</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> vx=cpl_vector_new(2); <span class="comment">/* vector of size 2 = polynomial dimension */</span></div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="comment">/* Double loop on the output image */</span></div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="keywordflow">for</span> (j=0 ; j < ly_out ; j++) {</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="keywordflow">for</span> (i=0 ; i< lx_out ; i++) {</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="comment">/* Compute the original source for this pixel */</span></div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> cpl_vector_set(vx,0,(<span class="keywordtype">double</span>)i);</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> cpl_vector_set(vx,1,(<span class="keywordtype">double</span>)j);</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> x = cpl_polynomial_eval(poly_u, vx);</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> y = cpl_polynomial_eval(poly_v, vx);</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="comment">/* Which is the closest integer positioned neighbor? */</span></div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> px = (int)x ;</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> py = (int)y ;</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keywordflow">if</span> ((px < 1) ||</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> (px > (ilx-3)) ||</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> (py < 1) ||</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> (py > (ily-3)))</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> podata[i+j*lx_out] = (pixelvalue)0.0/0.0 ;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="comment">/* Now feed the positions for the closest 16 neighbors */</span></div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> pos = px + py * ilx ;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="keywordflow">for</span> (k=0 ; k<16 ; k++)</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> neighbors[k] = (<span class="keywordtype">double</span>)(pidata[(int)(pos+leaps[k])]) ;</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> </div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="comment">/* Which tabulated value index shall we use? */</span></div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> tabx = (x - (double)px) * (double)(TABSPERPIX) ; </div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> taby = (y - (double)py) * (double)(TABSPERPIX) ; </div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="comment">/* Compute resampling coefficients */</span></div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="comment">/* rsc[0..3] in x, rsc[4..7] in y */</span></div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> rsc[0] = kernel[TABSPERPIX + tabx] ;</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> rsc[1] = kernel[tabx] ;</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> rsc[2] = kernel[TABSPERPIX - tabx] ;</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> rsc[3] = kernel[2 * TABSPERPIX - tabx] ;</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> rsc[4] = kernel[TABSPERPIX + taby] ;</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> rsc[5] = kernel[taby] ;</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> rsc[6] = kernel[TABSPERPIX - taby] ;</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> rsc[7] = kernel[2 * TABSPERPIX - taby] ;</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> </div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> sumrs = (rsc[0]+rsc[1]+rsc[2]+rsc[3]) *</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> (rsc[4]+rsc[5]+rsc[6]+rsc[7]) ;</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="comment">/* Compute interpolated pixel now */</span></div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> cur = rsc[4] * ( rsc[0]*neighbors[0] +</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> rsc[1]*neighbors[1] +</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> rsc[2]*neighbors[2] +</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> rsc[3]*neighbors[3] ) +</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> rsc[5] * ( rsc[0]*neighbors[4] +</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> rsc[1]*neighbors[5] +</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> rsc[2]*neighbors[6] +</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> rsc[3]*neighbors[7] ) +</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> rsc[6] * ( rsc[0]*neighbors[8] +</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> rsc[1]*neighbors[9] +</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> rsc[2]*neighbors[10] +</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> rsc[3]*neighbors[11] ) +</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> rsc[7] * ( rsc[0]*neighbors[12] +</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> rsc[1]*neighbors[13] +</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> rsc[2]*neighbors[14] +</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> rsc[3]*neighbors[15] ) ; </div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="comment">/* Affect the value to the output image */</span></div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> podata[i+j*lx_out] = (pixelvalue)(cur/sumrs) ;</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="comment">/* done ! */</span></div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> } </div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> }</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> }</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> cpl_vector_delete(vx);</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> cpl_free(kernel) ;</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="keywordflow">return</span> image_out ;</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> }</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> </div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="preprocessor">#define hk_gen(x,s) (((tanh(s*(x+0.5))+1)/2)*((tanh(s*(-x+0.5))+1)/2))</span></div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="keywordtype">double</span> * sinfo_new_generate_tanh_kernel(<span class="keywordtype">double</span> steep)</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> {</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="keywordtype">double</span> * kernel ;</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="keywordtype">double</span> * x ;</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="keywordtype">double</span> width ;</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="keywordtype">double</span> inv_np ;</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="keywordtype">double</span> ind ;</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="keywordtype">int</span> np ;</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="keywordtype">int</span> samples ;</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> width = (double)TABSPERPIX / 2.0 ; </div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> samples = KERNEL_SAMPLES ;</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> np = 32768 ; <span class="comment">/* Hardcoded: should never be changed */</span></div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> inv_np = 1.00 / (double)np ;</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> </div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="comment"> * Generate the kernel expression in Fourier space</span></div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="comment"> * with a correct frequency ordering to allow standard FT</span></div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> x = cpl_malloc((2*np+1)*<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="keywordflow">for</span> (i=0 ; i<np/2 ; i++) {</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> ind = (double)i * 2.0 * width * inv_np ;</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> x[2*i] = hk_gen(ind, steep) ;</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> x[2*i+1] = 0.00 ;</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> }</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="keywordflow">for</span> (i=np/2 ; i<np ; i++) {</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> ind = (double)(i-np) * 2.0 * width * inv_np ;</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> x[2*i] = hk_gen(ind, steep) ;</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> x[2*i+1] = 0.00 ;</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> }</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> </div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="comment"> * Reverse Fourier to come back to image space</span></div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> new_reverse_tanh_kernel(x, np) ;</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> </div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="comment"> * Allocate and fill in returned array</span></div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> kernel = cpl_malloc(samples * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <span class="keywordflow">for</span> (i=0 ; i<samples ; i++) {</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> kernel[i] = 2.0 * width * x[2*i] * inv_np ;</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> }</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> cpl_free(x) ;</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="keywordflow">return</span> kernel ;</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> }</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> </div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> </div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> </div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="preprocessor">#define KERNEL_SW(a,b) tempr=(a);(a)=(b);(b)=tempr</span></div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> <span class="preprocessor"></span><span class="keyword">static</span> <span class="keywordtype">void</span> new_reverse_tanh_kernel(<span class="keywordtype">double</span> * data, <span class="keywordtype">int</span> nn)</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> {</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> n,</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> mmax,</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> m,</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> i, j,</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> istep ;</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="keywordtype">double</span> wtemp,</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> wr,</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> wpr,</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> wpi,</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> wi,</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> theta;</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="keywordtype">double</span> tempr,</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> tempi;</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> </div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> n = (<span class="keywordtype">unsigned</span> long)nn << 1;</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> j = 1;</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> <span class="keywordflow">for</span> (i=1 ; i<n ; i+=2) {</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="keywordflow">if</span> (j > i) {</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> KERNEL_SW(data[j-1],data[i-1]);</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> KERNEL_SW(data[j],data[i]);</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> }</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> m = n >> 1;</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="keywordflow">while</span> (m>=2 && j>m) {</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> j -= m;</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> m >>= 1;</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> }</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> j += m;</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> }</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> mmax = 2;</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="keywordflow">while</span> (n > mmax) {</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> istep = mmax << 1;</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> theta = 2 * PI_NUMB / mmax;</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> wtemp = sin(0.5 * theta);</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> wpr = -2.0 * wtemp * wtemp;</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> wpi = sin(theta);</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> wr = 1.0;</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> wi = 0.0;</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="keywordflow">for</span> (m=1 ; m<mmax ; m+=2) {</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="keywordflow">for</span> (i=m ; i<=n ; i+=istep) {</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> j = i + mmax;</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> tempr = wr * data[j-1] - wi * data[j];</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> tempi = wr * data[j] + wi * data[j-1];</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> data[j-1] = data[i-1] - tempr;</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> data[j] = data[i] - tempi;</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> data[i-1] += tempr;</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> data[i] += tempi;</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> }</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> wr = (wtemp = wr) * wpr - wi * wpi + wr;</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> wi = wi * wpr + wtemp * wpi + wi;</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> }</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> mmax = istep;</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> }</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> }</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="preprocessor">#undef KERNEL_SW</span></div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> </div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> </div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> </div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> <span class="keywordtype">void</span> sinfo_new_show_interpolation_kernel(<span class="keywordtype">char</span> * kernel_name)</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> {</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="keywordtype">double</span> * ker ;</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> <span class="keywordtype">double</span> x ;</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> </div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> </div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> ker = sinfo_new_generate_interpolation_kernel(kernel_name) ;</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="keywordflow">if</span> (ker == NULL)</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> return ;</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> </div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> (void)fprintf(stdout, <span class="stringliteral">"# Kernel is %s\n"</span>, kernel_name) ;</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> x = 0.00 ;</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <span class="keywordflow">for</span> (i=0 ; i<KERNEL_SAMPLES ; i++) {</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> (void)fprintf(stdout, <span class="stringliteral">"%g %g\n"</span>, x, ker[i]) ;</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> x += 1.00 / (double)TABSPERPIX ;</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> }</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> cpl_free(ker) ;</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> return ;</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__resampling_8h_source.html b/html/sinfo__new__resampling_8h_source.html
deleted file mode 100644
index 9a3b6df..0000000
--- a/html/sinfo__new__resampling_8h_source.html
+++ /dev/null
@@ -1,166 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_resampling.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_resampling.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> File name : sinfo_resampling.h</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Author : Nicolas Devillard</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Created on : Jan 04, 1996</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> Description : resampling routines</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"></span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> $Id: sinfo_new_resampling.h,v 1.9 2007/06/06 07:10:45 amodigli Exp $</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> $Author: amodigli $</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> $Date: 2007/06/06 07:10:45 $</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> $Revision: 1.9 $</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#ifndef SINFO_NEW_RESAMPLING_H</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_NEW_RESAMPLING_H</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">#include "my_image_handling.h"</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">#include "sinfo_matrix.h"</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include "sinfo_poly2d.h"</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#define TRANSFO_AFFINE 0</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor"></span><span class="preprocessor">#define TRANSFO_DEG2 1</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor"></span><span class="preprocessor">#define TRANSFO_HOMOGRAPHIC 2</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">/* Number of pixels set to 0 by the shift resampling */</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#define SHIFT_REJECT_L 2</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor"></span><span class="preprocessor">#define SHIFT_REJECT_R 2</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor"></span><span class="preprocessor">#define SHIFT_REJECT_T 2</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor"></span><span class="preprocessor">#define SHIFT_REJECT_B 2</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> * Kernel definition in terms of sampling</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">/* Number of tabulations in kernel */</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor">#define TABSPERPIX (1000)</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor"></span><span class="preprocessor">#define KERNEL_WIDTH (2.0)</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="preprocessor"></span><span class="preprocessor">#define KERNEL_SAMPLES (1+(int)(TABSPERPIX * KERNEL_WIDTH))</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="preprocessor">#define TANH_STEEPNESS (5.0)</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordtype">double</span> *</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> sinfo_new_generate_interpolation_kernel(<span class="keyword">const</span> <span class="keywordtype">char</span> * kernel_type) ;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> cpl_image *</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> sinfo_new_warp_image_generic(</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> cpl_image * image_in,</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordtype">char</span> * kernel_type,</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> cpl_polynomial * poly_u,</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> cpl_polynomial * poly_v</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> ) ;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="keywordtype">double</span> * sinfo_new_generate_tanh_kernel(<span class="keywordtype">double</span> steep) ;</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment">/*--------------------------------------------------------------------------*/</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keywordtype">void</span> sinfo_new_show_interpolation_kernel(<span class="keywordtype">char</span> * kernel_name) ;</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__slit__pos_8c_source.html b/html/sinfo__new__slit__pos_8c_source.html
deleted file mode 100644
index d45d32c..0000000
--- a/html/sinfo__new__slit__pos_8c_source.html
+++ /dev/null
@@ -1,765 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_slit_pos.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_slit_pos.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> File name : sinfo_new_slit_pos.c</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> Author : A. Modigliani</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> Created on : Sep 17, 2003</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> Description : </span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"></span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_new_slit_pos.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_pro_save.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_wavecal_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_wcal_functions.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_wave_calibration.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_utilities.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_hidden.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> Function Definitions</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> Function : sinfo_new_slit_pos()</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> In : ini_file: file name of according .ini file</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> Out : integer (0 if it worked, -1 if it doesn't) </span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> Job :</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"></span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"></span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> Normal method:</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"></span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> does the wavelength calibration and the fitting of the slitlet sinfo_edge </span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> positions (ASCII file 32 x 2 values) if wished</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> produces an array of the bcoefs and of the fit parameters if wished and a </span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> wavelength calibration map input is an emission line frame and a line list</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"></span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"></span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> o searching for lines by cross sinfo_correlation with a line list</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> o Gaussian fitting of emission lines in each column->positions of the lines-></span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> resulting fit parameters can be stored in an ASCII file</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> o Fitting of a polynomial to the line positions for each column</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> o Smoothing: fitting of each polynomial coefficient by another polynomial</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> across the whole frame -> resulting polynomial coefficients can be stored </span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"> in an ASCII file.</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> o Wavelength calibration map (micron value for each frame pixel) can be</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> produced by using these coefficients and a cross sinfo_correlation to the</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> original frame</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"></span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> o The slitlet sinfo_edge positions can be fitted:</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"> 1) Automatically (not really stable) or by using guess sinfo_edge positions</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"> 2) By using a Boltzmann or a linear slope function</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"></span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"> Slit method:</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"></span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> does the wavelength calibration and the fitting of the slitlet sinfo_edge </span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"> positions (ASCII file 32 x 2 values) if wished produces a list of the fit </span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> parameters and of the smoothed coefficients if wished and a wavelength </span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> calibration map input is an emission line frame and a line list</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"></span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment"> o Does the same as other method but smoothes the found polynomial </span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment"> coefficients within each slitlet and not over the whole frame.</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"></span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"> o Produces always a wavelength calibration map and does not crosscorrelate.</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment"></span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">int</span> sinfo_new_slit_pos (cpl_parameterlist* config, cpl_frameset* sof)</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> {</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> wave_config * cfg =NULL;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keywordtype">int</span> check = 0;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">int</span> lx = 0;</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">int</span> ly = 0;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keywordtype">int</span> n_lines=0;</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordtype">int</span> i = 0;</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">int</span> j = 0;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">int</span> n = 0;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">int</span> sum=0;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">int</span>* n_found_lines=NULL;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">int</span>* sum_pointer=NULL;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">int</span>** row_clean=NULL;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">float</span> a=0;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordtype">float</span> shift=0;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordtype">float</span>* wave=NULL;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordtype">float</span>* intens=NULL;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">float</span>** acoefs=NULL;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordtype">float</span>** wavelength_clean=NULL;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordtype">float</span>** sinfo_slit_pos=NULL;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> cpl_image * map=NULL ;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> cpl_image * im=NULL ;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> FitParams** par=NULL;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> cpl_table* tbl_wcal=NULL;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> cpl_table* tbl_spos=NULL;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">char</span>* col_name=NULL;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordtype">char</span>* tbl_name=NULL;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordtype">char</span>* tbl_line_list_name=NULL;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> cpl_table* tbl_line_list = NULL;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordtype">int</span>* status=NULL;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> cpl_frameset* raw=NULL;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> cpl_table * tbl_fp =NULL;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keywordtype">char</span>* col=NULL;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> cpl_table* qclog_tbl=NULL;</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keywordtype">char</span>* key_name=NULL;</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordtype">double</span> fwhm_med=0;</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordtype">double</span> fwhm_avg=0;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordtype">double</span> coef_med=0;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordtype">double</span> coef_avg=0;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordtype">int</span> trow=0;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> qc_wcal* qc=sinfo_qc_wcal_new();</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment">/* -----------------------------------------------------------------</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment"> 1) parse the file names and parameters to the ns_config data </span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment"> structure cfg</span></div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment"> -----------------------------------------------------------------</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> sinfo_msg(<span class="stringliteral">"Parsing cpl input"</span>);</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> cfg = sinfo_parse_cpl_input_wave(config,sof,&raw) ;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordflow">if</span>(cfg!=NULL) {</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> cfg->nslitlets=32;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> cfg->calibIndicator=1;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> cfg->wavemapInd=0;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> cfg->slitposIndicator=1;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> }</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"%s"</span>, (<span class="keywordtype">char</span>* ) cpl_error_get_message());</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> sinfo_qc_wcal_delete(&qc);</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> }</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keywordflow">if</span> (cfg == NULL)</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> {</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not parse cpl input!\n"</span>) ;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> sinfo_qc_wcal_delete(&qc);</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> }</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(cfg->inFrame) != 1) {</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Input file %s is not FITS"</span>,cfg->inFrame);</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> sinfo_qc_wcal_delete(&qc);</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> }</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keywordflow">if</span> (cfg->slitposIndicator == 1 && cfg->estimateIndicator == 1) {</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keywordflow">if</span> (sinfo_is_fits_file(cfg->slitposGuessName) != 1) {</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"slitlet position guess list not given!"</span>);</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> sinfo_qc_wcal_delete(&qc);</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> }</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> }</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keywordflow">if</span> (cfg->calibIndicator == 0 && cfg->wavemapInd == 1) {</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="keywordflow">if</span> (sinfo_is_fits_file(cfg->coeffsName) != 1) {</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"coefficients list not given!"</span>);</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> sinfo_qc_wcal_delete(&qc);</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> }</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> }</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keywordflow">if</span> (cfg->slitposIndicator == 1) {</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keywordflow">if</span> (cfg->calibIndicator != 1 && cfg->estimateIndicator != 1) {</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keywordflow">if</span> (sinfo_is_fits_file(cfg->paramsList) != 1) {</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"parameter list not given!"</span>);</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> sinfo_qc_wcal_delete(&qc);</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> }</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> }</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> }</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment">/*---load the emission line frame---*/</span></div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> im = cpl_image_load(cfg->inFrame,CPL_TYPE_FLOAT,0,0);</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keywordflow">if</span> (im == NULL) {</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not load image\n"</span>);</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> sinfo_qc_wcal_delete(&qc);</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> }</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> lx = cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> ly = cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordflow">if</span> (cfg->calibIndicator == 1 || cfg->wavemapInd == 1) {</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="comment">/*---open the line list and read the number of lines---*/</span></div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"%s"</span>, (<span class="keywordtype">char</span>* ) cpl_error_get_message());</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> sinfo_qc_wcal_delete(&qc);</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> }</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> tbl_line_list_name=cfg->lineList;</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> tbl_line_list = cpl_table_load(tbl_line_list_name,1,0);</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"%s"</span>, (<span class="keywordtype">char</span>* ) cpl_error_get_message());</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> sinfo_qc_wcal_delete(&qc);</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> }</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> n = cpl_table_get_nrow(tbl_line_list);</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> n_lines = n;</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"%s"</span>, (<span class="keywordtype">char</span>* ) cpl_error_get_message());</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> sinfo_qc_wcal_delete(&qc);</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> }</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="comment">/* THIS ORIGINATES A MEMORY LEAK </span></div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="comment"> wave = sinfo_new_floatarray (n);</span></div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="comment"> intens = sinfo_new_floatarray (n);</span></div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="comment"> if (wave == NULL || intens == NULL) {</span></div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="comment"> sinfo_msg_error("could not allocate memory for the line list values\n" );</span></div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="comment"> sinfo_qc_wcal_delete(&qc);</span></div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="comment"> return -1;</span></div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> wave = cpl_table_get_data_float(tbl_line_list,<span class="stringliteral">"wave"</span>);</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"%s"</span>, (<span class="keywordtype">char</span>* ) cpl_error_get_message());</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> sinfo_qc_wcal_delete(&qc);</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> }</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> intens = cpl_table_get_data_float(tbl_line_list,<span class="stringliteral">"int"</span>);</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"%s"</span>, (<span class="keywordtype">char</span>* ) cpl_error_get_message());</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> sinfo_qc_wcal_delete(&qc);</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> }</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> }</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> </div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="comment"> ----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="comment"> ---------------------------FINDLINES----------------------------------</span></div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="comment"> ----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="comment">/*if not yet done:</span></div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="comment"> do the wavelength calibration, that means: </span></div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="comment"> find the dispersion relation and parameterize its coefficients</span></div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="comment"> sinfo_msg("guessBeginWave=%g",cfg->guessBeginWavelength);</span></div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="comment"> sinfo_msg("guessDisp1=%g",cfg->guessDispersion1);</span></div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="comment"> sinfo_msg("guessDisp2=%g",cfg->guessDispersion2);</span></div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="keywordflow">if</span> (cfg->calibIndicator == 1 && cfg->wavemapInd == 0) {</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> sinfo_msg(<span class="stringliteral">"Findlines"</span>);</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> acoefs = sinfo_new_2Dfloatarray(cfg->nrDispCoefficients, lx);</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="comment">/*allocate memory*/</span></div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> n_found_lines = sinfo_new_intarray(lx); </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> row_clean = sinfo_new_2Dintarray(lx, n_lines);</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> wavelength_clean = sinfo_new_2Dfloatarray(lx, n_lines);</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> sum_pointer = sinfo_new_intarray(1) ;</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="comment">/*find the emission lines in each image column*/</span></div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> sinfo_new_intarray_set_value(sum_pointer, 0, 0);</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> check = sinfo_new_find_lines(im, wave, intens, n_lines, row_clean, </div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> wavelength_clean, cfg->guessBeginWavelength, </div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> cfg->guessDispersion1, cfg->guessDispersion2,</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> cfg->mindiff, cfg->halfWidth, </div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> n_found_lines, cfg->sigma, sum_pointer );</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="keywordflow">if</span> (-1 == check) {</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"sinfo_findLines failed!\n"</span>);</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> sinfo_qc_wcal_delete(&qc);</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> }</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="comment">/*---------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="comment"> *-----------------------WAVE_CALIB-------------------------------------</span></div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="comment"> *---------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> </div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> sinfo_msg(<span class="stringliteral">"Wave Calibration"</span>);</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> sum = sinfo_new_intarray_get_value(sum_pointer,0);</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="comment">/* allocate memory for the fit parameters */</span></div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> par = sinfo_new_fit_params( sum );</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="keywordflow">if</span> (par == NULL) {</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"sinfo_newFitParams failed!\n"</span>);</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> sinfo_qc_wcal_delete(&qc);</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> }</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="comment"> fit each line, make a polynomial fit and fit the resulting fit </span></div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="comment"> coefficients across the columns of the slitlet</span></div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> sinfo_slit_pos = sinfo_new_2Dfloatarray(32,2);</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> </div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> map = sinfo_new_spred_wave_cal(im, </div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> par, </div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> acoefs, </div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> cfg->nslitlets, </div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> row_clean, </div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> wavelength_clean, </div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> n_found_lines, </div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> cfg->guessDispersion1, </div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> cfg->halfWidth, </div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> cfg->minAmplitude, </div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> cfg->maxResidual, </div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> cfg->fwhm, </div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> cfg->nrDispCoefficients, </div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> cfg->nrCoefCoefficients, </div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> cfg->sigmaFactor, </div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> cfg->pixeldist, </div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> cfg->pixel_tolerance,</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> sinfo_slit_pos);</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> </div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="keywordflow">if</span> (map == NULL ) { </div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"sinfo_wave_cal failed!\n"</span>);</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> sinfo_qc_wcal_delete(&qc);</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> }</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> sinfo_msg(<span class="stringliteral">"Check line positions"</span>);</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> </div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> shift = sinfo_new_check_line_positions (im, acoefs, </div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> cfg->nrDispCoefficients,</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> cfg->guessDispersion1, par);</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="keywordflow">if</span> (FLAG == shift){ </div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"checkForLinePositions failed!\n"</span>);</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> }</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> </div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> sinfo_det_ncounts(raw, cfg->qc_thresh_max,qc);</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> qclog_tbl = sinfo_qclog_init();</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC WAVE ALL"</span>,</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> n_lines,<span class="stringliteral">"Number of found lines"</span>,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> </div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC WAVE NPIXSAT"</span>,</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> qc->nsat,<span class="stringliteral">"Number of saturated pixels"</span>,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> </div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC WAVE MAXFLUX"</span>,</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> qc->max_di,<span class="stringliteral">"Max int off-lamp subracted frm"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="keywordflow">if</span>(-1 == sinfo_pro_save_ima(map,raw,sof,cfg->outName,</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> PRO_WAVE_MAP,qclog_tbl,cpl_func,config)) {</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot save ima %s"</span>, cfg->outName);</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> }</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> </div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> </div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="comment"> #store the resulting polynomial fit coefficients in an </span></div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="comment"> ASCII file if wished</span></div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="keywordflow">if</span> (cfg->writeCoeffsInd == 1) {</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> col_name = (<span class="keywordtype">char</span>*) cpl_calloc(MAX_NAME_SIZE,<span class="keyword">sizeof</span>(<span class="keywordtype">char</span>*));</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> tbl_name = (<span class="keywordtype">char</span>*) cpl_calloc(MAX_NAME_SIZE,<span class="keyword">sizeof</span>(<span class="keywordtype">char</span>*));</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> tbl_wcal = cpl_table_new(lx);</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="keywordflow">for</span> (i=0; i< cfg->nrDispCoefficients; i++) {</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> snprintf(col_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d"</span>,<span class="stringliteral">"coeff"</span>,i);</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> cpl_table_new_column(tbl_wcal,col_name, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> }</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> </div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> </div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> qclog_tbl = sinfo_qclog_init();</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> key_name = cpl_calloc(FILE_NAME_SZ,<span class="keyword">sizeof</span>(<span class="keywordtype">char</span>));</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC WAVE ALL"</span>,</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> n_lines,<span class="stringliteral">"Number of found lines"</span>,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> </div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> </div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> </div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="keywordflow">for</span> (j=0; j< lx; j++) { </div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="keywordflow">for</span> (i=0; i< cfg->nrDispCoefficients; i++) {</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> snprintf(col_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d"</span>,<span class="stringliteral">"coeff"</span>,i);</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> a = sinfo_new_array2D_get_value(acoefs, i, j);</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="comment">/* fprintf(acoefs_file, "%15.13g ", a) ; */</span></div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> cpl_table_set_double(tbl_wcal,col_name,j,a);</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> }</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> </div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> </div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> }</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> </div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="keywordflow">for</span> (i=0; i< cfg->nrDispCoefficients; i++) {</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> snprintf(col_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d"</span>,<span class="stringliteral">"coeff"</span>,i);</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> coef_avg=cpl_table_get_column_mean(tbl_wcal,col_name);</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> coef_med=cpl_table_get_column_median(tbl_wcal,col_name);</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> </div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> trow=1+i;</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> snprintf(key_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%s"</span>,<span class="stringliteral">"QC COEF"</span>,i,<span class="stringliteral">" AVG"</span>);</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,key_name,coef_avg,</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="stringliteral">"Average wavecal Coef"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> </div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> trow=1+i+cfg->nrDispCoefficients;</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> snprintf(key_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%s"</span>,<span class="stringliteral">"QC COEF"</span>,i,<span class="stringliteral">" MED"</span>);</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,key_name,coef_med,</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="stringliteral">"Median wavecal Coef"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> </div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> }</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> </div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="comment"> fclose(acoefs_file);</span></div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> strcpy(tbl_name,cfg->coeffsName);</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> </div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <span class="keywordflow">if</span>(-1 == sinfo_pro_save_tbl(tbl_wcal,raw,sof,tbl_name,</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> PRO_WAVE_COEF_SLIT,qclog_tbl,cpl_func,config)) {</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot save tbl %s"</span>, tbl_name);</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> }</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> sinfo_free_table(&tbl_wcal);</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> cpl_free(key_name);</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> </div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> cpl_free(col_name);</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> cpl_free(tbl_name);</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> </div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> }</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> </div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> </div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="comment"> #store the resulting Gaussian fit parameters in an ASCII file if wished</span></div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="keywordflow">if</span> (cfg->writeParInd == 1) {</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> </div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> </div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> sinfo_new_dump_fit_params_to_ascii(par,WAVECAL_FIT_PARAMS_OUT_FILEASCII);</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> </div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="keywordflow">if</span> ( NULL == par )</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> {</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no fit parameters available!"</span>) ;</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> sinfo_qc_wcal_delete(&qc);</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> }</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> </div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="keywordflow">if</span> ( NULL == cfg->paramsList )</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> {</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no filename available!"</span>) ;</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> sinfo_qc_wcal_delete(&qc);</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> }</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> </div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> tbl_fp = cpl_table_new(par[0] -> n_params);</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> cpl_table_new_column(tbl_fp,<span class="stringliteral">"n_params"</span>, CPL_TYPE_INT);</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> cpl_table_new_column(tbl_fp,<span class="stringliteral">"column"</span>, CPL_TYPE_INT);</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> cpl_table_new_column(tbl_fp,<span class="stringliteral">"line"</span>, CPL_TYPE_INT);</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> col = (<span class="keywordtype">char</span>*) cpl_calloc(MAX_NAME_SIZE,<span class="keyword">sizeof</span>(<span class="keywordtype">char</span>*));</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> </div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="keywordflow">for</span>(j=0;j<4;j++) {</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> snprintf(col,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d"</span>,<span class="stringliteral">"fpar"</span>,j);</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> cpl_table_new_column(tbl_fp,col, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> snprintf(col,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d"</span>,<span class="stringliteral">"dpar"</span>,j);</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> cpl_table_new_column(tbl_fp,col, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> }</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> </div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> </div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> </div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> qclog_tbl = sinfo_qclog_init();</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC NLINES"</span>,n_lines,</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="stringliteral">"Number of Found lines"</span>,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> </div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> <span class="keywordflow">for</span> ( i = 0 ; i < par[0] -> n_params ; i++ )</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> {</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> cpl_table_set_int(tbl_fp,<span class="stringliteral">"n_params"</span>,i,par[i]->n_params);</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> cpl_table_set_int(tbl_fp,<span class="stringliteral">"column"</span>,i,par[i]->column);</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> cpl_table_set_int(tbl_fp,<span class="stringliteral">"line"</span>,i,par[i]->line);</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> </div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> </div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="keywordflow">for</span>(j=0;j<4;j++) {</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> snprintf(col,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d"</span>,<span class="stringliteral">"fpar"</span>,j);</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> cpl_table_set_double(tbl_fp,col,i,par[i]->fit_par[j]);</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> snprintf(col,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d"</span>,<span class="stringliteral">"dpar"</span>,j);</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> cpl_table_set_double(tbl_fp,col,i,par[i]->derv_par[j]);</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> }</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> }</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> </div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> fwhm_avg = cpl_table_get_column_mean(tbl_fp,<span class="stringliteral">"fpar1"</span>);</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> fwhm_med = cpl_table_get_column_median(tbl_fp,<span class="stringliteral">"fpar1"</span>);</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC FWHM MED"</span>,fwhm_med,</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> <span class="stringliteral">"Median FWHM of found lines"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> </div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC FWHM AVG"</span>,fwhm_avg,</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> <span class="stringliteral">"Average FWHM of found lines"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> </div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> </div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="keywordflow">if</span>(-1 == sinfo_pro_save_tbl(tbl_fp,raw,sof,cfg->paramsList,</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> PRO_WAVE_PAR_LIST,qclog_tbl,cpl_func,config)) {</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot save tbl %s"</span>, cfg->paramsList);</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> }</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> </div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> sinfo_free_table(&tbl_fp) ;</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> cpl_free(col);</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> </div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> }</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <span class="comment">/* free memory */</span></div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> sinfo_new_destroy_2Dfloatarray ( &wavelength_clean, lx );</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> sinfo_new_destroy_2Dintarray (&row_clean, lx);</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> sinfo_new_destroy_intarray(&n_found_lines );</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> sinfo_new_destroy_intarray(&sum_pointer );</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> sinfo_new_destroy_2Dfloatarray ( &acoefs, cfg->nrDispCoefficients );</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> </div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> <span class="comment">/*----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> <span class="comment"> *-------------------WAVEMAP--------------------------------------------</span></div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> </div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="comment">#---now do the cross sinfo_correlation and produce a wavelength map---</span></div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (cfg->wavemapInd == 1 && cfg->calibIndicator == 0) { </div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> sinfo_msg(<span class="stringliteral">"Wavemap"</span>);</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> acoefs = sinfo_new_2Dfloatarray ( cfg->nrDispCoefficients, lx);</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <span class="comment">/* #read the parameterized dispersion relation */</span></div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> </div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> tbl_name = (<span class="keywordtype">char</span>*) cpl_calloc(MAX_NAME_SIZE,<span class="keyword">sizeof</span>(<span class="keywordtype">char</span>*));</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> col_name = (<span class="keywordtype">char</span>*) cpl_calloc(MAX_NAME_SIZE,<span class="keyword">sizeof</span>(<span class="keywordtype">char</span>*));</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> strcpy(tbl_name,cfg->coeffsName);</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> tbl_wcal = cpl_table_load(tbl_name,1,0);</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> sinfo_msg(<span class="stringliteral">"cannot load table %s"</span>,tbl_name);</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"%s"</span>, (<span class="keywordtype">char</span>* ) cpl_error_get_message());</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> sinfo_qc_wcal_delete(&qc);</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> }</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <span class="keywordflow">for</span> (i =0; i < lx; i++) {</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <span class="keywordflow">for</span> (j = 0; j< cfg->nrDispCoefficients; j++) {</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> snprintf(col_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d"</span>,<span class="stringliteral">"coeff"</span>,j);</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> acoefs[j][i]=cpl_table_get_double(tbl_wcal,col_name,i,status);</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> }</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> }</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> sinfo_msg(<span class="stringliteral">"cannot read table %s"</span>,tbl_name);</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"%s"</span>, (<span class="keywordtype">char</span>* ) cpl_error_get_message());</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> sinfo_qc_wcal_delete(&qc);</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> }</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> cpl_free(col_name);</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> cpl_free(tbl_name);</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> sinfo_free_table(&tbl_wcal);</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> </div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> map = sinfo_new_create_shifted_slit_wavemap2 ( im, </div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> acoefs, </div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> cfg->nrDispCoefficients,</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> wave, </div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> intens, </div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> n_lines, </div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> cfg->magFactor, </div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> cfg->guessDispersion1, </div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> cfg->pixeldist );</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> <span class="keywordflow">if</span> (map == NULL) {</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"sinfo_createShiftedSlitWavemap2 failed!\n"</span>);</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> sinfo_qc_wcal_delete(&qc);</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> }</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> </div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> par = sinfo_new_fit_params(15*n_lines);</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> sinfo_msg(<span class="stringliteral">"Check shifts"</span>);</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> </div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> shift = sinfo_new_check_correlated_line_positions ( im, acoefs, </div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> cfg->nrDispCoefficients, </div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> wave, </div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> intens, </div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> n_lines, </div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> cfg->fwhm, </div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> cfg->halfWidth, </div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> cfg->minAmplitude, </div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> cfg->guessDispersion1, </div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> par );</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> </div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> </div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> <span class="keywordflow">if</span> (FLAG == shift){</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"sinfo_checkCorrelatedLinePositions failed!\n"</span>);</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> }</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> </div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> </div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> sinfo_det_ncounts(raw, cfg->qc_thresh_max,qc);</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> qclog_tbl = sinfo_qclog_init();</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC NLINES"</span>,n_lines,</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> <span class="stringliteral">"Number of found lines"</span>,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> </div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> </div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> </div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> fwhm_avg = cpl_table_get_column_mean(tbl_fp,<span class="stringliteral">"fpar1"</span>);</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> fwhm_med = cpl_table_get_column_median(tbl_fp,<span class="stringliteral">"fpar1"</span>);</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> </div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC FWHM MED"</span>,fwhm_med,</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="stringliteral">"Median FWHM of found lines"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC FWHM AVG"</span>,fwhm_avg,</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> <span class="stringliteral">"Average FWHM of found lines"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> </div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> </div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> <span class="keywordflow">if</span>(-1 == sinfo_pro_save_ima(map,raw,sof,cfg->outName,</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> PRO_WAVE_MAP,qclog_tbl,cpl_func,config)) {</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot save ima %s"</span>, cfg->outName);</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> }</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> </div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> </div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> <span class="comment">/* # ---free memory--- */</span></div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> sinfo_new_destroy_2Dfloatarray ( &acoefs, cfg->nrDispCoefficients );</div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> <span class="comment">/* To fix a memory bug we comment the following. But check! */</span></div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> </div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (cfg->wavemapInd == 1 && cfg->calibIndicator == 1) {</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"give either wavemapIndicator = yes and calibIndicator = no \</span></div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> <span class="stringliteral"> or wavemapIndicator = no and calibIndicator = yes"</span>) ;</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> sinfo_qc_wcal_delete(&qc);</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> }</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> </div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> </div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> <span class="comment">/*-------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> <span class="comment"> *-------------------SLITFITS----------------------------------------</span></div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> <span class="comment"> *-------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> <span class="comment"> #--fit the slitlet sinfo_edge positions if desired--</span></div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="keywordflow">if</span> (cfg->slitposIndicator == 1) {</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> sinfo_msg(<span class="stringliteral">"fit the slitlet sinfo_edge positions"</span>);</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> </div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> </div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> <span class="comment">/* #store the resulting sitlet positions in an TFITS table */</span></div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> tbl_name = (<span class="keywordtype">char</span>*) cpl_calloc(MAX_NAME_SIZE,<span class="keyword">sizeof</span>(<span class="keywordtype">char</span>*));</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> tbl_spos = cpl_table_new(32);</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> cpl_table_new_column(tbl_spos,<span class="stringliteral">"pos1"</span>, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> cpl_table_new_column(tbl_spos,<span class="stringliteral">"pos2"</span>, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> cpl_table_set_column_format(tbl_spos,<span class="stringliteral">"pos1"</span>, <span class="stringliteral">"15.9f"</span>);</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> cpl_table_set_column_format(tbl_spos,<span class="stringliteral">"pos2"</span>, <span class="stringliteral">"15.9f"</span>);</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> </div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> <span class="keywordflow">for</span> (i =0; i< 32; i++) {</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="comment"> fprintf( slitpos_file, "%15.9f %15.9f \n",</span></div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> <span class="comment"> sinfo_new_array2D_get_value(sinfo_slit_pos,i,0),</span></div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> <span class="comment"> sinfo_new_array2D_get_value(sinfo_slit_pos,i,1));</span></div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> cpl_table_set_double(tbl_spos,<span class="stringliteral">"pos1"</span>,i,</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> sinfo_new_array2D_get_value(sinfo_slit_pos,i,0));</div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> cpl_table_set_double(tbl_spos,<span class="stringliteral">"pos2"</span>,i,</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> sinfo_new_array2D_get_value(sinfo_slit_pos,i,1));</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> </div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> }</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> <span class="comment">/* strcpy(tbl_name,cfg->slitposName); */</span></div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> strcpy(tbl_name,<span class="stringliteral">"out_guess_slit_pos.fits"</span>);</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <span class="keywordflow">if</span>(-1 == sinfo_pro_save_tbl(tbl_spos,raw,sof,tbl_name,</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> PRO_SLIT_POS,NULL,cpl_func,config)) {</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot save tbl %s"</span>, tbl_name);</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> }</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> sinfo_free_table(&tbl_spos);</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> cpl_free(tbl_name);</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> <span class="comment">/*# free memory*/</span></div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> sinfo_new_destroy_2Dfloatarray ( &sinfo_slit_pos, 32 );</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> </div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> </div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> }</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> </div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <span class="comment">/* #-----free the rest memory--*/</span></div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> <span class="keywordflow">if</span> ( (cfg->slitposIndicator == 1 && cfg->estimateIndicator != 1) || </div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> (cfg->calibIndicator == 1) || (cfg->wavemapInd == 1) ){</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> sinfo_new_destroy_fit_params(&par);</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> }</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> sinfo_free_image( &im );</div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> sinfo_free_image( &map );</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> sinfo_wavecal_free(&cfg);</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> sinfo_qc_wcal_delete(&qc);</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> </div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> </div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> cleanup:</div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> </div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> </div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> </div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> }</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__slit__pos_8h_source.html b/html/sinfo__new__slit__pos_8h_source.html
deleted file mode 100644
index db5e308..0000000
--- a/html/sinfo__new__slit__pos_8h_source.html
+++ /dev/null
@@ -1,177 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_slit_pos.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_slit_pos.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_NEW_SLIT_POS_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_NEW_SLIT_POS_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*****************************************************************************</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* "@(#) $Id: sinfo_new_slit_pos.h,v 1.5 2007/06/06 07:10:45 amodigli Exp $"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* amodigli 17/09/03 created</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * sinfo_new_slit_pos.h</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> Normal method:</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> does the wavelength calibration and the fitting of the slitlet sinfo_edge </span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> positions (ASCII file 32 x 2 values) if wished</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> produces an array of the bcoefs and of the fit parameters if wished and a </span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> wavelength calibration map input is an emission line frame and a line list</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> o searching for lines by cross sinfo_correlation with a line list</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> o Gaussian fitting of emission lines in each column->positions of the lines-></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> resulting fit parameters can be stored in an ASCII file</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> o Fitting of a polynomial to the line positions for each column</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> o Smoothing: fitting of each polynomial coefficient by another polynomial</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> across the whole frame -> resulting polynomial coefficients can be stored </span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> in an ASCII file.</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> o Wavelength calibration map (micron value for each frame pixel) can be</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> produced by using these coefficients and a cross sinfo_correlation to the</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> original frame</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> o The slitlet sinfo_edge positions can be fitted:</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> 1) Automatically (not really stable) or by using guess sinfo_edge positions</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> 2) By using a Boltzmann or a linear slope function</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> Slit method:</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> does the wavelength calibration and the fitting of the slitlet sinfo_edge </span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> positions (ASCII file 32 x 2 values) if wished produces a list of the fit </span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> parameters and of the smoothed coefficients if wished and a wavelength </span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> calibration map input is an emission line frame and a line list</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"></span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> o Does the same as other method but smoothes the found polynomial </span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> coefficients within each slitlet and not over the whole frame.</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"></span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> o Produces always a wavelength calibration map and does not crosscorrelate.</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"></span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> * Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> Function : sinfo_new_slit_pos()</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> In : ini_file: file name of according .ini file</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> Out : integer (0 if it worked, -1 if it doesn't) </span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"> Job :</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"></span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"></span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"> Normal method:</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"></span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> does the wavelength calibration and the fitting of the slitlet sinfo_edge </span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"> positions (ASCII file 32 x 2 values) if wished</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> produces an array of the bcoefs and of the fit parameters if wished and a </span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> wavelength calibration map input is an emission line frame and a line list</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"></span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment"></span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment"> o searching for lines by cross sinfo_correlation with a line list</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"> o Gaussian fitting of emission lines in each column->positions of the lines-></span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"> resulting fit parameters can be stored in an ASCII file</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment"> o Fitting of a polynomial to the line positions for each column</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"> o Smoothing: fitting of each polynomial coefficient by another polynomial</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"> across the whole frame -> resulting polynomial coefficients can be stored </span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment"> in an ASCII file.</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment"> o Wavelength calibration map (micron value for each frame pixel) can be</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment"> produced by using these coefficients and a cross sinfo_correlation to the</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment"> original frame</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment"></span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment"> o The slitlet sinfo_edge positions can be fitted:</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"> 1) Automatically (not really stable) or by using guess sinfo_edge positions</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment"> 2) By using a Boltzmann or a linear slope function</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment"></span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment"> Slit method:</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment"></span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"> does the wavelength calibration and the fitting of the slitlet sinfo_edge </span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment"> positions (ASCII file 32 x 2 values) if wished produces a list of the fit </span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment"> parameters and of the smoothed coefficients if wished and a wavelength </span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"> calibration map input is an emission line frame and a line list</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment"></span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment"> o Does the same as other method but smoothes the found polynomial </span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment"> coefficients within each slitlet and not over the whole frame.</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment"></span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment"> o Produces always a wavelength calibration map and does not crosscorrelate.</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordtype">int</span> sinfo_new_slit_pos (cpl_parameterlist* config, cpl_frameset* sof) ;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="preprocessor">#endif </span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__stdstar_8c_source.html b/html/sinfo__new__stdstar_8c_source.html
deleted file mode 100644
index 1982a9f..0000000
--- a/html/sinfo__new__stdstar_8c_source.html
+++ /dev/null
@@ -1,699 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_stdstar.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_stdstar.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"></span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_new_stdstar.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : J. Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : December 3, 2003</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : this routine doess the optimal extraction of a spectrum</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> of an already reduced data cube of a standard star</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> observation. Additionally, a conversion factor from</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> mag to counts/sec can be determined if the magnitude</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> of the standard star is known.</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> This is done for a number of jittered data cubes and</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> the results are averaged by rejecting the extreme</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> values</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor"></span><span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">//Used only for sinfo_propertylist_has</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <irplib_stdstar.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <sinfo_cpl_size.h></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include "irplib_utils.h"</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include "sinfo_dfs.h"</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include "sinfo_tpl_utils.h"</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include "sinfo_new_stdstar.h"</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include "sinfo_standstar_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#include "sinfo_pro_save.h"</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include "sinfo_pfits.h"</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include "sinfo_utilities_scired.h"</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include "sinfo_spectrum_ops.h"</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include "sinfo_hidden.h"</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include "sinfo_utl_efficiency.h"</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> Function Definitions</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">/* temporally commented out as not yet used</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">static int</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">sinfo_compute_efficiency(cpl_frameset* sof,</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> const char* name,</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> standstar_config ** cfg,</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> cpl_imagelist * cube,</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> cpl_table** tbl_spectrum);</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"></span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"> Function : sinfo_stdstar()</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"> In : ini_file: file name of according .ini file</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"> Out : integer (0 if it worked, -1 if it doesn't)</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"> Job : this routine carries through the data cube creation of an</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"> object science observation using object-sky nodding</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> and jittering. This script expects jittered frames that</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"> were already sky-subtracted</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> averaged, flatfielded, spectral tilt corrected and</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> interleaved if necessary</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> sinfo_new_stdstar(<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id,</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> cpl_parameterlist* config,</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> cpl_frameset* sof,cpl_frameset* ref_set)</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> {</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> cpl_errorstate clean_state = cpl_errorstate_get();</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> standstar_config * cfg=NULL ;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> cpl_imagelist * cube=NULL ;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> cpl_imagelist * list_object=NULL ;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> cpl_image ** spectrum=NULL ;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> cpl_image * img_spct=NULL ;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> cpl_frameset* raw=NULL;</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> cpl_frame* frame=NULL;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> cpl_image* std_med_ima=NULL;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> cpl_image* std_med_dup=NULL;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> cpl_table* qclog_tbl=NULL;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> cpl_table* tbl_spectrum=NULL;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment">//char band[FILE_NAME_SZ];</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">char</span> * name=NULL ;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordtype">int</span> fra=0;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordtype">float</span> exptime=0 ;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordtype">double</span> convfactor=0;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keywordtype">double</span> cleanfactor=0;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">float</span>* factor=NULL;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordtype">char</span> std_med_filename[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordtype">char</span> std_cub_filename[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordtype">double</span> max_ima_cx=0;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keywordtype">double</span> max_ima_cy=0;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> cpl_size max_ima_x=0;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> cpl_size max_ima_y=0;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordtype">double</span> norm=0;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keywordtype">double</span> xcen=0;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordtype">double</span> ycen=0;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordtype">double</span> sig_x=0;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">double</span> sig_y=0;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordtype">double</span> fwhm_x=0;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordtype">double</span> fwhm_y=0;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordtype">double</span> disp=0;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordtype">double</span> dispersion=0;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordtype">int</span> wllx=0;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordtype">int</span> wlly=0;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordtype">int</span> wurx=0;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordtype">int</span> wury=0;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keywordtype">int</span> psf_sz=40;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keywordtype">int</span> qc_info=0;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keywordtype">int</span> ima_szx=0;</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keywordtype">int</span> ima_szy=0;</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordtype">int</span> check1=0;</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordtype">int</span> check2=0;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordtype">int</span> check3=0;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordtype">int</span> check4=0;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordtype">double</span> xshift=0;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keywordtype">double</span> yshift=0;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordtype">float</span> cenpix = 0;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordtype">float</span> cenLambda = 0;</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keywordtype">int</span> no=0;</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordtype">double</span> lo_cut=0.;</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordtype">double</span> hi_cut=0.;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* stdstars=NULL;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* sed=NULL;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> cpl_frame* frm_sci=NULL;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> cpl_frame* frm_atmext=NULL;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> cpl_frame* frm_std_cat=NULL;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> cpl_table* tot_eff=NULL;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordtype">double</span> fpar[7];</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordtype">double</span> dpar[7];</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordtype">int</span> mpar[7];</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordtype">int</span> do_compute_eff=0;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> cpl_parameter* p=NULL;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment">//For new way to compute efficiency</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment">//char band[80];</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment">//const char * seds_file=NULL;</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment">//const char * filter=NULL;</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment">//cpl_table* tbl_eff=NULL;</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment"> parse the file names and parameters to the cube_config</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment"> data structure cfg</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment">/* sinfo_msg("Parse cpl input"); */</span></div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> check_nomsg(raw=cpl_frameset_new());</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> cknull(cfg=sinfo_parse_cpl_input_standstar(config,sof,&raw),</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="stringliteral">"could not parse cpl input!"</span>) ;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> cknull_nomsg(p = cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="stringliteral">"sinfoni.std_star.compute_eff"</span>));</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> check_nomsg(do_compute_eff = cpl_parameter_get_bool(p));</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> cknull(list_object = cpl_imagelist_new (),</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="stringliteral">"could not allocate memory"</span>);</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> sed = sinfo_extract_filename(sof, SINFO_CALIB_SED) ;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> stdstars = sinfo_extract_filename(sof, SINFO_CALIB_STDSTARS) ;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keywordflow">if</span> (cfg->convInd == 1) {</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> factor = sinfo_new_floatarray(cfg->nframes);</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> }</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_COADD_STD)) {</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> frame = cpl_frameset_find(sof,PRO_COADD_STD);</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> strcpy(std_cub_filename,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_COADD_PSF)) {</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> frame = cpl_frameset_find(sof,PRO_COADD_PSF);</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> strcpy(std_cub_filename,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_COADD_OBJ)) {</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> frame = cpl_frameset_find(sof,PRO_COADD_OBJ);</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> strcpy(std_cub_filename,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_COADD_PUPIL)) {</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> frame = cpl_frameset_find(sof,PRO_COADD_PUPIL);</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> strcpy(std_cub_filename,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame %s, %s, %s or %s not found! Exit!"</span>,</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> PRO_COADD_STD,PRO_COADD_PSF,</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> PRO_COADD_OBJ,PRO_COADD_PUPIL );</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> }</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> cknull(plist = cpl_propertylist_load(std_cub_filename, 0),</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="stringliteral">"getting header from reference ima frame %s"</span>,std_cub_filename);</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> cenpix = sinfo_pfits_get_crpix3(plist);</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> cenLambda = sinfo_pfits_get_crval3(plist);</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> dispersion = sinfo_pfits_get_cdelt3(plist);</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_CDELT3)) {</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> disp=cpl_propertylist_get_double(plist, KEY_NAME_CDELT3);</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"Keyword %s not found."</span>,KEY_NAME_CDELT3);</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> }</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="comment">/* we find automatiocally extraction parameters */</span></div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_MED_COADD_STD)) {</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> frame = cpl_frameset_find(sof,PRO_MED_COADD_STD);</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> strcpy(std_med_filename,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> check_nomsg(std_med_ima=cpl_image_load(std_med_filename,</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_OBS_STD)) {</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> check_nomsg(frame = cpl_frameset_find(sof,PRO_OBS_STD));</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> strcpy(std_cub_filename,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> check_nomsg(cube = cpl_imagelist_load(std_cub_filename,</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> CPL_TYPE_FLOAT,0));</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> strcpy(std_med_filename,STDSTAR_OUT_MED_CUBE);</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> check_nomsg(std_med_ima=cpl_imagelist_collapse_median_create(cube));</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> sinfo_free_imagelist(&cube);</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> ck0(sinfo_pro_save_ima(std_med_ima,ref_set,sof,STDSTAR_OUT_MED_CUBE,</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> PRO_MED_OBS_PSF,NULL,plugin_id,config),</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="stringliteral">"Error saving image %s tag %s"</span>,STDSTAR_OUT_MED_CUBE,PRO_MED_OBS_PSF);</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_MED_COADD_PSF)) {</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> check_nomsg(frame = cpl_frameset_find(sof,PRO_MED_COADD_PSF));</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> strcpy(std_med_filename,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> check_nomsg(std_med_ima=cpl_image_load(std_med_filename,</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_OBS_PSF)) {</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> check_nomsg(frame = cpl_frameset_find(sof,PRO_OBS_PSF));</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> strcpy(std_cub_filename,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> check_nomsg(cube=cpl_imagelist_load(std_cub_filename,CPL_TYPE_FLOAT,0));</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> strcpy(std_med_filename,STDSTAR_OUT_MED_CUBE);</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> check_nomsg(std_med_ima=cpl_imagelist_collapse_median_create(cube));</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> sinfo_free_imagelist(&cube);</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> ck0(sinfo_pro_save_ima(std_med_ima,ref_set,sof,STDSTAR_OUT_MED_CUBE,</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> PRO_MED_OBS_PSF,NULL,plugin_id,config),</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="stringliteral">"Error saving image %s tag %s"</span>,STDSTAR_OUT_MED_CUBE,PRO_MED_OBS_PSF);</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> </div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_MED_COADD_OBJ)) {</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> check_nomsg(frame = cpl_frameset_find(sof,PRO_MED_COADD_OBJ));</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> strcpy(std_med_filename,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> check_nomsg(std_med_ima=cpl_image_load(std_med_filename,</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_OBS_OBJ)) {</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> check_nomsg(frame = cpl_frameset_find(sof,PRO_OBS_OBJ));</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> strcpy(std_cub_filename,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> check_nomsg(cube = cpl_imagelist_load(std_cub_filename,</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> CPL_TYPE_FLOAT,0));</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> strcpy(std_med_filename,STDSTAR_OUT_MED_CUBE);</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> check_nomsg(std_med_ima=cpl_imagelist_collapse_median_create(cube));</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> sinfo_free_imagelist(&cube);</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> ck0(sinfo_pro_save_ima(std_med_ima,ref_set,sof,STDSTAR_OUT_MED_CUBE,</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> PRO_MED_OBS_OBJ,NULL,plugin_id,config),</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="stringliteral">"Error saving image %s tag %s"</span>,STDSTAR_OUT_MED_CUBE,PRO_MED_OBS_OBJ);</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame %s %s %s %s %s %s not found! Exit!"</span>,</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> PRO_MED_COADD_STD, PRO_OBS_STD,</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> PRO_MED_COADD_PSF, PRO_OBS_PSF,</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> PRO_MED_COADD_OBJ, PRO_OBS_OBJ);</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> }</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> check_nomsg(std_med_dup=cpl_image_duplicate(std_med_ima));</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> sinfo_clean_nan(&std_med_dup);</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> check_nomsg(cpl_image_get_maxpos(std_med_dup,&max_ima_x,&max_ima_y));</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> sinfo_free_image(&std_med_dup);</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> </div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> </div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> ima_szx=cpl_image_get_size_x(std_med_ima);</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> ima_szy=cpl_image_get_size_y(std_med_ima);</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> wllx= ((max_ima_x-psf_sz)>0) ? (max_ima_x-psf_sz) : 1;</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> wlly= ((max_ima_y-psf_sz)>0) ? (max_ima_y-psf_sz) : 1;</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> wurx= ((max_ima_x+psf_sz)<ima_szx) ? (max_ima_x+psf_sz) : ima_szx ;</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> wury= ((max_ima_y+psf_sz)<ima_szy) ? (max_ima_y+psf_sz) : ima_szy ;</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="comment"> sinfo_msg("wllx=%d wlly=%d wurx=%d wury=%d\n",wllx,wlly,wurx,wury);</span></div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="comment"> cpl_image_get_maxpos_window(std_med_ima,wllx,wlly,wurx,wury,</span></div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="comment"> &max_ima_x,&max_ima_y);</span></div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> check_nomsg(qclog_tbl = sinfo_qclog_init());</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> check_nomsg(max_ima_cx=cpl_image_get_centroid_x_window(std_med_ima,wllx,</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> wlly,wurx,wury));</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> check_nomsg(max_ima_cy=cpl_image_get_centroid_y_window(std_med_ima,wllx,</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> wlly,wurx,wury));</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> </div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> </div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> xshift=max_ima_cx-ima_szx/2;</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> yshift=max_ima_cy-ima_szy/2;</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC SHIFTX"</span>,xshift,</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="stringliteral">"X shift centroid - center image"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC SHIFTY"</span>,yshift,</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="stringliteral">"Y shift centroid - center image"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="keywordflow">if</span>(</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> ((max_ima_x-psf_sz) < 1) ||</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> ((max_ima_y-psf_sz) < 1) ||</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> ((max_ima_x+psf_sz) > ima_szx) ||</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> ((max_ima_x+psf_sz) > ima_szy)</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> )</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> {</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> psf_sz = (psf_sz < (max_ima_x-1)) ? psf_sz : (max_ima_x-1);</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> psf_sz = (psf_sz < (max_ima_y-1)) ? psf_sz : (max_ima_y-1);</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> psf_sz = (psf_sz < ima_szx-max_ima_x) ? psf_sz : (ima_szx-max_ima_x);</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> psf_sz = (psf_sz < ima_szy-max_ima_y) ? psf_sz : (ima_szy-max_ima_y);</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="comment">//added to prevent seg fault by cpl_image_fit_gaussian</span></div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> psf_sz = (psf_sz > 4) ? psf_sz : 4;</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> }</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> </div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> </div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC FWHM LLX"</span>,cfg->llx,</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="stringliteral">"STD star FWHM LLX"</span>,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC FWHM LLY"</span>,cfg->lly,</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="stringliteral">"STD star FWHM LLY"</span>,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC FWHM HBX"</span>,cfg->halfbox_x,</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="stringliteral">"STD star FWHM HBX"</span>,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC FWHM HBX"</span>,cfg->halfbox_y,</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="stringliteral">"STD star FWHM HBY"</span>,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="comment">/* call the 2D-Gaussian fit routine */</span></div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="keywordflow">for</span> ( i = 0 ; i < 7 ; i++ )</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> {</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> mpar[i] = 1 ;</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> }</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> </div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> </div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="keywordflow">if</span>(-1 == sinfo_new_fit_2d_gaussian(std_med_ima,</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> fpar,</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> dpar,</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> mpar,</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> cfg->llx,</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> cfg->lly,</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> cfg->halfbox_x,</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> cfg->halfbox_y,</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> &check4 ) ) {</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> irplib_error_recover(clean_state,<span class="stringliteral">"2d Gaussian fit failed"</span>);</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="comment">/* return 0; */</span></div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> </div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC FWHM MAJ"</span>,fpar[4],</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="stringliteral">"STD star FWHM on major axis"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC FWHM MIN"</span>,fpar[5],</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="stringliteral">"STD star FWHM on minor axis"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC THETA"</span>,fpar[6],</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="stringliteral">"STD star ellipsis angle theta"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> </div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> </div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> }</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> </div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> </div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="comment"> sinfo_msg("Gauss fit params: xc,yc,amp,bkg,fwhm_x,fwhm_y,angle\n");</span></div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="comment"> for ( i = 0 ; i < 7 ; i++ )</span></div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="comment"> sinfo_msg("fpar[%d]=%f dpar[%d]=%f\n",i,fpar[i],i,dpar[i]);</span></div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="keywordflow">if</span>(CPL_ERROR_NONE == cpl_image_fit_gaussian(std_med_ima,</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> max_ima_x,</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> max_ima_y,</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> psf_sz,</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> &norm,</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> &xcen,</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> &ycen,</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> &sig_x,</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> &sig_y,</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> &fwhm_x,</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> &fwhm_y)) {</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> </div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> </div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC FWHMX"</span>,fwhm_x,</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="stringliteral">"STD star FWHM on X"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC FWHMY"</span>,fwhm_y,</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="stringliteral">"STD star FWHM on Y"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> </div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> cfg -> halfbox_x = (floor)(0.5*(fwhm_x+fwhm_y)*cfg->fwhm_factor+0.5);</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> </div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> cfg -> halfbox_y = (floor)(0.5*(fwhm_x+fwhm_y)*cfg->fwhm_factor+0.5);</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> </div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> irplib_error_recover(clean_state,<span class="stringliteral">"Problem fitting Gaussian"</span>);</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> cpl_error_reset();</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> </div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> }</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> sinfo_free_image(&std_med_ima);</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> </div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="comment"> sinfo_msg("max ima=%d %d psf_sz=%d\n",max_ima_x,max_ima_y,psf_sz);</span></div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="comment"> sinfo_msg("centroid ima=%f %f\n",max_ima_cx,max_ima_cy);</span></div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="comment"> sinfo_msg("gauss=norm=%f xcen=%f ycen=%f sig_x=%f "</span></div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="comment"> "sig_y=%f fwhm_x=%f fwhm_y=%f\n",</span></div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="comment"> norm,xcen,ycen,sig_x,sig_y,fwhm_x,fwhm_y);</span></div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> </div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> cfg -> llx = (int)(xcen-cfg->halfbox_x);</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> cfg -> llx = (cfg -> llx > 0 ) ? cfg -> llx : 1;</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> </div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="keywordflow">if</span>((cfg->llx+2*cfg->halfbox_x) >= ima_szx) {</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> cfg -> halfbox_x=(int) ((ima_szx-cfg->llx-1)/2);</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> check1++;</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> }</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> </div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> cfg -> lly = (int)(ycen-cfg->halfbox_y);</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> cfg -> lly = (cfg -> lly > 0 ) ? cfg -> lly : 1;</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> <span class="keywordflow">if</span>((cfg->lly+2*cfg->halfbox_y) >= ima_szy) {</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> cfg -> halfbox_y=(int) ((ima_szy-cfg->lly-1)/2);</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> check1++;</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> }</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC CHECK1"</span>,check1,</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> <span class="stringliteral">"Check on evaluation box"</span>,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> </div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> </div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="comment"> sinfo_msg("llx= %d lly= %d\n",cfg->llx, cfg->lly);</span></div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="comment"> sinfo_msg("halfbox_x=%d halfbox_y=%d\n",cfg->halfbox_x,cfg->halfbox_y);</span></div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> </div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="comment">#----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="comment">#---------------------------EXTRACTION---------------------------------</span></div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="comment">#----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> </div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> sinfo_msg(<span class="stringliteral">"Extraction"</span>);</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> cknull(spectrum = (cpl_image**) cpl_calloc (cfg -> nframes,</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="keyword">sizeof</span>(cpl_image*)),</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="stringliteral">"Could not allocate memory for spectrum image"</span>);</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> </div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="keywordflow">for</span> (fra=0; fra < cfg->nframes; fra++) {</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> name = cfg->inFrameList[fra];</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(name) != 1) {</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Input file %s is not FITS"</span>,name);</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> }</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> cknull(cube = cpl_imagelist_load(name,CPL_TYPE_FLOAT,0),</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="stringliteral">"could not load data cube"</span> );</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> </div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="keywordflow">if</span> (exptime == FLAG) {</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not find exposure time in the fits header"</span>);</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> }</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> exptime = sinfo_pfits_get_ditndit(name);</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> </div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> sinfo_msg(<span class="stringliteral">"cfg->gain %f"</span>,cfg->gain);</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> check_nomsg(tbl_spectrum=cpl_table_new(cpl_imagelist_get_size(cube)));</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="keywordflow">if</span>(NULL==(spectrum[fra]=sinfo_new_optimal_extraction_from_cube( cube,</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> cfg->llx,</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> cfg->lly,</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> cfg->halfbox_x,</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> cfg->halfbox_y,</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> cfg->fwhm_factor,</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> BKG_VARIANCE,</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> SKY_FLUX,</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> cfg->gain,</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> exptime,</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> name,</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> &tbl_spectrum,</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> qc_info,</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> &check2))){</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> </div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> irplib_error_recover(clean_state,</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> <span class="stringliteral">"could not do sinfo_optimalExtractionFromCube"</span>);</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> check_nomsg(cpl_imagelist_set(list_object,</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> cpl_image_duplicate(spectrum[fra]), fra));</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> </div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> }</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> </div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> </div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> </div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC CHECK2"</span>,</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> check2,<span class="stringliteral">"Check on evaluation box"</span>,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> </div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> </div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> ck0(sinfo_pro_save_tbl(tbl_spectrum,ref_set,sof,</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> (<span class="keywordtype">char</span>*)STDSTAR_OUT_TABLE,</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> PRO_STD_STAR_SPECTRA,qclog_tbl,</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> plugin_id,config),</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="stringliteral">"cannot dump ima %s"</span>, <span class="stringliteral">"out_std_star_spectrum.fits"</span>);</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> </div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> </div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> </div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> <span class="keywordflow">if</span> (do_compute_eff!=0 && frm_std_cat !=NULL && frm_atmext != NULL) {</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> sinfo_msg(<span class="stringliteral">"compute efficiency"</span>);</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> frm_sci = cpl_frameset_find(sof,PRO_STD_STAR_SPECTRA);</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> frm_std_cat = cpl_frameset_find(sof,FLUX_STD_CATALOG);</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> frm_atmext = cpl_frameset_find(sof,EXTCOEFF_TABLE);</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> </div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> </div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> </div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> check_nomsg(tot_eff=sinfo_efficiency_compute(frm_sci,frm_std_cat,</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> frm_atmext));</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> ck0(sinfo_pro_save_tbl(tot_eff,ref_set,sof,(<span class="keywordtype">char</span>*)EFFICIENCY_FILENAME,</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> PRO_EFFICIENCY,qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="stringliteral">"cannot dump ima %s"</span>, <span class="stringliteral">"out_.fits"</span>);</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> }</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> </div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> </div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> </div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> </div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="comment"> if(spectrum[fra] != NULL ) {</span></div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="comment"> sinfo_free_image(&(spectrum)[fra]);</span></div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <span class="comment">/*----determine the intensity conversion factor if wished--------*/</span></div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="keywordflow">if</span> (cfg->convInd == 1) {</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> sinfo_msg(<span class="stringliteral">"Determines convertion factor"</span>);</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> </div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> convfactor = sinfo_new_determine_conversion_factor( cube,</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> cfg->mag,</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> exptime,</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> cfg->llx,</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> cfg->lly,</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> cfg->halfbox_x,</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> cfg->halfbox_y,</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> &check3 );</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> </div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> </div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <span class="keywordflow">if</span> (convfactor < -100000.) {</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"could not do sinfo_determineConversionFactor!"</span> );</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="comment">/* goto cleanup; */</span></div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> sinfo_new_array_set_value(factor, convfactor, fra);</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> }</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> }</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> sinfo_free_imagelist(&cube);</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> } <span class="comment">/* end loop over fra */</span></div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> </div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> sinfo_free_table(&tbl_spectrum);</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> sinfo_free_image_array(&spectrum,cfg->nframes);</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> <span class="keywordflow">if</span> (cfg->convInd == 1) {</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> sinfo_msg(<span class="stringliteral">"Determines clean factor"</span>);</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> cleanfactor = sinfo_new_clean_mean(factor,</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> cfg->nframes,</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> cfg->lo_reject*100.,</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> cfg->hi_reject*100.);</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> }</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="keywordflow">if</span> (cleanfactor > 100000. || cleanfactor == FLAG) {</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not do sinfo_clean_mean!"</span> );</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> }</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> </div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> </div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> <span class="comment">/*---read the fits header to change the gain and noise parameter-----*/</span></div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> sinfo_msg(<span class="stringliteral">"Average with rejection"</span>);</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> </div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> no=cpl_imagelist_get_size(list_object);</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> lo_cut=(floor)(cfg->lo_reject*no+0.5);</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> hi_cut=(floor)(cfg->hi_reject*no+0.5);</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="keywordflow">if</span>(no > 0) {</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> cknull(img_spct=cpl_imagelist_collapse_minmax_create(list_object,</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> lo_cut,hi_cut),</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="stringliteral">"sinfo_average_with_rejection failed"</span> );</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> }</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> </div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> sinfo_free_imagelist(&list_object);</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="keywordflow">if</span>(no > 0) {</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> check_nomsg(qclog_tbl = sinfo_qclog_init());</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> </div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC CONVFCT"</span>,cleanfactor,</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> <span class="stringliteral">"Conversion factor"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> </div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC CHECK3"</span>,check3,</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <span class="stringliteral">"Check evaluation box"</span>,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> </div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> </div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> ck0(sinfo_pro_save_ima(img_spct,ref_set,sof,cfg->outName,</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> PRO_STD_STAR_SPECTRUM,qclog_tbl,</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> plugin_id,config),</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> <span class="stringliteral">"cannot dump ima %s"</span>, cfg->outName);</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> </div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> sinfo_new_set_wcs_spectrum(img_spct,cfg->outName,cenLambda,disp,cenpix);</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> }</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> <span class="comment">/*#---free memory---*/</span></div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> <span class="keywordflow">if</span>(factor != NULL) sinfo_new_destroy_array(&factor);</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> sinfo_free_image(&img_spct);</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> sinfo_stdstar_free(&cfg);</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> sinfo_free_frameset(&raw);</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> </div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> </div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> cleanup:</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> sinfo_free_table(&tbl_spectrum);</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> sinfo_free_imagelist(&list_object);</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> <span class="keywordflow">if</span>(spectrum != NULL) sinfo_free_image_array(&spectrum,cfg->nframes);</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> sinfo_free_image(&std_med_ima);</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> sinfo_free_image(&std_med_dup);</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> sinfo_free_imagelist(&cube);</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <span class="keywordflow">if</span>(factor != NULL) sinfo_new_destroy_array(&factor);</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> sinfo_free_image(&img_spct);</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> sinfo_stdstar_free (&cfg);</div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> sinfo_free_frameset(&raw);</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> </div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> }</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> </div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__stdstar_8h_source.html b/html/sinfo__new__stdstar_8h_source.html
deleted file mode 100644
index 3b0b6fe..0000000
--- a/html/sinfo__new__stdstar_8h_source.html
+++ /dev/null
@@ -1,115 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_stdstar.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_stdstar.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_NEW_STDSTAR_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_NEW_STDSTAR_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*******************************************************************************</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* "@(#) $Id: sinfo_new_stdstar.h,v 1.11 2007/09/21 14:13:43 amodigli Exp $"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* schreib 06/05/03 created</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * sinfo_new_stdstar.h</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * routines to create a data cube</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <sinfo_standstar_cfg.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> * Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> Function : sinfo_new_stdstar()</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> In : ini_file: file name of according .ini file</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> Out : integer (0 if it worked, -1 if it doesn't) </span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> Description : this routine does the optimal extraction of a spectrum </span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> of an already reduced data cube of a standard star </span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> observation. Additionally, a conversion factor from </span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> mag to counts/sec can be determined if the magnitude </span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> of the standard star is known. </span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> This is done for a number of jittered data cubes and </span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> the results are averaged by rejecting the extreme </span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> values</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> sinfo_new_stdstar (<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id,</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> cpl_parameterlist* config,</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> cpl_frameset* sof,cpl_frameset* ref_set) ;</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#endif </span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor"></span><span class="comment">/*--------------------------------------------------------------------------*/</span><span class="preprocessor"></span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__wave__cal__slit2_8c_source.html b/html/sinfo__new__wave__cal__slit2_8c_source.html
deleted file mode 100644
index 0e4bd95..0000000
--- a/html/sinfo__new__wave__cal__slit2_8c_source.html
+++ /dev/null
@@ -1,894 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_wave_cal_slit2.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_wave_cal_slit2.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_new_wave_cal_slit2.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : A. Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Sep 17, 2003</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : </span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_new_wave_cal_slit2.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_pro_save.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_wavecal_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_wcal_functions.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_absolute.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_wave_calibration.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_wavecal.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_hidden.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "sinfo_utilities.h"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> Function Definitions</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">static</span> cpl_error_code</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> sinfo_image_resample(<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id,</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> cpl_parameterlist* config,</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> cpl_frameset* sof,</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> cpl_frameset* ref_set);</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> Function : sinfo_wave_cal_slit()</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> In : ini_file: file name of according .ini file</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> Out : integer (0 if it worked, -1 if it doesn't) </span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> Job :</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"></span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"></span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> Normal method:</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"></span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> does the wavelength calibration and the fitting of the slitlet sinfo_edge </span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> positions (ASCII file 32 x 2 values) if wished</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"> produces an array of the bcoefs and of the fit parameters if wished and a </span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> wavelength calibration map input is an emission line frame and a line list</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"></span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"></span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> o searching for lines by cross sinfo_correlation with a line list</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> o Gaussian fitting of emission lines in each column->positions of the lines-></span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"> resulting fit parameters can be stored in an ASCII file</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"> o Fitting of a polynomial to the line positions for each column</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"> o Smoothing: fitting of each polynomial coefficient by another polynomial</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"> across the whole frame -> resulting polynomial coefficients can be stored </span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"> in an ASCII file.</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> o Wavelength calibration map (micron value for each frame pixel) can be</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"> produced by using these coefficients and a cross sinfo_correlation to the</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> original frame</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"></span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"> o The slitlet sinfo_edge positions can be fitted:</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment"> 1) Automatically (not really stable) or by using guess sinfo_edge positions</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment"> 2) By using a Boltzmann or a linear slope function</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"></span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"> Slit method:</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment"></span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"> does the wavelength calibration and the fitting of the slitlet sinfo_edge </span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"> positions (ASCII file 32 x 2 values) if wished produces a list of the fit </span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment"> parameters and of the smoothed coefficients if wished and a wavelength </span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment"> calibration map input is an emission line frame and a line list</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment"></span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment"> o Does the same as other method but smoothes the found polynomial </span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment"> coefficients within each slitlet and not over the whole frame.</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment"></span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"> o Produces always a wavelength calibration map and does not crosscorrelate.</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment"></span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> sinfo_new_wave_cal_slit2(<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id,</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> cpl_parameterlist* config, </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> cpl_frameset* sof,cpl_frameset* ref_set)</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> {</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> wave_config * cfg =NULL;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">char</span> col_name[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">char</span> tbl_name[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">char</span> tbl_fitpar_name[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordtype">char</span> tbl_line_list_name[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordtype">char</span> tbl_slitpos_guess_name[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordtype">char</span> key_name[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keywordtype">char</span> col[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">int</span> check = 0;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordtype">int</span> lx = 0;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordtype">int</span> ly = 0;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordtype">int</span> n_lines=0;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordtype">int</span> i = 0;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordtype">int</span> j = 0;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keywordtype">int</span> n = 0;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordtype">int</span> readsum=0;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordtype">int</span> sum=0;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordtype">int</span> fit=0;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keywordtype">int</span> sw=0;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordtype">int</span>* status=NULL;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">int</span>* n_found_lines=NULL;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordtype">int</span>* sum_pointer=NULL;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordtype">int</span>** row_clean=NULL;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordtype">float</span> a=0;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordtype">float</span> shift=0;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordtype">float</span> val_x=0;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordtype">float</span> val_y=0;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordtype">float</span>* wave=NULL;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keywordtype">float</span>* intens=NULL;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keywordtype">float</span>** acoefs=NULL;</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keywordtype">float</span>** wavelength_clean=NULL;</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordtype">float</span>** sinfo_slit_pos=NULL;</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordtype">double</span> fwhm_med=0;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordtype">double</span> fwhm_avg=0;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordtype">double</span> coef_med=0;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keywordtype">double</span> coef_avg=0;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> cpl_image * im=NULL ;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> FitParams** par=NULL;</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> cpl_table* tbl_wcal=NULL;</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> cpl_table* tbl_spos=NULL;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> cpl_table* tbl_fitpar = NULL;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> cpl_table* tbl_line_list = NULL;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> cpl_table* tbl_slitpos_guess=NULL;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> cpl_table * tbl_fp =NULL;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> cpl_table* qclog_tbl=NULL;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> cpl_image* map_img=NULL;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> cpl_frameset* raw=NULL;</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> cpl_parameter* p=NULL;</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> qc_wcal* qc=sinfo_qc_wcal_new();</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordtype">int</span> pdensity=0;</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment">/* -----------------------------------------------------------------</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment"> 1) parse the file names and parameters to the ns_config data </span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment"> structure cfg</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment"> -----------------------------------------------------------------</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> check_nomsg(p=cpl_parameterlist_find(config,<span class="stringliteral">"sinfoni.product.density"</span>));</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> check_nomsg(pdensity=cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> sinfo_msg(<span class="stringliteral">"Parsing cpl input"</span>);</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> check_nomsg(raw=cpl_frameset_new());</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> cknull(cfg = sinfo_parse_cpl_input_wave(config,sof,&raw),</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="stringliteral">"could not parse cpl input!"</span>) ;</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> check_nomsg(p = cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="stringliteral">"sinfoni.wavecal.slitpos_boostrap"</span>));</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> check_nomsg(sw=cpl_parameter_get_bool(p));</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keywordflow">if</span>(sw==1) {</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> cfg->nslitlets=32;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> cfg->calibIndicator=1;</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> cfg->wavemapInd=0;</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> cfg->slitposIndicator=1;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> sinfo_msg(<span class="stringliteral">"***********************************"</span>);</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> sinfo_msg(<span class="stringliteral">"parameter setting for %s"</span>,PRO_WAVE_SLITPOS_STACKED);</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> sinfo_msg(<span class="stringliteral">"***********************************"</span>);</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> }</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(cfg->inFrame) != 1) {</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Input file cfg->inFrame %s is not FITS"</span>,cfg->inFrame);</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> }</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keywordflow">if</span> (cfg->slitposIndicator == 1 && cfg->estimateIndicator == 1) {</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keywordflow">if</span> (sinfo_is_fits_file(cfg->slitposGuessName) != 1) {</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"slitlet position guess list not given!"</span>);</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> }</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> }</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keywordflow">if</span> (cfg->calibIndicator == 0 && cfg->wavemapInd == 1) {</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keywordflow">if</span> (sinfo_is_fits_file(cfg->coeffsName) != 1) {</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"coefficients list not given!"</span>);</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> }</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> }</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keywordflow">if</span> (cfg->slitposIndicator == 1) {</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordflow">if</span> (cfg->calibIndicator != 1 && cfg->estimateIndicator != 1) {</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordflow">if</span> (sinfo_is_fits_file(cfg->paramsList) != 1) {</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"parameter list not given!"</span>);</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> }</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> }</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> }</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="comment">/*---load the emission line frame---*/</span></div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> check(im = cpl_image_load(cfg->inFrame,CPL_TYPE_FLOAT,0,0)</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> ,<span class="stringliteral">"could not load image"</span>);</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> lx = cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> ly = cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keywordflow">if</span> (cfg->calibIndicator == 1 || cfg->wavemapInd == 1) {</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="comment">/*---open the line list and read the number of lines---*/</span></div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> strcpy(tbl_line_list_name,cfg->lineList);</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> check_nomsg(tbl_line_list = cpl_table_load(tbl_line_list_name,1,0));</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> check_nomsg(n = cpl_table_get_nrow(tbl_line_list));</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> n_lines = n;</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> check_nomsg(wave = cpl_table_get_data_float(tbl_line_list,<span class="stringliteral">"wave"</span>));</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> check_nomsg(intens = cpl_table_get_data_float(tbl_line_list,<span class="stringliteral">"int"</span>));</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> }</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="comment"> ----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="comment"> ---------------------------FINDLINES----------------------------------</span></div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="comment"> ----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="comment">/*if not yet done:</span></div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="comment"> do the wavelength calibration, that means: </span></div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="comment"> find the dispersion relation and parameterize its coefficients</span></div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="comment"> sinfo_msg("guessBeginWave=%g",cfg->guessBeginWavelength);</span></div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="comment"> sinfo_msg("guessDisp1=%g",cfg->guessDispersion1);</span></div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="comment"> sinfo_msg("guessDisp2=%g",cfg->guessDispersion2);</span></div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="keywordflow">if</span> (cfg->calibIndicator == 1 && cfg->wavemapInd == 0) {</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> sinfo_msg(<span class="stringliteral">"Findlines"</span>);</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> acoefs = sinfo_new_2Dfloatarray(cfg->nrDispCoefficients, lx);</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="comment">/*allocate memory*/</span></div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> n_found_lines = sinfo_new_intarray(lx); </div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> row_clean = sinfo_new_2Dintarray(lx, n_lines);</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> wavelength_clean = sinfo_new_2Dfloatarray(lx, n_lines);</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> sum_pointer = sinfo_new_intarray(1) ;</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="comment">/*find the emission lines in each image column*/</span></div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> sinfo_new_intarray_set_value(sum_pointer, 0, 0);</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> ck0(check = sinfo_new_find_lines(im, </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> wave, </div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> intens, </div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> n_lines, </div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> row_clean, </div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> wavelength_clean, </div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> cfg->guessBeginWavelength, </div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> cfg->guessDispersion1, </div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> cfg->guessDispersion2,</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> cfg->mindiff, </div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> cfg->halfWidth, </div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> n_found_lines, </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> cfg->sigma, </div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> sum_pointer),</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="stringliteral">"sinfo_findLines failed!"</span>);</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="comment">/*---------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="comment"> *-----------------------WAVE_CALIB-------------------------------------</span></div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="comment"> *---------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> sinfo_msg(<span class="stringliteral">"Wave Calibration"</span>);</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> sum = sinfo_new_intarray_get_value(sum_pointer,0);</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="comment">/* allocate memory for the fit parameters */</span></div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> cknull(par = sinfo_new_fit_params( sum ),</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="stringliteral">"sinfo_newFitParams failed!"</span>);</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="comment"> fit each line, make a polynomial fit and fit the resulting fit </span></div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="comment"> coefficients across the columns of the slitlet</span></div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> cknull(map_img = sinfo_new_wave_cal(im, </div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> par, </div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> acoefs,</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> cfg->nslitlets, </div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> row_clean,</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> wavelength_clean,</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> n_found_lines,</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> cfg->guessDispersion1,</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> cfg->halfWidth,</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> cfg->minAmplitude,</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> cfg->maxResidual,</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> cfg->fwhm,</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> cfg->nrDispCoefficients, </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> cfg->nrCoefCoefficients,</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> cfg->sigmaFactor,</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> cfg->pixeldist,</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> cfg->pixel_tolerance),</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="stringliteral">"sinfo_wave_cal failed!"</span>);</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> sinfo_msg(<span class="stringliteral">"Check line positions"</span>);</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> shift=sinfo_new_check_line_positions(im,acoefs,cfg->nrDispCoefficients,</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> cfg->guessDispersion1,par);</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="keywordflow">if</span> (FLAG == shift){ </div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"checkForLinePositions failed!\n"</span>);</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> }</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> sinfo_det_ncounts(raw, cfg->qc_thresh_max, qc);</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> cknull_nomsg(qclog_tbl = sinfo_qclog_init());</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC WAVE ALL"</span>,n_lines,</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="stringliteral">"Number of found lines"</span>,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC WAVE NPIXSAT"</span>,qc->nsat,</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="stringliteral">"Number of saturated pixels"</span>,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC WAVE MAXFLUX"</span>,qc->max_di,</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="stringliteral">"Max int off-lamp subtracted frm"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC WAVE POSERR"</span>,shift,</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="stringliteral">"Overall positioning error in mum"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> ck0(sinfo_pro_save_ima(map_img,ref_set,sof,cfg->outName,</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> PRO_WAVE_MAP,qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="stringliteral">"cannot save ima %s"</span>, cfg->outName);</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> </div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> sinfo_free_image(&map_img);</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="comment"> #store the resulting polynomial fit coefficients in an </span></div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="comment"> ASCII file if wished</span></div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordflow">if</span> (cfg->writeCoeffsInd == 1) {</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> check_nomsg(tbl_wcal = cpl_table_new(lx));</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="keywordflow">for</span> (i=0; i< cfg->nrDispCoefficients; i++) {</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> snprintf(col_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d"</span>,<span class="stringliteral">"coeff"</span>,i);</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> check_nomsg(cpl_table_new_column(tbl_wcal,col_name, CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> }</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> cknull_nomsg(qclog_tbl = sinfo_qclog_init());</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC WAVE ALL"</span>,n_lines,</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="stringliteral">"Number found lines"</span>,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="keywordflow">for</span> (j=0; j< lx; j++) {</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="keywordflow">for</span> (i=0; i< cfg->nrDispCoefficients; i++) {</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> snprintf(col_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d"</span>,<span class="stringliteral">"coeff"</span>,i);</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> a = sinfo_new_array2D_get_value(acoefs, i, j);</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="comment">/* fprintf(acoefs_file, "%15.13g ", a) ; */</span></div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> cpl_table_set_double(tbl_wcal,col_name,j,a);</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> }</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> }</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="keywordflow">for</span> (i=0; i< cfg->nrDispCoefficients; i++) {</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> snprintf(col_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d"</span>,<span class="stringliteral">"coeff"</span>,i);</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> check_nomsg(coef_avg=cpl_table_get_column_mean(tbl_wcal,col_name));</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> check_nomsg(coef_med=cpl_table_get_column_median(tbl_wcal,col_name));</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> </div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> snprintf(key_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%s"</span>,<span class="stringliteral">"QC COEF"</span>,i,<span class="stringliteral">" AVG"</span>);</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,key_name,coef_avg,</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="stringliteral">"Average wavecal Coef"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> snprintf(key_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%s"</span>,<span class="stringliteral">"QC COEF"</span>,i,<span class="stringliteral">" MED"</span>);</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,key_name,coef_med,</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="stringliteral">"Median wavecal Coef"</span>,<span class="stringliteral">"%g"</span>));</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> </div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> }</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="keywordflow">if</span>(pdensity >1) {</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> strcpy(tbl_name,cfg->coeffsName);</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> ck0(sinfo_pro_save_tbl(tbl_wcal,ref_set,sof,tbl_name,</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> PRO_WAVE_COEF_SLIT,qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="stringliteral">"cannot save tbl %s"</span>, tbl_name);</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> sinfo_free_table(&tbl_wcal);</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> }</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> </div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> }</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> </div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="comment"> #store the resulting Gaussian fit parameters in an ASCII file if wished</span></div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="keywordflow">if</span> (cfg->writeParInd == 1) {</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> sinfo_new_dump_fit_params_to_ascii(par,WAVECAL_FIT_PARAMS_OUT_FILEASCII);</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> </div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> cknull(par,<span class="stringliteral">"no fit parameters available!"</span>) ;</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> cknull(cfg->paramsList,<span class="stringliteral">"no filename available!"</span>) ;</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> check_nomsg(tbl_fp = cpl_table_new(par[0] -> n_params));</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> check_nomsg(cpl_table_new_column(tbl_fp,<span class="stringliteral">"n_params"</span>, CPL_TYPE_INT));</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> check_nomsg(cpl_table_new_column(tbl_fp,<span class="stringliteral">"column"</span>, CPL_TYPE_INT));</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> check_nomsg(cpl_table_new_column(tbl_fp,<span class="stringliteral">"line"</span>, CPL_TYPE_INT));</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> </div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="keywordflow">for</span>(j=0;j<4;j++) {</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> snprintf(col,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d"</span>,<span class="stringliteral">"fpar"</span>,j);</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> cpl_table_new_column(tbl_fp,col, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> snprintf(col,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d"</span>,<span class="stringliteral">"dpar"</span>,j);</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> cpl_table_new_column(tbl_fp,col, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> }</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> cknull_nomsg(qclog_tbl = sinfo_qclog_init());</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC NLINES"</span>,n_lines,</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="stringliteral">"Number of found lines"</span>,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> </div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="keywordflow">for</span> ( i = 0 ; i < par[0] -> n_params ; i++ ) {</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> </div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> check_nomsg(cpl_table_set_int(tbl_fp,<span class="stringliteral">"n_params"</span>,i,par[i]->n_params));</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> check_nomsg(cpl_table_set_int(tbl_fp,<span class="stringliteral">"column"</span>,i,par[i]->column));</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> check_nomsg(cpl_table_set_int(tbl_fp,<span class="stringliteral">"line"</span>,i,par[i]->line));</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> </div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="keywordflow">for</span>(j=0;j<4;j++) {</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> snprintf(col,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d"</span>,<span class="stringliteral">"fpar"</span>,j);</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="keywordflow">if</span>(isnan(par[i]->fit_par[j])) {</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> cpl_table_set_invalid(tbl_fp,col,i);</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> cpl_table_set_double(tbl_fp,col,i,par[i]->fit_par[j]);</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> }</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> snprintf(col,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d"</span>,<span class="stringliteral">"dpar"</span>,j);</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="keywordflow">if</span>(isnan(par[i]->derv_par[j])) {</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> cpl_table_set_invalid(tbl_fp,col,i);</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> cpl_table_set_double(tbl_fp,col,i,par[i]->derv_par[j]);</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> }</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> }</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> }</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> </div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> check_nomsg(fwhm_avg = cpl_table_get_column_mean(tbl_fp,<span class="stringliteral">"fpar1"</span>));</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> check_nomsg(fwhm_med = cpl_table_get_column_median(tbl_fp,<span class="stringliteral">"fpar1"</span>));</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC FWHM MED"</span>,fwhm_med,</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="stringliteral">"Median FWHM of found lines"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC FWHM AVG"</span>,fwhm_avg,</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> <span class="stringliteral">"Average FWHM of found lines"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> </div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="keywordflow">if</span>(pdensity > 1) {</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> ck0(sinfo_pro_save_tbl(tbl_fp,ref_set,sof,cfg->paramsList,</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> PRO_WAVE_PAR_LIST,qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> <span class="stringliteral">"cannot save tbl %s"</span>, cfg->paramsList);</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> }</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> </div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> sinfo_free_table(&tbl_fp) ;</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> </div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> }</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> </div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="comment">/* free memory */</span></div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> sinfo_new_destroy_2Dfloatarray ( &wavelength_clean, lx );</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> sinfo_new_destroy_2Dintarray (&row_clean, lx);</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> sinfo_new_destroy_intarray(&n_found_lines );</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> sinfo_new_destroy_intarray(&sum_pointer );</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> sinfo_new_destroy_2Dfloatarray ( &acoefs, cfg->nrDispCoefficients );</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> sinfo_free_table(&tbl_line_list);</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> </div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="comment">/*----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="comment"> *-------------------WAVEMAP--------------------------------------------</span></div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> </div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="comment"> #---now do the cross sinfo_correlation and produce a wavelength map---</span></div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> </div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (cfg->wavemapInd == 1 && cfg->calibIndicator == 0) { </div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> sinfo_msg(<span class="stringliteral">"Wavemap"</span>);</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> acoefs = sinfo_new_2Dfloatarray ( cfg->nrDispCoefficients, lx);</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="comment">/* #read the parameterized dispersion relation */</span></div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> </div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> strcpy(tbl_name,cfg->coeffsName);</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> check_nomsg(tbl_wcal = cpl_table_load(tbl_name,1,0));</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> </div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="keywordflow">for</span> (i =0; i < lx; i++) {</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="keywordflow">for</span> (j = 0; j< cfg->nrDispCoefficients; j++) {</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> snprintf(col_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d"</span>,<span class="stringliteral">"coeff"</span>,j);</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> acoefs[j][i]=cpl_table_get_double(tbl_wcal,col_name,i,status);</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> }</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> }</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> sinfo_free_table(&tbl_wcal);</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> </div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> cknull(map_img = sinfo_new_create_shifted_slit_wavemap2(im,</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> acoefs,</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> cfg->nrDispCoefficients,</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> wave,</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> intens,</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> n_lines,</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> cfg->magFactor,</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> cfg->guessDispersion1,</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> cfg->pixeldist ),</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <span class="stringliteral">"sinfo_createShiftedSlitWavemap2 failed!"</span>);</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> </div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> par = sinfo_new_fit_params(15*n_lines);</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> sinfo_msg(<span class="stringliteral">"Check shifts"</span>);</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> </div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> shift = sinfo_new_check_correlated_line_positions ( im, acoefs, </div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> cfg->nrDispCoefficients, </div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> wave,</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> intens,</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> n_lines,</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> cfg->fwhm,</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> cfg->halfWidth,</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> cfg->minAmplitude,</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> cfg->guessDispersion1,</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> par );</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> </div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="keywordflow">if</span> (FLAG == shift){</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"sinfo_checkCorrelatedLinePositions failed!\n"</span>);</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> }</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> </div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> sinfo_det_ncounts(raw, cfg->qc_thresh_max,qc);</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> cknull_nomsg(qclog_tbl = sinfo_qclog_init());</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> </div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> ck0_nomsg(sinfo_qclog_add_int(qclog_tbl,<span class="stringliteral">"QC NLINES"</span>,n_lines,</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> <span class="stringliteral">"Number of found lines"</span>,<span class="stringliteral">"%d"</span>));</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> </div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> check_nomsg(fwhm_avg = cpl_table_get_column_mean(tbl_fp,<span class="stringliteral">"fpar1"</span>));</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> check_nomsg(fwhm_med = cpl_table_get_column_median(tbl_fp,<span class="stringliteral">"fpar1"</span>));</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> </div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC FWHM MED"</span>,fwhm_med,</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="stringliteral">"Median FWHM of found lines"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> ck0_nomsg(sinfo_qclog_add_double(qclog_tbl,<span class="stringliteral">"QC FWHM AVG"</span>,fwhm_avg,</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <span class="stringliteral">"Average FWHM of found lines"</span>,<span class="stringliteral">"%f"</span>));</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> </div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> ck0(sinfo_pro_save_ima(map_img,ref_set,sof,cfg->outName,</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> PRO_WAVE_MAP,qclog_tbl,plugin_id,config),</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="stringliteral">"cannot save ima %s"</span>, cfg->outName);</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> </div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> sinfo_free_image(&map_img);</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> </div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> <span class="comment">/* # ---free memory--- */</span></div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> sinfo_new_destroy_2Dfloatarray ( &acoefs, cfg->nrDispCoefficients );</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="comment">/* To fix a memory bug we comment the following. But check! */</span></div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="comment">/* cpl_free ( wave ); */</span></div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> <span class="comment">/* cpl_free ( intens ); */</span></div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> </div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (cfg->wavemapInd == 1 && cfg->calibIndicator == 1) {</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"give either wavemapIndicator = yes and calibIndicator"</span>);</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"= no or wavemapIndicator = no and calibIndicator = yes"</span>) ;</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> }</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> </div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="comment">/*-------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <span class="comment"> *-------------------SLITFITS----------------------------------------</span></div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> <span class="comment"> *-------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> <span class="comment"> #--fit the slitlet sinfo_edge positions if desired--</span></div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> <span class="keywordflow">if</span> (cfg->slitposIndicator == 1) {</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> sinfo_msg(<span class="stringliteral">"fit the slitlet sinfo_edge positions"</span>);</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="keywordflow">if</span> (cfg->calibIndicator != 1 && cfg->estimateIndicator != 1) {</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> </div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="comment"> #read the first integer to determine the number of fit </span></div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="comment"> parameters to allocate</span></div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> </div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(cfg->paramsList) !=1 ) {</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot read FITS file %s "</span>,cfg->paramsList);</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> }</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> strcpy(tbl_fitpar_name,cfg->paramsList);</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> check_nomsg(tbl_fitpar = cpl_table_load(tbl_fitpar_name,1,0));</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> </div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> check_nomsg(readsum=cpl_table_get_int(tbl_fitpar,<span class="stringliteral">"n_params"</span>,1,status));</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> sinfo_free_table(&tbl_fitpar);</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> </div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> cknull(sinfo_new_fit_params( readsum ),<span class="stringliteral">"sinfo_new_fit_params failed!"</span>);</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> </div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> ck0(sinfo_dumpTblToFitParams(par, cfg->paramsList),</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="stringliteral">"reading tbl %s "</span>, cfg->paramsList);</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> }</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> </div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> <span class="comment">/* #allocate memory for the slitlet position array */</span></div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> sinfo_slit_pos = sinfo_new_2Dfloatarray(32,2);</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> <span class="comment">/* #now decide which fit model function you want to use by </span></div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> <span class="comment"> reading a given character</span></div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> <span class="comment"> sinfo_msg("cfg->fitBoltzIndicator=%d\n",cfg->fitBoltzIndicator);</span></div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> <span class="comment"> sinfo_msg("cfg->estimateIndicator=%d\n",cfg->estimateIndicator);</span></div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="comment"> sinfo_msg("cfg->fitEdgeIndicator=%d\n",cfg->fitEdgeIndicator);</span></div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> <span class="keywordflow">if</span> (cfg->fitBoltzIndicator == 1) {</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> <span class="keywordflow">if</span> (cfg->estimateIndicator == 1) {</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="comment">/* #open the ASCII list of the slitlet positions--- */</span></div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="comment">/*READ TFITS TABLE*/</span></div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> strcpy(tbl_slitpos_guess_name,cfg->slitposGuessName);</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> check_nomsg(tbl_slitpos_guess=cpl_table_load(tbl_slitpos_guess_name,1,0));</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> check_nomsg(n = cpl_table_get_nrow(tbl_slitpos_guess));</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> </div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="keywordflow">for</span> (i =0 ; i< 32; i++){</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> val_x=cpl_table_get_double(tbl_slitpos_guess,<span class="stringliteral">"pos1"</span>,i,status);</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> val_y=cpl_table_get_double(tbl_slitpos_guess,<span class="stringliteral">"pos2"</span>,i,status);</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> sinfo_new_array2D_set_value(sinfo_slit_pos,val_x,i,0);</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> sinfo_new_array2D_set_value(sinfo_slit_pos,val_y,i,1);</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> }</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> sinfo_free_table(&tbl_slitpos_guess);</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> </div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> sinfo_msg(<span class="stringliteral">"sinfo_new_fit_slits_boltz_with_estimate"</span>);</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> fit = <a class="code" href="group__sinfo__boltzmann.html#ga1851d695a240ae0d23d20657f02867bb" title="its the beginning and end position of the slitlets by using non-linear least square fitting of a Bolt...">sinfo_new_fit_slits_boltz_with_estimate</a>(im, </div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> sinfo_slit_pos, </div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> cfg->boxLength, </div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> cfg->yBox, </div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> cfg->diffTol, </div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> cfg->loPos, </div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> cfg->hiPos );</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> <span class="keywordflow">if</span> (fit < 0){</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"sinfo_new_fit_slits_boltz_with_estimate failed"</span> );</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> }</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> sinfo_msg(<span class="stringliteral">"sinfo_new_fit_slits_boltz"</span>);</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> fit = <a class="code" href="group__sinfo__boltzmann.html#gab3549f7bb876fb4091ba3c0bd64d267d" title="fits the beginning and end position of the slitlets by using non-linear least square fitting of a Bol...">sinfo_new_fit_slits_boltz</a>(im, </div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> par, </div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> sinfo_slit_pos, </div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> cfg->boxLength, </div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> cfg->yBox, </div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> cfg->diffTol );</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> </div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> <span class="keywordflow">if</span> (fit < 0) {</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> ( <span class="stringliteral">"sinfo_new_fit_slits_boltz failed"</span> );</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> }</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> }</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (cfg->fitEdgeIndicator == 1) {</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> </div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> <span class="keywordflow">if</span> (cfg->estimateIndicator == 1){</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> <span class="comment">/*READ TFITS TABLE*/</span></div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> strcpy(tbl_slitpos_guess_name,cfg->slitposGuessName);</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> check_nomsg(tbl_slitpos_guess=cpl_table_load(tbl_slitpos_guess_name,1,0));</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> check_nomsg(n = cpl_table_get_nrow(tbl_slitpos_guess));</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> </div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> <span class="keywordflow">for</span> (i =0 ; i< 32; i++){</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> val_x=cpl_table_get_double(tbl_slitpos_guess,<span class="stringliteral">"pos1"</span>,i,status);</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> val_y=cpl_table_get_double(tbl_slitpos_guess,<span class="stringliteral">"pos2"</span>,i,status);</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> sinfo_new_array2D_set_value(sinfo_slit_pos,val_x,i,0);</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> sinfo_new_array2D_set_value(sinfo_slit_pos,val_y,i,1);</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> }</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> cpl_table_delete(tbl_slitpos_guess);</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> </div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> sinfo_msg(<span class="stringliteral">"sinfo_new_fit_slits_edge_with_estimate"</span>);</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> fit = sinfo_new_fit_slits_edge_with_estimate(im, </div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> sinfo_slit_pos,</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> cfg->boxLength, </div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> cfg->yBox, </div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> cfg->diffTol, </div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> cfg->loPos, </div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> cfg->hiPos );</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> <span class="keywordflow">if</span> (fit < 0) {</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"sinfo_new_fit_slits_boltz failed"</span> );</div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> }</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> sinfo_msg(<span class="stringliteral">"sinfo_new_fit_slits_edge"</span>);</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> fit = sinfo_new_fit_slits_edge(im, </div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> par, </div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> sinfo_slit_pos, </div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> cfg->boxLength, </div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> cfg->yBox, </div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> cfg->diffTol );</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> <span class="keywordflow">if</span> (fit < 0) {</div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"sinfo_new_fit_slits_edge failed"</span> );</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> }</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> }</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no indication of desired fit function given"</span> );</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> }</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> sinfo_free_image(&im);</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> </div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> <span class="comment">/* #store the resulting sitlet positions in an TFITS table */</span></div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> check_nomsg(tbl_spos = cpl_table_new(32));</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> check_nomsg(cpl_table_new_column(tbl_spos,<span class="stringliteral">"pos1"</span>, CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> check_nomsg(cpl_table_new_column(tbl_spos,<span class="stringliteral">"pos2"</span>, CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> check_nomsg(cpl_table_set_column_format(tbl_spos,<span class="stringliteral">"pos1"</span>, <span class="stringliteral">"15.9f"</span>));</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> check_nomsg(cpl_table_set_column_format(tbl_spos,<span class="stringliteral">"pos2"</span>, <span class="stringliteral">"15.9f"</span>));</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> </div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> <span class="keywordflow">for</span> (i =0; i< 32; i++) {</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> cpl_table_set_double(tbl_spos,<span class="stringliteral">"pos1"</span>,i,</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> sinfo_new_array2D_get_value(sinfo_slit_pos,i,0));</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> cpl_table_set_double(tbl_spos,<span class="stringliteral">"pos2"</span>,i,</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> sinfo_new_array2D_get_value(sinfo_slit_pos,i,1));</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> </div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> }</div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> <span class="keywordflow">if</span>(sw == 1) {</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> strcpy(tbl_name,<span class="stringliteral">"out_slitpos_guess.fits"</span>);</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> ck0(sinfo_pro_save_tbl(tbl_spos,ref_set,sof,tbl_name,</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> PRO_SLIT_POS_GUESS,NULL,plugin_id,config),</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> <span class="stringliteral">"cannot save tbl %s"</span>, tbl_name);</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> strcpy(tbl_name,cfg->slitposName);</div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> ck0(sinfo_pro_save_tbl(tbl_spos,ref_set,sof,tbl_name,</div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> PRO_SLIT_POS,NULL,plugin_id,config),</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> <span class="stringliteral">"cannot save tbl %s"</span>, tbl_name);</div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> }</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> sinfo_free_table(&tbl_spos);</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> sinfo_new_destroy_2Dfloatarray ( &sinfo_slit_pos, 32 );</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> }</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> </div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> <span class="keywordflow">if</span> ( (cfg->slitposIndicator == 1 && cfg->estimateIndicator != 1) || </div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> (cfg->calibIndicator == 1) || (cfg->wavemapInd == 1) ){</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> sinfo_new_destroy_fit_params(&par);</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> }</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> </div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> </div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> </div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> </div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> </div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> <span class="keywordflow">if</span>(pdensity > 1) {</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> check_nomsg(sinfo_image_resample(plugin_id,config,sof,ref_set));</div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> </div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> </div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> }</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> sinfo_free_frameset(&raw);</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> sinfo_qc_wcal_delete(&qc);</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> sinfo_wavecal_free(&cfg);</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> </div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> </div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> cleanup:</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> sinfo_free_image(&map_img);</div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> <span class="comment">//sinfo_free_image(&wstk_img);</span></div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> sinfo_free_table(&tbl_spos);</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> sinfo_free_table(&tbl_fitpar);</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> sinfo_free_image(&map_img);</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> sinfo_free_table(&tbl_wcal);</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> sinfo_free_table(&tbl_fp) ;</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> sinfo_free_table(&tbl_line_list);</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> sinfo_free_table(&tbl_wcal);</div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> sinfo_free_table(&qclog_tbl);</div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> sinfo_free_image(&map_img);</div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> sinfo_new_destroy_fit_params(&par);</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> sinfo_new_destroy_2Dfloatarray ( &sinfo_slit_pos, 32 );</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> sinfo_new_destroy_2Dfloatarray ( &wavelength_clean, lx );</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> sinfo_new_destroy_2Dintarray (&row_clean, lx);</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> sinfo_new_destroy_intarray(&n_found_lines );</div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> sinfo_new_destroy_intarray(&sum_pointer );</div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> <span class="keywordflow">if</span>(acoefs!=NULL) {</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> sinfo_new_destroy_2Dfloatarray(&acoefs,cfg->nrDispCoefficients);</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> }</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> sinfo_free_table(&tbl_line_list);</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> sinfo_free_image(&im);</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> sinfo_wavecal_free(&cfg);</div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> sinfo_free_frameset(&raw);</div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> sinfo_qc_wcal_delete(&qc);</div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> </div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> }</div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> </div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> </div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> </div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> </div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> </div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> </div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> </div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> </div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> </div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> </div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> </div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> </div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> <span class="keyword">static</span> cpl_error_code</div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> sinfo_image_resample(<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id,</div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> cpl_parameterlist* config,</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> cpl_frameset* sof,</div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> cpl_frameset* ref_set)</div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> {</div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> <span class="comment">//RESAMPLE ThAr frame for QC</span></div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> <span class="keywordtype">double</span> dis=0;</div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> <span class="keywordtype">float</span> mi=0;</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> <span class="keywordtype">float</span> ma=0;</div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> <span class="keywordtype">double</span> cwav=0;</div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> <span class="keywordtype">int</span> cpix=0;</div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> <span class="keyword">const</span> cpl_frame* frm=NULL;</div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> <span class="keywordtype">char</span> wstk_name[80];</div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> <span class="keywordtype">char</span> map_name[80];</div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> cpl_image* res_ima=NULL;</div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> <span class="keywordtype">int</span> ncoeffs=3;</div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> <span class="keywordtype">int</span> nrows=SINFO_RESAMP_NROWS;</div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> cpl_parameter* p=NULL;</div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> cpl_image* wstk_img=NULL;</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> cpl_image* map_img=NULL;</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> </div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> check_nomsg(p = cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> <span class="stringliteral">"sinfoni.wavecal.n_coeffs"</span>));</div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> </div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> check_nomsg(ncoeffs=cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> </div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> check_nomsg(frm=cpl_frameset_find_const(sof,PRO_WAVE_LAMP_STACKED));</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> check_nomsg(strcpy(wstk_name,cpl_frame_get_filename(frm)));</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> check_nomsg(wstk_img=cpl_image_load(wstk_name,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> </div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> </div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> </div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> check_nomsg(frm=cpl_frameset_find_const(sof,PRO_WAVE_MAP));</div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> check_nomsg(strcpy(map_name,cpl_frame_get_filename(frm)));</div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> check_nomsg(map_img=cpl_image_load(map_name,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> </div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> </div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> </div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> cknull(res_ima = sinfo_new_defined_resampling(wstk_img, </div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> map_img, </div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> ncoeffs,</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> &nrows,</div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> &dis,</div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> &mi,</div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> &ma,</div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> &cwav,</div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> &cpix),</div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> <span class="stringliteral">" sinfo_definedResampling() failed"</span> ) ;</div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> </div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> </div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> </div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> ck0(sinfo_pro_save_ima(res_ima,ref_set,sof,WAVECAL_RESAMPLED_OUT_FILENAME,</div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> PRO_RESAMPLED_WAVE,NULL,plugin_id,config),</div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> <span class="stringliteral">"cannot save ima %s"</span>,WAVECAL_RESAMPLED_OUT_FILENAME);</div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> </div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> </div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> cleanup:</div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> </div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> sinfo_free_image(&map_img);</div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> sinfo_free_image(&res_ima);</div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> sinfo_free_image(&wstk_img);</div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> </div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> </div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__new__wave__cal__slit2_8h_source.html b/html/sinfo__new__wave__cal__slit2_8h_source.html
deleted file mode 100644
index e3ab005..0000000
--- a/html/sinfo__new__wave__cal__slit2_8h_source.html
+++ /dev/null
@@ -1,180 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_new_wave_cal_slit2.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_new_wave_cal_slit2.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_NEW_WAVE_CAL_SLIT2_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_NEW_WAVE_CAL_SLIT2_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/****************************************************************************</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* "@(#) $Id: sinfo_new_wave_cal_slit2.h,v 1.7 2007/09/21 14:13:43 amodigli Exp $"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* amodigli 17/09/03 created</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * sinfo_new_wave_cal_slit2.h</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> Normal method:</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> does the wavelength calibration and the fitting of the slitlet sinfo_edge </span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> positions (ASCII file 32 x 2 values) if wished</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> produces an array of the bcoefs and of the fit parameters if wished and a </span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> wavelength calibration map input is an emission line frame and a line list</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> o searching for lines by cross sinfo_correlation with a line list</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> o Gaussian fitting of emission lines in each column->positions of the lines-></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> resulting fit parameters can be stored in an ASCII file</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> o Fitting of a polynomial to the line positions for each column</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> o Smoothing: fitting of each polynomial coefficient by another polynomial</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> across the whole frame -> resulting polynomial coefficients can be stored </span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> in an ASCII file.</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> o Wavelength calibration map (micron value for each frame pixel) can be</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> produced by using these coefficients and a cross sinfo_correlation to the</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> original frame</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> o The slitlet sinfo_edge positions can be fitted:</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> 1) Automatically (not really stable) or by using guess sinfo_edge positions</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> 2) By using a Boltzmann or a linear slope function</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> Slit method:</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> does the wavelength calibration and the fitting of the slitlet sinfo_edge </span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> positions (ASCII file 32 x 2 values) if wished produces a list of the fit </span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> parameters and of the smoothed coefficients if wished and a wavelength </span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> calibration map input is an emission line frame and a line list</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"></span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> o Does the same as other method but smoothes the found polynomial </span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> coefficients within each slitlet and not over the whole frame.</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"></span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> o Produces always a wavelength calibration map and does not crosscorrelate.</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"></span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> * Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> Function : sinfo_new_wave_cal_slit2()</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> In : ini_file: file name of according .ini file</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> Out : integer (0 if it worked, -1 if it doesn't) </span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"> Job :</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"></span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"></span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"> Normal method:</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"></span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> does the wavelength calibration and the fitting of the slitlet sinfo_edge </span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"> positions (ASCII file 32 x 2 values) if wished</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> produces an array of the bcoefs and of the fit parameters if wished and a </span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> wavelength calibration map input is an emission line frame and a line list</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"></span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment"></span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment"> o searching for lines by cross sinfo_correlation with a line list</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"> o Gaussian fitting of emission lines in each column->positions of the lines-></span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"> resulting fit parameters can be stored in an ASCII file</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment"> o Fitting of a polynomial to the line positions for each column</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"> o Smoothing: fitting of each polynomial coefficient by another polynomial</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"> across the whole frame -> resulting polynomial coefficients can be stored </span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment"> in an ASCII file.</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment"> o Wavelength calibration map (micron value for each frame pixel) can be</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment"> produced by using these coefficients and a cross sinfo_correlation to the</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment"> original frame</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment"></span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment"> o The slitlet sinfo_edge positions can be fitted:</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"> 1) Automatically (not really stable) or by using guess sinfo_edge positions</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment"> 2) By using a Boltzmann or a linear slope function</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment"></span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment"> Slit method:</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment"></span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"> does the wavelength calibration and the fitting of the slitlet sinfo_edge </span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment"> positions (ASCII file 32 x 2 values) if wished produces a list of the fit </span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment"> parameters and of the smoothed coefficients if wished and a wavelength </span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"> calibration map input is an emission line frame and a line list</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment"></span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment"> o Does the same as other method but smoothes the found polynomial </span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment"> coefficients within each slitlet and not over the whole frame.</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment"></span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment"> o Produces always a wavelength calibration map and does not crosscorrelate.</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> sinfo_new_wave_cal_slit2 (<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id,</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> cpl_parameterlist* config, </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> cpl_frameset* sof,cpl_frameset* ref_set) ;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="preprocessor">#endif </span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__north__south__test__config_8c_source.html b/html/sinfo__north__south__test__config_8c_source.html
deleted file mode 100644
index bb00238..0000000
--- a/html/sinfo__north__south__test__config_8c_source.html
+++ /dev/null
@@ -1,195 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_north_south_test_config.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_north_south_test_config.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_north_south_test_config.c,v 1.5 2012/03/03 09:50:08 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2012/03/03 09:50:08 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.5 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * North_South_Test Frames Data Reduction Parameter Initialization *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span><span class="preprocessor">#include "sinfo_north_south_test_config.h"</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> sinfo_north_south_test_config_add(cpl_parameterlist *list)</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> {</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> cpl_parameter *p;</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordflow">if</span> (!list) {</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> }</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">/* Clean Mean */</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.north_south_test.low_rejection"</span>,</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="stringliteral">"lower rejection: "</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="stringliteral">"percentage of rejected low intensity pixels "</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="stringliteral">"before averaging"</span>,</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="stringliteral">"sinfoni.north_south_test"</span>,</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> 0.1,0.0,1.0);</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"ns-lo_rej"</span>);</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.north_south_test.high_rejection"</span>,</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="stringliteral">"higher rejection: "</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="stringliteral">"percentage of rejected high intensity pixels "</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="stringliteral">"before averaging"</span>,</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="stringliteral">"sinfoni.north_south_test"</span>,</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> 0.1,0.0,1.0);</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"ns-hi_rej"</span>);</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.north_south_test.mask_ind"</span>,</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="stringliteral">"Mask Index: "</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="stringliteral">"indicator if a bad pixel mask is applied or not"</span>,</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="stringliteral">"sinfoni.north_south_test"</span>,</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> FALSE);</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"ns-mask_ind"</span>);</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment">/* Gauss Convolution */</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.north_south_test.gauss_ind"</span>,</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="stringliteral">"Gauss Index: "</span>,</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="stringliteral">"sinfoni.north_south_test"</span>,</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> FALSE);</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"ns-gauss_ind"</span>);</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.north_south_test.kernel_half_width"</span>,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="stringliteral">"Kernel Half Width "</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="stringliteral">"kernel half width of the Gaussian "</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="stringliteral">"response function"</span>,</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="stringliteral">"sinfoni.north_south_test"</span>,</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> 2);</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> cpl_parameter_set_alias(p,CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"ns-khw"</span>);</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment">/* North South Test */</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.north_south_test.half_width"</span>,</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="stringliteral">"Half Width"</span>,</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="stringliteral">"sinfoni.north_south_test"</span>,</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> 4);</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"ns-hw"</span>);</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.north_south_test.fwhm"</span>,</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="stringliteral">"FWHM"</span>,</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="stringliteral">"sinfoni.north_south_test"</span>,</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> 2.);</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"ns-fwhm"</span>);</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.north_south_test.min_diff"</span>,</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="stringliteral">"Minimum of Difference"</span>,</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="stringliteral">"sinfoni.north_south_test"</span>,</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> 1.);</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"ns-min_diff"</span>);</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.north_south_test.dev_tol"</span>,</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="stringliteral">"Dev Tol"</span>,</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="stringliteral">"sinfoni.north_south_test"</span>,</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> 20.);</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"ns-dev_tol"</span>);</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__north__south__test__config_8h_source.html b/html/sinfo__north__south__test__config_8h_source.html
deleted file mode 100644
index fcfcd2d..0000000
--- a/html/sinfo__north__south__test__config_8h_source.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_north_south_test_config.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_north_south_test_config.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_north_south_test_config.h,v 1.1 2006/10/20 08:06:32 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2006/10/20 08:06:32 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * North_South_Test Frames Data Reduction Parameter Initialization *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include "cpl.h"</span> <span class="comment">/* defines parlist structure */</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> sinfo_north_south_test_config_add(cpl_parameterlist *list);</div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__ns__cfg_8c_source.html b/html/sinfo__ns__cfg_8c_source.html
deleted file mode 100644
index 7443ba8..0000000
--- a/html/sinfo__ns__cfg_8c_source.html
+++ /dev/null
@@ -1,121 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_ns_cfg.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_ns_cfg.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> File name : sinfo_ns_cfg.c</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Created on : November 2001</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> Description : configuration handling tools for the north-south test</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"></span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_ns_cfg.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> Function : sinfo_ns_cfg_create()</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> In : void</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> Out : pointer to allocated base ns_config structure</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> Job : allocate memory for a ns_config struct</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> Notice : only the main (base) structure is allocated</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> ns_config * sinfo_ns_cfg_create(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> {</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordflow">return</span> cpl_calloc(1, <span class="keyword">sizeof</span>(ns_config));</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> }</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> Function : sinfo_ns_cfg_destroy()</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> In : ns_config to deallocate</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> Out : void</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> Job : deallocate all memory associated with a ns_config data structure</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> Notice : </span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">void</span> sinfo_ns_cfg_destroy(ns_config * nc)</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> {</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordflow">if</span> (nc==NULL) return ;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">/*cpl_free(nc->frametype);*/</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">/* Free main struct */</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> cpl_free(nc);</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> return ;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> }</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__ns__cfg_8h_source.html b/html/sinfo__ns__cfg_8h_source.html
deleted file mode 100644
index 434cb12..0000000
--- a/html/sinfo__ns__cfg_8h_source.html
+++ /dev/null
@@ -1,151 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_ns_cfg.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_ns_cfg.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_ns_cfg.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : November 2001</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : ns_ini definitions + handling prototypes</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifndef SINFO_NS_CFG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_NS_CFG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <stdlib.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> New types</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> data cube creation blackboard container</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> This structure holds all information related to the cube creation</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> routine. It is used as a container for the flux of ancillary data,</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> computed values, and algorithm status. Pixel flux is separated from</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> the blackboard.</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>ns_config {</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">/*-------General---------*/</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">char</span> inList[FILE_NAME_SZ] ; <span class="comment">/* name of the input file list </span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> containing the on and off-frames */</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">char</span> outName[FILE_NAME_SZ] ; <span class="comment">/* output name of the ASCII list </span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> containing the determined distances */</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">char</span> ** framelist ; <span class="comment">/* list of frames */</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">int</span> * frametype ; <span class="comment">/* list of frame types on or off */</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">int</span> nframes ; <span class="comment">/* number of frames in frame list */</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">int</span> nobj ; <span class="comment">/* number of object frames in frame list */</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordtype">int</span> noff ; <span class="comment">/* number of off frames in frame list */</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">/*------ CleanMean ------*/</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">/* percentage of rejected low intensity pixels */</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">float</span> loReject ;</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">/* percentage of rejected high intensity pixels */</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">float</span> hiReject ;</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">/* indicator if a bad pixel mask is applied or not */</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">int</span> maskInd ;</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">/* file name of the bad pixel mask fits file */</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">char</span> mask[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">/*------ GaussConvolution ------*/</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">/* indicator if Gaussian convolution is applied or not */</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">int</span> gaussInd ;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">/* kernel half width of the Gaussian response function */</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">int</span> hw ;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">/*------ NorthSouthTest ------*/</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/* name of the averaged output fits frame */</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">char</span> fitsname[FILE_NAME_SZ] ; </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/* number of slitlets */</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">int</span> nslits ; </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">/* pixel half width of a box within which the spatial profile </span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> is fitted by a Gaussian */</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">int</span> halfWidth ;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">/* first guess of the fwhm of the Gaussian fit function */</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keywordtype">float</span> fwhm ;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment">/* minimum amplitude above which the fit is carried out */</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">float</span> minDiff ;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment">/* estimated average distance of spectra */</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordtype">float</span> estimated_dist ;</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">/* maximal pixel tolerance of the slitlet distances */</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">float</span> devtol ;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> } ns_config ;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment"> Function prototypes</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> ns_config * </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> sinfo_ns_cfg_create(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> sinfo_ns_cfg_destroy(ns_config * nc);</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__ns__ini_8h_source.html b/html/sinfo__ns__ini_8h_source.html
deleted file mode 100644
index 51934c8..0000000
--- a/html/sinfo__ns__ini_8h_source.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_ns_ini.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_ns_ini.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_ns_ini.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Nov 29, 2001</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : ini file handling for the north-south-test, that means</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> the determination of the distances of the slitlets to </span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> each other.</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef SINFO_NS_INI_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_NS_INI_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_ns_cfg.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#define FRAME_ON 1 </span><span class="comment">/* object frames */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor"></span><span class="preprocessor">#define FRAME_OFF 0 </span><span class="comment">/* off frames */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor"></span><span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">int</span> generateNS_ini_file(</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">char</span> * ini_name,</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">char</span> * name_i,</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordtype">char</span> * name_o</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> );</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> ns_config * parse_ns_ini_file(<span class="keywordtype">char</span> * ini_name) ;</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__ns__ini__by__cpl_8c_source.html b/html/sinfo__ns__ini__by__cpl_8c_source.html
deleted file mode 100644
index 6df9b1b..0000000
--- a/html/sinfo__ns__ini__by__cpl_8c_source.html
+++ /dev/null
@@ -1,391 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_ns_ini_by_cpl.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_ns_ini_by_cpl.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> File name : sinfo_ns_ini_by_cpl.c</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Created on : May 19, 2003</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> Description : cpl input handling for the north-south test</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"></span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_ns_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_hidden.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_file_handling.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> Functions private to this module</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keywordtype">void</span> sinfo_ns_free_alloc(ns_config * cfg);</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> parse_section_frames (ns_config *,cpl_parameterlist* cpl_cfg,cpl_frameset* sof,</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> cpl_frameset** raw, <span class="keywordtype">int</span>* status);</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> parse_section_cleanmean (ns_config *,cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> parse_section_gaussconvolution (ns_config *,cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> parse_section_northsouthtest(ns_config *,cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">/* removed generateNS_ini_file */</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> ns_config * </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> sinfo_parse_cpl_input_ns(cpl_parameterlist * cpl_cfg, cpl_frameset* sof, </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> cpl_frameset** raw)</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> {</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> ns_config * cfg = sinfo_ns_cfg_create();</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordtype">int</span> status=0;</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"> * Perform sanity checks, fill up the structure with what was</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> * found in the ini file</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> parse_section_cleanmean (cfg,cpl_cfg);</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> parse_section_gaussconvolution (cfg,cpl_cfg);</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> parse_section_northsouthtest (cfg,cpl_cfg);</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> parse_section_frames (cfg,cpl_cfg,sof,raw,&status);</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keywordflow">if</span> (status > 0) {</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"parsing cpl input"</span>);</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> sinfo_ns_cfg_destroy(cfg);</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> cfg = NULL ;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> }</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordflow">return</span> cfg ;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> }</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> parse_section_frames(ns_config * cfg,</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> cpl_parameterlist * cpl_cfg,</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> cpl_frameset * sof,</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> cpl_frameset ** raw,</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">int</span>* status)</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> {</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">int</span> nobj ;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">int</span> noff ;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">int</span> nraw=0;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">char</span>* tag;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> cpl_frame* frame = NULL;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> cpl_parameter *p; </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordtype">char</span> spat_res[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keywordtype">char</span> lamp_status[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">char</span> band[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordtype">int</span> ins_set=0;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> nstpar* nstp=sinfo_nstpar_new();</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> sinfo_extract_raw_frames_type(sof,raw,PRO_FIBRE_NS_STACKED_DIST);</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> nraw = cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordflow">if</span>(nraw == 0) {</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"No input raw frames"</span>);</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> sinfo_nstpar_delete(nstp);</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> (*status)++;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> }</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment">/* Allocate structures to go into the blackboard */</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> cfg->framelist = cpl_malloc(nraw * <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>*));</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> cfg->frametype = cpl_malloc(nraw * <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>));</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment">/* Browse through the charmatrix to get names and file types */</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> i=0 ;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> nobj = 0 ;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> noff = 0 ;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keywordflow">for</span> (i=0 ; i<nraw ; i++) {</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> frame = cpl_frameset_get_frame(*raw,i);</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">if</span>(sinfo_file_exists((<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame))==1) </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> {</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment">/* to go on the file must exist */</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> tag=(<span class="keywordtype">char</span>*) cpl_frame_get_tag(frame);</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keywordflow">if</span>(cpl_frame_get_tag(frame) != NULL) {</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment">/* If the frame has a tag we process it. Else it is an object */</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordflow">if</span>((sinfo_frame_is_on(frame) == 0)) </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> {</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> cfg->framelist[i]=(<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> cfg->frametype[i] = FRAME_OFF ;</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> noff++;</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> }</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span>(sinfo_is_sky_flat(tag))</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> {</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> cfg->framelist[i]=(<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> cfg->frametype[i] = FRAME_OFF ;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> noff++;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> }</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span>((sinfo_frame_is_on(frame) == 1)) </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> {</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> cfg->framelist[i]=(<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> cfg->frametype[i] = FRAME_ON ;</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> nobj++;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> }</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> {</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment">/* without label the frame is assumed on */</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> cfg->framelist[i]=(<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> cfg->frametype[i] = FRAME_ON ;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> nobj++;</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> }</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> }</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> {</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment">/* without label the frame is assumed on */</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> cfg->framelist[i]=(<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> cfg->frametype[i] = FRAME_ON ;</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> nobj++;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> }</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment">/* Store file name into framelist */</span></div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> }</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"file %s does not exist"</span>,</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> }</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> }</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keywordflow">if</span>((noff == 0) && (nobj == 0)) {</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Wrong input frames"</span>);</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> sinfo_nstpar_delete(nstp);</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> sinfo_ns_free_alloc(cfg);</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> (*status)++;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> }</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="comment">/* Copy relevant information into the blackboard */</span></div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> cfg->nframes = nraw ;</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> cfg->nobj = nobj ;</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> cfg->noff = noff ;</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> strcpy(cfg -> outName, NS_TEST_DISTANCES_OUT_FILENAME);</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> frame = cpl_frameset_get_frame(*raw,0);</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> sinfo_get_spatial_res(frame,spat_res);</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keywordflow">switch</span>(sinfo_frame_is_on(frame)) </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> {</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keywordflow">case</span> 0: </div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> strcpy(lamp_status,<span class="stringliteral">"on"</span>);</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordflow">case</span> 1: </div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> strcpy(lamp_status,<span class="stringliteral">"off"</span>);</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keywordflow">case</span> -1:</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordflow">default</span>: </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> }</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> sinfo_get_band(frame,band);</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> sinfo_msg(<span class="stringliteral">"Spatial resolution: %s lamp_status: %s band: %s \n"</span>,</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> spat_res, lamp_status, band);</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> sinfo_get_ins_set(band,&ins_set);</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.north_south_test.fwhm"</span>);</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keywordflow">if</span>(cpl_parameter_get_double(p) != cpl_parameter_get_default_double(p)) {</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> cfg -> fwhm = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> cfg -> fwhm = nstp->fwhm[ins_set];</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> }</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.north_south_test.min_diff"</span>);</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keywordflow">if</span>(cpl_parameter_get_double(p) != cpl_parameter_get_default_double(p)) {</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> cfg -> minDiff = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> cfg -> minDiff = nstp->min_dif[ins_set];</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> }</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> sinfo_nstpar_delete(nstp);</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="keywordflow">if</span>(cfg -> maskInd) {</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_BP_MAP_DI)) {</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> frame = cpl_frameset_find(sof,PRO_BP_MAP_DI);</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> strcpy(cfg -> mask,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame %s not found! Exit!"</span>, PRO_BP_MAP_DI);</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> sinfo_ns_free_alloc(cfg);</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> (*status)++;</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> }</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> }</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> return ;</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> }</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> parse_section_cleanmean(ns_config * cfg,cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> {</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> cpl_parameter *p; </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> p = cpl_parameterlist_find(cpl_cfg, </div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="stringliteral">"sinfoni.north_south_test.low_rejection"</span>);</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> cfg -> loReject = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> </div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> p = cpl_parameterlist_find(cpl_cfg, </div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="stringliteral">"sinfoni.north_south_test.high_rejection"</span>);</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> cfg -> hiReject = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.north_south_test.mask_ind"</span>);</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> cfg -> maskInd = cpl_parameter_get_bool(p);</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> return ;</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> }</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> parse_section_gaussconvolution(ns_config * cfg,cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> {</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> cpl_parameter *p; </div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.north_south_test.gauss_ind"</span>);</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> cfg -> gaussInd = cpl_parameter_get_bool(p);</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> p = cpl_parameterlist_find(cpl_cfg, </div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="stringliteral">"sinfoni.north_south_test.kernel_half_width"</span>);</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> cfg -> hw = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> }</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> </div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> parse_section_northsouthtest(ns_config * cfg,cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> {</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> cpl_parameter *p; </div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> strcat(cfg -> fitsname, NS_TEST_OUT_FILENAME);</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> cfg -> nslits = NSLITLETS;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> </div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.north_south_test.half_width"</span>);</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> cfg -> halfWidth = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.north_south_test.fwhm"</span>);</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> cfg -> fwhm = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.north_south_test.min_diff"</span>);</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> cfg -> minDiff = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> cfg -> estimated_dist = ESTIMATED_SLITLETS_DISTANCE;</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.north_south_test.dev_tol"</span>);</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> cfg -> devtol = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> return ;</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> }</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> sinfo_ns_free(ns_config ** cfg)</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> { </div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="keywordflow">if</span>(*cfg!=NULL) { </div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> sinfo_ns_free_alloc(*cfg);</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> sinfo_ns_cfg_destroy(*cfg);</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> *cfg=NULL;</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> } </div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> </div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> }</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> sinfo_ns_free_alloc(ns_config * cfg)</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> {</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="keywordflow">if</span>(cfg->framelist != NULL) {</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> cpl_free(cfg->framelist);</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> cfg->framelist=NULL;</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> }</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="keywordflow">if</span>(cfg->frametype != NULL) {</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> cpl_free(cfg->frametype);</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> cfg->frametype=NULL;</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> }</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> </div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> </div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__ns__ini__by__cpl_8h_source.html b/html/sinfo__ns__ini__by__cpl_8h_source.html
deleted file mode 100644
index 9f4b74a..0000000
--- a/html/sinfo__ns__ini__by__cpl_8h_source.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_ns_ini_by_cpl.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_ns_ini_by_cpl.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_ns_ini.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : May 19, 2004</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : parse cpl input for the north-south-test, that means</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> the determination of the distances of the slitlets to </span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> each other.</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef SINFO_NS_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_NS_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_ns_cfg.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#define FRAME_ON 1 </span><span class="comment">/* object frames */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor"></span><span class="preprocessor">#define FRAME_OFF 0 </span><span class="comment">/* off frames */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor"></span><span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> ns_config * </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> sinfo_parse_cpl_input_ns(cpl_parameterlist * cpl_cfg, </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> cpl_frameset** raw);</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">void</span> sinfo_ns_free(ns_config ** cfg);</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__object__cfg_8c_source.html b/html/sinfo__object__cfg_8c_source.html
deleted file mode 100644
index bbd7d7b..0000000
--- a/html/sinfo__object__cfg_8c_source.html
+++ /dev/null
@@ -1,122 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_object_cfg.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_object_cfg.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> File name : sinfo_object_cfg.c</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Created on : April 2002</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> Description : configuration handling tools for the creation of an object</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> data cube</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"></span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_object_cfg.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> Function : sinfo_object_cfg_create()</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> In : void</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> Out : pointer to allocated base object_config structure</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> Job : allocate memory for an object_config struct</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> Notice : only the main (base) structure is allocated</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> object_config * sinfo_object_cfg_create(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> {</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordflow">return</span> cpl_calloc(1, <span class="keyword">sizeof</span>(object_config));</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> }</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> Function : sinfo_object_cfg_destroy()</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> In : object_config to deallocate</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> Out : void</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> Job : deallocate all memory associated with an </span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> object_config data structure</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> Notice : </span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">void</span> sinfo_object_cfg_destroy(object_config * cc)</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> {</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordflow">if</span> (cc==NULL) return ;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/* Free main struct */</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> cpl_free(cc);</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> return ;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> }</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__object__cfg_8h_source.html b/html/sinfo__object__cfg_8h_source.html
deleted file mode 100644
index 1462bb6..0000000
--- a/html/sinfo__object__cfg_8h_source.html
+++ /dev/null
@@ -1,193 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_object_cfg.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_object_cfg.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"></span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_object_cfg.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : April 2002</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : object_ini definitions + handling prototypes</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifndef SINFO_OBJECT_CFG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_OBJECT_CFG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <stdlib.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> New types</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> data cube creation blackboard container</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> This structure holds all information related to the object</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> data cube creation routine. It is used as a container for the</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> flux of ancillary data, computed values, and algorithm status.</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> Pixel flux is separated from the blackboard.</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>object_config {</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">/*-------General---------*/</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">char</span> inFile[FILE_NAME_SZ] ; <span class="comment">/* input file of reduced jittered</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> data cubes of a standard star */</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">char</span> ** framelist ; <span class="comment">/* input averaged, bad pixel corrected, sky</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> subtracted, flatfielded and interleaved</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> jittered frame list */</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">char</span> wavemap[FILE_NAME_SZ] ; <span class="comment">/* input wavelength calibration map */</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">char</span> mflat[FILE_NAME_SZ] ; <span class="comment">/* input master flat field */</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">char</span> outName[FILE_NAME_SZ] ; <span class="comment">/* output name of resulting fits</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> data cube(s) */</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">char</span> sky_dist[FILE_NAME_SZ] ; <span class="comment">/* master flat corrected for distortion */</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">char</span> mflat_dist[FILE_NAME_SZ] ; <span class="comment">/* master flat corrected for distortion */</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">char</span> mflat_dither_dist[FILE_NAME_SZ] ; <span class="comment">/* master flat dithered</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> corrected for distortion */</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">int</span> nframes ; <span class="comment">/* number of jittered frames */</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">/*------ jittering ------*/</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">/* jitter mode indicator: 0 for user jittering mode,</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> 1 for auto jittering mode */</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">int</span> jitterind ;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">/* x-pixel size of the final combined data cube */</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">int</span> size_x ;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">/* y-pixel size of the final combined data cube */</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">int</span> size_y ;</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">/* the name of the interpolation kernel */</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">char</span> kernel_type[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/* the name of the final image sinfo_median of cube */</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">char</span> med_cube_name[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/* the name of the final mask cube */</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">char</span> maskname[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">/* the name of the fits file with the polynom for the shift</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> * due atmospheric refraction */</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">char</span> polyshiftname[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">/*------ Resampling ------*/</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment">/* number of coefficients for the polynomial</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"> interpolation (order + 1) */</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">int</span> ncoeffs ;</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">/* number of rows in the resulting resampled</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"> image = number of spectral bins */</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">int</span> nrows ;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">/*------ Calibration ------*/</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment">/* indicates if the halogen lamp feature from</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> flatfielding should be corrected for or not */</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">int</span> halocorrectInd ;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment">/* name of the fits file of the calibrated halogen lamp spectrum */</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">char</span> halospectrum[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment">/*------ CubeCreation ------*/</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment">/* indicates if the slitlet distances are determined</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"> by a north-south test (1)</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"> or slitlet edge fits (0) */</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">int</span> northsouthInd ;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment">/* name of the ASCII list of the distances of the slitlets */</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">char</span> distlist[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">/* name of the ASCII list of the fitted slitlet sinfo_edge positions */</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">char</span> poslist[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment">/* number of slitlets (32) */</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">int</span> nslits ;</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment">/* sub pixel position of the column position of the left sinfo_edge of</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment"> the first slitlet needed if the slitlet distances were determined</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment"> by a north south test */</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">char</span> firstCol[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment">/*------ FineTuning ------*/</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment">/* indicator for the shifting method to use */</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordtype">char</span> method[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">/* order of polynomial if the polynomial interpolation shifting</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment"> method is used */</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">int</span> order ;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">/*------ SkyExtraction ------*/</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment">/* percentage of rejected low value pixels when averaging the</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment"> sky spectra */</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordtype">float</span> loReject ;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">/* percentage of rejected high value pixels when averaging the</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment"> sky spectra */</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordtype">float</span> hiReject ;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment">/* pixel distance tolerance to the dividing diagonal line,</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment"> these pixels are not considered to be sure to get only</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment"> "clean" sky pixels */</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordtype">int</span> tolerance ;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> } object_config ;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment"> Function prototypes</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> object_config *</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> sinfo_object_cfg_create(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> sinfo_object_cfg_destroy(object_config * cc);</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__object__ini_8h_source.html b/html/sinfo__object__ini_8h_source.html
deleted file mode 100644
index f931965..0000000
--- a/html/sinfo__object__ini_8h_source.html
+++ /dev/null
@@ -1,94 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_object_ini.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_object_ini.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_object_ini.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : April 03, 2002</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : ini file handling for SPIFFIs creation of a data cube</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> from a science object observation</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifndef SINFO_OBJECT_INI_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_OBJECT_INI_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_object_cfg.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">int</span> generateObject_ini_file(</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">char</span> * ini_name,</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">char</span> * name_i,</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">char</span> * name_o,</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">char</span> * name_c</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> );</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> object_config * </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> parse_object_ini_file(<span class="keywordtype">char</span> * ini_name) ;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__objnod__config_8c_source.html b/html/sinfo__objnod__config_8c_source.html
deleted file mode 100644
index 578421c..0000000
--- a/html/sinfo__objnod__config_8c_source.html
+++ /dev/null
@@ -1,445 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_objnod_config.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_objnod_config.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_objnod_config.c,v 1.11 2012/03/03 09:50:08 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2012/03/03 09:50:08 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.11 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Objnod Frames Data Reduction Parameter Initialization *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_objnod_config.h"</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> sinfo_objnod_config_add(cpl_parameterlist *list)</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> {</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> cpl_parameter *p;</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordflow">if</span> (!list) {</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> }</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/* Science */</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> p = cpl_parameter_new_enum(<span class="stringliteral">"sinfoni.objnod.autojitter_method"</span>,</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="stringliteral">"Method to reduce autojitter template frames "</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="stringliteral">"Raw frames are object only exposures. "</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="stringliteral">"object-fake_sky pairs are generated. "</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="stringliteral">"0: no sky for all objects "</span>,</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="stringliteral">"1: fake_sky is next object, "</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="stringliteral">"2: fake_sky is sinfo_median of all objects "</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> 1,3,0,1,2);</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-aj_method"</span>);</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/* Science */</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objnod.scales_sky"</span>,</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="stringliteral">"Spatial median (sky) subtraction from cube: "</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="stringliteral">"(If autojitter_method==1),"</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="stringliteral">"indicates if the spatial median of each plane "</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="stringliteral">"should be subtracted (TRUE) or not (FALSE) "</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="stringliteral">"from each cube plane"</span>,</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> FALSE);</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-scales_sky"</span>);</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">/* Science */</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objnod.ks_clip"</span>,</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="stringliteral">"Kappa-sigma clipping of coadded cube: "</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="stringliteral">"indicates if a kappa-sigma clipping "</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="stringliteral">"should be performed (TRUE) or not (FALSE) "</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="stringliteral">"on each plane of the coadded cube"</span>,</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> TRUE);</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-ks_clip"</span>);</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objnod.kappa"</span>,</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="stringliteral">"kappa value for kappa-sigma clipping "</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="stringliteral">"of coadded cube"</span>,</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> 2.0);</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-kappa"</span>);</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">/*x-pixel size of the final combined data cube, must lie between 64 and 128 */</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objnod.size_x"</span>,</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="stringliteral">"Cube x size: "</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="stringliteral">"x-pixel size of the final combined data cube,"</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="stringliteral">"must lie between 64 and 128. "</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="stringliteral">"If 0 it is computed automatically"</span>,</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> 0);</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-size_x"</span>);</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment">/*y-pixel size of the final combined data cube, must lie between 64 and 128 */</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objnod.size_y"</span>,</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="stringliteral">"Cube y size: "</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="stringliteral">"y-pixel size of the final combined data cube,"</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="stringliteral">"must lie between 64 and 128."</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="stringliteral">"If 0 it is computed automatically"</span>,</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> 0);</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-size_y"</span>);</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment">/*Resampling */</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment">/* number of coefficients for the polynomial interpolation */</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objnod.n_coeffs"</span>,</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="stringliteral">"number of coefficients for the polynomial "</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="stringliteral">"interpolation "</span>,</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> 3);</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-no_coeffs"</span>);</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment">/* Calibration */</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment">/* indicates if the halogen lamp features from flatfielding should be </span></div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment"> corrected for or not */</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment"> p = cpl_parameter_new_value("sinfoni.objnod.halo_correct_index",</span></div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment"> CPL_TYPE_BOOL,</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment"> "Halo Correct Index: "</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment"> "indicates if the halogen lamp features from "</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment"> "flatfielding should be corrected for (TRUE) "</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment"> "or not (FALSE)",</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment"> "sinfoni.objnod",</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="comment"> FALSE);</span></div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment"></span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment"> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,"objnod-halo_corr_ind");</span></div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment"> cpl_parameterlist_append(list, p);</span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment">/* Cube Creation */</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment">/*indicates if the slitlet distances are determined by a north-south-test </span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment"> (yes) or slitlet edge fits (no)</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objnod.nord_south_index"</span>,</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="stringliteral">"Nord South Index Switch: "</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="stringliteral">"indicates if the slitlet distances are "</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="stringliteral">"determined by a north-south-test (TRUE) "</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="stringliteral">"or slitlet edge fits (FALSE)"</span>,</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> TRUE);</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-ns_ind"</span>);</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment">/* Fine tuning */</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment">/* Method */</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> p = cpl_parameter_new_enum(<span class="stringliteral">"sinfoni.objnod.fine_tuning_method"</span>,</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> CPL_TYPE_STRING,</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="stringliteral">"Fine Tuning Method: "</span></div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="stringliteral">"indicator for the shifting method to use "</span></div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="stringliteral">"(P: polynomial interpolation, "</span></div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment">/* " F: FFT, " */</span></div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="stringliteral">" S: cubic spline interpolation)"</span>,</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="stringliteral">"P"</span>,</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> 2,</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="stringliteral">"P"</span>,<span class="stringliteral">"S"</span>);</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-fine_tune_mtd"</span>);</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objnod.order"</span>,</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="stringliteral">"Fine Tuning polynomial order: "</span> </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="stringliteral">"order of the polynomial if the polynomial "</span></div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="stringliteral">"interpolation shifting method is used."</span>,</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> 2);</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-order"</span>);</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="comment">/* Sky Extraction */</span></div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment">/*Reconstruction */</span></div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment">/* the fraction [0...1] of rejected low intensity pixels when taking </span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment">the average of columns */</span></div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objnod.low_rejection"</span>,</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="stringliteral">"lower rejection: "</span></div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="stringliteral">"percentage of rejected low value pixels "</span></div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="stringliteral">"for averaging the sky spectra"</span>,</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> 10.);</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-lo_rej"</span>);</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="comment">/* the fraction [0...1] of rejected high intensity pixels when taking </span></div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="comment">the average of columns */</span></div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objnod.high_rejection"</span>,</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="stringliteral">"higher rejection: "</span></div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="stringliteral">"percentage of rejected high value pixels "</span></div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="stringliteral">"for averaging the sky spectra"</span>,</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> 10.);</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-hi_rej"</span>);</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="comment">/* pixel tolerance, this distance tolerance to the diagonal dividing </span></div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="comment"> line is not considered for the sky extraction to be sure to have a clean</span></div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="comment"> sky due to positioning tolerance and crossing through pixels</span></div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objnod.tolerance"</span>,</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="stringliteral">"Tolerance: "</span></div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="stringliteral">"pixel tolerance, this distance tolerance to "</span></div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="stringliteral">"the diagonal dividing line is not considered "</span></div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="stringliteral">"for the sky extraction to be sure to have a "</span></div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="stringliteral">"clean sky due to positioning tolerance and "</span></div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="stringliteral">"crossing through pixels"</span>,</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> 2);</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-tol"</span>);</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="comment">/* Jittering */</span></div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="comment">/* jitter mode indicator: yes: Auto-Jitter, no: user defined jitter</span></div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="comment"> The next three parameters are only used if jitterInd is set to yes, </span></div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="comment"> that means in auto-jittering mode!</span></div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objnod.jitter_index"</span>,</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="stringliteral">"Jitter Index: "</span></div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="stringliteral">"jitter mode indicator: "</span></div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="stringliteral">"TRUE: Auto-Jitter, "</span></div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="stringliteral">"FALSE: user defined jitter"</span></div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="stringliteral">"The size_x size_y kernel_type parameters "</span></div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="stringliteral">"are only used if jitterInd is set to yes, "</span></div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="stringliteral">"that means in auto-jittering mode!"</span>,</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> TRUE);</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-jit_ind"</span>);</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="comment">/* Kernel Type */</span></div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="comment">/* the name of the interpolation kernel to shift the single cubes to the </span></div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="comment"> correct places inside the big combined cube. That you want to generate </span></div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="comment"> using the eclipse routine sinfo_generate_interpolation_kernel()</span></div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="comment"> Supported kernels are:</span></div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="comment"></span></div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="comment"> NULL: default kernel, currently tanh</span></div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="comment"> default: dito</span></div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="comment"> tanh: Hyperbolic tangent</span></div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="comment"> sinc2: Square sinc</span></div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="comment"> lanczos: Lanczos2 kernel</span></div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="comment"> hamming: Hamming kernel</span></div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="comment"> hann: Hann kernel</span></div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> p = cpl_parameter_new_enum(<span class="stringliteral">"sinfoni.objnod.kernel_type"</span>,</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> CPL_TYPE_STRING,</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="stringliteral">"Kernel Type:"</span></div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="stringliteral">"the name of the interpolation kernel to shift "</span></div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="stringliteral">"the single cubes to the correct places inside "</span></div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="stringliteral">"the big combined cube"</span>,</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="stringliteral">"tanh"</span>,</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> 7,</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="stringliteral">"NULL"</span>,<span class="stringliteral">"default"</span>,<span class="stringliteral">"tanh"</span>,<span class="stringliteral">"sinc2"</span>,</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="stringliteral">"lanczos"</span>,<span class="stringliteral">"hamming"</span>,<span class="stringliteral">"hann"</span>);</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-kernel_typ"</span>);</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="comment">/* amount of vignetting from output cube before coaddition */</span></div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.objnod.vllx"</span>,</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="stringliteral">"Vignetting on llx: "</span></div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="stringliteral">"pixels vignetted from lower left corner "</span></div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="stringliteral">"X coordinate "</span></div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="stringliteral">"of contributing cubes before coaddition "</span>,</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> 0,0,63);</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-vllx"</span>);</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> </div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.objnod.vlly"</span>,</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="stringliteral">"Vignetting on lly: "</span></div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="stringliteral">"pixels vignetted from lower left corner "</span></div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="stringliteral">"Y coordinate "</span></div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="stringliteral">"of contributing cubes before coaddition "</span>,</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> 0,0,63);</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-vlly"</span>);</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> </div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.objnod.vurx"</span>,</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="stringliteral">"Vignetting on urx: "</span></div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="stringliteral">"pixels vignetted from upper right corner "</span></div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="stringliteral">"X coordinate "</span></div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="stringliteral">"of contributing cubes before coaddition "</span>,</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> 0,0,63);</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> </div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-vurx"</span>);</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.objnod.vury"</span>,</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="stringliteral">"Vignetting on ury: "</span></div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="stringliteral">"pixels vignetted from upper right corner "</span></div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="stringliteral">"Y coordinate "</span></div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="stringliteral">"of contributing cubes before coaddition "</span>,</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> 0,0,63);</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> </div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-vury"</span>);</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objnod.fcol"</span>,</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="stringliteral">"First column offset: "</span>,</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> 0.);</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-fcol"</span>);</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> </div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="comment">/* switch to activate the sky residuals correction */</span></div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objnod.sky_cor"</span>,</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="stringliteral">"Sky residuals correction: "</span>,</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> TRUE);</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> </div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-sky_cor"</span>);</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> </div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="comment">/* switch to activate the flux correction correction */</span></div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objnod.flux_cor"</span>,</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="stringliteral">"Apply flux correction after rebinning: "</span>,</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> TRUE);</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-flux_cor"</span>);</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> </div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> </div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="comment">/* switch to activate the flux correction correction */</span></div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objnod.mosaic_max_size"</span>,</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="stringliteral">"Maximum allowed size for cubes mosaic is "</span></div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="stringliteral">"100*mosaic_max_size "</span>,</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> 14196);</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> </div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-mosaic_max_size"</span>);</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> </div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> </div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__objnod__config_8h_source.html b/html/sinfo__objnod__config_8h_source.html
deleted file mode 100644
index 5778dc5..0000000
--- a/html/sinfo__objnod__config_8h_source.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_objnod_config.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_objnod_config.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_objnod_config.h,v 1.1 2006/10/20 08:06:32 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2006/10/20 08:06:32 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Objnod Frames Data Reduction Parameter Initialization *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include "cpl.h"</span> <span class="comment">/* defines parlist structure */</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="keywordtype">void</span> sinfo_objnod_config_add(cpl_parameterlist *list);</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__objnod__ini__by__cpl_8c_source.html b/html/sinfo__objnod__ini__by__cpl_8c_source.html
deleted file mode 100644
index 6b3d41f..0000000
--- a/html/sinfo__objnod__ini__by__cpl_8c_source.html
+++ /dev/null
@@ -1,452 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_objnod_ini_by_cpl.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_objnod_ini_by_cpl.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"></span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> File name : sinfo_object_ini_by_cpl.c</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Created on : May 22, 2004</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> Description : object cube creation cpl input handling for SPIFFI</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"></span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_objnod_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_hidden.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "sinfo_file_handling.h"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> Functions private to this module</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> parse_section_frames(object_config *,cpl_frameset* sof,</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> cpl_frameset** stk, <span class="keywordtype">int</span>* status);</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_jittering(object_config *,</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> cpl_parameterlist * cpl_cfg);</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_resampling(object_config *,</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> cpl_parameterlist * cpl_cfg);</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_calibration(object_config *);</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_cubecreation(object_config *,</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> cpl_parameterlist * cpl_cfg);</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_finetuning(object_config *,</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> cpl_parameterlist * cpl_cfg);</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_skyextraction(object_config *,</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> cpl_parameterlist * cpl_cfg);</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> object_config *</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> sinfo_parse_cpl_input_objnod(cpl_parameterlist * cpl_cfg,cpl_frameset* sof,</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> cpl_frameset** stk)</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> {</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> object_config * cfg = sinfo_object_cfg_create();</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">int</span> status=0;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"> * Perform sanity checks, fill up the structure with what was</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> * found in the ini file</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> parse_section_resampling (cfg, cpl_cfg);</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> parse_section_calibration (cfg);</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> parse_section_cubecreation (cfg, cpl_cfg);</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> parse_section_finetuning (cfg, cpl_cfg);</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> parse_section_skyextraction(cfg, cpl_cfg);</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> parse_section_jittering (cfg, cpl_cfg);</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> parse_section_frames (cfg, sof,stk,&status);</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordflow">if</span> (status > 0) {</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"parsing cpl input"</span>);</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> sinfo_objnod_free(&cfg);</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> cfg = NULL ;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> }</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keywordflow">return</span> cfg ;</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> }</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> parse_section_frames(object_config * cfg,</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> cpl_frameset* sof,</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> cpl_frameset** stk,</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">int</span>* status)</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> {</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">int</span> nraw_good =0;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordtype">int</span> nframes=0;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordtype">int</span> nraw=0;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> cpl_frame* frame = NULL;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">int</span> nstk=0;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordtype">char</span> spat_res[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordtype">char</span> lamp_status[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordtype">char</span> band[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordtype">int</span> ins_set=0;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> nframes = cpl_frameset_get_size(sof);</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> sinfo_contains_frames_type(sof,stk,PRO_NODDING_STACKED);</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> nstk = cpl_frameset_get_size(*stk);</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordflow">if</span> (nstk == 0) {</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> sinfo_contains_frames_type(sof,stk,PRO_PSF_CALIBRATOR_STACKED);</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> nstk = cpl_frameset_get_size(*stk);</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> }</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordflow">if</span> (nstk == 0) {</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> sinfo_contains_frames_type(sof,stk,PRO_PUPIL_LAMP_STACKED);</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> nstk = cpl_frameset_get_size(*stk);</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> }</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordflow">if</span> (nstk == 0) {</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"Cannot find good frames"</span>) ;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> (*status)++;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> return ;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> }</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment">/* TEMPORALLY COMMENTED OUT */</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> nraw = cpl_frameset_get_size(*stk);</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment">/* Test if the rawframes have been found */</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordflow">if</span> (nraw < 1) {</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Cannot find input stacked frames in the input list"</span>) ;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> (*status)++;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> return ;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> }</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> nraw = cpl_frameset_get_size(*stk);</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordflow">if</span> (nraw < 1) {</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"no raw frame in input, something wrong!"</span>);</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> (*status)++;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> return ;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> }</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment">/* Allocate structures to go into the blackboard */</span></div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> cfg->framelist = cpl_malloc(nraw * <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>*));</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment">/* read input frames */</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordflow">for</span> (i=0 ; i<nraw ; i++) {</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> frame = cpl_frameset_get_frame(*stk,i);</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">if</span>(sinfo_file_exists((<span class="keywordtype">char</span>*)cpl_frame_get_filename(frame))==1)</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> {</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> cfg->framelist[i]=cpl_strdup(cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> nraw_good++;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> }</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment">/* Store file name into framelist */</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> }</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">if</span> (nraw_good < 1) {</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no good raw frame in input!"</span>);</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> (*status)++;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> }</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment">/* Copy relevant information into the blackboard */</span></div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> cfg->nframes = nraw ;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> strcpy(cfg -> outName, OBJNOD_OUT_FILENAME);</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> strcpy(cfg -> maskname, OBJNOD_OUT_BPMAP);</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> strcpy(cfg -> med_cube_name, OBJNOD_OUT_MED_CUBE);</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> frame = cpl_frameset_get_frame(*stk,0);</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> sinfo_get_spatial_res(frame,spat_res);</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keywordflow">switch</span>(sinfo_frame_is_on(frame))</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> {</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keywordflow">case</span> 0:</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> strcpy(lamp_status,<span class="stringliteral">"on"</span>);</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keywordflow">case</span> 1:</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> strcpy(lamp_status,<span class="stringliteral">"off"</span>);</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keywordflow">case</span> -1:</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> }</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> sinfo_get_band(frame,band);</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> sinfo_msg(<span class="stringliteral">"Spatial resolution: %s lamp_status: %s band: %s"</span>,</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> spat_res, lamp_status, band);</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> sinfo_get_ins_set(band,&ins_set);</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_WAVE_MAP)) {</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> frame = cpl_frameset_find(sof,PRO_WAVE_MAP);</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> strcpy(cfg -> wavemap, cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> sinfo_msg(<span class="stringliteral">"Frame %s not found!"</span>, PRO_WAVE_MAP);</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"%s"</span>, (<span class="keywordtype">char</span>* ) cpl_error_get_message());</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> (*status)++;</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> return ;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> }</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_MASTER_FLAT_LAMP)) {</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> frame = cpl_frameset_find(sof,PRO_MASTER_FLAT_LAMP);</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> strcpy(cfg -> mflat, cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> sinfo_msg(<span class="stringliteral">"Frame %s not found!"</span>, PRO_MASTER_FLAT_LAMP);</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"%s"</span>, (<span class="keywordtype">char</span>* ) cpl_error_get_message());</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> (*status)++;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> return ;</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> }</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_STACK_SKY_DIST)) {</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> frame = cpl_frameset_find(sof,PRO_STACK_SKY_DIST);</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> strcpy(cfg -> sky_dist, cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"Frame %s not found!"</span>, PRO_STACK_SKY_DIST);</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> strcpy(cfg -> sky_dist,<span class="stringliteral">"no_sky"</span>);</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> }</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_STACK_MFLAT_DIST)) {</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> frame = cpl_frameset_find(sof,PRO_STACK_MFLAT_DIST);</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> strcpy(cfg -> mflat_dist, cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> strcpy(cfg -> mflat_dist, <span class="stringliteral">"not_found"</span>);</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> sinfo_msg(<span class="stringliteral">"Frame %s not found!"</span>, PRO_STACK_MFLAT_DIST);</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> }</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_STACK_MFLAT_DITHER_DIST)) {</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> frame = cpl_frameset_find(sof,PRO_STACK_MFLAT_DITHER_DIST);</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> strcpy(cfg -> mflat_dither_dist, cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> strcpy(cfg -> mflat_dither_dist, <span class="stringliteral">"not_found"</span>);</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> sinfo_msg(<span class="stringliteral">"Frame %s not found!"</span>, PRO_STACK_MFLAT_DITHER_DIST);</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> }</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="keywordflow">if</span>(cfg -> northsouthInd) {</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_SLITLETS_DISTANCE)) {</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> frame = cpl_frameset_find(sof,PRO_SLITLETS_DISTANCE);</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> strcpy(cfg -> distlist, cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> sinfo_msg(<span class="stringliteral">"Frame %s not found!"</span>, PRO_SLITLETS_DISTANCE);</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> (*status)++;</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> return ;</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> }</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_SLIT_POS)) {</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> frame = cpl_frameset_find(sof,PRO_SLIT_POS);</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> strcpy(cfg -> poslist, cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> sinfo_msg(<span class="stringliteral">"Frame %s not found!"</span>, PRO_SLIT_POS);</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> (*status)++;</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> return ;</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> }</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> }</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="keywordflow">if</span>(cfg -> halocorrectInd) {</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_HALO_SPECT)) {</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> frame = cpl_frameset_find(sof,PRO_HALO_SPECT);</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> strcpy(cfg -> halospectrum, cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> sinfo_msg(<span class="stringliteral">"Frame %s not found!"</span>, PRO_HALO_SPECT);</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> (*status)++;</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> return ;</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> }</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> }</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof, PRO_REF_ATM_REF_CORR))</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> {</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> frame = cpl_frameset_find(sof, PRO_REF_ATM_REF_CORR);</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> strcpy(cfg->polyshiftname, cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> } <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> {</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> sinfo_msg(<span class="stringliteral">"Frame %s not found, shift due atmospheric refraction "</span></div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="stringliteral">"would not be applied!"</span>, PRO_REF_ATM_REF_CORR);</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> cfg->polyshiftname[0] = 0;</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="comment">// (*status)++;</span></div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> }</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="comment"> sinfo_msg("cfg -> wavemap %s",cfg -> wavemap);</span></div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="comment"> sinfo_msg("cfg -> poslist %s",cfg -> poslist);</span></div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="comment"> sinfo_msg("cfg -> firstCol %s",cfg -> firstCol);</span></div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> }</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> parse_section_jittering(object_config * cfg,cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> {</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> </div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.objnod.jitter_index"</span>);</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> cfg -> jitterind = cpl_parameter_get_bool(p);</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.objnod.size_x"</span>);</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> cfg -> size_x = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> </div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.objnod.size_y"</span>);</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> cfg -> size_y = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> </div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.objnod.kernel_type"</span>);</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> strcpy(cfg -> kernel_type, cpl_parameter_get_string(p));</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> }</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> parse_section_resampling(object_config * cfg,cpl_parameterlist* cpl_cfg)</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> {</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> </div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.objnod.n_coeffs"</span>);</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> cfg -> ncoeffs = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> </div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> cfg -> nrows = SINFO_RESAMP_NROWS;</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> return ;</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> }</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> </div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> parse_section_calibration(object_config * cfg)</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> {</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> cfg -> halocorrectInd=0;</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> </div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> }</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> </div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> parse_section_cubecreation(object_config * cfg,cpl_parameterlist* cpl_cfg)</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> {</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.objnod.nord_south_index"</span>);</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> cfg -> northsouthInd = cpl_parameter_get_bool(p);</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> cfg -> nslits = NSLITLETS;</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> return ;</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> }</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> </div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> parse_section_finetuning(object_config * cfg,cpl_parameterlist* cpl_cfg)</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> {</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> </div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.objnod.fine_tuning_method"</span>);</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> strcpy(cfg -> method, cpl_parameter_get_string(p));</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> </div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.objnod.order"</span>);</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> cfg -> order = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> }</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> </div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> parse_section_skyextraction(object_config * cfg,cpl_parameterlist* cpl_cfg)</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> {</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> </div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.objnod.low_rejection"</span>);</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> cfg -> loReject = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> </div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.objnod.high_rejection"</span>);</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> cfg -> hiReject = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> </div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.objnod.tolerance"</span>);</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> cfg -> tolerance = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> </div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> }</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> </div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="comment">/*-----------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> sinfo_objnod_free(object_config ** cfg) {</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="keywordflow">if</span>(*cfg != NULL) {</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="keywordflow">for</span>(i=0;i<(*cfg)->nframes;i++) {</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="keywordflow">if</span>((*cfg)->framelist[i]!=NULL) {</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> cpl_free((*cfg)->framelist[i]);</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> (*cfg)->framelist[i]=NULL;</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> }</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> }</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="keywordflow">if</span>((*cfg)->framelist != NULL) {</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> cpl_free((*cfg)->framelist);</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> (*cfg)->framelist=NULL;</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> }</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> sinfo_object_cfg_destroy (*cfg);</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> *cfg=NULL;</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> }</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__objnod__ini__by__cpl_8h_source.html b/html/sinfo__objnod__ini__by__cpl_8h_source.html
deleted file mode 100644
index 6480289..0000000
--- a/html/sinfo__objnod__ini__by__cpl_8h_source.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_objnod_ini_by_cpl.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_objnod_ini_by_cpl.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_object_ini_by_cpl.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : May 04, 2004</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : cpl input handling for SPIFFIs creation of a data cube</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> from a science object observation</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifndef SINFO_OBJNOD_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_OBJNOD_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_object_cfg.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> object_config * </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> sinfo_parse_cpl_input_objnod(cpl_parameterlist * cpl_cfg, </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> cpl_frameset** stk) ;</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> sinfo_objnod_free(object_config ** cfg);</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__objspider__config_8c_source.html b/html/sinfo__objspider__config_8c_source.html
deleted file mode 100644
index 0b2d1a7..0000000
--- a/html/sinfo__objspider__config_8c_source.html
+++ /dev/null
@@ -1,345 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_objspider_config.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_objspider_config.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_objspider_config.c,v 1.7 2012/03/03 09:50:08 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2012/03/03 09:50:08 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.7 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Objspider Frames Data Reduction Parameter Initialization *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_objspider_config.h"</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> sinfo_objspider_config_add(cpl_parameterlist *list)</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> {</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> cpl_parameter *p;</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordflow">if</span> (!list) {</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> }</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/* Input file name */</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">/* Output file name */</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">/* output name of resulting fits wavelength map */</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objspider.out_filename"</span>,</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> CPL_TYPE_STRING,</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="stringliteral">"Output File Name: "</span>,</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="stringliteral">"sinfoni.objspider"</span>,</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> SKYSPIDER_OUT_FILENAME);</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"out-skyspider_filename"</span>);</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">/*Resampling */</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">/* number of coefficients for the polynomial interpolation */</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objspider.n_coeffs"</span>,</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="stringliteral">"number of coefficients for the polynomial "</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="stringliteral">"interpolation "</span>,</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="stringliteral">"sinfoni.objspider"</span>,</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> 3);</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objspider-no-coeffs"</span>);</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment">/* Calibration */</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">/* indicates if the halogen lamp features from flatfielding should be </span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"> corrected for or not */</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> p = cpl_parameter_new_value("sinfoni.objspider.halo_correct_index",</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"> CPL_TYPE_BOOL,</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> "Halo Correct Index: "</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> "indicates if the halogen lamp features from "</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"> "flatfielding should be corrected for (TRUE) "</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment"> "or not (FALSE)",</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment"> "sinfoni.objspider",</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"> FALSE);</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"></span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment"> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,"objspider-halo-corr-ind");</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"> cpl_parameterlist_append(list, p);</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment">/* Cube Creation */</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">/*indicates if the slitlet distances are determined by a north-south-test </span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment"> (yes) or slitlet edge fits (no)</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objspider.nord_south_index"</span>,</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="stringliteral">"Nord South Index Switch: "</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="stringliteral">"indicates if the slitlet distances are "</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="stringliteral">"determined by a north-south-test (TRUE) "</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="stringliteral">"or slitlet edge fits (FALSE)"</span>,</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="stringliteral">"sinfoni.objspider"</span>,</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> TRUE);</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objspider-ns-ind"</span>);</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objspider.slitlets_position_list"</span>,</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> CPL_TYPE_STRING,</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="stringliteral">"Slitlets positions filename: "</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="stringliteral">"list of the fitted slitlet edge positions "</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="stringliteral">"or the distances of the slitlets"</span>,</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="stringliteral">"sinfoni.objspider"</span>,</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="stringliteral">"distances.fits"</span>);</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objspider-pos-list"</span>);</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">/* number of slitlets (32) */</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objspider.nslits"</span>,</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="stringliteral">"Number of slitlets: "</span>,</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="stringliteral">"sinfoni.objspider"</span>,</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> 32);</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objspider-pos-nslits"</span>);</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment">/* Fine tuning */</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment">/* Method */</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> p = cpl_parameter_new_enum(<span class="stringliteral">"sinfoni.objspider.fine_tuning_method"</span>,</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> CPL_TYPE_STRING,</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="stringliteral">"Fine Tuning Method: "</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="stringliteral">"indicator for the shifting method to use "</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="stringliteral">"(P: polynomial interpolation, "</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="stringliteral">" F: FFT, "</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="stringliteral">" S: cubic spline interpolation)"</span>,</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="stringliteral">"sinfoni.objspider"</span>,</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="stringliteral">"P"</span>,</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> 3,<span class="stringliteral">"P"</span>,<span class="stringliteral">"F"</span>,<span class="stringliteral">"S"</span>);</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objspider-fine-tune-mtd"</span>);</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objspider.order"</span>,</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="stringliteral">"Fine Tuning polynomial order: "</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="stringliteral">"order of the polynomial if the polynomial "</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="stringliteral">"interpolation shifting method is used."</span>,</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="stringliteral">"sinfoni.objspider"</span>,</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> 2);</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objspider-order"</span>);</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment">/* Sky Extraction */</span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment">/*Reconstruction */</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment">/* the fraction [0...1] of rejected low intensity pixels when taking </span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment">the average of columns */</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objspider.lower_rejection"</span>,</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="stringliteral">"lower rejection: "</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="stringliteral">"percentage of rejected low value pixels "</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="stringliteral">"for averaging the sky spectra"</span>,</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="stringliteral">"sinfoni.objspider"</span>,</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> 10.);</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objspider-lo-rejection"</span>);</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment">/* the fraction [0...1] of rejected high intensity pixels when taking </span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment">the average of columns */</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objspider.higher_rejection"</span>,</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="stringliteral">"higher rejection: "</span></div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="stringliteral">"percentage of rejected high value pixels "</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="stringliteral">"for averaging the sky spectra"</span>,</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="stringliteral">"sinfoni.objspider"</span>,</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> 10.);</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objspider-hi-rejection"</span>);</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment">/* pixel tolerance, this distance tolerance to the diagonal dividing </span></div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment"> line is not considered for the sky extraction to be sure to have a clean</span></div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment"> sky due to positioning tolerance and crossing through pixels</span></div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objspider.tolerance"</span>,</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="stringliteral">"Tolerance: "</span></div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="stringliteral">"pixel tolerance, this distance tolerance to "</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="stringliteral">"the diagonal dividing line is not considered "</span></div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="stringliteral">"for the sky extraction to be sure to have a "</span></div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="stringliteral">"clean sky due to positioning tolerance and "</span></div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="stringliteral">"crossing through pixels"</span>,</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="stringliteral">"sinfoni.objspider"</span>,</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> 2);</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objspider-tol"</span>);</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="comment">/* Jittering */</span></div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="comment">/* jitter mode indicator: yes: Auto-Jitter, no: user defined jitter</span></div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment"> The next three parameters are only used if jitterInd is set to yes, </span></div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment"> that means in auto-jittering mode!</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objspider.jitter_index"</span>,</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="stringliteral">"Jitter Index: "</span></div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="stringliteral">"jitter mode indicator: "</span></div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="stringliteral">"TRUE: Auto-Jitter, "</span></div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="stringliteral">"FALSE: user defined jitter"</span></div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="stringliteral">"The size_x size_y kernel_type parameters "</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="stringliteral">"are only used if jitterInd is set to yes, "</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="stringliteral">"that means in auto-jittering mode!"</span>,</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="stringliteral">"sinfoni.objspider"</span>,</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> FALSE);</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objspider-jit-ind"</span>);</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="comment">/*x-pixel size of the final combined data cube, must lie between 64 and 128 */</span></div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objspider.size_x"</span>,</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="stringliteral">"Cube x size: "</span></div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="stringliteral">"x-pixel size of the final combined data cube,"</span></div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="stringliteral">"must lie between 64 and 128. "</span></div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="stringliteral">"If 0 automatic setting."</span>,</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="stringliteral">"sinfoni.objspider"</span>,</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> 0);</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objspider-size-x"</span>);</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="comment">/*y-pixel size of the final combined data cube, must lie between 64 and 128 */</span></div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objspider.size_y"</span>,</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="stringliteral">"Cube y size: "</span></div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="stringliteral">"y-pixel size of the final combined data cube,"</span></div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="stringliteral">"must lie between 64 and 128. "</span></div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="stringliteral">"If 0 automatic setting."</span>,</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="stringliteral">"sinfoni.objspider"</span>,</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> 0);</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objspider-size-y"</span>);</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="comment">/* Kernel Type */</span></div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="comment">/* the name of the interpolation kernel to shift the single cubes to the </span></div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="comment"> correct places inside the big combined cube. That you want to generate </span></div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="comment"> using the eclipse routine sinfo_generate_interpolation_kernel()</span></div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment"> Supported kernels are:</span></div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="comment"></span></div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="comment"> NULL: default kernel, currently tanh</span></div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="comment"> default: dito</span></div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="comment"> tanh: Hyperbolic tangent</span></div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="comment"> sinc2: Square sinc</span></div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="comment"> lanczos: Lanczos2 kernel</span></div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="comment"> hamming: Hamming kernel</span></div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="comment"> hann: Hann kernel</span></div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> p = cpl_parameter_new_enum(<span class="stringliteral">"sinfoni.objspider.kernel_type"</span>,</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> CPL_TYPE_STRING,</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="stringliteral">"Kernel Type:"</span></div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="stringliteral">"the name of the interpolation kernel to shift "</span></div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="stringliteral">"the single cubes to the correct places inside "</span></div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="stringliteral">"the big combined cube"</span>,</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="stringliteral">"sinfoni.objspider"</span>,</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="stringliteral">"tanh"</span>,</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> 6,<span class="stringliteral">"NULL"</span>,<span class="stringliteral">"default"</span>,<span class="stringliteral">"tanh"</span>,</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="stringliteral">"sinc2"</span>,<span class="stringliteral">"lanczos"</span>,<span class="stringliteral">"hamming"</span>,<span class="stringliteral">"hann"</span>);</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objspider-kernel-typ"</span>);</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> </div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="comment">/* name of the final mask data cube, pixel value 0 if no data available,</span></div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="comment"> sum of exposure times in the overlapping regions</span></div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objspider.mask_name"</span>,</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> CPL_TYPE_STRING,</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="stringliteral">"Mask Name: "</span></div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="stringliteral">"name of the final mask data cube, "</span></div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="stringliteral">"pixel value 0 if no data available,"</span></div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="stringliteral">"sum of exposure times in the overlapping "</span></div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="stringliteral">"regions "</span>,</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="stringliteral">"sinfoni.objspider"</span>,</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> SKYSPIDER_MASK_OUT_FILENAME);</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> </div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objspider-mask"</span>);</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__objspider__config_8h_source.html b/html/sinfo__objspider__config_8h_source.html
deleted file mode 100644
index 3ef8fe7..0000000
--- a/html/sinfo__objspider__config_8h_source.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_objspider_config.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_objspider_config.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_objspider_config.h,v 1.1 2006/10/20 08:06:32 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2006/10/20 08:06:32 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Objspider Frames Data Reduction Parameter Initialization *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include "cpl.h"</span> <span class="comment">/* defines parlist structure */</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "sinfo_hidden.h"</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> sinfo_objspider_config_add(cpl_parameterlist *list);</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__objspider__ini__by__cpl_8c_source.html b/html/sinfo__objspider__ini__by__cpl_8c_source.html
deleted file mode 100644
index 3b8944d..0000000
--- a/html/sinfo__objspider__ini__by__cpl_8c_source.html
+++ /dev/null
@@ -1,425 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_objspider_ini_by_cpl.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_objspider_ini_by_cpl.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> File name : sinfo_objspider_ini_by_cpl.c</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Created on : May 22, 2004</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> Description : object cube creation cpl input handling for SPIFFI</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"></span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_objspider_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_hidden.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_cpl_size.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_file_handling.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> Functions private to this module</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> parse_section_frames(object_config *,</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> cpl_frameset* sof, cpl_frameset**stk, <span class="keywordtype">int</span>* status);</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> parse_section_jittering(object_config *, cpl_parameterlist * cpl_cfg);</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> parse_section_resampling(object_config *, cpl_parameterlist * cpl_cfg);</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> parse_section_calibration(object_config *);</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> parse_section_cubecreation(object_config *, cpl_parameterlist * cpl_cfg);</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> parse_section_finetuning(object_config *, cpl_parameterlist * cpl_cfg);</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> parse_section_skyextraction(object_config *, cpl_parameterlist * cpl_cfg);</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> object_config * </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> sinfo_parse_cpl_input_objspider(cpl_parameterlist * cpl_cfg,cpl_frameset* sof,</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> cpl_frameset** stk)</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> {</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> object_config * cfg = sinfo_object_cfg_create();</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordtype">int</span> status=0;</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"> * Perform sanity checks, fill up the structure with what was</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> * found in the ini file</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> parse_section_resampling (cfg, cpl_cfg);</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> parse_section_calibration (cfg);</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> parse_section_cubecreation (cfg, cpl_cfg);</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> parse_section_finetuning (cfg, cpl_cfg); </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> parse_section_skyextraction(cfg, cpl_cfg); </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> parse_section_jittering (cfg, cpl_cfg);</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> parse_section_frames (cfg, sof,stk,&status);</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keywordflow">if</span> (status > 0) {</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"parsing cpl input"</span>);</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> sinfo_object_cfg_destroy(cfg);</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> cfg = NULL ;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> }</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordflow">return</span> cfg ;</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> }</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> parse_section_frames(object_config * cfg, </div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> cpl_frameset* sof,</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> cpl_frameset** stk,</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">int</span>* status)</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> {</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">int</span> nraw_good =0;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">int</span> nframes=0;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordtype">int</span> nraw=0;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> cpl_frame* frame = NULL;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordtype">int</span> nstk=0;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> cpl_size * labels=NULL ;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> cpl_size nlabels=0 ;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> cpl_frameset * cur_set=NULL ;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> cpl_frame * cur_frame=NULL ;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordtype">char</span> * tag=NULL;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordtype">int</span> wave_map=0;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keywordtype">int</span> pos_slit=0;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordtype">int</span> first_col=0;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordtype">int</span> halo_sp=0;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordtype">char</span> spat_res[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keywordtype">char</span> lamp_status[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordtype">char</span> band[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordtype">int</span> ins_set=0;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> nframes = cpl_frameset_get_size(sof);</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment">/* Get the raw and the calibration files */</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment">/* Labelise the input frames according to their tags */</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> labels = cpl_frameset_labelise(sof, sinfo_compare_tags,&nlabels );</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordflow">if</span> (labels == NULL) {</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"Cannot labelise the input frames"</span>) ;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> (*status)++;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> return ;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> }</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keywordflow">if</span> (nlabels == 1) {</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment">/* Only one label - all images are objects observations */</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment">/* Verify that it is really an observation */</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> cur_frame = cpl_frameset_get_frame(sof, 0) ;</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> tag = (<span class="keywordtype">char</span>*)cpl_frame_get_tag(cur_frame) ;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordflow">if</span> (sinfo_is_stack(tag)) {</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> *stk = cpl_frameset_duplicate(sof) ;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> nstk++;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> }</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment">/* For each label */</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordflow">for</span> (i=0 ; i<nlabels ; i++) {</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> cur_set = cpl_frameset_extract(sof, labels, i) ;</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> cur_frame = cpl_frameset_get_frame(cur_set, 0) ;</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> tag = (<span class="keywordtype">char</span>*)cpl_frame_get_tag(cur_frame) ;</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordflow">if</span> (sinfo_is_stack(tag) == 1) {</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment">/* Stacked frame */</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> *stk = cpl_frameset_duplicate(cur_set) ;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> nstk++;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sinfo_is_wavemap(tag)) {</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment">/* pos slit calibration file */</span></div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> strcpy(cfg -> wavemap,cpl_strdup(cpl_frame_get_filename(cur_frame)));</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> wave_map=1;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sinfo_is_distlist(tag)) {</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment">/* pos slit calibration file */</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> strcpy(cfg -> poslist,cpl_strdup(cpl_frame_get_filename(cur_frame)));</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> pos_slit=1;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sinfo_is_firstcol(tag)) { </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="comment">/* first col calibration file */</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> strcpy(cfg -> firstCol,cpl_strdup(cpl_frame_get_filename(cur_frame)));</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> first_col=1;</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sinfo_is_halosp(tag)) { </div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment">/* first col calibration file */</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> strcpy(cfg->halospectrum,cpl_strdup(cpl_frame_get_filename(cur_frame)));</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> halo_sp=1;</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> }</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> cpl_frameset_delete(cur_set) ;</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> }</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> }</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> cpl_free(labels) ;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordflow">if</span> (nstk == 0) {</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"Cannot find good input frames"</span>) ;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> (*status)++;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> return ;</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> }</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keywordflow">if</span> (wave_map == 0) {</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"Cannot find wave map"</span>);</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> (*status)++;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> return ;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> }</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keywordflow">if</span> (pos_slit == 0) {</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"Cannot find pos slit"</span>) ;</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> (*status)++;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> return ;</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> }</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keywordflow">if</span> (first_col == 0) {</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"Cannot find first col"</span>) ;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> (*status)++;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> return ;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> }</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="comment">/* TEMPORALLY COMMENTED OUT */</span></div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> nraw = cpl_frameset_get_size(*stk);</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="comment">/* Test if the rawframes have been found */</span></div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keywordflow">if</span> (nraw < 1) {</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Cannot find input stacked frames in the input list"</span>) ;</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> (*status)++;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> return ;</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> }</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> nraw = cpl_frameset_get_size(*stk);</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keywordflow">if</span> (nraw < 1) {</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no raw frame in input, something wrong!"</span>);</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> exit(-1);</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> }</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="comment">/* Allocate structures to go into the blackboard */</span></div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> cfg->framelist = cpl_malloc(nraw * <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>*));</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="comment">/* read input frames */</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordflow">for</span> (i=0 ; i<nraw ; i++) {</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> frame = cpl_frameset_get_frame(*stk,i);</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="keywordflow">if</span>(sinfo_file_exists((<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame))==1) {</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> cfg->framelist[i]=cpl_strdup(cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> nraw_good++;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> }</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="comment">/* Store file name into framelist */</span></div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> }</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordflow">if</span> (nraw_good < 1) {</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no good raw frame in input!"</span>);</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> (*status)++;</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> }</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="comment">/* Copy relevant information into the blackboard */</span></div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> cfg->nframes = nraw ;</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> strcpy(cfg -> outName, SKYSPIDER_OUT_FILENAME);</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> strcpy(cfg -> maskname, SKYSPIDER_MASK_OUT_FILENAME);</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> frame = cpl_frameset_get_frame(*stk,0);</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> sinfo_get_spatial_res(frame,spat_res);</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keywordflow">switch</span>(sinfo_frame_is_on(frame)) {</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keywordflow">case</span> 0: </div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> strcpy(lamp_status,<span class="stringliteral">"on"</span>);</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="keywordflow">case</span> 1: </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> strcpy(lamp_status,<span class="stringliteral">"off"</span>);</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="keywordflow">case</span> -1:</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="keywordflow">default</span>: </div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> }</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> sinfo_get_band(frame,band);</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> sinfo_msg(<span class="stringliteral">"Spatial resolution: %s lamp_status: %s band: %s "</span>,</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> spat_res, lamp_status, band);</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> sinfo_get_ins_set(band,&ins_set);</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> }</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> parse_section_jittering(object_config * cfg,cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> {</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> </div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.objspider.jitter_index"</span>);</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> cfg -> jitterind = cpl_parameter_get_bool(p);</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.objspider.size_x"</span>);</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> cfg -> size_x = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.objspider.size_y"</span>);</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> cfg -> size_y = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.objspider.kernel_type"</span>);</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> strcpy(cfg -> kernel_type, cpl_parameter_get_string(p));</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="comment"> p = cpl_parameterlist_find(cpl_cfg, "sinfoni.objspider.mask");</span></div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="comment"> strcpy(cfg -> maskname, cpl_parameter_get_string(p));</span></div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> }</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> </div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> parse_section_resampling(object_config * cfg,cpl_parameterlist* cpl_cfg)</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> {</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.objspider.n_coeffs"</span>);</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> cfg -> ncoeffs = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> cfg -> nrows=SINFO_RESAMP_NROWS;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> </div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> return ;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> }</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> </div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> parse_section_calibration(object_config * cfg)</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> {</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="comment"> cpl_parameter* p;</span></div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="comment"> p = cpl_parameterlist_find(cpl_cfg, "sinfoni.objspider.halo_correct_index");</span></div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="comment"> cfg -> halocorrectInd = cpl_parameter_get_bool(p);</span></div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> cfg -> halocorrectInd=0;</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="comment"> p=cpl_parameterlist_find(cpl_cfg,"sinfoni.objspider.halo_spectrum_filename");</span></div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="comment"> strcpy(cfg -> halospectrum, cpl_parameter_get_string(p));</span></div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> </div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> }</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> </div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> parse_section_cubecreation(object_config * cfg,cpl_parameterlist* cpl_cfg)</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> {</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.objspider.nord_south_index"</span>);</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> cfg -> northsouthInd = cpl_parameter_get_bool(p);</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="comment"> p=cpl_parameterlist_find(cpl_cfg,"sinfoni.objspider.slitlets_position_list");</span></div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="comment"> strcpy(cfg -> poslist, cpl_parameter_get_string(p));</span></div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> </div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.objspider.nslits"</span>);</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> cfg -> nslits = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="comment"> p=cpl_parameterlist_find(cpl_cfg,"sinfoni.objspider.first_column_filename");</span></div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="comment"> strcpy(cfg -> firstCol, cpl_parameter_get_string(p));</span></div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> </div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> return ;</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> }</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> parse_section_finetuning(object_config * cfg,cpl_parameterlist* cpl_cfg)</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> {</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.objspider.fine_tuning_method"</span>);</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> strcpy(cfg -> method, cpl_parameter_get_string(p));</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.objspider.order"</span>);</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> cfg -> order = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> }</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> parse_section_skyextraction(object_config * cfg,cpl_parameterlist* cpl_cfg)</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> {</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.objspider.lower_rejection"</span>);</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> cfg -> loReject = (float) cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.objspider.higher_rejection"</span>);</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> cfg -> hiReject = (float) cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.objspider.tolerance"</span>);</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> cfg -> tolerance = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> </div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> }</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> </div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="comment">/*-----------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> sinfo_objspider_free(object_config * cfg) {</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> cpl_free(cfg->framelist);</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> sinfo_object_cfg_destroy (cfg);</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__objspider__ini__by__cpl_8h_source.html b/html/sinfo__objspider__ini__by__cpl_8h_source.html
deleted file mode 100644
index 16c0961..0000000
--- a/html/sinfo__objspider__ini__by__cpl_8h_source.html
+++ /dev/null
@@ -1,94 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_objspider_ini_by_cpl.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_objspider_ini_by_cpl.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_object_ini_by_cpl.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : May 04, 2004</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : cpl input handling for SPIFFIs creation of a data cube</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> from a science object observation</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifndef SINFO_OBJSPIDER_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_OBJSPIDER_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_object_cfg.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> object_config * </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> sinfo_parse_cpl_input_objspider(cpl_parameterlist * cpl_cfg, </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> cpl_frameset** stk) ;</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> sinfo_objspider_free(object_config * cfg);</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__pfits_8c_source.html b/html/sinfo__pfits_8c_source.html
deleted file mode 100644
index b8f68e8..0000000
--- a/html/sinfo__pfits_8c_source.html
+++ /dev/null
@@ -1,774 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_pfits.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_pfits.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_pfits.c,v 1.14 2012/05/04 08:11:07 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2012/05/04 08:11:07 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.14 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <ctype.h></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_pfits.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_key_names.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#define ASCIILINESZ 1024</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"></span><span class="preprocessor">#define PAF_MAGIC_SZ 13</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor"></span><span class="preprocessor">#define PAF_MAGIC "PAF.HDR.START"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keywordtype">char</span> * sinfo_paf_query(</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">char</span> * filename,</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">char</span> * key) ;</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_is_paf_file(<span class="keywordtype">char</span> * filename) ;</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">static</span> <span class="keywordtype">char</span> * sinfo_strcrop(<span class="keywordtype">char</span> * s);</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">static</span> <span class="keywordtype">char</span> * sinfo_strcrop(<span class="keywordtype">char</span> * s)</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> {</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keyword">static</span> <span class="keywordtype">char</span> l[ASCIILINESZ+1];</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keywordtype">char</span> * last ;</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keywordflow">if</span> (s==NULL) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> memset(l, 0, ASCIILINESZ+1);</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> strcpy(l, s);</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> last = l + strlen(l);</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordflow">while</span> (last > l) {</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordflow">if</span> (!isspace((<span class="keywordtype">int</span>)*(last-1)))</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> break ;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> last -- ;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> }</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> *last = (char)0;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordflow">return</span> l ;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> }</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">char</span> * sinfo_paf_query(</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">char</span> * filename, </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">char</span> * key)</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> {</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keyword">static</span> <span class="keywordtype">char</span> value[ASCIILINESZ];</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> FILE * paf ;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">char</span> line[ASCIILINESZ+1];</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">char</span> val[ASCIILINESZ+1];</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">char</span> head[ASCIILINESZ+1];</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">int</span> found ;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordtype">int</span> len ;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment">/* Check inputs */</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keywordflow">if</span> (filename==NULL || key==NULL) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment">/* Check PAF validity */</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordflow">if</span> (sinfo_is_paf_file(filename)!=1) {</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"not a PAF file: [%s]"</span>, filename);</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> }</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">/* Open file and read it */</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> paf = fopen(filename, <span class="stringliteral">"r"</span>);</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordflow">if</span> (paf==NULL) {</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"opening [%s]"</span>, filename);</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> }</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> found = 0 ;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordflow">while</span> (fgets(line, ASCIILINESZ, paf)!=NULL) {</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> sscanf(line, <span class="stringliteral">"%[^ ]"</span>, head);</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordflow">if</span> (!strcmp(head, key)) {</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment">/* Get value */</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> sscanf(line, <span class="stringliteral">"%*[^ ] %[^;]"</span>, value);</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> found ++ ;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> break ;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> }</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> }</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keywordflow">if</span> (!found) {</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> fclose(paf);</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> }</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment">/* Remove trailing blanks */</span></div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> strcpy(val, sinfo_strcrop(value));</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment">/* Get rid of possible quotes */</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> len = strlen(val);</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keywordflow">if</span> (val[0]==<span class="charliteral">'\"'</span> && val[len-1]==<span class="charliteral">'\"'</span>) {</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> strncpy(value, val+1, len-2);</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> value[len-2]=(char)0;</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> strcpy(value, val);</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> }</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordflow">if</span>(paf!=NULL){</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> fclose(paf);</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> }</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordflow">return</span> value ;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> }</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_is_paf_file(<span class="keywordtype">char</span> * filename)</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> {</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> FILE * fp ;</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keywordtype">int</span> is_paf ;</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordtype">char</span> line[ASCIILINESZ] ;</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">if</span> (filename==NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="comment">/* Initialize is_paf */</span></div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> is_paf = 0 ;</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment">/* Open file */</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keywordflow">if</span> ((fp = fopen(filename, <span class="stringliteral">"r"</span>))==NULL) {</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot open file [%s]"</span>, filename) ;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> }</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment">/* Parse file */</span></div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keywordflow">while</span> (fgets(line, ASCIILINESZ, fp) != NULL) {</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keywordflow">if</span> (line[0] != <span class="charliteral">'#'</span>) {</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keywordflow">if</span> (!strncmp(line, PAF_MAGIC, PAF_MAGIC_SZ)) is_paf = 1 ;</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> (void)fclose(fp) ;</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keywordflow">return</span> is_paf ;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> }</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> }</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> (void)fclose(fp) ;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keywordflow">return</span> is_paf ;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> }</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordtype">char</span> * sinfo_pfits_get_mode(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> {</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keywordflow">return</span> (<span class="keywordtype">char</span>*) cpl_propertylist_get_string(plist,<span class="stringliteral">"ESO DET MODE NAME"</span>);</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> }</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordtype">double</span> sinfo_pfits_get_exp_time(<span class="keyword">const</span> cpl_propertylist* plist)</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> {</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"EXPTIME"</span>);</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> }</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="comment"> Function : sinfo_pfits_get_ditndit()</span></div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="comment"> In : fits file name</span></div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="comment"> Out : total integration time in sec</span></div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="comment"> Job : reads the product dit*ndit from the FITS-header </span></div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keywordtype">double</span> sinfo_pfits_get_ditndit(<span class="keyword">const</span> <span class="keywordtype">char</span>* name)</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> {</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="keywordtype">double</span> dit;</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordtype">int</span> ndit=0;</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> plist=cpl_propertylist_load(name,0);</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> dit = cpl_propertylist_get_double(plist,<span class="stringliteral">"ESO DET DIT"</span>);</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> ndit = cpl_propertylist_get_int(plist,<span class="stringliteral">"ESO DET NDIT"</span>);</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="keywordflow">return</span> dit*ndit ;</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> }</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="keywordtype">double</span> sinfo_pfits_get_exptime(<span class="keyword">const</span> <span class="keywordtype">char</span> * filename)</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> {</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="keywordtype">double</span> exptime ;</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> plist=cpl_propertylist_load(filename,0);</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> exptime = cpl_propertylist_get_double(plist,<span class="stringliteral">"EXPTIME"</span>);</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="keywordflow">return</span> exptime;</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> }</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="keywordtype">int</span> sinfo_pfits_get_rom(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> {</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="keywordflow">return</span> cpl_propertylist_get_int(plist,<span class="stringliteral">"ESO DET NCORRS"</span>);</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> }</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="keywordtype">int</span> sinfo_pfits_get_expno(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> {</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="keywordflow">return</span> cpl_propertylist_get_int(plist,<span class="stringliteral">"ESO TPL EXPNO"</span>);</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> </div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> }</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="keywordtype">double</span> sinfo_pfits_get_airmass_start(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> {</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"ESO TEL AIRM START"</span>);</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> }</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="keywordtype">double</span> sinfo_pfits_get_airmass_end(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> {</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"ESO TEL AIRM END"</span>);</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> </div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> }</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="keywordtype">double</span> sinfo_pfits_get_alpha(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> {</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"ESO TEL TARG OFFSETALPHA"</span>);</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> }</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="keywordtype">double</span> sinfo_pfits_get_targ_alpha(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> {</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"ESO INS TARG ALPHA"</span>);</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> }</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="keywordtype">double</span> sinfo_pfits_get_targ_delta(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> {</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"ESO INS TARG DELTA"</span>);</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> }</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_arcfile(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> {</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keywordflow">return</span> (<span class="keyword">const</span> <span class="keywordtype">char</span>*) cpl_propertylist_get_string(plist,KEY_NAME_ARCFILE);</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> }</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> </div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_rec1raw1name(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> {</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="keywordflow">return</span> (<span class="keyword">const</span> <span class="keywordtype">char</span>*) cpl_propertylist_get_string(plist,</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> KEY_NAME_PRO_REC1_RAW1_NAME);</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> }</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> </div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_ins_setup(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> {</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="keywordflow">if</span>(cpl_propertylist_get_string(plist,<span class="stringliteral">"ESO INS SETUP ID"</span>)) {</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="keywordflow">return</span> (<span class="keyword">const</span> <span class="keywordtype">char</span>*) cpl_propertylist_get_string(plist,<span class="stringliteral">"ESO INS SETUP ID"</span>);</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> cpl_error_reset();</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="keywordflow">return</span> <span class="stringliteral">"Dark"</span>;</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> }</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> </div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> }</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> </div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> </div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> </div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="keywordtype">double</span> sinfo_pfits_get_wlen(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> {</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> </div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"ESO INS GRAT1 WLEN"</span>);</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> }</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> </div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="keywordtype">int</span> sinfo_pfits_get_chop_ncycles(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> {</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> </div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="keywordflow">return</span> cpl_propertylist_get_int(plist,<span class="stringliteral">"ESO DET CHOP NCYCLES"</span>);</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> }</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> </div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <span class="keywordtype">double</span> sinfo_pfits_get_pixscale(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> {</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* val=NULL;</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> val=cpl_propertylist_get_string(plist,<span class="stringliteral">"ESO INS OPTI1 NAME"</span>);</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <span class="keywordflow">return</span> atof(val);</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> }</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> </div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="keywordtype">double</span> sinfo_pfits_get_posangle(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> {</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"ESO ADA POSANG"</span>);</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> }</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> </div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="keywordtype">double</span> sinfo_pfits_get_DEC(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> {</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"DEC"</span>);</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> }</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> </div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> </div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <span class="keywordtype">double</span> sinfo_pfits_get_cumoffsetx(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> {</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"ESO SEQ CUMOFFSETX"</span>);</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> }</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> </div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="keywordtype">double</span> sinfo_pfits_get_cumoffsety(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> {</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"ESO SEQ CUMOFFSETY"</span>);</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> }</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> </div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_date_obs(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> {</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> </div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> <span class="keywordflow">return</span> (<span class="keyword">const</span> <span class="keywordtype">char</span>*) cpl_propertylist_get_string(plist,<span class="stringliteral">"DATE-OBS"</span>);</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> </div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> }</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> </div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="keywordtype">double</span> sinfo_pfits_get_delta(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> {</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> </div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"ESO TEL TARG OFFSETDELTA"</span>);</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> </div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> }</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> </div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> <span class="keywordtype">double</span> sinfo_pfits_get_dec(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> {</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"DEC"</span>);</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> }</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> </div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <span class="keywordtype">double</span> sinfo_pfits_get_dit(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> {</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"ESO DET DIT"</span>);</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> }</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> <span class="keywordtype">float</span> sinfo_pfits_get_pixelscale(<span class="keyword">const</span> <span class="keywordtype">char</span> * name)</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> {</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="keywordtype">float</span> pixscale=0;</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* scale=NULL;</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> plist=cpl_propertylist_load(name,0);</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> scale= cpl_propertylist_get_string(plist,<span class="stringliteral">"ESO INS OPTI1 NAME"</span>);</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> pixscale=atof(scale);</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="keywordflow">return</span> pixscale;</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> }</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> </div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> </div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_ncorrs_name(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> {</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="keywordflow">return</span> cpl_propertylist_get_string(plist,<span class="stringliteral">"ESO DET NCORRS NAME"</span>);</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> }</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> </div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> </div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_band(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> {</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> <span class="keywordflow">return</span> cpl_propertylist_get_string(plist,<span class="stringliteral">"ESO INS FILT1 NAME"</span>);</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> }</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> </div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_dpr_catg(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> {</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <span class="keywordflow">return</span> cpl_propertylist_get_string(plist,<span class="stringliteral">"ESO DPR CATG"</span>);</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> }</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> </div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_dpr_tech(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> {</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> <span class="keywordflow">return</span> cpl_propertylist_get_string(plist,<span class="stringliteral">"ESO DPR TECH"</span>);</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> }</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> </div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_dpr_type(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> {</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> <span class="keywordflow">return</span> cpl_propertylist_get_string(plist,<span class="stringliteral">"ESO DPR TYPE"</span>);</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> }</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> </div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> </div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_filter_im(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> {</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> <span class="keywordflow">return</span> cpl_propertylist_get_string(plist,<span class="stringliteral">"ESO INS FILT1 NAME"</span>);</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> }</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> </div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_filter_spec(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> {</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> <span class="keywordflow">return</span> cpl_propertylist_get_string(plist,<span class="stringliteral">"ESO INS FILT2 NAME"</span>);</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> }</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> </div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> <span class="keywordtype">double</span> sinfo_pfits_get_focus(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> {</div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"ESO TEL FOCU LEN"</span>);</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> }</div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> </div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> </div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_frame_type(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> {</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> <span class="keywordflow">return</span> cpl_propertylist_get_string(plist,<span class="stringliteral">"ESO DET FRAM TYPE"</span>);</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> }</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> </div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_instrument(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> {</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> <span class="keywordflow">return</span> cpl_propertylist_get_string(plist,<span class="stringliteral">"INSTRUME"</span>);</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> }</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> </div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> <span class="keywordtype">double</span> sinfo_pfits_get_mjdobs(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> {</div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"MJD-OBS"</span>);</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> }</div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> </div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> </div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> <span class="keywordtype">double</span> sinfo_pfits_get_monoc_pos(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> {</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"INS MONOC1 POS"</span>);</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> }</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> </div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> <span class="keywordtype">int</span> sinfo_pfits_get_ndit(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> {</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> <span class="keywordflow">return</span> cpl_propertylist_get_int(plist,<span class="stringliteral">"ESO DET NDIT"</span>);</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> }</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> </div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> <span class="keywordtype">int</span> sinfo_pfits_get_naxis1(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> {</div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> <span class="keywordflow">return</span> cpl_propertylist_get_int(plist,<span class="stringliteral">"NAXIS1"</span>);</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> }</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> </div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> </div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> <span class="keywordtype">int</span> sinfo_pfits_get_naxis2(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> {</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> <span class="keywordflow">return</span> cpl_propertylist_get_int(plist,<span class="stringliteral">"NAXIS2"</span>);</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> }</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> </div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> </div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> <span class="keywordtype">int</span> sinfo_pfits_get_naxis3(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> {</div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> <span class="keywordflow">return</span> cpl_propertylist_get_int(plist,<span class="stringliteral">"NAXIS3"</span>);</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> }</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> </div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> </div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> </div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> </div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> <span class="keywordtype">double</span> sinfo_pfits_get_crpix1(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> {</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"CRPIX1"</span>);</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> }</div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> </div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> </div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> </div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> <span class="keywordtype">double</span> sinfo_pfits_get_crpix2(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> {</div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"CRPIX2"</span>);</div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> }</div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> </div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> </div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> </div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> <span class="keywordtype">double</span> sinfo_pfits_get_crpix3(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> {</div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"CRPIX3"</span>);</div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> }</div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> </div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> </div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> <span class="keywordtype">double</span> sinfo_pfits_get_cdelt1(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> {</div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"CDELT1"</span>);</div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> }</div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> </div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> </div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> </div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> <span class="keywordtype">double</span> sinfo_pfits_get_cdelt2(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> {</div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"CDELT2"</span>);</div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> }</div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> </div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> </div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> </div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> <span class="keywordtype">double</span> sinfo_pfits_get_cdelt3(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> {</div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"CDELT3"</span>);</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> }</div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> </div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> </div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> </div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> <span class="keywordtype">double</span> sinfo_pfits_get_crval1(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> {</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"CRVAL1"</span>);</div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> }</div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> </div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> <span class="keywordtype">double</span> sinfo_pfits_get_crval2(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> {</div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"CRVAL2"</span>);</div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> }</div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> </div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> <span class="keywordtype">double</span> sinfo_pfits_get_crval3(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> {</div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"CRVAL3"</span>);</div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> }</div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> </div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> <span class="keywordtype">int</span> sinfo_pfits_get_numbexp(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> {</div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> <span class="keywordflow">return</span> cpl_propertylist_get_int(plist,<span class="stringliteral">"ESO TPL NEXP"</span>);</div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> }</div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> </div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_obs_id(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> {</div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> <span class="keywordflow">return</span> cpl_propertylist_get_string(plist,<span class="stringliteral">"ESO OBS ID"</span>);</div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> }</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> </div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> <span class="keywordtype">int</span> sinfo_pfits_get_nodpos(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> {</div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> <span class="keywordflow">return</span> cpl_propertylist_get_int(plist,<span class="stringliteral">"ESO SEQ NODPOS"</span>);</div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> }</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> </div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> </div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> </div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> <span class="keywordtype">double</span> sinfo_pfits_get_ra(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> {</div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"RA"</span>);</div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> }</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> </div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_starname(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> {</div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> <span class="keywordflow">return</span> cpl_propertylist_get_string(plist,<span class="stringliteral">"ESO OBS TARG NAME"</span>);</div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> }</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> </div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> <span class="keywordtype">double</span> sinfo_pfits_get_resol(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> {</div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> <span class="keywordflow">return</span> cpl_propertylist_get_double(plist,<span class="stringliteral">"ESO INS RESOL"</span>);</div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> }</div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> </div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_templateid(<span class="keyword">const</span> cpl_propertylist * plist)</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> {</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> <span class="keywordflow">return</span> (<span class="keyword">const</span> <span class="keywordtype">char</span>*) cpl_propertylist_get_string(plist,<span class="stringliteral">"ESO TPL ID"</span>); </div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> }</div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> <span class="keyword">static</span> cpl_error_code</div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> sinfo_plist_set_extra_common_keys(cpl_propertylist* plist)</div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> {</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> </div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> cpl_propertylist_append_string(plist,<span class="stringliteral">"HDUCLASS"</span>, <span class="stringliteral">"ESO"</span>) ;</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> cpl_propertylist_set_comment(plist,<span class="stringliteral">"HDUCLASS"</span>,<span class="stringliteral">"hdu classification"</span>) ;</div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> </div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> cpl_propertylist_append_string(plist,<span class="stringliteral">"HDUDOC"</span>, <span class="stringliteral">"DICD"</span>) ;</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> cpl_propertylist_set_comment(plist,<span class="stringliteral">"HDUDOC"</span>,<span class="stringliteral">"hdu reference document"</span>) ;</div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> </div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> cpl_propertylist_append_string(plist,<span class="stringliteral">"HDUVERS"</span>, <span class="stringliteral">"DICD V6.0"</span>) ;</div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> cpl_propertylist_set_comment(plist,<span class="stringliteral">"HDUVERS"</span>,<span class="stringliteral">"hdu reference document version"</span>) ;</div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> </div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> }</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> </div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> cpl_error_code</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> sinfo_plist_set_extra_keys(cpl_propertylist* plist,</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* hduclas1,</div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* hduclas2,</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* hduclas3,</div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* scidata,</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* errdata,</div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* qualdata,</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> <span class="keyword">const</span> <span class="keywordtype">int</span> type)</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> {</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> </div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> cpl_ensure_code(type<3,CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> cpl_ensure_code(type>=0,CPL_ERROR_ILLEGAL_INPUT);</div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> </div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> sinfo_plist_set_extra_common_keys(plist);</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> </div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> cpl_propertylist_append_string(plist,<span class="stringliteral">"HDUCLAS1"</span>,hduclas1) ;</div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> cpl_propertylist_set_comment(plist,<span class="stringliteral">"HDUCLAS1"</span>,<span class="stringliteral">"hdu format classification"</span>) ;</div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> </div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> cpl_propertylist_append_string(plist,<span class="stringliteral">"HDUCLAS2"</span>,hduclas2) ;</div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> cpl_propertylist_set_comment(plist,<span class="stringliteral">"HDUCLAS2"</span>,<span class="stringliteral">"hdu type classification"</span>) ;</div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> </div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> <span class="keywordflow">if</span>(type!=0) {</div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> cpl_propertylist_append_string(plist,<span class="stringliteral">"HDUCLAS3"</span>,hduclas3) ;</div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> cpl_propertylist_set_comment(plist,<span class="stringliteral">"HDUCLAS3"</span>,<span class="stringliteral">"hdu info classification"</span>) ;</div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> cpl_propertylist_append_string(plist,<span class="stringliteral">"SCIDATA"</span>,scidata) ;</div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> cpl_propertylist_set_comment(plist,<span class="stringliteral">"SCIDATA"</span>,<span class="stringliteral">"name of data extension"</span>) ;</div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> }</div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> </div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> <span class="keywordflow">if</span>(type!=1) {</div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> <span class="comment">/* CASA prefers to have these not set if the extension actually does not exist</span></div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> <span class="comment"> cpl_propertylist_append_string(plist,"ERRDATA",errdata) ;</span></div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> <span class="comment"> cpl_propertylist_set_comment(plist,"ERRDATA","name of errs extension") ;</span></div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> }</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> </div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> <span class="keywordflow">if</span>(type!=2) {</div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> <span class="comment">/* CASA prefers to have these not set if the extension actually does not exist</span></div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> <span class="comment"> cpl_propertylist_append_string(plist,"QUALDATA",qualdata) ;</span></div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> <span class="comment"> cpl_propertylist_set_comment(plist,"QUALDATA","name of qual extension") ;</span></div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> }</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> </div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> }</div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__pfits_8h_source.html b/html/sinfo__pfits_8h_source.html
deleted file mode 100644
index fcfe627..0000000
--- a/html/sinfo__pfits_8h_source.html
+++ /dev/null
@@ -1,174 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_pfits.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_pfits.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_pfits.h,v 1.6 2012/03/22 15:26:10 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the NACO Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2012/03/22 15:26:10 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.6 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef SINFO_PFITS_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_PFITS_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">#include <sinfo_dfs.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> CPL_BEGIN_DECLS</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_rec1raw1name(<span class="keyword">const</span> cpl_propertylist * plist) ;</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_band(<span class="keyword">const</span> cpl_propertylist * plist);</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keywordtype">float</span> sinfo_pfits_get_pixelscale (<span class="keyword">const</span> <span class="keywordtype">char</span> * filename );</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keywordtype">double</span> sinfo_pfits_get_targ_alpha(<span class="keyword">const</span> cpl_propertylist * plist);</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keywordtype">double</span> sinfo_pfits_get_targ_delta(<span class="keyword">const</span> cpl_propertylist * plist);</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">char * sinfo_pfits_get_rec1raw1name(const char * filename) ;</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">int</span> sinfo_pfits_get_expno(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">double</span> sinfo_pfits_get_exptime(<span class="keyword">const</span> <span class="keywordtype">char</span> *) ;</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">char</span> * sinfo_pfits_get_mode(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">double</span> sinfo_pfits_get_pixscale(<span class="keyword">const</span> cpl_propertylist * plist);</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">double</span> sinfo_pfits_get_exp_time(<span class="keyword">const</span> cpl_propertylist* plist);</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordtype">double</span> sinfo_pfits_get_DEC(<span class="keyword">const</span> cpl_propertylist * plist);</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">double</span> sinfo_pfits_get_posangle(<span class="keyword">const</span> cpl_propertylist * plist);</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">int</span> sinfo_pfits_get_rom(<span class="keyword">const</span> cpl_propertylist * propertylist);</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_ncorrs_name(<span class="keyword">const</span> cpl_propertylist * plist) ;</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_date_obs(<span class="keyword">const</span> cpl_propertylist * plist) ;</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_ins_setup(<span class="keyword">const</span> cpl_propertylist * plist);</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">double</span> sinfo_pfits_get_airmass_start(<span class="keyword">const</span> cpl_propertylist * plist) ;</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_templateid(<span class="keyword">const</span> cpl_propertylist * plist) ;</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">double</span> sinfo_pfits_get_dit(<span class="keyword">const</span> cpl_propertylist * plist) ;</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">int</span> sinfo_pfits_get_ndit(<span class="keyword">const</span> cpl_propertylist * plist) ;</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_dpr_catg(<span class="keyword">const</span> cpl_propertylist * plist) ;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_dpr_tech(<span class="keyword">const</span> cpl_propertylist * plist) ;</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_dpr_type(<span class="keyword">const</span> cpl_propertylist * plist) ;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_arcfile(<span class="keyword">const</span> cpl_propertylist * plist) ;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">double</span> sinfo_pfits_get_ditndit(<span class="keyword">const</span> <span class="keywordtype">char</span>* name);</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">/* not used */</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">int</span> sinfo_pfits_get_nodpos(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">double</span> sinfo_pfits_get_ra(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">double</span> sinfo_pfits_get_resol(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_starname(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_obs_id(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_instrument(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_filter_spec(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_filter_im(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_pfits_get_frame_type(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keywordtype">int</span> sinfo_pfits_get_numbexp(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">double</span> sinfo_pfits_get_mjdobs(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">double</span> sinfo_pfits_get_focus(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">double</span> sinfo_pfits_get_cumoffsetx(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordtype">double</span> sinfo_pfits_get_cumoffsety(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">double</span> sinfo_pfits_get_alpha(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">double</span> sinfo_pfits_get_airmass_end(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">double</span> sinfo_pfits_get_dec(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordtype">double</span> sinfo_pfits_get_wlen(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordtype">double</span> sinfo_pfits_get_delta(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">int</span> sinfo_pfits_get_naxis1(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">int</span> sinfo_pfits_get_naxis2(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordtype">int</span> sinfo_pfits_get_naxis3(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">double</span> sinfo_pfits_get_crval1(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">double</span> sinfo_pfits_get_crval2(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">double</span> sinfo_pfits_get_crval3(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">double</span> sinfo_pfits_get_crpix1(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">double</span> sinfo_pfits_get_crpix2(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">double</span> sinfo_pfits_get_crpix3(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">double</span> sinfo_pfits_get_cdelt1(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keywordtype">double</span> sinfo_pfits_get_cdelt2(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">double</span> sinfo_pfits_get_cdelt3(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">/* keys not existent */</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">int</span> sinfo_pfits_get_chop_ncycles(<span class="keyword">const</span> cpl_propertylist * plist) ;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">double</span> sinfo_pfits_get_monoc_pos(<span class="keyword">const</span> cpl_propertylist *) ;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> cpl_error_code</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> sinfo_plist_set_extra_keys(cpl_propertylist* plist,</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* hduclas1,</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* hduclas2,</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* hduclas3,</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* scidata,</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* errdata,</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* qualdata,</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keyword">const</span> <span class="keywordtype">int</span> type);</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> CPL_END_DECLS</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__pixel__handling_8c_source.html b/html/sinfo__pixel__handling_8c_source.html
deleted file mode 100644
index 40c5663..0000000
--- a/html/sinfo__pixel__handling_8c_source.html
+++ /dev/null
@@ -1,167 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_pixel_handling.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_pixel_handling.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : pixel_handling.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Nicolas Devillard</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : March 04, 1997</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : Functions processing arrays of pixels.</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> $Id: sinfo_pixel_handling.c,v 1.6 2012/03/03 09:50:08 amodigli Exp $</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> $Author: amodigli $</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> $Date: 2012/03/03 09:50:08 $</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> $Revision: 1.6 $</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_pixel_handling.h"</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#define PIX_SWAP(a,b) { pixelvalue temp=(a);(a)=(b);(b)=temp; }</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor"></span><span class="preprocessor">#define PIX_STACK_SIZE 50</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> sinfo_pixel_qsort(pixelvalue *pix_arr, <span class="keywordtype">int</span> npix)</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> {</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">int</span> i,</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> ir,</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> j,</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> k,</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> l;</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">int</span> i_stack[PIX_STACK_SIZE*<span class="keyword">sizeof</span>(pixelvalue)] ;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">int</span> j_stack ;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> pixelvalue a ;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> ir = npix ;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> l = 1 ;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> j_stack = 0 ;</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keywordflow">for</span> (;;) {</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keywordflow">if</span> (ir-l < 7) {</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordflow">for</span> (j=l+1 ; j<=ir ; j++) {</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> a = pix_arr[j-1];</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordflow">for</span> (i=j-1 ; i>=1 ; i--) {</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordflow">if</span> (pix_arr[i-1] <= a) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> pix_arr[i] = pix_arr[i-1];</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> }</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> pix_arr[i] = a;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> }</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordflow">if</span> (j_stack == 0) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> ir = i_stack[j_stack-- -1];</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> l = i_stack[j_stack-- -1];</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> k = (l+ir) >> 1;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> PIX_SWAP(pix_arr[k-1], pix_arr[l])</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordflow">if</span> (pix_arr[l] > pix_arr[ir-1]) {</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> PIX_SWAP(pix_arr[l], pix_arr[ir-1])</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> }</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordflow">if</span> (pix_arr[l-1] > pix_arr[ir-1]) {</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> PIX_SWAP(pix_arr[l-1], pix_arr[ir-1])</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> }</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordflow">if</span> (pix_arr[l] > pix_arr[l-1]) {</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> PIX_SWAP(pix_arr[l], pix_arr[l-1])</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> }</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> i = l+1;</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> j = ir;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> a = pix_arr[l-1];</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordflow">for</span> (;;) {</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordflow">do</span> i++; <span class="keywordflow">while</span> (pix_arr[i-1] < a);</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordflow">do</span> j--; <span class="keywordflow">while</span> (pix_arr[j-1] > a);</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordflow">if</span> (j < i) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> PIX_SWAP(pix_arr[i-1], pix_arr[j-1]);</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> }</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> pix_arr[l-1] = pix_arr[j-1];</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> pix_arr[j-1] = a;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> j_stack += 2;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordflow">if</span> (j_stack > PIX_STACK_SIZE) {</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"stack too small : aborting"</span>);</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> exit(-2001) ;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> }</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordflow">if</span> (ir-i+1 >= j-l) {</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> i_stack[j_stack-1] = ir;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> i_stack[j_stack-2] = i;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> ir = j-1;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> i_stack[j_stack-1] = j-1;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> i_stack[j_stack-2] = l;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> l = i;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> }</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> }</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> }</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> }</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="preprocessor">#undef PIX_STACK_SIZE</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="preprocessor"></span><span class="preprocessor">#undef PIX_SWAP</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="preprocessor"></span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__pixel__handling_8h_source.html b/html/sinfo__pixel__handling_8h_source.html
deleted file mode 100644
index a80c595..0000000
--- a/html/sinfo__pixel__handling_8h_source.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_pixel_handling.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_pixel_handling.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_pixel_handling.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Nicolas Devillard</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : March 4th, 1997</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : Functions to handle list of pixels and their use</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> $Id: sinfo_pixel_handling.h,v 1.5 2007/06/06 07:10:45 amodigli Exp $</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> $Author: amodigli $</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> $Date: 2007/06/06 07:10:45 $</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> $Revision: 1.5 $</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#ifndef SINFO_PIXEL_HANDLING_H</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_PIXEL_HANDLING_H</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_local_types.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> Function ANSI prototypes</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> sinfo_pixel_qsort(pixelvalue *pix_arr, <span class="keywordtype">int</span> npix) ;</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__poly2d_8c_source.html b/html/sinfo__poly2d_8c_source.html
deleted file mode 100644
index 8926334..0000000
--- a/html/sinfo__poly2d_8c_source.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_poly2d.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_poly2d.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : poly2d.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : N. Devillard</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : 22 Jun 1999</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : 2D polynomial handling</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> $Id: sinfo_poly2d.c,v 1.4 2012/03/03 09:50:08 amodigli Exp $</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> $Author: amodigli $</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> $Date: 2012/03/03 09:50:08 $</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> $Revision: 1.4 $</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_poly2d.h"</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> sinfo_poly2d_compute(</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> poly2d * p,</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">double</span> x,</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">double</span> y</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> )</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> {</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">double</span> z ;</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> z = 0.00 ;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keywordflow">for</span> (i=0 ; i<p->nc ; i++) {</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> z += p->c[i] * sinfo_ipow(x, p->px[i]) * sinfo_ipow(y, p->py[i]) ;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> }</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordflow">return</span> z ;</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__poly2d_8h_source.html b/html/sinfo__poly2d_8h_source.html
deleted file mode 100644
index a536e62..0000000
--- a/html/sinfo__poly2d_8h_source.html
+++ /dev/null
@@ -1,121 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_poly2d.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_poly2d.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> File name : sinfo_poly2d.h</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Author : N. Devillard</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Created on : 22 Jun 1999</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> Description : 2D polynomial handling</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"></span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> $Id: sinfo_poly2d.h,v 1.4 2007/06/06 07:10:45 amodigli Exp $</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> $Author: amodigli $</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> $Date: 2007/06/06 07:10:45 $</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> $Revision: 1.4 $</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#ifndef SINFO_POLY2D_H</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_POLY2D_H</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <stdlib.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "sinfo_ipow.h"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> New types</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keyword">struct </span>_2D_POLY_ {</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">int</span> nc ; <span class="comment">/* number of coefficients in px, py, c */</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">int</span> * px ; <span class="comment">/* powers of x */</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordtype">int</span> * py ; <span class="comment">/* powers of y */</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">double</span> * c ; <span class="comment">/* polynomial coefficients */</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> } ;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>_2D_POLY_ poly2d ;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment"> Function codes </span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> sinfo_poly2d_compute(</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> poly2d * p,</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordtype">double</span> x,</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordtype">double</span> y</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> );</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__prepare__stacked__frames__config_8c_source.html b/html/sinfo__prepare__stacked__frames__config_8c_source.html
deleted file mode 100644
index c7b3a8f..0000000
--- a/html/sinfo__prepare__stacked__frames__config_8c_source.html
+++ /dev/null
@@ -1,390 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_prepare_stacked_frames_config.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_prepare_stacked_frames_config.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_prepare_stacked_frames_config.c,v 1.8 2008/02/27 15:10:05 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2008/02/27 15:10:05 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.8 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/**************************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Prepare_Stacked_Frames Frames Data Reduction Parameter Initialization *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> **************************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_prepare_stacked_frames_config.h"</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> sinfo_prepare_stacked_frames_config_add(cpl_parameterlist *list)</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> {</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> cpl_parameter *p;</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordflow">if</span> (!list) {</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> }</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> --------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> Clean Mean </span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> --------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">/* the fraction [0...1] of rejected low intensity pixels when taking </span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">the average of columns */</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.stacked.low_rejection"</span>,</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="stringliteral">"lower rejection"</span>,</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="stringliteral">"sinfoni.stacked"</span>,</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> 0.1,0.0,1.0);</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> cpl_parameter_set_alias(p,CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"stack-lo_rej"</span>);</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">/* the fraction [0...1] of rejected high intensity pixels when taking </span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">the average of columns */</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.stacked.high_rejection"</span>,</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="stringliteral">"higher rejection"</span>,</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="stringliteral">"sinfoni.stacked"</span>,</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> 0.1,0.0,1.0);</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"stack-hi_rej"</span>);</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"> --------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"> Flat Field </span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"> --------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment">/* indicates if flatfielding is carried through or not */</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.stacked.flat_index"</span>,</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="stringliteral">"Flat Index: "</span>,</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="stringliteral">"sinfoni.stacked"</span>,</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> TRUE);</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"stack-flat_ind"</span>);</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">/* indicates if flatfield is normalized to itself </span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment"> (to remove lamp response curve) */</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> p = cpl_parameter_new_enum(<span class="stringliteral">"sinfoni.stacked.mflat_norm_smooth"</span>,</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="stringliteral">"Normalize master flat to its smoothed value "</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="stringliteral">"(to remove lamp response curve). "</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="stringliteral">"0 (no smooth). 1 (apply fft filter along y)."</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="stringliteral">"2 (apply running median filter along y)."</span>,</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="stringliteral">"sinfoni.stacked"</span>,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> 0,3,0,1,2);</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"stack-mflat_norm_smooth"</span>);</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment">/* indicates if flatfield is normalized to itself </span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment"> (to remove lamp response curve) */</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.stacked.mflat_smooth_rad"</span>,</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="stringliteral">"Normalization smoothing radii "</span>,</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="stringliteral">"sinfoni.stacked"</span>,</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> 16,3,2048);</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"stack-mflat_smooth_rad"</span>);</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment"> --------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment"> Bad Pixel </span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment"> --------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">/* indicates if the bad pixels should be interpolated or not */</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> p = cpl_parameter_new_enum(<span class="stringliteral">"sinfoni.stacked.mask_index"</span>,</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="stringliteral">"BP Mask Interpolation Switch: "</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="stringliteral">"indicates if the bad pixel mask should be "</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="stringliteral">"applied (1) or not (0) "</span>,</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment"> "2: indicates that "</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment"> "the bad pixels should be interpolated by "</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment"> "using bezier splines",</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="stringliteral">"sinfoni.stacked"</span>,</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> 1,</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> 2,0,1); <span class="comment">/* there was also 2 allowed */</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"stack-mask_ind"</span>);</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment">/* indicates if the bad pixels should be indicated (TRUE) or </span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment"> interpolated (FALSE)*/</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.stacked.ind_index"</span>,</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="stringliteral">"indicates if the bad pixels should be "</span></div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="stringliteral">"indicated (yes) or interpolated (no)"</span>,</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="stringliteral">"sinfoni.stacked"</span>,</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> FALSE);</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"stack-ind_ind"</span>);</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment">/* maximal pixel distance from bad pixel to take valid pixels */</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.stacked.mask_rad"</span>,</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="stringliteral">"Max distance bad-good pix: "</span>,</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="stringliteral">"sinfoni.stacked"</span>,</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> 4);</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"stack-mask_rad"</span>);</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment">/* Temporally removed options: index_list, sigma-factor, </span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment"> used if mask_ind=2,3 */</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment">/* file list containing the index files for bezier interpolation */</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="comment"> p = cpl_parameter_new_value("sinfoni.stacked.index_list",</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment"> CPL_TYPE_STRING,</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment"> "Contain Index Files: ",</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment"> "sinfoni.stacked",</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment"> "indexlist");</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment"></span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment"> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,"stack-index_list");</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment"> cpl_parameterlist_append(list, p);</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment">/* sigmaFactor for bad pixel search in method maskInd = 3 */</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment"> p = cpl_parameter_new_value("sinfoni.stacked.sigma_factor",</span></div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment"> CPL_TYPE_DOUBLE,</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment"> "Sigma Factor for bp search: ",</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment"> "sinfoni.stacked",</span></div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment"> 3.);</span></div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment"></span></div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment"> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,"stack-sigma_factor");</span></div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="comment"> cpl_parameterlist_append(list, p);</span></div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment"> --------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment"> Interleaving: only to support dither mode. We comment </span></div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment"> --------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="comment">/* indicates if interleaving should be carried through */</span></div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment"> p = cpl_parameter_new_value("sinfoni.stacked.inter_index",</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment"> CPL_TYPE_BOOL,</span></div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="comment"> "Interleaving Switch: ",</span></div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="comment"> "sinfoni.stacked",</span></div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="comment"> FALSE);</span></div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="comment"></span></div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="comment"> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,"stack-inter_ind");</span></div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="comment"> cpl_parameterlist_append(list, p);</span></div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="comment">/* number of image rows from which the general offset between the frames is </span></div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="comment"> determined */</span></div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment"> p = cpl_parameter_new_value("sinfoni.stacked.no_rows",</span></div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment"> CPL_TYPE_INT,</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment"> "Number Of Rows",</span></div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="comment"> "sinfoni.stacked",</span></div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="comment"> 400);</span></div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="comment"></span></div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="comment"> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,"stack-no_rows");</span></div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="comment"> cpl_parameterlist_append(list, p);</span></div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="comment"> --------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="comment"> Gauss Convolution</span></div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="comment"> --------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="comment">/* indicates if a Gaussian convolution is applied or not */</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.stacked.gauss_index"</span>,</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="stringliteral">"Gaussian Convolution Switch: "</span>,</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="stringliteral">"sinfoni.stacked"</span>,</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> FALSE);</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"stack-gauss_ind"</span>);</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="comment">/* kernel half width of the Gaussian response function */</span></div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.stacked.kernel_half_width"</span>,</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="stringliteral">"Kernel Half Width"</span>,</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="stringliteral">"sinfoni.stacked"</span>,</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> 2);</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"stack-khw"</span>);</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="comment"> --------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="comment"> Shift Frames (To be used?)</span></div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="comment"> --------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="comment">/* Suppressed in release 1.1.0 */</span></div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="comment">/* indicates if a Gaussian convolution is applied or not */</span></div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="comment"> p = cpl_parameter_new_value("sinfoni.stacked.shift_frame_index",</span></div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="comment"> CPL_TYPE_BOOL,</span></div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="comment"> "Shift Frame Switch: ",</span></div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="comment"> "sinfoni.stacked",</span></div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="comment"> FALSE);</span></div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="comment"></span></div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="comment"> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,"stack-shft_ind");</span></div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment"> cpl_parameterlist_append(list, p);</span></div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="comment">/*type of interpolation to be used (0=polynomial , 1=cubic spline) */</span></div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="comment"> p = cpl_parameter_new_enum("sinfoni.stacked.shift_frame_type",</span></div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="comment"> CPL_TYPE_INT,</span></div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="comment"> "Shift Frame Type: 0 polynomial, 1 cubic,",</span></div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="comment"> "sinfoni.stacked",</span></div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="comment"> 1,</span></div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="comment"> 2,0,1);</span></div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="comment"></span></div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="comment"> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,"stack-shft_typ");</span></div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="comment"> cpl_parameterlist_append(list, p);</span></div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="comment">/* order of the interpolation for the spectral shift of frames */</span></div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="comment"> p = cpl_parameter_new_value("sinfoni.stacked.shift_frame_order",</span></div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="comment"> CPL_TYPE_INT,</span></div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="comment"> "Shift Frame Order",</span></div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="comment"> "sinfoni.stacked",</span></div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="comment"> 2);</span></div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="comment"></span></div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="comment"> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,"stack-shft_ord");</span></div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="comment"> cpl_parameterlist_append(list, p);</span></div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="comment"> --------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="comment"> WarpFix</span></div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="comment"> --------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.stacked.warpfix_ind"</span>,</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="stringliteral">"Warp Fix Index: "</span>,</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="stringliteral">"sinfoni.stacked"</span>,</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> TRUE);</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"stack-warpfix_ind"</span>);</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> p = cpl_parameter_new_enum(<span class="stringliteral">"sinfoni.stacked.warpfix_kernel"</span>,</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> CPL_TYPE_STRING,</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="stringliteral">"Warpfix kernel: "</span>,</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="stringliteral">"sinfoni.stacked"</span>,</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="stringliteral">"tanh"</span>,</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> 6,<span class="stringliteral">"tanh"</span>,<span class="stringliteral">"sinc"</span>,<span class="stringliteral">"sinc2"</span>,</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="stringliteral">"lanczos"</span>,<span class="stringliteral">"hamming"</span>,<span class="stringliteral">"hann"</span>);</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> </div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"stack-warpfix_kernel"</span>);</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> </div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.stacked.qc_thresh_min"</span>,</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="stringliteral">"qc_thresh_min"</span>,</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="stringliteral">"sinfoni.stack"</span>,</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> 0);</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"stack-qc_thresh_min"</span>);</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> </div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.stacked.qc_thresh_max"</span>,</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="stringliteral">"qc_thresh_max"</span>,</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="stringliteral">"sinfoni.stack"</span>,</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> 49000);</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> </div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"stack-qc_thresh_max"</span>);</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="comment">/* indicates if sky raw frame should be subtracted (TRUE) or not (FALSE) */</span></div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.stacked.sub_raw_sky"</span>,</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="stringliteral">"indicates if the raw sky frame should be "</span></div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="stringliteral">"subtracted (TRUE) or (FALSE)"</span>,</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="stringliteral">"sinfoni.stacked"</span>,</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> TRUE);</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> </div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"stack-sub_raw_sky"</span>);</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__prepare__stacked__frames__config_8h_source.html b/html/sinfo__prepare__stacked__frames__config_8h_source.html
deleted file mode 100644
index 74914a9..0000000
--- a/html/sinfo__prepare__stacked__frames__config_8h_source.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_prepare_stacked_frames_config.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_prepare_stacked_frames_config.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_prepare_stacked_frames_config.h,v 1.1 2006/10/20 08:06:33 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2006/10/20 08:06:33 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Prepare_Stacked_Frames Frames Data Reduction Parameter Initialization </span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include "cpl.h"</span> <span class="comment">/* defines parlist structure */</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> sinfo_prepare_stacked_frames_config_add(cpl_parameterlist *list);</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__pro__save_8c_source.html b/html/sinfo__pro__save_8c_source.html
deleted file mode 100644
index 5789555..0000000
--- a/html/sinfo__pro__save_8c_source.html
+++ /dev/null
@@ -1,1080 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_pro_save.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_pro_save.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include "sinfo_pro_save.h"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include "sinfo_key_names.h"</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include "sinfo_utilities.h"</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include "sinfo_globals.h"</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">static</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> sinfo_pfits_put_qc(</div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> cpl_propertylist * plist,</div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> cpl_table * qclog);</div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> sinfo_log_pro(<span class="keywordtype">char</span>* name_o,</div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* pro_catg, </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="keywordtype">int</span> frm_type, </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> cpl_frameset* ref_set,</div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> cpl_frameset** out_set, </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> cpl_propertylist** plist,</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> cpl_parameterlist* parlist, </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* recid);</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> sinfo_check_name(<span class="keyword">const</span> <span class="keywordtype">char</span>* in, <span class="keywordtype">char</span>** ou, <span class="keywordtype">int</span> type, <span class="keywordtype">char</span>** paf);</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> sinfo_clean_header(cpl_propertylist** header);</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> sinfo_clean_cube_header(cpl_propertylist** header);</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keyword">static</span> FILE * </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> sinfo_paf_print_header(</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * filename,</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * paf_id,</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * paf_desc,</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * login_name,</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">char</span> * datetime) ;</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keyword">static</span> FILE * </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> sinfo_paf_print_header(</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * filename,</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * paf_id,</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * paf_desc,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * login_name,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">char</span> * datetime)</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> {</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> FILE * paf ;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordflow">if</span> ((paf=fopen(filename, <span class="stringliteral">"w"</span>))==NULL) {</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot create PAF file [%s]"</span>, filename);</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> }</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> fprintf(paf, <span class="stringliteral">"PAF.HDR.START ;# start of header\n"</span>);</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> fprintf(paf, <span class="stringliteral">"PAF.TYPE \"pipeline product\" ;\n"</span>);</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> fprintf(paf, <span class="stringliteral">"PAF.ID \"%s\"\n"</span>, paf_id);</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> fprintf(paf, <span class="stringliteral">"PAF.NAME \"%s\"\n"</span>, filename);</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> fprintf(paf, <span class="stringliteral">"PAF.DESC \"%s\"\n"</span>, paf_desc);</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> fprintf(paf, <span class="stringliteral">"PAF.CRTE.NAME \"%s\"\n"</span>, login_name) ;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> fprintf(paf, <span class="stringliteral">"PAF.CRTE.DAYTIM \"%s\"\n"</span>, datetime) ;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> fprintf(paf, <span class="stringliteral">"PAF.LCHG.NAME \"%s\"\n"</span>, login_name) ;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> fprintf(paf, <span class="stringliteral">"PAF.LCHG.DAYTIM \"%s\"\n"</span>, datetime) ;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> fprintf(paf, <span class="stringliteral">"PAF.CHCK.CHECKSUM \"\"\n"</span>);</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> fprintf(paf, <span class="stringliteral">"PAF.HDR.END ;# end of header\n"</span>);</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> fprintf(paf, <span class="stringliteral">"\n"</span>);</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordflow">return</span> paf ;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> }</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> sinfo_update_fits_card_int(<span class="keyword">const</span> <span class="keywordtype">char</span>* file,<span class="keyword">const</span> <span class="keywordtype">char</span>* card,<span class="keywordtype">int</span> value)</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> {</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> cpl_propertylist * plist =NULL;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keywordflow">if</span> ((plist = cpl_propertylist_load(file, 0)) == NULL) {</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from file %s"</span>,file);</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> }</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordflow">if</span> (CPL_ERROR_NONE!=cpl_propertylist_set_int(plist,card,value)){</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"setting header of file %s"</span>,file);</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> }</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> }</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> sinfo_update_fits_card_float(<span class="keyword">const</span> <span class="keywordtype">char</span>* file,<span class="keyword">const</span> <span class="keywordtype">char</span>* card,<span class="keywordtype">float</span> value)</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> {</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> cpl_propertylist * plist =NULL;</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordflow">if</span> ((plist = cpl_propertylist_load(file, 0)) == NULL) {</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from file %s"</span>,file);</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"%s"</span>, (<span class="keywordtype">char</span>* ) cpl_error_get_message());</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"%s"</span>, (<span class="keywordtype">char</span>* ) cpl_error_get_where());</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> }</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keywordflow">if</span> (CPL_ERROR_NONE!=cpl_propertylist_set_float(plist,card,value)){</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"setting header of file %s"</span>,file);</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"%s"</span>, (<span class="keywordtype">char</span>* ) cpl_error_get_message());</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"%s"</span>, (<span class="keywordtype">char</span>* ) cpl_error_get_where());</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> }</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> }</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> sinfo_update_fits_card_double(<span class="keyword">const</span> <span class="keywordtype">char</span>* file,<span class="keyword">const</span> <span class="keywordtype">char</span>* card,<span class="keywordtype">double</span> value)</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> {</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> cpl_propertylist * plist =NULL;</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keywordflow">if</span> ((plist = cpl_propertylist_load(file, 0)) == NULL) {</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from file %s"</span>,file);</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> }</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keywordflow">if</span> (CPL_ERROR_NONE!=cpl_propertylist_set_double(plist,card,value)){</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"gsetting header of file %s"</span>,file);</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> }</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> }</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> sinfo_update_fits_card_long(<span class="keyword">const</span> <span class="keywordtype">char</span>* file,<span class="keyword">const</span> <span class="keywordtype">char</span>* card,<span class="keywordtype">long</span> value)</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> {</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> cpl_propertylist * plist =NULL;</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordflow">if</span> ((plist = cpl_propertylist_load(file, 0)) == NULL) {</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from file %s"</span>,file);</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> }</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordflow">if</span> (CPL_ERROR_NONE!=cpl_propertylist_set_long(plist,card,value)){</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"setting header of file %s"</span>,file);</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> }</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> }</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> sinfo_update_ims_fits_card_string(cpl_imagelist* iml,</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* file, </div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* card,</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* value)</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> {</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> cpl_propertylist * plist =NULL;</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keywordflow">if</span> ((plist = cpl_propertylist_load(file, 0)) == NULL) {</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from reference ima frame %s"</span>,file);</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> }</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="keywordflow">if</span> (CPL_ERROR_NONE!=cpl_propertylist_set_string(plist,card,value)){</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from reference ima frame %s"</span>,file);</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> }</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="keywordflow">if</span> (cpl_imagelist_save(iml,file,CPL_BPP_IEEE_FLOAT,</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> plist,CPL_IO_DEFAULT)!=CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from reference ima frame %s"</span>,file);</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> }</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> }</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="comment">/* Not used </span></div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="comment">static int sinfo_save_paf(char* name_p, </span></div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="comment"> const char* rec_id, </span></div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="comment"> cpl_table* qclog,</span></div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="comment"> cpl_propertylist* plist,</span></div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="comment"> const char* pro_catg)</span></div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="comment">{</span></div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="comment"></span></div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="comment"></span></div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="comment"></span></div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="comment"> FILE * paf ;</span></div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="comment"> const char * sval ;</span></div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="comment"> char key_name[FILE_NAME_SZ] ;</span></div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="comment"> char key_paf[FILE_NAME_SZ] ;</span></div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="comment"> char key_dpaf[FILE_NAME_SZ] ;</span></div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="comment"> char key_type[FILE_NAME_SZ] ;</span></div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="comment"> char key_value[FILE_NAME_SZ] ;</span></div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="comment"> double dval=0;</span></div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="comment"></span></div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="comment"> int i =0;</span></div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="comment"> int n=0;</span></div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="comment"> sinfo_msg( "Writing %s" , name_p) ;</span></div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="comment"> // Create the default PAF header</span></div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="comment"> if ((paf = sinfo_paf_print_header(name_p,rec_id,"QC file","login-name",</span></div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="comment"> sinfo_get_datetime_iso8601())) == NULL) {</span></div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="comment"> sinfo_msg_error( "cannot open file [%s] for output", name_p) ;</span></div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="comment"> return -1 ;</span></div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="comment"> if (sinfo_check_rec_status(0) == -1) {</span></div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="comment"> sinfo_msg_error( "Something was wrong") ;</span></div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="comment"> return -1 ;</span></div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="comment"></span></div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="comment"> // Test entries</span></div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="comment"> sinfo_blank2dot(PAF_NAME_PIPE_ID,key_dpaf);</span></div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="comment"> fprintf(paf,"%-21s \"%s\" ;# %s\" \n", key_dpaf,</span></div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="comment"> VERSION,KEY_HELP_PIPE_ID);</span></div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="comment"></span></div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="comment"> strcpy(key_name,KEY_NAME_PIPEFILE); </span></div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="comment"> strcpy(key_paf,KEY_NAME_PIPEFILE); </span></div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="comment"> sinfo_blank2dot(key_paf,key_dpaf);</span></div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="comment"> if (sinfo_propertylist_has(plist, key_name)) {</span></div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="comment"> fprintf(paf,"%-21s \"%s\" ;# %s\" \n",key_dpaf,</span></div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="comment"> cpl_propertylist_get_string(plist,key_name),KEY_HELP_PIPEFILE);</span></div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="comment"></span></div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="comment"> // Value: "TEMPORARY", "PREPROCESSED", "REDUCED" or "QCPARAM".</span></div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="comment"> strcpy(key_name,KEY_NAME_PRO_TYPE);</span></div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="comment"> strcpy(key_paf,PAF_NAME_PRO_TYPE); </span></div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="comment"> sinfo_blank2dot(key_paf,key_dpaf);</span></div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="comment"> if (sinfo_propertylist_has(plist, key_name)) {</span></div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="comment"> fprintf(paf,"%-21s \"%s\" ;# %s\" \n", key_dpaf,</span></div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="comment"> cpl_propertylist_get_string(plist,key_name),KEY_HELP_PRO_TYPE);</span></div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="comment"></span></div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="comment"> strcpy(key_name,KEY_NAME_PRO_DATANCOM); </span></div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="comment"> strcpy(key_paf,PAF_NAME_PRO_DATANCOM); </span></div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="comment"> sinfo_blank2dot(key_paf,key_dpaf);</span></div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="comment"> if (sinfo_propertylist_has(plist,key_name)) {</span></div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="comment"> fprintf(paf,"%-21s %d ;# %s\" \n",key_dpaf,</span></div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="comment"> cpl_propertylist_get_int(plist,key_name),KEY_HELP_PRO_DATANCOM);</span></div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="comment"> strcpy(key_name,KEY_NAME_NCORRS_NAME);</span></div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="comment"> strcpy(key_paf,PAF_NAME_NCORRS_NAME);</span></div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="comment"> sinfo_blank2dot(key_paf,key_dpaf);</span></div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="comment"> if (sinfo_propertylist_has(plist, key_name)) {</span></div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="comment"> fprintf(paf,"%-21s \"%s\" ;# %s \n", key_dpaf,</span></div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="comment"> cpl_propertylist_get_string(plist,key_name),KEY_HELP_NCORRS_NAME);</span></div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="comment"></span></div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="comment"> strcpy(key_name,KEY_NAME_DET_NDSAMPLES);</span></div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="comment"> strcpy(key_paf,PAF_NAME_DET_NDSAMPLES);</span></div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="comment"> sinfo_blank2dot(key_paf,key_dpaf); </span></div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="comment"> if (sinfo_propertylist_has(plist, key_name)) {</span></div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="comment"> fprintf(paf,"%-21s %d ;# %s \n",key_dpaf, </span></div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="comment"> cpl_propertylist_get_int(plist,key_name),KEY_HELP_DET_NDSAMPLES);</span></div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="comment"></span></div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="comment"> strcpy(key_name,KEY_NAME_FILT_NAME); </span></div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="comment"> strcpy(key_paf,PAF_NAME_FILT_NAME); </span></div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="comment"> sinfo_blank2dot(key_paf,key_dpaf); </span></div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="comment"> if (sinfo_propertylist_has(plist, key_name)) {</span></div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="comment"> fprintf(paf,"%-21s \"%s\" ;# %s \n", key_dpaf,</span></div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="comment"> cpl_propertylist_get_string(plist,key_name),KEY_HELP_FILT_NAME);</span></div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="comment"></span></div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="comment"> strcpy(key_name,KEY_NAME_FILT_ID); </span></div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="comment"> strcpy(key_paf,PAF_NAME_FILT_ID); </span></div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="comment"> sinfo_blank2dot(key_paf,key_dpaf); </span></div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="comment"> if (sinfo_propertylist_has(plist, key_name)) {</span></div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="comment"> fprintf(paf,"%-21s \"%s\" ;# %s \n",key_dpaf, </span></div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="comment"> cpl_propertylist_get_string(plist,key_name),KEY_HELP_FILT_ID);</span></div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="comment"></span></div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="comment"> strcpy(key_name,KEY_NAME_PREOPTICS); </span></div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="comment"> strcpy(key_paf,PAF_NAME_PREOPTICS); </span></div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="comment"> sinfo_blank2dot(key_paf,key_dpaf); </span></div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="comment"> if (sinfo_propertylist_has(plist, key_name)) {</span></div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="comment"> fprintf(paf,"%-21s \"%s\" ;# %s \n",key_dpaf, </span></div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="comment"> cpl_propertylist_get_string(plist,key_name),KEY_HELP_PREOPTICS);</span></div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="comment"></span></div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="comment"> strcpy(key_name,KEY_NAME_GRAT_NAME); </span></div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="comment"> strcpy(key_paf,PAF_NAME_GRAT_NAME); </span></div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="comment"> sinfo_blank2dot(key_paf,key_dpaf); </span></div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="comment"> if (sinfo_propertylist_has(plist, key_name)) {</span></div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="comment"> fprintf(paf, "%-21s \"%s\" ;# %s \n",key_dpaf, </span></div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="comment"> cpl_propertylist_get_string(plist,key_name),KEY_HELP_GRAT_NAME);</span></div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="comment"> strcpy(key_name,KEY_NAME_GRAT_WLEN); </span></div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="comment"> strcpy(key_paf,PAF_NAME_GRAT_WLEN); </span></div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="comment"> sinfo_blank2dot(key_paf,key_dpaf); </span></div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="comment"> if (sinfo_propertylist_has(plist, key_name)) {</span></div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="comment"> fprintf(paf, "%-21s %f ;# %s \n", key_dpaf,</span></div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="comment"> cpl_propertylist_get_double(plist,key_name),KEY_HELP_GRAT_WLEN);</span></div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="comment"></span></div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="comment"> strcpy(key_name,KEY_NAME_PRO_RECID); </span></div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="comment"> strcpy(key_paf,PAF_NAME_PRO_RECID); </span></div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="comment"> sinfo_blank2dot(key_paf,key_dpaf); </span></div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="comment"> if (sinfo_propertylist_has(plist, key_name)) {</span></div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="comment"> fprintf(paf,"%-21s \"%s\" ;# %s \n", key_dpaf,</span></div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="comment"> cpl_propertylist_get_string(plist,key_name),KEY_HELP_PRO_RECID);</span></div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="comment"></span></div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="comment"></span></div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="comment"> // snprintf(cval, MAX_NAME_SIZE-1,"CPL-%s", get_cpl_version());</span></div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="comment"> strcpy(key_name,KEY_NAME_PRO_DRSID); </span></div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="comment"> strcpy(key_paf,PAF_NAME_PRO_DRSID); </span></div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="comment"> sinfo_blank2dot(key_paf,key_dpaf); </span></div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="comment"> if (sinfo_propertylist_has(plist, key_name)) {</span></div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="comment"> fprintf(paf,"%-21s \"%s\" ;# %s \n",key_dpaf, </span></div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="comment"> cpl_propertylist_get_string(plist,key_name),KEY_HELP_PRO_DRSID);</span></div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="comment"></span></div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="comment"> if (sinfo_propertylist_has(plist,KEY_NAME_DATE_OBS)) {</span></div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="comment"> sval = sinfo_pfits_get_date_obs(plist);</span></div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="comment"> strcpy(key_paf,KEY_NAME_DATE_OBS); </span></div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="comment"> sinfo_blank2dot(key_paf,key_dpaf); </span></div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="comment"> fprintf(paf, "%-21s \"%s\" ;# %s\n",key_dpaf, </span></div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="comment"> sval,KEY_HELP_DATE_OBS) ;</span></div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="comment"></span></div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="comment"> if (sinfo_propertylist_has(plist,KEY_NAME_TEL_AIRM_START)) {</span></div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="comment"> dval = sinfo_pfits_get_airmass_start(plist);</span></div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="comment"> strcpy(key_paf,PAF_NAME_TEL_AIRM_START); </span></div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="comment"> sinfo_blank2dot(key_paf,key_dpaf); </span></div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="comment"> fprintf(paf, "%-21s \"%f\" ;# %s \n",key_dpaf, </span></div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="comment"> dval,KEY_HELP_TEL_AIRM_START) ;</span></div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="comment"> if (sinfo_propertylist_has(plist,KEY_NAME_ARCFILE)) {</span></div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="comment"> sval = sinfo_pfits_get_arcfile(plist);</span></div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="comment"> strcpy(key_paf,KEY_NAME_ARCFILE);</span></div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="comment"> sinfo_blank2dot(key_paf,key_dpaf); </span></div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="comment"> fprintf(paf, "%-21s \"%s\" ;# %s \n", key_dpaf,sval,KEY_HELP_ARCFILE) ;</span></div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <span class="comment"></span></div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> <span class="comment"> } else if (sinfo_propertylist_has(plist,KEY_NAME_PRO_REC1_RAW1_NAME)) {</span></div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="comment"> sval = sinfo_pfits_get_rec1raw1name(plist);</span></div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="comment"> strcpy(key_paf,KEY_NAME_ARCFILE);</span></div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="comment"> sinfo_blank2dot(key_paf,key_dpaf); </span></div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="comment"> fprintf(paf, "%-21s \"%s\" ;# %s \n", key_dpaf,sval,KEY_HELP_ARCFILE) ;</span></div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="comment"> } else {</span></div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="comment"> sinfo_msg_error("%s is missing QC LOG will fail!",KEY_NAME_ARCFILE);</span></div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="comment"></span></div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="comment"> if (sinfo_propertylist_has(plist,KEY_NAME_TPL_ID)) {</span></div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="comment"> sval = sinfo_pfits_get_templateid(plist);</span></div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="comment"> strcpy(key_paf,PAF_NAME_TPL_ID);</span></div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="comment"> sinfo_blank2dot(key_paf,key_dpaf); </span></div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <span class="comment"> fprintf(paf, "%-21s \"%s\" ; # %s\n", key_dpaf,</span></div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="comment"> sval,KEY_HELP_TPL_ID) ;</span></div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="comment"></span></div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="comment"> if (sinfo_propertylist_has(plist,KEY_NAME_DET_DIT)) { </span></div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="comment"> strcpy(key_paf,PAF_NAME_DET_DIT); </span></div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <span class="comment"> sinfo_blank2dot(key_paf,key_dpaf); </span></div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="comment"> fprintf(paf,"%-21s %f ; # %s\n", key_dpaf,</span></div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> <span class="comment"> sinfo_pfits_get_dit(plist),KEY_HELP_DET_DIT) ;</span></div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <span class="comment"></span></div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="comment"></span></div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="comment"> if (sinfo_propertylist_has(plist,KEY_NAME_DET_NDIT)) {</span></div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="comment"> strcpy(key_paf,PAF_NAME_DET_NDIT); </span></div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> <span class="comment"> sinfo_blank2dot(key_paf,key_dpaf); </span></div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="comment"> fprintf(paf,"%-21s %d ; # %s\n", key_dpaf,</span></div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="comment"> sinfo_pfits_get_ndit(plist),KEY_HELP_DET_NDIT) ;</span></div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="comment"></span></div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="comment"> if (sinfo_propertylist_has(plist,KEY_NAME_NCORRS_NAME)) {</span></div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="comment"> sval = sinfo_pfits_get_ncorrs_name(plist);</span></div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="comment"> strcpy(key_paf,PAF_NAME_NCORRS_NAME); </span></div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="comment"> sinfo_blank2dot(key_paf,key_dpaf); </span></div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="comment"></span></div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="comment"> fprintf(paf, "%-21s \"%s\" ; # %s\n", key_dpaf,</span></div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="comment"> sval, KEY_HELP_NCORRS_NAME) ;</span></div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="comment"> if (sinfo_propertylist_has(plist,KEY_NAME_DPR_TYPE)) {</span></div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="comment"> sval = sinfo_pfits_get_dpr_type(plist);</span></div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="comment"> strcpy(key_paf,PAF_NAME_DPR_TYPE); </span></div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="comment"> sinfo_blank2dot(key_paf,key_dpaf); </span></div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="comment"> fprintf(paf, "%-21s \"%s\" ; # %s\n", key_dpaf,</span></div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="comment"> sval, KEY_HELP_DPR_TYPE) ;</span></div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="comment"></span></div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="comment"> if (sinfo_propertylist_has(plist,KEY_NAME_DPR_TECH)) {</span></div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="comment"> sval = sinfo_pfits_get_dpr_tech(plist);</span></div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="comment"> strcpy(key_paf,PAF_NAME_DPR_TECH); </span></div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="comment"> sinfo_blank2dot(key_paf,key_dpaf); </span></div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="comment"> fprintf(paf, "%-21s \"%s\" ; # %s\n", key_dpaf,</span></div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="comment"> sval, KEY_HELP_DPR_TECH) ;</span></div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="comment"></span></div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <span class="comment"> if (sinfo_propertylist_has(plist,KEY_NAME_DPR_CATG)) {</span></div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> <span class="comment"> sval = sinfo_pfits_get_dpr_catg(plist);</span></div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="comment"> strcpy(key_paf,PAF_NAME_DPR_CATG); </span></div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="comment"> sinfo_blank2dot(key_paf,key_dpaf); </span></div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="comment"> fprintf(paf, "%-21s \"%s\" ; # %s\n", key_dpaf,</span></div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="comment"> sval, KEY_HELP_DPR_CATG) ;</span></div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="comment"> strcpy(key_paf,PAF_NAME_PRO_CATG); </span></div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="comment"> sinfo_blank2dot(key_paf,key_dpaf); </span></div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> <span class="comment"> fprintf(paf, "%-21s \"%s\" ; # %s\n", key_dpaf,</span></div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="comment"> pro_catg, KEY_HELP_PRO_CATG) ;</span></div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="comment"></span></div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <span class="comment"> if (sinfo_propertylist_has(plist,KEY_NAME_INS_SETUP)) {</span></div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="comment"> sval = sinfo_pfits_get_ins_setup(plist);</span></div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="comment"> strcpy(key_paf,PAF_NAME_INS_SETUP); </span></div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> <span class="comment"> sinfo_blank2dot(key_paf,key_dpaf); </span></div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> <span class="comment"> fprintf(paf, "%-21s \"%s\" ; # %s\n", key_dpaf,</span></div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="comment"> sval, KEY_HELP_INS_SETUP) ;</span></div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> <span class="comment"></span></div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> <span class="comment"> n=cpl_table_get_nrow(qclog);</span></div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> <span class="comment"> for(i=0;i<n;i++) {</span></div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="comment"> strcpy(key_paf,cpl_table_get_string(qclog,"key_name",i));</span></div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> <span class="comment"> sinfo_blank2dot(key_paf,key_name);</span></div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> <span class="comment"> strcpy(key_type,cpl_table_get_string(qclog,"key_type",i));</span></div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> <span class="comment"> strcpy(key_value,cpl_table_get_string(qclog,"key_value",i));</span></div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> <span class="comment"> if(strcmp(key_type,"CPL_TYPE_STRING") == 0) {</span></div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="comment"> strcat(key_name," \"%s\"\n");</span></div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="comment"> fprintf(paf, key_name, key_value) ;</span></div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> <span class="comment"> } else if(strcmp(key_type,"CPL_TYPE_BOOL") == 0) {</span></div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <span class="comment"> strcat(key_name," ");</span></div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> <span class="comment"> strcat(key_name,"%c\n");</span></div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> <span class="comment"> fprintf(paf, key_name, atoi(key_value)) ;</span></div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> <span class="comment"> } else if(strcmp(key_type,"CPL_TYPE_INT") == 0) {</span></div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="comment"> strcat(key_name," ");</span></div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> <span class="comment"> strcat(key_name,"%d\n");</span></div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> <span class="comment"> fprintf(paf, key_name, atoi(key_value)) ;</span></div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="comment"> } else if(strcmp(key_type,"CPL_TYPE_FLOAT") == 0) {</span></div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="comment"> strcat(key_name," ");</span></div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="comment"> strcat(key_name,"%g\n");</span></div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> <span class="comment"> fprintf(paf, key_name, (float) atof(key_value)) ;</span></div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> <span class="comment"> } else if(strcmp(key_type,"CPL_TYPE_DOUBLE") == 0) {</span></div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> <span class="comment"> strcat(key_name," ");</span></div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> <span class="comment"> strcat(key_name,"%g\n");</span></div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="comment"> fprintf(paf, key_name, atof(key_value)) ;</span></div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> <span class="comment"></span></div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="comment"> fprintf(paf, "\n");</span></div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <span class="comment"> fclose(paf) ;</span></div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <span class="comment"></span></div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> <span class="comment"> if (sinfo_check_rec_status(1) == -1) {</span></div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> <span class="comment"> sinfo_msg_error( "Something was wrong reading FITS keys") ;</span></div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> <span class="comment"> return -1 ;</span></div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <span class="comment"> return 0;</span></div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> <span class="comment"></span></div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> <span class="comment">}</span></div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> <span class="comment"></span></div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> </div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> </div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> </div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="keywordtype">int</span> sinfo_pro_save_ima(</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> cpl_image * ima,</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> cpl_frameset * ref,</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> cpl_frameset * <span class="keyword">set</span>,</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * out_file,</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * pro_catg,</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> cpl_table * qclog,</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * recid,</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> cpl_parameterlist* parlist)</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> </div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> {</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> <span class="keywordtype">char</span> * name_o ;</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> <span class="keywordtype">char</span> * name_p ;</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> </div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> cpl_propertylist * plist =NULL;</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> cpl_frame * first_frame=NULL;</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="keywordtype">char</span> * ref_file=NULL;</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> </div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> <span class="comment">/* Get the reference file */</span></div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> first_frame = cpl_frameset_get_first(ref) ;</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> ref_file = (<span class="keywordtype">char</span>*) cpl_strdup(cpl_frame_get_filename(first_frame)) ;</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> </div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> name_o = cpl_malloc(FILE_NAME_SZ * <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>));</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> name_p = cpl_malloc(FILE_NAME_SZ * <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>));</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> sinfo_check_name(out_file, &name_o, CPL_FRAME_TYPE_IMAGE, &name_p);</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> sinfo_msg( <span class="stringliteral">"Writing ima %s pro catg %s"</span> , name_o, pro_catg) ;</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> </div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> <span class="comment">/* Get FITS header from reference file */</span></div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> <span class="keywordflow">if</span> ((cpl_error_code)((plist=cpl_propertylist_load(ref_file, 0)) == NULL)) {</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from reference ima frame %s"</span>,ref_file);</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> cpl_free(ref_file);</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> }</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> </div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> sinfo_clean_header(&plist);</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="keywordflow">if</span> ( ( strstr(pro_catg,<span class="stringliteral">"MASTER_PSF"</span>) != NULL ) || </div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> ( strstr(pro_catg,<span class="stringliteral">"STD_STAR_SPECTRUM"</span>) != NULL ) || </div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> ( strstr(pro_catg,<span class="stringliteral">"STD_STAR_SPECTRA"</span>) != NULL ) ) {</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> sinfo_clean_cube_header(&plist);</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> }</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> </div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="comment">/* Add DataFlow keywords and log the saved file in the input frameset */</span></div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> sinfo_log_pro(name_o, pro_catg, CPL_FRAME_TYPE_IMAGE, </div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> ref,&<span class="keyword">set</span>,&plist,parlist,recid);</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> <span class="keywordflow">if</span>(qclog != NULL) {</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> sinfo_pfits_put_qc(plist, qclog) ;</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> }</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> </div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> <span class="comment">/* Save the file */</span></div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> <span class="keywordflow">if</span> (cpl_image_save(ima, name_o, CPL_BPP_IEEE_FLOAT, </div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> plist,CPL_IO_DEFAULT)!=CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"Cannot save the product %s"</span>,name_o);</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> cpl_free(ref_file);</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> cpl_free(name_o);</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> cpl_free(name_p);</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> }</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> </div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> <span class="comment">/* THE PAF FILE FOR QC PARAMETERS </span></div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> <span class="comment"> if( qclog != NULL) {</span></div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> <span class="comment"> sinfo_save_paf(name_p,recid,qclog,plist,pro_catg); </span></div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> </div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> cpl_msg_indent_less() ;</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> cpl_free(name_o);</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> cpl_free(name_p);</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> cpl_free(ref_file);</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> </div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> }</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> </div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> </div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> </div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> </div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> </div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="keywordtype">int</span> sinfo_pro_save_tbl(</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> cpl_table * table,</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> cpl_frameset * ref,</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> cpl_frameset * <span class="keyword">set</span>,</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * out_file,</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * pro_catg, </div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> cpl_table * qclog,</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * recid,</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> cpl_parameterlist* parlist)</div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> </div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> {</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> <span class="keywordtype">char</span> * name_o =NULL;</div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> <span class="keywordtype">char</span> * name_p =NULL;</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> cpl_propertylist * plist=NULL ;</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> cpl_frame* first_frame=NULL;</div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> <span class="keywordtype">char</span>* ref_file=NULL;</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> <span class="comment">/* Get the reference file */</span></div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> first_frame = cpl_frameset_get_first(ref) ;</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> ref_file = cpl_strdup(cpl_frame_get_filename(first_frame)) ;</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> </div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> name_o = cpl_malloc(FILE_NAME_SZ * <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>));</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> name_p = cpl_malloc(FILE_NAME_SZ * <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>));</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> sinfo_check_name(out_file, &name_o, CPL_FRAME_TYPE_TABLE, &name_p);</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> sinfo_msg( <span class="stringliteral">"Writing tbl %s pro catg %s"</span> , name_o, pro_catg) ;</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> </div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> <span class="comment">/* Get FITS header from reference file */</span></div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <span class="keywordflow">if</span> ((cpl_error_code)((plist = cpl_propertylist_load(ref_file,0)) == NULL)) </div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> {</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from tbl frame %s"</span>,ref_file);</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> cpl_free(ref_file);</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> cpl_free(name_o);</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> cpl_free(name_p);</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> }</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> sinfo_clean_header(&plist);</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> </div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> <span class="comment">/* Add DataFlow keywords and log the saved file in the input frameset */</span></div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> sinfo_log_pro(name_o, pro_catg, CPL_FRAME_TYPE_TABLE, </div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> ref,&<span class="keyword">set</span>,&plist,parlist,recid);</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> <span class="keywordflow">if</span>(qclog != NULL) {</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> sinfo_pfits_put_qc(plist, qclog) ;</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> }</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> <span class="comment">/* Save the file */</span></div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> <span class="keywordflow">if</span> (cpl_table_save(table, plist, NULL, name_o, CPL_IO_DEFAULT) </div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"Cannot save the product: %s"</span>, name_o);</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> cpl_free(ref_file);</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> cpl_free(name_o);</div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> cpl_free(name_p);</div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> }</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> </div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> </div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> <span class="comment">/* THE PAF FILE FOR QC PARAMETERS </span></div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> <span class="comment"> if (qclog != NULL) {</span></div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> <span class="comment"> sinfo_save_paf(name_p,recid,qclog,plist,pro_catg);</span></div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> cpl_msg_indent_less() ;</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> cpl_free(name_o);</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> cpl_free(name_p);</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> cpl_free(ref_file);</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> }</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> </div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> </div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> </div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> </div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> </div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> </div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> <span class="keywordtype">int</span> sinfo_pro_save_ims(</div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> cpl_imagelist * ims,</div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> cpl_frameset * ref,</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> cpl_frameset * <span class="keyword">set</span>,</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * out_file,</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * pro_catg, </div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> cpl_table * qclog,</div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * recid,</div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> cpl_parameterlist* parlist)</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> </div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> {</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> <span class="keywordtype">char</span> * name_o=NULL;</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> <span class="keywordtype">char</span> * name_p=NULL;</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> </div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> cpl_propertylist * plist=NULL ;</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> cpl_frame* first_frame=NULL;</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> <span class="keywordtype">char</span>* ref_file=NULL;</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> </div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> <span class="comment">/* Get the reference file */</span></div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> first_frame = cpl_frameset_get_first(ref) ;</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> ref_file = cpl_strdup(cpl_frame_get_filename(first_frame)) ;</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> </div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> name_o = cpl_malloc(FILE_NAME_SZ * <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>));</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> name_p = cpl_malloc(FILE_NAME_SZ * <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>));</div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> sinfo_check_name(out_file, &name_o, CPL_FRAME_TYPE_IMAGE, &name_p);</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> sinfo_msg( <span class="stringliteral">"Writing ims %s pro catg %s"</span> , name_o, pro_catg) ;</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> <span class="comment">/* Get FITS header from reference file */</span></div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> <span class="keywordflow">if</span> ((cpl_error_code)((plist = cpl_propertylist_load(ref_file, 0)) == NULL))</div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> {</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from ims frame %s"</span>,ref_file);</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> cpl_free(ref_file);</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> cpl_free(name_o);</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> cpl_free(name_p);</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> }</div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> sinfo_clean_header(&plist);</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> <span class="keywordflow">if</span> ( ( strstr(pro_catg,<span class="stringliteral">"STD"</span>) != NULL ) || </div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> ( strstr(pro_catg,<span class="stringliteral">"PSF"</span>) != NULL ) || </div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> ( strstr(pro_catg,<span class="stringliteral">"OBJ"</span>) != NULL ) ) {</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> sinfo_clean_cube_header(&plist);</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> }</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> </div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> <span class="comment">/* Add DataFlow keywords and log the saved file in the input frameset */</span></div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> sinfo_log_pro(name_o, pro_catg, CPL_FRAME_TYPE_IMAGE, </div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> ref,&<span class="keyword">set</span>,&plist,parlist,recid);</div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> </div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> <span class="keywordflow">if</span>(qclog != NULL) {</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> sinfo_pfits_put_qc(plist, qclog) ;</div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> }</div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> </div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> </div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> <span class="comment">/* Save the file */</span></div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> <span class="keywordflow">if</span> (cpl_imagelist_save(ims, name_o, CPL_BPP_IEEE_FLOAT, </div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> plist,CPL_IO_DEFAULT)!=CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"Cannot save the product %s"</span>,name_o);</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> cpl_free(ref_file);</div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> cpl_free(name_o);</div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> cpl_free(name_p);</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> }</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> </div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> <span class="comment">/* THE PAF FILE FOR QC PARAMETERS </span></div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> <span class="comment"> if (qclog != NULL) {</span></div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> <span class="comment"> sinfo_save_paf(name_p,recid,qclog,plist,pro_catg);</span></div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> cpl_msg_indent_less() ;</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> cpl_free(name_o);</div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> cpl_free(name_p);</div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> cpl_free(ref_file);</div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> }</div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> </div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> </div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> </div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> sinfo_log_pro(<span class="keywordtype">char</span>* name_o, </div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* pro_catg, </div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> <span class="keywordtype">int</span> frm_type, </div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> cpl_frameset* ref_set,</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> cpl_frameset** out_set,</div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> cpl_propertylist** plist,</div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> cpl_parameterlist* parlist, </div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* recid)</div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> {</div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> cpl_frame* product_frame = NULL ;</div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> <span class="keywordtype">char</span> * pipe_id=NULL;</div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> cpl_errorstate initial_errorstate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> </div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> pipe_id = cpl_calloc(FILE_NAME_SZ,<span class="keyword">sizeof</span>(<span class="keywordtype">char</span>));</div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> snprintf(pipe_id,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%s"</span>,<span class="stringliteral">"sinfo/"</span>,PACKAGE_VERSION);</div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> product_frame = cpl_frame_new() ;</div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> cpl_frame_set_filename(product_frame, name_o) ;</div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> cpl_frame_set_tag(product_frame, pro_catg) ;</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> cpl_frame_set_type(product_frame, frm_type);</div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> cpl_frame_set_group(product_frame, CPL_FRAME_GROUP_PRODUCT);</div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> cpl_frame_set_level(product_frame, CPL_FRAME_LEVEL_FINAL);</div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> </div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> <span class="preprocessor">#if defined CPL_VERSION_CODE && CPL_VERSION_CODE >= CPL_VERSION(4, 8, 0) </span></div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> <span class="preprocessor"></span> <span class="keywordflow">if</span>(cpl_dfs_setup_product_header(*plist,product_frame,ref_set,parlist,recid,</div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> pipe_id,KEY_VALUE_HPRO_DID,NULL) != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"Problem in the product DFS-compliance"</span>);</div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"%s"</span>, (<span class="keywordtype">char</span>* ) cpl_error_get_message());</div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> cpl_errorstate_dump(initial_errorstate, CPL_FALSE, NULL);</div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> cpl_error_reset();</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> }</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> <span class="preprocessor"></span> <span class="keywordflow">if</span>(cpl_dfs_setup_product_header(*plist,product_frame,ref_set,parlist,recid,</div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> pipe_id,KEY_VALUE_HPRO_DID) != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"Problem in the product DFS-compliance"</span>);</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>((<span class="keywordtype">char</span>* ) cpl_error_get_message());</div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> cpl_errorstate_dump(initial_errorstate, CPL_FALSE, NULL);</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> cpl_error_reset();</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> }</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> <span class="preprocessor"></span> cpl_frameset_insert(*out_set, product_frame);</div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> cpl_free(pipe_id);</div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> </div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> }</div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> </div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> sinfo_check_name(<span class="keyword">const</span> <span class="keywordtype">char</span>* in, <span class="keywordtype">char</span>** ou, <span class="keywordtype">int</span> type, <span class="keywordtype">char</span>** paf) {</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> </div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> <span class="keywordtype">char</span>* tmp=NULL;</div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> <span class="keywordtype">char</span> name_b[512] ;</div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> <span class="keywordflow">if</span> (strstr(in, <span class="stringliteral">"."</span> ) != NULL ) {</div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> tmp = sinfo_new_get_rootname(in);</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> strcpy(name_b,tmp);</div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> snprintf(name_b, MAX_NAME_SIZE-1,<span class="stringliteral">"%s"</span>, in) ;</div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> }</div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> strcpy(*ou,name_b);</div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> <span class="keywordflow">if</span> (type == CPL_FRAME_TYPE_TABLE) {</div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> strcat(*ou,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> strcat(*ou,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> }</div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> strcpy(*paf,name_b);</div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> strcat(*paf,<span class="stringliteral">".paf"</span>);</div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> </div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> }</div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> </div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> </div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> sinfo_clean_header(cpl_propertylist** header)</div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> {</div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> cpl_propertylist_erase_regexp(*header, <span class="stringliteral">"^ESO PRO .*"</span>,0);</div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> </div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> }</div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> </div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> </div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> sinfo_clean_cube_header(cpl_propertylist** header)</div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> {</div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> cpl_propertylist_erase_regexp(*header, <span class="stringliteral">"^CRVAL*"</span>,0);</div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> cpl_propertylist_erase_regexp(*header, <span class="stringliteral">"^CRPIX*"</span>,0);</div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> cpl_propertylist_erase_regexp(*header, <span class="stringliteral">"^CTYPE*"</span>,0);</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> cpl_propertylist_erase_regexp(*header, <span class="stringliteral">"^CUNIT*"</span>,0);</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> cpl_propertylist_erase_regexp(*header, <span class="stringliteral">"^CD1_1"</span>,0);</div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> cpl_propertylist_erase_regexp(*header, <span class="stringliteral">"^CD1_2"</span>,0);</div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> cpl_propertylist_erase_regexp(*header, <span class="stringliteral">"^CD2_1"</span>,0);</div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> cpl_propertylist_erase_regexp(*header, <span class="stringliteral">"^CD2_2"</span>,0);</div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> </div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> }</div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> </div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> </div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> </div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> </div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> </div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> </div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> <span class="keyword">static</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> sinfo_pfits_put_qc(</div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> cpl_propertylist * plist,</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> cpl_table * qclog)</div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> {</div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> <span class="keywordtype">char</span> key_name[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> <span class="keywordtype">char</span> key_value[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> <span class="keywordtype">char</span> key_type[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> <span class="keywordtype">char</span> key_help[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> </div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> <span class="keywordtype">int</span> i =0;</div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> <span class="keywordtype">int</span> n =0;</div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> <span class="keywordflow">if</span> (plist == NULL) {</div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"plist=NULL, something strange"</span>);</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> }</div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> <span class="comment">/* Parameter Name: PIPEFILE */</span></div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> </div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> n=cpl_table_get_nrow(qclog);</div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> <span class="keywordflow">for</span>(i=0;i<n;i++) {</div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> strcpy(key_name,<span class="stringliteral">"ESO "</span>);</div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> strcat(key_name,cpl_table_get_string(qclog,<span class="stringliteral">"key_name"</span>,i));</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> strcpy(key_type,cpl_table_get_string(qclog,<span class="stringliteral">"key_type"</span>,i));</div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> strcpy(key_value,cpl_table_get_string(qclog,<span class="stringliteral">"key_value"</span>,i));</div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> strcpy(key_help,cpl_table_get_string(qclog,<span class="stringliteral">"key_help"</span>,i));</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> </div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> <span class="comment">/* sinfo_msg("name=%s type=%s value=%s\n",key_name,key_type,key_value); */</span></div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> <span class="keywordflow">if</span>(!sinfo_propertylist_has(plist,key_name)) {</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> <span class="keywordflow">if</span>(strcmp(key_type,<span class="stringliteral">"CPL_TYPE_STRING"</span>) == 0) {</div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> cpl_propertylist_append_string(plist, key_name,key_value) ;</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> cpl_propertylist_set_comment(plist, key_name,key_help) ;</div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(strcmp(key_type,<span class="stringliteral">"CPL_TYPE_BOOL"</span>) == 0) {</div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> cpl_propertylist_append_bool(plist, key_name,atoi(key_value)) ;</div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> cpl_propertylist_set_comment(plist, key_name,key_help) ;</div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(strcmp(key_type,<span class="stringliteral">"CPL_TYPE_INT"</span>) == 0) {</div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> cpl_propertylist_append_int(plist,key_name,atoi(key_value)) ;</div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> cpl_propertylist_set_comment(plist, key_name,key_help) ;</div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(strcmp(key_type,<span class="stringliteral">"CPL_TYPE_FLOAT"</span>) == 0) {</div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> cpl_propertylist_append_float(plist, key_name,(<span class="keywordtype">float</span>)atof(key_value)) ;</div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> cpl_propertylist_set_comment(plist, key_name,key_help) ;</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(strcmp(key_type,<span class="stringliteral">"CPL_TYPE_DOUBLE"</span>) == 0) {</div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> cpl_propertylist_append_double(plist, key_name,atof(key_value)) ;</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> cpl_propertylist_set_comment(plist, key_name,key_help) ;</div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> }</div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> }</div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> </div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> }</div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> </div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> }</div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> </div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> </div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> </div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> </div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> </div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> </div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> </div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> cpl_table *</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> sinfo_qclog_init(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> {</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> </div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> cpl_table *table;</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> </div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> table = cpl_table_new(0);</div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> cpl_table_new_column(table,<span class="stringliteral">"key_name"</span>, CPL_TYPE_STRING);</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> cpl_table_new_column(table,<span class="stringliteral">"key_type"</span>, CPL_TYPE_STRING);</div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> cpl_table_new_column(table,<span class="stringliteral">"key_value"</span>, CPL_TYPE_STRING);</div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> cpl_table_new_column(table,<span class="stringliteral">"key_help"</span>, CPL_TYPE_STRING);</div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> </div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> <span class="keywordflow">return</span> table;</div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> }</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> </div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> </div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> </div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> </div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> </div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> sinfo_qclog_add_int(cpl_table* table,</div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* key_name, </div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> <span class="keyword">const</span> <span class="keywordtype">int</span> value,</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* key_help,</div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* format)</div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> {</div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> <span class="keywordtype">int</span> sz = cpl_table_get_nrow(table);</div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> <span class="keywordtype">int</span> raw = sz;</div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> <span class="keywordtype">char</span> key_value[FILE_NAME_SZ];</div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> <span class="keywordtype">char</span> key_type[FILE_NAME_SZ];</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> </div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> snprintf(key_value,MAX_NAME_SIZE-1,format,value);</div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> strcpy(key_type,<span class="stringliteral">"CPL_TYPE_INT"</span>); </div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> </div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> cpl_table_set_size(table,sz+1);</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> </div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> cpl_table_set_string(table,<span class="stringliteral">"key_name"</span> ,raw,key_name);</div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> cpl_table_set_string(table,<span class="stringliteral">"key_type"</span> ,raw,key_type);</div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> cpl_table_set_string(table,<span class="stringliteral">"key_value"</span>,raw,key_value);</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> cpl_table_set_string(table,<span class="stringliteral">"key_help"</span> ,raw,key_help);</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> </div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> </div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> }</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> </div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> </div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> </div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> sinfo_qclog_add_bool(cpl_table* table,</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* key_name, </div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> <span class="keyword">const</span> <span class="keywordtype">char</span> value,</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* key_help,</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* format)</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> {</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> <span class="keywordtype">int</span> sz = cpl_table_get_nrow(table);</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> <span class="keywordtype">int</span> raw = sz;</div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> <span class="keywordtype">char</span> key_value[FILE_NAME_SZ];</div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> <span class="keywordtype">char</span> key_type[FILE_NAME_SZ];</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> </div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> snprintf(key_value,MAX_NAME_SIZE-1,format,value);</div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> strcpy(key_type,<span class="stringliteral">"CPL_TYPE_BOOL"</span>); </div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> </div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> cpl_table_set_size(table,sz+1);</div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> </div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> cpl_table_set_string(table,<span class="stringliteral">"key_name"</span> ,raw,key_name);</div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> cpl_table_set_string(table,<span class="stringliteral">"key_type"</span> ,raw,key_type);</div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> cpl_table_set_string(table,<span class="stringliteral">"key_value"</span>,raw,key_value);</div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> cpl_table_set_string(table,<span class="stringliteral">"key_help"</span> ,raw,key_help);</div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> </div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> </div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> }</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> </div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> </div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> </div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> sinfo_qclog_add_float(cpl_table* table,</div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* key_name, </div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> <span class="keyword">const</span> <span class="keywordtype">float</span> value,</div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* key_help,</div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* format)</div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> {</div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> <span class="keywordtype">int</span> sz = cpl_table_get_nrow(table);</div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> <span class="keywordtype">int</span> raw = sz;</div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> <span class="keywordtype">char</span> key_value[FILE_NAME_SZ];</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> <span class="keywordtype">char</span> key_type[FILE_NAME_SZ];</div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> </div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> snprintf(key_value,MAX_NAME_SIZE-1,format,value);</div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> strcpy(key_type,<span class="stringliteral">"CPL_TYPE_FLOAT"</span>); </div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> </div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> cpl_table_set_size(table,sz+1);</div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> </div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> cpl_table_set_string(table,<span class="stringliteral">"key_name"</span> ,raw,key_name);</div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> cpl_table_set_string(table,<span class="stringliteral">"key_type"</span> ,raw,key_type);</div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> cpl_table_set_string(table,<span class="stringliteral">"key_value"</span>,raw,key_value);</div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> cpl_table_set_string(table,<span class="stringliteral">"key_help"</span> ,raw,key_help);</div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> </div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> </div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> }</div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> </div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> </div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> </div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> sinfo_qclog_add_double(cpl_table* table,</div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* key_name, </div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> <span class="keyword">const</span> <span class="keywordtype">double</span> value,</div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* key_help,</div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* format)</div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> {</div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> <span class="keywordtype">int</span> sz = cpl_table_get_nrow(table);</div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> <span class="keywordtype">int</span> raw = sz;</div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> <span class="keywordtype">char</span> key_value[FILE_NAME_SZ];</div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> <span class="keywordtype">char</span> key_type[FILE_NAME_SZ];</div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> </div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> snprintf(key_value,MAX_NAME_SIZE-1,format,value);</div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> strcpy(key_type,<span class="stringliteral">"CPL_TYPE_DOUBLE"</span>); </div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> </div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> cpl_table_set_size(table,sz+1);</div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> </div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> cpl_table_set_string(table,<span class="stringliteral">"key_name"</span> ,raw,key_name);</div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> cpl_table_set_string(table,<span class="stringliteral">"key_type"</span> ,raw,key_type);</div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> cpl_table_set_string(table,<span class="stringliteral">"key_value"</span>,raw,key_value);</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> cpl_table_set_string(table,<span class="stringliteral">"key_help"</span> ,raw,key_help);</div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> </div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> </div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> }</div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> </div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> sinfo_qclog_add_string(cpl_table* table,</div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* key_name, </div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* value,</div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* key_help,</div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* format)</div>
-<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> {</div>
-<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span> <span class="keywordtype">int</span> sz = cpl_table_get_nrow(table);</div>
-<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> <span class="keywordtype">int</span> raw = sz;</div>
-<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> <span class="keywordtype">char</span> key_value[FILE_NAME_SZ];</div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> <span class="keywordtype">char</span> key_type[FILE_NAME_SZ];</div>
-<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> </div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> snprintf(key_value,MAX_NAME_SIZE-1,format,value);</div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> strcpy(key_type,<span class="stringliteral">"CPL_TYPE_STRING"</span>); </div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> </div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> cpl_table_set_size(table,sz+1);</div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> </div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> cpl_table_set_string(table,<span class="stringliteral">"key_name"</span> ,raw,key_name);</div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> cpl_table_set_string(table,<span class="stringliteral">"key_type"</span> ,raw,key_type);</div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> cpl_table_set_string(table,<span class="stringliteral">"key_value"</span>,raw,key_value);</div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> cpl_table_set_string(table,<span class="stringliteral">"key_help"</span> ,raw,key_help);</div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> </div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> </div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> }</div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> </div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> </div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> </div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__pro__save_8h_source.html b/html/sinfo__pro__save_8h_source.html
deleted file mode 100644
index 31a685e..0000000
--- a/html/sinfo__pro__save_8h_source.html
+++ /dev/null
@@ -1,259 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_pro_save.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_pro_save.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_PRO_SAVE_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_PRO_SAVE_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include "sinfo_pfits.h"</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> sinfo_update_fits_card_int(<span class="keyword">const</span> <span class="keywordtype">char</span>* file,<span class="keyword">const</span> <span class="keywordtype">char</span>* card,<span class="keywordtype">int</span> value);</div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> sinfo_update_fits_card_float(<span class="keyword">const</span> <span class="keywordtype">char</span>* file,<span class="keyword">const</span> <span class="keywordtype">char</span>* card,<span class="keywordtype">float</span> value);</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> sinfo_update_fits_card_double(<span class="keyword">const</span> <span class="keywordtype">char</span>* file,<span class="keyword">const</span> <span class="keywordtype">char</span>* card,<span class="keywordtype">double</span> value);</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> sinfo_update_fits_card_long(<span class="keyword">const</span> <span class="keywordtype">char</span>* file,<span class="keyword">const</span> <span class="keywordtype">char</span>* card,<span class="keywordtype">long</span> value);</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">int</span> sinfo_update_ims_fits_card_string(cpl_imagelist* iml, </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* file,</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* card,</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* value);</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> sinfo_pro_save_tbl(</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> cpl_table* tbl,</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> cpl_frameset* ref,</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> cpl_frameset* sof,</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name, </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* proid, </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> cpl_table* qclog,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* recid,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> cpl_parameterlist* parlist);</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> sinfo_pro_save_ima(</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> cpl_image* ima,</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> cpl_frameset* ref,</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> cpl_frameset* sof,</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name, </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* proid, </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> cpl_table* qclog,</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* recid,</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> cpl_parameterlist* parlist);</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> sinfo_pro_save_ims(</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> cpl_imagelist* ims,</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> cpl_frameset* ref,</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> cpl_frameset* sof,</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name, </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* proid, </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> cpl_table* qclog,</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* recid,</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> cpl_parameterlist* parlist);</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> sinfo_save_pro_tbl(</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> cpl_table* tbl,</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> cpl_frameset* ref,</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> cpl_frameset* sof,</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name, </div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* proid, </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> cpl_propertylist* qclog,</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* recid,</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> cpl_parameterlist* parlist);</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> sinfo_save_pro_ima(</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> cpl_image* ima,</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> cpl_frameset* ref,</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> cpl_frameset* sof,</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name, </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* proid, </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> cpl_propertylist* qclog,</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* recid,</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> cpl_parameterlist* parlist);</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> sinfo_save_pro_ims(</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> cpl_imagelist* ims,</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> cpl_frameset* ref,</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> cpl_frameset* sof,</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name, </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* proid, </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> cpl_propertylist* qclog,</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* recid,</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> cpl_parameterlist* parlist);</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> cpl_table* sinfo_qclog_init(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> sinfo_qclog_add_int(cpl_table* table,</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name, </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keyword">const</span> <span class="keywordtype">int</span> value,</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* help,</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* format);</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> sinfo_qclog_add_bool(cpl_table* table,</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name, </div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keyword">const</span> <span class="keywordtype">char</span> value,</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* help,</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* format);</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> sinfo_qclog_add_float(cpl_table* table,</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name, </div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="keyword">const</span> <span class="keywordtype">float</span> value,</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* help,</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* format);</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> sinfo_qclog_add_double(cpl_table* table,</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name, </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="keyword">const</span> <span class="keywordtype">double</span> value,</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* help,</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* format);</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> sinfo_qclog_add_string(cpl_table* table,</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name, </div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* value,</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* help,</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* format);</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> cpl_propertylist* sinfo_qc_init(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> sinfo_qc_add_int(cpl_propertylist* table,</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name, </div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="keyword">const</span> <span class="keywordtype">int</span> value,</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* help,</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* format);</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> sinfo_qc_add_bool(cpl_propertylist* table,</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name, </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="keyword">const</span> <span class="keywordtype">char</span> value,</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* help,</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* format);</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> sinfo_qc_add_float(cpl_propertylist* table,</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name, </div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keyword">const</span> <span class="keywordtype">float</span> value,</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* help,</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* format);</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> </div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> sinfo_qc_add_double(cpl_propertylist* table,</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name, </div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="keyword">const</span> <span class="keywordtype">double</span> value,</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* help,</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* format);</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> sinfo_qc_add_string(cpl_propertylist* table,</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name, </div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* value,</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* help,</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* format);</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="preprocessor">#endif </span><span class="comment">/* SINFO_PRO_SAVE */</span><span class="preprocessor"></span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__pro__types_8h_source.html b/html/sinfo__pro__types_8h_source.html
deleted file mode 100644
index 5116e7f..0000000
--- a/html/sinfo__pro__types_8h_source.html
+++ /dev/null
@@ -1,238 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_pro_types.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_pro_types.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_pro_types.h,v 1.10 2010/02/12 17:57:38 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This proram is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later verrtd sion.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2010/02/12 17:57:38 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.10 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef SINFO_PRO_TYPES_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_PRO_TYPES_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> CPL_BEGIN_DECLS</div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#define PRO_LIN_DET_INFO "LIN_DET_INFO"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_GAIN_INFO "GAIN_INFO"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_AO_INFO "AO_INFO"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_AO_PERFORMANCE "AO_PERFORMANCE"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_ENC_ENERGY "ENC_ENERGY"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_OBS_SKY "OBS_SKY"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_SKY_MED "SKY_MED"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_SKY_DUMMY "SKY_DUMMY"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_SKY_STACKED_DUMMY "SKY_STACKED_DUMMY"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_DEFAULT "DEFAULT"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_INT_COL_TILT_COR "INT_COL_TILT_COR"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_STD_STACKED "STD_STACKED"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_SKY_STD_STACKED "SKY_STD_STACKED"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_SKY_OH_STACKED "SKY_OH_STACKED"</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_SKY_PSF_CALIBRATOR_STACKED "SKY_PSF_CALIBRATOR_STACKED"</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_STD_STAR_STACKED "STD_STAR_STACKED"</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_STD_STAR_DITHER_STACKED "STD_STAR_DITHER_STACKED"</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_SKY_STACKED "SKY_STACKED"</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_NODDING_STACKED "_NODDING_STACKED"</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_ILLUMCORR "ILLUMCORR"</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#define SINFO_UTL_STDSTARS_RES "STDSTARS_CATS"</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_UTL_SEDS_RES "SEDS"</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_CALIB_STDSTARS "STDSTARS_CATS"</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_CALIB_SED "SEDS"</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#define PRO_STACKED "_STACKED"</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#define PRO_STACK_SKY_DIST "SKY_STACKED_DIST"</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_STACK_MFLAT_DIST "MFLAT_STACKED_DIST"</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_STACK_MFLAT_DITHER_DIST "MFLAT_DITHER_STACKED_DIST"</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#define PRO_MFLAT_CUBE "MFLAT_CUBE"</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_MFLAT_AVG "MFLAT_AVG"</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_MFLAT_MED "MFLAT_MED"</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor">#define PRO_ILL_COR "ILLUMINATION_CORRECTION"</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_BP_MAP "BP_MAP"</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_BP_MAP_HP "BP_MAP_HP"</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_BP_MAP_NL "BP_MAP_NL"</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_BP_MAP_NO "BP_MAP_NO"</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_BP_MAP_DI "BP_MAP_DI"</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_BP_MAP_SKY "BP_MAP_SKY"</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_MASTER_BP_MAP "MASTER_BP_MAP"</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_BP_MAP "BP_MAP"</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_MASTER_DARK "MASTER_DARK"</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_SLOPE "SLOPE"</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_DISTORTION "DISTORTION"</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_SLITLETS_DISTANCE "SLITLETS_DISTANCE"</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_MASTER_SLIT "MASTER_SLIT"</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_MASTER_FLAT_LAMP "MASTER_FLAT_LAMP"</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_MASTER_FLAT_LAMP1 "MASTER_FLAT_LAMP1"</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_MASTER_FLAT_LAMP2 "MASTER_FLAT_LAMP2"</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_SLIT_POS "SLIT_POS"</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_REF_ATM_REF_CORR "ATM_REF_CORR"</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_SLITLETS_POS_PREDIST "SLITLETS_POS_PREDIST"</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_SLIT_POS_GUESS "SLIT_POS_GUESS"</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_FIBRE_EW_STACKED "FIBRE_EW_STACKED"</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_FIBRE_NS_STACKED_ON "FIBRE_NS_STACKED_ON"</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_FIBRE_NS_STACKED_OFF "FIBRE_NS_STACKED_OFF"</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_FIBRE_NS_STACKED "FIBRE_NS_STACKED"</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_FIBRE_NS_STACKED_DIST "FIBRE_NS_STACKED_DIST"</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_FIBRE_LAMP_STACKED "FIBRE_LAMP_STACKED"</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_SLIT_LAMP_STACKED "SLIT_LAMP_STACKED"</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_FLUX_LAMP_STACKED "FLUX_LAMP_STACKED"</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_WAVE_LAMP_STACKED "WAVE_LAMP_STACKED"</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_WAVE_SLITPOS_STACKED "WAVE_LAMP_SLITPOS_STACKED"</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_WAVE_LAMP_DITHER_STACKED "WAVE_LAMP_DITHER_STACKED"</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_WAVE_NS_STACKED "WAVE_NS_STACKED"</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_WAVE_NS_DITHER_STACKED "WAVE_NS_DITHER_STACKED"</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_WAVE_PAR_LIST "WAVE_FIT_PARAMS"</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_WAVE_COEF_SLIT "WAVE_COEF_SLIT"</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_PSF_CALIBRATOR_STACKED "PSF_CALIBRATOR_STACKED"</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_FOCUS_STACKED "FOCUS_STACKED"</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_OBJECT_NODDING_STACKED "OBJECT_NODDING_STACKED"</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_OBJECT_SKYSPIDER_STACKED "OBJECT_SKYSPIDER_STACKED"</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="preprocessor">#define PRO_RESAMPLED_WAVE "RESAMPLED_WAVE"</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_RESAMPLED_OBJ "RESAMPLED_OBJ"</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_RESAMPLED_SKY "RESAMPLED_SKY"</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_RESAMPLED_FLAT_LAMP "RESAMPLED_FLAT_LAMP"</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="preprocessor">#define PRO_OBS_CUBE_SKY "OBS_CUBE_SKY"</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_STD_CUBE_SKY "STD_CUBE_SKY"</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_PSF_CUBE_SKY "PSF_CUBE_SKY"</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_PUPIL_CUBE_SKY "PUPIL_CUBE_SKY"</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="preprocessor">#define PRO_PUPIL_CUBE "PUPIL_LAMP_CUBE"</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="preprocessor">#define PRO_OBS_MED_SKY "OBS_MED_SKY"</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_STD_MED_SKY "STD_MED_SKY"</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_PSF_MED_SKY "PSF_MED_SKY"</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_PUPIL_MED_SKY "PUPIL_MED_SKY"</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="preprocessor">#define PRO_PUPIL_LAMP_STACKED "PUPIL_LAMP_STACKED"</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_SKY_NODDING_STACKED "SKY_NODDING_STACKED"</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_STD_NODDING_STACKED "STD_NODDING_STACKED"</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_MASTER_LAMP_SPEC "MASTER_LAMP_SPEC"</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_MASTER_TWIFLAT "MASTER_TWIFLAT"</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_COEFF_LIST "COEFF_LIST"</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_INDEX_LIST "INDEX_LIST"</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_HALO_SPECT "HALO_SPECT"</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_FIRST_COL "FIRST_COL"</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_MASK_CUBE "MASK_CUBE" </span><span class="comment">/* not used*/</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_PSF "MASTER_PSF"</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="preprocessor">#define TMP_FOCUS "FOCUS_STACKED"</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="preprocessor"></span><span class="preprocessor">#define TMP_FOCUS_ON "FOCUS_ON_STACKED"</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="preprocessor"></span><span class="preprocessor">#define TMP_FOCUS_OFF "FOCUS_OFF_STACKED"</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="preprocessor">#define PRO_FOCUS "MASTER_FOCUS"</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_FOCUS_GAUSS "FOCUS_GAUSS"</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_WAVE_MAP "WAVE_MAP"</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_STD_STAR_SPECTRA "STD_STAR_SPECTRA"</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_STD_STAR_SPECTRUM "STD_STAR_SPECTRUM"</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="preprocessor">#define PRO_CUBE "CUBE"</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_IMA "IMA"</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_SPECTRUM "SPECTRUM"</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_COADD_SKY "COADD_SKY"</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_COADD_PSF "COADD_PSF"</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_COADD_STD "COADD_STD"</span></div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_COADD_OBJ "COADD_OBJ"</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_COADD_PUPIL "COADD_PUPIL"</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="preprocessor">#define PRO_OBS_PSF "OBS_PSF"</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_OBS_STD "OBS_STD"</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_OBS_OBJ "OBS_OBJ"</span></div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_OBS_PUPIL "OBS_PUPIL"</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_SPECTRA_QC "SPECTRA_QC"</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="preprocessor">#define PRO_MED_COADD_PSF "MED_COADD_PSF"</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_MED_COADD_STD "MED_COADD_STD"</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_MED_COADD_OBJ "MED_COADD_OBJ"</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_MED_COADD_PUPIL "MED_COADD_PUPIL"</span></div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="preprocessor">#define PRO_MED_OBS_PSF "MED_OBS_PSF"</span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_MED_OBS_STD "MED_OBS_STD"</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_MED_OBS_OBJ "MED_OBS_OBJ"</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_MED_OBS_PUPIL "MED_OBS_PUPIL"</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="preprocessor">#define PRO_CUBE_COLL "CUBE_COLL"</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_SLOPEX "CUBE_COLL_SLOPEX"</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_SLOPEY "CUBE_COLL_SLOPEY"</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_MASK_CUBE "MASK_CUBE"</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_MASK_COADD_PSF "MASK_COADD_PSF"</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_MASK_COADD_STD "MASK_COADD_STD"</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_MASK_COADD_OBJ "MASK_COADD_OBJ"</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_MASK_COADD_PUPIL "MASK_COADD_PUPIL"</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_OBJ_CUBE "OBJ_CUBE"</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_BP_COEFF "BP_COEFF"</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="preprocessor"></span><span class="preprocessor">#define PRO_EFFICIENCY "EFFICIENCY"</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="preprocessor"></span>CPL_END_DECLS</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__product__config_8c_source.html b/html/sinfo__product__config_8c_source.html
deleted file mode 100644
index 9f979f2..0000000
--- a/html/sinfo__product__config_8c_source.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_product_config.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_product_config.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_product_config.c,v 1.7 2012/03/03 09:50:08 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2012/03/03 09:50:08 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.7 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Bad pixel search (normal method) *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_product_config.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">/* General data reduction parameters */</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> sinfo_product_config_add(cpl_parameterlist *list)</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> {</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> cpl_parameter *p;</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordflow">if</span> (!list) {</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> }</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">/* indicates if parameters will be overwritten */</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> p = cpl_parameter_new_enum(<span class="stringliteral">"sinfoni.product.density"</span>,</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="stringliteral">"Density of pipeline products: "</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="stringliteral">"0 (low), 1 (low+skycor), 2 (med-QC), "</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="stringliteral">"3 (high-debug+skycor)"</span>,</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="stringliteral">"sinfoni.product"</span>,</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> 2,4,0,1,2,3);</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"product-density"</span>);</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__product__config_8h_source.html b/html/sinfo__product__config_8h_source.html
deleted file mode 100644
index 9f3b516..0000000
--- a/html/sinfo__product__config_8h_source.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_product_config.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_product_config.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_product_config.h,v 1.1 2006/10/20 08:06:33 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2006/10/20 08:06:33 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Bad pixel search (noise method) *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifndef SINFO_PRODUCT_CONFIG_H</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_PRODUCT_CONFIG_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keywordtype">void</span> sinfo_product_config_add(cpl_parameterlist *list);</div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__psf__cfg_8c_source.html b/html/sinfo__psf__cfg_8c_source.html
deleted file mode 100644
index 94726f2..0000000
--- a/html/sinfo__psf__cfg_8c_source.html
+++ /dev/null
@@ -1,119 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_psf_cfg.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_psf_cfg.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_psf_cfg.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : February 2002</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : configuration handling tools for the </span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> psf image reconstruction of a star.</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"></span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_psf_cfg.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> Function : sinfo_psf_cfg_create()</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> In : void</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> Out : pointer to allocated base psf_config structure</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> Job : allocate memory for a psf_config struct</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> Notice : only the main (base) structure is allocated</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> psf_config * sinfo_psf_cfg_create(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> {</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordflow">return</span> cpl_calloc(1, <span class="keyword">sizeof</span>(psf_config));</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> }</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> Function : sinfo_psf_cfg_destroy()</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> In : psf_config to deallocate</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> Out : void</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> Job : deallocate all memory associated with a config data structure</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> Notice : </span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">void</span> sinfo_psf_cfg_destroy(psf_config * cc)</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> {</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordflow">if</span> (cc==NULL) return ;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">/* Free main struct */</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> cpl_free(cc);</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> return ;</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> }</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__psf__cfg_8h_source.html b/html/sinfo__psf__cfg_8h_source.html
deleted file mode 100644
index 5812d0d..0000000
--- a/html/sinfo__psf__cfg_8h_source.html
+++ /dev/null
@@ -1,139 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_psf_cfg.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_psf_cfg.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_psf_cfg.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : February 2002</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : psf_cfg.c definitions + handling prototypes</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifndef SINFO_PSF_CFG_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_PSF_CFG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <stdlib.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> New types</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> PSF star image reconstruction blackboard container</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> This structure holds all information related to the sinfo_psf reconstruction</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> routine. It is used as a container for the flux of ancillary data,</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> computed values, and algorithm status. Pixel flux is separated from</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> the blackboard.</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>psf_config {</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*-------General---------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">char</span> inFrame[FILE_NAME_SZ] ; <span class="comment">/* input averaged, bad pixel corrected, </span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> off subtracted, flatfielded, spectral </span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> tilt corrected list of frames */</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">char</span> outName[FILE_NAME_SZ] ; <span class="comment">/* output name of resulting fits </span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> data cube */</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">/*------ Reconstruction ------*/</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">/* the fraction [0...1] of rejected low intensity pixels when taking </span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> the average of columns */</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordtype">float</span> lo_reject ;</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/* the fraction [0...1] of rejected high intensity pixels when taking </span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> the average of columns */</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">float</span> hi_reject ;</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">/* indicates if the slitlet distances are determined by a </span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> north-south test (1) or slitlet edge fits (0) */</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">int</span> northsouthInd ;</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">/* name of the ASCII list of the fitted slitlet edge positions or </span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> the distances of the slitlets */</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">char</span> poslist[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">/* number of slitlets (32) */</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keywordtype">int</span> nslits ;</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">/* sub pixel position of the column position of the left sinfo_edge of </span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> the first slitlet needed if the slitlet distances were determined </span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> by a north south test */</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">char</span> firstCol[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">/* indicator for the shifting method to use */</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">char</span> method[1] ;</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">/* order of polynomial if the polynomial interpolation shifting </span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> method is used */</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">int</span> order ;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> } psf_config ;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> Function prototypes</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> psf_config * </div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> sinfo_psf_cfg_create(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> sinfo_psf_cfg_destroy(psf_config * cc);</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__psf__config_8c_source.html b/html/sinfo__psf__config_8c_source.html
deleted file mode 100644
index 1cb1ca2..0000000
--- a/html/sinfo__psf__config_8c_source.html
+++ /dev/null
@@ -1,105 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_psf_config.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_psf_config.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_psf_config.c,v 1.5 2012/03/03 09:50:08 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2012/03/03 09:50:08 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.5 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Psf Frames Data Reduction Parameter Initialization *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_psf_config.h"</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> sinfo_psf_config_add(cpl_parameterlist *list)</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> {</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> cpl_parameter *p;</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordflow">if</span> (!list) {</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> }</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">/* Input file name */</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.psf.switch"</span>,</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="stringliteral">"Switch to activate PSF-related "</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="stringliteral">"(Strehl/Encircled energy) computation"</span>,</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="stringliteral">"sinfoni.psf"</span>,</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> TRUE);</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"psf-switch"</span>);</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__psf__config_8h_source.html b/html/sinfo__psf__config_8h_source.html
deleted file mode 100644
index b89fd8a..0000000
--- a/html/sinfo__psf__config_8h_source.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_psf_config.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_psf_config.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_psf_config.h,v 1.1 2006/10/20 08:06:33 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2006/10/20 08:06:33 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Psf Frames Data Reduction Parameter Initialization *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include "cpl.h"</span> <span class="comment">/* defines parlist structure */</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> sinfo_psf_config_add(cpl_parameterlist *list);</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__psf__ini_8h_source.html b/html/sinfo__psf__ini_8h_source.html
deleted file mode 100644
index d897001..0000000
--- a/html/sinfo__psf__ini_8h_source.html
+++ /dev/null
@@ -1,94 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_psf_ini.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_psf_ini.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : psf_ini.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Feb 18, 2002</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : ini file handling for SINFONI PSF star </span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> image reconstruction</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifndef SINFO_PSF_INI_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_PSF_INI_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_psf_cfg.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> generatePSF_ini_file(</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">char</span> * ini_name,</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">char</span> * name_i,</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">char</span> * name_o</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> );</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> psf_config * </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> parse_psf_ini_file(<span class="keywordtype">char</span> * ini_name) ;</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__psf__ini__by__cpl_8c_source.html b/html/sinfo__psf__ini__by__cpl_8c_source.html
deleted file mode 100644
index 8ec4d2a..0000000
--- a/html/sinfo__psf__ini__by__cpl_8c_source.html
+++ /dev/null
@@ -1,236 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_psf_ini_by_cpl.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_psf_ini_by_cpl.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_psf_ini_by_cpl.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : May 20, 2004</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : cpl input for sinfo_psf step for SPIFFI</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"></span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_psf_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_hidden.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> Functions private to this module</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_frames(psf_config *, </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> cpl_frameset* sof,cpl_frameset** stk,<span class="keywordtype">int</span>* status);</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse_section_reconstruction(psf_config *);</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> psf_config * sinfo_parse_cpl_input_psf(cpl_frameset* sof, </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> cpl_frameset** stk)</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> {</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> psf_config * cfg =NULL;</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">int</span> status=0;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> * Perform sanity checks, fill up the structure with what was</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> * found in the ini file</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> cfg = sinfo_psf_cfg_create();</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> parse_section_reconstruction (cfg);</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> parse_section_frames (cfg, sof,stk,&status);</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keywordflow">if</span> (status > 0) {</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"parsing cpl input"</span>);</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> sinfo_psf_cfg_destroy(cfg);</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> cfg = NULL ;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> }</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordflow">return</span> cfg ;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> }</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> parse_section_frames(psf_config * cfg, </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> cpl_frameset* sof,</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> cpl_frameset** stk,</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordtype">int</span>* status)</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> {</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> cpl_frame* frame = NULL;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">int</span> npsf=0;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">int</span> nraw=0;</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">char</span> spat_res[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">char</span> lamp_status[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">char</span> band[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">int</span> ins_set=0;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> sinfo_contains_frames_type(sof,stk,PRO_PSF_CALIBRATOR_STACKED);</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> npsf = cpl_frameset_get_size(*stk);</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordflow">if</span> (npsf < 1) {</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> sinfo_contains_frames_type(sof,stk,PRO_STD_NODDING_STACKED);</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> npsf = cpl_frameset_get_size(*stk);</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> }</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> npsf = cpl_frameset_get_size(*stk);</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordflow">if</span> (npsf < 1) {</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> sinfo_contains_frames_type(sof,stk,PRO_OBJECT_NODDING_STACKED);</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> npsf = cpl_frameset_get_size(*stk);</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> }</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> npsf = cpl_frameset_get_size(*stk);</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordflow">if</span> (npsf < 1) {</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> sinfo_contains_frames_type(sof,stk,PRO_PUPIL_LAMP_STACKED);</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> npsf = cpl_frameset_get_size(*stk);</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> }</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> npsf = cpl_frameset_get_size(*stk);</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">if</span> (npsf < 1) {</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Cannot find input stacked frames"</span>) ;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> (*status)++;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> }</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_COADD_PSF)) {</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> frame = cpl_frameset_find(sof,PRO_COADD_PSF);</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> strcpy(cfg -> inFrame,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_OBS_PSF)) {</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> frame = cpl_frameset_find(sof,PRO_OBS_PSF);</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> strcpy(cfg -> inFrame,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_COADD_STD)) {</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> frame = cpl_frameset_find(sof,PRO_COADD_STD);</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> strcpy(cfg -> inFrame,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_OBS_STD)) {</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> frame = cpl_frameset_find(sof,PRO_OBS_STD);</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> strcpy(cfg -> inFrame,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_COADD_OBJ)) {</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> frame = cpl_frameset_find(sof,PRO_COADD_OBJ);</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> strcpy(cfg -> inFrame,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_OBS_OBJ)) {</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> frame = cpl_frameset_find(sof,PRO_OBS_OBJ);</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> strcpy(cfg -> inFrame,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame %s or %s or %s or %s or %s or %s not found!"</span>, </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> PRO_COADD_PSF,PRO_OBS_PSF,</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> PRO_COADD_STD,PRO_OBS_STD,</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> PRO_COADD_OBJ,PRO_OBS_OBJ);</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> (*status)++;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> }</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> strcpy(cfg -> outName, PSF_OUT_FILENAME);</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> nraw = cpl_frameset_get_size(*stk);</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> frame = cpl_frameset_get_frame(*stk,0);</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> sinfo_get_spatial_res(frame,spat_res);</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordflow">switch</span>(sinfo_frame_is_on(frame))</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> {</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordflow">case</span> 0: </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> strcpy(lamp_status,<span class="stringliteral">"on"</span>);</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordflow">case</span> 1: </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> strcpy(lamp_status,<span class="stringliteral">"off"</span>);</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordflow">case</span> -1:</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordflow">default</span>: </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> }</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> sinfo_get_band(frame,band);</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> sinfo_msg(<span class="stringliteral">"Spatial resolution: %s lamp status: %s band: %s \n"</span>,</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> spat_res, lamp_status, band);</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> sinfo_get_ins_set(band,&ins_set);</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> }</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> parse_section_reconstruction(psf_config * cfg)</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> {</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> cfg -> nslits = NSLITLETS;</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> }</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> sinfo_free_psf(psf_config ** cfg) {</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> sinfo_psf_cfg_destroy (*cfg);</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> *cfg=NULL;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__psf__ini__by__cpl_8h_source.html b/html/sinfo__psf__ini__by__cpl_8h_source.html
deleted file mode 100644
index 8d3c87e..0000000
--- a/html/sinfo__psf__ini__by__cpl_8h_source.html
+++ /dev/null
@@ -1,90 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_psf_ini_by_cpl.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_psf_ini_by_cpl.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_psf_ini_by_cpl.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : May 20, 2004</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : ini file handling for SPIFFIs PSF star image reconstruction</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifndef SINFO_PSF_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_PSF_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_dfs.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_psf_cfg.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> psf_config * </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> sinfo_parse_cpl_input_psf(cpl_frameset* sof, cpl_frameset** stk);</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> sinfo_free_psf(psf_config ** cfg);</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__qr_8c_source.html b/html/sinfo__qr_8c_source.html
deleted file mode 100644
index 63207af..0000000
--- a/html/sinfo__qr_8c_source.html
+++ /dev/null
@@ -1,308 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_qr.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_qr.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_qr.c,v 1.5 2012/03/03 10:18:26 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2012/03/03 10:18:26 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.5 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_solve_poly_root.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">//#include "sinfoni_recipes_defaults.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#define GSL_SET_COMPLEX_PACKED(zp,n,x,y) \</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor"> do {*((zp)+2*(n))=(x); *((zp)+(2*(n)+1))=(y);} while(0)</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"></span><span class="preprocessor">#define GSL_DBL_EPSILON 2.2204460492503131e-16</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> sinfo_qr_companion (<span class="keywordtype">double</span> *h, <span class="keywordtype">size_t</span> nc, gsl_complex_packed_ptr zroot)</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> {</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keywordtype">double</span> t = 0.0;</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">size_t</span> iterations, e, i, j, k, m;</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">double</span> w, x, y, s, z;</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">double</span> p = 0, q = 0, r = 0; </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">/* FIXME: if p,q,r, are not set to zero then the compiler complains</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> that they ``might be used uninitialized in this</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> function''. Looking at the code this does seem possible, so this</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> should be checked. */</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">int</span> notlast;</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">size_t</span> n = nc;</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> next_root:</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordflow">if</span> (n == 0)</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordflow">return</span> 1 ;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> iterations = 0;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> next_iteration:</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keywordflow">for</span> (e = n; e >= 2; e--)</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> {</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">double</span> a1 = fabs (FMAT (h, e, e - 1, nc));</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">double</span> a2 = fabs (FMAT (h, e - 1, e - 1, nc));</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">double</span> a3 = fabs (FMAT (h, e, e, nc));</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordflow">if</span> (a1 <= GSL_DBL_EPSILON * (a2 + a3))</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> }</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> x = FMAT (h, n, n, nc);</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordflow">if</span> (e == n)</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> {</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> GSL_SET_COMPLEX_PACKED (zroot, n-1, x + t, 0); <span class="comment">/* one real root */</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> n--;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordflow">goto</span> next_root;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">/*continue;*/</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> }</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> y = FMAT (h, n - 1, n - 1, nc);</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> w = FMAT (h, n - 1, n, nc) * FMAT (h, n, n - 1, nc);</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordflow">if</span> (e == n - 1)</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> {</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> p = (y - x) / 2;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> q = p * p + w;</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> y = sqrt (fabs (q));</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> x += t;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordflow">if</span> (q > 0) <span class="comment">/* two real roots */</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> {</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keywordflow">if</span> (p < 0)</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> y = -y;</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> y += p;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> GSL_SET_COMPLEX_PACKED (zroot, n-1, x - w / y, 0);</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> GSL_SET_COMPLEX_PACKED (zroot, n-2, x + y, 0);</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> }</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> {</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> GSL_SET_COMPLEX_PACKED (zroot, n-1, x + p, -y);</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> GSL_SET_COMPLEX_PACKED (zroot, n-2, x + p, y);</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> }</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> n -= 2;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordflow">goto</span> next_root;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment">/*continue;*/</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> }</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">/* No more roots found yet, do another iteration */</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">if</span> (iterations == 60) <span class="comment">/* increased from 30 to 60 */</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> {</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment">/* too many iterations - give up! */</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> cpl_msg_error(<span class="stringliteral">"qr:"</span>,<span class="stringliteral">"too many iterations-give up"</span>) ;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> }</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordflow">if</span> (iterations % 10 == 0 && iterations > 0)</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> {</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment">/* use an exceptional shift */</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> t += x;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">for</span> (i = 1; i <= n; i++)</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> {</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> FMAT (h, i, i, nc) -= x;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> }</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> s = fabs (FMAT (h, n, n - 1, nc)) + fabs (FMAT (h, n - 1, n - 2, nc));</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> y = 0.75 * s;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> x = y;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> w = -0.4375 * s * s;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> }</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> iterations++;</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">for</span> (m = n - 2; m >= e; m--)</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> {</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordtype">double</span> a1, a2, a3;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> z = FMAT (h, m, m, nc);</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> r = x - z;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> s = y - z;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> p = FMAT (h, m, m + 1, nc) + (r * s - w) / FMAT (h, m + 1, m, nc);</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> q = FMAT (h, m + 1, m + 1, nc) - z - r - s;</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> r = FMAT (h, m + 2, m + 1, nc);</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> s = fabs (p) + fabs (q) + fabs (r);</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> p /= s;</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> q /= s;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> r /= s;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordflow">if</span> (m == e)</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> a1 = fabs (FMAT (h, m, m - 1, nc));</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> a2 = fabs (FMAT (h, m - 1, m - 1, nc));</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> a3 = fabs (FMAT (h, m + 1, m + 1, nc));</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordflow">if</span> (a1 * (fabs (q) + fabs (r)) <= GSL_DBL_EPSILON * fabs (p) * (a2 + a3))</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> }</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keywordflow">for</span> (i = m + 2; i <= n; i++)</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> {</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> FMAT (h, i, i - 2, nc) = 0;</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> }</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">for</span> (i = m + 3; i <= n; i++)</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> {</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> FMAT (h, i, i - 3, nc) = 0;</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> }</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="comment">/* double QR step */</span></div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordflow">for</span> (k = m; k <= n - 1; k++)</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> {</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> notlast = (k != n - 1);</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">if</span> (k != m)</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> {</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> p = FMAT (h, k, k - 1, nc);</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> q = FMAT (h, k + 1, k - 1, nc);</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> r = notlast ? FMAT (h, k + 2, k - 1, nc) : 0.0;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> x = fabs (p) + fabs (q) + fabs (r);</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keywordflow">if</span> (x == 0)</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keywordflow">continue</span>; <span class="comment">/* FIXME????? */</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> p /= x;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> q /= x;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> r /= x;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> }</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> s = sqrt (p * p + q * q + r * r);</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keywordflow">if</span> (p < 0)</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> s = -s;</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keywordflow">if</span> (k != m)</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> {</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> FMAT (h, k, k - 1, nc) = -s * x;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> }</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (e != m)</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> {</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> FMAT (h, k, k - 1, nc) *= -1;</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> }</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> p += s;</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> x = p / s;</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> y = q / s;</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> z = r / s;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> q /= p;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> r /= p;</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="comment">/* do row modifications */</span></div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="keywordflow">for</span> (j = k; j <= n; j++)</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> {</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> p = FMAT (h, k, j, nc) + q * FMAT (h, k + 1, j, nc);</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordflow">if</span> (notlast)</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> {</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> p += r * FMAT (h, k + 2, j, nc);</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> FMAT (h, k + 2, j, nc) -= p * z;</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> }</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> FMAT (h, k + 1, j, nc) -= p * y;</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> FMAT (h, k, j, nc) -= p * x;</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> }</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> j = (k + 3 < n) ? (k + 3) : n;</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="comment">/* do column modifications */</span></div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordflow">for</span> (i = e; i <= j; i++)</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> {</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> p = x * FMAT (h, i, k, nc) + y * FMAT (h, i, k + 1, nc);</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keywordflow">if</span> (notlast)</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> {</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> p += z * FMAT (h, i, k + 2, nc);</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> FMAT (h, i, k + 2, nc) -= p * r;</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> }</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> FMAT (h, i, k + 1, nc) -= p * q;</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> FMAT (h, i, k, nc) -= p;</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> }</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> }</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="keywordflow">goto</span> next_iteration;</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__raw__types_8h_source.html b/html/sinfo__raw__types_8h_source.html
deleted file mode 100644
index 0d9922b..0000000
--- a/html/sinfo__raw__types_8h_source.html
+++ /dev/null
@@ -1,160 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_raw_types.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_raw_types.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_raw_types.h,v 1.5 2008/07/04 13:06:02 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This proram is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2008/07/04 13:06:02 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.5 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef SINFO_RAW_TYPES_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_RAW_TYPES_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Raw TYPES</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> --------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> Raw Frames</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> --------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> CPL_BEGIN_DECLS</div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#define RAW_LINEARITY_LAMP "LINEARITY_LAMP"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_DARK "DARK"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#define RAW_PINHOLE_LAMP "PINHOLE_LAMP"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_SLIT_LAMP "SLIT_LAMP" </span><span class="comment">/* ?? */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_FIBRE_PSF "FIBRE_PSF" </span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_FIBRE_DARK "FIBRE_DARK" </span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_FIBRE_LAMP "FIBRE_LAMP" </span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_FIBRE_NS "FIBRE_NS" </span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_FIBRE_EW "FIBRE_EW" </span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_WAVE_LAMP "WAVE_LAMP"</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_WAVE_LAMP_DITHER "WAVE_LAMP_DITHER"</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_WAVE_NS "WAVE_NS"</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_WAVE_NS_DITHER "WAVE_NS_DITHER"</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#define RAW_FLAT_LAMP "FLAT_LAMP"</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_FLAT_LAMP_DITHER "FLAT_LAMP_DITHER"</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_FLAT_NS "FLAT_NS"</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_FLAT_NS_DITHER "FLAT_NS_DITHER"</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_FLAT_SKY "FLAT_SKY"</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_FLUX_LAMP "FLUX_LAMP"</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_PSF_CALIBRATOR "PSF_CALIBRATOR"</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_FOCUS "FOCUS"</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_SKY_DUMMY "SKY_DUMMY"</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#define RAW_PUPIL_LAMP "PUPIL_LAMP"</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_OBJECT "OBJECT"</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_IMAGE_PRE_OBJECT "IMAGE_PRE_OBJECT"</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_IMAGE_PRE_SKY "IMAGE_PRE_SKY"</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_OBJECT_SKYSPIDER "OBJECT_SKYSPIDER"</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_OBJECT_SKYSPIDER_DITHER "OBJECT_SKYSPIDER_DITHER"</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor">#define RAW_OBJECT_NODDING "OBJECT_NODDING"</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_SKY_NODDING "SKY_NODDING"</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_OBJECT_JITTER "OBJECT_JITTER"</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_SKY_JITTER "SKY_JITTER"</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_OBJECT_NODDING_DITHER "OBJECT_NODDING_DITHER"</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_OBJECT_JITTER_DITHER "OBJECT_JITTER_DITHER"</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_SKY_NODDING_DITHER "SKY_NODDING_DITHER"</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_SKY_JITTER_DITHER "SKY_JITTER_DITHER"</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="preprocessor">#define RAW_ACQUISITION_SKY "ACQUISITION_SKY"</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_ACQUISITION_OBJECT "ACQUISITION_OBJECT"</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="preprocessor">#define RAW_STD "STD"</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_STACKED_SLITPOS "STACKED_SLITPOS"</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_SKY_STD "SKY_STD"</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_SKY_OH "SKY_OH"</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_SKY_PSF_CALIBRATOR "SKY_PSF_CALIBRATOR"</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_STD_STAR "STD_STAR"</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_STD_STAR_DITHER "STD_STAR_DITHER"</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="preprocessor">#define SINFO_UTL_STDSTARS_RAW "STDSTAR_CAT"</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_UTL_SEDS_RAW "SED"</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment">/* next are TBD */</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="preprocessor">#define RAW_OFF "RAW_OFF"</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_OFF1 "OFF1"</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_OFF2 "OFF2"</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="preprocessor">#define RAW_SKY "SKY"</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_SKY1 "SKY1"</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_SKY2 "SKY2"</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="preprocessor">#define RAW_ON "RAW_ON"</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_ON1 "ON1"</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_ON2 "ON2"</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_INT_ON "INT_ON"</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="preprocessor"></span><span class="preprocessor">#define RAW_INT_OFF "INT_OFF"</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="preprocessor"></span>CPL_END_DECLS</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__rec__detlin_8c_source.html b/html/sinfo__rec__detlin_8c_source.html
deleted file mode 100644
index 92e650e..0000000
--- a/html/sinfo__rec__detlin_8c_source.html
+++ /dev/null
@@ -1,299 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_rec_detlin.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_rec_detlin.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_rec_detlin.c,v 1.21 2008/02/04 17:23:02 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2008/02/04 17:23:02 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.21 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> * Bad pixel search (normal method) *</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/* --------------------------------------------------------------- </span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> INCLUDES</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> --------------------------------------------------------------- */</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/* std libraries */</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include <strings.h></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/* sinfoni */</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#include <sinfo_utilities.h></span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#include <sinfo_general_config.h></span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#include <sinfo_bp_lin_config.h></span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#include <sinfo_bp_config.h></span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#include <sinfo_bp_lin.h></span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#include <sinfo_product_config.h></span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">#include <sinfo_bp_lin.h></span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor">#include <sinfo_functions.h></span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_detlin_create(cpl_plugin *plugin);</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_detlin_exec(cpl_plugin *plugin);</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_detlin_destroy(cpl_plugin *plugin);</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_detlin(cpl_parameterlist *, cpl_frameset *);</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_detlin_description[] =</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="stringliteral">"This recipe computes detector non linearities and a bad pixel map.\n"</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="stringliteral">"The input files are increasing intensity raw flats\n"</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="stringliteral">"their associated tags should be LINEARITY_LAMP.\n"</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="stringliteral">"The output are: \n"</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="stringliteral">"A table (PRO.CATG=LIN_DET_INFO) with information \n"</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="stringliteral">"on the detector non linearities\n"</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="stringliteral">"A table (PRO.CATG=GAIN_INFO) with information on the detector gain\n"</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="stringliteral">"A cube (PRO.CATG=BP_COEFF) with the polynomial fit parameters \n"</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="stringliteral">"of the detector non linearities\n"</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="stringliteral">"A bad pixel map (PRO.CATG=BP_MAP_NL)\n"</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="stringliteral">"Information on relevant parameters can be found with\n"</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="stringliteral">"esorex --params sinfo_rec_detlin\n"</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="stringliteral">"esorex --help sinfo_rec_detlin\n"</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"><a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693"> 121</a></span> <span class="keywordtype">int</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist *list)</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> {</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> cpl_recipe *recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe);</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> cpl_plugin *plugin = &recipe->interface;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="stringliteral">"sinfo_rec_detlin"</span>,</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="stringliteral">"Detector's linearity & non linear bad pixels determination."</span>,</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> sinfo_rec_detlin_description,</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="stringliteral">"Andrea Modigliani"</span>,</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="stringliteral">"Andrea.Modigliani at eso.org"</span>,</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> sinfo_rec_detlin_create,</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> sinfo_rec_detlin_exec,</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> sinfo_rec_detlin_destroy);</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> cpl_pluginlist_append(list, plugin);</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> }</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_detlin_create(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> {</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment"> * We have to provide the option we accept to the application.</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment"> * We need to setup our parameter list and hook it into the recipe</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment"> * interface.</span></div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment">/* Check that the plugin is part of a valid recipe */</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> cpl_error_reset();</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> recipe->parameters = cpl_parameterlist_new() ; </div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> sinfo_general_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> sinfo_product_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> sinfo_bp_lin_config_add(recipe->parameters); </div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> }</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_detlin_exec(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> {</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> cpl_errorstate initial_errorstate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(initial_errorstate)) { </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="comment">/* Dump the error history since recipe execution start. </span></div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment"> At this point the recipe cannot recover from the error */</span> </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> cpl_errorstate_dump(initial_errorstate, CPL_FALSE, NULL); </div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> } </div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keywordflow">return</span> sinfo_rec_detlin(recipe->parameters, recipe->frames);</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> }</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_detlin_destroy(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> {</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> cpl_parameterlist_delete(recipe->parameters) ; </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> }</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="comment"> * The actual recipe actually start here.</span></div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_detlin(cpl_parameterlist *config, cpl_frameset *<span class="keyword">set</span>)</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> {</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> cpl_parameter *p=NULL; </div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="keywordtype">int</span> line_cor=0;</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> sinfo_msg(<span class="stringliteral">"Welcome to SINFONI Pipeline release %d.%d.%d"</span>,</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> SINFONI_MAJOR_VERSION,SINFONI_MINOR_VERSION,SINFONI_MICRO_VERSION);</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment">/* Hidden parameters */</span></div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="comment">/* name of the data cube storing the found polynomial coefficients */</span></div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> sinfo_bp_config_add(config); </div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> check_nomsg(p = cpl_parameterlist_find(config,<span class="stringliteral">"sinfoni.bp.method"</span>));</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> check_nomsg(cpl_parameter_set_string(p,<span class="stringliteral">"Linear"</span>)); </div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> ck0(sinfo_dfs_set_groups(<span class="keyword">set</span>),<span class="stringliteral">"Cannot indentify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> check_nomsg(p=cpl_parameterlist_find(config, <span class="stringliteral">"sinfoni.general.lc_sw"</span>));</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> check_nomsg(line_cor=cpl_parameter_get_bool(p));</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="keywordflow">if</span>(line_cor==1) {</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> check_nomsg(sinfo_ima_line_cor(config,<span class="keyword">set</span>));</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> }</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> sinfo_msg(<span class="stringliteral">"---------------------------------------"</span>);</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> sinfo_msg(<span class="stringliteral">"BP_MAP_NL BAD PIXEL MAP DETERMINATION "</span>);</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> sinfo_msg(<span class="stringliteral">"---------------------------------------"</span>);</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> ck0(sinfo_new_bp_search_lin(cpl_func,config,<span class="keyword">set</span>),</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="stringliteral">"BP_MAP_NL BAD PIXEL MAP DETERMINATION FAILED"</span>) ;</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> sinfo_msg(<span class="stringliteral">"BP_MAP_NL BAD PIXEL MAP DETERMINATION SUCCESS"</span>) ;</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> cleanup:</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> </div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> }</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> }</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__rec__distortion_8c_source.html b/html/sinfo__rec__distortion_8c_source.html
deleted file mode 100644
index 0992f90..0000000
--- a/html/sinfo__rec__distortion_8c_source.html
+++ /dev/null
@@ -1,859 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_rec_distortion.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_rec_distortion.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_rec_distortion.c,v 1.43 2013/09/17 08:13:17 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2013/09/17 08:13:17 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.43 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> * Distortions Frames Data Reduction *</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span> <span class="comment">/* allows the program compilation */</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/* std */</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <strings.h></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/* cpl */</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include <sinfo_hidden.h></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#include <sinfo_pro_types.h></span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include <sinfo_raw_types.h></span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include <sinfo_key_names.h></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include <sinfo_globals.h></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include <sinfo_general_config.h></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include <sinfo_utilities.h></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include <sinfo_product_config.h></span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#include <sinfo_lamp_flats_config.h></span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#include <sinfo_bp_config.h></span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#include <sinfo_bp_dist_config.h></span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#include <sinfo_prepare_stacked_frames_config.h></span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#include <sinfo_north_south_test_config.h></span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#include <sinfo_distortion_config.h></span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#include <sinfo_new_lamp_flats.h></span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#include <sinfo_bp_norm.h></span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">#include <sinfo_new_prepare_stacked_frames.h></span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor">#include <sinfo_new_find_distortions.h></span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor">#include <sinfo_new_nst.h></span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor">#include <sinfo_functions.h></span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">//Only for sinfo_propertylist_has</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="preprocessor">#include <sinfo_dfs.h></span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_distortion_create(cpl_plugin *plugin);</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_distortion_exec(cpl_plugin *plugin);</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_distortion_destroy(cpl_plugin *plugin);</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_distortion(cpl_parameterlist *config, cpl_frameset *<span class="keyword">set</span>);</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keyword">static</span> <span class="keywordtype">int</span> new_pre_process(cpl_frameset* <span class="keyword">set</span>, </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keyword">const</span> <span class="keywordtype">float</span> lo_rej, <span class="keyword">const</span> <span class="keywordtype">float</span> hi_rej, <span class="keyword">const</span> <span class="keywordtype">char</span>* name_o);</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_distortion_description1[] =</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="stringliteral">"This recipe determines the optical distortions and the slitlets distances.\n"</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="stringliteral">"Necessary input are:\n"</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="stringliteral">"Several (usually 75) raw frames classified as FIBRE_NS\n"</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="stringliteral">"Standard (an 'ON' and an 'OFF') flat frames having classified as FLAT_NS\n"</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="stringliteral">"Standard (an 'ON' and an 'OFF') arc lamp frames having classified as WAVE_NS\n"</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="stringliteral">"A corresponding (band) reference arc line list classified as REF_LINE_ARC\n"</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="stringliteral">"A reference table with data reduction parameters classified as DRS_SETUP_WAVE.\n"</span>;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_distortion_description2[] =</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="stringliteral">"Default output are (with their PRO.CATG)\n"</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="stringliteral">"A master flat: MASTER_FLAT_LAMP\n"</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="stringliteral">"A Bad pixel map: BP_MAP_DI\n"</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="stringliteral">"A fake-off fibre stacked frame: FIBRE_NS_STACKED_OFF\n"</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="stringliteral">"A fake-on fibre stacked frame: FIBRE_NS_STACKED_ON\n"</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="stringliteral">"A fake on-off fibre stacked frame: FIBRE_NS_STACKED\n"</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="stringliteral">"A table with optical distortion coefficients: DISTORTION\n"</span>;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_distortion_description3[] =</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="stringliteral">"A distortion corrected frame: FIBRE_NS_STACKED_DIST\n"</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="stringliteral">"A temporary frame: MASTER_SLIT\n"</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="stringliteral">"A table with the slitlets distances: SLITLETS_DISTANCE\n"</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="stringliteral">"Information on relevant parameters can be found with:\n"</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="stringliteral">"esorex --params sinfo_rec_distortion\n"</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="stringliteral">"esorex --help sinfo_rec_distortion\n"</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_distortion_description[1300];</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"><a class="code" href="group__sinfo__rec__distortion.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693"> 149</a></span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist *list)</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> {</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> cpl_recipe *recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe);</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> cpl_plugin *plugin = &recipe->interface;</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> strcpy(sinfo_rec_distortion_description,sinfo_rec_distortion_description1);</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> strcat(sinfo_rec_distortion_description,sinfo_rec_distortion_description2);</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> strcat(sinfo_rec_distortion_description,sinfo_rec_distortion_description3);</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="stringliteral">"sinfo_rec_distortion"</span>,</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="stringliteral">"Finds optical distortions and slitlets distances"</span>,</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> sinfo_rec_distortion_description,</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="stringliteral">"Andrea Modigliani"</span>,</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="stringliteral">"Andrea.Modigliani at eso.org"</span>,</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> sinfo_rec_distortion_create,</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> sinfo_rec_distortion_exec,</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> sinfo_rec_distortion_destroy);</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> cpl_pluginlist_append(list, plugin);</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> }</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_distortion_create(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> {</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment">/* Check that the plugin is part of a valid recipe */</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> cpl_error_reset();</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> recipe->parameters = cpl_parameterlist_new() ; </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment"> * Fill the parameter list.</span></div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment">/* Output file name */</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> sinfo_general_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> sinfo_product_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> sinfo_lamp_flats_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> sinfo_bp_config_add(recipe->parameters); </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <a class="code" href="group__sinfo__bad__pix__search.html#ga4f320ea65a00f127ece79fd2c6416a15" title="Adds parameters for the spectrum extraction.">sinfo_bp_dist_config_add</a>(recipe->parameters); </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> sinfo_prepare_stacked_frames_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> sinfo_distortion_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> sinfo_north_south_test_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> }</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_distortion_exec(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> {</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordtype">int</span> status=0;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> cpl_errorstate initial_errorstate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> status=sinfo_rec_distortion(recipe->parameters, recipe->frames);</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(initial_errorstate)) { </div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="comment">/* Dump the error history since recipe execution start. </span></div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="comment"> At this point the recipe cannot recover from the error */</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> cpl_errorstate_dump(initial_errorstate, CPL_FALSE, NULL); </div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> } </div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="keywordflow">return</span> status;</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> }</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_distortion_destroy(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> {</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> cpl_parameterlist_delete(recipe->parameters);</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> }</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="comment"> * The actual recipe actually start here.</span></div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> sinfo_rec_distortion(cpl_parameterlist *config, cpl_frameset *<span class="keyword">set</span>)</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> {</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> </div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> cpl_parameter *p=NULL;</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> cpl_frame* frame=NULL;</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> cpl_image* ima=NULL;</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> cpl_frameset* raw_set=NULL;</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> cpl_frameset* set_off=NULL;</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> cpl_frameset* set_on=NULL;</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> cpl_frameset* set_fibre_ns=NULL;</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> cpl_frameset* set_flat_ns=NULL;</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> cpl_frameset* set_wave_ns=NULL;</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="keywordtype">char</span> file_name[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> fake* fk=sinfo_fake_new();</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="keywordtype">int</span> pdensity=0;</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="keywordtype">int</span> line_cor=0;</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> check_nomsg(p=cpl_parameterlist_find(config,<span class="stringliteral">"sinfoni.product.density"</span>));</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> check_nomsg(pdensity=cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> </div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> sinfo_msg(<span class="stringliteral">"Welcome to SINFONI Pipeline release %d.%d.%d"</span>,</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> SINFONI_MAJOR_VERSION,SINFONI_MINOR_VERSION,SINFONI_MICRO_VERSION);</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keywordflow">if</span>(sinfo_dfs_set_groups(<span class="keyword">set</span>)) {</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Cannot indentify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> }</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> check_nomsg(p=cpl_parameterlist_find(config, <span class="stringliteral">"sinfoni.general.lc_sw"</span>));</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> check_nomsg(line_cor=cpl_parameter_get_bool(p));</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="keywordflow">if</span>(line_cor==1) {</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> check_nomsg(sinfo_ima_line_cor(config,<span class="keyword">set</span>));</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> }</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> </div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> cknull_nomsg(set_fibre_ns=sinfo_frameset_extract(<span class="keyword">set</span>,RAW_FIBRE_NS));</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> cknull_nomsg(set_flat_ns=sinfo_frameset_extract(<span class="keyword">set</span>,RAW_FLAT_NS));</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> cknull_nomsg(set_wave_ns=sinfo_frameset_extract(<span class="keyword">set</span>,RAW_WAVE_NS));</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> check_nomsg(p=cpl_parameterlist_find(config,<span class="stringliteral">"sinfoni.bp.method"</span>));</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> check_nomsg(cpl_parameter_set_string(p,<span class="stringliteral">"Normal"</span>)); </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> check_nomsg(raw_set=cpl_frameset_duplicate(<span class="keyword">set</span>));</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> sinfo_msg(<span class="stringliteral">"-----------------------------"</span>);</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> sinfo_msg(<span class="stringliteral">" DETERMINE MASTER_LAMP_NS "</span>);</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> sinfo_msg(<span class="stringliteral">"-----------------------------"</span>);</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> sinfo_msg(<span class="stringliteral">"REDUCE LAMPFLAT"</span>) ; </div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> ck0(sinfo_new_lamp_flats(cpl_func,config, <span class="keyword">set</span>,set_flat_ns ),</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="stringliteral">"reducing lampflats"</span>) ;</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> sinfo_msg(<span class="stringliteral">"SUCCES: DETERMINATION MASTER_LAMP_NS"</span>) ; </div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> </div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> sinfo_msg(<span class="stringliteral">"-----------------------------"</span>);</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> sinfo_msg(<span class="stringliteral">" DETERMINE BP_MAP_DI "</span>);</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> sinfo_msg(<span class="stringliteral">"-----------------------------"</span>);</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> check_nomsg(p=cpl_parameterlist_find(config,<span class="stringliteral">"sinfoni.bp.method"</span>));</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> check_nomsg(cpl_parameter_set_string(p,<span class="stringliteral">"Normal"</span>)); </div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> ck0(sinfo_new_bp_search_normal(cpl_func,config,<span class="keyword">set</span>,set_flat_ns,</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> PRO_BP_MAP_DI),</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="stringliteral">"determining %s"</span>,PRO_BP_MAP_DI);</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> sinfo_msg(<span class="stringliteral">"SUCCESS DETERMINATION %s"</span>,PRO_BP_MAP_DI);</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="comment"> ---------------------------------------------------------</span></div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="comment"> pre iteration: get a collassed frame </span></div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="comment"> ---------------------------------------------------------</span></div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> check_nomsg(set_off=cpl_frameset_duplicate(raw_set));</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> ck0_nomsg(new_pre_process(set_off, 0.0, 0.2,<span class="stringliteral">"out_fibre_off.fits"</span>));</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> </div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="comment">/* add the off artificial frame to the frameset */</span></div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(set_off,RAW_FIBRE_NS)) {</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> frame = cpl_frameset_find(set_off,RAW_FIBRE_NS);</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> cpl_frameset_erase(<span class="keyword">set</span>,RAW_FIBRE_NS);</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> cpl_frameset_insert(<span class="keyword">set</span>,cpl_frame_duplicate(frame));</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame %s not found!"</span>, RAW_FIBRE_NS);</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> }</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> </div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="comment"> ---------------------------------------------------------</span></div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="comment"> 1st iteration: get off frame </span></div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="comment"> ---------------------------------------------------------</span></div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> </div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> sinfo_msg(<span class="stringliteral">"STACK FIBRE,NS TO GET FAKE OFF\n"</span>) ; </div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> strcpy(fk->pro_class,RAW_FIBRE_NS);</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> fk->frm_switch=1;</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> fk->mask_index=0;</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> fk->ind_index=0;</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> fk->flat_index=0;</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> fk->wfix_index=0;</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> fk->low_rej=0.0;</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> fk->hig_rej=0.2;</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> </div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> ck0(sinfo_new_prepare_stacked_frames(cpl_func,config, <span class="keyword">set</span>, set_fibre_ns,</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> PRO_FIBRE_NS_STACKED_OFF,0,fk),</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="stringliteral">"Error stacking frame %s"</span>,PRO_FIBRE_NS_STACKED_OFF);</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> </div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> strcpy(file_name,<span class="stringliteral">"out_fibre_off.fits"</span>);</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> check_nomsg(ima=cpl_image_load(file_name,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> sinfo_free_frameset(&set_off);</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> cknull(plist = cpl_propertylist_load(file_name, 0),</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="stringliteral">"getting header from reference ima frame %s"</span>,file_name);</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> </div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_LAMP_HALO)) {</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> cpl_propertylist_set_bool(plist, KEY_NAME_LAMP_HALO, LAMP_OFF);</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> cpl_propertylist_append_bool(plist, KEY_NAME_LAMP_HALO,LAMP_OFF);</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> }</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> </div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> sinfo_free_image(&ima);</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> sinfo_msg(<span class="stringliteral">"SUCCESS: STACKED FIBRE,NS TO GET FAKE OFF\n"</span>) ; </div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> </div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="comment"> ---------------------------------------------------------</span></div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="comment"> 2nd iteration: get on frame </span></div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="comment"> ---------------------------------------------------------</span></div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> </div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> check_nomsg(set_on=cpl_frameset_duplicate(raw_set));</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> </div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> ck0_nomsg(new_pre_process(set_on, 0.0, 0.0,<span class="stringliteral">"out_fibre_on.fits"</span>));</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> </div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(set_on,RAW_FIBRE_NS)) {</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> frame = cpl_frameset_find(set_on,RAW_FIBRE_NS);</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> cpl_frameset_erase(<span class="keyword">set</span>,RAW_FIBRE_NS);</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> cpl_frameset_insert(<span class="keyword">set</span>,cpl_frame_duplicate(frame));</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame %s not found!"</span>, RAW_FIBRE_NS);</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> }</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> </div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> </div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> sinfo_msg(<span class="stringliteral">"STACK FIBRE,NS TO GET FAKE ON\n"</span>) ; </div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> strcpy(fk->pro_class,RAW_FIBRE_NS);</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> fk->frm_switch=1;</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> fk->mask_index=0;</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> fk->ind_index=0;</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> fk->flat_index=0;</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> fk->wfix_index=0;</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> fk->low_rej=0.0;</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> fk->hig_rej=0.0;</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> </div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> </div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> ck0(sinfo_new_prepare_stacked_frames(cpl_func,config, <span class="keyword">set</span>, set_fibre_ns,</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> PRO_FIBRE_NS_STACKED_ON,0,fk),</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="stringliteral">"error stacking frame %s"</span>,PRO_FIBRE_NS_STACKED_ON);</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> sinfo_msg(<span class="stringliteral">"SUCCESS DETERMINATION %s"</span>,PRO_FIBRE_NS_STACKED_ON) ; </div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> </div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="comment">/* cpl_frameset_erase(set,RAW_FIBRE_NS); */</span></div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> sinfo_free_frameset(&set_on);</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> </div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="comment">/* here we have a problem with pipefile of following step product */</span></div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="comment"> ---------------------------------------------------------</span></div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <span class="comment"> 3rd iteration combines on and off fake frames</span></div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="comment"> ---------------------------------------------------------</span></div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> </div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> sinfo_msg(<span class="stringliteral">"COMBINES FAKE ON AND OFF\n"</span>) ; </div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> strcpy(fk->pro_class,PRO_FIBRE_NS_STACKED);</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> fk->frm_switch=1;</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> fk->mask_index=0;</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> fk->ind_index=0;</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> fk->flat_index=1;</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> fk->wfix_index=0;</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> fk->low_rej=0.0;</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> fk->hig_rej=0.0;</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> </div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> ck0(sinfo_new_prepare_stacked_frames(cpl_func,config, <span class="keyword">set</span>, set_fibre_ns,</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> PRO_FIBRE_NS_STACKED,0,fk),</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="stringliteral">"Stacking frame %s"</span>,PRO_FIBRE_NS_STACKED);</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> sinfo_msg(<span class="stringliteral">"SUCCESS DETERMINATION %s"</span>,PRO_FIBRE_NS_STACKED) ; </div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> </div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="comment">/* cpl_frameset_erase(set,RAW_FIBRE_NS); */</span></div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> </div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="comment"> ---------------------------------------------------------</span></div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="comment"> STACK WAVECAL</span></div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="comment"> ---------------------------------------------------------</span></div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> </div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> sinfo_msg(<span class="stringliteral">"STACK on WAVE frame\n"</span>) ;</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> strcpy(fk->pro_class,RAW_WAVE_NS);</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> fk->frm_switch=1;</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> fk->mask_index=0;</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> fk->ind_index=0;</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> fk->flat_index=1;</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> fk->wfix_index=0;</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> fk->low_rej=0.1;</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> fk->hig_rej=0.1;</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> </div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> sinfo_msg(<span class="stringliteral">"STACK on WAVE frame\n"</span>) ; </div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> ck0(sinfo_new_prepare_stacked_frames(cpl_func,config, <span class="keyword">set</span>, set_wave_ns,</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> PRO_WAVE_LAMP_STACKED,0,fk),</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="stringliteral">"spacking frame %s"</span>,PRO_WAVE_LAMP_STACKED);</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> sinfo_msg(<span class="stringliteral">"SUCCESS DETERMINATION %s"</span>,PRO_WAVE_LAMP_STACKED) ; </div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> </div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="keywordflow">if</span>(pdensity < 2) {</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> cpl_frameset_erase(<span class="keyword">set</span>,PRO_FIBRE_NS_STACKED_OFF);</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> cpl_frameset_erase(<span class="keyword">set</span>,PRO_FIBRE_NS_STACKED_ON);</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> cpl_frameset_erase(<span class="keyword">set</span>,PRO_MASTER_FLAT_LAMP);</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> }</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="comment"> ---------------------------------------------------------</span></div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="comment"> DISTORTIONS </span></div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="comment"> ---------------------------------------------------------</span></div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> </div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> sinfo_msg(<span class="stringliteral">"COMPUTE DISTORTIONS\n"</span>) ; </div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> ck0(sinfo_new_find_distortions(cpl_func,config, <span class="keyword">set</span>,set_fibre_ns),</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> <span class="stringliteral">"computing distortions"</span>);</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> </div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> </div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(<span class="keyword">set</span>,PRO_FIBRE_NS_STACKED)) {</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> frame = cpl_frameset_find(<span class="keyword">set</span>,PRO_FIBRE_NS_STACKED);</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> strcpy(file_name,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame %s not found!"</span>, PRO_FIBRE_NS_STACKED);</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> }</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> check_nomsg(ima=cpl_image_load(file_name,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> </div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> check(plist = cpl_propertylist_load(file_name, 0),</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="stringliteral">"getting header from reference ima frame %s"</span>,file_name);</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> </div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> </div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> <span class="keywordflow">if</span> (cpl_propertylist_has(plist, KEY_NAME_LAMP_HALO)) {</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> cpl_propertylist_set_bool(plist, KEY_NAME_LAMP_HALO, LAMP_ON);</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> cpl_propertylist_append_bool(plist, KEY_NAME_LAMP_HALO,LAMP_ON);</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> }</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> </div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> </div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> <span class="comment">/* Save the file */</span></div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="comment"> if (cpl_image_save(ima, file_name, CPL_BPP_IEEE_FLOAT, </span></div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> <span class="comment"> plist,CPL_IO_DEFAULT)!=CPL_ERROR_NONE) {</span></div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> <span class="comment"> sinfo_msg_error("Cannot save the product %s",file_name);</span></div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="comment"> goto cleanup;</span></div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="comment"></span></div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> </div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> sinfo_free_image(&ima);</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> sinfo_msg(<span class="stringliteral">"SUCCESS: COMPUTED DISTORTIONS\n"</span>) ; </div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> </div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="comment"> ---------------------------------------------------------</span></div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="comment"> 4th iteration: distort fake frame</span></div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <span class="comment"> ---------------------------------------------------------</span></div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> </div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> </div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> </div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> sinfo_msg(<span class="stringliteral">"DISTORT FAKE FRAME\n"</span>) ; </div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> </div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> strcpy(fk->pro_class,PRO_FIBRE_NS_STACKED_DIST);</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> fk->frm_switch=1;</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> fk->mask_index=1;</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> fk->ind_index=1;</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> fk->flat_index=0;</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> fk->wfix_index=1;</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> fk->low_rej=0.0;</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> fk->hig_rej=0.0;</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> </div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> ck0(sinfo_new_prepare_stacked_frames(cpl_func,config, <span class="keyword">set</span>, set_fibre_ns,</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> PRO_FIBRE_NS_STACKED_DIST,0,fk),</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <span class="stringliteral">"Stacking frame %s"</span>,PRO_FIBRE_NS_STACKED_DIST);</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> </div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> sinfo_msg(<span class="stringliteral">"SUCCESS: DISTORTED FAKE FRAME\n"</span>) ;</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> </div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> </div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> </div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(<span class="keyword">set</span>,PRO_FIBRE_NS_STACKED_DIST)) {</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> frame = cpl_frameset_find(<span class="keyword">set</span>,PRO_FIBRE_NS_STACKED_DIST);</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> strcpy(file_name,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame %s not found!"</span>, PRO_FIBRE_NS_STACKED_DIST);</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> }</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> check_nomsg(ima=cpl_image_load(file_name,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> check(plist = cpl_propertylist_load(file_name, 0),</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="stringliteral">"getting header from reference ima frame %s"</span>,file_name);</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> </div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> </div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <span class="keywordflow">if</span> (cpl_propertylist_has(plist, KEY_NAME_LAMP_HALO)) {</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> cpl_propertylist_set_bool(plist, KEY_NAME_LAMP_HALO, LAMP_ON);</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> cpl_propertylist_append_bool(plist, KEY_NAME_LAMP_HALO,LAMP_ON);</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> }</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> </div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> <span class="comment">/* Save the file */</span></div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="comment"> if (cpl_image_save(ima, file_name, CPL_BPP_IEEE_FLOAT, </span></div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> <span class="comment"> plist,CPL_IO_DEFAULT)!=CPL_ERROR_NONE) {</span></div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> <span class="comment"> sinfo_msg_error("Cannot save the product %s",file_name);</span></div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> <span class="comment"> goto cleanup;</span></div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> sinfo_free_image(&ima);</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> </div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> <span class="comment"> ---------------------------------------------------------</span></div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> <span class="comment"> NST </span></div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> <span class="comment"> ---------------------------------------------------------</span></div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> </div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> <span class="keywordflow">if</span>(pdensity < 2) {</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> cpl_frameset_erase(<span class="keyword">set</span>,PRO_BP_MAP_DI);</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> cpl_frameset_erase(<span class="keyword">set</span>,PRO_FIBRE_NS_STACKED);</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> cpl_frameset_erase(<span class="keyword">set</span>,PRO_WAVE_LAMP_STACKED);</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> }</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> </div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> </div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> sinfo_msg(<span class="stringliteral">"RUN NORD SOUTH TEST\n"</span>) ; </div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> ck0(sinfo_new_nst(cpl_func,config, <span class="keyword">set</span>,set_fibre_ns),</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="stringliteral">"Running north south test"</span>);</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> </div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> </div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="keywordflow">if</span>(pdensity < 2) {</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> cpl_frameset_erase(<span class="keyword">set</span>,PRO_FIBRE_NS_STACKED_DIST);</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> }</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> </div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> sinfo_msg(<span class="stringliteral">"SUCCESS: RUNNED NORD SUD TEST\n"</span>) ; </div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> sinfo_msg(<span class="stringliteral">"SUCCESS: RECIPE\n"</span>) ; </div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> </div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> sinfo_free_frameset(&raw_set);</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> sinfo_fake_delete(&fk);</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> </div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> </div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> cleanup:</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> </div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> sinfo_free_frameset(&set_on);</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> sinfo_free_frameset(&set_fibre_ns);</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> sinfo_free_frameset(&set_wave_ns);</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> sinfo_free_frameset(&set_flat_ns);</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> sinfo_free_image(&ima);</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> sinfo_free_frameset(&set_off);</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> sinfo_free_frameset(&raw_set);</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> sinfo_free_frameset(&raw_set);</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> sinfo_fake_delete(&fk);</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> </div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> }</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> </div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> </div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> }</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> </div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> </div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> </div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> <span class="keyword">static</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> new_pre_process(cpl_frameset* <span class="keyword">set</span>, </div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> <span class="keyword">const</span> <span class="keywordtype">float</span> lo_rej, <span class="keyword">const</span> <span class="keywordtype">float</span> hi_rej, <span class="keyword">const</span> <span class="keywordtype">char</span>* name_o)</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> {</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> </div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="keywordtype">int</span> nf=0;</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> <span class="keywordtype">int</span> ng=10;</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> <span class="keywordtype">int</span> ns=0;</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> <span class="keywordtype">int</span> nr=0;</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <span class="keywordtype">int</span> nt=0;</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> </div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> <span class="keywordtype">int</span> lo_cut=0;</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="keywordtype">int</span> hi_cut=0;</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> </div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> </div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> cpl_frame* frame=NULL;</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> cpl_frame* pframe=NULL;</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> cpl_frameset* sof=NULL;</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> cpl_frameset* fibre_raw_set=NULL;</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> <span class="keywordtype">char</span>* file_name=NULL;</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> </div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> cpl_imagelist* imset_tmp=NULL;</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> cpl_imagelist* imset_tot=NULL;</div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> cpl_image** avg_img_list=NULL;</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> </div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> cpl_image* img=NULL;</div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> cpl_image* img_tmp=NULL;</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> cpl_image* img_dup=NULL;</div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> </div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> cpl_image** img_list=NULL;</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> </div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> </div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> sof = cpl_frameset_duplicate(<span class="keyword">set</span>);</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> fibre_raw_set = cpl_frameset_new();</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> </div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> sinfo_contains_frames_kind(sof,fibre_raw_set,RAW_FIBRE_NS);</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> </div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> nf = cpl_frameset_get_size(fibre_raw_set);</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> <span class="keywordflow">if</span>(nf < 1) {</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"No input frames in data set"</span>);</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> sinfo_free_frameset(&sof);</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> sinfo_free_frameset(&fibre_raw_set);</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> }</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> frame = cpl_frameset_get_frame(fibre_raw_set,0);</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> file_name=(<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> </div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> </div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> <span class="keywordflow">if</span> ((plist = cpl_propertylist_load(file_name, 0)) == NULL) {</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"getting header from ima frame %s"</span>,file_name);</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> }</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> </div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> </div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> <span class="keywordflow">if</span>( nf > ng) {</div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> </div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> sinfo_msg(<span class="stringliteral">"Total raw frames nf=%d > max frm per group ng=%d"</span>,nf,ng);</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> ns = (nf+1)/ng;</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> nr = nf-ns*ng;</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> imset_tot=cpl_imagelist_new();</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> avg_img_list=cpl_malloc((ns+1) * <span class="keyword">sizeof</span>(cpl_image *));</div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> </div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> </div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> <span class="keywordflow">for</span> (i=0;i<ns;i++) {</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> sinfo_msg(<span class="stringliteral">"iteration i=%d\n"</span>,i);</div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> imset_tmp=cpl_imagelist_new();</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> img_list=cpl_malloc(ng * <span class="keyword">sizeof</span>(cpl_image *));</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> </div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> </div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> <span class="keywordflow">for</span> (j=0;j<ng;j++) {</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> k=i*ng+j;</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> frame = cpl_frameset_get_frame(fibre_raw_set,k);</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> file_name=(<span class="keywordtype">char</span>*)cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> img_tmp=cpl_image_load(file_name,CPL_TYPE_FLOAT,0,0);</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> img_dup=cpl_image_duplicate(img_tmp); </div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> cpl_imagelist_set(imset_tmp,img_dup,j);</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> cpl_image_delete(img_tmp);</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> }</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> </div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> </div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> nt=cpl_imagelist_get_size(imset_tmp);</div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> lo_cut=(floor)(lo_rej*nt+0.5);</div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> hi_cut=(floor)(hi_rej*nt+0.5);</div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> avg_img_list[i]=cpl_imagelist_collapse_minmax_create(imset_tmp,</div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> lo_cut,hi_cut);</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> cpl_imagelist_set(imset_tot,avg_img_list[i],i);</div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> cpl_imagelist_delete(imset_tmp);</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> cpl_free(img_list);</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> </div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> }</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> </div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="keywordflow">if</span>(ns*ng<nf) {</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> imset_tmp=cpl_imagelist_new();</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> img_list=cpl_malloc((nf-ns*ng) * <span class="keyword">sizeof</span>(cpl_image *));</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="keywordflow">for</span>(i=0;i<nr;i++) {</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> k=i+ns*ng;</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> frame = cpl_frameset_get_frame(fibre_raw_set,k);</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> file_name = (<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> </div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> img_list[i]=cpl_image_load(file_name,CPL_TYPE_FLOAT,0,0);</div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> cpl_imagelist_set(imset_tmp,img_list[i],i);</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> }</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> nt=cpl_imagelist_get_size(imset_tmp);</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> lo_cut=(floor)(lo_rej*nt+0.5);</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> hi_cut=(floor)(hi_rej*nt+0.5);</div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> </div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> avg_img_list[ns]=cpl_imagelist_collapse_minmax_create(imset_tmp,</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> lo_cut,hi_cut);</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> cpl_imagelist_set(imset_tot,avg_img_list[ns],ns);</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> </div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> cpl_free(img);</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> cpl_imagelist_delete(imset_tmp);</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> cpl_free(img_list);</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> }</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> </div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> </div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> sinfo_msg(<span class="stringliteral">"Total raw frames nf=%d < max frm per group ng=%d"</span>,nf,ng);</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> imset_tot=cpl_imagelist_new();</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> img_list=cpl_malloc(nf * <span class="keyword">sizeof</span>(cpl_image *));</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> <span class="keywordflow">for</span> (i=0;i<nf;i++) {</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> frame = cpl_frameset_get_frame(fibre_raw_set,i);</div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> file_name = (<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> img_list[i]=cpl_image_load(file_name,CPL_TYPE_FLOAT,0,0);</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> cpl_imagelist_set(imset_tot,img_list[i],i);</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> }</div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> cpl_free(img_list);</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> }</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> cpl_free(avg_img_list);</div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> </div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> cpl_frameset_delete(fibre_raw_set);</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> nt=cpl_imagelist_get_size(imset_tot);</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> lo_cut=(floor)(lo_rej*nt+0.5);</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> hi_cut=(floor)(hi_rej*nt+0.5);</div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> </div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> <span class="keywordflow">if</span>( (img = cpl_imagelist_collapse_minmax_create(imset_tot,</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> lo_cut,hi_cut)) == NULL) {</div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Error code"</span>);</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"%s"</span>, (<span class="keywordtype">char</span>* ) cpl_error_get_message());</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> cpl_imagelist_delete(imset_tot);</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> cpl_frameset_delete(sof);</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> }</div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> </div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> <span class="keywordflow">if</span> (cpl_image_save(img,name_o, CPL_BPP_IEEE_FLOAT,</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> plist,CPL_IO_DEFAULT)!=CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Cannot save the product %s"</span>,name_o);</div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> cpl_imagelist_delete(imset_tot);</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> cpl_frameset_delete(sof);</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> }</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> cpl_imagelist_delete(imset_tot);</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> cpl_frameset_erase(<span class="keyword">set</span>,RAW_FIBRE_NS);</div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> </div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> <span class="comment">/* Create product frame */</span></div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> pframe = cpl_frame_new();</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> cpl_frame_set_filename(pframe, name_o) ;</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> cpl_frame_set_tag(pframe, <span class="stringliteral">"FIBRE_NS"</span>) ;</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> cpl_frame_set_type(pframe, CPL_FRAME_TYPE_IMAGE) ;</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> cpl_frame_set_group(pframe, CPL_FRAME_GROUP_RAW) ;</div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> cpl_frame_set_level(pframe, CPL_FRAME_LEVEL_FINAL) ;</div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> <span class="keywordflow">if</span> (cpl_error_get_code()) {</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Error while initialising the product frame"</span>) ;</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> cpl_frame_delete(pframe) ;</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> cpl_image_delete(img) ;</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> }</div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> </div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> </div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> <span class="comment">/* Save the file */</span></div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> <span class="keywordflow">if</span> (cpl_image_save(img, name_o, CPL_BPP_IEEE_FLOAT, plist,</div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> CPL_IO_DEFAULT) != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Could not save product"</span>);</div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> cpl_frame_delete(pframe) ;</div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> cpl_image_delete(img) ;</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> }</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> cpl_image_delete(img) ;</div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> </div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> <span class="comment">/* Log the saved file in the input frameset */</span></div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> cpl_frameset_insert(<span class="keyword">set</span>, pframe) ;</div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> cpl_frameset_delete(sof);</div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> </div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__rec__jitter_8c_source.html b/html/sinfo__rec__jitter_8c_source.html
deleted file mode 100644
index 98a9509..0000000
--- a/html/sinfo__rec__jitter_8c_source.html
+++ /dev/null
@@ -1,397 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_rec_jitter.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_rec_jitter.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_rec_jitter.c,v 1.35 2013/10/14 14:40:00 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2013/10/14 14:40:00 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.35 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Object Data reduction *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span> <span class="comment">/* allows the program compilation */</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/* std */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <strings.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <libgen.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/* sinfoni */</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include <sinfo_utilities.h></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include <sinfo_pro_types.h></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include <sinfo_general_config.h></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include <sinfo_product_config.h></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include <sinfo_prepare_stacked_frames_config.h></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include <sinfo_objnod_config.h></span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#include <sinfo_skycor_config.h></span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#include <sinfo_psf_config.h></span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#include <sinfo_standard_star_config.h></span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#include <sinfo_new_prepare_stacked_frames.h></span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#include <sinfo_new_cubes_coadd.h></span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#include <sinfo_new_stdstar.h></span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#include <sinfo_new_psf.h></span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#include <sinfo_key_names.h></span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#include <sinfo_raw_types.h></span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">#include <sinfo_functions.h></span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor">#include <sinfo_hidden.h></span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor">#include <sinfo_globals.h></span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor">#include <sinfo_rec_utils.h></span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_jitter_create(cpl_plugin *) ;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_jitter_exec(cpl_plugin *) ;</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_jitter_destroy(cpl_plugin *) ;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_jitter(cpl_parameterlist *config, cpl_frameset *<span class="keyword">set</span>);</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_jitter_description1[] =</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="stringliteral">"This recipe performs science data reduction.\n"</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="stringliteral">"The input files are:\n"</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="stringliteral">"science object and sky frames with tags OBJECT_NODDING and SKY_NODDING or\n"</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="stringliteral">"Telluric standard star frames and sky frames with tags STD and SKY_STD or\n"</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="stringliteral">"PSF standard star and sky frames with tags \n"</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="stringliteral">"PSF_CALIBRATOR and SKY_PSF_CALIBRATOR\n"</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="stringliteral">"and Master calibration frames:\n"</span>;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_jitter_description2[] =</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="stringliteral">"A corresponding (band,preoptics) wavelength map image with tag WAVE_MAP\n"</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="stringliteral">"A corresponding (band,preoptics) master flat field with tag MASTER_FLAT_LAMP\n"</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="stringliteral">"A corresponding (band,preoptics) master bad pixel map with tag MASTER_BP_MAP\n"</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="stringliteral">"A corresponding (band,preoptics) slitlets position frame with tag SLIT_POS\n"</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="stringliteral">"A corresponding (band) distortion table with tag DISTORTION\n"</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="stringliteral">"A corresponding (band) slitlet distance table with tag SLITLETS_DISTANCE\n"</span>;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_jitter_description3[] =</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="stringliteral">"The output is an image resulting from the IMA1 op IMA2 where op indicates\n"</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="stringliteral">"A reference table with the position of the first "</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="stringliteral">"column with tag FIRST_COLUMN\n"</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="stringliteral">"Relevant outputs are:\n"</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="stringliteral">"combined cubes (PRO.CATG=x_OBS x=STD,OBJ,PSF)\n"</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="stringliteral">"reconstructed cube (PRO.CATG=COADD_x_OBS x=STD,OBJ,PSF)\n"</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="stringliteral">"An average along Z of the reconstructed cube \n"</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="stringliteral">"(PRO.CATG=MED_x_OBS x=STD,OBJ,PSF)\n"</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="stringliteral">"The bad pixel map associated to the cube \n"</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="stringliteral">"(PRO.CATG=BP_MAP_COADD_x_OBS x=STD,OBJ,PSF)\n"</span>;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_jitter_description4[] =</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="stringliteral">"Information on relevant parameters can be found with\n"</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="stringliteral">"esorex --params sinfo_rec_jitter\n"</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="stringliteral">"esorex --help sinfo_rec_jitter\n"</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_jitter_description[1400];</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"><a class="code" href="group__sinfo__rec__jitter.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693"> 152</a></span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist *list)</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> {</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> cpl_recipe *recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe);</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> cpl_plugin *plugin = &recipe->interface;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> strcpy(sinfo_rec_jitter_description,sinfo_rec_jitter_description1);</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> strcat(sinfo_rec_jitter_description,sinfo_rec_jitter_description2);</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> strcat(sinfo_rec_jitter_description,sinfo_rec_jitter_description3);</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> strcat(sinfo_rec_jitter_description,sinfo_rec_jitter_description4);</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="stringliteral">"sinfo_rec_jitter"</span>,</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="stringliteral">"Object or STD star or PSF star data reduction"</span>,</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> sinfo_rec_jitter_description,</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="stringliteral">"Andrea Modigliani"</span>,</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="stringliteral">"Andrea.Mdigliani at eso.org"</span>,</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> sinfo_rec_jitter_create,</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> sinfo_rec_jitter_exec,</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> sinfo_rec_jitter_destroy);</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> cpl_pluginlist_append(list, plugin);</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> }</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_jitter_create(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> {</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment">/* Check that the plugin is part of a valid recipe */</span></div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE)</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> cpl_error_reset();</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> recipe->parameters = cpl_parameterlist_new() ;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment"> * Fill the parameter list.</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> sinfo_general_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> sinfo_product_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> sinfo_prepare_stacked_frames_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> sinfo_objnod_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> sinfo_skycor_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> sinfo_standard_star_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> sinfo_psf_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> }</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_jitter_exec(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> {</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> cpl_recipe *recipe = (cpl_recipe *) plugin;</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> cpl_errorstate initial_errorstate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE)</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(initial_errorstate)) {</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="comment">/* Dump the error history since recipe execution start.</span></div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="comment"> At this point the recipe cannot recover from the error */</span></div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> cpl_errorstate_dump(initial_errorstate, CPL_FALSE, NULL);</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> }</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keywordflow">return</span> sinfo_rec_jitter(recipe->parameters, recipe->frames);</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> }</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_jitter_destroy(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> {</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE)</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> cpl_parameterlist_delete(recipe->parameters);</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> }</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="comment"> * The actual recipe actually start here.</span></div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> </div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_jitter(cpl_parameterlist *config, cpl_frameset *<span class="keyword">set</span>)</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> {</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* pro_ctg_cube;</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> cpl_parameter* p=NULL;</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="keywordtype">int</span> psf_sw=0;</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="keywordtype">int</span> std_sw=0;</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> cpl_frameset* ref_set=NULL;</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="keywordtype">int</span> line_cor=0;</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> sinfo_msg(<span class="stringliteral">"Welcome to SINFONI Pipeline release %d.%d.%d"</span>,</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> SINFONI_MAJOR_VERSION,SINFONI_MINOR_VERSION,SINFONI_MICRO_VERSION);</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keywordflow">if</span>(sinfo_dfs_set_groups(<span class="keyword">set</span>)) {</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Cannot indentify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> }</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> check_nomsg(p=cpl_parameterlist_find(config, <span class="stringliteral">"sinfoni.general.lc_sw"</span>));</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> check_nomsg(line_cor=cpl_parameter_get_bool(p));</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="keywordflow">if</span>(line_cor==1) {</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> check_nomsg(sinfo_ima_line_cor(config,<span class="keyword">set</span>));</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> }</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> </div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> check_nomsg(ref_set=cpl_frameset_duplicate(<span class="keyword">set</span>));</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="comment">/* ===============================================================</span></div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="comment"> Defines several framesets each with a pair obj-sky,</span></div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="comment"> stack each pair, put the results in set</span></div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="comment"> =============================================================== */</span></div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> ck0(sinfo_cub_stk_frames(config,&<span class="keyword">set</span>,cpl_func,&pro_ctg_cube),</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="stringliteral">"Cannot stack RAW frames"</span>) ;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> </div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="comment">/* ===============================================================</span></div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="comment"> SCI OBJNOD</span></div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="comment"> =============================================================== */</span></div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> sinfo_msg(<span class="stringliteral">"COADDING CUBES"</span>);</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> ck0(sinfo_new_cubes_coadd(cpl_func,config, <span class="keyword">set</span>, pro_ctg_cube),</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="stringliteral">"COADDING CUBES"</span>) ;</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> sinfo_msg(<span class="stringliteral">"COADDED CUBES"</span>);</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="comment">/* ===============================================================</span></div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="comment"> PSF</span></div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="comment"> =============================================================== */</span></div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="keywordflow">if</span>((strcmp(pro_ctg_cube,PRO_COADD_PSF) == 0) ||</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> (strcmp(pro_ctg_cube,PRO_COADD_STD) == 0) ||</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> (strcmp(pro_ctg_cube,PRO_COADD_PUPIL) == 0) ) {</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> p = cpl_parameterlist_find(config, <span class="stringliteral">"sinfoni.psf.switch"</span>);</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> psf_sw = cpl_parameter_get_bool(p);</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> sinfo_msg(<span class="stringliteral">"switch=%d"</span>,psf_sw);</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="keywordflow">if</span>(psf_sw) {</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> sinfo_msg(<span class="stringliteral">"REDUCE PSF STD STAR FRAMES"</span>);</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="keywordflow">if</span> ( -1 == sinfo_new_psf(cpl_func,config,<span class="keyword">set</span>,<span class="keyword">set</span>) ) {</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"REDUCING PSF STD STAR FRAMES"</span>) ;</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> cpl_error_reset();</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> sinfo_msg(<span class="stringliteral">"SUCCESS REDUCE PSF STD STAR FRAMES"</span>) ;</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> }</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> }</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> p = cpl_parameterlist_find(config, <span class="stringliteral">"sinfoni.std_star.switch"</span>);</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> std_sw = cpl_parameter_get_bool(p);</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> sinfo_msg(<span class="stringliteral">"switch=%d"</span>,std_sw);</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="keywordflow">if</span>(std_sw) {</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> sinfo_msg(<span class="stringliteral">"STD STAR DATA REDUCTION"</span>);</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keywordflow">if</span> ( -1 == sinfo_new_stdstar(cpl_func,config, <span class="keyword">set</span>,<span class="keyword">set</span> ) ) {</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"REDUCING STD STAR DATA"</span>) ;</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> cpl_error_reset();</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> sinfo_msg(<span class="stringliteral">"STD STAR DATA REDUCTION SUCCESS"</span>) ;</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> }</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> }</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> }</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> cleanup:</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> sinfo_free_frameset(&ref_set);</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> sinfo_check_rec_status(0);</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> }</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> </div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> }</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__rec__lingain_8c_source.html b/html/sinfo__rec__lingain_8c_source.html
deleted file mode 100644
index b4b7e68..0000000
--- a/html/sinfo__rec__lingain_8c_source.html
+++ /dev/null
@@ -1,214 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_rec_lingain.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_rec_lingain.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_rec_lingain.c,v 1.22 2012/03/03 10:38:03 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the DETMON Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2012/03/03 10:38:03 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.22 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes and Defines</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_irplib_cpl_wrp.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/* Define here the DO.CATG keywords */</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#define SINFO_LINGAIN_ON_RAW "LINEARITY_LAMP_ON"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_LINGAIN_OFF_RAW "LINEARITY_LAMP_OFF"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#define RECIPE_NAME "sinfo_rec_lingain"</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/* Copy here instrument specific keywords which need to be in the PAF file */</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#define INSTREGEXP "ESO INS SETUP ID"</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#define PAFREGEXP "^(" REGEXP "|" INSTREGEXP ")$"</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor"></span><span class="preprocessor">#define NIR TRUE</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_BPMBIN 1</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_KAPPA 9</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> cpl_error_code</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> sinfo_lingain_fill_parlist_default(cpl_parameterlist * parlist);</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> CPL_RECIPE_DEFINE(sinfo_rec_lingain, SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">/* Replace DETMON_BINARY_VERSION with</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> corresponding pipeline macro */</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> sinfo_lingain_fill_parlist_default(recipe->parameters),</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">/* Replace "sinfoni" with PACKAGE_TARNAME</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> when moved into SINFONI */</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="stringliteral">"Lander de Bilbao"</span>, <span class="stringliteral">"lbilbao at eso.org"</span>, <span class="stringliteral">"2008"</span>,</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="stringliteral">"Linearity/Gain recipe for the IR domain"</span>,</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> LG_DESCR(RECIPE_NAME, <span class="stringliteral">"SINFONI"</span>,</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> SINFO_LINGAIN_ON_RAW,</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> SINFO_LINGAIN_OFF_RAW));</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> @brief Interpret the command line options and execute the data processing</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"> @param frameset the frames list</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"> @param parlist the parameters list</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"> @return 0 if everything is ok</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_lingain(cpl_frameset * frameset,</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keyword">const</span> cpl_parameterlist * parlist)</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> {</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name_o=NULL;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> cpl_frame* frm=NULL;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> cpl_image* ima=NULL;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> cpl_error_code error = CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> cpl_propertylist * lintbl;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> cpl_propertylist * gaintbl;</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> cpl_propertylist * coeffscube;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> cpl_propertylist * bpm;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> cpl_propertylist * corr;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> cpl_propertylist * diff_flat;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> lintbl = DETMON_FILL_PROLIST(<span class="stringliteral">"DET_LIN_INFO"</span>, <span class="stringliteral">"TYPE"</span>, <span class="stringliteral">"TECH"</span>, CPL_TRUE);</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> gaintbl = DETMON_FILL_PROLIST(<span class="stringliteral">"GAIN_INFO"</span>, <span class="stringliteral">"TYPE"</span>, <span class="stringliteral">"TECH"</span>, CPL_TRUE);</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> coeffscube = DETMON_FILL_PROLIST(<span class="stringliteral">"COEFFS_CUBE"</span>, <span class="stringliteral">"TYPE"</span>, <span class="stringliteral">"TECH"</span>, CPL_TRUE);</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> bpm = DETMON_FILL_PROLIST(<span class="stringliteral">"BP_MAP_NL"</span>, <span class="stringliteral">"TYPE"</span>, <span class="stringliteral">"TECH"</span>, CPL_TRUE);</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> corr = DETMON_FILL_PROLIST(<span class="stringliteral">"AUTOCORR"</span>, <span class="stringliteral">"TYPE"</span>, <span class="stringliteral">"TECH"</span>, CPL_TRUE);</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> diff_flat = DETMON_FILL_PROLIST(<span class="stringliteral">"DIFF_FLAT"</span>, <span class="stringliteral">"TYPE"</span>, <span class="stringliteral">"TECH"</span>, CPL_TRUE);</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> error = DETMON_LG(frameset,</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> parlist,</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> SINFO_LINGAIN_ON_RAW,</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> SINFO_LINGAIN_OFF_RAW,</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> RECIPE_NAME,</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment">/* Replace this string ("sinfoni") with */</span> PACKAGE_TARNAME,</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment">/* PACKAGE_TARNAME when moved into SINFONI */</span> PAFREGEXP,</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> lintbl, gaintbl,</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> coeffscube, bpm,</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> corr, diff_flat,</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> PACKAGE <span class="stringliteral">"/"</span> PACKAGE_VERSION,</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> NULL, NULL, NIR);</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> sinfo_free_propertylist(&lintbl);</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> sinfo_free_propertylist(&gaintbl);</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> sinfo_free_propertylist(&coeffscube);</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> sinfo_free_propertylist(&bpm);</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> sinfo_free_propertylist(&corr);</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> sinfo_free_propertylist(&diff_flat);</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> check_nomsg(frm=cpl_frameset_find(frameset,<span class="stringliteral">"BP_MAP_NL"</span>));</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> check_nomsg(name_o=cpl_frame_get_filename(frm));</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> check_nomsg(plist=cpl_propertylist_load(name_o,0));</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> check_nomsg(ima=cpl_image_load(name_o,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> check_nomsg(cpl_image_threshold(ima,0.1,0.9,1,0));</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> check_nomsg(cpl_image_save(ima,name_o,CPL_BPP_IEEE_FLOAT,plist,CPL_IO_DEFAULT));</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> cleanup:</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> sinfo_free_image(&ima);</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment">/* Propagate the error, if any */</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> cpl_ensure_code(!error, error);</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> }</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> cpl_error_code</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> sinfo_lingain_fill_parlist_default(cpl_parameterlist * parlist)</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> {</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> cpl_error_code error = CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> cpl_parameter * p;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> error = DETMON_LG_FILL_PARLIST_NIR_DEFAULT(parlist,RECIPE_NAME,</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> PACKAGE_TARNAME);</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> cpl_ensure_code(!error, error);</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> p = cpl_parameterlist_find(parlist, PACKAGE_TARNAME <span class="stringliteral">"."</span> RECIPE_NAME <span class="stringliteral">".bpmbin"</span>);</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> cpl_ensure_code(p != NULL, CPL_ERROR_DATA_NOT_FOUND);</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> error = cpl_parameter_set_default_bool(p, SINFO_BPMBIN);</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> p = cpl_parameterlist_find(parlist, PACKAGE_TARNAME <span class="stringliteral">"."</span> RECIPE_NAME <span class="stringliteral">".kappa"</span>);</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> cpl_ensure_code(p != NULL, CPL_ERROR_DATA_NOT_FOUND);</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> error = cpl_parameter_set_default_double(p, SINFO_KAPPA);</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> cpl_ensure_code(!error, error);</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordflow">return</span> error;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> }</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__rec__mdark_8c_source.html b/html/sinfo__rec__mdark_8c_source.html
deleted file mode 100644
index f3c144e..0000000
--- a/html/sinfo__rec__mdark_8c_source.html
+++ /dev/null
@@ -1,455 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_rec_mdark.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_rec_mdark.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_rec_mdark.c,v 1.22 2008/02/28 10:36:10 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2008/02/28 10:36:10 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.22 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> * Dark Frames Data Reduction *</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span> <span class="comment">/* allows the program compilation */</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/* std */</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <strings.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">/* sinfoni */</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#include <sinfo_bp_noise.h></span> <span class="comment">/* */</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include <sinfo_new_dark.h></span> <span class="comment">/* */</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include <sinfo_utilities.h></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include <sinfo_general_config.h></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include <sinfo_bp_config.h></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include <sinfo_bp_noise_config.h></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include <sinfo_dark_config.h></span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#include <sinfo_pfits.h></span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#include <sinfo_functions.h></span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#include <sinfo_pfits.h></span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_mdark_create(cpl_plugin *plugin);</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_mdark_exec(cpl_plugin *plugin);</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_mdark_destroy(cpl_plugin *plugin);</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_mdark(cpl_parameterlist *config, cpl_frameset *<span class="keyword">set</span>);</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">static</span> <span class="keywordtype">int</span> count_diff_ndit(cpl_frameset *<span class="keyword">set</span>, cpl_vector** dit_val);</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_mdark_description[] =</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="stringliteral">"This recipe perform raw sinfo_dark data reduction.\n"</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="stringliteral">"The input files are raw sinfo_dark images\n"</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="stringliteral">"Their associated tags should be DARK.\n"</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="stringliteral">"The output are a master sinfo_dark (PRO.CATG=MASTER_DARK) and\n"</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="stringliteral">"a hot pixels bad pixel map (PRO.CATG=BP_MAP_HP)\n"</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="stringliteral">"Information on relevant parameters may be found with\n"</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="stringliteral">"esorex --params sinfo_rec_mdark\n"</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="stringliteral">"esorex --help sinfo_rec_mdark\n"</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"><a class="code" href="group__sinfo__rec__mdark.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693"> 113</a></span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist *list)</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> {</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> cpl_recipe *recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe);</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> cpl_plugin *plugin = &recipe->interface;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="stringliteral">"sinfo_rec_mdark"</span>,</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="stringliteral">"Master dark and hot pixels mask generation."</span>,</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> sinfo_rec_mdark_description,</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="stringliteral">"Andrea Modigliani"</span>,</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="stringliteral">"Andrea.Modigliani at eso.org"</span>,</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> sinfo_rec_mdark_create,</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> sinfo_rec_mdark_exec,</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> sinfo_rec_mdark_destroy);</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> cpl_pluginlist_append(list, plugin);</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> }</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_mdark_create(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> {</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment">/* Check that the plugin is part of a valid recipe */</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> cpl_error_reset();</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> recipe->parameters = cpl_parameterlist_new() ; </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment"> * Fill the parameter list.</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> sinfo_general_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <a class="code" href="group__sinfo__bad__pix__search.html#gaa86bb476f2328523607038df849c2beb" title="Adds parameters for the spectrum extraction.">sinfo_bp_noise_config_add</a>(recipe->parameters);</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> sinfo_dark_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> }</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_mdark_exec(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> {</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> cpl_errorstate initial_errorstate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(initial_errorstate)) { </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment">/* Dump the error history since recipe execution start. </span></div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment"> At this point the recipe cannot recover from the error */</span> </div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> cpl_errorstate_dump(initial_errorstate, CPL_FALSE, NULL); </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> } </div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">return</span> sinfo_rec_mdark(recipe->parameters, recipe->frames);</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> }</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_mdark_destroy(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> {</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> cpl_parameterlist_delete(recipe->parameters) ; </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> }</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="comment"> * The actual recipe actually start here.</span></div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> sinfo_rec_mdark(cpl_parameterlist *config, cpl_frameset *<span class="keyword">set</span>)</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> {</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> cpl_parameter* p=NULL;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordtype">int</span> nset=0;</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> cpl_frameset * wrk_set=NULL;</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> cpl_frameset * cdb_set=NULL;</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> cpl_frameset * tot_set=NULL;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> cpl_frame* tmp_frm=NULL;</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> cpl_frame* dup_frm=NULL;</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> cpl_frame* cdb_frm=NULL;</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="keywordtype">char</span> tmp_name[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="keywordtype">char</span> out_bpmap_name[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keywordtype">char</span> out_dark_name[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keywordtype">double</span> tmp_dit=0;</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="keywordtype">double</span> ref_dit=0;</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> cpl_vector* dit_val=NULL;</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keywordtype">int</span> line_cor=0;</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="keywordtype">int</span> nraw=0;</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keywordtype">int</span> ncdb=0;</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keywordtype">int</span> nred=0;</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="keywordtype">int</span> ntot=0;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> sinfo_msg(<span class="stringliteral">"Welcome to SINFONI Pipeline release %d.%d.%d"</span>,</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> SINFONI_MAJOR_VERSION,SINFONI_MINOR_VERSION,SINFONI_MICRO_VERSION);</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> ck0(sinfo_dfs_set_groups(<span class="keyword">set</span>),<span class="stringliteral">"Cannot indentify RAW and CALIB frames"</span>);</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> check_nomsg(p=cpl_parameterlist_find(config, <span class="stringliteral">"sinfoni.general.lc_sw"</span>));</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> check_nomsg(line_cor=cpl_parameter_get_bool(p));</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="keywordflow">if</span>(line_cor==1) {</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> check_nomsg(sinfo_ima_line_cor(config,<span class="keyword">set</span>));</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> }</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> check_nomsg(cdb_set=cpl_frameset_new());</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> check_nomsg(tot_set=cpl_frameset_new());</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> sinfo_extract_mst_frames(<span class="keyword">set</span>,cdb_set);</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> sinfo_bp_config_add(config);</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> nset=count_diff_ndit(<span class="keyword">set</span>,&dit_val);</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> check_nomsg(nraw=cpl_frameset_get_size(<span class="keyword">set</span>));</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> check_nomsg(ncdb=cpl_frameset_get_size(cdb_set));</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="keywordflow">for</span>(i=0;i<nset;i++) {</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> check_nomsg(wrk_set=cpl_frameset_new());</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> check_nomsg(ref_dit=cpl_vector_get(dit_val,i));</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keywordflow">for</span>(j=0;j<nraw;j++) {</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> check_nomsg(tmp_frm=cpl_frameset_get_frame(<span class="keyword">set</span>,j));</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> check_nomsg(strcpy(tmp_name,cpl_frame_get_filename(tmp_frm)));</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> plist=cpl_propertylist_load(tmp_name,0);</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> tmp_dit=sinfo_pfits_get_dit(plist);</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="keywordflow">if</span>(tmp_dit==ref_dit) {</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> check_nomsg(cpl_frameset_insert(wrk_set,cpl_frame_duplicate(tmp_frm)));</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> }</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> }</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keywordflow">for</span>(j=0;j<ncdb;j++) {</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> check_nomsg(cdb_frm=cpl_frameset_get_frame(cdb_set,j));</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> check_nomsg(cpl_frameset_insert(wrk_set,cpl_frame_duplicate(cdb_frm)));</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> }</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="comment">/* reduce data */</span></div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> ck0(sinfo_dfs_set_groups(wrk_set),<span class="stringliteral">"Cannot indentify RAW and CALIB frames"</span>);</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> </div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="comment">/* Hidden parameters */</span></div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> check_nomsg(p = cpl_parameterlist_find(config,<span class="stringliteral">"sinfoni.bp.method"</span>));</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> check_nomsg(cpl_parameter_set_string(p,<span class="stringliteral">"Noise"</span>));</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> ck0(sinfo_dfs_set_groups(<span class="keyword">set</span>),<span class="stringliteral">"Cannot indentify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="keywordflow">if</span> (nset>1) {</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> sprintf(out_bpmap_name,<span class="stringliteral">"%s%d%s"</span>,<span class="stringliteral">"out_bp_noise"</span>,i,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> strcpy(out_bpmap_name,<span class="stringliteral">"out_bp_noise.fits"</span>);</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> }</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> sinfo_msg(<span class="stringliteral">"-----------------------------------------------"</span>);</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> sinfo_msg(<span class="stringliteral">"BP_MAP_HP BAD PIXEL MAP DETERMINATION "</span>);</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> sinfo_msg(<span class="stringliteral">"-----------------------------------------------"</span>);</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> ck0(sinfo_new_bp_search_noise(cpl_func,config,wrk_set,out_bpmap_name),</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="stringliteral">"computing BP_MAP_HP"</span>) ;</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> sinfo_msg(<span class="stringliteral">"BP_MAP_HP BAD PIXEL MAP DETERMINATION SUCCESS"</span>) ; </div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> sinfo_msg(<span class="stringliteral">"-----------------------------------------------"</span>);</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> sinfo_msg(<span class="stringliteral">"MASTER DARK DETERMINATION "</span>);</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> sinfo_msg(<span class="stringliteral">"-----------------------------------------------"</span>);</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="keywordflow">if</span> (nset>1) {</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> sprintf(out_dark_name,<span class="stringliteral">"%s%d%s"</span>,<span class="stringliteral">"out_dark"</span>,i,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> strcpy(out_dark_name,<span class="stringliteral">"out_dark.fits"</span>);</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> }</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> ck0(sinfo_new_dark(cpl_func,config, wrk_set, out_dark_name),</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="stringliteral">"Computing master dark"</span>) ;</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> sinfo_msg(<span class="stringliteral">"MASTER DARK DETERMINATION SUCCESS"</span>) ;</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> nred=cpl_frameset_get_size(wrk_set);</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="keywordflow">for</span>(j=0;j<nred;j++) {</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> check_nomsg(tmp_frm=cpl_frameset_get_frame(wrk_set,j));</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> check_nomsg(cpl_frameset_insert(tot_set,cpl_frame_duplicate(tmp_frm)));</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> }</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> sinfo_free_frameset(&wrk_set);</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> </div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> }</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> check_nomsg(ntot=cpl_frameset_get_size(tot_set));</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="keywordflow">for</span>(j=0;j<ntot;j++) {</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> check_nomsg(tmp_frm=cpl_frameset_get_frame(tot_set,j));</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> check_nomsg(cpl_frameset_insert(<span class="keyword">set</span>,cpl_frame_duplicate(tmp_frm)));</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> }</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> </div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> sinfo_free_frameset(&tot_set);</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> sinfo_free_my_vector(&dit_val);</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> sinfo_free_frameset(&cdb_set);</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> </div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> </div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> </div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> cleanup:</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> sinfo_free_frame(&dup_frm);</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> sinfo_free_frameset(&wrk_set);</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> sinfo_free_frameset(&tot_set);</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> sinfo_free_my_vector(&dit_val);</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> sinfo_free_frameset(&cdb_set);</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> }</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> </div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> }</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> </div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="keyword">static</span> <span class="keywordtype">int</span> count_diff_ndit(cpl_frameset *<span class="keyword">set</span>, cpl_vector** dit_val)</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> {</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> cpl_frame* tmp_frm=NULL;</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> cpl_frame* dup_frm=NULL;</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="keywordtype">char</span> tmp_name[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="keywordtype">int</span> nraw=0;</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="keywordtype">int</span> ndit=1;</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="keywordtype">double</span> ref_dit=0;</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> cpl_vector* dit=NULL; </div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> </div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> nraw=cpl_frameset_get_size(<span class="keyword">set</span>);</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> dit=cpl_vector_new(nraw);</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="keywordflow">for</span>(i=0;i<nraw;i++) {</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> tmp_frm = cpl_frameset_get_frame(<span class="keyword">set</span>, i);</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> strcpy(tmp_name,cpl_frame_get_filename(tmp_frm));</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> plist= cpl_propertylist_load(tmp_name,0);</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> cpl_vector_set(dit,i,sinfo_pfits_get_dit(plist));</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> }</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> </div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> </div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> cpl_vector_sort(dit,1);</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> ref_dit=cpl_vector_get(dit,0);</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> </div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> </div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="keywordflow">for</span>(i=1;i<nraw;i++) {</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="keywordflow">if</span>(ref_dit != cpl_vector_get(dit,i)) {</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> ref_dit=cpl_vector_get(dit,i);</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> ndit++;</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> }</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> }</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> *dit_val=cpl_vector_new(ndit);</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> ref_dit=cpl_vector_get(dit,0);</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> cpl_vector_set(*dit_val,0,cpl_vector_get(dit,0));</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> ndit=1;</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> </div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="keywordflow">for</span>(i=1;i<nraw;i++) {</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="keywordflow">if</span>(ref_dit != cpl_vector_get(dit,i)) {</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> cpl_vector_set(*dit_val,ndit,cpl_vector_get(dit,i));</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> ref_dit=cpl_vector_get(dit,i);</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> ndit++;</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> }</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> }</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> </div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> cpl_vector_delete(dit);</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> cpl_frame_delete(dup_frm);</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> </div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="keywordflow">return</span> ndit;</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> }</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__rec__mdark__detmon_8c_source.html b/html/sinfo__rec__mdark__detmon_8c_source.html
deleted file mode 100644
index e6b0a79..0000000
--- a/html/sinfo__rec__mdark__detmon_8c_source.html
+++ /dev/null
@@ -1,134 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_rec_mdark_detmon.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_rec_mdark_detmon.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_rec_mdark_detmon.c,v 1.4 2012/01/12 11:53:24 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the DETMON Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2012/01/12 11:53:24 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.4 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "irplib_detmon.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "irplib_plugin.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/* Define here the DO.CATG keywords */</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#define SINFONI_DARK_RAW "DARK"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#define RECIPE_NAME "sinfo_rec_mdark_detmon"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> CPL_RECIPE_DEFINE(sinfo_rec_mdark_detmon, SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> irplib_detmon_fill_dark_params_default(recipe->parameters,</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="stringliteral">"sinfo_rec_mdark_detmon"</span>,</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="stringliteral">"sinfo"</span>),</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="stringliteral">"Lander de Bilbao"</span>, <span class="stringliteral">"lbilbao at eso.org"</span>, <span class="stringliteral">"2008"</span>, </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="stringliteral">"Master dark and detector signal non uniformity map"</span>,</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> irplib_detmon_dark_get_description(RECIPE_NAME,</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="stringliteral">"SINFONI"</span>,</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> SINFONI_DARK_RAW));</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> @brief Interpret the command line options and execute the data processing</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> @param frameset the frames list</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> @param parlist the parameters list</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> @return 0 if everything is ok</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_mdark_detmon(cpl_frameset * frameset,</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keyword">const</span> cpl_parameterlist * parlist)</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> {</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">const</span> cpl_error_code error = irplib_detmon_dark(frameset,</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> parlist,</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> SINFONI_DARK_RAW,</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> RECIPE_NAME,</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> PACKAGE_TARNAME,</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="stringliteral">"MASTER_DARK"</span>,</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="stringliteral">"DSNU_MAP"</span>,</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="stringliteral">"DSNU_TABLE"</span>,</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> PACKAGE <span class="stringliteral">"/"</span> PACKAGE_VERSION,</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> NULL);</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">/* Propagate the error, if any */</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> cpl_ensure_code(!error, error);</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keywordflow">return</span> CPL_ERROR_NONE;</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__rec__mflat_8c_source.html b/html/sinfo__rec__mflat_8c_source.html
deleted file mode 100644
index d84e2d3..0000000
--- a/html/sinfo__rec__mflat_8c_source.html
+++ /dev/null
@@ -1,327 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_rec_mflat.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_rec_mflat.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_rec_mflat.c,v 1.22 2008/02/05 08:13:05 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2008/02/05 08:13:05 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.22 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Rec_Lampflats Frames Data Reduction *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span> <span class="comment">/* allows the program compilation */</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/* std */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <strings.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/* sinfoni */</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include <sinfo_pro_types.h></span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include <sinfo_utilities.h></span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include <sinfo_general_config.h></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include <sinfo_product_config.h></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#include <sinfo_bp_config.h></span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include <sinfo_bp_norm_config.h></span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include <sinfo_lamp_flats_config.h></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include <sinfo_bp_norm.h></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include <sinfo_new_lamp_flats.h></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include <sinfo_functions.h></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include <sinfo_new_add_bp_map.h></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_mflat_create(cpl_plugin *);</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_mflat_exec(cpl_plugin *);</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_mflat_destroy(cpl_plugin *);</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_mflat(cpl_parameterlist *, cpl_frameset *);</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_mflat_description[] =</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="stringliteral">"This recipe reduce normal raw flat fields.\n"</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="stringliteral">"The input files are a set of flat fields with tag FLAT_LAMP\n"</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="stringliteral">"optionally one may have in input also several bad pixel maps to be coadded.\n"</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="stringliteral">"The main products are a master flat field (PRO.CATG=MASTER_FLAT_LAMP) image\n"</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="stringliteral">"a bad pixel map (PRO.CATG=BP_MAP_NO), "</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="stringliteral">"a master bad pixel map (PRO.CATG=MASTER_BP_MAP) resulting by the coaddition\n"</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="stringliteral">"of all bad pixel maps.\n"</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="stringliteral">"Information on relevant parameters can be found with\n"</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="stringliteral">"esorex --params sinfo_rec_mflat\n"</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="stringliteral">"esorex --help sinfo_rec_mflat\n"</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"><a class="code" href="group__sinfo__rec__mflat.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693"> 113</a></span> <span class="keywordtype">int</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist *list)</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> {</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> cpl_recipe *recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe);</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> cpl_plugin *plugin = &recipe->interface;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="stringliteral">"sinfo_rec_mflat"</span>,</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="stringliteral">"Master flat determination"</span>,</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> sinfo_rec_mflat_description,</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="stringliteral">"Andrea Modigliani"</span>,</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="stringliteral">"Andrea.Modigliani at eso.org"</span>,</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> sinfo_rec_mflat_create,</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> sinfo_rec_mflat_exec,</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> sinfo_rec_mflat_destroy);</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> cpl_pluginlist_append(list, plugin);</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> }</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_mflat_create(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> {</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment">/* Check that the plugin is part of a valid recipe */</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> recipe->parameters = cpl_parameterlist_new() ; </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment"> * Fill the parameter list.</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> sinfo_general_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> sinfo_product_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <a class="code" href="group__sinfo__bad__pix__search.html#ga6f49eed82217a86089ff7f23465ae3e0" title="Adds parameters for the spectrum extraction.">sinfo_bp_norm_config_add</a>(recipe->parameters);</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> sinfo_lamp_flats_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> }</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_mflat_exec(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> {</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> cpl_errorstate initial_errorstate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> cpl_error_reset();</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(initial_errorstate)) { </div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment">/* Dump the error history since recipe execution start. </span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment"> At this point the recipe cannot recover from the error */</span> </div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> cpl_errorstate_dump(initial_errorstate, CPL_FALSE, NULL); </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> } </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keywordflow">return</span> sinfo_rec_mflat(recipe->parameters, recipe->frames);</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> }</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_mflat_destroy(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> {</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> cpl_recipe *recipe = (cpl_recipe *) plugin;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> cpl_parameterlist_delete(recipe->parameters);</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> }</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment"> * The actual recipe actually start here.</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> sinfo_rec_mflat(cpl_parameterlist *config, cpl_frameset *<span class="keyword">set</span>)</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> {</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> cpl_frameset* ref_set=NULL;</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordtype">int</span> pdensity=0;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="keywordtype">int</span> line_cor=0;</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> check_nomsg(p=cpl_parameterlist_find(config,<span class="stringliteral">"sinfoni.product.density"</span>));</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> check_nomsg(pdensity=cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> sinfo_msg(<span class="stringliteral">"Welcome to SINFONI Pipeline release %d.%d.%d"</span>,</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> SINFONI_MAJOR_VERSION,SINFONI_MINOR_VERSION,SINFONI_MICRO_VERSION);</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> ck0(sinfo_dfs_set_groups(<span class="keyword">set</span>),<span class="stringliteral">"Cannot indentify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> check_nomsg(p=cpl_parameterlist_find(config, <span class="stringliteral">"sinfoni.general.lc_sw"</span>));</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> check_nomsg(line_cor=cpl_parameter_get_bool(p));</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordflow">if</span>(line_cor==1) {</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> check_nomsg(sinfo_ima_line_cor(config,<span class="keyword">set</span>));</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> }</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> check_nomsg(ref_set=cpl_frameset_duplicate(<span class="keyword">set</span>));</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> sinfo_bp_config_add(config); </div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> check_nomsg(p = cpl_parameterlist_find(config,<span class="stringliteral">"sinfoni.bp.method"</span>));</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> check_nomsg(cpl_parameter_set_string(p,<span class="stringliteral">"Normal"</span>)); </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="comment"> ---------------------------------------------------------</span></div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="comment"> MASTER_FLAT</span></div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="comment"> ---------------------------------------------------------</span></div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> sinfo_msg(<span class="stringliteral">"-------------------------------------------"</span>);</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> sinfo_msg(<span class="stringliteral">"MASTER FLAT DETERMINATION "</span>);</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> sinfo_msg(<span class="stringliteral">"-------------------------------------------"</span>);</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> ck0(sinfo_new_lamp_flats(cpl_func,config,<span class="keyword">set</span>,ref_set),</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="stringliteral">"MASTER FLAT DETERMINATION FAILED"</span>);</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> sinfo_msg(<span class="stringliteral">"MASTER FLAT DETERMINATION SUCCESS"</span>) ; </div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> sinfo_msg(<span class="stringliteral">"-------------------------------------------"</span>);</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> sinfo_msg(<span class="stringliteral">"BP_MAP_NO BAD PIXEL MAP DETERMINATION "</span>);</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> sinfo_msg(<span class="stringliteral">"-------------------------------------------"</span>);</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="comment"> ---------------------------------------------------------</span></div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="comment"> BP_SEARCH</span></div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="comment"> ---------------------------------------------------------</span></div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> check_nomsg(p = cpl_parameterlist_find(config,<span class="stringliteral">"sinfoni.bp.method"</span>));</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> check_nomsg(cpl_parameter_set_string(p,<span class="stringliteral">"Normal"</span>)); </div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> ck0(sinfo_new_bp_search_normal(cpl_func,config,<span class="keyword">set</span>,ref_set,PRO_BP_MAP_NO),</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="stringliteral">"BP_MAP_NO BAD PIXEL MAP DETERMINATION FAILED"</span>) ;</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> sinfo_msg(<span class="stringliteral">"------------------------------------------"</span>);</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> sinfo_msg(<span class="stringliteral">"MASTER_BP_MAP BAD PIXEL MAP DETERMINATION "</span>);</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> sinfo_msg(<span class="stringliteral">"------------------------------------------"</span>);</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> ck0(sinfo_new_add_bp_map(cpl_func,config, <span class="keyword">set</span>,ref_set),</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="stringliteral">"MASTER_BP_MAP BAD PIXEL MAP FAILED"</span>) ;</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> sinfo_msg(<span class="stringliteral">"MASTER_BP_MAP BAD PIXEL MAP DETERMINATION SUCCESS"</span>);</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="keywordflow">if</span>(pdensity < 2) {</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> check_nomsg(cpl_frameset_erase(<span class="keyword">set</span>,PRO_BP_MAP_NO));</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> }</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> cleanup:</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> sinfo_free_frameset(&ref_set);</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> }</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> }</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__rec__objnod_8c_source.html b/html/sinfo__rec__objnod_8c_source.html
deleted file mode 100644
index 39b4a41..0000000
--- a/html/sinfo__rec__objnod_8c_source.html
+++ /dev/null
@@ -1,330 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_rec_objnod.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_rec_objnod.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_rec_objnod.c,v 1.24 2007/10/26 09:40:28 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2007/10/26 09:40:28 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.24 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> * Object Data reduction *</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span> <span class="comment">/* allows the program compilation */</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/* std */</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <strings.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <libgen.h></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include <irplib_utils.h></span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/* sinfoni */</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include <sinfo_pro_types.h></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include <sinfo_product_config.h></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include <sinfo_prepare_stacked_frames_config.h></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include <sinfo_objnod_config.h></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include <sinfo_new_cubes_coadd.h></span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#include <sinfo_new_prepare_stacked_frames.h></span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#include <sinfo_skycor_config.h></span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#include <sinfo_key_names.h></span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#include <sinfo_raw_types.h></span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#include <sinfo_functions.h></span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#include <sinfo_hidden.h></span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#include <sinfo_globals.h></span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor">#include <sinfo_rec_utils.h></span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_objnod_create(cpl_plugin *) ;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_objnod_exec(cpl_plugin *) ;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_objnod_destroy(cpl_plugin *) ;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_objnod(cpl_parameterlist *, cpl_frameset *);</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_objnod_description1[] =</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="stringliteral">"This recipe performs science data reduction.\n"</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="stringliteral">"The input files are science object and sky frames with tags \n"</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="stringliteral">"OBJECT_NODDING and SKY_NODDING\n"</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="stringliteral">"Master calibration frames:\n"</span>;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_objnod_description2[] =</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="stringliteral">"A corresponding (band,preoptics) wavelength map image with tag WAVE_MAP\n"</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="stringliteral">"A corresponding (band,preoptics) master flat field with tag MASTER_FLAT_LAMP\n"</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="stringliteral">"A corresponding (band,preoptics) master bad pixel map with tag MASTER_BP_MAP\n"</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="stringliteral">"A corresponding (band,preoptics) slitlets position frame with tag SLIT_POS\n"</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="stringliteral">"A corresponding (band) distortion table with tag DISTORTION\n"</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="stringliteral">"A corresponding (band) slitlet distance table with tag SLITLETS_DISTANCE\n"</span>;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_objnod_description3[] =</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="stringliteral">"The output is an image resulting from the IMA1 op IMA2 where op indicates\n"</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="stringliteral">"A reference table with the position of the first "</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="stringliteral">"column with tag FIRST_COLUMN\n"</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="stringliteral">"Relevant outputs are:\n"</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="stringliteral">"combined cubes (PRO.CATG=x_OBS x=STD,OBJ,PSF)\n"</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="stringliteral">"reconstructed cube (PRO.CATG=COADD_x_OBS x=STD,OBJ,PSF)\n"</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="stringliteral">"An average along Z of the reconstructed cube \n"</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="stringliteral">"(PRO.CATG=MED_x_OBS x=STD,OBJ,PSF)\n"</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="stringliteral">"The bad pixel map associated to the cube \n"</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="stringliteral">"(PRO.CATG=BP_MAP_COADD_x_OBS x=STD,OBJ,PSF)\n"</span>;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_objnod_description4[] =</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="stringliteral">"Information on relevant parameters can be found with\n"</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="stringliteral">"esorex --params sinfo_rec_objnod\n"</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="stringliteral">"esorex --help sinfo_rec_objnod\n"</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_objnod_description[1300];</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"><a class="code" href="group__sinfo__rec__objnod.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693"> 147</a></span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist *list)</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> {</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> cpl_recipe *recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe);</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> cpl_plugin *plugin = &recipe->interface;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> strcpy(sinfo_rec_objnod_description,sinfo_rec_objnod_description1);</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> strcat(sinfo_rec_objnod_description,sinfo_rec_objnod_description2);</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> strcat(sinfo_rec_objnod_description,sinfo_rec_objnod_description3);</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> strcat(sinfo_rec_objnod_description,sinfo_rec_objnod_description4);</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="stringliteral">"sinfo_rec_objnod"</span>,</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="stringliteral">"Object data reduction"</span>,</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> sinfo_rec_objnod_description,</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="stringliteral">"Andrea Modigliani"</span>,</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="stringliteral">"Andrea.Mdigliani at eso.org"</span>,</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> sinfo_rec_objnod_create,</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> sinfo_rec_objnod_exec,</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> sinfo_rec_objnod_destroy);</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> cpl_pluginlist_append(list, plugin);</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> }</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_objnod_create(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> {</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="comment">/* Check that the plugin is part of a valid recipe */</span></div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> cpl_error_reset();</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> recipe->parameters = cpl_parameterlist_new() ; </div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment"> * Fill the parameter list.</span></div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> sinfo_product_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> sinfo_prepare_stacked_frames_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> sinfo_objnod_config_add(recipe->parameters); </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> sinfo_skycor_config_add(recipe->parameters); </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> }</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_objnod_exec(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> {</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> cpl_errorstate initial_errorstate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(initial_errorstate)) { </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="comment">/* Dump the error history since recipe execution start. </span></div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="comment"> At this point the recipe cannot recover from the error */</span> </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> cpl_errorstate_dump(initial_errorstate, CPL_FALSE, NULL); </div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> } </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordflow">return</span> sinfo_rec_objnod(recipe->parameters, recipe->frames);</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> }</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_objnod_destroy(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> {</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> cpl_recipe *recipe = (cpl_recipe *) plugin;</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> cpl_parameterlist_delete(recipe->parameters);</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> }</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="comment"> * The actual recipe actually start here.</span></div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_objnod(cpl_parameterlist *config, cpl_frameset *<span class="keyword">set</span>)</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> {</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* pro_ctg_cube;</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> sinfo_msg(<span class="stringliteral">"Welcome to SINFONI Pipeline release %d.%d.%d"</span>,</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> SINFONI_MAJOR_VERSION,SINFONI_MINOR_VERSION,SINFONI_MICRO_VERSION);</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="keywordflow">if</span>(sinfo_dfs_set_groups(<span class="keyword">set</span>)) {</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Cannot indentify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> }</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="comment">/* =============================================================== </span></div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="comment"> Defines several framesets each with a pair obj-sky, </span></div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="comment"> stack each pair, put the results in set </span></div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="comment"> =============================================================== */</span></div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> ck0(sinfo_cub_stk_frames(config,&<span class="keyword">set</span>,cpl_func,&pro_ctg_cube),</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="stringliteral">"Cannot stack RAW frames"</span>) ;</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> </div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="comment">/* =============================================================== </span></div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="comment"> SCI OBJNOD </span></div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="comment"> =============================================================== */</span></div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ; </div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> sinfo_msg(<span class="stringliteral">"COADDING CUBES"</span>);</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ; </div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> ck0(sinfo_new_cubes_coadd(cpl_func,config, <span class="keyword">set</span>, pro_ctg_cube),</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="stringliteral">"COADDING CUBES"</span>) ;</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ; </div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> sinfo_msg(<span class="stringliteral">"COADDED CUBES"</span>);</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ; </div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> cleanup:</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> }</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__rec__psf_8c_source.html b/html/sinfo__rec__psf_8c_source.html
deleted file mode 100644
index 2ccaf8a..0000000
--- a/html/sinfo__rec__psf_8c_source.html
+++ /dev/null
@@ -1,338 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_rec_psf.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_rec_psf.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_rec_psf.c,v 1.22 2008/02/12 14:56:50 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Date: 2008/02/12 14:56:50 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Revision: 1.22 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> * Psf Frames Data Reduction *</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span> <span class="comment">/* allows the program compilation */</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor"></span><span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/* std */</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <strings.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">/* sinfoni */</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#include <sinfo_pro_types.h></span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include <sinfo_product_config.h></span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include <sinfo_prepare_stacked_frames_config.h></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include <sinfo_objnod_config.h></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include <sinfo_skycor_config.h></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include <sinfo_functions.h></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include <sinfo_new_prepare_stacked_frames.h></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include <sinfo_new_cubes_coadd.h></span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#include <sinfo_new_stdstar.h></span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#include <sinfo_new_psf.h></span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#include <sinfo_hidden.h></span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#include <sinfo_globals.h></span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#include <sinfo_rec_utils.h></span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_psf_create(cpl_plugin *) ;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_psf_exec(cpl_plugin *) ;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_psf_destroy(cpl_plugin *) ;</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_psf(cpl_parameterlist *, cpl_frameset *);</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_psf_description1[] =</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="stringliteral">"This recipe performs psf standard data reduction.\n"</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="stringliteral">"The input files are science object and sky frames with tags\n"</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="stringliteral">"PSF_CALIBRATOR and SKY_PSF_CALIBRATOR\n"</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="stringliteral">"Master calibration frames:\n"</span>;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_psf_description2[] =</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="stringliteral">"Master calibration frames:\n"</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="stringliteral">"A corresponding (band,preoptics) wavelength map image (tag=WAVE_MAP)\n"</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="stringliteral">"A corresponding (band,preoptics) master flat field (tag=MASTER_FLAT_LAMP)\n"</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="stringliteral">"A corresponding (band,preoptics) master bad pixel map (tag=MASTER_BP_MAP)\n"</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="stringliteral">"A corresponding (band,preoptics) slitlets position frame (tag=SLIT_POS)\n"</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="stringliteral">"A corresponding (band) distortion table (tag=DISTORTION)\n"</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="stringliteral">"A corresponding (band) slitlet distance table (tag=SLITLETS_DISTANCE)\n"</span>;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_psf_description3[] =</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="stringliteral">"The output is an image resulting from the IMA1 op IMA2 where op indicates\n"</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="stringliteral">"the chosen operation\n"</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="stringliteral">"A reference table with the position of the first column (tag=FIRST_COLUMN)\n"</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="stringliteral">"Relevant outputs are:\n"</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="stringliteral">"combined cubes (PRO.CATG=x_OBS x=STD,OBJ,PSF)\n"</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="stringliteral">"reconstructed cube (PRO.CATG=COADD_x_OBS x=STD,OBJ,PSF)\n"</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="stringliteral">"An average along Z of the reconstructed cube \n"</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="stringliteral">"(PRO.CATG=MED_x_OBS x=STD,OBJ,PSF)\n"</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="stringliteral">"The bad pixel map associated to the cube \n"</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="stringliteral">"(PRO.CATG=BP_MAP_COADD_x_OBS x=STD,OBJ,PSF)\n"</span>;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_psf_description4[] =</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="stringliteral">"Information on relevant parameters can be found with\n"</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="stringliteral">"esorex --params sinfo_rec_psf\n"</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="stringliteral">"esorex --help sinfo_rec_psf\n"</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_psf_description[1300];</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"><a class="code" href="group__sinfo__rec__psf.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693"> 146</a></span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist *list)</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> {</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> cpl_recipe *recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe);</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> cpl_plugin *plugin = &recipe->interface;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> strcpy(sinfo_rec_psf_description,sinfo_rec_psf_description1);</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> strcat(sinfo_rec_psf_description,sinfo_rec_psf_description2);</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> strcat(sinfo_rec_psf_description,sinfo_rec_psf_description3);</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> strcat(sinfo_rec_psf_description,sinfo_rec_psf_description4);</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="stringliteral">"sinfo_rec_psf"</span>,</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="stringliteral">"PSF star data reduction"</span>,</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> sinfo_rec_psf_description,</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="stringliteral">"Andrea Modigliani"</span>,</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="stringliteral">"Andrea.Modigliani at eso.org"</span>,</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> sinfo_rec_psf_create,</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> sinfo_rec_psf_exec,</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> sinfo_rec_psf_destroy);</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> cpl_pluginlist_append(list, plugin);</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> }</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_psf_create(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> {</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment">/* Check that the plugin is part of a valid recipe */</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> recipe->parameters = cpl_parameterlist_new() ; </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="comment"> * Fill the parameter list.</span></div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> sinfo_product_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> sinfo_prepare_stacked_frames_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> sinfo_objnod_config_add(recipe->parameters); </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> sinfo_skycor_config_add(recipe->parameters); </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> }</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_psf_exec(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> {</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> cpl_errorstate initial_errorstate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(initial_errorstate)) { </div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="comment">/* Dump the error history since recipe execution start. </span></div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="comment"> At this point the recipe cannot recover from the error */</span> </div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> cpl_errorstate_dump(initial_errorstate, CPL_FALSE, NULL); </div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> } </div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordflow">return</span> sinfo_rec_psf(recipe->parameters, recipe->frames);</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> }</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_psf_destroy(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> {</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> cpl_parameterlist_delete(recipe->parameters);</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> }</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="comment"> * The actual recipe actually start here.</span></div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> sinfo_rec_psf(cpl_parameterlist *config, cpl_frameset *<span class="keyword">set</span>)</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> {</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* pro_ctg_cube;</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> sinfo_msg(<span class="stringliteral">"Welcome to SINFONI Pipeline release %d.%d.%d"</span>,</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> SINFONI_MAJOR_VERSION,SINFONI_MINOR_VERSION,SINFONI_MICRO_VERSION);</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="keywordflow">if</span>(sinfo_dfs_set_groups(<span class="keyword">set</span>)) {</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> sinfo_msg(<span class="stringliteral">"Cannot indentify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> }</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="comment">/* =============================================================== </span></div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="comment"> Defines several framesets each with a pair obj-sky, </span></div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="comment"> stack each pair, put the results in set </span></div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="comment"> =============================================================== */</span></div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> ck0(sinfo_cub_stk_frames(config,&<span class="keyword">set</span>,cpl_func,&pro_ctg_cube),</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="stringliteral">"Cannot stack RAW frames"</span>) ;</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="comment">/* =============================================================== </span></div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="comment"> SCI OBJNOD </span></div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="comment"> =============================================================== */</span></div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> sinfo_msg(<span class="stringliteral">"COADDING CUBES"</span>);</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> ck0(sinfo_new_cubes_coadd(cpl_func,config, <span class="keyword">set</span>, pro_ctg_cube),</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="stringliteral">"COADDING CUBES"</span>);</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> sinfo_msg(<span class="stringliteral">"COADDED CUBES"</span>);</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="comment">/* =============================================================== </span></div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="comment"> PSF</span></div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="comment"> =============================================================== */</span></div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> sinfo_msg(<span class="stringliteral">"REDUCE PSF STD STAR FRAMES"</span>);</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ; </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> ck0(sinfo_new_psf(cpl_func,config,<span class="keyword">set</span>),<span class="stringliteral">"REDUCING PSF STD STAR FRAMES"</span>);</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> sinfo_msg(<span class="stringliteral">"SUCCESS REDUCE PSF STD STAR FRAMES"</span>) ; </div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> cleanup:</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> }</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__rec__pupil_8c_source.html b/html/sinfo__rec__pupil_8c_source.html
deleted file mode 100644
index 70877d9..0000000
--- a/html/sinfo__rec__pupil_8c_source.html
+++ /dev/null
@@ -1,311 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_rec_pupil.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_rec_pupil.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_rec_pupil.c,v 1.17 2008/02/12 14:56:50 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2008/02/12 14:56:50 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.17 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> * Wave_Cal Frames Data Reduction *</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span> <span class="comment">/* allows the program compilation */</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/* std */</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <strings.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/* sinfoni */</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include <sinfo_pro_types.h></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include <sinfo_product_config.h></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include <sinfo_prepare_stacked_frames_config.h></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include <sinfo_objnod_config.h></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include <sinfo_raw_types.h></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#include <sinfo_hidden.h></span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#include <sinfo_globals.h></span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#include <sinfo_functions.h></span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#include <sinfo_new_prepare_stacked_frames.h></span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#include <sinfo_new_objnod.h></span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_pupil_create(cpl_plugin *);</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_pupil_exec(cpl_plugin *);</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_pupil_destroy(cpl_plugin *);</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_pupil(cpl_parameterlist *, cpl_frameset *);</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_pupil_description1[] =</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="stringliteral">"This recipe performs science data reduction.\n"</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="stringliteral">"The input files are science object and sky frames \n"</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="stringliteral">"with tags OBJECT_NODDING and SKY_NODDING\n"</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="stringliteral">"Master calibration frames:\n"</span>;</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_pupil_description2[] =</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="stringliteral">"A corresponding (band,preoptics) wavelength map image with tag WAVE_MAP\n"</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="stringliteral">"A corresponding (band,preoptics) master flat field with tag MASTER_FLAT_LAMP\n"</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="stringliteral">"A corresponding (band,preoptics) master bad pixel map with tag MASTER_BP_MAP\n"</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="stringliteral">"A corresponding (band,preoptics) slitlets position frame with tag SLIT_POS\n"</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="stringliteral">"A corresponding (band) distortion table with tag DISTORTION\n"</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="stringliteral">"A corresponding (band) slitlet distance table with tag SLITLETS_DISTANCE\n"</span>;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_pupil_description3[] =</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="stringliteral">"The output is an image resulting from the IMA1 op IMA2 where op indicates\n"</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="stringliteral">"A reference table with the position of the 1st column with tag FIRST_COLUMN\n"</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="stringliteral">"Relevant outputs are:\n"</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="stringliteral">"combined cubes (PRO.CATG=x_OBS x=STD,OBJ,PSF)\n"</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="stringliteral">"reconstructed cube (PRO.CATG=COADD_x_OBS x=STD,OBJ,PSF)\n"</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="stringliteral">"An average along Z of the reconstructed cube \n"</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="stringliteral">"(PRO.CATG=MED_x_OBS x=STD,OBJ,PSF)\n"</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="stringliteral">"The bad pixel map associated to the cube \n"</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="stringliteral">"(PRO.CATG=BP_MAP_COADD_x_OBS x=STD,OBJ,PSF)\n"</span>;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_pupil_description4[] =</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="stringliteral">"Information on relevant parameters can be found with\n"</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="stringliteral">"esorex --params sinfo_rec_pupil\n"</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="stringliteral">"esorex --help sinfo_rec_pupil\n"</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_pupil_description[1300];</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"><a class="code" href="group__sinfo__rec__pupil.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693"> 137</a></span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist *list)</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> {</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> cpl_recipe *recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe);</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> cpl_plugin *plugin = &recipe->interface;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> strcpy(sinfo_rec_pupil_description,sinfo_rec_pupil_description1);</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> strcat(sinfo_rec_pupil_description,sinfo_rec_pupil_description2);</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> strcat(sinfo_rec_pupil_description,sinfo_rec_pupil_description3);</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> strcat(sinfo_rec_pupil_description,sinfo_rec_pupil_description4);</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="stringliteral">"sinfo_rec_pupil"</span>,</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="stringliteral">"Pupil data reduction"</span>,</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> sinfo_rec_pupil_description,</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="stringliteral">"Andrea Modigliani"</span>,</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="stringliteral">"Andrea.Modigliani at eso.org"</span>,</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> sinfo_rec_pupil_create,</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> sinfo_rec_pupil_exec,</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> sinfo_rec_pupil_destroy);</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> cpl_pluginlist_append(list, plugin);</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> }</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_pupil_create(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> {</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment">/* Check that the plugin is part of a valid recipe */</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> cpl_error_reset();</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> recipe->parameters = cpl_parameterlist_new() ; </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment"> * Fill the parameter list.</span></div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment"> */</span> </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> sinfo_product_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> sinfo_prepare_stacked_frames_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> sinfo_objnod_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> }</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_pupil_exec(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> {</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> cpl_recipe *recipe = (cpl_recipe *) plugin;</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keywordflow">return</span> sinfo_rec_pupil(recipe->parameters, recipe->frames);</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> }</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_pupil_destroy(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> {</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> cpl_parameterlist_delete(recipe->parameters);</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> }</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="comment"> * The actual recipe actually start here.</span></div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_pupil(cpl_parameterlist *config, cpl_frameset *<span class="keyword">set</span>)</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> {</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> fake* fk=NULL;</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> fk=sinfo_fake_new();</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> sinfo_msg(<span class="stringliteral">"Welcome to SINFONI Pipeline release %d.%d.%d"</span>,</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> SINFONI_MAJOR_VERSION,SINFONI_MINOR_VERSION,SINFONI_MICRO_VERSION);</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> ck0(sinfo_dfs_set_groups(<span class="keyword">set</span>),<span class="stringliteral">"Cannot indentify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment">/* hidden parameters */</span></div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> sinfo_msg(<span class="stringliteral">"---------------------------------------------"</span>);</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> sinfo_msg(<span class="stringliteral">"%s FRAME DETERMINATION"</span>, PRO_PUPIL_LAMP_STACKED);</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> sinfo_msg(<span class="stringliteral">"---------------------------------------------"</span>);</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> ck0(sinfo_new_prepare_stacked_frames(cpl_func,config, <span class="keyword">set</span>, NULL,</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> PRO_PUPIL_LAMP_STACKED,0,fk ),</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="stringliteral">"Failed %s FRAME DETERMINATION"</span>, PRO_PUPIL_LAMP_STACKED);</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> sinfo_msg(<span class="stringliteral">"%s FRAME DETERMINATION SUCCESS"</span>, PRO_PUPIL_LAMP_STACKED);</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> sinfo_msg(<span class="stringliteral">"---------------------------------------------"</span>);</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> sinfo_msg(<span class="stringliteral">"PUPIL DATA REDUCTION"</span>);</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> sinfo_msg(<span class="stringliteral">"---------------------------------------------"</span>);</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> ck0(sinfo_new_objnod(cpl_func,config, <span class="keyword">set</span>,PRO_COADD_PUPIL),</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="stringliteral">"Failed PUPIL DATA REDUCTION"</span>) ;</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> sinfo_msg(<span class="stringliteral">"PUPIL DATA REDUCTION SUCCESS"</span>);</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> cleanup:</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> sinfo_fake_delete(&fk);</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> }</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__rec__stdstar_8c_source.html b/html/sinfo__rec__stdstar_8c_source.html
deleted file mode 100644
index c68adee..0000000
--- a/html/sinfo__rec__stdstar_8c_source.html
+++ /dev/null
@@ -1,347 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_rec_stdstar.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_rec_stdstar.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_rec_stdstar.c,v 1.22 2008/02/12 14:56:50 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2008/02/12 14:56:50 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.22 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> * Standard_Star Frames Data Reduction *</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span> <span class="comment">/* allows the program compilation */</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/* std */</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <strings.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/* sinfoni */</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include <sinfo_pro_types.h></span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include <sinfo_product_config.h></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include <sinfo_prepare_stacked_frames_config.h></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include <sinfo_objnod_config.h></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include <sinfo_skycor_config.h></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include <sinfo_standard_star_config.h></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include <sinfo_new_prepare_stacked_frames.h></span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#include <sinfo_new_cubes_coadd.h></span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#include <sinfo_new_stdstar.h></span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#include <sinfo_functions.h></span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#include <sinfo_hidden.h></span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#include <sinfo_globals.h></span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#include <sinfo_rec_utils.h></span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_stdstar_create(cpl_plugin *) ;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_stdstar_exec(cpl_plugin *) ;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_stdstar_destroy(cpl_plugin *) ;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_stdstar(cpl_parameterlist *, cpl_frameset *);</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_stdstar_description1[] =</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="stringliteral">"This recipe performs science data reduction.\n"</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="stringliteral">"The input files are science object and sky frames \n"</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="stringliteral">"with tags STD_NODDING and SKY_STD_NODDING\n"</span>;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_stdstar_description2[] =</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="stringliteral">"Master calibration frames:\n"</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="stringliteral">"A corresponding (band,preoptics) wavelength map image with tag WAVE_MAP\n"</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="stringliteral">"A corresponding (band,preoptics) master flat field with tag MASTER_FLAT_LAMP\n"</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="stringliteral">"A corresponding (band,preoptics) master bad pixel map with tag MASTER_BP_MAP\n"</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="stringliteral">"A corresponding (band,preoptics) slitlets position frame with tag SLIT_POS\n"</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="stringliteral">"A corresponding (band) distortion table with tag DISTORTION\n"</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="stringliteral">"A corresponding (band) slitlet distance table with tag SLITLETS_DISTANCE\n"</span>;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_stdstar_description3[] =</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="stringliteral">"The output is an image resulting from the IMA1 op IMA2 where op indicates\n"</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="stringliteral">"A reference table with the position of the first column \n"</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="stringliteral">"with tag FIRST_COLUMN\n"</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="stringliteral">"Relevant outputs are:\n"</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="stringliteral">"combined cubes (PRO.CATG=x_OBS x=STD,OBJ,PSF)\n"</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="stringliteral">"reconstructed cube (PRO.CATG=COADD_x_OBS x=STD,OBJ,PSF)\n"</span>;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_stdstar_description4[] =</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="stringliteral">"An average along Z of the reconstructed cube \n"</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="stringliteral">"(PRO.CATG=MED_x_OBS x=STD,OBJ,PSF)\n"</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="stringliteral">"The bad pixel map associated to the cube \n"</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="stringliteral">"(PRO.CATG=BP_MAP_COADD_x_OBS x=STD,OBJ,PSF)\n"</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="stringliteral">"The std star spectrum image (PRO.CATG=STD_SPECTRUM)\n"</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="stringliteral">"The std start spectrum and efficiency spectrum table (PRO.CATG=STD_SPECTRA)\n"</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="stringliteral">"Information on relevant parameters can be found with\n"</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="stringliteral">"esorex --params sinfo_rec_stdstar\n"</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="stringliteral">"esorex --help sinfo_rec_stdstar\n"</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_stdstar_description[1300];</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"><a class="code" href="group__sinfo__rec__stdstar.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693"> 149</a></span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist *list)</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> {</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> cpl_recipe *recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe);</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> cpl_plugin *plugin = &recipe->interface;</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> strcpy(sinfo_rec_stdstar_description,sinfo_rec_stdstar_description1);</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> strcat(sinfo_rec_stdstar_description,sinfo_rec_stdstar_description2);</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> strcat(sinfo_rec_stdstar_description,sinfo_rec_stdstar_description3);</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> strcat(sinfo_rec_stdstar_description,sinfo_rec_stdstar_description4);</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="stringliteral">"sinfo_rec_stdstar"</span>,</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="stringliteral">"Standard star data reduction"</span>,</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> sinfo_rec_stdstar_description,</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="stringliteral">"Andrea Modigliani"</span>,</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="stringliteral">"Andrea.Modigliani at eso.org"</span>,</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> sinfo_rec_stdstar_create,</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> sinfo_rec_stdstar_exec,</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> sinfo_rec_stdstar_destroy);</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> cpl_pluginlist_append(list, plugin);</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> }</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_stdstar_create(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> {</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment">/* Check that the plugin is part of a valid recipe */</span></div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> cpl_error_reset();</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> recipe->parameters = cpl_parameterlist_new() ; </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment"> * Fill the parameter list.</span></div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> sinfo_product_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> sinfo_prepare_stacked_frames_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> sinfo_objnod_config_add(recipe->parameters); </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> sinfo_skycor_config_add(recipe->parameters); </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> sinfo_standard_star_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> }</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_stdstar_exec(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> {</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordflow">return</span> sinfo_rec_stdstar(recipe->parameters, recipe->frames);</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> }</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_stdstar_destroy(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> {</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> cpl_parameterlist_delete(recipe->parameters);</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> }</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="comment"> * The actual recipe actually start here.</span></div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> sinfo_rec_stdstar(cpl_parameterlist *config, cpl_frameset *<span class="keyword">set</span>)</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> {</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* pro_ctg_cube;</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> sinfo_msg(<span class="stringliteral">"Welcome to SINFONI Pipeline release %d.%d.%d"</span>,</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> SINFONI_MAJOR_VERSION,SINFONI_MINOR_VERSION,SINFONI_MICRO_VERSION);</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="keywordflow">if</span>(sinfo_dfs_set_groups(<span class="keyword">set</span>)) {</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Cannot indentify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> }</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="comment">/* =============================================================== </span></div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="comment"> Defines several framesets each with a pair obj-sky, </span></div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="comment"> stack each pair, put the results in set </span></div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="comment"> =============================================================== */</span></div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> ck0(sinfo_cub_stk_frames(config,&<span class="keyword">set</span>,cpl_func,&pro_ctg_cube),</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="stringliteral">"Cannot stack RAW frames"</span>);</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="comment">/* =============================================================== </span></div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="comment"> SCI SCIENCE </span></div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="comment"> =============================================================== */</span></div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> sinfo_msg(<span class="stringliteral">"COADDING CUBES"</span>);</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> ck0(sinfo_new_cubes_coadd(cpl_func,config, <span class="keyword">set</span>, pro_ctg_cube),</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="stringliteral">"COADDING CUBES"</span>) ;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> sinfo_msg(<span class="stringliteral">"COADDED CUBES"</span>);</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ; </div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="comment">/* =============================================================== </span></div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="comment"> STDSTAR </span></div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="comment"> =============================================================== */</span></div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> sinfo_msg(<span class="stringliteral">"STD STAR DATA REDUCTION"</span>);</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> </div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> ck0(sinfo_new_stdstar(cpl_func,config, <span class="keyword">set</span> ),<span class="stringliteral">"REDUCING STD STAR DATA"</span>) ;</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> sinfo_msg(<span class="stringliteral">"STD STAR DATA REDUCTION SUCCESS"</span>) ; </div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> cleanup:</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> }</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> </div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> }</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__rec__utils_8c_source.html b/html/sinfo__rec__utils_8c_source.html
deleted file mode 100644
index c63726d..0000000
--- a/html/sinfo__rec__utils_8c_source.html
+++ /dev/null
@@ -1,1412 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_rec_utils.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_rec_utils.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_rec_utils.c,v 1.15 2013/09/17 08:10:58 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2013/09/17 08:10:58 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.15 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Object Data reduction *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span> <span class="comment">/* allows the program compilation */</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">-----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">//Used only for sinfo_propertylist_has</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_dfs.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <sinfo_rec_utils.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <sinfo_functions.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <sinfo_new_cubes_build.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <sinfo_globals.h></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* sinfo_new_set_stk_procatg(<span class="keyword">const</span> <span class="keywordtype">char</span>* tag);</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">static int</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">sinfo_get_obj_sky_frm_pair(cpl_frameset** obj_set,</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> const int i,</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> cpl_frame** obj_frm,</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> cpl_frame** sky_frm);</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> sinfo_new_stack_frames(cpl_parameterlist* cfg,</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> cpl_frameset* <span class="keyword">set</span>,</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* procatg,</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>,</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> fake* fk,</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id)</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> {</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">int</span> ind=0;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> sinfo_msg(<span class="stringliteral">"PREPARE STACKED SET %d"</span>,<span class="keywordtype">id</span>) ;</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> ck0(ind=sinfo_new_prepare_stacked_frames(plugin_id,cfg, <span class="keyword">set</span>, NULL,procatg,</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">id</span>,fk),<span class="stringliteral">" no: %d"</span>, ind) ;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> sinfo_msg(<span class="stringliteral">"PREPARED STACKED SET %d"</span>,<span class="keywordtype">id</span>) ;</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> cleanup:</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> }</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> cpl_frame*</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> sinfo_new_get_dummy_sky(cpl_frameset* obj_set)</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> {</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> cpl_imagelist* obj_list=NULL;</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> cpl_image* fake_sky=NULL;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> cpl_frame* frame=NULL;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> cpl_frame* sky_frame=NULL;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">char</span> filename[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> check_nomsg(obj_list=cpl_imagelist_load_frameset(obj_set,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> check_nomsg(fake_sky = cpl_imagelist_collapse_median_create(obj_list));</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> check_nomsg(frame = cpl_frameset_get_frame(obj_set,0));</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> strcpy(filename,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> check(plist = cpl_propertylist_load(filename, 0),</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="stringliteral">"getting header from reference ima frame %s"</span>,filename);</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_DPR_TYPE)) {</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> cpl_propertylist_set_string(plist, KEY_NAME_DPR_TYPE, <span class="stringliteral">"SKY"</span>);</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> cpl_propertylist_append_string(plist, KEY_NAME_DPR_TYPE,<span class="stringliteral">"SKY"</span>) ;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> }</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> check(cpl_image_save(fake_sky, <span class="stringliteral">"out_fake_sky.fits"</span>, CPL_BPP_IEEE_FLOAT,</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> plist,CPL_IO_DEFAULT),</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="stringliteral">"Cannot save the product %s"</span>,<span class="stringliteral">"out_fake_sky.fits"</span>);</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> check_nomsg(sky_frame = cpl_frame_new()) ;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> check_nomsg(cpl_frame_set_filename(sky_frame, <span class="stringliteral">"out_fake_sky.fits"</span>)) ;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> check_nomsg(cpl_frame_set_tag(sky_frame, PRO_SKY_DUMMY)) ;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> check_nomsg(cpl_frame_set_type(sky_frame, CPL_FRAME_TYPE_IMAGE));</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment"> check_nomsg(cpl_frame_set_group(sky_frame, CPL_FRAME_GROUP_PRODUCT));</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> check_nomsg(cpl_frame_set_level(sky_frame, CPL_FRAME_LEVEL_FINAL));</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> sinfo_free_image(&fake_sky);</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> sinfo_free_imagelist(&obj_list);</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">return</span> sky_frame;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> cleanup:</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> }</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> sinfo_new_get_dummy_obj_sky_stacked(cpl_frameset* obj_set,cpl_frameset** <span class="keyword">set</span>,</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> cpl_parameterlist* config,fake* fk, <span class="keywordtype">char</span>* pro_ctg, <span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id)</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> {</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordtype">int</span> nobj=0;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordtype">int</span> ncdb=0;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keywordtype">int</span> ntot=0;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keywordtype">int</span> nstk=0;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordtype">int</span> nwrk=0;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordtype">double</span> mjd_obj=0;</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordtype">double</span> mjd_sky_inf=0;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordtype">double</span> mjd_sky_sup=0;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keywordtype">char</span> sky_name[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordtype">char</span> out_name[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordtype">char</span> fake_sky_name[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> cpl_frame* obj_frm=NULL;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> cpl_frame* sky_frm=NULL;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> cpl_frame* cdb_frm=NULL;</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> cpl_frame* wrk_frm=NULL;</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> cpl_frame* tot_frm=NULL;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> cpl_frame* dup_frm=NULL;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> cpl_frame* sky_frm_inf=NULL;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> cpl_frame* sky_frm_sup=NULL;</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> cpl_frameset* wrk_set=NULL;</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> cpl_frameset* cdb_set=NULL;</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> cpl_frameset* tot_set=NULL;</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> cpl_frameset* stk_set=NULL;</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> cpl_image* sky_ima=NULL;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordtype">double</span> obj_cumx=0;</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keywordtype">double</span> obj_cumy=0;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordtype">double</span> sky_sup_cumx=0;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordtype">double</span> sky_sup_cumy=0;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keywordtype">double</span> sky_inf_cumx=0;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keywordtype">double</span> sky_inf_cumy=0;</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keywordtype">double</span> cum_thres=0.5;</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> check_nomsg(cdb_set=cpl_frameset_new());</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> ck0(sinfo_extract_mst_frames(*<span class="keyword">set</span>,cdb_set),<span class="stringliteral">"Error extracting CDB frames"</span>);</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> nobj=cpl_frameset_get_size(obj_set);</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> ncdb=cpl_frameset_get_size(cdb_set);</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> check_nomsg(tot_set=cpl_frameset_new());</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keywordflow">for</span>(i=0;i<nobj;i++) {</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> check_nomsg(obj_frm=cpl_frameset_get_frame(obj_set,i));</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> mjd_obj = sinfo_get_mjd_obs(obj_frm);</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> obj_cumx=sinfo_get_cumoffsetx(obj_frm);</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> obj_cumy=sinfo_get_cumoffsety(obj_frm);</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keywordflow">if</span>(i>0) {</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> check_nomsg(sky_frm_inf=cpl_frameset_get_frame(obj_set,i-1));</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> mjd_sky_inf = sinfo_get_mjd_obs(sky_frm_inf);</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> sky_inf_cumx=sinfo_get_cumoffsetx(sky_frm_inf);</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> sky_inf_cumy=sinfo_get_cumoffsety(sky_frm_inf);</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> }</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keywordflow">if</span>(i<nobj-1) {</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> check_nomsg(sky_frm_sup=cpl_frameset_get_frame(obj_set,i+1));</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> mjd_sky_sup = sinfo_get_mjd_obs(sky_frm_sup);</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> sky_sup_cumx=sinfo_get_cumoffsetx(sky_frm_sup);</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> sky_sup_cumy=sinfo_get_cumoffsety(sky_frm_sup);</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> }</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordflow">if</span>(i==0) {</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> sky_frm = sky_frm_sup;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> }</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span>(i==(nobj-1)) {</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> sky_frm = sky_frm_inf;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordflow">if</span>( fabs( mjd_sky_inf - mjd_obj ) <</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> fabs( mjd_sky_sup - mjd_obj ) ) {</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordflow">if</span>((fabs(sky_inf_cumx-obj_cumx) > cum_thres) ||</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> (fabs(sky_inf_cumy-obj_cumy) > cum_thres)) {</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> sky_frm = sky_frm_inf;</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> sky_frm = sky_frm_sup;</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> }</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="keywordflow">if</span>((fabs(sky_sup_cumx-obj_cumx) > cum_thres) ||</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> (fabs(sky_sup_cumy-obj_cumy) > cum_thres)) {</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> sky_frm = sky_frm_sup;</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> sky_frm = sky_frm_inf;</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> }</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> }</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> }</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> strcpy(sky_name,cpl_frame_get_filename(sky_frm));</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> sinfo_msg(<span class="stringliteral">"obj: %s"</span>,cpl_frame_get_filename(obj_frm));</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> sinfo_msg(<span class="stringliteral">"sky: %s"</span>,sky_name);</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">if</span> (strstr(sky_name, <span class="stringliteral">"."</span> ) != NULL ) {</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="comment">/*snprintf(fake_sky_name,MAX_NAME_SIZE-1,"%s%s","fake_",</span></div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="comment"> basename(sky_name)); */</span></div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> snprintf(fake_sky_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%s"</span>,<span class="stringliteral">"out_fake_sky"</span>,i,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> snprintf(fake_sky_name, MAX_NAME_SIZE-1,<span class="stringliteral">"%s"</span>, sky_name) ;</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> }</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> check_nomsg(sky_ima=cpl_image_load(sky_name,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> cknull(plist = cpl_propertylist_load(sky_name, 0),</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="stringliteral">"getting header from reference ima frame %s"</span>,sky_name);</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_DPR_TYPE)) {</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> cpl_propertylist_set_string(plist, KEY_NAME_DPR_TYPE, <span class="stringliteral">"SKY"</span>);</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> cpl_propertylist_append_string(plist, KEY_NAME_DPR_TYPE,<span class="stringliteral">"SKY"</span>) ;</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> }</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> check(cpl_image_save(sky_ima, fake_sky_name, CPL_BPP_IEEE_FLOAT,</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> plist,CPL_IO_DEFAULT),</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="stringliteral">"Cannot save the product %s"</span>,fake_sky_name);</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> sinfo_free_image(&sky_ima);</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> check_nomsg(cpl_frame_set_filename(sky_frm, fake_sky_name)) ;</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="comment">/* The following makes program crash</span></div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="comment"> check_nomsg(cpl_frame_set_tag(sky_frm, PRO_SKY_DUMMY)) ;</span></div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> check_nomsg(cpl_frame_set_type(sky_frm, CPL_FRAME_TYPE_IMAGE));</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="comment">/* check_nomsg(cpl_frame_set_group(sky_frm, CPL_FRAME_GROUP_PRODUCT)); */</span></div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> check_nomsg(cpl_frame_set_level(sky_frm, CPL_FRAME_LEVEL_FINAL));</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> check_nomsg(wrk_set=cpl_frameset_new());</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> check_nomsg(dup_frm=cpl_frame_duplicate(obj_frm));</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> check_nomsg(cpl_frameset_insert(wrk_set,dup_frm));</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> check_nomsg(dup_frm=cpl_frame_duplicate(sky_frm));</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> check_nomsg(cpl_frameset_insert(wrk_set,dup_frm));</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="keywordflow">for</span>(k=0;k<ncdb;k++) {</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> check_nomsg(cdb_frm=cpl_frameset_get_frame(cdb_set,k));</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> check_nomsg(dup_frm=cpl_frame_duplicate(cdb_frm));</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> check_nomsg(cpl_frameset_insert(wrk_set,dup_frm));</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> }</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> snprintf(out_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%s"</span>,<span class="stringliteral">"out_stack"</span>,i,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> nwrk=cpl_frameset_get_size(wrk_set);</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> ck0(sinfo_new_stack_frames(config,wrk_set,pro_ctg,i,fk,plugin_id),</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="stringliteral">"Error stacking frames"</span>);</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> </div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> check_nomsg(cpl_frame_set_filename(sky_frm, sky_name)) ;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="comment">/* This commented as was screwing up the catalogue.</span></div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="comment"> check_nomsg(cpl_frame_set_tag(sky_frm, RAW_OBJECT_NODDING)) ;</span></div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> check_nomsg(stk_set=cpl_frameset_new());</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> sinfo_contains_frames_kind(wrk_set,stk_set,PRO_STACKED);</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> nstk=cpl_frameset_get_size(stk_set);</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="keywordflow">for</span>(k=0;k<nstk;k++) {</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> check_nomsg(wrk_frm=cpl_frameset_get_frame(stk_set,k));</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> check_nomsg(dup_frm=cpl_frame_duplicate(wrk_frm));</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> check_nomsg(cpl_frameset_insert(tot_set,dup_frm));</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> }</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> sinfo_free_frameset(&stk_set);</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> sinfo_free_frameset(&wrk_set);</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> }</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> ntot=cpl_frameset_get_size(tot_set);</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="keywordflow">for</span>(k=0;k<ntot;k++) {</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> check_nomsg(tot_frm=cpl_frameset_get_frame(tot_set,k));</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> check_nomsg(dup_frm=cpl_frame_duplicate(tot_frm));</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> check_nomsg(cpl_frameset_insert(*<span class="keyword">set</span>,dup_frm));</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> }</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> sinfo_free_frameset(&cdb_set);</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> sinfo_free_frameset(&tot_set);</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> </div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> cleanup:</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> sinfo_free_frameset(&cdb_set);</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> sinfo_free_frameset(&tot_set);</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> </div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> }</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> sinfo_get_dummy_obj_sky_stacked_and_cubes(cpl_frameset* obj_set,</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> cpl_frameset** <span class="keyword">set</span>,</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> cpl_parameterlist* config,</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> fake* fk,</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="keywordtype">char</span>* pro_ctg,</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id)</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> {</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="keywordtype">int</span> nobj=0;</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="keywordtype">int</span> ncdb=0;</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keywordtype">int</span> nwrk=0;</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="keywordtype">int</span> ind=0;</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="keywordtype">double</span> mjd_obj=0;</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="keywordtype">double</span> mjd_sky_inf=0;</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="keywordtype">double</span> mjd_sky_sup=0;</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="keywordtype">char</span> sky_name[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="keywordtype">char</span> out_name[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> </div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="keywordtype">char</span> fake_sky_name[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> cpl_frame* obj_frm=NULL;</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> cpl_frame* sky_frm=NULL;</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> cpl_frame* cdb_frm=NULL;</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> cpl_frame* dup_frm=NULL;</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> cpl_frame* sky_frm_inf=NULL;</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> cpl_frame* sky_frm_sup=NULL;</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> cpl_frameset* wrk_set=NULL;</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> cpl_frameset* cdb_set=NULL;</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> cpl_frameset* tot_set=NULL;</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> cpl_frameset* pro_set=NULL;</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> cpl_image* sky_ima=NULL;</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="keywordtype">double</span> obj_cumx=0;</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="keywordtype">double</span> obj_cumy=0;</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="keywordtype">double</span> sky_sup_cumx=0;</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="keywordtype">double</span> sky_sup_cumy=0;</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> </div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="keywordtype">double</span> sky_inf_cumx=0;</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="keywordtype">double</span> sky_inf_cumy=0;</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="keywordtype">double</span> cum_thres=0.5;</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> </div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> check_nomsg(cdb_set=cpl_frameset_new());</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> ck0(sinfo_extract_mst_frames(*<span class="keyword">set</span>,cdb_set),<span class="stringliteral">"Error extracting CDB frames"</span>);</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> nobj=cpl_frameset_get_size(obj_set);</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> ncdb=cpl_frameset_get_size(cdb_set);</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> </div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> check_nomsg(tot_set=cpl_frameset_new());</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> </div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="keywordflow">for</span>(i=0;i<nobj;i++) {</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> </div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> check_nomsg(obj_frm=cpl_frameset_get_frame(obj_set,i));</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> mjd_obj = sinfo_get_mjd_obs(obj_frm);</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> obj_cumx=sinfo_get_cumoffsetx(obj_frm);</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> obj_cumy=sinfo_get_cumoffsety(obj_frm);</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> </div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="keywordflow">if</span>(i>0) {</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> check_nomsg(sky_frm_inf=cpl_frameset_get_frame(obj_set,i-1));</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> mjd_sky_inf = sinfo_get_mjd_obs(sky_frm_inf);</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> sky_inf_cumx=sinfo_get_cumoffsetx(sky_frm_inf);</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> sky_inf_cumy=sinfo_get_cumoffsety(sky_frm_inf);</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> }</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> </div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="keywordflow">if</span>(i<nobj-1) {</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> check_nomsg(sky_frm_sup=cpl_frameset_get_frame(obj_set,i+1));</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> mjd_sky_sup = sinfo_get_mjd_obs(sky_frm_sup);</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> sky_sup_cumx=sinfo_get_cumoffsetx(sky_frm_sup);</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> sky_sup_cumy=sinfo_get_cumoffsety(sky_frm_sup);</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> }</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> </div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> </div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="keywordflow">if</span>(i==0) {</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> sky_frm = sky_frm_sup;</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> }</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span>(i==(nobj-1)) {</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> sky_frm = sky_frm_inf;</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> <span class="keywordflow">if</span>( fabs( mjd_sky_inf - mjd_obj ) <</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> fabs( mjd_sky_sup - mjd_obj ) ) {</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="keywordflow">if</span>((fabs(sky_inf_cumx-obj_cumx) > cum_thres) ||</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> (fabs(sky_inf_cumy-obj_cumy) > cum_thres)) {</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> sky_frm = sky_frm_inf;</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> sky_frm = sky_frm_sup;</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> }</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="keywordflow">if</span>((fabs(sky_sup_cumx-obj_cumx) > cum_thres) ||</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> (fabs(sky_sup_cumy-obj_cumy) > cum_thres)) {</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> sky_frm = sky_frm_sup;</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> sky_frm = sky_frm_inf;</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> }</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> }</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> }</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> </div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> </div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> strcpy(sky_name,cpl_frame_get_filename(sky_frm));</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> sinfo_msg(<span class="stringliteral">"obj: %s"</span>,cpl_frame_get_filename(obj_frm));</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> sinfo_msg(<span class="stringliteral">"sky: %s"</span>,sky_name);</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> <span class="keywordflow">if</span> (strstr(sky_name, <span class="stringliteral">"."</span> ) != NULL ) {</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> <span class="comment">/*snprintf(fake_sky_name,MAX_NAME_SIZE-1,"%s%s",</span></div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <span class="comment"> "fake_",basename(sky_name)); */</span></div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> snprintf(fake_sky_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%s"</span>,<span class="stringliteral">"out_fake_sky"</span>,i,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> snprintf(fake_sky_name, MAX_NAME_SIZE-1, <span class="stringliteral">"%s"</span>, sky_name) ;</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> }</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> </div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> check_nomsg(sky_ima=cpl_image_load(sky_name,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> </div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> cknull(plist = cpl_propertylist_load(sky_name, 0),</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="stringliteral">"getting header from reference ima frame %s"</span>,sky_name);</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> </div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_DPR_TYPE)) {</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> cpl_propertylist_set_string(plist, KEY_NAME_DPR_TYPE, <span class="stringliteral">"SKY"</span>);</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> cpl_propertylist_append_string(plist, KEY_NAME_DPR_TYPE,<span class="stringliteral">"SKY"</span>) ;</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> }</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> check(cpl_image_save(sky_ima, fake_sky_name, CPL_BPP_IEEE_FLOAT,</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> plist,CPL_IO_DEFAULT),</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="stringliteral">"Cannot save the product %s"</span>,fake_sky_name);</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> </div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> sinfo_free_image(&sky_ima);</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> </div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> check_nomsg(cpl_frame_set_filename(sky_frm, fake_sky_name)) ;</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="comment">/* The following makes program crash</span></div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="comment"> check_nomsg(cpl_frame_set_tag(sky_frm, PRO_SKY_DUMMY)) ;</span></div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> check_nomsg(cpl_frame_set_type(sky_frm, CPL_FRAME_TYPE_IMAGE));</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="comment">/* check_nomsg(cpl_frame_set_group(sky_frm, CPL_FRAME_GROUP_PRODUCT)); */</span></div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> check_nomsg(cpl_frame_set_level(sky_frm, CPL_FRAME_LEVEL_FINAL));</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> </div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> </div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> check_nomsg(wrk_set=cpl_frameset_new());</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> </div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> check_nomsg(dup_frm=cpl_frame_duplicate(obj_frm));</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> check_nomsg(cpl_frameset_insert(wrk_set,dup_frm));</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> </div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> check_nomsg(dup_frm=cpl_frame_duplicate(sky_frm));</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> check_nomsg(cpl_frameset_insert(wrk_set,dup_frm));</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> </div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="keywordflow">for</span>(k=0;k<ncdb;k++) {</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> check_nomsg(cdb_frm=cpl_frameset_get_frame(cdb_set,k));</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> check_nomsg(dup_frm=cpl_frame_duplicate(cdb_frm));</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> check_nomsg(cpl_frameset_insert(wrk_set,dup_frm));</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> }</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> snprintf(out_name,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%s"</span>,<span class="stringliteral">"out_stack"</span>,i,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> nwrk=cpl_frameset_get_size(wrk_set);</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> </div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> </div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> ck0(sinfo_new_stack_frames(config,wrk_set,pro_ctg,i,fk,plugin_id),</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="stringliteral">"Error stacking frames"</span>);</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> </div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> </div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> check_nomsg(cpl_frame_set_filename(sky_frm, sky_name)) ;</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <span class="comment">/* This commented as was screwing up the catalogue.</span></div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> <span class="comment"> check_nomsg(cpl_frame_set_tag(sky_frm, RAW_OBJECT_NODDING)) ;</span></div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> sinfo_msg(<span class="stringliteral">"--------------------------------------"</span>);</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> sinfo_msg(<span class="stringliteral">"BUILDING CUBE %d"</span>,i);</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> sinfo_msg(<span class="stringliteral">"--------------------------------------"</span>);</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> </div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> <span class="comment">/* cube generation */</span></div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> ck0(ind=sinfo_new_cubes_build(plugin_id,config,wrk_set,pro_ctg,i),</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="stringliteral">"GENERATING CUBE no. %d\n"</span>, ind) ;</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> sinfo_msg(<span class="stringliteral">"--------------------------------------"</span>);</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> sinfo_msg(<span class="stringliteral">"BUILT CUBE %d"</span>,i);</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> sinfo_msg(<span class="stringliteral">"--------------------------------------"</span>);</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> </div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> </div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> check_nomsg(sinfo_extract_frames_group_type(wrk_set,&pro_set,</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> CPL_FRAME_GROUP_PRODUCT));</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> check_nomsg(sinfo_frameset_merge(tot_set,pro_set));</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> sinfo_free_frameset(&pro_set);</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> sinfo_free_frameset(&wrk_set);</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> </div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> } <span class="comment">/* end loop over object frames */</span></div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> </div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> check_nomsg(sinfo_extract_frames_group_type(tot_set,&pro_set,</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> CPL_FRAME_GROUP_PRODUCT));</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> check_nomsg(sinfo_frameset_merge(*<span class="keyword">set</span>,pro_set));</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> sinfo_free_frameset(&pro_set);</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> sinfo_free_frameset(&tot_set);</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> sinfo_free_frameset(&cdb_set);</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> </div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> </div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> cleanup:</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> sinfo_free_image(&sky_ima);</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> sinfo_free_frameset(&wrk_set);</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> sinfo_free_frameset(&pro_set);</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> sinfo_free_frameset(&cdb_set);</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> sinfo_free_frameset(&tot_set);</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> </div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> }</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> </div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> </div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="keywordtype">int</span> sinfo_new_sci_stk_frames(cpl_parameterlist* config,</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> cpl_frameset** <span class="keyword">set</span>,</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* recipe_id,</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <span class="keyword">const</span> <span class="keywordtype">char</span>** pro_ctg_cube)</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> {</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <span class="keywordtype">char</span> tag[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <span class="keywordtype">char</span> pro_ctg_stack[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> <span class="keywordtype">char</span> outname[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> <span class="keywordtype">char</span> filename[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> </div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> </div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> cpl_frameset * obj_set=NULL;</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> cpl_frameset * sky_set=NULL;</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> cpl_frameset * cdb_set=NULL;</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> cpl_frameset * wrk_set=NULL;</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> cpl_frameset * stk_set=NULL;</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> cpl_frameset * tot_set=NULL;</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> cpl_frame * obj_frm=NULL;</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> cpl_frame * sky_frm=NULL;</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> cpl_frame * cdb_frm=NULL;</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> cpl_frame * wrk_frm=NULL;</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> cpl_frame * dup_frm=NULL;</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> </div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <span class="keywordtype">int</span> nsky=0;</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> <span class="keywordtype">int</span> nobj=0;</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <span class="keywordtype">int</span> ncdb=0;</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> <span class="keywordtype">int</span> ntot=0;</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> <span class="keywordtype">int</span> nstk=0;</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> </div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> <span class="keywordtype">int</span> aj_meth=0;</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> </div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> </div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> <span class="keywordtype">double</span> mjd_obj=0;</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="keywordtype">double</span> mjd_sky=0;</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> <span class="keywordtype">double</span> mjd_sky_frm=0;</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> cpl_parameter* p=NULL;</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> fake* fk=sinfo_fake_new();</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> </div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> check_nomsg(obj_set=cpl_frameset_new());</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> check_nomsg(sky_set=cpl_frameset_new());</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> check_nomsg(cdb_set=cpl_frameset_new());</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> </div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> sinfo_extract_obj_frames(*<span class="keyword">set</span>,obj_set);</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> sinfo_extract_sky_frames(*<span class="keyword">set</span>,sky_set);</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> sinfo_extract_mst_frames(*<span class="keyword">set</span>,cdb_set);</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> </div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> </div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> cknull(obj_frm = cpl_frameset_get_frame(obj_set,0),</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="stringliteral">"No object frames in input set."</span>);</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> </div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> strcpy(tag,cpl_frame_get_tag(obj_frm));</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <span class="keywordflow">if</span>(NULL!=sinfo_new_set_obj_procatg(tag)){</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> *pro_ctg_cube=sinfo_new_set_obj_procatg(tag);</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame tag %s not supported."</span>,tag);</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> }</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> </div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> </div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <span class="keywordflow">if</span>(NULL!=sinfo_new_set_stk_procatg(tag)){</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> strcpy(pro_ctg_stack,sinfo_new_set_stk_procatg(tag));</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame tag %s not supported."</span>,tag);</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> }</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> </div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> nobj=cpl_frameset_get_size(obj_set);</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> nsky=cpl_frameset_get_size(sky_set);</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> ncdb=cpl_frameset_get_size(cdb_set);</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> </div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> <span class="keywordflow">if</span> ((nobj==0) && (nsky==0)) {</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Empty input set"</span>);</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> }</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> </div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> </div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="keywordflow">if</span> ( (nobj != 0) && (nsky != 0) ) {</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> <span class="comment">/* We have either OBJ and SKY: we need to create OBJ-SKY pairs */</span></div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> sinfo_msg(<span class="stringliteral">"Generates OBJ-SKY pairs"</span>);</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> check_nomsg(tot_set=cpl_frameset_new());</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> <span class="stringliteral">"sinfoni.objnod.autojitter_method"</span>));</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> check_nomsg(cpl_parameter_set_int(p,0));</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> cpl_msg_warning(cpl_func , <span class="stringliteral">"******** 1 *********"</span>);</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> </div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> </div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> <span class="keywordflow">for</span> (i=0;i<nobj;i++) {</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> </div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> check_nomsg(wrk_set=cpl_frameset_new());</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> </div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> check_nomsg(obj_frm=cpl_frameset_get_frame(obj_set,i));</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> mjd_obj=sinfo_get_mjd_obs(obj_frm);</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> check_nomsg(sky_frm=cpl_frameset_get_frame(sky_set,0));</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> mjd_sky=sinfo_get_mjd_obs(sky_frm);</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> strcpy(filename,cpl_frame_get_filename(obj_frm));</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> </div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> </div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <span class="keywordflow">for</span> (j=1;j<nsky;j++) {</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> check_nomsg(mjd_sky_frm=sinfo_get_mjd_obs(</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> cpl_frameset_get_frame(sky_set,j)));</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> <span class="keywordflow">if</span>(1000.*(mjd_sky_frm-mjd_obj)*(mjd_sky_frm-mjd_obj) <</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> 1000.*(mjd_sky- mjd_obj)*(mjd_sky- mjd_obj) ) {</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> mjd_sky=mjd_sky_frm;</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> check_nomsg(sky_frm=cpl_frameset_get_frame(sky_set,j));</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> }</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> }</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> </div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> strcpy(filename,cpl_frame_get_filename(sky_frm));</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> </div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> </div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> </div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> <span class="comment">/* monitors whih obj-sky frames are inserted in each wrk_set */</span></div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> check_nomsg(dup_frm=cpl_frame_duplicate(obj_frm));</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> check_nomsg(cpl_frameset_insert(wrk_set,dup_frm));</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> check_nomsg(dup_frm=cpl_frame_duplicate(sky_frm));</div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> check_nomsg(cpl_frameset_insert(wrk_set,dup_frm));</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> </div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="comment">/* merged CDB frames to work set */</span></div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> <span class="keywordflow">for</span>(k=0;k<ncdb;k++) {</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> check_nomsg(cdb_frm=cpl_frameset_get_frame(cdb_set,k));</div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> check_nomsg(dup_frm=cpl_frame_duplicate(cdb_frm));</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> check_nomsg(cpl_frameset_insert(wrk_set,dup_frm));</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> }</div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> </div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> </div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> <span class="comment">/* defines a new name for the output stacked frame */</span></div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> snprintf(outname,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%s"</span>,<span class="stringliteral">"out_stack"</span>,i,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> ck0(sinfo_new_stack_frames(config,wrk_set,pro_ctg_stack,i,fk,recipe_id),</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> <span class="stringliteral">"Cannot stack frames"</span>);</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> </div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> check_nomsg(stk_set=cpl_frameset_new());</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> sinfo_contains_frames_kind(wrk_set,stk_set,PRO_STACKED);</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> nstk=cpl_frameset_get_size(stk_set);</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> </div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> <span class="keywordflow">for</span>(k=0;k<nstk;k++) {</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> check_nomsg(wrk_frm=cpl_frameset_get_frame(stk_set,k));</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> check_nomsg(dup_frm = cpl_frame_duplicate(wrk_frm));</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> check_nomsg(cpl_frameset_insert(tot_set,dup_frm));</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> }</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> sinfo_free_frameset(&stk_set);</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> sinfo_free_frameset(&wrk_set);</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> </div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> }</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> </div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> ntot=cpl_frameset_get_size(tot_set);</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> <span class="keywordflow">for</span>(k=0;k<ntot;k++) {</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> check_nomsg(wrk_frm=cpl_frameset_get_frame(tot_set,k));</div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> check_nomsg(dup_frm=cpl_frame_duplicate(wrk_frm));</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> check_nomsg(cpl_frameset_insert(*<span class="keyword">set</span>,dup_frm));</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> }</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> sinfo_free_frameset(&tot_set);</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> </div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> }</div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> </div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> <span class="keywordflow">if</span> ( (nobj == 0) && (nsky != 0) ) {</div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> </div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> <span class="comment">/* ===============================================================</span></div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> <span class="comment"> SKY FRAMES STACKING</span></div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> <span class="comment"> =============================================================== */</span></div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> </div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> {</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> sinfo_msg(<span class="stringliteral">"SKY ONLY FRAMES DATA REDUCTION NOT SUPPORTED"</span>) ;</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> }</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> </div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> }</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> </div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> </div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> </div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> <span class="keywordflow">if</span> ( (nobj != 0) && (nsky == 0) ) {</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> </div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> <span class="comment">/* ===============================================================</span></div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> <span class="comment"> OBJ FRAMES STACKING</span></div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> <span class="comment"> =============================================================== */</span></div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> check_nomsg(p = cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> <span class="stringliteral">"sinfoni.objnod.autojitter_method"</span>));</div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> check_nomsg(aj_meth = cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> <span class="keywordflow">if</span>(strcmp(pro_ctg_stack,PRO_PUPIL_LAMP_STACKED) == 0) {</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> </div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> aj_meth = 0;</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> </div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> }</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> </div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="keywordflow">if</span>(aj_meth == 2) {</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> </div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> sinfo_msg(<span class="stringliteral">"Dummy sky case"</span>);</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> sinfo_msg(<span class="stringliteral">"Fake sky is coming from median of all objects"</span>);</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> cknull(sky_frm = sinfo_new_get_dummy_sky(obj_set),</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> <span class="stringliteral">"Problem to get dummy frame"</span>);</div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> </div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> sinfo_msg(<span class="stringliteral">"Generates OBJ-SKY pairs"</span>);</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> check_nomsg(tot_set=cpl_frameset_new());</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> </div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> </div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> </div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> <span class="keywordflow">for</span> (i=0;i<nobj;i++) {</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> </div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> check_nomsg(wrk_set=cpl_frameset_new());</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> check_nomsg(obj_frm=cpl_frameset_get_frame(obj_set,i));</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> check_nomsg(dup_frm=cpl_frame_duplicate(obj_frm));</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> check_nomsg(cpl_frameset_insert(wrk_set,dup_frm));</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> check_nomsg(dup_frm=cpl_frame_duplicate(sky_frm));</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> check_nomsg(cpl_frameset_insert(wrk_set,dup_frm));</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> <span class="keywordflow">for</span>(k=0;k<ncdb;k++) {</div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> check_nomsg(cdb_frm=cpl_frameset_get_frame(cdb_set,k));</div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> check_nomsg(dup_frm=cpl_frame_duplicate(cdb_frm));</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> check_nomsg(cpl_frameset_insert(wrk_set,dup_frm));</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> }</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> </div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> snprintf(outname,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%s"</span>,<span class="stringliteral">"out_stack"</span>,i,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> ck0(sinfo_new_stack_frames(config,wrk_set,pro_ctg_stack,</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> i,fk,recipe_id),</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> <span class="stringliteral">"Error Stacking frame %d"</span>,i);</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> </div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> check_nomsg(stk_set=cpl_frameset_new());</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> sinfo_contains_frames_kind(wrk_set,stk_set,PRO_STACKED);</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> nstk=cpl_frameset_get_size(stk_set);</div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> <span class="keywordflow">for</span>(k=0;k<nstk;k++) {</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> check_nomsg(wrk_frm=cpl_frameset_get_frame(stk_set,k));</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> check_nomsg(dup_frm=cpl_frame_duplicate(wrk_frm));</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> check_nomsg(cpl_frameset_insert(tot_set,dup_frm));</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> }</div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> sinfo_free_frameset(&stk_set);</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> sinfo_free_frameset(&wrk_set);</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> </div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> }</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> check_nomsg(ntot=cpl_frameset_get_size(tot_set));</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> <span class="keywordflow">for</span>(k=0;k<ntot;k++) {</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> check_nomsg(wrk_frm=cpl_frameset_get_frame(tot_set,k));</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> check_nomsg(dup_frm=cpl_frame_duplicate(wrk_frm));</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> check_nomsg(cpl_frameset_insert(*<span class="keyword">set</span>,dup_frm));</div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> }</div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> sinfo_free_frameset(&tot_set);</div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> sinfo_free_frame(&sky_frm);</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> </div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(aj_meth == 1 ) {</div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> </div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> sinfo_msg(<span class="stringliteral">"Dummy obj-sky case"</span>);</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> sinfo_msg(<span class="stringliteral">"Fake sky is coming from each next object"</span>);</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> </div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> <span class="keywordflow">if</span>(nobj > 1) {</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> fk->is_fake_sky=1;</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> ck0(sinfo_new_get_dummy_obj_sky_stacked(obj_set,&(*<span class="keyword">set</span>),config,</div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> fk,pro_ctg_stack,recipe_id),</div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> <span class="stringliteral">"Found error to get obj-sky-stacked frame"</span>);</div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> sinfo_msg(<span class="stringliteral">"Only one object frame, no sky"</span>);</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> ck0(sinfo_new_stack_frames(config,*<span class="keyword">set</span>,pro_ctg_stack,0,fk,recipe_id),</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> <span class="stringliteral">"Error stacking frame"</span>);</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> }</div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> </div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> </div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> sinfo_msg(<span class="stringliteral">"staks each OBJECT "</span>);</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> tot_set=cpl_frameset_new();</div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> </div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> <span class="keywordflow">for</span> (i=0;i<nobj;i++) {</div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> </div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> check_nomsg(wrk_set=cpl_frameset_new());</div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> check_nomsg(obj_frm=cpl_frameset_get_frame(obj_set,i));</div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> check_nomsg(dup_frm=cpl_frame_duplicate(obj_frm));</div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> check_nomsg(cpl_frameset_insert(wrk_set,dup_frm));</div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> <span class="keywordflow">for</span>(k=0;k<ncdb;k++) {</div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> check_nomsg(cdb_frm=cpl_frameset_get_frame(cdb_set,k));</div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> check_nomsg(dup_frm=cpl_frame_duplicate(cdb_frm));</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> check_nomsg(cpl_frameset_insert(wrk_set,dup_frm));</div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> }</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> </div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> </div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> snprintf(outname,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%s"</span>,<span class="stringliteral">"out_stack"</span>,i,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> ck0(sinfo_new_stack_frames(config,wrk_set,pro_ctg_stack,</div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> i,fk,recipe_id),<span class="stringliteral">"Error stacking frame %d"</span>,i);</div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> </div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> check_nomsg(stk_set=cpl_frameset_new());</div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> sinfo_contains_frames_kind(wrk_set,stk_set,PRO_STACKED);</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> check_nomsg(nstk=cpl_frameset_get_size(stk_set));</div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> <span class="keywordflow">for</span>(k=0;k<nstk;k++) {</div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> check_nomsg(wrk_frm=cpl_frameset_get_frame(stk_set,k));</div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> check_nomsg(dup_frm=cpl_frame_duplicate(wrk_frm));</div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> check_nomsg(cpl_frameset_insert(tot_set,dup_frm));</div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> }</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> sinfo_free_frameset(&stk_set);</div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> sinfo_free_frameset(&wrk_set);</div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> </div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> }</div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> </div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> check_nomsg(ntot=cpl_frameset_get_size(tot_set));</div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> <span class="keywordflow">for</span>(k=0;k<ntot;k++) {</div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> check_nomsg(wrk_frm=cpl_frameset_get_frame(tot_set,k));</div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> check_nomsg(dup_frm=cpl_frame_duplicate(wrk_frm));</div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> check_nomsg(cpl_frameset_insert(*<span class="keyword">set</span>,dup_frm));</div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> }</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> sinfo_free_frameset(&tot_set);</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> }</div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> }</div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> </div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> sinfo_free_frameset(&obj_set);</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> sinfo_free_frameset(&sky_set);</div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> sinfo_free_frameset(&cdb_set);</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> sinfo_fake_delete(&fk);</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> </div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> </div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> </div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> </div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> cleanup:</div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> </div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> sinfo_free_frame(&sky_frm);</div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> sinfo_free_frameset(&wrk_set);</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> sinfo_free_frameset(&tot_set);</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> sinfo_free_frameset(&obj_set);</div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> sinfo_free_frameset(&sky_set);</div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> sinfo_free_frameset(&cdb_set);</div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> sinfo_fake_delete(&fk);</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> </div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> }</div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> </div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> </div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> </div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> </div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> </div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> </div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> </div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> <span class="keywordtype">int</span> sinfo_cub_stk_frames(cpl_parameterlist* config,</div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> cpl_frameset** <span class="keyword">set</span>,</div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* recipe_id,</div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> <span class="keyword">const</span> <span class="keywordtype">char</span>** pro_ctg_cube)</div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> {</div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> cpl_frame * obj_frm=NULL;</div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> <span class="keywordtype">char</span> tag[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> <span class="keywordtype">char</span> pro_ctg_stack[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> <span class="keywordtype">char</span> outname[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> <span class="keywordtype">char</span> filename[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> </div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> </div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> cpl_frameset * obj_set=NULL;</div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> cpl_frameset * sky_set=NULL;</div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> cpl_frameset * cdb_set=NULL;</div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> cpl_frameset * wrk_set=NULL;</div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> cpl_frameset * tot_set=NULL;</div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> cpl_frameset * pro_set=NULL;</div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> cpl_frame * sky_frm=NULL;</div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> cpl_frame * cdb_frm=NULL;</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> cpl_frame * dup_frm=NULL;</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> </div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> <span class="keywordtype">int</span> nsky=0;</div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> <span class="keywordtype">int</span> nobj=0;</div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> <span class="keywordtype">int</span> ncdb=0;</div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> </div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> <span class="keywordtype">int</span> aj_meth=0;</div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> <span class="keywordtype">int</span> ind=0;</div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> </div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> <span class="keywordtype">double</span> mjd_obj=0;</div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> <span class="keywordtype">double</span> mjd_sky=0;</div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> <span class="keywordtype">double</span> mjd_sky_frm=0;</div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> cpl_parameter* p=NULL;</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> fake* fk=sinfo_fake_new();</div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> </div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> obj_set=cpl_frameset_new();</div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> sky_set=cpl_frameset_new();</div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> cdb_set=cpl_frameset_new();</div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> </div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> sinfo_extract_obj_frames(*<span class="keyword">set</span>,obj_set);</div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> sinfo_extract_sky_frames(*<span class="keyword">set</span>,sky_set);</div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> sinfo_extract_mst_frames(*<span class="keyword">set</span>,cdb_set);</div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> </div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> cknull(obj_frm = cpl_frameset_get_frame(obj_set,0),</div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> <span class="stringliteral">"No object frames in input set."</span>);</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> </div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> </div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> strcpy(tag,cpl_frame_get_tag(obj_frm));</div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> <span class="keywordflow">if</span>(NULL!=sinfo_new_set_obj_procatg(tag)){</div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> *pro_ctg_cube=sinfo_new_set_obj_procatg(tag);</div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame tag %s not supported."</span>,tag);</div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> }</div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> </div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> </div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> <span class="keywordflow">if</span>(NULL!=sinfo_new_set_stk_procatg(tag)){</div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> strcpy(pro_ctg_stack,sinfo_new_set_stk_procatg(tag));</div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame tag %s not supported."</span>,tag);</div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> }</div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> </div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> nobj=cpl_frameset_get_size(obj_set);</div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> nsky=cpl_frameset_get_size(sky_set);</div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> ncdb=cpl_frameset_get_size(cdb_set);</div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> </div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> <span class="keywordflow">if</span> ((nobj==0) && (nsky==0)) {</div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Empty input set"</span>);</div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> }</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> </div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> </div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> <span class="keywordflow">if</span> ( (nobj != 0) && (nsky != 0) ) {</div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> <span class="comment">/* We have either OBJ and SKY: we need to create OBJ-SKY pairs */</span></div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> sinfo_msg(<span class="stringliteral">"Generates OBJ-SKY pairs"</span>);</div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> </div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> check_nomsg(tot_set=cpl_frameset_new());</div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> check_nomsg(p = cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> <span class="stringliteral">"sinfoni.objnod.autojitter_method"</span>));</div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> check_nomsg(cpl_parameter_set_int(p,0));</div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> </div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> <span class="keywordflow">for</span> (i=0;i<nobj;i++) {</div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> </div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> cknull_nomsg(wrk_set=cpl_frameset_new());</div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> check_nomsg(obj_frm=cpl_frameset_get_frame(obj_set,i));</div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> mjd_obj=sinfo_get_mjd_obs(obj_frm);</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> check_nomsg(sky_frm=cpl_frameset_get_frame(sky_set,0));</div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> mjd_sky=sinfo_get_mjd_obs(sky_frm);</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> strcpy(filename,cpl_frame_get_filename(obj_frm));</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> </div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> </div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> <span class="keywordflow">for</span> (j=1;j<nsky;j++) {</div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> mjd_sky_frm = sinfo_get_mjd_obs(cpl_frameset_get_frame(sky_set,j));</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> <span class="keywordflow">if</span>(1000.*(mjd_sky_frm-mjd_obj)*(mjd_sky_frm-mjd_obj) <</div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> 1000.*(mjd_sky- mjd_obj)*(mjd_sky- mjd_obj) ) {</div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> mjd_sky=mjd_sky_frm;</div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> check_nomsg(sky_frm=cpl_frameset_get_frame(sky_set,j));</div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> }</div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> }</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> strcpy(filename,cpl_frame_get_filename(sky_frm));</div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> </div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> </div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> </div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> <span class="comment">/* monitors whih obj-sky frames are inserted in each wrk_set */</span></div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> cknull_nomsg(dup_frm=cpl_frame_duplicate(obj_frm));</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> check_nomsg(cpl_frameset_insert(wrk_set,dup_frm));</div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> cknull_nomsg(dup_frm=cpl_frame_duplicate(sky_frm));</div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> check_nomsg(cpl_frameset_insert(wrk_set,dup_frm));</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> </div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> <span class="comment">/* merged CDB frames to work set */</span></div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> <span class="keywordflow">for</span>(k=0;k<ncdb;k++) {</div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> check_nomsg(cdb_frm=cpl_frameset_get_frame(cdb_set,k));</div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> check_nomsg(dup_frm=cpl_frame_duplicate(cdb_frm));</div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> check_nomsg(cpl_frameset_insert(wrk_set,dup_frm));</div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> }</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> </div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> </div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> <span class="comment">/* defines a new name for the output stacked frame */</span></div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> snprintf(outname,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%s"</span>,<span class="stringliteral">"out_stack"</span>,i,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> ck0(sinfo_new_stack_frames(config,wrk_set,pro_ctg_stack,i,fk,recipe_id),</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> <span class="stringliteral">"Cannot stack frames"</span>);</div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> </div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> <span class="comment">/* cube generation */</span></div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> ck0(ind=sinfo_new_cubes_build(recipe_id,config,wrk_set,</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> *pro_ctg_cube,i),</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> <span class="stringliteral">"GENERATING CUBE no. %d\n"</span>, ind) ;</div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> </div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> check_nomsg(sinfo_extract_frames_group_type(wrk_set,</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> &pro_set,</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> CPL_FRAME_GROUP_PRODUCT));</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> check_nomsg(sinfo_frameset_merge(tot_set,pro_set));</div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> sinfo_free_frameset(&pro_set);</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> sinfo_free_frameset(&wrk_set);</div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> </div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> </div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> }</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> </div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> check_nomsg(sinfo_extract_frames_group_type(tot_set,</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> &pro_set,</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> CPL_FRAME_GROUP_PRODUCT));</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> check_nomsg(sinfo_frameset_merge(*<span class="keyword">set</span>,pro_set));</div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> sinfo_free_frameset(&pro_set);</div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> sinfo_free_frameset(&tot_set);</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> </div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> }</div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> </div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> </div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> <span class="keywordflow">if</span> ( (nobj == 0) && (nsky != 0) ) {</div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> </div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> <span class="comment">/* ===============================================================</span></div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> <span class="comment"> SKY FRAMES STACKING</span></div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> <span class="comment"> =============================================================== */</span></div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> </div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> {</div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> sinfo_msg(<span class="stringliteral">"SKY ONLY FRAMES DATA REDUCTION NOT SUPPORTED"</span>) ;</div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> }</div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> </div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> </div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> }</div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> </div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> </div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> </div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> <span class="keywordflow">if</span> ( (nobj != 0) && (nsky == 0) ) {</div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> </div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> <span class="comment">/* ===============================================================</span></div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> <span class="comment"> OBJ FRAMES STACKING</span></div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> <span class="comment"> =============================================================== */</span></div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> <span class="stringliteral">"sinfoni.objnod.autojitter_method"</span>));</div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> check_nomsg(aj_meth = cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> <span class="keywordflow">if</span>(strcmp(pro_ctg_stack,PRO_PUPIL_LAMP_STACKED) == 0) {</div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> </div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> aj_meth = 0;</div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> </div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> }</div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> </div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> <span class="keywordflow">if</span>(aj_meth == 2) {</div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> </div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> sinfo_msg(<span class="stringliteral">"Dummy sky case"</span>);</div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> sinfo_msg(<span class="stringliteral">"Fake sky is coming from median of all objects"</span>);</div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> <span class="keywordflow">if</span>( (sky_frm = sinfo_new_get_dummy_sky(obj_set)) == NULL) {</div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> </div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Problem to get dummy frame"</span>);</div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> </div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> </div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> }</div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> sinfo_msg(<span class="stringliteral">"Generates OBJ-SKY pairs"</span>);</div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> </div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> check_nomsg(tot_set=cpl_frameset_new());</div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> </div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> </div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> <span class="keywordflow">for</span> (i=0;i<nobj;i++) {</div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> </div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> check_nomsg(wrk_set=cpl_frameset_new());</div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> check_nomsg(obj_frm=cpl_frameset_get_frame(obj_set,i));</div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> check_nomsg(dup_frm=cpl_frame_duplicate(obj_frm));</div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> check_nomsg(cpl_frameset_insert(wrk_set,dup_frm));</div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> check_nomsg(dup_frm=cpl_frame_duplicate(sky_frm));</div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> check_nomsg(cpl_frameset_insert(wrk_set,dup_frm));</div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> <span class="keywordflow">for</span>(k=0;k<ncdb;k++) {</div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> check_nomsg(cdb_frm=cpl_frameset_get_frame(cdb_set,k));</div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> check_nomsg(dup_frm=cpl_frame_duplicate(cdb_frm));</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> check_nomsg(cpl_frameset_insert(wrk_set,dup_frm));</div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> }</div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> </div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> snprintf(outname,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%s"</span>,<span class="stringliteral">"out_stack"</span>,i,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> ck0(sinfo_new_stack_frames(config,wrk_set,pro_ctg_stack,</div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> i,fk,recipe_id),<span class="stringliteral">"Error Stacking frame %d"</span>,i);</div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> </div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> </div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> <span class="comment">/* cube generation */</span></div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> ck0(ind=sinfo_new_cubes_build(recipe_id,config,wrk_set,</div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> *pro_ctg_cube,i),</div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> <span class="stringliteral">"Error GENERATING CUBE no. %d\n"</span>, ind) ;</div>
-<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> </div>
-<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span> </div>
-<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> </div>
-<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> </div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> check_nomsg(sinfo_extract_frames_group_type(wrk_set,</div>
-<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> &pro_set,</div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> CPL_FRAME_GROUP_PRODUCT));</div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> check_nomsg(sinfo_frameset_merge(tot_set,pro_set));</div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> sinfo_free_frameset(&pro_set);</div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> sinfo_free_frameset(&wrk_set);</div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> </div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> </div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> }</div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> check_nomsg(sinfo_extract_frames_group_type(tot_set,</div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> &pro_set,</div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> CPL_FRAME_GROUP_PRODUCT));</div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> check_nomsg(sinfo_frameset_merge(*<span class="keyword">set</span>,pro_set));</div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> sinfo_free_frameset(&pro_set);</div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> sinfo_free_frameset(&tot_set);</div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> sinfo_free_frame(&sky_frm);</div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(aj_meth == 1 ) {</div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> </div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> </div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> sinfo_msg(<span class="stringliteral">"Dummy obj-sky case"</span>);</div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> sinfo_msg(<span class="stringliteral">"Fake sky is coming from each next object"</span>);</div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> </div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> <span class="keywordflow">if</span>(nobj > 1) {</div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> fk->is_fake_sky=1;</div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> ck0(sinfo_get_dummy_obj_sky_stacked_and_cubes(obj_set,&(*<span class="keyword">set</span>),config,</div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> fk,pro_ctg_stack,recipe_id),</div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> <span class="stringliteral">"Found error to get obj-sky-stacked frame"</span>);</div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> </div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> sinfo_msg(<span class="stringliteral">"Only one object frame, no sky"</span>);</div>
-<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor.rot_cor"</span>));</div>
-<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> check_nomsg(cpl_parameter_set_bool(p,FALSE));</div>
-<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> </div>
-<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> ck0(sinfo_new_stack_frames(config,*<span class="keyword">set</span>,pro_ctg_stack,0,fk,recipe_id),</div>
-<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> <span class="stringliteral">"Error stacking frame"</span>);</div>
-<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> </div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> <span class="comment">/* cube generation */</span></div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> sinfo_msg(<span class="stringliteral">"BUILDING CUBE %d"</span>,i);</div>
-<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> ck0(sinfo_new_cubes_build(recipe_id,config,*<span class="keyword">set</span>,*pro_ctg_cube,i),</div>
-<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> <span class="stringliteral">"Error GENERATING CUBE %d"</span>, i) ;</div>
-<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> </div>
-<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span> sinfo_msg(<span class="stringliteral">"BUILT CUBE %d"</span>,i);</div>
-<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> </div>
-<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> }</div>
-<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> </div>
-<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> } <span class="keywordflow">else</span> { <span class="comment">/* aj_meth == 0 */</span></div>
-<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> </div>
-<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> sinfo_msg(<span class="stringliteral">"staks each OBJECT "</span>);</div>
-<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> check_nomsg(tot_set=cpl_frameset_new());</div>
-<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> </div>
-<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> <span class="keywordflow">for</span> (i=0;i<nobj;i++) {</div>
-<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> </div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> check_nomsg(wrk_set=cpl_frameset_new());</div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> check_nomsg(obj_frm=cpl_frameset_get_frame(obj_set,i));</div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> check_nomsg(dup_frm=cpl_frame_duplicate(obj_frm));</div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> check_nomsg(cpl_frameset_insert(wrk_set,dup_frm));</div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> <span class="keywordflow">for</span>(k=0;k<ncdb;k++) {</div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> check_nomsg(cdb_frm=cpl_frameset_get_frame(cdb_set,k));</div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> check_nomsg(dup_frm=cpl_frame_duplicate(cdb_frm));</div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> check_nomsg(cpl_frameset_insert(wrk_set,dup_frm));</div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> }</div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> </div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> </div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> snprintf(outname,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d%s"</span>,<span class="stringliteral">"out_stack"</span>,i,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> ck0(sinfo_new_stack_frames(config,wrk_set,pro_ctg_stack,</div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> i,fk,recipe_id),<span class="stringliteral">"Error stacking frame %d"</span>,i);</div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> </div>
-<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> </div>
-<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> <span class="comment">/* cube generation */</span></div>
-<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> sinfo_msg(<span class="stringliteral">"BUILDING CUBE %d"</span>,i);</div>
-<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> ck0(ind=sinfo_new_cubes_build(recipe_id,config,wrk_set,</div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> *pro_ctg_cube,i),</div>
-<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> <span class="stringliteral">"Error GENERATING CUBE no. %d\n"</span>, ind) ;</div>
-<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> </div>
-<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> sinfo_msg(<span class="stringliteral">"BUILT CUBE %d"</span>,i);</div>
-<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> check_nomsg(sinfo_extract_frames_group_type(wrk_set,</div>
-<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> &pro_set,</div>
-<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span> CPL_FRAME_GROUP_PRODUCT));</div>
-<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> check_nomsg(sinfo_frameset_merge(tot_set,pro_set));</div>
-<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span> sinfo_free_frameset(&pro_set);</div>
-<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> sinfo_free_frameset(&wrk_set);</div>
-<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span> </div>
-<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span> </div>
-<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> }</div>
-<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span> </div>
-<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span> </div>
-<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span> check_nomsg(sinfo_extract_frames_group_type(tot_set,</div>
-<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> &pro_set,</div>
-<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span> CPL_FRAME_GROUP_PRODUCT));</div>
-<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span> check_nomsg(sinfo_frameset_merge(*<span class="keyword">set</span>,pro_set));</div>
-<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> sinfo_free_frameset(&pro_set);</div>
-<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span> sinfo_free_frameset(&tot_set);</div>
-<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span> </div>
-<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span> }</div>
-<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span> }</div>
-<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span> sinfo_free_frameset(&obj_set);</div>
-<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span> sinfo_free_frameset(&sky_set);</div>
-<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span> sinfo_free_frameset(&cdb_set);</div>
-<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span> sinfo_fake_delete(&fk);</div>
-<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> </div>
-<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span> </div>
-<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span> cleanup:</div>
-<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span> </div>
-<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span> sinfo_free_frameset(&wrk_set);</div>
-<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span> sinfo_free_frameset(&tot_set);</div>
-<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span> sinfo_free_frameset(&obj_set);</div>
-<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span> sinfo_free_frameset(&sky_set);</div>
-<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span> sinfo_free_frameset(&cdb_set);</div>
-<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span> sinfo_fake_delete(&fk);</div>
-<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span> </div>
-<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span> </div>
-<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span> }</div>
-<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span> </div>
-<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> </div>
-<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> </div>
-<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* sinfo_new_set_stk_procatg(<span class="keyword">const</span> <span class="keywordtype">char</span>* tag)</div>
-<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> {</div>
-<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> </div>
-<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* pro_ctg_stack=NULL;</div>
-<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> </div>
-<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> <span class="keywordflow">if</span>(strstr(tag,<span class="stringliteral">"OBJ"</span>) != NULL) {</div>
-<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> pro_ctg_stack=PRO_OBJECT_NODDING_STACKED;</div>
-<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(strstr(tag,<span class="stringliteral">"PSF"</span>) != NULL) {</div>
-<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> pro_ctg_stack=PRO_PSF_CALIBRATOR_STACKED;</div>
-<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(strstr(tag,<span class="stringliteral">"STD"</span>) != NULL) {</div>
-<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> pro_ctg_stack=PRO_STD_NODDING_STACKED;</div>
-<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(strstr(tag,<span class="stringliteral">"PUPIL"</span>) != NULL) {</div>
-<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> pro_ctg_stack=PRO_PUPIL_LAMP_STACKED;</div>
-<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"frame tag %s not supported"</span>,tag);</div>
-<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> }</div>
-<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> </div>
-<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> <span class="keywordflow">return</span> pro_ctg_stack;</div>
-<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> </div>
-<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> }</div>
-<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* sinfo_new_set_obj_procatg(<span class="keyword">const</span> <span class="keywordtype">char</span>* tag)</div>
-<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> {</div>
-<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* pro_ctg_cube=NULL;</div>
-<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span> </div>
-<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> <span class="keywordflow">if</span>(strstr(tag,<span class="stringliteral">"OBJ"</span>) != NULL) {</div>
-<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span> pro_ctg_cube=PRO_COADD_OBJ;</div>
-<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(strstr(tag,<span class="stringliteral">"PSF"</span>) != NULL) {</div>
-<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> pro_ctg_cube=PRO_COADD_PSF;</div>
-<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(strstr(tag,<span class="stringliteral">"STD"</span>) != NULL) {</div>
-<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span> pro_ctg_cube=PRO_COADD_STD;</div>
-<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(strstr(tag,<span class="stringliteral">"PUPIL"</span>) != NULL) {</div>
-<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span> pro_ctg_cube=PRO_COADD_PUPIL;</div>
-<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"frame tag %s not supported"</span>,tag);</div>
-<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span> }</div>
-<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span> </div>
-<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> <span class="keywordflow">return</span> pro_ctg_cube;</div>
-<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span> </div>
-<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span> }</div>
-<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span> </div>
-<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> <span class="comment">static int</span></div>
-<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> <span class="comment">sinfo_get_obj_sky_frm_pair(</span></div>
-<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span> <span class="comment">cpl_frameset** obj_set,</span></div>
-<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> <span class="comment">const int i,</span></div>
-<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span> <span class="comment">cpl_frame** obj_frm,</span></div>
-<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> <span class="comment">cpl_frame** sky_frm)</span></div>
-<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span> <span class="comment">{</span></div>
-<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span> <span class="comment"> double mjd_obj=0;</span></div>
-<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> <span class="comment"> double mjd_sky_inf=0;</span></div>
-<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span> <span class="comment"> double mjd_sky_sup=0;</span></div>
-<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> <span class="comment"></span></div>
-<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span> <span class="comment"></span></div>
-<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span> <span class="comment"> double obj_cumx=0;</span></div>
-<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> <span class="comment"> double obj_cumy=0;</span></div>
-<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> <span class="comment"></span></div>
-<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span> <span class="comment"> double sky_sup_cumx=0;</span></div>
-<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span> <span class="comment"> double sky_sup_cumy=0;</span></div>
-<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> <span class="comment"></span></div>
-<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span> <span class="comment"> double sky_inf_cumx=0;</span></div>
-<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span> <span class="comment"> double sky_inf_cumy=0;</span></div>
-<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span> <span class="comment"> double cum_thres=0.5;</span></div>
-<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span> <span class="comment"> int nobj=0;</span></div>
-<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span> <span class="comment"> cpl_frame* sky_frm_inf=NULL;</span></div>
-<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span> <span class="comment"> cpl_frame* sky_frm_sup=NULL;</span></div>
-<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span> <span class="comment"></span></div>
-<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span> <span class="comment"> check_nomsg(*obj_frm=cpl_frameset_get_frame(*obj_set,i));</span></div>
-<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span> <span class="comment"> mjd_obj = sinfo_get_mjd_obs(*obj_frm);</span></div>
-<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span> <span class="comment"> obj_cumx=sinfo_get_cumoffsetx(*obj_frm);</span></div>
-<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> <span class="comment"> obj_cumy=sinfo_get_cumoffsety(*obj_frm);</span></div>
-<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span> <span class="comment"></span></div>
-<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span> <span class="comment"> if(i>0) {</span></div>
-<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> <span class="comment"> check_nomsg(sky_frm_inf=cpl_frameset_get_frame(*obj_set,i-1));</span></div>
-<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> <span class="comment"> mjd_sky_inf = sinfo_get_mjd_obs(sky_frm_inf);</span></div>
-<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span> <span class="comment"> sky_inf_cumx=sinfo_get_cumoffsetx(sky_frm_inf);</span></div>
-<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span> <span class="comment"> sky_inf_cumy=sinfo_get_cumoffsety(sky_frm_inf);</span></div>
-<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span> <span class="comment"></span></div>
-<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span> <span class="comment"> if(i<nobj-1) {</span></div>
-<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span> <span class="comment"> check_nomsg(sky_frm_sup=cpl_frameset_get_frame(*obj_set,i+1));</span></div>
-<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span> <span class="comment"> mjd_sky_sup = sinfo_get_mjd_obs(sky_frm_sup);</span></div>
-<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span> <span class="comment"> sky_sup_cumx=sinfo_get_cumoffsetx(sky_frm_sup);</span></div>
-<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span> <span class="comment"> sky_sup_cumy=sinfo_get_cumoffsety(sky_frm_sup);</span></div>
-<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span> <span class="comment"></span></div>
-<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span> <span class="comment"> if(i==0) {</span></div>
-<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span> <span class="comment"> *sky_frm = sky_frm_sup;</span></div>
-<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span> <span class="comment"> } else if(i==(nobj-1)) {</span></div>
-<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span> <span class="comment"> *sky_frm = sky_frm_inf;</span></div>
-<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span> <span class="comment"> } else {</span></div>
-<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span> <span class="comment"> if( fabs( mjd_sky_inf - mjd_obj ) <</span></div>
-<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span> <span class="comment"> fabs( mjd_sky_sup - mjd_obj ) ) {</span></div>
-<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> <span class="comment"> if((fabs(sky_inf_cumx-obj_cumx) > cum_thres) ||</span></div>
-<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span> <span class="comment"> (fabs(sky_inf_cumy-obj_cumy) > cum_thres)) {</span></div>
-<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span> <span class="comment"> *sky_frm = sky_frm_inf;</span></div>
-<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> <span class="comment"> } else {</span></div>
-<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span> <span class="comment"> *sky_frm = sky_frm_sup;</span></div>
-<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span> <span class="comment"> } else {</span></div>
-<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span> <span class="comment"> if((fabs(sky_sup_cumx-obj_cumx) > cum_thres) ||</span></div>
-<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span> <span class="comment"> (fabs(sky_sup_cumy-obj_cumy) > cum_thres)) {</span></div>
-<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span> <span class="comment"> *sky_frm = sky_frm_sup;</span></div>
-<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span> <span class="comment"> } else {</span></div>
-<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span> <span class="comment"> *sky_frm = sky_frm_inf;</span></div>
-<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span> <span class="comment"> return 0;</span></div>
-<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span> <span class="comment"></span></div>
-<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span> <span class="comment"> cleanup:</span></div>
-<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span> <span class="comment"> return -1;</span></div>
-<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span> <span class="comment"></span></div>
-<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span> <span class="comment">}</span></div>
-<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span> <span class="comment">*/</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__rec__utils_8h_source.html b/html/sinfo__rec__utils_8h_source.html
deleted file mode 100644
index 9e77008..0000000
--- a/html/sinfo__rec__utils_8h_source.html
+++ /dev/null
@@ -1,155 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_rec_utils.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_rec_utils.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_REC_UTILS_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_REC_UTILS_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">/* $Id: sinfo_rec_utils.h,v 1.2 2007/06/06 07:10:45 amodigli Exp $</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Date: 2007/06/06 07:10:45 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * $Revision: 1.2 $</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> * Object Data reduction *</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span> <span class="comment">/* allows the program compilation */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">-----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/* std */</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <strings.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <libgen.h></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/* sinfoni */</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include <sinfo_pro_types.h></span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include <sinfo_key_names.h></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include <sinfo_raw_types.h></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include <sinfo_globals.h></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include <sinfo_new_prepare_stacked_frames.h></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include <sinfo_functions.h></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> sinfo_new_get_dummy_obj_sky_stacked(cpl_frameset* obj_set,</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> cpl_frameset** <span class="keyword">set</span>, </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> cpl_parameterlist* config,</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> fake* fk,</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keywordtype">char</span>* pro_ctg, </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id);</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> cpl_frame* </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> sinfo_new_get_dummy_sky(cpl_frameset* obj_set);</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> sinfo_new_sci_stk_frames(cpl_parameterlist* config,</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> cpl_frameset** <span class="keyword">set</span>,</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* recipe_id,</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">const</span> <span class="keywordtype">char</span>** pro_ctg_cube);</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> sinfo_cub_stk_frames(cpl_parameterlist* config,</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> cpl_frameset** <span class="keyword">set</span>,</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* recipe_id,</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keyword">const</span> <span class="keywordtype">char</span>** pro_ctg_cube);</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> sinfo_new_stack_frames(cpl_parameterlist* cfg, </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> cpl_frameset* <span class="keyword">set</span>, </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* procatg,</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>, </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> fake* fk, </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id);</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> sinfo_new_set_obj_procatg(<span class="keyword">const</span> <span class="keywordtype">char</span>* tag);</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> sinfo_get_dummy_obj_sky_stacked_and_cubes(cpl_frameset* obj_set,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> cpl_frameset** <span class="keyword">set</span>, </div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> cpl_parameterlist* config,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> fake* fk, </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">char</span>* pro_ctg, </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id);</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="preprocessor">#endif </span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__rec__wavecal_8c_source.html b/html/sinfo__rec__wavecal_8c_source.html
deleted file mode 100644
index 0d50574..0000000
--- a/html/sinfo__rec__wavecal_8c_source.html
+++ /dev/null
@@ -1,460 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_rec_wavecal.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_rec_wavecal.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_rec_wavecal.c,v 1.31 2012/09/17 09:06:39 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2012/09/17 09:06:39 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.31 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> * Wave_Cal Frames Data Reduction *</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span> <span class="comment">/* allows the program compilation */</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/* std */</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <strings.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/* sinfoni */</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include <sinfo_pro_types.h></span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include <sinfo_general_config.h></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include <sinfo_utilities.h></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include <sinfo_product_config.h></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include <sinfo_prepare_stacked_frames_config.h></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include <sinfo_wavecal_config.h></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include <sinfo_raw_types.h></span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#include <sinfo_hidden.h></span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#include <sinfo_globals.h></span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#include <sinfo_functions.h></span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#include <sinfo_new_prepare_stacked_frames.h></span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#include <sinfo_new_wave_cal_slit2.h></span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor">#include <sinfo_key_names.h></span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_wavecal_create(cpl_plugin *);</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_wavecal_exec(cpl_plugin *);</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_wavecal_destroy(cpl_plugin *);</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_wavecal(cpl_parameterlist *, cpl_frameset *);</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_wavecal_description1[] =</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="stringliteral">"This recipe performs wavelength calibration.\n"</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="stringliteral">"The input files are on/off arc lamp frames with tag WAVE_LAMP\n"</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="stringliteral">"Master calibration frame input is:\n"</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="stringliteral">"A corresponding (band) reference line table with tag REF_LINE_ARC\n"</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="stringliteral">"A corresponding (band) distortion table with tag DISTORTION\n"</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="stringliteral">"A corresponding (band,preoptic) master flat with tag MASTER_FLAT_LAMP\n"</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="stringliteral">"A corresponding (band,preoptics) master bad "</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="stringliteral">"pixel map with tag MASTER_BP_MAP\n"</span>;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_wavecal_description2[] =</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="stringliteral">"If wcal-estimate_ind=TRUE, a corresponding (band,preoptics) slitlet position\n"</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="stringliteral">"guess table SLIT_POS_GUESS (for example a copy of the SLIT_POS product)\n"</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="stringliteral">"If wcal-calib_indicator=FALSE, a corresponding (band,preoptics) parabolic \n"</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="stringliteral">"fit coefficients table WAVE_COEF_SLIT\n"</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="stringliteral">"If sinfoni.wavecal.slitpos_boostrap_switch=FALSE \n"</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="stringliteral">"(wcal-calib-slitpos_bootstrap=0),\n"</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="stringliteral">"a corresponding (band,preoptics) slitlets position table with tag SLIT_POS\n"</span>;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_wavecal_description3[] =</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="stringliteral">"The main products are:\n"</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="stringliteral">"The master flat field corrected for distortions \n"</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="stringliteral">"(PRO.CATG=MFLAT_STACKED_DIST)\n"</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="stringliteral">"The arc lamp frames stacked (PRO.CATG=WAVE_LAMP_STACKED)\n"</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="stringliteral">"The wavelength map (PRO.CATG=WAVE_MAP)\n"</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="stringliteral">"The slitlet position table (PRO.CATG=SLIT_POS)\n"</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="stringliteral">"A parabolic fit coefficients table (PRO.CATG=WAVE_COEF_SLIT)\n"</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="stringliteral">"Parameters relative to arc lamp line fit: (PRO.CATG=WAVE_FIT_PARAMS)\n"</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="stringliteral">"Information on relevant parameters can be found with\n"</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="stringliteral">"esorex --params sinfo_rec_wavecal\n"</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="stringliteral">"esorex --help sinfo_rec_wavecal\n"</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_rec_wavecal_description[1500];</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"><a class="code" href="group__sinfo__rec__wavecal.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693"> 146</a></span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist *list)</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> {</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> cpl_recipe *recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe);</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> cpl_plugin *plugin = &recipe->interface;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> strcpy(sinfo_rec_wavecal_description,sinfo_rec_wavecal_description1);</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> strcat(sinfo_rec_wavecal_description,sinfo_rec_wavecal_description2);</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> strcat(sinfo_rec_wavecal_description,sinfo_rec_wavecal_description3);</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="stringliteral">"sinfo_rec_wavecal"</span>,</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="stringliteral">"Wavelength calibration and slitpos determination"</span>,</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> sinfo_rec_wavecal_description,</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="stringliteral">"Andrea Modigliani"</span>,</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="stringliteral">"Andrea.Modigliani at eso.org"</span>,</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> sinfo_rec_wavecal_create,</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> sinfo_rec_wavecal_exec,</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> sinfo_rec_wavecal_destroy);</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> cpl_pluginlist_append(list, plugin);</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> }</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_wavecal_create(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> {</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="comment">/* Check that the plugin is part of a valid recipe */</span></div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE)</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> cpl_error_reset();</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> recipe->parameters = cpl_parameterlist_new() ;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment"> * Fill the parameter list.</span></div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment">/* Wavelength calibration */</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> sinfo_general_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> sinfo_product_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> sinfo_prepare_stacked_frames_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> sinfo_wavecal_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> }</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_wavecal_exec(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> {</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> cpl_recipe *recipe = (cpl_recipe *) plugin;</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE)</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordflow">return</span> sinfo_rec_wavecal(recipe->parameters, recipe->frames);</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> }</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_wavecal_destroy(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> {</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE)</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> cpl_parameterlist_delete(recipe->parameters);</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> }</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="comment"> * The actual recipe actually start here.</span></div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_rec_wavecal(cpl_parameterlist *config, cpl_frameset *<span class="keyword">set</span>)</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> {</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="keywordtype">int</span> sw=0;</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> fake* fk=NULL;</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> cpl_parameter* p=NULL;</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> cpl_frameset* wrk_set=NULL;</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> cpl_frame* frame=NULL;</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="keywordtype">int</span> ind_index=0;</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> cpl_frameset* ref_set=NULL;</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="keywordtype">int</span> pdensity=0;</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="keywordtype">int</span> line_cor=0;</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> fk=sinfo_fake_new();</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> sinfo_msg(<span class="stringliteral">"Welcome to SINFONI Pipeline release %d.%d.%d"</span>,</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> SINFONI_MAJOR_VERSION,SINFONI_MINOR_VERSION,SINFONI_MICRO_VERSION);</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> </div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> ck0(sinfo_dfs_set_groups(<span class="keyword">set</span>),<span class="stringliteral">"Cannot indentify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> check_nomsg(p=cpl_parameterlist_find(config, <span class="stringliteral">"sinfoni.general.lc_sw"</span>));</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> check_nomsg(line_cor=cpl_parameter_get_bool(p));</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="keywordflow">if</span>(line_cor==1) {</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> check_nomsg(sinfo_ima_line_cor(config,<span class="keyword">set</span>));</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> }</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> check_nomsg(ref_set=cpl_frameset_duplicate(<span class="keyword">set</span>));</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> check_nomsg(p=cpl_parameterlist_find(config,<span class="stringliteral">"sinfoni.product.density"</span>));</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> check_nomsg(pdensity=cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="comment">/* hidden parameters */</span></div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="stringliteral">"sinfoni.wavecal.slitpos_boostrap"</span>));</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> check_nomsg(sw=cpl_parameter_get_bool(p));</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="keywordflow">if</span>( sw == 1 ) {</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> check_nomsg(wrk_set=cpl_frameset_duplicate(<span class="keyword">set</span>));</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> check_nomsg(p=cpl_parameterlist_find(config,<span class="stringliteral">"sinfoni.stacked.ind_index"</span>));</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> check_nomsg(ind_index=cpl_parameter_get_bool(p));</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> check_nomsg(cpl_parameter_set_bool(p,TRUE));</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> sinfo_msg(<span class="stringliteral">"---------------------------------------"</span>);</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> sinfo_msg(<span class="stringliteral">"%s FRAME DETERMINATION"</span>, PRO_WAVE_LAMP_STACKED);</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> sinfo_msg(<span class="stringliteral">"---------------------------------------"</span>);</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> ck0(sinfo_new_prepare_stacked_frames(cpl_func,config, wrk_set, NULL,</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> PRO_WAVE_LAMP_STACKED,0,fk),</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="stringliteral">"FAILED STACKING FRAME %s"</span>,PRO_WAVE_LAMP_STACKED);</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> </div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> sinfo_msg(<span class="stringliteral">"%s FRAME DETERMINATION SUCCESS"</span>, PRO_WAVE_LAMP_STACKED);</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> ck0(sinfo_new_wave_cal_slit2(cpl_func,config, wrk_set,ref_set),</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="stringliteral">"FIRST PART OF WAVELENGTH CALIBRATION FAILED"</span>) ;</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> sinfo_msg(<span class="stringliteral">"FIRST PART OF WAVELENGTH CALIBRATION"</span>) ;</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> </div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> check_nomsg(frame = cpl_frameset_find(wrk_set,PRO_SLIT_POS_GUESS));</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> check_nomsg(cpl_frameset_insert(<span class="keyword">set</span>,cpl_frame_duplicate(frame)));</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> check_nomsg(p=cpl_parameterlist_find(config,<span class="stringliteral">"sinfoni.stacked.ind_index"</span>));</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="keywordflow">if</span>(ind_index == 1) {</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> check_nomsg(cpl_parameter_set_bool(p,TRUE));</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="stringliteral">"sinfoni.wavecal.slitpos_boostrap"</span>));</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> check_nomsg(cpl_parameter_set_bool(p,TRUE));</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> sinfo_msg(<span class="stringliteral">"Set ind_index to TRUE"</span>);</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> check_nomsg(cpl_parameter_set_bool(p,FALSE));</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="stringliteral">"sinfoni.wavecal.slitpos_boostrap"</span>));</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> check_nomsg(cpl_parameter_set_bool(p,FALSE));</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> sinfo_msg(<span class="stringliteral">"Set ind_index to FALSE"</span>);</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> }</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> sinfo_free_frameset(&wrk_set);</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> }</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> </div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> sinfo_msg(<span class="stringliteral">"---------------------------------------------"</span>);</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> sinfo_msg(<span class="stringliteral">"%s FRAME DETERMINATION"</span>, PRO_WAVE_LAMP_STACKED);</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> sinfo_msg(<span class="stringliteral">"---------------------------------------------"</span>);</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> </div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="comment"> * Modified code begins here...</span></div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> {</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="keywordtype">int</span> i, nsky, ndark, nwave, non=0;</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> cpl_frame * fr;</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * tag, * fname;</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="keywordtype">char</span> name[32];</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> cpl_image * im;</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> cpl_propertylist * plist;</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> </div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> nsky = cpl_frameset_count_tags (<span class="keyword">set</span>, RAW_SKY_NODDING);</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> nwave = cpl_frameset_count_tags (<span class="keyword">set</span>, RAW_WAVE_LAMP);</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> ndark = cpl_frameset_count_tags (<span class="keyword">set</span>, PRO_MASTER_DARK);</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="keywordflow">if</span> ( (nwave == 0) & (nsky>0) ) {</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> sinfo_msg (<span class="stringliteral">"No arc lamp frames found, using sky frames instead"</span>);</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="keywordflow">if</span> (ndark == 0)</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> sinfo_msg (<span class="stringliteral">"Including Master dark is recommended when running wavecal on sky frames"</span>);</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> i = 0;</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="keywordflow">while</span> (i < cpl_frameset_get_size(<span class="keyword">set</span>)) {</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> fr = cpl_frameset_get_frame(<span class="keyword">set</span>,i);</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> tag = cpl_frame_get_tag (fr);</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="keywordflow">if</span> (strcmp(tag, RAW_SKY_NODDING)==0)</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> {</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> cpl_frame * frnew = 0;</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> fname = cpl_frame_get_filename(fr);</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> sprintf (&name[0], <span class="stringliteral">"fakelamp_%d.fits"</span>, non++);</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> im = cpl_image_load(fname, CPL_TYPE_FLOAT, 0, 0);</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> plist = cpl_propertylist_load(fname,0);</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="comment">/* Both if these needs to be changed to make sure the sky frame is</span></div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="comment"> interprated as ON-frame in sinfo_dfs.c</span></div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="comment"></span></div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="comment"> The selection of KEY_NAME_LAMP_XE is arbitrary, but one of</span></div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="comment"> KEY_NAME_LAMP_* has to be set */</span></div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> cpl_propertylist_set_bool (plist, KEY_NAME_LAMP_XE, 1);</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> cpl_propertylist_set_string (plist, KEY_NAME_DPR_TYPE, <span class="stringliteral">"WAVE,LAMP"</span>);</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> </div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> cpl_image_save (im, name, CPL_BPP_IEEE_FLOAT, plist, CPL_IO_DEFAULT);</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> cpl_image_delete (im);</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> cpl_propertylist_delete(plist);</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> </div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="comment">/* Looks like it's not possible to modify the frame directly</span></div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="comment"> without duplicating it first. */</span></div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> frnew = cpl_frame_duplicate (fr);</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> cpl_frame_set_filename(frnew, name);</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> cpl_frame_set_tag (frnew, RAW_WAVE_LAMP);</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> cpl_frameset_erase_frame (<span class="keyword">set</span>, fr);</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> cpl_frameset_insert (<span class="keyword">set</span>, frnew);</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> }</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> i++;</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> }</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> }</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> </div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="comment"> * Modified code ends here</span></div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> }</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> ck0(sinfo_new_prepare_stacked_frames(cpl_func,config, <span class="keyword">set</span>, NULL,</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> PRO_WAVE_LAMP_STACKED,0,fk),</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="stringliteral">"%s FRAME DETERMINATION FAILED"</span>,PRO_WAVE_LAMP_STACKED);</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> sinfo_msg(<span class="stringliteral">"%s FRAME DETERMINATION SUCCESS"</span>, PRO_WAVE_LAMP_STACKED);</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> </div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> sinfo_msg(<span class="stringliteral">"---------------------------------------------"</span>);</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> sinfo_msg(<span class="stringliteral">"WAVELENGTH CALIBRATION"</span>);</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> sinfo_msg(<span class="stringliteral">"---------------------------------------------"</span>);</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> </div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> </div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> ck0(sinfo_new_wave_cal_slit2(cpl_func,config, <span class="keyword">set</span>,ref_set),</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="stringliteral">"FAILED WAVELENGTH CALIBRATION"</span>);</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> sinfo_msg(<span class="stringliteral">"SUCCESS WAVELENGTH CALIBRATION"</span>);</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> </div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> sinfo_fake_delete(&fk);</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="keywordflow">if</span>(pdensity < 2) {</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> check_nomsg(cpl_frameset_erase(<span class="keyword">set</span>,PRO_STACK_MFLAT_DIST));</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> check_nomsg(cpl_frameset_erase(<span class="keyword">set</span>,PRO_WAVE_LAMP_STACKED));</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> }</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> </div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> cleanup:</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> </div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> sinfo_free_frameset(&ref_set);</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> sinfo_free_frameset(&wrk_set);</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> sinfo_fake_delete(&fk);</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> </div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> </div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> }</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> </div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__recipes_8c_source.html b/html/sinfo__recipes_8c_source.html
deleted file mode 100644
index 7773c04..0000000
--- a/html/sinfo__recipes_8c_source.html
+++ /dev/null
@@ -1,1288 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_recipes.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_recipes.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/***************************************************************************</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* schreib 05/06/00 created</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_vltPort.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> * System Headers</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> * Local Headers</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_recipes.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> * Local variables</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">static</span> <span class="keywordtype">float</span> sqrarg ;</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">static</span> <span class="keywordtype">double</span> chi1 ; <span class="comment">/* old reduced chi-squared */</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">static</span> <span class="keywordtype">double</span> sinfo_chi2 ; <span class="comment">/* new reduced chi-squared */</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keyword">static</span> <span class="keywordtype">double</span> labda ; <span class="comment">/* mixing parameter */</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keyword">static</span> <span class="keywordtype">double</span> vec[MAXPAR] ; <span class="comment">/* correction sinfo_vector */</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">static</span> <span class="keywordtype">double</span> matrix1[MAXPAR][MAXPAR] ; <span class="comment">/* original sinfo_matrix */</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">static</span> <span class="keywordtype">double</span> matrix2[MAXPAR][MAXPAR] ; <span class="comment">/* inverse of matrix1 */</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">static</span> <span class="keywordtype">int</span> nfree ; <span class="comment">/* number of free parameters */</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">static</span> <span class="keywordtype">int</span> parptr[MAXPAR] ; <span class="comment">/* parameter pointer */</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> * Defines</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#define SQR(a) (sqrarg = (a) , sqrarg*sqrarg)</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> * Functions private to this module</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">static</span> <span class="keywordtype">int</span> new_inv_mat (<span class="keywordtype">void</span>) ;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">static</span> <span class="keywordtype">void</span> new_get_mat ( <span class="keywordtype">float</span> * xdat,</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">int</span> * xdim,</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">float</span> * ydat,</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">float</span> * wdat,</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">int</span> * ndat,</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">float</span> * fpar,</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">float</span> * epar<span class="comment">/*,</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"> int * npar */</span>) ;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keyword">static</span> <span class="keywordtype">int</span> new_get_vec ( <span class="keywordtype">float</span> * xdat,</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keywordtype">int</span> * xdim,</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keywordtype">float</span> * ydat,</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">float</span> * wdat,</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">int</span> * ndat,</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">float</span> * fpar,</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordtype">float</span> * epar,</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">int</span> * npar ) ;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keyword">static</span> <span class="keywordtype">float</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> new_gaussian ( <span class="keywordtype">float</span> * xdat, <span class="keywordtype">float</span> * parlist<span class="comment">/*, int * npar*/</span> );</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> new_gaussian_deriv( <span class="keywordtype">float</span> * xdat, <span class="keywordtype">float</span> * parlist, </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">float</span> * dervs<span class="comment">/*, int * npar*/</span> );</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment"> * Function codes</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keywordtype">float</span> sinfo_new_f_median(<span class="keywordtype">float</span> * array, <span class="keywordtype">int</span> n)</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> {</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> pixelvalue p_array[100];</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordflow">for</span> (i=0;i<n;i++)</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> p_array[i]= (pixelvalue) array[i];</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordflow">return</span> (<span class="keywordtype">float</span>) sinfo_new_median(p_array, n);</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> }</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordtype">float</span> sinfo_new_clean_mean( <span class="keywordtype">float</span> * array, </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">int</span> n_elements,</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordtype">float</span> throwaway_low,</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordtype">float</span> throwaway_high )</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> {</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordtype">int</span> i, n ;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordtype">int</span> lo_n, hi_n ;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordtype">float</span> sum ;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordflow">if</span> ( array == NULL )</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> {</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no array given in sinfo_clean_mean!"</span>) ;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keywordflow">return</span> FLT_MAX ;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> }</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">if</span> ( n_elements <= 0 )</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> {</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong number of elements given"</span>) ;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">return</span> FLT_MAX ;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> }</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keywordflow">if</span> ( throwaway_low < 0. || throwaway_high < 0. ||</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> throwaway_low + throwaway_high >= 100. )</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> {</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong throw away percentage given!"</span>) ;</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keywordflow">return</span> FLT_MAX ;</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> }</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> lo_n = (int) (throwaway_low * (<span class="keywordtype">float</span>)n_elements / 100.) ;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> hi_n = (int) (throwaway_high * (<span class="keywordtype">float</span>)n_elements / 100.) ;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment">/* sort the array */</span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> sinfo_pixel_qsort( array, n_elements ) ;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> n = 0 ;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> sum = 0. ;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordflow">for</span> ( i = lo_n ; i < n_elements - hi_n ; i++ )</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> {</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">if</span> ( !isnan(array[i]) )</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> {</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> sum += array[i] ;</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> n++ ;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> }</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> }</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">if</span> ( n == 0 ) </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> {</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">return</span> FLAG ;</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> }</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> {</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">return</span> sum/(float)n ;</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> }</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> }</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> pixelvalue sinfo_new_median(pixelvalue * array, <span class="keywordtype">int</span> n)</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> {</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> pixelvalue med ;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keywordflow">if</span> ( array == NULL || n <= 0 )</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> {</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"nothing in the pixelvalue array, ZERO returned"</span>);</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordflow">return</span> ZERO ;</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> }</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keywordflow">if</span> ( n == 1 )</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> {</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keywordflow">return</span> array[0] ;</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> }</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> sinfo_pixel_qsort((<span class="keywordtype">float</span>*) array, n) ;</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keywordflow">if</span> ( n % 2 == 1 )</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> {</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> med = array[n/2] ;</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> }</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> {</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> med = (array[n/2] + array[n/2 - 1])/2. ;</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> }</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keywordflow">return</span> med ;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> }</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="keywordtype">int</span> sinfo_new_lsqfit_c ( <span class="keywordtype">float</span> * xdat,</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="keywordtype">int</span> * xdim,</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="keywordtype">float</span> * ydat,</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="keywordtype">float</span> * wdat,</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="keywordtype">int</span> * ndat,</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="keywordtype">float</span> * fpar,</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="keywordtype">float</span> * epar,</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keywordtype">int</span> * mpar,</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keywordtype">int</span> * npar,</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="keywordtype">float</span> * tol ,</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="keywordtype">int</span> * its ,</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="keywordtype">float</span> * lab )</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> {</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="keywordtype">int</span> i, n, r ;</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="keywordtype">int</span> itc ; <span class="comment">/* fate of fit */</span></div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="keywordtype">int</span> found ; <span class="comment">/* fit converged: 1, not yet converged: 0 */</span></div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="keywordtype">int</span> nuse ; <span class="comment">/* number of useable data points */</span></div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keywordtype">double</span> tolerance ; <span class="comment">/* accuracy */</span></div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> itc = 0 ; <span class="comment">/* fate of fit */</span></div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> found = 0 ; <span class="comment">/* reset */</span></div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> nfree = 0 ; <span class="comment">/* number of free parameters */</span></div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> nuse = 0 ; <span class="comment">/* number of legal data points */</span></div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> </div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="keywordflow">if</span> ( *tol < (FLT_EPSILON * 10.0 ) )</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> {</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> tolerance = FLT_EPSILON * 10.0 ; <span class="comment">/* default tolerance */</span></div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> }</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> {</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> tolerance = *tol ; <span class="comment">/* tolerance */</span></div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> }</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> labda = fabs( *lab ) * LABFAC ; <span class="comment">/* start value for mixing parameter */</span></div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="keywordflow">for</span> ( i = 0 ; i < (*npar) ; i++ )</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> {</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="keywordflow">if</span> ( mpar[i] )</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> {</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="keywordflow">if</span> ( nfree > MAXPAR ) <span class="comment">/* too many free parameters */</span></div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> {</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> }</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> parptr[nfree++] = i ; <span class="comment">/* a free parameter */</span></div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> }</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> }</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> </div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="keywordflow">if</span> (nfree == 0) <span class="comment">/* no free parameters */</span> </div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> {</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="keywordflow">return</span> -2 ;</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> }</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="keywordflow">for</span> ( n = 0 ; n < (*ndat) ; n++ )</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> {</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="keywordflow">if</span> ( wdat[n] > 0.0 ) <span class="comment">/* legal weight */</span></div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> {</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> nuse ++ ;</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> }</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> }</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="keywordflow">if</span> ( nfree >= nuse )</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> {</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="keywordflow">return</span> -3 ; <span class="comment">/* no degrees of freedom */</span></div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> }</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="keywordflow">if</span> ( labda == 0.0 ) <span class="comment">/* linear fit */</span></div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> {</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="comment">/* initialize fpar array */</span></div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="keywordflow">for</span> ( i = 0 ; i < nfree ; fpar[parptr[i++]] = 0.0 ) ; </div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> new_get_mat ( xdat, xdim, ydat, wdat, ndat, fpar, epar<span class="comment">/*, npar*/</span> ) ;</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> r = new_get_vec ( xdat, xdim, ydat, wdat, ndat, fpar, epar, npar ) ;</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="keywordflow">if</span> ( r ) <span class="comment">/* error */</span></div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> {</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="keywordflow">return</span> r ;</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> }</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="keywordflow">for</span> ( i = 0 ; i < (*npar) ; i++ )</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> {</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> fpar[i] = epar[i] ; <span class="comment">/* save new parameters */</span></div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> epar[i] = 0.0 ; <span class="comment">/* and set errors to zero */</span></div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> }</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> chi1 = sqrt( chi1 / (<span class="keywordtype">double</span>) (nuse - nfree) ) ;</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="keywordflow">for</span> ( i = 0 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> {</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="keywordflow">if</span> ( (matrix1[i][i] <= 0.0 ) || (matrix2[i][i] <= 0.0) )</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> {</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> }</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> epar[parptr[i]] = chi1 * sqrt( matrix2[i][i] ) / </div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> sqrt( matrix1[i][i] ) ;</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> }</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> }</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="keywordflow">else</span> <span class="comment">/* non-linear fit */</span></div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> {</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="comment">/*----------------------------------------------------------------</span></div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="comment"> * the non-linear fit uses the steepest descent method in combination</span></div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="comment"> * with the Taylor method. The mixing of these methods is controlled</span></div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="comment"> * by labda. In the outer loop ( called the iteration loop ) we build</span></div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="comment"> * the matrix and calculate the correction vector. In the inner loop</span></div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="comment"> * (called the interpolation loop) we check whether we have obtained a</span></div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="comment"> * better solution than the previous one. If so, we leave the inner </span></div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="comment"> loop else we increase labda (give more weight to the steepest </span></div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="comment"> descent method) calculate the correction vector and check again. </span></div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="comment"> After the inner loop we do a final check on the goodness of the </span></div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="comment"> fit and if this satisfies</span></div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="comment"> * the tolerance we calculate the errors of the fitted parameters.</span></div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keywordflow">while</span> ( !found ) <span class="comment">/* iteration loop */</span></div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> { </div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="keywordflow">if</span> ( itc++ == (*its) ) <span class="comment">/* increase iteration counter */</span></div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> {</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="keywordflow">return</span> -4 ; </div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> }</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> new_get_mat( xdat, xdim, ydat, wdat, ndat, fpar, epar<span class="comment">/*, npar */</span>) ;</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> </div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="comment">/*-------------------------------------------------------------</span></div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="comment"> * here we decrease labda since we may assume that each iteration</span></div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="comment"> * brings us closer to the answer.</span></div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="keywordflow">if</span> ( labda > LABMIN )</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> {</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> labda = labda / LABFAC ; <span class="comment">/* decrease labda */</span></div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> }</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> r = new_get_vec( xdat, xdim, ydat, wdat, ndat, fpar, epar, npar ) ;</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="keywordflow">if</span> ( r ) <span class="comment">/* error */</span></div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> {</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="keywordflow">return</span> r ;</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> }</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> </div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="keywordflow">while</span> ( chi1 >= sinfo_chi2 ) <span class="comment">/* interpolation loop */</span></div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> {</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="comment">/*-----------------------------------------------------------</span></div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="comment"> * The next statement is based on experience, not on the </span></div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="comment"> mathematics of the problem. It is assumed that we have </span></div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="comment"> reached convergence when the pure steepest descent method </span></div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="comment"> does not produce a better solution.</span></div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="keywordflow">if</span> ( labda > LABMAX ) <span class="comment">/* assume solution found */</span></div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> {</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> break ;</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> }</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> labda = labda * LABFAC ; <span class="comment">/* increase mixing parameter */</span></div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> r = new_get_vec(xdat,xdim,ydat,wdat,ndat,fpar,epar,npar) ;</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="keywordflow">if</span> ( r ) <span class="comment">/* error */</span></div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> {</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="keywordflow">return</span> r ;</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> }</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> }</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="keywordflow">if</span> ( labda <= LABMAX ) <span class="comment">/* save old parameters */</span></div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> {</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="keywordflow">for</span> ( i = 0 ; i < *npar ; i++ )</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> {</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> fpar[i] = epar[i] ;</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> }</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> }</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <span class="keywordflow">if</span> ( (fabs( sinfo_chi2 - chi1 ) <= (tolerance * chi1)) || </div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> (labda > LABMAX) )</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> {</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="comment">/*-------------------------------------------------------------</span></div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="comment"> * we have a satisfying solution, so now we need to calculate </span></div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="comment"> the correct errors of the fitted parameters. This we do by </span></div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="comment"> using the pure Taylor method because we are very close to </span></div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="comment"> the real solution.</span></div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> labda = 0.0 ; <span class="comment">/* for Taylor solution */</span></div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> new_get_mat(xdat,xdim,ydat,wdat,ndat,fpar,epar<span class="comment">/*, npar */</span>) ;</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> r = new_get_vec(xdat,xdim,ydat,wdat,ndat,fpar,epar,npar) ;</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> </div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="keywordflow">if</span> ( r ) <span class="comment">/* error */</span></div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> {</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="keywordflow">return</span> r ;</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> }</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="keywordflow">for</span> ( i = 0 ; i < (*npar) ; i++ )</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> {</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> epar[i] = 0.0 ; <span class="comment">/* set error to zero */</span></div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> }</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> sinfo_chi2 = sqrt ( sinfo_chi2 / (<span class="keywordtype">double</span>) (nuse - nfree) ) ;</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> </div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> <span class="keywordflow">for</span> ( i = 0 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> {</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <span class="keywordflow">if</span> ( (matrix1[i][i] <= 0.0) || (matrix2[i][i] <= 0.0) )</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> {</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> }</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> epar[parptr[i]] = sinfo_chi2 * sqrt( matrix2[i][i] ) / </div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> sqrt( matrix1[i][i] ) ;</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> }</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> found = 1 ; <span class="comment">/* we found a solution */</span></div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> }</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> }</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> }</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="keywordflow">return</span> itc ; <span class="comment">/* return number of iterations */</span></div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> }</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> </div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> </div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> </div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="keywordtype">void</span> sinfo_new_convert_ZEROs_to_0_for_images(cpl_image * im)</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> {</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> </div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="keywordflow">if</span> ( im == NULL )</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> {</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no input image given!\n"</span>) ; </div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> return ;</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> }</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> ilx=cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> ily=cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> pidata=cpl_image_get_data(im);</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) ilx*ily ; i++ )</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> {</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="keywordflow">if</span>( isnan(pidata[i]) )</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> {</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> pidata[i] = 0. ;</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> }</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> }</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> return ;</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> }</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> </div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> <span class="keywordtype">void</span> sinfo_new_convert_ZEROs_to_0_for_cubes(cpl_imagelist * cube)</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> {</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> cpl_image* i_img=NULL; </div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> </div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> <span class="keywordflow">if</span> ( cube == NULL )</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> {</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no input cube given!"</span>) ; </div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> return ;</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> }</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> inp=cpl_imagelist_get_size(cube);</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> </div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> <span class="keywordflow">for</span> ( i = 0 ; i < inp ; i++ )</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> {</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> i_img=cpl_imagelist_get(cube,i);</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> sinfo_new_convert_ZEROs_to_0_for_images(i_img) ;</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> cpl_imagelist_set(cube,i_img,i);</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> }</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> return ;</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> }</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> </div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> </div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> sinfo_new_convert_ZEROs_to_0_for_cubes_range(cpl_imagelist * cube,</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_min,<span class="keyword">const</span> <span class="keywordtype">int</span> z_max)</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> {</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> cpl_image* i_img=NULL; </div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> </div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> <span class="keywordflow">if</span> ( cube == NULL )</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> {</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no input cube given!"</span>) ; </div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> return ;</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> }</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="keywordflow">for</span> ( i = z_min ; i < z_max ; i++ )</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> {</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> i_img=cpl_imagelist_get(cube,i);</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> sinfo_new_convert_ZEROs_to_0_for_images(i_img) ;</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> cpl_imagelist_set(cube,i_img,i);</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> }</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> return ;</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> }</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> <span class="keywordtype">void</span> sinfo_new_convert_0_to_ZEROs_for_images(cpl_image * im)</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> {</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> </div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <span class="keywordflow">if</span> ( im == NULL )</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> {</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no input image given!"</span>) ;</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> return ;</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> }</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> ilx=cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> ily=cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> pidata=cpl_image_get_data(im);</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) ilx*ily ; i++ )</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> {</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="keywordflow">if</span>( pidata[i] == 0. )</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> {</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> pidata[i] = ZERO ;</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> }</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> }</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> return ;</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> }</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> </div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> <span class="keywordtype">void</span> sinfo_new_convert_0_to_ZERO_for_cubes(cpl_imagelist * cube)</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> {</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> </div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="keywordflow">if</span> ( cube == NULL )</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> {</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no input cube given!"</span>) ;</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> return ;</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> }</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> inp=cpl_imagelist_get_size(cube);</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="keywordflow">for</span> ( i = 0 ; i < inp ; i++ )</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> {</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> i_img=cpl_imagelist_get(cube,i);</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> sinfo_new_convert_0_to_ZEROs_for_images(i_img) ;</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> cpl_imagelist_set(cube,i_img,i);</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> }</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> return ;</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> }</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> </div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> </div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> sinfo_new_convert_0_to_ZERO_for_cubes_range(cpl_imagelist * cube,</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_min,<span class="keyword">const</span> <span class="keywordtype">int</span> z_max)</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> {</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> </div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> <span class="keywordflow">if</span> ( cube == NULL )</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> {</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no input cube given!"</span>) ;</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> return ;</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> }</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> inp=cpl_imagelist_get_size(cube);</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> <span class="keywordflow">for</span> ( i = z_min ; i < z_max ; i++ )</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> {</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> i_img=cpl_imagelist_get(cube,i);</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> sinfo_new_convert_0_to_ZEROs_for_images(i_img) ;</div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> cpl_imagelist_set(cube,i_img,i);</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> }</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> return ;</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> }</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> <span class="keywordtype">void</span> sinfo_new_invert(cpl_image * im)</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> {</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> </div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> ilx=cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> ily=cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> pidata=cpl_image_get_data(im);</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> </div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) ilx*ily ; i++ )</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> {</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> pidata[i] = -pidata[i] ;</div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> }</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> return ;</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> }</div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> </div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> <span class="keywordtype">int</span> sinfo_new_nint ( <span class="keywordtype">double</span> x ) </div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> {</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> <span class="keywordtype">int</span> k ;</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> </div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> k = x ;</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> <span class="keywordflow">if</span> ( x >= 0. )</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> {</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> <span class="keywordflow">if</span> ( (x - (<span class="keywordtype">double</span>) k) <= 0.5 )</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> {</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> <span class="keywordflow">return</span> k ;</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> }</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> {</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> <span class="keywordflow">return</span> k + 1 ;</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> }</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> }</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> {</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <span class="keywordflow">if</span> ( (x - (<span class="keywordtype">double</span>) k) <= -0.5 )</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> {</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> <span class="keywordflow">return</span> k - 1;</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> }</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> {</div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> <span class="keywordflow">return</span> k ;</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> }</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> }</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> }</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> </div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> </div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> <span class="preprocessor">#define STEP_MIN (-half_search)</span></div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> <span class="preprocessor"></span><span class="preprocessor">#define STEP_MAX (half_search)</span></div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> <span class="keywordtype">double</span> * sinfo_new_xcorrel(</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> <span class="keywordtype">float</span> * line_i,</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> <span class="keywordtype">int</span> width_i,</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> <span class="keywordtype">float</span> * line_t,</div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> <span class="keywordtype">int</span> width_t,</div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> <span class="keywordtype">int</span> half_search,</div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> <span class="keywordtype">int</span> * delta,</div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> <span class="keywordtype">int</span> * maxpos,</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> <span class="keywordtype">double</span> * xcorr_max </div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> </div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> )</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> {</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> <span class="keywordtype">double</span> * xcorr ;</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <span class="keywordtype">double</span> mean_i, mean_t ;</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="keywordtype">double</span> rms_i, rms_t ;</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> <span class="keywordtype">double</span> sum, sqsum ;</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="keywordtype">double</span> norm ;</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="keywordtype">int</span> nsteps ;</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> <span class="keywordtype">int</span> step ;</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> <span class="keywordtype">int</span> nval ;</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> <span class="comment">/*double r;*/</span></div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> </div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> </div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> <span class="comment">/* Compute normalization factors */</span></div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> sum = sqsum = 0.00 ;</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> <span class="keywordflow">for</span> (i=0 ; i<width_i ; i++) {</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> sum += (double)line_i[i] ;</div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> sqsum += (double)line_i[i] * (<span class="keywordtype">double</span>)line_i[i];</div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> }</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> mean_i = sum / (double)width_i ;</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> sqsum /= (double)width_i ;</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> rms_i = sqsum - mean_i*mean_i ;</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> </div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> sum = sqsum = 0.00 ;</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> <span class="keywordflow">for</span> (i=0 ; i<width_t ; i++) {</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> sum += (double)line_t[i] ;</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> sqsum += (double)line_t[i] * (<span class="keywordtype">double</span>)line_t[i];</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> }</div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> mean_t = sum / (double)width_t ;</div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> sqsum /= (double)width_t ;</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> rms_t = sqsum - mean_t*mean_t ;</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> </div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> norm = 1.00 / sqrt(rms_i * rms_t);</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> </div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> nsteps = (STEP_MAX - STEP_MIN) ;</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> xcorr = cpl_malloc(nsteps * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> <span class="keywordflow">for</span> (step=STEP_MIN ; step<STEP_MAX ; step++) {</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> xcorr[step-STEP_MIN] = 0.00 ;</div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> nval = 0 ;</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> <span class="keywordflow">for</span> (i=0 ; i<width_t ; i++) {</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> <span class="keywordflow">if</span> ((i+step >= 0) &&</div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> (i+step < width_i)) {</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> xcorr[step-STEP_MIN] += ((double)line_t[i] - mean_t) *</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> ((double)line_i[i+step] - mean_i) *</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> norm ;</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> nval++ ;</div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> }</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> }</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> xcorr[step-STEP_MIN] /= (double)nval ;</div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> }</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> *xcorr_max = xcorr[0] ;</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> *maxpos = 0 ;</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> <span class="keywordflow">for</span> (i=0 ; i<nsteps ; i++) {</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> <span class="keywordflow">if</span> (xcorr[i]>*xcorr_max) {</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> *maxpos = i ;</div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> *xcorr_max = xcorr[i];</div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> }</div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> }</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> (*delta) = + (STEP_MIN + *maxpos);</div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> <span class="keywordflow">return</span> xcorr ;</div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> }</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> </div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> <span class="comment">/* FILE ELEMENT: sinfo_nev_ille.c */</span></div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> <span class="comment">/* */</span></div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> <span class="comment">/**********************************************************************/</span></div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> <span class="comment">/* */</span></div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> <span class="comment">/* double sinfo_nev_ille() */</span></div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> <span class="comment">/* */</span></div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> <span class="comment">/**********************************************************************/</span></div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> <span class="comment">/* */</span></div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> <span class="comment">/* DESCRIPTION: */</span></div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> <span class="comment">/* For a given table (x , f(x )), i = 0(1)n and a given argument z */</span></div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> <span class="comment">/* the function computes the interpolated value for the argument z */</span></div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> <span class="comment">/* using Neville's interpolation/ extrapolation algorithm. */</span></div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> <span class="comment">/* */</span></div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> <span class="comment">/* FUNCTIONS CALLED: */</span></div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> <span class="comment">/* System library: <stdio.h> printf(), fabs(); */</span></div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> <span class="comment">/* Numlib library: None */</span></div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> <span class="comment">/* Local functions: nevtable(); */</span></div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> <span class="comment">/* User supplied: None */</span></div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> <span class="comment">/* */</span></div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> <span class="comment">/* PROGRAMMED BY: T.Haavie */</span></div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> <span class="comment">/* DATE/VERSION: 88-07-06/1.0 */</span></div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> <span class="comment">/* */</span></div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> <span class="comment">/**********************************************************************/</span></div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> <span class="keywordtype">double</span> sinfo_nev_ille(<span class="keywordtype">double</span> x[], <span class="keywordtype">double</span> f[], <span class="keywordtype">int</span> n, <span class="keywordtype">double</span> z, <span class="keywordtype">int</span>* flag)</div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> <span class="comment">/* PARAMETERS(input): */</span></div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> <span class="comment">/* double x[]; Abscissae values in the table. */</span></div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> <span class="comment">/* double f[]; Function values in the table. */</span></div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> <span class="comment">/* int n; The number of elements in the table is n+1. */</span></div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> <span class="comment">/* double z; Argument to be used in interpolation/extrapolation. */</span></div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> </div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> </div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> <span class="comment">/* PARAMETERS(input/output): */</span></div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> <span class="comment">/* int *flag; Flag parameter(output): */</span></div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> <span class="comment">/* = 0, n < 0 and/or eps < 0, should be positive+. */</span></div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> <span class="comment">/* = 1, required rel.err. is not obtained. */</span></div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> <span class="comment">/* = 2, required rel. err. is obtained. */</span></div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> </div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> <span class="comment">/* the computed estimate for the interpolated/extrapolated value re- */</span></div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> <span class="comment">/* turned through function name sinfo_nev_ille. */</span></div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> </div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> {</div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> <span class="keywordtype">double</span> p[11]; <span class="comment">/* Array used for storing the new row elements */</span></div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> <span class="comment">/* in the interpolation/extrapolation table. */</span></div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> <span class="keywordtype">double</span> q[11]; <span class="comment">/* Array used for storing the old row elements */</span></div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> <span class="comment">/* in the interpolation/extrapolation table */</span></div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> </div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> <span class="keywordtype">double</span> factor;</div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> <span class="keywordtype">int</span> m, k;</div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> </div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> </div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> </div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> <span class="keywordflow">if</span> (n < 0 )</div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> {</div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> *flag = 0;</div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> <span class="keywordflow">return</span>(0.);</div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> }</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> </div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> </div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> q[0] = f[0]; <span class="comment">/* Set initial value in the table. */</span></div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> </div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> <span class="keywordflow">for</span> (k = 1; k <= n; k++) <span class="comment">/* k counts rows in the table. */</span></div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> {</div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> p[0] = f[k];</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> <span class="keywordflow">for</span> (m = 1; m <= k; m++) <span class="comment">/* m counts element in row. */</span></div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> {</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> factor = (z - x[k]) / (x[k] - x[k-m]);</div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> p[m] = p[m-1] + factor * (p[m-1] - q[m-1]);</div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> }</div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> </div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> </div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> <span class="keywordflow">for</span> (m = 0; m <= k; m++) <span class="comment">/* Shift old row to new row. */</span></div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> q[m] = p[m];</div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> </div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> } <span class="comment">/* End of k-loop. */</span></div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> </div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> *flag = 1; <span class="comment">/* Required rel.error is not obtained. */</span></div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> <span class="keywordflow">return</span>(p[n]);</div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> </div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> } <span class="comment">/* End of sinfo_nev_ille(). */</span></div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> </div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> </div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> </div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> <span class="keywordtype">float</span> sinfo_new_nev_ille(<span class="keywordtype">float</span> x[], <span class="keywordtype">float</span> f[], <span class="keywordtype">int</span> n, <span class="keywordtype">float</span> z, <span class="keywordtype">int</span>* flag)</div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> <span class="comment">/* PARAMETERS(input): */</span></div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> <span class="comment">/* float x[]; Abscissae values in the table. */</span></div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> <span class="comment">/* float f[]; Function values in the table. */</span></div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> <span class="comment">/* int n; The number of elements in the table is n+1. */</span></div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> <span class="comment">/* float z; Argument to be used in interpolation/extrapolation. */</span></div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> </div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> </div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> <span class="comment">/* PARAMETERS(input/output): */</span></div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> <span class="comment">/* int *flag; Flag parameter(output): */</span></div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> <span class="comment">/* = 0, n < 0 and/or eps < 0, should be positive+. */</span></div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> <span class="comment">/* = 1, required rel.err. is not obtained. */</span></div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> <span class="comment">/* = 2, required rel. err. is obtained. */</span></div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> </div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> <span class="comment">/* the computed estimate for the interpolated/extrapolated value re- */</span></div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> <span class="comment">/* turned through function name sinfo_nev_ille. */</span></div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> </div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> {</div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> <span class="keywordtype">float</span> p[11]; <span class="comment">/* Array used for storing the new row elements */</span></div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> <span class="comment">/* in the interpolation/extrapolation table. */</span></div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> <span class="keywordtype">float</span> q[11]; <span class="comment">/* Array used for storing the old row elements */</span></div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> <span class="comment">/* in the interpolation/extrapolation table */</span></div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> </div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> <span class="keywordtype">float</span> factor;</div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> <span class="keywordtype">int</span> m, k;</div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> </div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> </div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> </div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> <span class="keywordflow">if</span> (n < 0 )</div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> {</div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> *flag = 0;</div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> <span class="keywordflow">return</span>(0.);</div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> }</div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> </div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> </div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> q[0] = f[0]; <span class="comment">/* Set initial value in the table. */</span></div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> </div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> <span class="keywordflow">for</span> (k = 1; k <= n; k++) <span class="comment">/* k counts rows in the table. */</span></div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> {</div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> p[0] = f[k];</div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> <span class="keywordflow">for</span> (m = 1; m <= k; m++) <span class="comment">/* m counts element in row. */</span></div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> {</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> factor = (z - x[k]) / (x[k] - x[k-m]);</div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> p[m] = p[m-1] + factor * (p[m-1] - q[m-1]);</div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> }</div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> </div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> </div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> <span class="keywordflow">for</span> (m = 0; m <= k; m++) <span class="comment">/* Shift old row to new row. */</span></div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> q[m] = p[m];</div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> </div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> } <span class="comment">/* End of k-loop. */</span></div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> </div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> *flag = 1; <span class="comment">/* Required rel.error is not obtained. */</span></div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> <span class="keywordflow">return</span>(p[n]);</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> </div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> } <span class="comment">/* End of sinfo_nev_ille(). */</span></div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> </div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> </div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> <span class="keyword">static</span> <span class="keywordtype">int</span> new_get_vec ( <span class="keywordtype">float</span> * xdat,</div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> <span class="keywordtype">int</span> * xdim,</div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> <span class="keywordtype">float</span> * ydat,</div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> <span class="keywordtype">float</span> * wdat,</div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> <span class="keywordtype">int</span> * ndat,</div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> <span class="keywordtype">float</span> * fpar,</div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> <span class="keywordtype">float</span> * epar,</div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> <span class="keywordtype">int</span> * npar )</div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> {</div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> <span class="keywordtype">double</span> dj ;</div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> <span class="keywordtype">double</span> dy ;</div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> <span class="keywordtype">double</span> mii ;</div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> <span class="keywordtype">double</span> mji ;</div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> <span class="keywordtype">double</span> mjj ;</div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> <span class="keywordtype">double</span> wn ;</div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> <span class="keywordtype">int</span> i, j, n, r ;</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> </div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> <span class="comment">/* loop to modify and scale the sinfo_matrix */</span></div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> <span class="keywordflow">for</span> ( j = 0 ; j < nfree ; j++ )</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> {</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> mjj = matrix1[j][j] ;</div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> <span class="keywordflow">if</span> ( mjj <= 0.0 ) <span class="comment">/* diagonal element wrong */</span></div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> {</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> <span class="keywordflow">return</span> -5 ;</div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> }</div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> mjj = sqrt( mjj ) ;</div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> <span class="keywordflow">for</span> ( i = 0 ; i < j ; i++ )</div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> {</div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> mji = matrix1[j][i] / mjj / sqrt( matrix1[i][i] ) ;</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> matrix2[i][j] = matrix2[j][i] = mji ;</div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> }</div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> matrix2[j][j] = 1.0 + labda ; <span class="comment">/* scaled value on diagonal */</span></div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> } </div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> </div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> <span class="keywordflow">if</span> ( (r = new_inv_mat()) ) <span class="comment">/* sinfo_invert sinfo_matrix inlace */</span></div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> {</div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> <span class="keywordflow">return</span> r ;</div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> }</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> </div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> <span class="keywordflow">for</span> ( i = 0 ; i < (*npar) ; i ++ )</div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> {</div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> epar[i] = fpar[i] ;</div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> }</div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> </div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> <span class="comment">/* loop to calculate correction sinfo_vector */</span></div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> <span class="keywordflow">for</span> ( j = 0 ; j < nfree ; j++ )</div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> {</div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> dj = 0.0 ;</div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> mjj = matrix1[j][j] ;</div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> <span class="keywordflow">if</span> ( mjj <= 0.0) <span class="comment">/* not allowed */</span></div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> {</div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> }</div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> mjj = sqrt ( mjj ) ;</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> <span class="keywordflow">for</span> ( i = 0 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> {</div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> mii = matrix1[i][i] ;</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> <span class="keywordflow">if</span> ( mii <= 0.0 )</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> {</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> <span class="keywordflow">return</span> -7 ;</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> }</div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> mii = sqrt( mii ) ;</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> dj += vec[i] * matrix2[j][i] / mjj / mii ;</div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> }</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> epar[parptr[j]] += dj ; <span class="comment">/* new parameters */</span></div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> } </div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> chi1 = 0.0 ; <span class="comment">/* reset reduced chi-squared */</span></div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> </div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> <span class="comment">/* loop through the data points */</span></div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> <span class="keywordflow">for</span> ( n = 0 ; n < (*ndat) ; n++ )</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> {</div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> wn = wdat[n] ; <span class="comment">/* get weight */</span></div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> <span class="keywordflow">if</span> ( wn > 0.0 ) <span class="comment">/* legal weight */</span></div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> {</div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> dy = ydat[n] - new_gaussian( &xdat[(*xdim) * n], epar<span class="comment">/*, npar*/</span> ) ;</div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> chi1 += wdat[n] * dy * dy ;</div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> }</div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> }</div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> } </div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> </div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> </div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> <span class="keyword">static</span> <span class="keywordtype">void</span> new_get_mat ( <span class="keywordtype">float</span> * xdat,</div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> <span class="keywordtype">int</span> * xdim,</div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> <span class="keywordtype">float</span> * ydat,</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> <span class="keywordtype">float</span> * wdat,</div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> <span class="keywordtype">int</span> * ndat,</div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> <span class="keywordtype">float</span> * fpar,</div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> <span class="keywordtype">float</span> * epar<span class="comment">/*,</span></div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> <span class="comment"> int * npar */</span>)</div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> {</div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> <span class="keywordtype">double</span> wd ;</div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> <span class="keywordtype">double</span> wn ;</div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> <span class="keywordtype">double</span> yd ;</div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> <span class="keywordtype">int</span> i, j, n ;</div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> </div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> <span class="keywordflow">for</span> ( j = 0 ; j < nfree ; j++ )</div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> {</div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> vec[j] = 0.0 ; <span class="comment">/* zero sinfo_vector */</span></div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> <span class="keywordflow">for</span> ( i = 0 ; i<= j ; i++ ) </div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> <span class="comment">/* zero sinfo_matrix only on and below diagonal */</span></div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> {</div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> matrix1[j][i] = 0.0 ;</div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> }</div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> }</div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> sinfo_chi2 = 0.0 ; <span class="comment">/* reset reduced chi-squared */</span></div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> </div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> <span class="comment">/* loop through data points */</span></div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> <span class="keywordflow">for</span> ( n = 0 ; n < (*ndat) ; n++ )</div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> {</div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> wn = wdat[n] ;</div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> <span class="keywordflow">if</span> ( wn > 0.0 ) <span class="comment">/* legal weight ? */</span></div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> {</div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> yd = ydat[n] - new_gaussian( &xdat[(*xdim) * n], fpar<span class="comment">/*, npar*/</span> ) ;</div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> new_gaussian_deriv( &xdat[(*xdim) * n], fpar, epar<span class="comment">/*, npar*/</span> ) ;</div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> sinfo_chi2 += yd * yd * wn ; <span class="comment">/* add to chi-squared */</span></div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> <span class="keywordflow">for</span> ( j = 0 ; j < nfree ; j++ )</div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> {</div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> wd = epar[parptr[j]] * wn ; <span class="comment">/* weighted derivative */</span></div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> vec[j] += yd * wd ; <span class="comment">/* fill sinfo_vector */</span></div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> <span class="keywordflow">for</span> ( i = 0 ; i <= j ; i++ ) <span class="comment">/* fill sinfo_matrix */</span></div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> {</div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> matrix1[j][i] += epar[parptr[i]] * wd ;</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> }</div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> }</div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> }</div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> } </div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> } </div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> </div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> </div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> </div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> </div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> </div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> </div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> <span class="keyword">static</span> <span class="keywordtype">int</span> new_inv_mat (<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> {</div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> <span class="keywordtype">double</span> even ;</div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> <span class="keywordtype">double</span> hv[MAXPAR] ;</div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> <span class="keywordtype">double</span> mjk ;</div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> <span class="keywordtype">double</span> rowmax ;</div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> <span class="keywordtype">int</span> evin ;</div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> <span class="keywordtype">int</span> i, j, k, row ;</div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> <span class="keywordtype">int</span> per[MAXPAR] ;</div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> </div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> <span class="comment">/* set permutation array */</span></div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> <span class="keywordflow">for</span> ( i = 0 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> {</div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> per[i] = i ;</div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> }</div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> </div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> <span class="keywordflow">for</span> ( j = 0 ; j < nfree ; j++ ) <span class="comment">/* in j-th column */</span></div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> {</div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> <span class="comment">/* determine largest element of a row */</span> </div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> rowmax = fabs ( matrix2[j][j] ) ;</div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> row = j ; </div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> </div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> <span class="keywordflow">for</span> ( i = j + 1 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> {</div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> <span class="keywordflow">if</span> ( fabs ( matrix2[i][j] ) > rowmax )</div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> {</div>
-<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> rowmax = fabs( matrix2[i][j] ) ;</div>
-<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> row = i ;</div>
-<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> }</div>
-<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> }</div>
-<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> </div>
-<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> <span class="comment">/* determinant is zero! */</span></div>
-<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> <span class="keywordflow">if</span> ( matrix2[row][j] == 0.0 )</div>
-<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> {</div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> <span class="keywordflow">return</span> -6 ;</div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> }</div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> </div>
-<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> <span class="comment">/*if the largest element is not on the diagonal, then permutate rows */</span></div>
-<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> <span class="keywordflow">if</span> ( row > j )</div>
-<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> {</div>
-<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> <span class="keywordflow">for</span> ( k = 0 ; k < nfree ; k++ )</div>
-<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> {</div>
-<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span> even = matrix2[j][k] ;</div>
-<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span> matrix2[j][k] = matrix2[row][k] ;</div>
-<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> matrix2[row][k] = even ;</div>
-<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> }</div>
-<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> <span class="comment">/* keep track of permutation */</span></div>
-<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> evin = per[j] ;</div>
-<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> per[j] = per[row] ;</div>
-<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span> per[row] = evin ;</div>
-<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> }</div>
-<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span> </div>
-<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> <span class="comment">/* modify column */</span></div>
-<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> even = 1.0 / matrix2[j][j] ;</div>
-<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> <span class="keywordflow">for</span> ( i = 0 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> {</div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> matrix2[i][j] *= even ;</div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> }</div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> matrix2[j][j] = even ;</div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> </div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> <span class="keywordflow">for</span> ( k = 0 ; k < j ; k++ )</div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> {</div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> mjk = matrix2[j][k] ;</div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> <span class="keywordflow">for</span> ( i = 0 ; i < j ; i++ )</div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> {</div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> matrix2[i][k] -= matrix2[i][j] * mjk ;</div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> }</div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> <span class="keywordflow">for</span> ( i = j + 1 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> {</div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> matrix2[i][k] -= matrix2[i][j] * mjk ;</div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> }</div>
-<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> matrix2[j][k] = -even * mjk ;</div>
-<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> }</div>
-<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> </div>
-<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> <span class="keywordflow">for</span> ( k = j + 1 ; k < nfree ; k++ )</div>
-<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span> {</div>
-<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> mjk = matrix2[j][k] ;</div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> <span class="keywordflow">for</span> ( i = 0 ; i < j ; i++ )</div>
-<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> {</div>
-<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> matrix2[i][k] -= matrix2[i][j] * mjk ;</div>
-<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> }</div>
-<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> <span class="keywordflow">for</span> ( i = j + 1 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> {</div>
-<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> matrix2[i][k] -= matrix2[i][j] * mjk ;</div>
-<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> }</div>
-<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span> matrix2[j][k] = -even * mjk ;</div>
-<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> }</div>
-<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span> }</div>
-<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> </div>
-<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span> <span class="comment">/* finally, repermute the columns */</span></div>
-<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span> <span class="keywordflow">for</span> ( i = 0 ; i < nfree ; i++ )</div>
-<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> {</div>
-<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span> <span class="keywordflow">for</span> ( k = 0 ; k < nfree ; k++ )</div>
-<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span> {</div>
-<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span> hv[per[k]] = matrix2[i][k] ;</div>
-<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> }</div>
-<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span> <span class="keywordflow">for</span> ( k = 0 ; k < nfree ; k++ )</div>
-<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span> {</div>
-<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> matrix2[i][k] = hv[k] ;</div>
-<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span> }</div>
-<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span> }</div>
-<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span> </div>
-<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span> <span class="comment">/* all is well */</span></div>
-<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span> } </div>
-<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span> </div>
-<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span> </div>
-<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> </div>
-<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span> </div>
-<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> <span class="keywordtype">float</span> new_gaussian ( <span class="keywordtype">float</span> * xdat, <span class="keywordtype">float</span> * parlist<span class="comment">/*, int * npar*/</span> )</div>
-<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> {</div>
-<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> <span class="keywordtype">double</span> xd ; <span class="comment">/* FWHM's of gauss function */</span></div>
-<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> <span class="keywordtype">double</span> x ; <span class="comment">/* position */</span></div>
-<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> </div>
-<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> xd = fabs((<span class="keywordtype">double</span>) parlist[1]) ;</div>
-<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> x = (double) xdat[0] - (<span class="keywordtype">double</span>) parlist[2] ;</div>
-<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> <span class="keywordflow">return</span> (<span class="keywordtype">float</span>) (</div>
-<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> (double) parlist[0] * exp( -4.0 * log(2.0) * (x/xd) * (x/xd) )</div>
-<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> + (<span class="keywordtype">double</span>) parlist[3] ) ;</div>
-<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> }</div>
-<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> </div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> </div>
-<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span> new_gaussian_deriv(<span class="keywordtype">float</span> * xdat,<span class="keywordtype">float</span> * parlist,<span class="keywordtype">float</span> * dervs<span class="comment">/*, int * npar*/</span> )</div>
-<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> {</div>
-<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> <span class="keywordtype">double</span> xd ; <span class="comment">/* FWHM of sinfo_gaussian */</span></div>
-<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span> <span class="keywordtype">double</span> x, expon ; <span class="comment">/* position and exponent */</span></div>
-<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> </div>
-<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span> xd = fabs( (<span class="keywordtype">double</span>) parlist[1] ) ;</div>
-<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> </div>
-<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span> <span class="comment">/* offset from peak position */</span></div>
-<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span> x = (double) xdat[0] - (<span class="keywordtype">double</span>) parlist[2] ;</div>
-<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> </div>
-<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span> <span class="comment">/* determine the derivatives: */</span></div>
-<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> expon = -4.0 * log(2.0) * (x/xd) * (x/xd) ;</div>
-<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span> expon = exp( expon ) ;</div>
-<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span> </div>
-<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> <span class="comment">/* partial derivative by the amplitude */</span></div>
-<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> dervs[0] = (float) expon ;</div>
-<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span> </div>
-<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span> <span class="comment">/* calculate a * exp(-arg) */</span></div>
-<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> expon = (double) parlist[0] * expon ;</div>
-<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span> </div>
-<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span> <span class="comment">/* partial derivative by FWHM */</span></div>
-<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span> dervs[1] = (float) ( expon * 8.0 * log(2.0) * x*x / (xd*xd*xd) ) ;</div>
-<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span> </div>
-<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span> <span class="comment">/* partial derivative by the x position (parlist[2]) */</span></div>
-<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span> dervs[2] = (float) (expon * 8.0 * log(2.0) * x/(xd*xd) ) ;</div>
-<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span> </div>
-<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span> <span class="comment">/* partial derivative by the zero level */</span></div>
-<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span> dervs[3] = 1.0 ;</div>
-<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span> }</div>
-<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> </div>
-<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span> </div>
-<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span> <span class="comment">/*==================================================================*/</span></div>
-<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> </div>
-<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> </div>
-<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span> sinfo_my_fit(<span class="keywordtype">float</span> x[], <span class="keywordtype">float</span> y[], <span class="keywordtype">int</span> ndata, <span class="keywordtype">float</span> sig[], <span class="keywordtype">int</span> mwt, <span class="keywordtype">float</span> *a, </div>
-<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> <span class="keywordtype">float</span> *b, <span class="keywordtype">float</span> *siga, <span class="keywordtype">float</span> *sigb, <span class="keywordtype">float</span> *chi2, <span class="keywordtype">float</span> *q)</div>
-<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span> {</div>
-<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span> <span class="keywordtype">float</span> wt, t, sxoss, sx=0., sy=0., st2=0., ss, sigdat ;</div>
-<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span> </div>
-<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span> *b = 0. ; <span class="comment">/*accumulate sums ...*/</span></div>
-<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span> <span class="keywordflow">if</span> ( mwt )</div>
-<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span> {</div>
-<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span> ss = 0. ;</div>
-<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span> <span class="keywordflow">for</span> ( i = 0 ; i < ndata ; i++ ) <span class="comment">/*... with weights*/</span></div>
-<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span> {</div>
-<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span> wt = 1./SQR(sig[i]) ;</div>
-<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span> ss += wt ;</div>
-<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span> sx += x[i]*wt ;</div>
-<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span> sy += y[i]*wt ;</div>
-<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span> }</div>
-<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span> }</div>
-<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span> {</div>
-<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span> <span class="keywordflow">for</span> ( i = 0 ; i < ndata ; i++ ) <span class="comment">/*... or without weights*/</span></div>
-<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span> {</div>
-<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span> sx += x[i] ;</div>
-<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span> sy += y[i] ;</div>
-<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span> }</div>
-<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span> ss = ndata ;</div>
-<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span> }</div>
-<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span> sxoss = sx/ss ;</div>
-<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span> </div>
-<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span> <span class="keywordflow">if</span> ( mwt )</div>
-<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span> {</div>
-<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span> <span class="keywordflow">for</span> ( i = 0 ; i < ndata ; i ++ )</div>
-<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span> {</div>
-<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span> t = (x[i] - sxoss)/sig[i] ;</div>
-<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span> st2 += t*t ;</div>
-<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span> *b += t*y[i]/sig[i] ;</div>
-<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span> }</div>
-<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span> }</div>
-<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span> {</div>
-<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span> <span class="keywordflow">for</span> ( i = 0 ; i < ndata ; i++ )</div>
-<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span> {</div>
-<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span> t = x[i] - sxoss ;</div>
-<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span> st2 += t*t ;</div>
-<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span> *b += t*y[i] ; </div>
-<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span> }</div>
-<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span> }</div>
-<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span> </div>
-<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span> *b /= st2 ;</div>
-<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span> *a = (sy - sx*(*b))/ss ;</div>
-<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span> *siga = sqrt ((1.0 + sx*sx/(ss*st2))/ss) ;</div>
-<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span> *sigb = sqrt (1.0/st2) ;</div>
-<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span> *chi2 = 0.0 ; <span class="comment">/*calculate chi-square*/</span></div>
-<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span> <span class="keywordflow">if</span> ( mwt == 0 )</div>
-<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span> {</div>
-<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span> <span class="keywordflow">for</span> ( i = 0 ; i < ndata ; i++ )</div>
-<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span> {</div>
-<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span> *chi2 += SQR (y[i] - (*a) - (*b)*x[i]) ;</div>
-<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span> }</div>
-<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span> *q = 1. ;</div>
-<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span> </div>
-<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span> <span class="comment">/*------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span> <span class="comment"> * for unweighted data evaluate typical sig using chi2, and adjust</span></div>
-<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span> <span class="comment"> * the standard deviation</span></div>
-<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span> sigdat = sqrt ((*chi2)/(ndata - 2)) ;</div>
-<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span> *siga *= sigdat ;</div>
-<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span> *sigb *= sigdat ;</div>
-<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span> }</div>
-<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span> {</div>
-<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span> <span class="keywordflow">for</span> (i = 0 ; i < ndata ; i++)</div>
-<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span> {</div>
-<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span> *chi2 += SQR ((y[i] - (*a) - (*b) * x[i])/sig[i]) ;</div>
-<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span> } </div>
-<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span> *q = 1. ; <span class="comment">/* delete rest of lines. q is not a good value */</span></div>
-<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span> }</div>
-<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span> }</div>
-<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span> </div>
-<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span> <span class="keywordtype">int</span> sinfo_new_correlation ( <span class="keywordtype">float</span> * data1, <span class="keywordtype">float</span> * data2, <span class="keywordtype">int</span> ndata )</div>
-<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span> {</div>
-<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span> <span class="comment">/*float help[3*ndata] ; </span></div>
-<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span> <span class="comment"> float corsum[3*ndata] ;*/</span></div>
-<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span> <span class="keywordtype">float</span>* help=NULL ; </div>
-<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span> <span class="keywordtype">float</span>* corsum=NULL ;</div>
-<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span> <span class="keywordtype">float</span> maxval ;</div>
-<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span> <span class="keywordtype">int</span> i, j, k, position, shift ;</div>
-<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span> <span class="keywordtype">int</span> <span class="comment">/*start,end,size,*/</span>ndata3,limit;</div>
-<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span> </div>
-<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span> </div>
-<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span> <span class="comment">/*ndata3=3*ndata;*/</span></div>
-<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span> ndata3=ndata+300;</div>
-<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span> </div>
-<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span> <span class="keywordflow">if</span> ( NULL == data1 || NULL == data2 || ndata <= 1 )</div>
-<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span> {</div>
-<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong input for sinfo_correlation\n"</span>) ;</div>
-<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span> <span class="keywordflow">return</span> INT32_MAX ;</div>
-<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span> }</div>
-<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span> </div>
-<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span> <span class="comment">/* initialize the help arrays with zeros */</span></div>
-<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span> help=cpl_calloc(ndata+300,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>));</div>
-<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span> <span class="keywordflow">for</span> ( i = 0 ; i < ndata3 ; i++ )</div>
-<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span> {</div>
-<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span> help[i] = 0. ;</div>
-<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span> }</div>
-<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span> </div>
-<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span> <span class="comment">/* shift the second data array by ndata in the help array */</span></div>
-<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span> <span class="keywordflow">for</span> ( i = 0 ; i < ndata ; i++ )</div>
-<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span> {</div>
-<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span> help[(300/2) + i] = data2[i] ;</div>
-<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span> }</div>
-<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span> </div>
-<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span> <span class="comment">/* compute the cross sinfo_correlation sum array */</span></div>
-<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span> corsum=cpl_calloc(ndata+300,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>));</div>
-<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span> <span class="keywordflow">for</span> ( j = 0 ; j < ndata3 ; j++ )</div>
-<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span> {</div>
-<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span> <span class="keywordflow">if</span> ( ndata3-j <= ndata) </div>
-<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span> limit = ndata3-j;</div>
-<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span> limit = ndata;</div>
-<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span> corsum[j] = 0. ;</div>
-<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span> <span class="keywordflow">for</span> ( k = 0 ; k < limit ; k++ )</div>
-<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span> {</div>
-<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span> <span class="comment">/*if ( k + j >= ndata3 )</span></div>
-<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span> <span class="comment"> break ;</span></div>
-<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span> <span class="comment"> }*/</span></div>
-<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span> corsum[j] += data1[k] * help[k + j] ;</div>
-<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span> }</div>
-<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span> }</div>
-<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span> </div>
-<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span> <span class="comment">/* search for the maximal corsum value and determine its position */</span></div>
-<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span> position = -1 ;</div>
-<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span> <span class="keywordflow">for</span> ( i = 0 ; i < ndata3 ; i++ )</div>
-<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span> {</div>
-<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span> <span class="keywordflow">if</span> ( maxval < corsum[i] )</div>
-<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span> {</div>
-<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span> maxval = corsum[i] ;</div>
-<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span> position = i ;</div>
-<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span> }</div>
-<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span> }</div>
-<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span> </div>
-<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span> <span class="comment">/* determine shift of data2 relative to the data1 array */</span></div>
-<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span> shift = position - 300/2 ;</div>
-<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span> cpl_free(help);</div>
-<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span> cpl_free(corsum);</div>
-<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span> </div>
-<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span> <span class="keywordflow">return</span> shift ;</div>
-<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span> }</div>
-<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span> </div>
-<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__recipes_8h_source.html b/html/sinfo__recipes_8h_source.html
deleted file mode 100644
index a2b6788..0000000
--- a/html/sinfo__recipes_8h_source.html
+++ /dev/null
@@ -1,194 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_recipes.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_recipes.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_RECIPES_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_RECIPES_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*******************************************************************************</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* "@(#) $Id: sinfo_recipes.h,v 1.7 2008/02/12 13:29:09 amodigli Exp $"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* schreib 05/06/00 created</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * recipes.h</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * some numerical recipes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <inttypes.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <float.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "sinfo_pixel_handling.h"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> * defines</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/* definitions of initial values for sinfo_lsqfit_c in sinfo_linefit() </span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> (wave_calibration) */</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#define XDIM 1 </span><span class="comment">/* dimension of the x values */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor"></span><span class="preprocessor">#define TOL 0.001 </span><span class="comment">/* fitting tolerance */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor"></span><span class="preprocessor">#define LAB 0.1 </span><span class="comment">/* labda parameter */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor"></span><span class="preprocessor">#define ITS 200 </span><span class="comment">/* maximum number of iterations */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor"></span><span class="preprocessor">#define MAXPAR 4 </span><span class="comment">/* number of free parameters */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor"></span><span class="preprocessor">#define LABFAC 10.0 </span><span class="comment">/* labda step factor */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor"></span><span class="preprocessor">#define LABMAX 1.0e+10 </span><span class="comment">/* maximum value for labda */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor"></span><span class="preprocessor">#define LABMIN 1.0e-10 </span><span class="comment">/* minimum value for labda */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> * Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">double</span> sinfo_nev_ille(<span class="keywordtype">double</span> x[], <span class="keywordtype">double</span> f[], <span class="keywordtype">int</span> n, <span class="keywordtype">double</span> z, <span class="keywordtype">int</span>* flag);</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">float</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> sinfo_new_f_median(<span class="keywordtype">float</span> * array, <span class="keywordtype">int</span> n);</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keywordtype">float</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> sinfo_new_clean_mean( <span class="keywordtype">float</span> * array,</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">int</span> n_elements,</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">float</span> throwaway_low,</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">float</span> throwaway_high ) ;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> pixelvalue </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> sinfo_new_median(pixelvalue * array, <span class="keywordtype">int</span> n) ;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keywordtype">int</span> sinfo_new_lsqfit_c ( <span class="keywordtype">float</span> * xdat,</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordtype">int</span> * xdim,</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordtype">float</span> * ydat,</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordtype">float</span> * wdat,</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keywordtype">int</span> * ndat,</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordtype">float</span> * fpar,</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordtype">float</span> * epar,</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">int</span> * mpar,</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordtype">int</span> * npar,</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordtype">float</span> * tol ,</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordtype">int</span> * its ,</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordtype">float</span> * lab ) ;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> sinfo_my_fit (<span class="keywordtype">float</span> x[], <span class="keywordtype">float</span> y[], <span class="keywordtype">int</span> ndata, <span class="keywordtype">float</span> sig[], <span class="keywordtype">int</span> mwt, <span class="keywordtype">float</span> *a,</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keywordtype">float</span> *b, <span class="keywordtype">float</span> *siga, <span class="keywordtype">float</span> *sigb, <span class="keywordtype">float</span> *chi2, <span class="keywordtype">float</span> *q) ;</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> sinfo_new_nint ( <span class="keywordtype">double</span> x ) ;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> sinfo_new_correlation ( <span class="keywordtype">float</span> * data1, <span class="keywordtype">float</span> * data2, <span class="keywordtype">int</span> ndata ) ;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> sinfo_new_convert_ZEROs_to_0_for_images(cpl_image * im) ;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> sinfo_new_convert_ZEROs_to_0_for_cubes_range(cpl_imagelist * cube,</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_min,</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_max);</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> sinfo_new_convert_0_to_ZERO_for_cubes_range(cpl_imagelist * cube,</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_min,</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keyword">const</span> <span class="keywordtype">int</span> z_max);</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> sinfo_new_convert_ZEROs_to_0_for_cubes(cpl_imagelist * cube) ;</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> sinfo_new_convert_0_to_ZEROs_for_images(cpl_image * im) ;</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> sinfo_new_convert_0_to_ZERO_for_cubes(cpl_imagelist * cube) ;</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="keywordtype">void</span> sinfo_new_invert(cpl_image * im) ;</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keywordtype">double</span> * </div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> sinfo_new_xcorrel(</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="keywordtype">float</span> * line_i,</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="keywordtype">int</span> width_i,</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="keywordtype">float</span> * line_t,</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="keywordtype">int</span> width_t,</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="keywordtype">int</span> half_search,</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="keywordtype">int</span> * delta,</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="keywordtype">int</span> * maxpos,</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keywordtype">double</span> * xcorr_max</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> ) ;</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="keywordtype">float</span> </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> sinfo_new_nev_ille(<span class="keywordtype">float</span> [], <span class="keywordtype">float</span> [], <span class="keywordtype">int</span>, <span class="keywordtype">float</span>, <span class="keywordtype">int</span> *);</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="preprocessor">#endif </span></div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="preprocessor"></span><span class="comment">/*--------------------------------------------------------------------------*/</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="preprocessor"></span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__ref__types_8h_source.html b/html/sinfo__ref__types_8h_source.html
deleted file mode 100644
index 81d010d..0000000
--- a/html/sinfo__ref__types_8h_source.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_ref_types.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_ref_types.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_ref_types.h,v 1.5 2012/08/10 07:55:23 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This proram is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2012/08/10 07:55:23 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.5 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef SINFO_REF_TYPES_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_REF_TYPES_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span>CPL_BEGIN_DECLS</div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/* reference frames */</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#define RAW_REF "REF"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span><span class="preprocessor">#define REF_LINE_ARC "REF_LINE_ARC"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor"></span><span class="preprocessor">#define REF_LINE_OH "REF_LINE_OH"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor"></span><span class="preprocessor">#define REF_BP_MAP "REF_BP_MAP"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"></span><span class="preprocessor">#define REF_SLIT_POS "REF_SLIT_POS"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor"></span><span class="preprocessor">#define DRS_SETUP_WAVE "DRS_SETUP_WAVE"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor"></span><span class="preprocessor">#define EXTCOEFF_TABLE "EXTCOEFF_TABLE"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor"></span><span class="preprocessor">#define FLUX_STD_TABLE "FLUX_STD_TABLE"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor"></span><span class="comment">/* catalog of flux of standard stars*/</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#define FLUX_STD_CATALOG "FLUX_STD_CATALOG"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> CPL_END_DECLS</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__remove__crh__single_8c_source.html b/html/sinfo__remove__crh__single_8c_source.html
deleted file mode 100644
index 8735401..0000000
--- a/html/sinfo__remove__crh__single_8c_source.html
+++ /dev/null
@@ -1,514 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_remove_crh_single.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_remove_crh_single.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* *</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO X-shooter Pipeline *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2006 European Southern Observatory *</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This library is free software; you can redistribute it and/or modify *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or *</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version. *</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful, *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details. *</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA *</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"></span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2012/03/03 10:18:26 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.5 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Log: sinfo_remove_crh_single.c,v $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * Revision 1.5 2012/03/03 10:18:26 amodigli</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * fixed some doxygen warnings</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> * Revision 1.4 2010/12/29 12:29:05 amodigli</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> * fixed doxygen warning, and bug in kernel filter indexing</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * Revision 1.3 2009/09/03 15:04:48 kmirny</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * replacing deprecated functions</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> * Revision 1.2 2009/02/18 10:33:07 amodigli</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> * fixed compiler warning</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * Revision 1.1 2009/01/02 08:27:58 amodigli</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> * added to repository</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">-----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">#include "sinfo_utilities.h"</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> cpl_image * sinfo_remove_crh_single( cpl_image * sci_image,</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">double</span> crh_frac_max,</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">double</span> sigma_lim,</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">double</span> f_lim,</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">int</span> max_iter,</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">double</span> gain,</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">double</span> ron);</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"> Implementation</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">/* This should be defined in a more clever way, a parameter for example */</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="preprocessor">#define MAX_ITERATIONS 6</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> cpl_image * sinfo_remove_crh_single( cpl_image * sci_image,</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">double</span> crh_frac_max,</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">double</span> sigma_lim,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keywordtype">double</span> f_lim,</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordtype">int</span> max_iter,</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">double</span> gain,</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">double</span> ron)</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> {</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">int</span> i,j,k,l,m;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordtype">double</span> frac = 0. ;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">/* Only pointers */</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment">/* Need to be free */</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment">//xsh_localization_list * loc_list = NULL ;</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> cpl_image* laplacian_image = NULL;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> cpl_image* laplacian_redu_image = NULL;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> cpl_image* two_sub_sample = NULL;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> cpl_image* sci_median5_image = NULL;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> cpl_image* noise_image = NULL;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> cpl_image* s_image = NULL;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> cpl_image* s_median_image = NULL;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> cpl_image* s2_image = NULL;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> cpl_image* sci_median3_image = NULL;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> cpl_image* sci_median3_7_image = NULL;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> cpl_image* f_image = NULL;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> cpl_image* r_image = NULL;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordtype">int</span> two_sub_sample_nx = 0;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordtype">int</span> two_sub_sample_ny = 0;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment">/* Only pointers */</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keywordtype">float</span>* sci_data = NULL;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordtype">float</span>* two_sub_sample_data = NULL;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordtype">float</span>* laplacian_data = NULL;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">float</span>* laplacian_redu_data = NULL;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordtype">float</span>* sci_median5_data = NULL;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordtype">float</span>* sci_median3_data = NULL;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordtype">float</span>* sci_median3_7_data = NULL;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordtype">float</span>* noise_data = NULL;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordtype">float</span>* s_data = NULL;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordtype">float</span>* s_median_data = NULL;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordtype">float</span>* s2_data = NULL;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordtype">float</span>* f_data = NULL;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordtype">float</span>* r_data = NULL;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment">/* Need to be free */</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keywordtype">float</span>* cosmic_data = NULL;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> cpl_matrix* laplacian_kernel = NULL;</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> cpl_matrix* median3_kernel = NULL;</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> cpl_matrix* median5_kernel = NULL;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> cpl_matrix* median7_kernel = NULL;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordtype">int</span> new_crh =1, nb_crh = 0;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordtype">int</span> nbiter = 1 ;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> cpl_vector* median = NULL;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment">//const char * tag = NULL ;</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordtype">int</span> nx=0;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordtype">int</span> ny=0;</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> cpl_image* res_image=NULL;</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment">/* Check parameters */</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> cknull( sci_image,<span class="stringliteral">"null input image"</span> ) ; ;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> sinfo_msg( <span class="stringliteral">"Entering sinfo_remove_crh_single"</span>);</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> sinfo_msg( <span class="stringliteral">" Params: frac_max %.1f, sigma_lim %.2f f_lim %.2f, iter %d"</span>,</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> crh_frac_max, sigma_lim, f_lim, max_iter);</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment">/* Preparing different kernels */</span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> nx=cpl_image_get_size_x(sci_image);</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> ny=cpl_image_get_size_y(sci_image);</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment">/* Laplacian */</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> check_nomsg( laplacian_kernel = cpl_matrix_new(3,3));</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> cpl_matrix_set( laplacian_kernel,0,0,0.0);</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> cpl_matrix_set( laplacian_kernel,0,1,-1.0);</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> cpl_matrix_set( laplacian_kernel,0,2,0.0);</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> cpl_matrix_set( laplacian_kernel,1,0,-1.0);</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> cpl_matrix_set( laplacian_kernel,1,1,4.0);</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> cpl_matrix_set( laplacian_kernel,1,2,-1.0);</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> cpl_matrix_set( laplacian_kernel,2,0,0.0);</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> cpl_matrix_set( laplacian_kernel,2,1,-1.0);</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> cpl_matrix_set( laplacian_kernel,2,2,0.0);</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> cpl_matrix_divide_scalar( laplacian_kernel, 4.0);</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment"> cpl_matrix_set( laplacian_kernel,0,0,-1.0);</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="comment"> cpl_matrix_set( laplacian_kernel,0,1,-1.0);</span></div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment"> cpl_matrix_set( laplacian_kernel,0,2,-1.0);</span></div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment"> cpl_matrix_set( laplacian_kernel,1,0,-1.0);</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment"> cpl_matrix_set( laplacian_kernel,1,1,8.0);</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment"> cpl_matrix_set( laplacian_kernel,1,2,-1.0);</span></div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment"> cpl_matrix_set( laplacian_kernel,2,0,-1.0);</span></div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment"> cpl_matrix_set( laplacian_kernel,2,1,-1.0);</span></div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment"> cpl_matrix_set( laplacian_kernel,2,2,-1.0);</span></div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="comment"> cpl_matrix_divide_scalar( laplacian_kernel, 8.0);</span></div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment">/* Median 3x3*/</span></div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> check_nomsg( median3_kernel = cpl_matrix_new(3,3));</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keywordflow">for</span>(j=0; j< 3; j++){</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="keywordflow">for</span>(i=0; i< 3; i++){</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> cpl_matrix_set( median3_kernel, i,j,1.0);</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> }</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> }</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment">/* Median 5x5 */</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> check_nomsg( median5_kernel = cpl_matrix_new(5,5));</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keywordflow">for</span>(j=0; j< 5; j++){</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keywordflow">for</span>(i=0; i< 5; i++){</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> cpl_matrix_set( median5_kernel, i,j,1.0);</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> }</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> }</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="comment">/* Median 7x7 */</span></div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> check_nomsg( median7_kernel = cpl_matrix_new(7,7));</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keywordflow">for</span>(j=0; j< 7; j++){</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordflow">for</span>(i=0; i< 7; i++){</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> cpl_matrix_set( median7_kernel, i,j,1.0);</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> }</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> }</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> check_nomsg (res_image = cpl_image_duplicate( sci_image));</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="comment">/* Allocate images and pointers */</span></div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> check_nomsg (sci_data = cpl_image_get_data_float( res_image));</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> two_sub_sample_nx = nx*2;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> two_sub_sample_ny = ny*2;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> check_nomsg( two_sub_sample = cpl_image_new( two_sub_sample_nx,</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> two_sub_sample_ny, CPL_TYPE_FLOAT));</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> check_nomsg(two_sub_sample_data = cpl_image_get_data_float( two_sub_sample));</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> check_nomsg( laplacian_redu_image = cpl_image_new(nx,ny, CPL_TYPE_FLOAT));</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> check_nomsg(laplacian_redu_data = cpl_image_get_data_float(</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> laplacian_redu_image));</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> check_nomsg( noise_image = cpl_image_new(nx,ny, CPL_TYPE_FLOAT));</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> check_nomsg( noise_data = cpl_image_get_data_float( noise_image));</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> check_nomsg( s_image = cpl_image_new(nx,ny, CPL_TYPE_FLOAT));</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> check_nomsg( s_data = cpl_image_get_data_float( s_image));</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> check_nomsg( s2_image = cpl_image_new(nx,ny, CPL_TYPE_FLOAT));</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> check_nomsg( s2_data = cpl_image_get_data_float( s2_image));</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> check_nomsg( f_image = cpl_image_new(nx,ny, CPL_TYPE_FLOAT));</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> check_nomsg( f_data = cpl_image_get_data_float( f_image));</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> check_nomsg( r_image = cpl_image_new(nx,ny, CPL_TYPE_FLOAT));</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> check_nomsg( r_data = cpl_image_get_data_float( r_image));</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> cosmic_data=cpl_calloc(nx*ny, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>));</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="comment">/* LGG - Added limit on frac_max AND limit on nb iterations */</span></div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keywordflow">while</span>( new_crh > 0 && frac < crh_frac_max && nbiter <= max_iter ){</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> sinfo_msg(<span class="stringliteral">"Iteration %d"</span>,nbiter );</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="comment">/* Create a 2n x 2n images like this</span></div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="comment"> | 1 | 2 | => | 1 | 1 | 2 | 2 |</span></div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="comment"> | 3 | 4 | | 1 | 1 | 2 | 2 |</span></div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="comment"> | 3 | 3 | 4 | 4 |</span></div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="comment"> | 3 | 3 | 4 | 4 | */</span></div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Create a 2n images"</span>);</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keywordflow">for</span>( j=0; j< ny; j++){</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="keywordflow">for</span>( i=0; i< nx; i++){</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="keywordtype">float</span> val = sci_data[i+j*nx];</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">if</span> ( val < 0. ) val = 0. ;</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> two_sub_sample_data[i*2+j*2*two_sub_sample_nx] = val;</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> two_sub_sample_data[i*2+1+j*2*two_sub_sample_nx] = val;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> two_sub_sample_data[i*2+(j*2+1)*two_sub_sample_nx] = val;</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> two_sub_sample_data[i*2+1+(j*2+1)*two_sub_sample_nx] = val;</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> }</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> }</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Doing laplacian convolution"</span>);</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment">/* Doing the laplacian convolution</span></div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="comment"> 0 -1 0</span></div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="comment"> -1 4 -1</span></div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="comment"> 0 -1 0 */</span></div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> laplacian_image = sinfo_image_filter_linear( two_sub_sample,</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> laplacian_kernel);</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="comment">/* multiply by two to normalize correctly the laplacian [RD5]</span></div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="comment"> and filter negative values */</span></div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Normalize laplacian"</span>);</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> check_nomsg (laplacian_data = cpl_image_get_data_float( laplacian_image));</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="keywordflow">for</span> ( i=0; i< two_sub_sample_nx*two_sub_sample_ny; i++){</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keywordflow">if</span> (laplacian_data[i] > 0.0){</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> laplacian_data[i] = 2.0 * laplacian_data[i];</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> }</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="keywordflow">else</span>{</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> laplacian_data[i] = 0.0;</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> }</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> }</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Save Lpositive"</span>);</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> cpl_image_save(laplacian_image, <span class="stringliteral">"Lpositive.fits"</span>, CPL_BPP_IEEE_FLOAT, NULL,</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> CPL_IO_DEFAULT);</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="comment">/* resample to the original size</span></div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="comment"> | 1 | 1 | 2 | 2 | | 1 | 2 |</span></div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="comment"> | 1 | 1 | 2 | 2 | | 3 | 4 |</span></div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="comment"> | 3 | 3 | 4 | 4 | =></span></div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="comment"> | 3 | 3 | 4 | 4 | */</span></div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Resample to the original size"</span>);</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keywordflow">for</span>( j=0; j< ny; j++){</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="keywordflow">for</span>( i=0; i< nx; i++){</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> laplacian_redu_data[i+j*nx] =</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> (laplacian_data[i*2+j*2*two_sub_sample_nx]+</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> laplacian_data[i*2+1+j*2*two_sub_sample_nx]+</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> laplacian_data[i*2+(j*2+1)*two_sub_sample_nx]+</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> laplacian_data[i*2+1+(j*2+1)*two_sub_sample_nx])/4.0;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> }</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> }</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> cpl_image_save(laplacian_redu_image, <span class="stringliteral">"Lplus.fits"</span>, CPL_BPP_IEEE_FLOAT,</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> NULL, CPL_IO_DEFAULT);</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Apply median filter"</span>);</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="comment">/* Apply 5x5 median filter on data */</span></div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> check_nomsg( sci_median5_image = sinfo_image_filter_median( sci_image,</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> median5_kernel));</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> check_nomsg (sci_median5_data = cpl_image_get_data_float( sci_median5_image));</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> </div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Compute noise"</span>);</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="comment">/* computes the noise image */</span></div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="keywordflow">for</span>( i=0; i< nx*ny; i++){</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> noise_data[i] = sqrt(sci_median5_data[i]*gain+</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> ron*ron)/ gain;</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> }</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Compute S"</span>);</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="comment">/* compute S image */</span></div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="keywordflow">for</span>( i=0; i< nx*ny; i++){</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> s_data[i] = laplacian_redu_data[i] / (2.0*noise_data[i]);</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> }</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Compute S median"</span>);</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="comment">/* compute S median image */</span></div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> check_nomsg( s_median_image = sinfo_image_filter_median( s_image,</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> median5_kernel));</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> check_nomsg( s_median_data = cpl_image_get_data_float( s_median_image));</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> </div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Compute s2"</span>);</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="comment">/* compute s2 */</span></div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="keywordflow">for</span>( i=0; i< nx*ny; i++){</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> s2_data[i] = s_data[i] -s_median_data[i];</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> }</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> cpl_image_save( s2_image, <span class="stringliteral">"S2.fits"</span>, CPL_BPP_IEEE_FLOAT, NULL,</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> CPL_IO_DEFAULT);</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Apply 3x3 filter"</span>);</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="comment">/* Apply 3x3 median filter on data */</span></div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> check_nomsg( sci_median3_image = sinfo_image_filter_median( sci_image,</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> median3_kernel));</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Apply 7x7 filter"</span>);</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="comment">/* Apply 7x7 median filter */</span></div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> check_nomsg( sci_median3_7_image = sinfo_image_filter_median( sci_median3_image,</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> median7_kernel));</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Apply 7x7 filter ok"</span>);</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> check_nomsg ( sci_median3_data = cpl_image_get_data_float( sci_median3_image));</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> check_nomsg ( sci_median3_7_data = cpl_image_get_data_float(</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> sci_median3_7_image));</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> </div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Compute F"</span>);</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="comment">/* compute F */</span></div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keywordflow">for</span>( i=0; i< nx*ny; i++){</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> f_data[i] = sci_median3_data[i] -sci_median3_7_data[i];</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordflow">if</span> (f_data[i] < 0.01){</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> f_data[i] = 0.01;</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> }</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> }</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> cpl_image_save( f_image, <span class="stringliteral">"F.fits"</span>, CPL_BPP_IEEE_FLOAT, NULL,</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> CPL_IO_DEFAULT);</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Compute R"</span>);</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="comment">/* compute R */</span></div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="keywordflow">for</span>( i=0; i< nx*ny; i++){</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> r_data[i] = laplacian_redu_data[i]/f_data[i];</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> }</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> cpl_image_save( r_image, <span class="stringliteral">"R.fits"</span>, CPL_BPP_IEEE_FLOAT, NULL,</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> CPL_IO_DEFAULT);</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="comment">/* Search for cosmics */</span></div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Search for cosmic"</span>);</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> new_crh = 0;</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> median = cpl_vector_new(24);</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> </div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keywordflow">for</span>( j=1; j< ny-1; j++){</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="keywordtype">double</span> *data = NULL;</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> cpl_vector* med_vect = NULL;</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> </div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="keywordflow">for</span>( i=1; i< nx-1; i++){</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="keywordflow">if</span> ( (s2_data[i+j*nx] >= sigma_lim) &&</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> (r_data[i+j*nx] >= f_lim)){</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="keywordtype">int</span> li,lj,ui,uj;</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> cosmic_data[i+j*nx] = 1.0;</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> new_crh++;</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> li = i-2;</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> lj = j-2;</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> ui = i+2;</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> uj = j+2;</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> m = 0;</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="keywordflow">if</span> (li < 0) li = 0;</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="keywordflow">if</span> (ui >= nx) ui = nx-1;</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="keywordflow">if</span> (lj < 0) lj = 0;</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="keywordflow">if</span> (uj >= ny) uj = ny-1;</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="keywordflow">for</span>( k=lj; k <= uj; k++){</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="keywordflow">for</span>( l=li; l <= ui; l++){</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="comment">//sinfo_msg("REGDEBUG k %d l %d m %d", k, l, m);</span></div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="keywordflow">if</span> ( k < j){</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> cpl_vector_set(median, m, sci_data[l+k*nx]);</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> m++;</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> }</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( (k == j) && ( l < i)){</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> cpl_vector_set(median, m, sci_data[l+k*nx]);</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> m++;</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> }</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( l!=i && k!=j && (s2_data[l+k*nx] < sigma_lim)</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> && (r_data[l+k*nx] < f_lim)){</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> cpl_vector_set(median, m, sci_data[l+k*nx]);</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> m++;</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> }</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> }</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> }</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> check_nomsg( data = cpl_vector_get_data( median));</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"REGDEBUG i %d j %d m %d"</span>, i, j ,m);</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> check_nomsg( med_vect = cpl_vector_wrap( m, data));</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> check_nomsg( sci_data[i+j*nx] = cpl_vector_get_median( med_vect));</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> cpl_vector_unwrap( med_vect);</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> }</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> }</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> }</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> sinfoni_free_vector( &median ) ;</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> nb_crh += new_crh;</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> frac = (double)nb_crh/(<span class="keywordtype">double</span>)(nx*ny) ;</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> sinfo_msg(<span class="stringliteral">" new cosmics %d, total %d, frac %.4f [%d pixels]"</span>,new_crh,nb_crh,</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> frac, nx*ny);</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> nbiter++;</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> sinfo_free_image( &laplacian_image);</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> sinfo_free_image( &sci_median3_7_image ) ;</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> sinfo_free_image( &sci_median3_image ) ;</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> sinfo_free_image( &s_median_image ) ;</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> sinfo_free_image( &sci_median5_image ) ;</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> }</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> {</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> FILE *debug = NULL;</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> </div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> debug = fopen(<span class="stringliteral">"cosmic.log"</span>,<span class="stringliteral">"w"</span>);</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> </div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="keywordflow">for</span>( j=0; j< ny; j++){</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <span class="keywordflow">for</span>( i=0; i< nx; i++){</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="keywordflow">if</span> ( cosmic_data[i+j*nx] == 1.0){</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> fprintf(debug,<span class="stringliteral">"%.1f %.1f\n"</span>,i+1.0,j+1.0);</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> }</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> }</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> }</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> fclose(debug);</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> }</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> </div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> <span class="comment">//check_nomsg( res_frame = cpl_frame_duplicate( sci_frame ) ) ;</span></div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> <span class="comment">//sinfo_msg( "Saving Result Frame '%s'", res_name ) ;</span></div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <span class="comment">//check_nomsg( add_qc_crh( sci_pre, nb_crh, 1, instrument ) ) ;</span></div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="comment">//check_nomsg( res_frame = xsh_pre_save( sci_pre, res_name, 1 ) ) ;</span></div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="comment">//tag = cpl_frame_get_tag( in_sci_frame ) ;</span></div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="comment">//check_nomsg( cpl_frame_set_tag( res_frame, tag ) ) ;</span></div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> cleanup:</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="comment">//xsh_pre_free( &sci_pre);</span></div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="comment">//xsh_localization_list_free( &loc_list ) ;</span></div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> </div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="comment">/* free kernel */</span></div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> sinfoni_free_matrix( &laplacian_kernel);</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> sinfoni_free_matrix( &median3_kernel);</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> sinfoni_free_matrix( &median5_kernel);</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> sinfoni_free_matrix( &median7_kernel);</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="comment">/* free images */</span></div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> sinfo_free_image( &laplacian_image);</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> sinfo_free_image( &laplacian_redu_image);</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> sinfo_free_image( &two_sub_sample);</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> sinfo_free_image( &sci_median5_image);</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> sinfo_free_image( &noise_image);</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> sinfo_free_image( &s_image);</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> sinfo_free_image( &s_median_image);</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> sinfo_free_image( &s2_image);</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> sinfo_free_image( &sci_median3_image);</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> sinfo_free_image( &sci_median3_7_image);</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> sinfo_free_image( &f_image);</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> sinfo_free_image( &r_image);</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="comment">/* free vector */</span></div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> sinfoni_free_vector( &median);</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="comment">/* free tab */</span></div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="keywordflow">if</span>(cosmic_data!=NULL) cpl_free( cosmic_data);</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="keywordflow">return</span> res_image;</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__remove__crh__single_8h_source.html b/html/sinfo__remove__crh__single_8h_source.html
deleted file mode 100644
index 2ea1f95..0000000
--- a/html/sinfo__remove__crh__single_8h_source.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_remove_crh_single.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_remove_crh_single.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> cpl_image * sinfo_remove_crh_single( cpl_image * sci_image, </div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="keywordtype">double</span> frac_max,</div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="keywordtype">double</span> sigma_lim,</div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="keywordtype">double</span> f_lim,</div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="keywordtype">int</span> max_iter,</div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="keywordtype">double</span> gain,</div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="keywordtype">double</span> ron);</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__resampling_8c_source.html b/html/sinfo__resampling_8c_source.html
deleted file mode 100644
index 0b41c9c..0000000
--- a/html/sinfo__resampling_8c_source.html
+++ /dev/null
@@ -1,320 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_resampling.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_resampling.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : resampling.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Nicolas Devillard</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Jan 04, 1996</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : resampling routines</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> $Id: sinfo_resampling.c,v 1.6 2012/03/03 10:18:26 amodigli Exp $</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> $Author: amodigli $</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> $Date: 2012/03/03 10:18:26 $</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> $Revision: 1.6 $</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_resampling.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> Private functions</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">static</span> <span class="keywordtype">void</span> reverse_tanh_kernel(<span class="keywordtype">double</span> * data, <span class="keywordtype">int</span> nn) ;</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">static</span> <span class="keywordtype">double</span> * sinfo_generate_tanh_kernel(<span class="keywordtype">double</span> steep);</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">double</span> *</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> sinfo_generate_interpolation_kernel(<span class="keyword">const</span> <span class="keywordtype">char</span> * kernel_type)</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> {</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">double</span> * tab ;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordtype">double</span> x ;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordtype">double</span> alpha ;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">double</span> inv_norm ;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">int</span> samples = KERNEL_SAMPLES ;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordflow">if</span> (kernel_type==NULL) {</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> tab = sinfo_generate_interpolation_kernel(<span class="stringliteral">"tanh"</span>) ;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(kernel_type, <span class="stringliteral">"default"</span>)) {</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> tab = sinfo_generate_interpolation_kernel(<span class="stringliteral">"tanh"</span>) ;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(kernel_type, <span class="stringliteral">"sinc"</span>)) {</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> tab = cpl_malloc(samples * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> tab[0] = 1.0 ;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> tab[samples-1] = 0.0 ;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordflow">for</span> (i=1 ; i<samples ; i++) {</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> x = (double)KERNEL_WIDTH * (<span class="keywordtype">double</span>)i/(double)(samples-1) ;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> tab[i] = sinfo_sinc(x) ;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> }</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(kernel_type, <span class="stringliteral">"sinc2"</span>)) {</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> tab = cpl_malloc(samples * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> tab[0] = 1.0 ;</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> tab[samples-1] = 0.0 ;</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordflow">for</span> (i=1 ; i<samples ; i++) {</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> x = 2.0 * (double)i/(<span class="keywordtype">double</span>)(samples-1) ;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> tab[i] = sinfo_sinc(x) ;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> tab[i] *= tab[i] ;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> }</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(kernel_type, <span class="stringliteral">"lanczos"</span>)) {</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> tab = cpl_malloc(samples * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordflow">for</span> (i=0 ; i<samples ; i++) {</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> x = (double)KERNEL_WIDTH * (<span class="keywordtype">double</span>)i/(double)(samples-1) ;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordflow">if</span> (fabs(x)<2) {</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> tab[i] = sinfo_sinc(x) * sinfo_sinc(x/2) ;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> tab[i] = 0.00 ;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> }</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> }</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(kernel_type, <span class="stringliteral">"hamming"</span>)) {</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> tab = cpl_malloc(samples * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> alpha = 0.54 ;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> inv_norm = 1.00 / (double)(samples - 1) ;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordflow">for</span> (i=0 ; i<samples ; i++) {</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> x = (double)i ;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">if</span> (i<(samples-1)/2) {</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> tab[i] = alpha + (1-alpha) * cos(2.0*PI_NUMB*x*inv_norm) ;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> tab[i] = 0.0 ;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> }</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> }</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(kernel_type, <span class="stringliteral">"hann"</span>)) {</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> tab = cpl_malloc(samples * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> alpha = 0.50 ;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> inv_norm = 1.00 / (double)(samples - 1) ;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordflow">for</span> (i=0 ; i<samples ; i++) {</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> x = (double)i ;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordflow">if</span> (i<(samples-1)/2) {</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> tab[i] = alpha + (1-alpha) * cos(2.0*PI_NUMB*x*inv_norm) ;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> tab[i] = 0.0 ;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> }</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> }</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(kernel_type, <span class="stringliteral">"tanh"</span>)) {</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> tab = sinfo_generate_tanh_kernel(TANH_STEEPNESS) ;</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"unrecognized kernel type [%s]: aborting generation"</span>,</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> kernel_type) ;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> }</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keywordflow">return</span> tab ;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> }</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> sinfo_sinc(<span class="keywordtype">double</span> x)</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> {</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">if</span> (fabs(x)<1e-4)</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordflow">return</span> (<span class="keywordtype">double</span>)1.00 ;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keywordflow">return</span> ((sin(x * (<span class="keywordtype">double</span>)PI_NUMB)) / (x * (<span class="keywordtype">double</span>)PI_NUMB)) ;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> }</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="preprocessor">#define hk_gen(x,s) (((tanh(s*(x+0.5))+1)/2)*((tanh(s*(-x+0.5))+1)/2))</span></div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keyword">static</span> <span class="keywordtype">double</span> * </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> sinfo_generate_tanh_kernel(<span class="keywordtype">double</span> steep)</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> {</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keywordtype">double</span> * kernel ;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keywordtype">double</span> * x ;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keywordtype">double</span> width ;</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keywordtype">double</span> inv_np ;</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordtype">double</span> ind ;</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="keywordtype">int</span> np ;</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keywordtype">int</span> samples ;</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> width = (double)TABSPERPIX / 2.0 ; </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> samples = KERNEL_SAMPLES ;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> np = 32768 ; <span class="comment">/* Hardcoded: should never be changed */</span></div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> inv_np = 1.00 / (double)np ;</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="comment"> * Generate the kernel expression in Fourier space</span></div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="comment"> * with a correct frequency ordering to allow standard FT</span></div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> x = cpl_malloc((2*np+1)*<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keywordflow">for</span> (i=0 ; i<np/2 ; i++) {</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> ind = (double)i * 2.0 * width * inv_np ;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> x[2*i] = hk_gen(ind, steep) ;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> x[2*i+1] = 0.00 ;</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> }</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordflow">for</span> (i=np/2 ; i<np ; i++) {</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> ind = (double)(i-np) * 2.0 * width * inv_np ;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> x[2*i] = hk_gen(ind, steep) ;</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> x[2*i+1] = 0.00 ;</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> }</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="comment"> * Reverse Fourier to come back to image space</span></div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> reverse_tanh_kernel(x, np) ;</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="comment"> * Allocate and fill in returned array</span></div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> kernel = cpl_malloc(samples * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="keywordflow">for</span> (i=0 ; i<samples ; i++) {</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> kernel[i] = 2.0 * width * x[2*i] * inv_np ;</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> }</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> cpl_free(x) ;</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="keywordflow">return</span> kernel ;</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> }</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="preprocessor">#define KERNEL_SW(a,b) tempr=(a);(a)=(b);(b)=tempr</span></div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="preprocessor"></span><span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> reverse_tanh_kernel(<span class="keywordtype">double</span> * data, <span class="keywordtype">int</span> nn)</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> {</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> n,</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> mmax,</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> m,</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> i, j,</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> istep ;</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keywordtype">double</span> wtemp,</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> wr,</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> wpr,</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> wpi,</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> wi,</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> theta;</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keywordtype">double</span> tempr,</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> tempi;</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> n = (<span class="keywordtype">unsigned</span> long)nn << 1;</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> j = 1;</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="keywordflow">for</span> (i=1 ; i<n ; i+=2) {</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="keywordflow">if</span> (j > i) {</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> KERNEL_SW(data[j-1],data[i-1]);</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> KERNEL_SW(data[j],data[i]);</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> }</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> m = n >> 1;</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="keywordflow">while</span> (m>=2 && j>m) {</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> j -= m;</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> m >>= 1;</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> }</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> j += m;</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> }</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> mmax = 2;</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="keywordflow">while</span> (n > mmax) {</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> istep = mmax << 1;</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> theta = 2 * PI_NUMB / mmax;</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> wtemp = sin(0.5 * theta);</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> wpr = -2.0 * wtemp * wtemp;</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> wpi = sin(theta);</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> wr = 1.0;</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> wi = 0.0;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="keywordflow">for</span> (m=1 ; m<mmax ; m+=2) {</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="keywordflow">for</span> (i=m ; i<=n ; i+=istep) {</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> j = i + mmax;</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> tempr = wr * data[j-1] - wi * data[j];</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> tempi = wr * data[j] + wi * data[j-1];</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> data[j-1] = data[i-1] - tempr;</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> data[j] = data[i] - tempi;</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> data[i-1] += tempr;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> data[i] += tempi;</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> }</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> wr = (wtemp = wr) * wpr - wi * wpi + wr;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> wi = wi * wpr + wtemp * wpi + wi;</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> }</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> mmax = istep;</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> }</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> }</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="preprocessor">#undef KERNEL_SW</span></div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="keywordtype">double</span> *</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> sinfo_invert_linear_transform(<span class="keywordtype">double</span> *trans)</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> {</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordtype">double</span> * i_trans ;</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="keywordtype">double</span> det ;</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="keywordflow">if</span> (trans==NULL) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> det = (trans[0] * trans[4]) - (trans[1] * trans[3]) ;</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="keywordflow">if</span> (fabs(det) < 1e-6) {</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"NULL determinant: cannot sinfo_invert transform"</span>) ;</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> }</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> </div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> i_trans = cpl_calloc(6, <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> i_trans[0] = trans[4] / det ; </div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> i_trans[1] = -trans[1] / det ;</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> i_trans[2] = ((trans[1] * trans[5]) - (trans[2] * trans[4])) / det ;</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> i_trans[3] = -trans[3] / det ;</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> i_trans[4] = trans[0] / det ;</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> i_trans[5] = ((trans[2] * trans[3]) - (trans[0] * trans[5])) / det ;</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="keywordflow">return</span> i_trans ;</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__resampling_8h_source.html b/html/sinfo__resampling_8h_source.html
deleted file mode 100644
index 8ccc3cc..0000000
--- a/html/sinfo__resampling_8h_source.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_resampling.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_resampling.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_resampling.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Nicolas Devillard</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Jan 04, 1996</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : resampling routines</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> $Id: sinfo_resampling.h,v 1.4 2007/06/06 07:10:45 amodigli Exp $</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> $Author: amodigli $</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> $Date: 2007/06/06 07:10:45 $</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> $Revision: 1.4 $</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#ifndef SINFO_RESAMPLING_H</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_RESAMPLING_H</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#define TRANSFO_AFFINE 0</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor"></span><span class="preprocessor">#define TRANSFO_DEG2 1</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor"></span><span class="preprocessor">#define TRANSFO_HOMOGRAPHIC 2</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/* Number of pixels set to 0 by the shift resampling */</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#define SHIFT_REJECT_L 2</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor"></span><span class="preprocessor">#define SHIFT_REJECT_R 2</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor"></span><span class="preprocessor">#define SHIFT_REJECT_T 2</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor"></span><span class="preprocessor">#define SHIFT_REJECT_B 2</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> * Kernel definition in terms of sampling</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">/* Number of tabulations in kernel */</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#define TABSPERPIX (1000)</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor"></span><span class="preprocessor">#define KERNEL_WIDTH (2.0)</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor"></span><span class="preprocessor">#define KERNEL_SAMPLES (1+(int)(TABSPERPIX * KERNEL_WIDTH))</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">#define TANH_STEEPNESS (5.0)</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">double</span> *</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> sinfo_generate_interpolation_kernel(<span class="keyword">const</span> <span class="keywordtype">char</span> * kernel_type) ;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> sinfo_sinc(<span class="keywordtype">double</span> x) ;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordtype">double</span> *</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> sinfo_invert_linear_transform(<span class="keywordtype">double</span> *trans) ;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__shift__images_8c_source.html b/html/sinfo__shift__images_8c_source.html
deleted file mode 100644
index 33d3571..0000000
--- a/html/sinfo__shift__images_8c_source.html
+++ /dev/null
@@ -1,780 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_shift_images.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_shift_images.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*************************************************************************</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* schreib 05/03/03 created</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">* NAME</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">* sinfo_shift_images.c -</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">* some procedures to shift images in spectral direction</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">* SYNOPSIS</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">* #include "sinfo_shift_images.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">* 1) double sinfo_new_determine_shift_by_correlation ( cpl_image * refImage, </span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">* cpl_image * shiftedImage )</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">* 2) cpl_image * sinfo_new_shift_image_in_spec ( cpl_image * shiftedImage, </span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> double shift, </span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> double * sub_shift )</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">* 3) cpl_image * </span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> sinfo_new_fine_shift_image_in_spec_poly(cpl_image * shiftedImage, </span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> double sub_shift, </span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> int order )</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">* 4) cpl_image * </span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> sinfo_new_fine_shift_image_in_spec_cubicspline(cpl_image * shiftedImage, </span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> double sub_shift )</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">* 5) cpl_imagelist * sinfo_align_cube_to_reference(cpl_imagelist * cube, </span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">* cpl_image * refIm,</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">* int order,</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">* int shift_indicator )</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">* DESCRIPTION</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">* 1) determines the sub-pixel shift of to emission line</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">* frames by cross sinfo_correlation and fitting the sinfo_correlation</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">* function by a Gaussian</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">* 2) shifts an image by a given amount to integer pixel accuracy</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">* 3) shifts an image by a given amount to sub-pixel accuracy</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">* 4) shifts an image by a given amount to sub-pixel accuracy</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">* 5) shifts images stacked in a cube by a given amount to sub-pixel accuracy</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">* FILES</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">* ENVIRONMENT</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">* RETURN VALUES</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">* CAUTIONS</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">* EXAMPLES</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">* SEE ALSO</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">* BUGS</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> * System Headers</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="preprocessor"></span><span class="preprocessor">#include "sinfo_vltPort.h"</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="preprocessor">#define POSIX_SOURCE 1</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> * Local Headers</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="preprocessor">#include "sinfo_function_1d.h"</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="preprocessor">#include "sinfo_shift_images.h"</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="preprocessor">#include "sinfo_new_resampling.h"</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keyword">static</span> <span class="keywordtype">int</span> filecounter ;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment"> * Function codes</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">double</span> sinfo_new_determine_shift_by_correlation ( cpl_image * refImage, </div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> cpl_image * shiftedImage )</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> {</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordtype">int</span> col, row ;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keywordtype">int</span> i, j, k, width;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> convsize ;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordtype">float</span> * lineref ;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordtype">float</span> * line ;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordtype">float</span> * offset2 ;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordtype">double</span> * result ;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordtype">double</span> mean_offset2 ;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">/*int magFactor ;*/</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordtype">int</span> maxlag ;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordtype">float</span> * refres ;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordtype">float</span> * myres ;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keywordtype">int</span> halfsearch ;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordtype">int</span> delta ;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordtype">double</span> xcorr_max ;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment">/*float arg ;*/</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordtype">float</span> par[MAXPAR] ;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordtype">float</span> derv_par[MAXPAR] ;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordtype">int</span> iters, xdim, ndat ;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordtype">int</span> numpar, its ;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordtype">int</span> * mpar ;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordtype">float</span> tol, lab ;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordtype">float</span> * xdat, * wdat ;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> Vector * peak;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordtype">char</span> filename[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> FILE * fp ;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keywordtype">int</span> rlx=0;</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keywordtype">int</span> rly=0;</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordtype">int</span> slx=0;</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordtype">int</span> sly=0;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordtype">float</span>* prdata=NULL;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordtype">float</span>* psdata=NULL;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keywordflow">if</span> ( NULL == refImage || NULL == shiftedImage )</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> {</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"image not given!"</span>) ;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordflow">return</span> ZERO ;</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> }</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> rlx=cpl_image_get_size_x(refImage);</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> rly=cpl_image_get_size_x(refImage);</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> prdata=cpl_image_get_data_float(refImage);</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> slx=cpl_image_get_size_x(shiftedImage);</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> sly=cpl_image_get_size_x(shiftedImage);</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> psdata=cpl_image_get_data_float(shiftedImage);</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">if</span> ( rlx != slx || rly != sly )</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> {</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"image size not compatible!"</span>) ;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordflow">return</span> ZERO ;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> }</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> snprintf(filename, MAX_NAME_SIZE-1,<span class="stringliteral">"offset%d.list"</span>, filecounter) ;</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> fp = fopen(filename, <span class="stringliteral">"w"</span>) ;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> convsize = sly;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> lineref = (<span class="keywordtype">float</span>*) cpl_calloc(convsize, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> line = (<span class="keywordtype">float</span>*) cpl_calloc(convsize, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> offset2 = (<span class="keywordtype">float</span>*) cpl_calloc(slx, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="keywordflow">for</span> ( col = 0 ; col < slx ; col++ )</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> {</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment">/* initialize arrays */</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keywordflow">for</span> ( row = 0 ; row < (int) convsize ; row++ )</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> {</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> lineref[row] = 0. ;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> line[row] = 0. ;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> }</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment">/* magnify spectral sinfo_vector by magFactor */</span></div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keywordflow">for</span> ( row = 0 ; row < (sly) ; row++ )</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> {</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> lineref[row] = prdata[col+row*slx] ; <span class="comment">/* AM: why slx? */</span></div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> line[row] = psdata[col+row*slx] ;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> }</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> myres = sinfo_function1d_filter_lowpass(line, convsize, </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> LOW_PASS_GAUSSIAN, 3) ;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> refres = sinfo_function1d_filter_lowpass(lineref, convsize, </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> LOW_PASS_GAUSSIAN, 4) ;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment">/* now do a cross correlaton of both convolved spectral vectors */</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> halfsearch = convsize / 2 ;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> result = sinfo_new_xcorrel( myres, convsize, refres, convsize, </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> halfsearch, &delta, &maxlag, &xcorr_max ) ;</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordflow">if</span> ( xcorr_max < 0. )</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> {</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> sinfo_function1d_del ( refres ) ;</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> sinfo_function1d_del ( myres ) ;</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> cpl_free (result) ; </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> continue ;</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> }</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment">/* in this section, we fit the sinfo_correlation function with a </span></div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment"> gauss, and find its peak, th</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment"> us getting subpixel-accuracy */</span></div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> i = maxlag; j = i+1;</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordflow">while</span> (result[j] < result[i]) </div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> {</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> i++; j++;</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> }</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> i = maxlag; k = i-1;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordflow">while</span> (result[k] < result[i]) </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> {</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> i--; k--;</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> }</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> width = j-k+1;</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="comment">/* allocate memory for the spectral sinfo_vector */</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordflow">if</span> ( NULL == (peak = sinfo_new_vector (width)) )</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new Vector "</span>) ;</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> fclose(fp);</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordflow">return</span> ZERO ;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> }</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> xdat = (<span class="keywordtype">float</span> *) cpl_calloc( peak -> n_elements, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> wdat = (<span class="keywordtype">float</span> *) cpl_calloc( peak -> n_elements, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> mpar = (<span class="keywordtype">int</span> *) cpl_calloc( MAXPAR, <span class="keyword">sizeof</span> (<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="comment">/* determine the values of the spectral sinfo_vector given as input */</span></div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="comment">/* go through the chosen column */</span></div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordflow">for</span> ( i = 0 ; i < width ; i++ )</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> {</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> peak -> data[i] = result[k+i] ;</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> xdat[i] = i;</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> wdat[i] = 1.0;</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> }</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="comment">/* set initial values for the fitting routine */</span></div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> xdim = XDIM;</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> ndat = peak -> n_elements ;</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> numpar = MAXPAR ;</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> tol = TOL ;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> lab = LAB ;</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> its = ITS ;</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> par[1] = width/2.0 ;</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> par[2] = (float) (maxlag - k) ;</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> par[3] = (peak -> data[0] + peak -> data[peak->n_elements - 1]) / 2.0 ;</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> par[0] = result[maxlag] - (par[3]) ;</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="keywordflow">for</span> ( i = 0 ; i < MAXPAR ; i++ )</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> {</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> derv_par[i] = 0.0 ;</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> mpar[i] = 1 ;</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> }</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="comment">/* finally, do the least square fit using a sinfo_gaussian */</span></div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keywordflow">if</span> ( 0 > ( iters = sinfo_new_lsqfit_c( xdat, &xdim, peak -> data, wdat, </div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> &ndat, par, derv_par, mpar,</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> &numpar, &tol, &its, &lab )) )</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> {</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">"sinfo_new_lsqfit_c: least squares fit failed "</span></div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="stringliteral">"in col: %d, error no.: %d"</span>, col, iters) ;</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> sinfo_new_destroy_vector ( peak ) ;</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> cpl_free ( xdat ) ;</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> cpl_free ( wdat ) ;</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> cpl_free ( mpar ) ;</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> sinfo_function1d_del ( refres ) ;</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> sinfo_function1d_del ( myres ) ;</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> cpl_free (result) ; </div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> continue ;</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> }</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> sinfo_new_destroy_vector ( peak ) ;</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> cpl_free (xdat) ;</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> cpl_free (wdat) ;</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> cpl_free (mpar) ;</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> sinfo_function1d_del ( refres ) ;</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> sinfo_function1d_del ( myres ) ;</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> cpl_free (result) ; </div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> offset2[col] = (float)( k+par[2] - sly/2) ;</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> fprintf(fp, <span class="stringliteral">"offset: %f in col: %d\n"</span>, offset2[col], col) ;</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> }</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> mean_offset2 = (double)sinfo_new_clean_mean (offset2, slx, 15., 15. ) ;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> fprintf(fp, <span class="stringliteral">"mean offset: %f\n"</span>, mean_offset2) ;</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> fclose(fp) ;</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> cpl_free ( lineref ) ;</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> cpl_free ( line ) ;</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> cpl_free ( offset2 ) ; </div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> filecounter++ ;</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keywordflow">if</span> (filecounter > 100 ) filecounter = 0 ;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="keywordflow">return</span> mean_offset2 ;</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> }</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> </div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> </div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> cpl_image * </div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> sinfo_new_shift_image_in_spec ( cpl_image * shiftedImage, </div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="keywordtype">double</span> shift, </div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="keywordtype">double</span> * sub_shift )</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> {</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> cpl_image * retIm ;</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="keywordtype">int</span> col, row ;</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="keywordtype">int</span> intshift ;</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="keywordtype">int</span> olx=0;</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="keywordtype">int</span> oly=0;</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> </div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="keywordflow">if</span> ( shiftedImage == NULL )</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> {</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no image given!"</span>) ;</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> }</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> ilx=cpl_image_get_size_x(shiftedImage);</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> ily=cpl_image_get_size_y(shiftedImage);</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> pidata=cpl_image_get_data_float(shiftedImage);</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> intshift = sinfo_new_nint (shift) ;</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> *sub_shift = shift - (double) intshift ;</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="keywordflow">if</span> ( intshift == 0 )</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> {</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> retIm =cpl_image_duplicate ( shiftedImage ) ;</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="keywordflow">return</span> retIm ;</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> }</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> {</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordflow">if</span> ( NULL == (retIm = cpl_image_new(ilx,ily,CPL_TYPE_FLOAT)) )</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> {</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"could not allocate memory!"</span>) ;</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> }</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> }</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> olx=cpl_image_get_size_x(retIm);</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> oly=cpl_image_get_size_y(retIm);</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> podata=cpl_image_get_data_float(retIm);</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> {</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> {</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="keywordflow">if</span> ( (row-intshift >= 0 ) && (row - intshift < oly) )</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> {</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> podata[col+(row-intshift)*olx] = pidata[col+row*olx] ;</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> }</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> }</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> }</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="keywordflow">return</span> retIm ;</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> }</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> </div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> cpl_image * </div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> sinfo_new_fine_shift_image_in_spec_poly ( cpl_image * shiftedImage, </div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="keywordtype">double</span> sub_shift, </div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="keywordtype">int</span> order )</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> {</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> cpl_image * retIm ;</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> </div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="keywordtype">float</span>* spec=NULL ;</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="keywordtype">float</span>* corrected_spec=NULL ;</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="keywordtype">float</span>* xnum=NULL ;</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> </div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="keywordtype">float</span> sum, new_sum ;</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="keywordtype">float</span> eval<span class="comment">/*, dy*/</span> ;</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="keywordtype">float</span> * imageptr ;</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="keywordtype">int</span> row, col ;</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="keywordtype">int</span> firstpos ;</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="keywordtype">int</span> n_points ;</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="keywordtype">int</span> flag;</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="keywordtype">int</span> olx=0;</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="keywordtype">int</span> oly=0;</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> </div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> </div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="keywordflow">if</span> ( shiftedImage == NULL )</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> {</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no image given!"</span>) ;</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> }</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> ilx=cpl_image_get_size_x(shiftedImage);</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> ily=cpl_image_get_size_y(shiftedImage);</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> pidata=cpl_image_get_data_float(shiftedImage);</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="keywordflow">if</span> ( order <= 0 )</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> {</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong order of interpolation polynom given!"</span>) ;</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> }</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> </div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="keywordflow">if</span> ( NULL == (retIm = cpl_image_new(ilx, ily,CPL_TYPE_FLOAT)) )</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> {</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"could not allocate memory!"</span>) ;</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> }</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> </div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> olx=cpl_image_get_size_x(retIm);</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> oly=cpl_image_get_size_y(retIm);</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> podata=cpl_image_get_data_float(retIm);</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> </div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> n_points = order + 1 ;</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="keywordflow">if</span> ( n_points % 2 == 0 )</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> {</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> firstpos = (int)(n_points/2) - 1 ;</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> }</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> {</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> firstpos = (int)(n_points/2) ;</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> }</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> </div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> spec=cpl_calloc(ily,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> corrected_spec=cpl_calloc(ily,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> xnum=cpl_calloc(order+1,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> </div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="comment">/* fill the xa[] array for the polint function */</span></div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_points ; i++ )</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> {</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> xnum[i] = i ;</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> }</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> </div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> {</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> {</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> corrected_spec[row] = 0. ;</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> }</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> sum = 0. ;</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> {</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> spec[row] = pidata[col + row*ilx] ;</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="keywordflow">if</span> (isnan(spec[row]) )</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> {</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> spec[row] = 0. ;</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> </div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="keywordflow">for</span> ( i = row - firstpos ; i < row-firstpos+n_points ; i++ )</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> {</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="keywordflow">if</span> ( i < 0 ) continue ;</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="keywordflow">if</span> ( i >= ily) continue ;</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> corrected_spec[i] = ZERO ;</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> }</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> }</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="keywordflow">if</span> ( row != 0 && row != ily - 1 )</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> {</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> sum += spec[row] ;</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> }</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> }</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> </div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> new_sum = 0. ;</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> {</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="comment">/* ---------------------------------------------------------------</span></div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="comment"> * now determine the arrays of size n_points with which the</span></div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="comment"> * polynom is determined and determine the position eval</span></div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="comment"> * where the polynom is evaluated in polynomial interpolation.</span></div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> <span class="comment"> * Take care of the points near the row edges!</span></div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="keywordflow">if</span> (isnan(corrected_spec[row])) continue ;</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <span class="keywordflow">if</span> ( row - firstpos < 0 )</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> {</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> imageptr = &spec[0] ;</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> eval = sub_shift + row ;</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> }</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( row - firstpos + n_points >= ily )</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> {</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> imageptr = &spec[ily - n_points] ;</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> eval = sub_shift + row + n_points - ily ;</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> }</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> {</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> imageptr = &spec[row-firstpos] ;</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> eval = sub_shift + firstpos ;</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> }</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> </div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> flag=0;</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> corrected_spec[row]=sinfo_new_nev_ille( xnum, imageptr, </div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> order, eval, &flag) ;</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> <span class="keywordflow">if</span> ( row != 0 && row != ily - 1 )</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> {</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> new_sum += corrected_spec[row] ;</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> }</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> }</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> </div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> {</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="keywordflow">if</span> ( new_sum == 0. )</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> {</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> new_sum = 1. ;</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> }</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> <span class="keywordflow">if</span> ( row == 0 )</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> {</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> podata[col+row*olx] = ZERO ;</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> }</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( row == ily - 1 )</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> {</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> podata[col+row*olx] = ZERO ;</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> }</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( isnan(corrected_spec[row]) )</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> {</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> podata[col+row*olx] = ZERO ;</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> }</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> {</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> corrected_spec[row] *= sum / new_sum ;</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> podata[col+row*olx] = corrected_spec[row] ;</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> }</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> }</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> }</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> cpl_free(spec) ;</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> cpl_free(corrected_spec) ;</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> cpl_free(xnum) ;</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <span class="keywordflow">return</span> retIm ;</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> }</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> cpl_image * </div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> sinfo_new_fine_shift_image_in_spec_cubic_spline ( cpl_image * shiftedImage, </div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="keywordtype">double</span> sub_shift )</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> {</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> cpl_image * retIm ;</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <span class="comment">/*float second_deriv[shiftedImage -> ly] ;*/</span></div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="keywordtype">float</span>* spec=NULL ;</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="keywordtype">float</span>* corrected_spec=NULL ;</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <span class="keywordtype">float</span>* xnum=NULL ;</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="keywordtype">float</span>* eval=NULL ;</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <span class="keywordtype">float</span> sum, new_sum ;</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> <span class="keywordtype">int</span> row, col ;</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> <span class="keywordtype">int</span> olx=0;</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> <span class="keywordtype">int</span> oly=0;</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> </div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> </div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> <span class="keywordflow">if</span> ( shiftedImage == NULL )</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> {</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no image given!"</span>) ;</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> }</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> ilx=cpl_image_get_size_x(shiftedImage);</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> ily=cpl_image_get_size_y(shiftedImage);</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> pidata=cpl_image_get_data_float(shiftedImage);</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> </div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> <span class="keywordflow">if</span> ( NULL == (retIm = cpl_image_new(ilx,ily,CPL_TYPE_FLOAT)) )</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> {</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"could not allocate memory!"</span>) ;</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> }</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> olx=cpl_image_get_size_x(retIm);</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> oly=cpl_image_get_size_y(retIm);</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> podata=cpl_image_get_data_float(retIm);</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> </div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> xnum=cpl_calloc(ily,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <span class="comment">/* fill the xa[] array for the spline function */</span></div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="keywordflow">for</span> ( i = 0 ; i < ily ; i++ )</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> {</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> xnum[i] = i ;</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> }</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> </div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> spec=cpl_calloc(ily,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> corrected_spec=cpl_calloc(ily,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> eval=cpl_calloc(ily,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> </div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> {</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> sum = 0. ;</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> {</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> spec[row] = pidata[col + row*ilx] ;</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="keywordflow">if</span> (isnan(spec[row]) )</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> {</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> <span class="keywordflow">for</span> ( i = row-1 ; i <= row+1 ; i++ )</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> {</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> <span class="keywordflow">if</span> ( i < 0 ) continue ;</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> <span class="keywordflow">if</span> ( i >= ily) continue ;</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> corrected_spec[i] = ZERO ;</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> } </div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> spec[row] = 0. ;</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> }</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> sum += spec[row] ;</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> eval[row] = (float)sub_shift+(<span class="keywordtype">float</span>)row ;</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> }</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> <span class="comment">/* now we do the spline interpolation*/</span></div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> <span class="keywordflow">if</span> ( -1 == sinfo_function1d_natural_spline( xnum, spec, ily, eval, </div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> corrected_spec, ily ) )</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> {</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"error in spline interpolation!"</span>) ;</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> }</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> </div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> new_sum = 0. ;</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> {</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> <span class="keywordflow">if</span> ( isnan(corrected_spec[row]) )</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> {</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> continue ;</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> } </div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> new_sum += corrected_spec[row] ;</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> }</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> </div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> {</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> <span class="keywordflow">if</span> ( new_sum == 0. ) new_sum =1. ;</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> {</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> <span class="keywordflow">if</span> ( isnan(corrected_spec[row]) )</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> {</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> podata[col+row*olx] = ZERO ;</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> }</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> {</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> corrected_spec[row] *= sum / new_sum ;</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> podata[col+row*olx] = corrected_spec[row] ;</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> }</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> }</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> }</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> }</div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> cpl_free(xnum);</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> cpl_free(spec) ;</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> cpl_free(corrected_spec) ;</div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> cpl_free(eval) ;</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> </div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="keywordflow">return</span> retIm ;</div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> }</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> </div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> cpl_imagelist * sinfo_align_cube_to_reference (cpl_imagelist * cube, </div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> cpl_image * refIm,</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> <span class="keywordtype">int</span> order,</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> <span class="keywordtype">int</span> shift_indicator )</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> {</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> cpl_imagelist * retCube=NULL ;</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> cpl_image * shiftedIm=NULL ;</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> cpl_image * fineShiftedIm=NULL ;</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> <span class="keywordtype">double</span> shift=0 ;</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> <span class="keywordtype">double</span> sub_shift=0 ;</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <span class="keywordtype">int</span> z=0;</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> <span class="keywordtype">double</span> * ker=NULL ;</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> cpl_image* img=NULL;</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> </div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> <span class="keywordflow">if</span> (cube == NULL)</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> { </div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no input cube given!"</span>) ;</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> }</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> <span class="keywordflow">if</span> (refIm == NULL)</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> { </div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no input ref. image given!"</span>) ;</div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> }</div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> </div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> <span class="comment">/* allocation for a cube structure without the image planes */</span></div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> retCube = cpl_imagelist_new() ;</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> </div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> <span class="keywordflow">if</span> ( shift_indicator != 0 && shift_indicator != 1 )</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> {</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> ker = sinfo_new_generate_interpolation_kernel(<span class="stringliteral">"tanh"</span>) ;</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> <span class="keywordflow">if</span> (ker == NULL)</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> {</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"kernel generation failure: aborting resampling"</span>) ;</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> }</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> }</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> </div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> <span class="keywordflow">for</span> ( z = 0 ; z < cpl_imagelist_get_size(cube) ; z++ )</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> {</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> <span class="comment">/* first determine the shift by correlation with the reference image */</span></div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> img=cpl_imagelist_get(cube,z);</div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> <span class="keywordflow">if</span> (isnan( shift=sinfo_new_determine_shift_by_correlation(refIm,img)))</div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> { </div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"error in sinfo_determineShiftByCorrelation()!"</span>) ;</div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> }</div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> </div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> <span class="keywordflow">if</span> ( NULL == (shiftedIm = sinfo_new_shift_image_in_spec(img,shift,</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> &sub_shift)) ) </div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> { </div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"error in sinfo_shiftImageInSpec()!"</span>) ;</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> }</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="keywordflow">if</span> ( shift_indicator == 0 )</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> {</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> <span class="keywordflow">if</span> ( NULL == (fineShiftedIm = </div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> sinfo_new_fine_shift_image_in_spec_poly (shiftedIm, </div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> sub_shift, order)))</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> {</div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"error in sinfo_fineShiftImageInSpecPoly()!"</span>) ;</div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> }</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> }</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( shift_indicator == 1)</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> {</div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> <span class="keywordflow">if</span> ( NULL == (fineShiftedIm = </div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> sinfo_new_fine_shift_image_in_spec_cubic_spline (shiftedIm, </div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> sub_shift)))</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> {</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"error in fineShiftImageInSpecCubicspline()!"</span>) ;</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> }</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> }</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> </div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> {</div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> <span class="keywordflow">if</span> ( NULL == (fineShiftedIm = </div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> sinfo_new_shift_image(shiftedIm,0.,sub_shift, ker ) ) )</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> {</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"error in fineShiftImageInSpecCubicspline()!"</span>) ;</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> } </div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> }</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> cpl_imagelist_set(retCube,fineShiftedIm,z);</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> cpl_image_delete (shiftedIm) ;</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> cpl_image_delete (fineShiftedIm) ;</div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> }</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> <span class="keywordflow">if</span> ( shift_indicator != 0 && shift_indicator != 1 ) cpl_free(ker) ;</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> <span class="keywordflow">return</span> retCube ;</div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> }</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> </div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__shift__images_8h_source.html b/html/sinfo__shift__images_8h_source.html
deleted file mode 100644
index ad589e0..0000000
--- a/html/sinfo__shift__images_8h_source.html
+++ /dev/null
@@ -1,128 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_shift_images.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_shift_images.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_SHIFT_IMAGES_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_SHIFT_IMAGES_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">/***************************************************************************</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">* "@(#) $Id: sinfo_shift_images.h,v 1.5 2008/02/12 14:21:57 amodigli Exp $"</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">* schreib 05/03/03 created</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * sinfo_shift_images.h</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> * shift two emission line images on each other</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_spectrum_ops.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_recipes.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "sinfo_image_ops.h"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> * Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">double</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> sinfo_new_determine_shift_by_correlation (cpl_image * refImage,</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> cpl_image * shiftedImage ) ;</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> cpl_image * </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> sinfo_new_shift_image_in_spec (cpl_image * shiftedImage, </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">double</span> shift, </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">double</span> * sub_shift ) ;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> cpl_image * </div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> sinfo_new_fine_shift_image_in_spec_poly (cpl_image * shiftedImage, </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">double</span> sub_shift, </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">int</span> order ) ;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> cpl_image * </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> sinfo_new_fine_shift_image_in_spec_cubic_spline (cpl_image * shiftedImage, </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keywordtype">double</span> sub_shift ) ;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> cpl_imagelist * </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> sinfo_align_cube_to_reference (cpl_imagelist * cube,</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> cpl_image * refIm,</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">int</span> order,</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordtype">int</span> shift_indicator ) ;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="preprocessor">#endif </span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="preprocessor"></span><span class="comment">/*--------------------------------------------------------------------------*/</span><span class="preprocessor"></span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__skycor_8c_source.html b/html/sinfo__skycor_8c_source.html
deleted file mode 100644
index 3013799..0000000
--- a/html/sinfo__skycor_8c_source.html
+++ /dev/null
@@ -1,6572 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_skycor.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_skycor.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_skycor.c,v 1.50 2012/05/04 08:11:35 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2012/05/04 08:11:35 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.50 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <sinfo_cpl_size.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <sinfo_skycor.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <sinfo_new_cube_ops.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_pfits.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include "sinfo_utl_cube2spectrum.h"</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#define BAND_H_WAVE_MIN 1.445 //not used</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor"></span><span class="preprocessor">#define BAND_H_WAVE_MAX 1.820 //not used</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#define BAND_K_WAVE_MIN 1.945 //not used</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor"></span><span class="preprocessor">#define BAND_K_WAVE_MAX 2.460 //not used</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#define BAND_J_WAVE_MIN 1.445 //not used</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor"></span><span class="preprocessor">#define BAND_J_WAVE_MAX 1.82 //not used</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#define SINFO_FIT_BKG_TEMP 280.</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor"></span><span class="preprocessor">#define SKY_THRES 0.95</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor"></span><span class="preprocessor">#define SKY_LINE_MAX_CUT 4 </span><span class="comment">/* this should be 4 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor"></span><span class="preprocessor">#define SKY_LINE_MIN_CUT 4 </span><span class="comment">/* this should be 4 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor">#define XCOR_YSHIFT_KS_CLIP 5 </span><span class="comment">/* this should be 5 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor">#define HPLANK 6.62606876e-34; // J s</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor"></span><span class="preprocessor">#define CLIGHT 2.99792458e+08; // m / s</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor"></span><span class="preprocessor">#define KBOLTZ 1.3806503e-23; // J / K</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="preprocessor"></span><span class="preprocessor">#define AMOEBA_FTOL 1.e-5</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="preprocessor"></span><span class="preprocessor">#define NBOUND 14</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="preprocessor"></span><span class="preprocessor">#define NROT 25</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="preprocessor"></span><span class="preprocessor">#define N_ITER_FIT_LM 15</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="preprocessor"></span><span class="preprocessor">#define N_ITER_FIT_AMOEBA 10</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">double</span> sinfo_scale_fct=1;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keyword">static</span> cpl_vector* sa_vx=NULL;</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keyword">static</span> cpl_vector* sa_vy=NULL;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keyword">static</span> cpl_vector* sa_ox=NULL;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keyword">static</span> cpl_vector* sa_oy=NULL;</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keyword">static</span> cpl_vector* sa_sy=NULL;</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">-----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> cpl_vector* sinfo_sky_background_estimate(cpl_vector *spectrum,</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">int</span> msize,</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">int</span> fsize);</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> sinfo_scales_obj_sky_cubes(cpl_imagelist* obj_cub,</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> cpl_imagelist* sky_cub,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> cpl_table* bkg,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> cpl_table* rscale,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> cpl_imagelist** obj_cor);</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> sinfo_sub_thr_bkg_from_obj_cube(cpl_imagelist* obj_cub,</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> cpl_table* int_sky,</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> cpl_imagelist** obj_cor);</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keyword">static</span> cpl_vector*</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> sinfo_filter_min(<span class="keyword">const</span> cpl_vector* vi, <span class="keyword">const</span> <span class="keywordtype">int</span> size);</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keyword">static</span> cpl_vector*</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> sinfo_filter_max(<span class="keyword">const</span> cpl_vector* vi, <span class="keyword">const</span> <span class="keywordtype">int</span> size);</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keyword">static</span> cpl_vector*</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> sinfo_filter_smo(<span class="keyword">const</span> cpl_vector* vi, <span class="keyword">const</span> <span class="keywordtype">int</span> size);</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keyword">static</span> cpl_imagelist*</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> sinfo_cube_zshift_simple(cpl_imagelist* inp,</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keyword">const</span> <span class="keywordtype">float</span> shift);</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> sinfo_optimise_sky_sub(<span class="keyword">const</span> <span class="keywordtype">double</span> wtol,</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keyword">const</span> <span class="keywordtype">double</span> line_hw,</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keyword">const</span> <span class="keywordtype">int</span> method,</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keyword">const</span> <span class="keywordtype">int</span> do_rot,</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> cpl_table* lrange,</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> cpl_table* lambda,</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> cpl_table* lr41,</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> cpl_table* lr52,</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> cpl_table* lr63,</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> cpl_table* lr74,</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> cpl_table* lr02,</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> cpl_table* lr85,</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> cpl_table* lr20,</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> cpl_table* lr31,</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> cpl_table* lr42,</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> cpl_table* lr53,</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> cpl_table* lr64,</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> cpl_table* lr75,</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> cpl_table* lr86,</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> cpl_table* lr97,</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> cpl_table* lr00,</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> cpl_table** int_obj,</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> cpl_table** int_sky,</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> cpl_table** rscale);</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> sinfo_shift_sky(cpl_frame** sky_frm,</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> cpl_table** int_sky,</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keyword">const</span> <span class="keywordtype">double</span> zshift);</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> sinfo_xcorr(cpl_table* int_obj,</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> cpl_table* int_sky,</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> cpl_table* lambda,</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keyword">const</span> <span class="keywordtype">double</span> dispersion,</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keyword">const</span> <span class="keywordtype">double</span> line_hw);</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> sinfo_interpolate_sky(<span class="keyword">const</span> cpl_table* inp,<span class="keyword">const</span> cpl_table* lambdas);</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> sinfo_check_screw_values(cpl_table** int_obj,</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> cpl_table** int_sky,</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> cpl_table* grange,</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keyword">const</span> <span class="keywordtype">double</span> wtol);</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> sinfo_choose_good_sky_pixels(cpl_frame* obj_frm,</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> cpl_image* r_img,</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> cpl_image* g_img,</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keyword">const</span> <span class="keywordtype">double</span> min_frac,</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> cpl_image** mask);</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> sinfo_sum_spectra(<span class="keyword">const</span> cpl_frame* obj,</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keyword">const</span> cpl_frame* sky,</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> cpl_image* mask,</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> cpl_table* wrange,</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keyword">const</span> <span class="keywordtype">int</span> llx,</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="keyword">const</span> <span class="keywordtype">int</span> lly,</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keyword">const</span> <span class="keywordtype">int</span> urx,</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ury,</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> cpl_table** int_obj,</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> cpl_table** int_sky);</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> sinfo_thermal_background2(cpl_table* int_sky,</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> cpl_table* lambda,</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> cpl_table* lrange,</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> cpl_table** bkg);</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> sinfo_thermal_background(cpl_table* int_sky,</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> cpl_table* lambda,</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> cpl_table* lrange,</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keyword">const</span> <span class="keywordtype">double</span> temp,</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keyword">const</span> <span class="keywordtype">int</span> niter,</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keyword">const</span> <span class="keywordtype">int</span> filter_width,</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="keyword">const</span> <span class="keywordtype">double</span> wtol,</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> cpl_table** bkg,</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keywordtype">int</span>* success_fit);</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> sinfo_object_flag_sky_pixels(cpl_frame* obj_frm,</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> cpl_table* lambda,</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> cpl_table* mrange,</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> cpl_imagelist* flag_data,</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keyword">const</span> <span class="keywordtype">double</span> tol,</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> cpl_image** g_img,</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> cpl_image** r_img,</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> cpl_image** image);</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> sinfo_object_flag_low_values(cpl_frame* obj_frm,</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cnt,</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sig,</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> cpl_imagelist** flag_data);</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> sinfo_object_estimate_noise(cpl_frame* obj_frm, <span class="keyword">const</span> <span class="keywordtype">int</span> obj_noise_fit,</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keywordtype">double</span>* centre, <span class="keywordtype">double</span>* noise);</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> sinfo_set_ranges(cpl_frame* obj_frm,</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> cpl_frame* sky_frm,</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> cpl_parameterlist* cfg,</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> cpl_table** lambda,</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> cpl_table** lr41,</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> cpl_table** lr52,</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> cpl_table** lr63,</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> cpl_table** lr74,</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> cpl_table** lr02,</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> cpl_table** lr85,</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> cpl_table** lr20,</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> cpl_table** lr31,</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> cpl_table** lr42,</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> cpl_table** lr53,</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> cpl_table** lr64,</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> cpl_table** lr75,</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> cpl_table** lr86,</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> cpl_table** lr97,</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> cpl_table** lr00,</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> cpl_table** lrange,</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> cpl_table** grange,</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> cpl_table** lambdas,</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> cpl_table** mrange,</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordtype">int</span>* sky_interp_sw,</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keywordtype">double</span>* dispersion);</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> sinfo_table_extract_rest(cpl_table* inp,</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> cpl_table* low,</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> cpl_table* med,</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="keyword">const</span> <span class="keywordtype">double</span> wtol);</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> sinfo_get_sub_regions(cpl_table* sky,</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> cpl_table* x1,</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> cpl_table* pos,</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="keyword">const</span> <span class="keywordtype">double</span> wtol,</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="keyword">const</span> <span class="keywordtype">int</span> npixw,</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> cpl_table** sub_regions);</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> sinfo_get_obj_sky_wav_sub(cpl_table* obj,</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> cpl_table* sky,</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> cpl_table* wav,</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> cpl_table* sel,</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="keyword">const</span> <span class="keywordtype">double</span> wtol,</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> cpl_table** sub_obj,</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> cpl_table** sub_sky,</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> cpl_table** sub_wav);</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> sinfo_find_rot_waves(<span class="keyword">const</span> <span class="keywordtype">double</span> w_rot[],</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="keyword">const</span> <span class="keywordtype">int</span> npix_w,</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="keyword">const</span> <span class="keywordtype">double</span> w_step,</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> cpl_table* range);</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> sinfo_compute_line_ratio(cpl_table* obj,</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> cpl_table* sky,</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keyword">const</span> <span class="keywordtype">double</span> wtol,</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keyword">const</span> <span class="keywordtype">int</span> meth,</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="keyword">const</span> cpl_table* sel_regions,</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> cpl_table* cont_regions,</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="keywordtype">double</span>* r);</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> sinfo_table_subtract_continuum(cpl_table* lin,cpl_table* cnt);</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> sinfo_fit_bkg(<span class="keywordtype">double</span> p[]);</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> sinfo_fit_sky(<span class="keywordtype">double</span> p[]);</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> sinfo_get_line_ratio_amoeba(cpl_table* obj,</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> cpl_table* sky,</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="keywordtype">double</span>* r);</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> sinfo_table_interpol(cpl_table* obj_lin,</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> cpl_table* obj_cnt,</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> cpl_table* sky_lin,</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> cpl_table* sky_cnt,</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="keyword">const</span> <span class="keywordtype">double</span> r);</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> </div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> </div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> sinfo_get_line_ratio(cpl_table* obj_lin,</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> cpl_table* obj_cnt,</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> cpl_table* sky_lin,</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> cpl_table* sky_cnt,</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="keyword">const</span> <span class="keywordtype">int</span> method,</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="keywordtype">double</span>* r);</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> sinfo_table_shift_simple(cpl_table* inp,</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col,</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="keyword">const</span> <span class="keywordtype">double</span> shift);</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="comment">static int</span></div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="comment">sinfo_table_set_column_invalid(cpl_table** int_sky,const char* col);</span></div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> sinfo_table_set(cpl_table** out,</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="keyword">const</span> cpl_table* ref,</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="keyword">const</span> <span class="keywordtype">double</span> val,</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="keyword">const</span> <span class="keywordtype">double</span> tol);</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> sinfo_table_threshold(cpl_table** t,</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* column,</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="keyword">const</span> <span class="keywordtype">double</span> low_cut,</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="keyword">const</span> <span class="keywordtype">double</span> hig_cut,</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="keyword">const</span> <span class="keywordtype">double</span> low_ass,</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="keyword">const</span> <span class="keywordtype">double</span> hig_ass);</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> </div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> </div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> </div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> </div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="keyword">static</span> <span class="keywordtype">double</span> sinfo_fac(<span class="keyword">const</span> <span class="keywordtype">double</span> x, <span class="keyword">const</span> <span class="keywordtype">double</span> t);</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_fitbkg(<span class="keyword">const</span> <span class="keywordtype">double</span> x[],</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="keyword">const</span> <span class="keywordtype">double</span> a[],</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="keywordtype">double</span> *result);</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_fitbkg_derivative(<span class="keyword">const</span> <span class="keywordtype">double</span> x[],</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="keyword">const</span> <span class="keywordtype">double</span> a[],</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="keywordtype">double</span> result[]);</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> </div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> sinfo_convolve_kernel(cpl_table** t, <span class="keyword">const</span> <span class="keywordtype">int</span> rad);</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> sinfo_convolve_kernel2(cpl_table** t, <span class="keyword">const</span> <span class="keywordtype">int</span> rad);</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> sinfo_convolve_gauss(cpl_table** t, <span class="keyword">const</span> <span class="keywordtype">int</span> rad, <span class="keyword">const</span> <span class="keywordtype">double</span> fwhm);</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> sinfo_convolve_exp(cpl_table** t, <span class="keyword">const</span> <span class="keywordtype">int</span> rad, <span class="keyword">const</span> <span class="keywordtype">double</span> fwhm);</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> sinfo_table_sky_obj_flag_nan(cpl_table** s,cpl_table** o, cpl_table** w);</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> </div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> sinfo_table_set_nan_out_min_max(cpl_table** s,</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* c,</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="keyword">const</span> <span class="keywordtype">double</span> min,</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="keyword">const</span> <span class="keywordtype">double</span> max);</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> </div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> </div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> sinfo_gaussian_amp(<span class="keywordtype">double</span> area,<span class="keywordtype">double</span> sigma,<span class="keywordtype">double</span> x,<span class="keywordtype">double</span> x0,<span class="keywordtype">double</span> off);</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> sinfo_gaussian_area(<span class="keywordtype">double</span> amp,<span class="keywordtype">double</span> sigma,<span class="keywordtype">double</span> x,<span class="keywordtype">double</span> x0,<span class="keywordtype">double</span> off);</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> </div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> sinfo_table_smooth_column(cpl_table** t, <span class="keyword">const</span> <span class="keywordtype">char</span>* c, <span class="keyword">const</span> <span class="keywordtype">int</span> r);</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> </div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> sinfo_image_flag_nan(cpl_image** im);</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> sinfo_table_flag_nan(cpl_table** t,<span class="keyword">const</span> <span class="keywordtype">char</span>* label);</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> </div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> </div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> </div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> sinfo_cnt_mask_thresh_and_obj_finite(<span class="keyword">const</span> cpl_image* mask,</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="keyword">const</span> <span class="keywordtype">double</span> t,</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="keyword">const</span> cpl_image* obj);</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> </div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> </div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> </div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> sinfo_interpolate(<span class="keyword">const</span> cpl_table* inp,</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="keyword">const</span> cpl_table* lambdas,</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name,</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* method);</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> </div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> sinfo_image2table(<span class="keyword">const</span> cpl_image* im);</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> </div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> sinfo_table_extract_finite(<span class="keyword">const</span> cpl_table* in1,</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="keyword">const</span> cpl_table* in2,</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> cpl_table** ou1,</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> cpl_table** ou2);</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> </div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> sinfo_slice_z(<span class="keyword">const</span> cpl_imagelist* cin,<span class="keyword">const</span> <span class="keywordtype">int</span> i,<span class="keyword">const</span> <span class="keywordtype">int</span> j);</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> </div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> </div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> </div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="keyword">static</span> cpl_imagelist*</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> sinfo_imagelist_select_range(<span class="keyword">const</span> cpl_imagelist* inp,</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="keyword">const</span> cpl_table* full,</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="keyword">const</span> cpl_table* good,</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="keyword">const</span> <span class="keywordtype">double</span> tol);</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> </div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> </div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> sinfo_table_select_range(cpl_table* inp,</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> cpl_table* ref,</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="keyword">const</span> <span class="keywordtype">double</span> tol);</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> </div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> sinfo_table_fill_column_over_range(cpl_table** inp,</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="keyword">const</span> cpl_table* ref,</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col,</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="keyword">const</span> <span class="keywordtype">double</span> val,</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="keyword">const</span> <span class="keywordtype">double</span> tol);</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> </div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> </div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> </div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> sinfo_table_column_dindgen(cpl_table** t, <span class="keyword">const</span> <span class="keywordtype">char</span>* label);</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> </div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> </div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> </div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> </div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> </div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> </div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> </div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> </div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> </div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> </div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> </div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> </div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> </div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> </div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> sinfo_skycor_qc*</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> sinfo_skycor_qc_new(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> {</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> sinfo_skycor_qc * sqc;</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> sqc= cpl_malloc(<span class="keyword">sizeof</span>(sinfo_skycor_qc));</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> </div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> sqc->th_fit=0;</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> </div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="keywordflow">return</span> sqc;</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> </div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> }</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> sinfo_skycor_qc_delete(sinfo_skycor_qc** sqc)</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> {</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="keywordflow">if</span>((*sqc) != NULL) {</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> cpl_free(*sqc);</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> *sqc=NULL;</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> }</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> }</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> </div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> </div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> </div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> sinfo_skycor(cpl_parameterlist * config,</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> cpl_frame* obj_frm,</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> cpl_frame* sky_frm,</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> sinfo_skycor_qc* sqc,</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> cpl_imagelist** obj_cor,</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> cpl_table** int_obj)</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> {</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> </div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> cpl_table* bkg=NULL;</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> </div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> cpl_table* lambda=NULL;</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> cpl_table* lr41=NULL;</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> cpl_table* lr52=NULL;</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> cpl_table* lr63=NULL;</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> cpl_table* lr74=NULL;</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> cpl_table* lr02=NULL;</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> cpl_table* lr85=NULL;</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> cpl_table* lr20=NULL;</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> cpl_table* lr31=NULL;</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> cpl_table* lr42=NULL;</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> cpl_table* lr53=NULL;</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> cpl_table* lr64=NULL;</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> cpl_table* lr75=NULL;</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> cpl_table* lr86=NULL;</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> cpl_table* lr97=NULL;</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> cpl_table* lr00=NULL;</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> cpl_table* lrange=NULL;</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> cpl_table* mrange=NULL;</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> cpl_table* grange=NULL;</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> cpl_table* lambdas=NULL;</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> </div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> cpl_table* int_sky=NULL;</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> </div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> cpl_image* mask=NULL;</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> cpl_image* gpix=NULL;</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> cpl_image* ratio=NULL;</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> cpl_image* ima_sky=NULL;</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> cpl_imagelist* fdata=NULL;</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> cpl_table* rscale=NULL;</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> cpl_parameter* p=NULL;</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> </div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <span class="keywordtype">int</span> th_fit=0;</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <span class="keywordtype">double</span> dispersion=0;</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="keywordtype">double</span> noise=0;</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <span class="comment">//double temp=252.69284;</span></div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <span class="keywordtype">double</span> centre=0;</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> <span class="keywordtype">int</span> sky_interp_sw=0;</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> <span class="keywordtype">double</span> wshift=0;</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="keywordtype">double</span> pshift=0;</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <span class="keywordtype">int</span> method=0;</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> <span class="keywordtype">int</span> do_rot=0;</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> <span class="keywordtype">int</span> obj_noise_fit=0;</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> <span class="keywordtype">int</span> niter=3;</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> <span class="keywordtype">double</span> min_frac=0.8;</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="keywordtype">double</span> line_hw=7;</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="keywordtype">double</span> fit_temp=280;</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <span class="keywordtype">int</span> filter_width=SINFO_SKY_BKG_FILTER_WIDTH;</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <span class="keywordtype">int</span> llx=0;</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="keywordtype">int</span> lly=0;</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="keywordtype">int</span> urx=64;</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <span class="keywordtype">int</span> ury=64;</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> cpl_imagelist* obj_cub=NULL;</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> cpl_imagelist* sky_cub=NULL;</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> <span class="keywordtype">int</span> sub_thr_bkg=0;</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> </div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> </div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor.min_frac"</span>));</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> check_nomsg(min_frac=cpl_parameter_get_double(p));</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> </div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor.line_half_width"</span>));</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> check_nomsg(line_hw=cpl_parameter_get_double(p));</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> </div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> </div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> </div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor.sky_bkg_filter_width"</span>));</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> check_nomsg(filter_width=cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> </div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor.scale_method"</span>));</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> check_nomsg(method=cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> </div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> </div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> </div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor.rot_cor"</span>));</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> check_nomsg(do_rot=cpl_parameter_get_bool(p));</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> </div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> </div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor.sub_thr_bkg_from_obj"</span>));</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> check_nomsg(sub_thr_bkg=cpl_parameter_get_bool(p));</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> </div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> </div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor.fit_obj_noise"</span>));</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> check_nomsg(obj_noise_fit=cpl_parameter_get_bool(p));</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> </div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> </div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor.niter"</span>));</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> check_nomsg(niter=cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> </div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> </div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor.pshift"</span>));</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> check_nomsg(pshift=cpl_parameter_get_double(p));</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> </div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> </div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> </div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor.llx"</span>));</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> check_nomsg(llx=cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> </div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> </div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor.lly"</span>));</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> check_nomsg(lly=cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> </div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> </div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor.urx"</span>));</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> check_nomsg(urx=cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> </div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> </div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> check_nomsg(p=cpl_parameterlist_find(config,</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor.ury"</span>));</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> check_nomsg(ury=cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> </div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> <span class="comment">// set wavelength ranges</span></div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> sinfo_msg(<span class="stringliteral">"Set wavelength ranges"</span>);</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> ck0(sinfo_set_ranges(obj_frm,sky_frm,config,&lambda,</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> &lr41,&lr52,&lr63,&lr74,&lr02,&lr85,&lr20,&lr31,&lr42,</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> &lr53,&lr64,&lr75,&lr86,&lr97,&lr00,</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> &lrange,&grange,&lambdas,&mrange,&sky_interp_sw,</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> &dispersion),<span class="stringliteral">"Setting wavelength ranges"</span>);</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> <span class="comment">//check_nomsg(cpl_table_save(grange, NULL, NULL, "out_grange.fits",</span></div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> <span class="comment">//CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> </div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> <span class="comment"> sinfo_msg("lr20=%d",cpl_table_get_nrow(lr20));</span></div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> <span class="comment"> sinfo_msg("lr31=%d",cpl_table_get_nrow(lr31));</span></div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> <span class="comment"> sinfo_msg("lr42=%d",cpl_table_get_nrow(lr42));</span></div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> <span class="comment"> sinfo_msg("lr53=%d",cpl_table_get_nrow(lr53));</span></div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> <span class="comment"> sinfo_msg("lr64=%d",cpl_table_get_nrow(lr64));</span></div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="comment"> sinfo_msg("lr75=%d",cpl_table_get_nrow(lr75));</span></div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> <span class="comment"> sinfo_msg("lr86=%d",cpl_table_get_nrow(lr86));</span></div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> <span class="comment"> sinfo_msg("lr97=%d",cpl_table_get_nrow(lr97));</span></div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> <span class="comment"> sinfo_msg("lr00=%d",cpl_table_get_nrow(lr00));</span></div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> <span class="comment"></span></div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> <span class="comment"> sinfo_msg("min_lrange=%f",cpl_table_get_column_min(lrange,"INDEX"));</span></div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> <span class="comment"> sinfo_msg("min_grange=%f",cpl_table_get_column_min(grange,"INDEX"));</span></div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> <span class="comment"> sinfo_msg("min_srange=%f",cpl_table_get_column_min(lambdas,"WAVE"));</span></div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> <span class="comment"> sinfo_msg("min_mrange=%f",cpl_table_get_column_min(mrange,"INDEX"));</span></div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> <span class="comment"></span></div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> <span class="comment"> sinfo_msg("max_lrange=%f",cpl_table_get_column_max(lrange,"INDEX"));</span></div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> <span class="comment"> sinfo_msg("max_grange=%f",cpl_table_get_column_max(grange,"INDEX"));</span></div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> <span class="comment"> sinfo_msg("max_srange=%f",cpl_table_get_column_max(lambdas,"WAVE"));</span></div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> <span class="comment"> sinfo_msg("max_mrange=%f",cpl_table_get_column_max(mrange,"INDEX"));</span></div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> </div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> sinfo_msg(<span class="stringliteral">"Estimate noise"</span>);</div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> ck0(sinfo_object_estimate_noise(obj_frm,obj_noise_fit,¢re,&noise),</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> <span class="stringliteral">"Estimating noise"</span>);</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> </div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> sinfo_msg(<span class="stringliteral">"Background=%f Noise=%f"</span>,centre,noise);</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> sinfo_msg(<span class="stringliteral">"Flag object low_levels"</span>);</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> ck0(sinfo_object_flag_low_values(obj_frm,centre,noise,&fdata),</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> <span class="stringliteral">"Flagging low pix"</span>);</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> </div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> <span class="comment">//cpl_imagelist_save(fdata,"out_fdata.fits",</span></div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <span class="comment">// CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> </div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> </div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> sinfo_msg(<span class="stringliteral">"Flag sky pixels"</span>);</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> ck0(sinfo_object_flag_sky_pixels(obj_frm,lambda,mrange,fdata,dispersion,</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> &gpix,&ratio,&ima_sky),</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> <span class="stringliteral">"Flagging sky pixels"</span>);</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> </div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> <span class="comment">//cpl_image_save(gpix,"out_gpix.fits",CPL_BPP_IEEE_FLOAT,</span></div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> <span class="comment">// NULL,CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> <span class="comment">//cpl_image_save(ratio,"out_ratio.fits",CPL_BPP_IEEE_FLOAT,</span></div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> <span class="comment">// NULL,CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <span class="comment">//cpl_image_save(ima_sky,"out_ima_sky.fits",</span></div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> <span class="comment">// CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> </div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> </div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> </div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> </div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> <span class="comment">// choose pixels which seems to be good sky pixels</span></div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> <span class="comment">// (95% spectral pixels are flagged)</span></div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> sinfo_msg(<span class="stringliteral">"Choose good sky (with > 95%% good spectral) pixels"</span>);</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> ck0(sinfo_choose_good_sky_pixels(obj_frm,ratio,gpix,min_frac,&mask),</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> <span class="stringliteral">"Choosing good sky pixels"</span>);</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> </div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> <span class="comment">//cpl_image_save(mask,"out_mask.fits",CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> </div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> <span class="comment">// threshold ratio for fraction 'minfract' of spatial pixels to be 'sky'</span></div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> <span class="comment">//sinfo_msg("To do: flag_threshold_sky_pixels");</span></div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> </div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> </div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> <span class="comment">// sum spectra of flagged pixels in object and sky frames</span></div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> sinfo_msg(<span class="stringliteral">"Sum obj and sky spectra"</span>);</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> ck0(sinfo_sum_spectra(obj_frm,sky_frm,mask,lambda,llx,lly,urx,ury,int_obj,</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> &int_sky),<span class="stringliteral">"summing obj & sky spectra"</span>);</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> </div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> <span class="comment">//check_nomsg(cpl_table_save(*int_obj, NULL, NULL, "out_int_obj.fits",</span></div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> <span class="comment">// CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> <span class="comment">//check_nomsg(cpl_table_save(int_sky, NULL, NULL, "out_int_sky.fits",</span></div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> <span class="comment">//CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> </div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> <span class="comment">// Computes thermal background</span></div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> sinfo_msg(<span class="stringliteral">"Computes thermal background"</span>);</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> <span class="comment"> ck0(sinfo_thermal_background2(int_sky,lambda,lrange,&bkg),</span></div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> <span class="comment"> "getting termal bkg");</span></div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> </div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> ck0(sinfo_thermal_background(int_sky,lambda,lrange,fit_temp,niter,</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> filter_width,dispersion,&bkg,&th_fit),</div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> <span class="stringliteral">"getting termal bkg"</span>);</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> </div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> </div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> check_nomsg(cpl_table_duplicate_column(*int_obj,<span class="stringliteral">"INT_SKY_ORG"</span>,int_sky,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> check_nomsg(cpl_table_duplicate_column(*int_obj,<span class="stringliteral">"INT_BKG_FIT"</span>,bkg,<span class="stringliteral">"INT2"</span>));</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> check_nomsg(cpl_table_duplicate_column(*int_obj,<span class="stringliteral">"INT_BKG_SMO"</span>,int_sky,</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> <span class="stringliteral">"INT_BKG_SMO"</span>));</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> </div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> sqc->th_fit=th_fit;</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> <span class="comment">//check_nomsg(cpl_table_save(bkg,NULL,NULL,"out_thermal_background.fits",</span></div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> <span class="comment">//CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> </div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> </div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> <span class="comment"> ck0(sinfo_pro_save_tbl(bkg,set,set,"out_thermal_background.fits",</span></div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> <span class="comment"> "THERMAL_BACKGROUND",NULL,cpl_func,config),</span></div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> <span class="comment"> "Error saving %s","THERMAL_BACKGROUND");</span></div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> </div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> sinfo_msg(<span class="stringliteral">"Subtracts thermal background from integrated OH spectrum"</span>);</div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> <span class="comment">//sinfo_msg("nrow=%d %d",cpl_table_get_nrow(int_sky),</span></div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> <span class="comment">// cpl_table_get_nrow(bkg));</span></div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> check_nomsg(cpl_table_duplicate_column(int_sky,<span class="stringliteral">"BKG"</span>,bkg,<span class="stringliteral">"INT2"</span>));</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> check_nomsg(cpl_table_duplicate_column(int_sky,<span class="stringliteral">"INT0"</span>,int_sky,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> check_nomsg(cpl_table_subtract_columns(int_sky,<span class="stringliteral">"INT"</span>,<span class="stringliteral">"BKG"</span>));</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> </div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> </div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> </div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> <span class="comment">//check_nomsg(cpl_table_duplicate_column(int_obj,"INT",</span></div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> <span class="comment">// int_obj,"INT_OBJ_COR"));</span></div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> </div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> <span class="keywordflow">if</span>(sub_thr_bkg == 1) {</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> check_nomsg(cpl_table_duplicate_column(*int_obj,<span class="stringliteral">"THR_BKG"</span>,bkg,<span class="stringliteral">"INT2"</span>));</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> check_nomsg(cpl_table_subtract_columns(*int_obj,<span class="stringliteral">"INT"</span>,<span class="stringliteral">"THR_BKG"</span>));</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> }</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> </div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> <span class="comment">//check_nomsg(cpl_table_save(*int_obj, NULL, NULL, "out_int_obj.fits",</span></div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> <span class="comment">//CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> <span class="comment">//check_nomsg(cpl_table_save(int_sky, NULL, NULL, "out_int_sky.fits",</span></div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> <span class="comment">//CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> </div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> </div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> <span class="comment">//check_nomsg(cpl_table_erase_column(int_sky,"BKG"));</span></div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> <span class="comment">//check_nomsg(cpl_table_save(grange, NULL, NULL, "out_grange_6.fits",</span></div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> <span class="comment">//CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> </div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> <span class="comment">//check_nomsg(cpl_table_save(int_sky, NULL, NULL, "out_int_sky_sub.fits",</span></div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> <span class="comment">//CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> </div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> </div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> </div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> <span class="comment">// check for screw values at ends of spectrum</span></div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> sinfo_msg(<span class="stringliteral">"Checks for screw values at ends of spectrum"</span>);</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> sinfo_check_screw_values(int_obj,&int_sky,grange,dispersion);</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> <span class="comment">//check_nomsg(cpl_table_save(grange, NULL, NULL, "out_grange_7.fits",</span></div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> <span class="comment">//CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> <span class="comment">//check_nomsg(cpl_table_save(*int_obj, NULL, NULL, "out_int_obj_chk.fits",</span></div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> <span class="comment">//CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> <span class="comment">//check_nomsg(cpl_table_save(int_sky, NULL, NULL, "out_int_sky_chk.fits",</span></div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> <span class="comment">//CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> </div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> </div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> </div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> <span class="keywordflow">if</span>(sky_interp_sw == 1) {</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> sinfo_msg(<span class="stringliteral">"Interpolate sky if necessary"</span>);</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> sinfo_interpolate_sky(int_sky,lambdas);</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> }</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> </div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> </div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> sinfo_msg(<span class="stringliteral">"Crosscorrelate obj & sky to check for lambda offset"</span>);</div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> <span class="comment">//check_nomsg(cpl_table_save(*int_obj, NULL, NULL, "out_int_obj_chk.fits",</span></div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> <span class="comment">//CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> <span class="comment">//check_nomsg(cpl_table_save(int_sky, NULL, NULL, "out_int_sky_chk.fits",</span></div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> <span class="comment">//CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> check_nomsg(wshift=sinfo_xcorr(*int_obj,int_sky,lambda,dispersion,line_hw));</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> </div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> </div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> <span class="comment">//wshift=-1.7164495*dispersion;</span></div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> sinfo_msg(<span class="stringliteral">"Dispersion=%f"</span>,dispersion);</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> <span class="keywordflow">if</span>(pshift == 0) {</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> pshift=wshift/dispersion;</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> }</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> sinfo_msg(<span class="stringliteral">"Shift sky of %f pixels toward object"</span>,pshift);</div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> </div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> check_nomsg(sinfo_shift_sky(&sky_frm,&int_sky,pshift));</div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> <span class="comment">//check_nomsg(cpl_table_save(*int_obj, NULL, NULL, "out_pip3_int_obj.fits",</span></div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> <span class="comment">//CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> <span class="comment">//check_nomsg(cpl_table_save(int_sky, NULL, NULL, "out_pip3_int_sky.fits",</span></div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> <span class="comment">//CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> </div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> </div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> <span class="comment">//DEBUG</span></div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> sinfo_msg(<span class="stringliteral">"Optimise sky subtraction"</span>);</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> check_nomsg(sinfo_optimise_sky_sub(dispersion,line_hw,method,do_rot,</div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> lrange,lambda,</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> lr41,lr52,lr63,lr74,lr02,lr85,</div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> lr20,lr31,lr42,lr53,lr64,lr75,</div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> lr86,lr97,lr00,int_obj,&int_sky,</div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> &rscale));</div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> </div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> </div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> <span class="comment">//check_nomsg(cpl_table_save(*int_obj, NULL, NULL, "out_int_obj.fits",</span></div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> <span class="comment">//CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> <span class="comment">//check_nomsg(cpl_table_save(int_sky, NULL, NULL, "out_int_sky.fits",</span></div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> <span class="comment">//CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> </div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> </div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> sinfo_msg(<span class="stringliteral">"Apply same scaling to whole cubes"</span>);</div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> </div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> </div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> cknull_nomsg(obj_cub=cpl_imagelist_load(cpl_frame_get_filename(obj_frm),</div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> CPL_TYPE_DOUBLE,0));</div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> cknull_nomsg(sky_cub=cpl_imagelist_load(cpl_frame_get_filename(sky_frm),</div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> CPL_TYPE_DOUBLE,0));</div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> </div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> </div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> </div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> </div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> <span class="keywordflow">if</span>(sub_thr_bkg == 1) {</div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> ck0_nomsg(sinfo_sub_thr_bkg_from_obj_cube(obj_cub,int_sky,obj_cor));</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> check_nomsg(*obj_cor=cpl_imagelist_duplicate(obj_cub));</div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> }</div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> </div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> ck0_nomsg(sinfo_scales_obj_sky_cubes(*obj_cor,sky_cub,bkg,rscale,obj_cor));</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> </div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> check_nomsg(cpl_table_name_column(*int_obj,<span class="stringliteral">"INT"</span>,<span class="stringliteral">"INT_OBJ_ORG"</span>));</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> check_nomsg(cpl_table_name_column(*int_obj,<span class="stringliteral">"INTC"</span>,<span class="stringliteral">"INT_OBJ_COR"</span>));</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> check_nomsg(cpl_table_name_column(*int_obj,<span class="stringliteral">"SKYC"</span>,<span class="stringliteral">"INT_SKY_COR"</span>));</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> </div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> </div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> cleanup:</div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> sinfo_free_table(&rscale);</div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> sinfo_free_imagelist(&fdata);</div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> </div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> sinfo_free_table(&bkg);</div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> sinfo_free_table(&lambda);</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> sinfo_free_table(&lrange);</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> sinfo_free_table(&mrange);</div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> sinfo_free_table(&grange);</div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> sinfo_free_table(&lambdas);</div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> sinfo_free_image(&mask);</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> </div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> sinfo_free_table(&lr41);</div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> sinfo_free_table(&lr52);</div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> sinfo_free_table(&lr63);</div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> sinfo_free_table(&lr74);</div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> sinfo_free_table(&lr02);</div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> sinfo_free_table(&lr85);</div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> sinfo_free_table(&lr20);</div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> sinfo_free_table(&lr31);</div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> sinfo_free_table(&lr42);</div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> sinfo_free_table(&lr53);</div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> sinfo_free_table(&lr64);</div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> sinfo_free_table(&lr75);</div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> sinfo_free_table(&lr86);</div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> sinfo_free_table(&lr97);</div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> sinfo_free_table(&lr00);</div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> </div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> sinfo_free_image(&gpix);</div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> sinfo_free_image(&ratio);</div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> sinfo_free_image(&ima_sky);</div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> <span class="comment">//sinfo_free_table(&int_obj);</span></div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> sinfo_free_table(&int_sky);</div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> </div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> sinfo_free_imagelist(&obj_cub);</div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> sinfo_free_imagelist(&sky_cub);</div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> </div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> }</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> </div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> </div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> }</div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> </div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> </div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> </div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> sinfo_sub_thr_bkg_from_obj_cube(cpl_imagelist* obj_cub,</div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> cpl_table* int_sky,</div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> cpl_imagelist** obj_cor)</div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> </div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> {</div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> <span class="keywordtype">double</span>* pthr_bkg=NULL;</div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> <span class="keywordtype">int</span> zsz=0;</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> cpl_image* imgo=NULL;</div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> </div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> check_nomsg(pthr_bkg=cpl_table_get_data_double(int_sky,<span class="stringliteral">"BKG"</span>));</div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> check_nomsg(zsz=cpl_imagelist_get_size(obj_cub));</div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> check_nomsg(*obj_cor=cpl_imagelist_duplicate(obj_cub));</div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> </div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> <span class="keywordflow">for</span>(k=0;k<zsz;k++) {</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> check_nomsg(imgo=cpl_imagelist_get(obj_cub,k));</div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> check_nomsg(cpl_image_subtract_scalar(imgo,pthr_bkg[k]));</div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> check_nomsg(cpl_imagelist_set(*obj_cor,imgo,k));</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> }</div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> </div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> cleanup:</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> }</div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> </div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> }</div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> </div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> </div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> </div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> sinfo_set_ranges(cpl_frame* obj_frm,</div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> cpl_frame* sky_frm,</div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> cpl_parameterlist* cfg,</div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> cpl_table** lambda,</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> cpl_table** lr41,</div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> cpl_table** lr52,</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> cpl_table** lr63,</div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> cpl_table** lr74,</div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> cpl_table** lr02,</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> cpl_table** lr85,</div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> cpl_table** lr20,</div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> cpl_table** lr31,</div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> cpl_table** lr42,</div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> cpl_table** lr53,</div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> cpl_table** lr64,</div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> cpl_table** lr75,</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> cpl_table** lr86,</div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> cpl_table** lr97,</div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> cpl_table** lr00,</div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> cpl_table** lrange,</div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> cpl_table** grange,</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> cpl_table** lambdas,</div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> cpl_table** mrange,</div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> <span class="keywordtype">int</span>* sky_interp_sw,</div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> <span class="keywordtype">double</span>* dispersion)</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> </div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> {</div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> </div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> <span class="keywordtype">double</span> crval_obj=0;</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> <span class="keywordtype">double</span> cdelt_obj=0;</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> <span class="keywordtype">double</span> crpix_obj=0;</div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> <span class="keywordtype">int</span> xsize_obj=0;</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> <span class="keywordtype">int</span> ysize_obj=0;</div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> <span class="keywordtype">int</span> zsize_obj=0;</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> </div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> </div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> <span class="keywordtype">double</span> crval_sky=0;</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> <span class="keywordtype">double</span> cdelt_sky=0;</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> <span class="keywordtype">double</span> crpix_sky=0;</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> <span class="keywordtype">int</span> xsize_sky=0;</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> <span class="keywordtype">int</span> ysize_sky=0;</div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> <span class="keywordtype">int</span> zsize_sky=0;</div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> </div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> <span class="keywordtype">int</span> nrow=0;</div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> <span class="comment">/* wavelength min-max J-H-K band */</span></div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> <span class="keyword">const</span> <span class="keywordtype">double</span> w_j_min=1.100;</div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> <span class="keyword">const</span> <span class="keywordtype">double</span> w_j_max=1.400;</div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> <span class="keyword">const</span> <span class="keywordtype">double</span> w_h_min=1.445;</div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> <span class="keyword">const</span> <span class="keywordtype">double</span> w_h_max=1.820;</div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> <span class="keyword">const</span> <span class="keywordtype">double</span> w_k_min=1.945;</div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> <span class="keyword">const</span> <span class="keywordtype">double</span> w_k_max=2.460;</div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> </div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> <span class="keywordtype">double</span> ws=0;</div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> <span class="keywordtype">double</span> we=0;</div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> <span class="keywordtype">double</span> mean=0;</div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> </div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> cpl_parameter* p=NULL;</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> </div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> <span class="comment">/* wavelength boundaries between line groups corresponding</span></div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> <span class="comment"> to transitions 5-2 to 9-7 */</span></div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> <span class="keywordtype">double</span> w_bound[NBOUND]={1.067,1.125,1.196,1.252,1.289,</div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> 1.400,1.472,1.5543,1.6356,1.7253,</div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> 1.840,1.9570,2.095,2.300};</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> </div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> cpl_table* tmp_tbl=NULL;</div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> cpl_table* add1=NULL;</div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> </div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> </div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> </div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> <span class="comment">/* Get Object relevant information */</span></div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> cknull_nomsg(plist=cpl_propertylist_load(cpl_frame_get_filename(obj_frm),0));</div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> check_nomsg(crval_obj=sinfo_pfits_get_crval3(plist));</div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> check_nomsg(cdelt_obj=sinfo_pfits_get_cdelt3(plist));</div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> check_nomsg(crpix_obj=sinfo_pfits_get_crpix3(plist));</div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> check_nomsg(xsize_obj=sinfo_pfits_get_naxis1(plist));</div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> check_nomsg(ysize_obj=sinfo_pfits_get_naxis2(plist));</div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> check_nomsg(zsize_obj=sinfo_pfits_get_naxis3(plist));</div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> </div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> *dispersion=cdelt_obj;</div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> </div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> <span class="comment">/* defines object related wavelength ranges */</span></div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> check_nomsg(*lambda=cpl_table_new(zsize_obj));</div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> cpl_table_new_column(*lambda,<span class="stringliteral">"WAVE"</span>,CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> cpl_table_new_column(*lambda,<span class="stringliteral">"INDEX"</span>,CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> check_nomsg(sinfo_table_column_dindgen(lambda,<span class="stringliteral">"INDEX"</span>));</div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> check_nomsg(sinfo_table_column_dindgen(lambda,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> </div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> check_nomsg(cpl_table_add_scalar(*lambda,<span class="stringliteral">"WAVE"</span>,1.));</div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> check_nomsg(cpl_table_subtract_scalar(*lambda,<span class="stringliteral">"WAVE"</span>,crpix_obj));</div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> check_nomsg(cpl_table_multiply_scalar(*lambda,<span class="stringliteral">"WAVE"</span>,cdelt_obj));</div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> check_nomsg(cpl_table_add_scalar(*lambda,<span class="stringliteral">"WAVE"</span>,crval_obj));</div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> </div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> </div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> </div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> </div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> cknull_nomsg(*lr41=sinfo_where_tab_min_max(*lambda,</div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> <span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> CPL_NOT_LESS_THAN,</div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> w_j_min,</div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> CPL_LESS_THAN,</div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> w_bound[0]));</div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> </div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> cknull_nomsg(*lr52=sinfo_where_tab_min_max(*lambda,</div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> <span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> CPL_NOT_LESS_THAN,</div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> w_bound[0],</div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> CPL_LESS_THAN,</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> w_bound[1]));</div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> </div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> cknull_nomsg(*lr63=sinfo_where_tab_min_max(*lambda,</div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> <span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> CPL_NOT_LESS_THAN,</div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> w_bound[1],</div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> CPL_LESS_THAN,</div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> w_bound[2]));</div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> </div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> </div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> cknull_nomsg(*lr74=sinfo_where_tab_min_max(*lambda,</div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> <span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> CPL_NOT_LESS_THAN,</div>
-<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span> w_bound[2],</div>
-<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> CPL_LESS_THAN,</div>
-<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> w_bound[3]));</div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> </div>
-<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> cknull_nomsg(*lr20=sinfo_where_tab_min_max(*lambda,</div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> <span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> CPL_NOT_LESS_THAN,</div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> w_bound[3],</div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> CPL_LESS_THAN,</div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> w_bound[4]));</div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> </div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> cknull_nomsg(*lr02=sinfo_where_tab_min_max(*lambda,</div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> <span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> CPL_NOT_LESS_THAN,</div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> w_bound[4],</div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> CPL_LESS_THAN,</div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> w_bound[5]));</div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> </div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> </div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> cknull_nomsg(*lr85=sinfo_where_tab_min_max(*lambda,</div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> <span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> CPL_NOT_LESS_THAN,</div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> w_bound[5],</div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> CPL_LESS_THAN,</div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> w_bound[6]));</div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> </div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> cknull_nomsg(*lr31=sinfo_where_tab_min_max(*lambda,</div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> <span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> CPL_NOT_LESS_THAN,</div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> w_bound[6],</div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> CPL_LESS_THAN,</div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> w_bound[7]));</div>
-<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> </div>
-<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> cknull_nomsg(*lr42=sinfo_where_tab_min_max(*lambda,</div>
-<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> <span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> CPL_NOT_LESS_THAN,</div>
-<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> w_bound[7],</div>
-<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> CPL_LESS_THAN,</div>
-<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> w_bound[8]));</div>
-<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> </div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> cknull_nomsg(*lr53=sinfo_where_tab_min_max(*lambda,</div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> <span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> CPL_NOT_LESS_THAN,</div>
-<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> w_bound[8],</div>
-<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> CPL_LESS_THAN,</div>
-<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> w_bound[9]));</div>
-<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> </div>
-<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> cknull_nomsg(*lr64=sinfo_where_tab_min_max(*lambda,</div>
-<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span> <span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span> CPL_NOT_LESS_THAN,</div>
-<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> w_bound[0],</div>
-<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> CPL_LESS_THAN,</div>
-<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> w_bound[10]));</div>
-<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> </div>
-<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> cknull_nomsg(*lr75=sinfo_where_tab_min_max(*lambda,</div>
-<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span> <span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> CPL_NOT_LESS_THAN,</div>
-<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span> w_bound[10],</div>
-<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> CPL_LESS_THAN,</div>
-<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> w_bound[11]));</div>
-<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> </div>
-<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> cknull_nomsg(*lr86=sinfo_where_tab_min_max(*lambda,</div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> <span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> CPL_NOT_LESS_THAN,</div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> w_bound[11],</div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> CPL_LESS_THAN,</div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> w_bound[12]));</div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> </div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> cknull_nomsg(*lr97=sinfo_where_tab_min_max(*lambda,</div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> <span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> CPL_NOT_LESS_THAN,</div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> w_bound[12],</div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> CPL_LESS_THAN,</div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> w_bound[13]));</div>
-<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> </div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> cknull_nomsg(*lr00=sinfo_where_tab_min_max(*lambda,</div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> <span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> CPL_NOT_LESS_THAN,</div>
-<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> w_bound[13],</div>
-<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> CPL_LESS_THAN,</div>
-<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> w_k_max));</div>
-<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span> </div>
-<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> <span class="comment">/* lrange */</span></div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> cknull_nomsg(*lrange=sinfo_where_tab_min_max(*lambda,</div>
-<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> <span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> CPL_NOT_LESS_THAN,</div>
-<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> w_j_min,</div>
-<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> CPL_NOT_GREATER_THAN,</div>
-<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> w_j_max));</div>
-<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> </div>
-<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> </div>
-<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span> </div>
-<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> cknull_nomsg(add1=sinfo_where_tab_min_max(*lambda,</div>
-<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span> <span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> CPL_NOT_LESS_THAN,</div>
-<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span> w_h_min,</div>
-<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span> CPL_NOT_GREATER_THAN,</div>
-<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> w_h_max));</div>
-<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span> </div>
-<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span> check_nomsg(nrow=cpl_table_get_nrow(*lrange));</div>
-<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span> check_nomsg(cpl_table_insert(*lrange,add1,nrow));</div>
-<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> sinfo_free_table(&add1);</div>
-<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span> </div>
-<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span> cknull_nomsg(add1=sinfo_where_tab_min_max(*lambda,</div>
-<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> <span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span> CPL_NOT_LESS_THAN,</div>
-<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span> w_k_min,</div>
-<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span> CPL_NOT_GREATER_THAN,</div>
-<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span> w_k_max));</div>
-<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span> </div>
-<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span> </div>
-<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span> check_nomsg(nrow=cpl_table_get_nrow(*lrange));</div>
-<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span> check_nomsg(cpl_table_insert(*lrange,add1,nrow));</div>
-<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> sinfo_free_table(&add1);</div>
-<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span> </div>
-<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span> </div>
-<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span> <span class="comment">/* mrange */</span></div>
-<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span> cknull_nomsg(*grange=sinfo_where_tab_min_max(*lambda,</div>
-<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span> <span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span> CPL_NOT_LESS_THAN,</div>
-<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span> 1.10,</div>
-<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span> CPL_NOT_GREATER_THAN,</div>
-<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span> 1.35));</div>
-<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span> </div>
-<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span> </div>
-<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span> </div>
-<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span> </div>
-<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span> cknull_nomsg(add1=sinfo_where_tab_min_max(*lambda,</div>
-<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span> <span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> CPL_NOT_LESS_THAN,</div>
-<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> 1.5,</div>
-<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> CPL_NOT_GREATER_THAN,</div>
-<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> 1.7));</div>
-<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> </div>
-<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> check_nomsg(nrow=cpl_table_get_nrow(*grange));</div>
-<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> check_nomsg(cpl_table_insert(*grange,add1,nrow));</div>
-<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> sinfo_free_table(&add1);</div>
-<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> </div>
-<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> </div>
-<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> </div>
-<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> cknull_nomsg(add1=sinfo_where_tab_min_max(*lambda,</div>
-<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> <span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> CPL_NOT_LESS_THAN,</div>
-<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> 2.0,</div>
-<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> CPL_NOT_GREATER_THAN,</div>
-<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> 2.3));</div>
-<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> </div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> check_nomsg(nrow=cpl_table_get_nrow(*grange));</div>
-<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> check_nomsg(cpl_table_insert(*grange,add1,nrow));</div>
-<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> sinfo_free_table(&add1);</div>
-<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> </div>
-<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> </div>
-<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span> <span class="comment">/* Get Sky relevant information */</span></div>
-<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> cknull_nomsg(plist=cpl_propertylist_load(cpl_frame_get_filename(sky_frm),0));</div>
-<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> check_nomsg(crval_sky=sinfo_pfits_get_crval3(plist));</div>
-<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span> check_nomsg(cdelt_sky=sinfo_pfits_get_cdelt3(plist));</div>
-<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> check_nomsg(crpix_sky=sinfo_pfits_get_crpix3(plist));</div>
-<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span> check_nomsg(xsize_sky=sinfo_pfits_get_naxis1(plist));</div>
-<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span> check_nomsg(ysize_sky=sinfo_pfits_get_naxis2(plist));</div>
-<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> check_nomsg(zsize_sky=sinfo_pfits_get_naxis3(plist));</div>
-<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span> </div>
-<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span> <span class="comment">/* defines sky related wavelength ranges */</span></div>
-<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span> check_nomsg(*lambdas=cpl_table_new(zsize_sky));</div>
-<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span> cpl_table_new_column(*lambdas,<span class="stringliteral">"WAVE"</span>,CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> check_nomsg(sinfo_table_column_dindgen(lambdas,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span> </div>
-<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span> check_nomsg(cpl_table_add_scalar(*lambdas,<span class="stringliteral">"WAVE"</span>,1.));</div>
-<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span> check_nomsg(cpl_table_subtract_scalar(*lambdas,<span class="stringliteral">"WAVE"</span>,crpix_sky));</div>
-<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> check_nomsg(cpl_table_multiply_scalar(*lambdas,<span class="stringliteral">"WAVE"</span>,cdelt_sky));</div>
-<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span> check_nomsg(cpl_table_add_scalar(*lambdas,<span class="stringliteral">"WAVE"</span>,crval_sky));</div>
-<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span> </div>
-<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span> check_nomsg(p=cpl_parameterlist_find(cfg,<span class="stringliteral">"sinfoni.sinfo_utl_skycor.mask_ws"</span>));</div>
-<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span> check_nomsg(ws=cpl_parameter_get_double(p));</div>
-<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> check_nomsg(p=cpl_parameterlist_find(cfg,<span class="stringliteral">"sinfoni.sinfo_utl_skycor.mask_we"</span>));</div>
-<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> check_nomsg(we=cpl_parameter_get_double(p));</div>
-<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span> <span class="keywordflow">if</span>((ws != SINFO_MASK_WAVE_MIN) || (we != SINFO_MASK_WAVE_MAX)) {</div>
-<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> cknull_nomsg(*mrange=sinfo_where_tab_min_max(*lambda,<span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span> CPL_NOT_LESS_THAN,ws,</div>
-<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> CPL_NOT_GREATER_THAN,we));</div>
-<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span> check_nomsg(*mrange=cpl_table_duplicate(*lrange));</div>
-<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> }</div>
-<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span> </div>
-<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> </div>
-<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span> check_nomsg(cpl_table_duplicate_column(*lambda,<span class="stringliteral">"WDIFF"</span>,*lambdas,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span> check_nomsg(cpl_table_subtract_columns(*lambda,<span class="stringliteral">"WDIFF"</span>,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> check_nomsg(mean=cpl_table_get_column_mean(*lambda,<span class="stringliteral">"WDIFF"</span>));</div>
-<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> check_nomsg(nrow=cpl_table_get_nrow(*lambda));</div>
-<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"diff %f"</span>,nrow*mean);</div>
-<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span> <span class="keywordflow">if</span>((fabs(nrow*mean) > 0) || (zsize_obj != zsize_sky)) {</div>
-<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> sinfo_msg(<span class="stringliteral">"We have to interpolate sky frame - this is not good"</span>);</div>
-<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span> *sky_interp_sw=1;</div>
-<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span> }</div>
-<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span> </div>
-<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span> </div>
-<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span> </div>
-<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span> cleanup:</div>
-<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span> sinfo_free_table(&add1);</div>
-<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span> sinfo_free_table(&tmp_tbl);</div>
-<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span> </div>
-<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span> }</div>
-<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> </div>
-<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span> </div>
-<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span> sinfo_table_column_dindgen(cpl_table** t, <span class="keyword">const</span> <span class="keywordtype">char</span>* label)</div>
-<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span> {</div>
-<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span> </div>
-<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span> <span class="keywordtype">int</span> sz=0;</div>
-<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> </div>
-<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span> cknull(*t,<span class="stringliteral">"Null input vector"</span>);</div>
-<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span> check(sz=cpl_table_get_nrow(*t),<span class="stringliteral">"Getting size of a vector"</span>);</div>
-<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> <span class="keywordflow">for</span>(i=0;i<sz;i++) {</div>
-<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span> cpl_table_set(*t,label,i,(<span class="keywordtype">double</span>)i);</div>
-<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> }</div>
-<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span> </div>
-<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span> cleanup:</div>
-<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span> </div>
-<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span> }</div>
-<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span> </div>
-<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span> </div>
-<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span> </div>
-<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span> sinfo_sum_spectra(<span class="keyword">const</span> cpl_frame* obj_frm,</div>
-<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span> <span class="keyword">const</span> cpl_frame* sky_frm,</div>
-<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span> cpl_image* mask,</div>
-<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span> cpl_table* wrange,</div>
-<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span> <span class="keyword">const</span> <span class="keywordtype">int</span> llx,</div>
-<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span> <span class="keyword">const</span> <span class="keywordtype">int</span> lly,</div>
-<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span> <span class="keyword">const</span> <span class="keywordtype">int</span> urx,</div>
-<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ury,</div>
-<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span> cpl_table** int_obj,</div>
-<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span> cpl_table** int_sky)</div>
-<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span> {</div>
-<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span> </div>
-<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span> </div>
-<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span> </div>
-<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span> cpl_image* obj_slice=NULL;</div>
-<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span> cpl_image* sky_slice=NULL;</div>
-<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span> cpl_image* gslice=NULL;</div>
-<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span> cpl_image* pos_tmp=NULL;</div>
-<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span> cpl_image* msk_tmp=NULL;</div>
-<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span> cpl_imagelist* obj=NULL;</div>
-<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span> cpl_imagelist* sky=NULL;</div>
-<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span> </div>
-<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span> </div>
-<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span> cpl_table* loop=NULL;</div>
-<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span> cpl_table* opos_tbl=NULL;</div>
-<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span> cpl_table* spos_tbl=NULL;</div>
-<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span> cpl_table* tmp_tbl=NULL;</div>
-<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span> cpl_table* loop_tbl=NULL;</div>
-<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span> </div>
-<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span> <span class="keywordtype">double</span> med=0;</div>
-<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span> <span class="keywordtype">double</span> sdv=0;</div>
-<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span> <span class="keywordtype">double</span> avg=0;</div>
-<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span> </div>
-<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span> <span class="keywordtype">int</span> zsize=0;</div>
-<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span> <span class="keywordtype">int</span> pos_i=0;</div>
-<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span> </div>
-<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span> <span class="comment">// sum spectra of flagged spaxels</span></div>
-<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span> </div>
-<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span> cknull_nomsg(obj=cpl_imagelist_load(cpl_frame_get_filename(obj_frm),</div>
-<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span> CPL_TYPE_DOUBLE,0));</div>
-<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span> cknull_nomsg(sky=cpl_imagelist_load(cpl_frame_get_filename(sky_frm),</div>
-<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span> CPL_TYPE_DOUBLE,0));</div>
-<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span> </div>
-<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span> check_nomsg(zsize=cpl_imagelist_get_size(obj));</div>
-<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span> check_nomsg(*int_obj = cpl_table_new(zsize));</div>
-<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span> check_nomsg(*int_sky = cpl_table_new(zsize));</div>
-<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span> check_nomsg(cpl_table_duplicate_column(*int_obj,<span class="stringliteral">"WAVE"</span>,wrange,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span> check_nomsg(cpl_table_duplicate_column(*int_sky,<span class="stringliteral">"WAVE"</span>,wrange,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span> check_nomsg(cpl_table_new_column(*int_obj,<span class="stringliteral">"INT"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span> check_nomsg(cpl_table_new_column(*int_sky,<span class="stringliteral">"INT"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span> check_nomsg(cpl_table_fill_column_window_double(*int_obj,<span class="stringliteral">"INT"</span>,0,zsize,0));</div>
-<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span> check_nomsg(cpl_table_fill_column_window_double(*int_sky,<span class="stringliteral">"INT"</span>,0,zsize,0));</div>
-<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span> </div>
-<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span> <span class="comment">//loop = where(mask > 0.5);</span></div>
-<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span> <span class="comment">//TO BE REMOVED: loop_tbl is not used</span></div>
-<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span> cknull_nomsg(loop_tbl=sinfo_image2table(mask));</div>
-<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span> check_nomsg(cpl_table_and_selected_double(loop_tbl,<span class="stringliteral">"VALUE"</span>,</div>
-<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span> CPL_GREATER_THAN,0.5));</div>
-<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span> check_nomsg(loop=cpl_table_extract_selected(loop_tbl));</div>
-<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span> sinfo_free_table(&loop_tbl);</div>
-<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span> sinfo_free_table(&loop);</div>
-<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span> </div>
-<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span> <span class="comment">//Determines object spectrum</span></div>
-<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span> <span class="keywordflow">for</span> (i=0;i<zsize;i++) {</div>
-<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span> check_nomsg(obj_slice = cpl_imagelist_get(obj,i));</div>
-<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span> </div>
-<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span> <span class="comment">//pos = where(mask > 0.5 && finite(obj_slice),pos_i);</span></div>
-<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span> pos_i=sinfo_cnt_mask_thresh_and_obj_finite(mask,0.5,obj_slice);</div>
-<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span> <span class="keywordflow">if</span> (pos_i >= 1) {</div>
-<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span> <span class="keywordflow">if</span> ((pos_i) < 3 ) {</div>
-<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span> <span class="comment">//int_obj[i] = mean(obj_slice[pos]);</span></div>
-<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span> <span class="comment">//TODO here obj_slice should be considered only on pos:</span></div>
-<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span> <span class="comment">// one should do a selection/thresholding</span></div>
-<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span> check_nomsg(cpl_table_set_double(*int_obj,<span class="stringliteral">"INT"</span>,i,</div>
-<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span> cpl_image_get_mean_window(obj_slice,</div>
-<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span> llx,lly,</div>
-<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span> urx,ury)));</div>
-<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span> <span class="comment">// select only poisitions where mask>0.5 and obj is finite</span></div>
-<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span> <span class="comment">// gslice = obj_slice[pos];</span></div>
-<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span> <span class="comment">//sinfo_msg("obj pos_i=%d",pos_i);</span></div>
-<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span> </div>
-<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span> check_nomsg(gslice = cpl_image_duplicate(obj_slice));</div>
-<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span> check_nomsg(sinfo_image_flag_nan(&gslice));</div>
-<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span> <span class="comment"> sinfo_msg("obj: min=%f max=%f",</span></div>
-<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span> <span class="comment"> cpl_image_get_min(obj_slice),</span></div>
-<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span> <span class="comment"> cpl_image_get_max(obj_slice));</span></div>
-<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span> <span class="comment">//check_nomsg(cpl_image_threshold(gslice,SINFO_DBL_MIN,3.0e6,1,0));</span></div>
-<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span> <span class="comment">//check_nomsg(cpl_image_multiply(gslice,mask));</span></div>
-<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span> <span class="keywordflow">if</span>(cpl_image_count_rejected(gslice) < 2048) { <span class="comment">//2048=64*64/2</span></div>
-<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span> </div>
-<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span> check_nomsg(med = cpl_image_get_median_window(gslice,llx,lly,urx,ury));</div>
-<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span> check_nomsg(sdv = cpl_image_get_stdev_window(gslice,llx,lly,urx,ury));</div>
-<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span> <span class="comment">//sinfo_msg("med=%f sdv=%f",med,sdv);</span></div>
-<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span> <span class="comment">//avg = mean(gslice[where(gslice < med+3*sdv && gslice > med-3*sdv)]);</span></div>
-<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span> check_nomsg(cpl_image_threshold(gslice,med-3*sdv,med+3*sdv,0,0));</div>
-<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span> check_nomsg(avg= cpl_image_get_mean_window(gslice,llx,lly,urx,ury));</div>
-<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span> check_nomsg(cpl_table_set_double(*int_obj,<span class="stringliteral">"INT"</span>,i,avg));</div>
-<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span> check_nomsg(cpl_table_set_invalid(*int_obj,<span class="stringliteral">"INT"</span>,i));</div>
-<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span> }</div>
-<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span> </div>
-<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span> sinfo_free_image(&gslice);</div>
-<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span> <span class="comment">//sinfo_msg("sky int=%f",avg);</span></div>
-<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span> }</div>
-<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span> }</div>
-<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span> </div>
-<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span> <span class="comment">//Determines sky spectrum</span></div>
-<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span> check_nomsg(sky_slice = cpl_imagelist_get(sky,i));</div>
-<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span> <span class="comment">//pos = where(mask > 0.5 and finite(sky_slice),pos_i);</span></div>
-<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span> pos_i=sinfo_cnt_mask_thresh_and_obj_finite(mask,0.5,sky_slice);</div>
-<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span> <span class="keywordflow">if</span> (pos_i >= 1) {</div>
-<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span> <span class="keywordflow">if</span> ((pos_i) < 3) {</div>
-<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span> <span class="comment">//int_obj[i] = mean(obj_slice[pos]);</span></div>
-<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span> <span class="comment">//TODO here obj_slice should be considered only on pos:</span></div>
-<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span> <span class="comment">// one should do a selection/thresholding</span></div>
-<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span> check_nomsg(cpl_table_set_double(*int_sky,<span class="stringliteral">"INT"</span>,i,</div>
-<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span> cpl_image_get_mean_window(sky_slice,</div>
-<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span> llx,lly,</div>
-<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span> urx,ury)));</div>
-<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span> <span class="comment">//sinfo_msg("pos_i=%d",pos_i);</span></div>
-<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span> <span class="comment">// select only poisitions where mask>0.5 and obj is finite</span></div>
-<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span> <span class="comment">// gslice = obj_slice[pos];</span></div>
-<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span> check_nomsg(gslice = cpl_image_duplicate(sky_slice));</div>
-<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span> check_nomsg(sinfo_image_flag_nan(&gslice));</div>
-<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span> <span class="comment">//check_nomsg(cpl_image_threshold(gslice,SINFO_DBL_MIN,3.0e6,1,0));</span></div>
-<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span> <span class="comment">//check_nomsg(cpl_image_multiply(gslice,mask));</span></div>
-<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span> <span class="keywordflow">if</span>(cpl_image_count_rejected(gslice) < 2048) { <span class="comment">//2048=64*64/2</span></div>
-<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span> </div>
-<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span> check_nomsg(med = cpl_image_get_median_window(gslice,llx,lly,urx,ury));</div>
-<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span> check_nomsg(sdv = cpl_image_get_stdev_window(gslice,llx,lly,urx,ury));</div>
-<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span> <span class="comment">//avg = mean(gslice[where(gslice < med+3*sdv && gslice > med-3*sdv)]);</span></div>
-<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span> check_nomsg(cpl_image_threshold(gslice,med-3*sdv,med+3*sdv,0,0));</div>
-<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span> check_nomsg(avg= cpl_image_get_mean_window(gslice,llx,lly,urx,ury));</div>
-<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span> check_nomsg(cpl_table_set_double(*int_sky,<span class="stringliteral">"INT"</span>,i,avg));</div>
-<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span> check_nomsg(cpl_table_set_invalid(*int_sky,<span class="stringliteral">"INT"</span>,i));</div>
-<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span> }</div>
-<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span> sinfo_free_image(&gslice);</div>
-<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span> <span class="comment"> if(i<100) {</span></div>
-<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span> <span class="comment"> sinfo_msg("sky: wave=%f int=%f",</span></div>
-<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span> <span class="comment"> cpl_table_get_double(*int_sky,"WAVE",i,&status),avg);</span></div>
-<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span> <span class="comment"></span></div>
-<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span> }</div>
-<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span> }</div>
-<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span> }</div>
-<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span> </div>
-<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span> sinfo_free_imagelist(&obj);</div>
-<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span> sinfo_free_imagelist(&sky);</div>
-<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span> </div>
-<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span> </div>
-<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span> </div>
-<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span> cleanup:</div>
-<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span> sinfo_free_image(&gslice);</div>
-<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span> sinfo_free_image(&pos_tmp);</div>
-<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span> sinfo_free_image(&msk_tmp);</div>
-<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span> sinfo_free_table(&tmp_tbl);</div>
-<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span> sinfo_free_table(&opos_tbl);</div>
-<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span> sinfo_free_table(&spos_tbl);</div>
-<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span> sinfo_free_table(&loop_tbl);</div>
-<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span> sinfo_free_table(&loop);</div>
-<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span> sinfo_free_imagelist(&obj);</div>
-<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span> sinfo_free_imagelist(&sky);</div>
-<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span> </div>
-<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span> }</div>
-<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span> </div>
-<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span> </div>
-<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span> </div>
-<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span> </div>
-<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span> </div>
-<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span> </div>
-<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span> </div>
-<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span> sinfo_cnt_mask_thresh_and_obj_finite(<span class="keyword">const</span> cpl_image* mask,</div>
-<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span> <span class="keyword">const</span> <span class="keywordtype">double</span> t,</div>
-<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span> <span class="keyword">const</span> cpl_image* obj)</div>
-<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span> {</div>
-<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span> </div>
-<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span> <span class="keywordtype">int</span> cnt=0;</div>
-<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span> <span class="keywordtype">int</span> sxm=0;</div>
-<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span> <span class="keywordtype">int</span> sym=0;</div>
-<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span> <span class="keywordtype">int</span> sxo=0;</div>
-<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span> <span class="keywordtype">int</span> syo=0;</div>
-<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span> <span class="keyword">const</span> <span class="keywordtype">double</span>* pm=NULL;</div>
-<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span> <span class="keyword">const</span> <span class="keywordtype">double</span>* po=NULL;</div>
-<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span> </div>
-<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span> check_nomsg(sxm=cpl_image_get_size_x(mask));</div>
-<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span> check_nomsg(sym=cpl_image_get_size_y(mask));</div>
-<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span> check_nomsg(sxo=cpl_image_get_size_x(obj));</div>
-<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span> check_nomsg(syo=cpl_image_get_size_y(obj));</div>
-<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span> <span class="keywordflow">if</span>( sxm != sxo || sym != syo) {</div>
-<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span> }</div>
-<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span> check_nomsg(pm=cpl_image_get_data_double_const(mask));</div>
-<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span> check_nomsg(po=cpl_image_get_data_double_const(obj));</div>
-<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span> </div>
-<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span> <span class="keywordflow">for</span>(i=0;i<sxm*sym;i++) {</div>
-<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span> </div>
-<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span> <span class="keywordflow">if</span>( (pm[i] > t) && (!irplib_isnan(po[i]))) { cnt++; }</div>
-<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span> </div>
-<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span> }</div>
-<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span> </div>
-<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span> <span class="keywordflow">return</span> cnt;</div>
-<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span> cleanup:</div>
-<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span> </div>
-<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span> }</div>
-<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span> </div>
-<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span> </div>
-<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span> </div>
-<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span> </div>
-<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span> </div>
-<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span> </div>
-<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span> </div>
-<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span> sinfo_image_flag_nan(cpl_image** im)</div>
-<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span> {</div>
-<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span> </div>
-<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span> <span class="keywordtype">int</span> cnt=0;</div>
-<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span> <span class="keywordtype">int</span> sx=0;</div>
-<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span> <span class="keywordtype">int</span> sy=0;</div>
-<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span> </div>
-<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span> <span class="keywordtype">double</span>* pi=NULL;</div>
-<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span> </div>
-<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span> check_nomsg(sx=cpl_image_get_size_x(*im));</div>
-<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span> check_nomsg(sy=cpl_image_get_size_y(*im));</div>
-<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span> check_nomsg(pi=cpl_image_get_data_double(*im));</div>
-<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span> </div>
-<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span> <span class="keywordflow">for</span>(j=0;j<sy;j++) {</div>
-<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span> <span class="keywordflow">for</span>(i=0;i<sx;i++) {</div>
-<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span> <span class="keywordflow">if</span>(irplib_isnan(pi[j*sx+i])) {</div>
-<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span> check_nomsg(cpl_image_reject(*im,i+1,j+1));</div>
-<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span> cnt++;</div>
-<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span> }</div>
-<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span> }</div>
-<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span> }</div>
-<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span> <span class="comment">//sinfo_msg("No bad pixels: %d",cnt);</span></div>
-<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span> <span class="keywordflow">return</span> cnt;</div>
-<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span> cleanup:</div>
-<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span> </div>
-<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span> }</div>
-<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span> </div>
-<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span> </div>
-<div class="line"><a name="l01656"></a><span class="lineno"> 1656</span> </div>
-<div class="line"><a name="l01657"></a><span class="lineno"> 1657</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span> </div>
-<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span> sinfo_object_estimate_noise(cpl_frame* obj_frm,</div>
-<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span> <span class="keyword">const</span> <span class="keywordtype">int</span> obj_noise_fit,</div>
-<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span> <span class="keywordtype">double</span>* centre,</div>
-<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span> <span class="keywordtype">double</span>* noise)</div>
-<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span> {</div>
-<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span> </div>
-<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nbins=HISTO_NBINS;</div>
-<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span> </div>
-<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span> <span class="keywordtype">int</span> xsz=0;</div>
-<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span> <span class="keywordtype">int</span> ysz=0;</div>
-<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span> <span class="keywordtype">int</span> zsz=0;</div>
-<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span> <span class="keywordtype">int</span> n=0;</div>
-<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span> <span class="keywordtype">int</span> r=0;</div>
-<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span> </div>
-<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span> <span class="keywordtype">int</span> max_h=0;</div>
-<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span> <span class="keywordtype">int</span> min_x=0;</div>
-<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span> <span class="keywordtype">int</span> max_x=0;</div>
-<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span> <span class="keywordtype">int</span> status=0;</div>
-<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span> <span class="keywordtype">int</span> max_pos=0;</div>
-<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span> <span class="keywordtype">int</span> min_pos=0;</div>
-<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span> <span class="keywordtype">int</span> min_xi_sz=0;</div>
-<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span> <span class="keywordtype">int</span> ndist=0;</div>
-<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span> </div>
-<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span> <span class="keywordtype">double</span> avg_d=0;</div>
-<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span> <span class="keywordtype">double</span> std_d=0;</div>
-<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span> <span class="keywordtype">double</span> hmin=0;</div>
-<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span> <span class="keywordtype">double</span> hmax=0;</div>
-<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span> <span class="keywordtype">double</span> kappa=3;</div>
-<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span> </div>
-<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span> <span class="keywordtype">double</span>* pdata=NULL;</div>
-<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span> <span class="keywordtype">double</span>* disth=NULL;</div>
-<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span> <span class="keywordtype">double</span>* distx=NULL;</div>
-<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span> </div>
-<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span> <span class="keywordtype">double</span> peak=0;</div>
-<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span> <span class="keywordtype">double</span> tempc=0;</div>
-<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span> <span class="keywordtype">double</span> value=0;</div>
-<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span> <span class="keywordtype">double</span> thres=0;</div>
-<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span> <span class="keywordtype">double</span> val=0;</div>
-<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span> <span class="keywordtype">double</span> x0=0;</div>
-<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span> <span class="keywordtype">double</span> sigma=0;</div>
-<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span> <span class="keywordtype">double</span> area=0;</div>
-<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span> <span class="keywordtype">double</span> offset=0;</div>
-<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span> <span class="comment">//double mse=0;</span></div>
-<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span> <span class="comment">//double chired=0;</span></div>
-<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span> </div>
-<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span> cpl_imagelist* obj_cub=NULL;</div>
-<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span> cpl_table* data_tbl=NULL;</div>
-<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span> cpl_table* histo=NULL;</div>
-<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span> cpl_image* img=NULL;</div>
-<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span> cpl_table* dist=NULL;</div>
-<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span> cpl_table* min_xi=NULL;</div>
-<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span> cpl_table* tmp_tbl1=NULL;</div>
-<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span> cpl_table* tmp_tbl2=NULL;</div>
-<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span> cpl_vector* vx=NULL;</div>
-<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span> cpl_vector* vy=NULL;</div>
-<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span> cpl_vector* sx=NULL;</div>
-<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span> cpl_vector* sy=NULL;</div>
-<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span> <span class="keywordtype">int</span> counter=0;</div>
-<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span> </div>
-<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span> <span class="comment">// Get Object relevant information</span></div>
-<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span> cknull_nomsg(plist=cpl_propertylist_load(cpl_frame_get_filename(obj_frm),0));</div>
-<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span> check_nomsg(xsz=sinfo_pfits_get_naxis1(plist));</div>
-<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span> check_nomsg(ysz=sinfo_pfits_get_naxis2(plist));</div>
-<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span> check_nomsg(zsz=sinfo_pfits_get_naxis3(plist));</div>
-<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span> </div>
-<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span> cknull_nomsg(obj_cub=cpl_imagelist_load(cpl_frame_get_filename(obj_frm),</div>
-<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span> CPL_TYPE_DOUBLE,0));</div>
-<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span> </div>
-<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span> n=xsz*ysz*zsz;</div>
-<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span> check_nomsg(data_tbl=cpl_table_new(n));</div>
-<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span> check_nomsg(cpl_table_new_column(data_tbl,<span class="stringliteral">"DATA"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span> </div>
-<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span> </div>
-<div class="line"><a name="l01749"></a><span class="lineno"> 1749</span> <span class="keywordflow">for</span>(k=0;k<zsz;k++) {</div>
-<div class="line"><a name="l01750"></a><span class="lineno"> 1750</span> check_nomsg(img=cpl_imagelist_get(obj_cub,k));</div>
-<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span> check_nomsg(pdata=cpl_image_get_data(img));</div>
-<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span> <span class="keywordflow">for</span>(i=0;i<xsz*ysz;i++) {</div>
-<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span> <span class="keywordflow">if</span>(!irplib_isnan(pdata[i])) {</div>
-<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span> cpl_table_set_double(data_tbl,<span class="stringliteral">"DATA"</span>,r,pdata[i]);</div>
-<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span> r++;</div>
-<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span> }</div>
-<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span> }</div>
-<div class="line"><a name="l01758"></a><span class="lineno"> 1758</span> }</div>
-<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span> sinfo_free_imagelist(&obj_cub);</div>
-<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span> </div>
-<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span> check_nomsg(cpl_table_erase_invalid(data_tbl));</div>
-<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span> check_nomsg(avg_d=cpl_table_get_column_mean(data_tbl,<span class="stringliteral">"DATA"</span>));</div>
-<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span> check_nomsg(std_d=cpl_table_get_column_stdev(data_tbl,<span class="stringliteral">"DATA"</span>));</div>
-<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span> </div>
-<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span> <span class="comment">//cpl_table_save(data_tbl, NULL, NULL, "out_data.fits",CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span> hmin=avg_d-kappa*std_d;</div>
-<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span> hmax=avg_d+kappa*std_d;</div>
-<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span> <span class="comment">//sinfo_msg("mean=%f stdv=%f",avg_d,std_d);</span></div>
-<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span> <span class="comment">//sinfo_msg("hmin=%f hmax=%f",hmin,hmax);</span></div>
-<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span> sinfo_msg(<span class="stringliteral">"Computes histogram"</span>);</div>
-<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span> ck0(sinfo_histogram(data_tbl,nbins,hmin,hmax,&histo),<span class="stringliteral">"building histogram"</span>);</div>
-<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span> </div>
-<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span> value=(double)(hmax-hmin)/nbins/2.;</div>
-<div class="line"><a name="l01774"></a><span class="lineno"> 1774</span> <span class="comment">//sinfo_msg("value=%10.8f",value);</span></div>
-<div class="line"><a name="l01775"></a><span class="lineno"> 1775</span> </div>
-<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span> </div>
-<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span> <span class="keywordflow">while</span>(min_xi_sz < HISTO_MIN_SIZE && counter < 10) {</div>
-<div class="line"><a name="l01778"></a><span class="lineno"> 1778</span> counter++;</div>
-<div class="line"><a name="l01779"></a><span class="lineno"> 1779</span> check_nomsg(max_h=cpl_table_get_column_max(histo,<span class="stringliteral">"HY"</span>));</div>
-<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span> <span class="comment">//cpl_table_save(histo, NULL, NULL, "out_pippo.fits", CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l01781"></a><span class="lineno"> 1781</span> check_nomsg(max_pos=sinfo_table_get_index_of_max(histo,<span class="stringliteral">"HY"</span>,CPL_TYPE_INT));</div>
-<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span> <span class="comment">//sinfo_msg("max_pos=%d",max_pos);</span></div>
-<div class="line"><a name="l01783"></a><span class="lineno"> 1783</span> </div>
-<div class="line"><a name="l01784"></a><span class="lineno"> 1784</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span> <span class="comment"> check_nomsg(max_pos=sinfo_extract_table_rows(histo,"HY",</span></div>
-<div class="line"><a name="l01786"></a><span class="lineno"> 1786</span> <span class="comment"> CPL_EQUAL_TO,max_h));</span></div>
-<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span> <span class="comment"> sinfo_msg("size max_pos %d",cpl_table_get_nrow(max_pos));</span></div>
-<div class="line"><a name="l01788"></a><span class="lineno"> 1788</span> <span class="comment"> sinfo_msg("value max_pos %d",cpl_table_get_int(max_pos,"HY",0,&status));</span></div>
-<div class="line"><a name="l01789"></a><span class="lineno"> 1789</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01790"></a><span class="lineno"> 1790</span> min_x=max_pos-1;</div>
-<div class="line"><a name="l01791"></a><span class="lineno"> 1791</span> max_x=max_pos+2;</div>
-<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span> <span class="comment">//sinfo_msg("min_x=%d max_x=%d",min_x,max_x);</span></div>
-<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span> </div>
-<div class="line"><a name="l01794"></a><span class="lineno"> 1794</span> sinfo_free_table(&tmp_tbl1);</div>
-<div class="line"><a name="l01795"></a><span class="lineno"> 1795</span> <span class="comment">//sinfo_msg("x selection threshold: %f %d",</span></div>
-<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span> <span class="comment">// cpl_table_get(histo,"HL",max_pos,&status),max_pos);</span></div>
-<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span> check_nomsg(tmp_tbl1=sinfo_extract_table_rows(histo,<span class="stringliteral">"HL"</span>,</div>
-<div class="line"><a name="l01798"></a><span class="lineno"> 1798</span> CPL_LESS_THAN,</div>
-<div class="line"><a name="l01799"></a><span class="lineno"> 1799</span> cpl_table_get(histo,<span class="stringliteral">"HL"</span>,max_pos,&status)));</div>
-<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span> thres=cpl_table_get_column_max(tmp_tbl1,<span class="stringliteral">"HY"</span>)/HISTO_Y_CUT;</div>
-<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span> <span class="comment">//sinfo_msg("threshold=%f",thres);</span></div>
-<div class="line"><a name="l01802"></a><span class="lineno"> 1802</span> </div>
-<div class="line"><a name="l01803"></a><span class="lineno"> 1803</span> </div>
-<div class="line"><a name="l01804"></a><span class="lineno"> 1804</span> sinfo_free_table(&min_xi);</div>
-<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span> check_nomsg(min_xi=sinfo_extract_table_rows(tmp_tbl1,<span class="stringliteral">"HY"</span>,</div>
-<div class="line"><a name="l01806"></a><span class="lineno"> 1806</span> CPL_GREATER_THAN,thres));</div>
-<div class="line"><a name="l01807"></a><span class="lineno"> 1807</span> </div>
-<div class="line"><a name="l01808"></a><span class="lineno"> 1808</span> <span class="comment">//cpl_table_save(min_xi, NULL, NULL, "out_min_xi.fits", CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l01809"></a><span class="lineno"> 1809</span> </div>
-<div class="line"><a name="l01810"></a><span class="lineno"> 1810</span> </div>
-<div class="line"><a name="l01811"></a><span class="lineno"> 1811</span> </div>
-<div class="line"><a name="l01812"></a><span class="lineno"> 1812</span> min_xi_sz=cpl_table_get_nrow(min_xi);</div>
-<div class="line"><a name="l01813"></a><span class="lineno"> 1813</span> val=cpl_table_get(min_xi,<span class="stringliteral">"HL"</span>,0,&status);</div>
-<div class="line"><a name="l01814"></a><span class="lineno"> 1814</span> </div>
-<div class="line"><a name="l01815"></a><span class="lineno"> 1815</span> check_nomsg(min_pos=sinfo_table_get_index_of_val(histo,<span class="stringliteral">"HL"</span>,val,</div>
-<div class="line"><a name="l01816"></a><span class="lineno"> 1816</span> CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l01817"></a><span class="lineno"> 1817</span> <span class="comment">//sinfo_msg("min_pos=%d max_pos=%d max(h)=%d min_xi_sz=%d x[maxpos[0]]=%f",</span></div>
-<div class="line"><a name="l01818"></a><span class="lineno"> 1818</span> <span class="comment">// min_pos, max_pos, max_h, min_xi_sz, val);</span></div>
-<div class="line"><a name="l01819"></a><span class="lineno"> 1819</span> </div>
-<div class="line"><a name="l01820"></a><span class="lineno"> 1820</span> </div>
-<div class="line"><a name="l01821"></a><span class="lineno"> 1821</span> </div>
-<div class="line"><a name="l01822"></a><span class="lineno"> 1822</span> <span class="keywordflow">if</span> (min_xi_sz > 0) {</div>
-<div class="line"><a name="l01823"></a><span class="lineno"> 1823</span> min_x = min_pos-HISTO_X_LEFT_CUT*(max_pos-min_pos);</div>
-<div class="line"><a name="l01824"></a><span class="lineno"> 1824</span> max_x = max_pos+HISTO_X_RIGHT_CUT*(max_pos-min_pos);</div>
-<div class="line"><a name="l01825"></a><span class="lineno"> 1825</span> }</div>
-<div class="line"><a name="l01826"></a><span class="lineno"> 1826</span> </div>
-<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span> <span class="comment">//sinfo_msg("min_x=%d max_x=%d",min_x,max_x);</span></div>
-<div class="line"><a name="l01828"></a><span class="lineno"> 1828</span> check_nomsg(hmin=sinfo_table_column_interpolate(histo,<span class="stringliteral">"HL"</span>,min_x));</div>
-<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span> check_nomsg(hmax=sinfo_table_column_interpolate(histo,<span class="stringliteral">"HL"</span>,max_x));</div>
-<div class="line"><a name="l01830"></a><span class="lineno"> 1830</span> <span class="comment">//sinfo_msg("hmin=%f hmax=%f min_xi_sz=%d",hmin,hmax,min_xi_sz);</span></div>
-<div class="line"><a name="l01831"></a><span class="lineno"> 1831</span> <span class="comment">//cpl_table_save(histo, NULL, NULL, "out_histo.fits", CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l01832"></a><span class="lineno"> 1832</span> sinfo_free_table(&histo);</div>
-<div class="line"><a name="l01833"></a><span class="lineno"> 1833</span> ck0(sinfo_histogram(data_tbl,nbins,hmin,hmax,&histo),<span class="stringliteral">"building histogram"</span>);</div>
-<div class="line"><a name="l01834"></a><span class="lineno"> 1834</span> <span class="comment">//cpl_table_save(histo, NULL, NULL, "out_histo1.fits", CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l01835"></a><span class="lineno"> 1835</span> check_nomsg(cpl_table_add_scalar(histo,<span class="stringliteral">"HL"</span>,(hmax-hmin)/nbins/2));</div>
-<div class="line"><a name="l01836"></a><span class="lineno"> 1836</span> <span class="comment">//cpl_table_save(histo, NULL, NULL, "out_histo2.fits", CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l01837"></a><span class="lineno"> 1837</span> </div>
-<div class="line"><a name="l01838"></a><span class="lineno"> 1838</span> </div>
-<div class="line"><a name="l01839"></a><span class="lineno"> 1839</span> </div>
-<div class="line"><a name="l01840"></a><span class="lineno"> 1840</span> }</div>
-<div class="line"><a name="l01841"></a><span class="lineno"> 1841</span> sinfo_free_table(&data_tbl);</div>
-<div class="line"><a name="l01842"></a><span class="lineno"> 1842</span> sinfo_free_table(&min_xi);</div>
-<div class="line"><a name="l01843"></a><span class="lineno"> 1843</span> </div>
-<div class="line"><a name="l01844"></a><span class="lineno"> 1844</span> <span class="comment">//cpl_table_save(histo, NULL, NULL, "out_histo.fits", CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l01845"></a><span class="lineno"> 1845</span> </div>
-<div class="line"><a name="l01846"></a><span class="lineno"> 1846</span> check_nomsg(peak=cpl_table_get_column_max(histo,<span class="stringliteral">"HY"</span>));</div>
-<div class="line"><a name="l01847"></a><span class="lineno"> 1847</span> <span class="comment">//sinfo_msg("peak=%f",peak);</span></div>
-<div class="line"><a name="l01848"></a><span class="lineno"> 1848</span> sinfo_free_table(&tmp_tbl1);</div>
-<div class="line"><a name="l01849"></a><span class="lineno"> 1849</span> </div>
-<div class="line"><a name="l01850"></a><span class="lineno"> 1850</span> check_nomsg(tmp_tbl1=sinfo_extract_table_rows(histo,<span class="stringliteral">"HY"</span>,CPL_EQUAL_TO,peak));</div>
-<div class="line"><a name="l01851"></a><span class="lineno"> 1851</span> </div>
-<div class="line"><a name="l01852"></a><span class="lineno"> 1852</span> <span class="comment">//cpl_table_save(tmp_tbl1, NULL, NULL, "out_tmp_tbl1.fits", CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l01853"></a><span class="lineno"> 1853</span> </div>
-<div class="line"><a name="l01854"></a><span class="lineno"> 1854</span> </div>
-<div class="line"><a name="l01855"></a><span class="lineno"> 1855</span> check_nomsg(*centre=cpl_table_get_column_mean(tmp_tbl1,<span class="stringliteral">"HL"</span>));</div>
-<div class="line"><a name="l01856"></a><span class="lineno"> 1856</span> <span class="comment">//sinfo_msg("Background level=%f",*centre);</span></div>
-<div class="line"><a name="l01857"></a><span class="lineno"> 1857</span> </div>
-<div class="line"><a name="l01858"></a><span class="lineno"> 1858</span> sinfo_free_table(&tmp_tbl1);</div>
-<div class="line"><a name="l01859"></a><span class="lineno"> 1859</span> check_nomsg(tmp_tbl1=sinfo_extract_table_rows(histo,<span class="stringliteral">"HY"</span>,</div>
-<div class="line"><a name="l01860"></a><span class="lineno"> 1860</span> CPL_GREATER_THAN,</div>
-<div class="line"><a name="l01861"></a><span class="lineno"> 1861</span> peak/HISTO_Y_CUT));</div>
-<div class="line"><a name="l01862"></a><span class="lineno"> 1862</span> sinfo_free_table(&tmp_tbl2);</div>
-<div class="line"><a name="l01863"></a><span class="lineno"> 1863</span> check_nomsg(tmp_tbl2=sinfo_extract_table_rows(tmp_tbl1,<span class="stringliteral">"HY"</span>,</div>
-<div class="line"><a name="l01864"></a><span class="lineno"> 1864</span> CPL_LESS_THAN,peak));</div>
-<div class="line"><a name="l01865"></a><span class="lineno"> 1865</span> sinfo_free_table(&tmp_tbl1);</div>
-<div class="line"><a name="l01866"></a><span class="lineno"> 1866</span> </div>
-<div class="line"><a name="l01867"></a><span class="lineno"> 1867</span> check_nomsg(tempc=*centre-cpl_table_get_column_min(tmp_tbl2,<span class="stringliteral">"HL"</span>));</div>
-<div class="line"><a name="l01868"></a><span class="lineno"> 1868</span> <span class="comment">//sinfo_msg("min HX %f",cpl_table_get_column_min(tmp_tbl2,"HL"));</span></div>
-<div class="line"><a name="l01869"></a><span class="lineno"> 1869</span> sinfo_free_table(&tmp_tbl2);</div>
-<div class="line"><a name="l01870"></a><span class="lineno"> 1870</span> <span class="comment">//sinfo_msg("Tempc=%f",tempc);</span></div>
-<div class="line"><a name="l01871"></a><span class="lineno"> 1871</span> check_nomsg(dist=sinfo_where_tab_min_max(histo,<span class="stringliteral">"HL"</span>,</div>
-<div class="line"><a name="l01872"></a><span class="lineno"> 1872</span> CPL_GREATER_THAN,*centre-HISTO_DIST_TEMPC_MIN_FCT*tempc,</div>
-<div class="line"><a name="l01873"></a><span class="lineno"> 1873</span> CPL_NOT_GREATER_THAN,*centre+HISTO_DIST_TEMPC_MAX_FCT*tempc));</div>
-<div class="line"><a name="l01874"></a><span class="lineno"> 1874</span> </div>
-<div class="line"><a name="l01875"></a><span class="lineno"> 1875</span> offset=cpl_table_get_column_min(histo,<span class="stringliteral">"HY"</span>);</div>
-<div class="line"><a name="l01876"></a><span class="lineno"> 1876</span> sinfo_free_table(&histo);</div>
-<div class="line"><a name="l01877"></a><span class="lineno"> 1877</span> </div>
-<div class="line"><a name="l01878"></a><span class="lineno"> 1878</span> </div>
-<div class="line"><a name="l01879"></a><span class="lineno"> 1879</span> check_nomsg(ndist=cpl_table_get_nrow(dist));</div>
-<div class="line"><a name="l01880"></a><span class="lineno"> 1880</span> check_nomsg(cpl_table_cast_column(dist,<span class="stringliteral">"HY"</span>,<span class="stringliteral">"HYdouble"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l01881"></a><span class="lineno"> 1881</span> check_nomsg(disth=cpl_table_get_data_double(dist,<span class="stringliteral">"HYdouble"</span>));</div>
-<div class="line"><a name="l01882"></a><span class="lineno"> 1882</span> check_nomsg(distx=cpl_table_get_data_double(dist,<span class="stringliteral">"HL"</span>));</div>
-<div class="line"><a name="l01883"></a><span class="lineno"> 1883</span> <span class="comment">//cpl_table_save(dist, NULL, NULL, "out_dist.fits", CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l01884"></a><span class="lineno"> 1884</span> </div>
-<div class="line"><a name="l01885"></a><span class="lineno"> 1885</span> <span class="comment">//TODO</span></div>
-<div class="line"><a name="l01886"></a><span class="lineno"> 1886</span> <span class="comment">//gaussfit(distx,disty,dista,nterms=3);</span></div>
-<div class="line"><a name="l01887"></a><span class="lineno"> 1887</span> <span class="comment">//*noise=dista[2];</span></div>
-<div class="line"><a name="l01888"></a><span class="lineno"> 1888</span> *noise=tempc/2;</div>
-<div class="line"><a name="l01889"></a><span class="lineno"> 1889</span> <span class="comment">/* THIS DOES NOT WORK */</span></div>
-<div class="line"><a name="l01890"></a><span class="lineno"> 1890</span> <span class="comment">//sinfo_msg("FWHM/2=%f",*noise);</span></div>
-<div class="line"><a name="l01891"></a><span class="lineno"> 1891</span> </div>
-<div class="line"><a name="l01892"></a><span class="lineno"> 1892</span> <span class="keywordflow">if</span>(obj_noise_fit == 1) {</div>
-<div class="line"><a name="l01893"></a><span class="lineno"> 1893</span> check_nomsg(vy=cpl_vector_wrap(ndist,disth));</div>
-<div class="line"><a name="l01894"></a><span class="lineno"> 1894</span> check_nomsg(vx=cpl_vector_wrap(ndist,distx));</div>
-<div class="line"><a name="l01895"></a><span class="lineno"> 1895</span> check_nomsg(sx=cpl_vector_new(ndist));</div>
-<div class="line"><a name="l01896"></a><span class="lineno"> 1896</span> check_nomsg(cpl_vector_fill(sx,1.));</div>
-<div class="line"><a name="l01897"></a><span class="lineno"> 1897</span> check_nomsg(sy=cpl_vector_duplicate(sx));</div>
-<div class="line"><a name="l01898"></a><span class="lineno"> 1898</span> x0=*centre;</div>
-<div class="line"><a name="l01899"></a><span class="lineno"> 1899</span> sigma=tempc/2;</div>
-<div class="line"><a name="l01900"></a><span class="lineno"> 1900</span> </div>
-<div class="line"><a name="l01901"></a><span class="lineno"> 1901</span> check_nomsg(cpl_vector_fit_gaussian(vx,NULL,</div>
-<div class="line"><a name="l01902"></a><span class="lineno"> 1902</span> vy,NULL,</div>
-<div class="line"><a name="l01903"></a><span class="lineno"> 1903</span> CPL_FIT_ALL,</div>
-<div class="line"><a name="l01904"></a><span class="lineno"> 1904</span> &x0,&sigma,&area,&offset,</div>
-<div class="line"><a name="l01905"></a><span class="lineno"> 1905</span> NULL,NULL,NULL));</div>
-<div class="line"><a name="l01906"></a><span class="lineno"> 1906</span> <span class="comment">//sinfo_msg("Gauss fit parameters:"</span></div>
-<div class="line"><a name="l01907"></a><span class="lineno"> 1907</span> <span class="comment">// "x0=%f sigma=%f area=%f offset=%f mse=%f chired=%f",</span></div>
-<div class="line"><a name="l01908"></a><span class="lineno"> 1908</span> <span class="comment">// x0,sigma,area,offset,mse,chired);</span></div>
-<div class="line"><a name="l01909"></a><span class="lineno"> 1909</span> <span class="comment">//sinfo_msg("Background level=%f",*centre);</span></div>
-<div class="line"><a name="l01910"></a><span class="lineno"> 1910</span> <span class="comment">//sinfo_msg("Noise=%f",sigma);</span></div>
-<div class="line"><a name="l01911"></a><span class="lineno"> 1911</span> *noise=sigma;</div>
-<div class="line"><a name="l01912"></a><span class="lineno"> 1912</span> sinfo_unwrap_vector(&vx);</div>
-<div class="line"><a name="l01913"></a><span class="lineno"> 1913</span> sinfo_unwrap_vector(&vy);</div>
-<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span> sinfo_free_my_vector(&sx);</div>
-<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span> sinfo_free_my_vector(&sy);</div>
-<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span> }</div>
-<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span> sinfo_free_table(&dist);</div>
-<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span> <span class="comment">//*noise=18.7448;</span></div>
-<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span> <span class="comment">//*noise=20.585946;</span></div>
-<div class="line"><a name="l01920"></a><span class="lineno"> 1920</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span> </div>
-<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span> cleanup:</div>
-<div class="line"><a name="l01923"></a><span class="lineno"> 1923</span> sinfo_free_imagelist(&obj_cub);</div>
-<div class="line"><a name="l01924"></a><span class="lineno"> 1924</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span> sinfo_free_table(&min_xi);</div>
-<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span> sinfo_free_table(&tmp_tbl1);</div>
-<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span> sinfo_free_table(&tmp_tbl2);</div>
-<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span> sinfo_free_table(&histo);</div>
-<div class="line"><a name="l01929"></a><span class="lineno"> 1929</span> sinfo_free_table(&dist);</div>
-<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span> sinfo_free_table(&data_tbl);</div>
-<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span> sinfo_free_my_vector(&sx);</div>
-<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span> sinfo_free_my_vector(&sy);</div>
-<div class="line"><a name="l01933"></a><span class="lineno"> 1933</span> sinfo_unwrap_vector(&vx);</div>
-<div class="line"><a name="l01934"></a><span class="lineno"> 1934</span> sinfo_unwrap_vector(&vy);</div>
-<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span> </div>
-<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span> </div>
-<div class="line"><a name="l01938"></a><span class="lineno"> 1938</span> }</div>
-<div class="line"><a name="l01939"></a><span class="lineno"> 1939</span> </div>
-<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span> </div>
-<div class="line"><a name="l01953"></a><span class="lineno"> 1953</span> cpl_table*</div>
-<div class="line"><a name="l01954"></a><span class="lineno"> 1954</span> sinfo_where_tab_min_max(cpl_table* t,</div>
-<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col,</div>
-<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span> cpl_table_select_operator op1,</div>
-<div class="line"><a name="l01957"></a><span class="lineno"> 1957</span> <span class="keyword">const</span> <span class="keywordtype">double</span> v1,</div>
-<div class="line"><a name="l01958"></a><span class="lineno"> 1958</span> cpl_table_select_operator op2,</div>
-<div class="line"><a name="l01959"></a><span class="lineno"> 1959</span> <span class="keyword">const</span> <span class="keywordtype">double</span> v2)</div>
-<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span> {</div>
-<div class="line"><a name="l01961"></a><span class="lineno"> 1961</span> </div>
-<div class="line"><a name="l01962"></a><span class="lineno"> 1962</span> cpl_table* res=NULL;</div>
-<div class="line"><a name="l01963"></a><span class="lineno"> 1963</span> cpl_table* tmp=NULL;</div>
-<div class="line"><a name="l01964"></a><span class="lineno"> 1964</span> </div>
-<div class="line"><a name="l01965"></a><span class="lineno"> 1965</span> check_nomsg(cpl_table_and_selected_double(t,col,op1,v1));</div>
-<div class="line"><a name="l01966"></a><span class="lineno"> 1966</span> check_nomsg(tmp=cpl_table_extract_selected(t));</div>
-<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span> check_nomsg(cpl_table_and_selected_double(tmp,col,op2,v2));</div>
-<div class="line"><a name="l01968"></a><span class="lineno"> 1968</span> check_nomsg(res=cpl_table_extract_selected(tmp));</div>
-<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span> check_nomsg(cpl_table_select_all(t));</div>
-<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span> sinfo_free_table(&tmp);</div>
-<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span> </div>
-<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span> <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span> </div>
-<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span> cleanup:</div>
-<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span> sinfo_free_table(&tmp);</div>
-<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span> sinfo_free_table(&res);</div>
-<div class="line"><a name="l01977"></a><span class="lineno"> 1977</span> </div>
-<div class="line"><a name="l01978"></a><span class="lineno"> 1978</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l01979"></a><span class="lineno"> 1979</span> </div>
-<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span> }</div>
-<div class="line"><a name="l01981"></a><span class="lineno"> 1981</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02005"></a><span class="lineno"> 2005</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02006"></a><span class="lineno"> 2006</span> </div>
-<div class="line"><a name="l02007"></a><span class="lineno"> 2007</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02008"></a><span class="lineno"> 2008</span> sinfo_histogram(<span class="keyword">const</span> cpl_table* data,</div>
-<div class="line"><a name="l02009"></a><span class="lineno"> 2009</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nbins,</div>
-<div class="line"><a name="l02010"></a><span class="lineno"> 2010</span> <span class="keyword">const</span> <span class="keywordtype">double</span> min,</div>
-<div class="line"><a name="l02011"></a><span class="lineno"> 2011</span> <span class="keyword">const</span> <span class="keywordtype">double</span> max,</div>
-<div class="line"><a name="l02012"></a><span class="lineno"> 2012</span> cpl_table** histo)</div>
-<div class="line"><a name="l02013"></a><span class="lineno"> 2013</span> {</div>
-<div class="line"><a name="l02014"></a><span class="lineno"> 2014</span> cpl_table* tmp_tbl1=NULL;</div>
-<div class="line"><a name="l02015"></a><span class="lineno"> 2015</span> cpl_table* tmp_tbl2=NULL;</div>
-<div class="line"><a name="l02016"></a><span class="lineno"> 2016</span> cpl_table* dat=NULL;</div>
-<div class="line"><a name="l02017"></a><span class="lineno"> 2017</span> <span class="keywordtype">int</span> ntot=0;</div>
-<div class="line"><a name="l02018"></a><span class="lineno"> 2018</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02019"></a><span class="lineno"> 2019</span> <span class="keywordtype">int</span>* phy=NULL;</div>
-<div class="line"><a name="l02020"></a><span class="lineno"> 2020</span> <span class="keywordtype">double</span>* pdt=NULL;</div>
-<div class="line"><a name="l02021"></a><span class="lineno"> 2021</span> <span class="comment">/* double* phx=NULL; */</span></div>
-<div class="line"><a name="l02022"></a><span class="lineno"> 2022</span> </div>
-<div class="line"><a name="l02023"></a><span class="lineno"> 2023</span> <span class="keywordtype">double</span> vtmp=0;</div>
-<div class="line"><a name="l02024"></a><span class="lineno"> 2024</span> <span class="keywordtype">double</span> vstp=0;</div>
-<div class="line"><a name="l02025"></a><span class="lineno"> 2025</span> <span class="keywordtype">double</span> vmax=0;</div>
-<div class="line"><a name="l02026"></a><span class="lineno"> 2026</span> <span class="keywordtype">double</span> vmin=0;</div>
-<div class="line"><a name="l02027"></a><span class="lineno"> 2027</span> </div>
-<div class="line"><a name="l02028"></a><span class="lineno"> 2028</span> <span class="keywordtype">int</span> h=0;</div>
-<div class="line"><a name="l02029"></a><span class="lineno"> 2029</span> check_nomsg(dat=cpl_table_duplicate(data));</div>
-<div class="line"><a name="l02030"></a><span class="lineno"> 2030</span> check_nomsg(cpl_table_cast_column(dat,<span class="stringliteral">"DATA"</span>,<span class="stringliteral">"DDATA"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l02031"></a><span class="lineno"> 2031</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02032"></a><span class="lineno"> 2032</span> <span class="comment"> sinfo_msg("min=%f max=%f",</span></div>
-<div class="line"><a name="l02033"></a><span class="lineno"> 2033</span> <span class="comment"> cpl_table_get_column_min(dat,"DDATA"),</span></div>
-<div class="line"><a name="l02034"></a><span class="lineno"> 2034</span> <span class="comment"> cpl_table_get_column_max(dat,"DDATA"));</span></div>
-<div class="line"><a name="l02035"></a><span class="lineno"> 2035</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02036"></a><span class="lineno"> 2036</span> check_nomsg(cpl_table_and_selected_double(dat,<span class="stringliteral">"DDATA"</span>,</div>
-<div class="line"><a name="l02037"></a><span class="lineno"> 2037</span> CPL_NOT_GREATER_THAN,max));</div>
-<div class="line"><a name="l02038"></a><span class="lineno"> 2038</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02039"></a><span class="lineno"> 2039</span> <span class="comment"> check_nomsg(cpl_table_and_selected_double(dat,"DDATA",CPL_LESS_THAN,max));</span></div>
-<div class="line"><a name="l02040"></a><span class="lineno"> 2040</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02041"></a><span class="lineno"> 2041</span> check_nomsg(tmp_tbl1=cpl_table_extract_selected(dat));</div>
-<div class="line"><a name="l02042"></a><span class="lineno"> 2042</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02043"></a><span class="lineno"> 2043</span> <span class="comment"> sinfo_msg("min=%f max=%f",</span></div>
-<div class="line"><a name="l02044"></a><span class="lineno"> 2044</span> <span class="comment"> cpl_table_get_column_min(tmp_tbl1,"DDATA"),</span></div>
-<div class="line"><a name="l02045"></a><span class="lineno"> 2045</span> <span class="comment"> cpl_table_get_column_max(tmp_tbl1,"DDATA"));</span></div>
-<div class="line"><a name="l02046"></a><span class="lineno"> 2046</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02047"></a><span class="lineno"> 2047</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02048"></a><span class="lineno"> 2048</span> <span class="comment"> check_nomsg(cpl_table_and_selected_double(tmp_tbl1,"DDATA",</span></div>
-<div class="line"><a name="l02049"></a><span class="lineno"> 2049</span> <span class="comment"> CPL_NOT_LESS_THAN,min));</span></div>
-<div class="line"><a name="l02050"></a><span class="lineno"> 2050</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02051"></a><span class="lineno"> 2051</span> check_nomsg(cpl_table_and_selected_double(tmp_tbl1,<span class="stringliteral">"DDATA"</span>,</div>
-<div class="line"><a name="l02052"></a><span class="lineno"> 2052</span> CPL_GREATER_THAN,min));</div>
-<div class="line"><a name="l02053"></a><span class="lineno"> 2053</span> check_nomsg(tmp_tbl2=cpl_table_extract_selected(tmp_tbl1));</div>
-<div class="line"><a name="l02054"></a><span class="lineno"> 2054</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02055"></a><span class="lineno"> 2055</span> <span class="comment"> sinfo_msg("min=%f max=%f",</span></div>
-<div class="line"><a name="l02056"></a><span class="lineno"> 2056</span> <span class="comment"> cpl_table_get_column_min(tmp_tbl2,"DDATA"),</span></div>
-<div class="line"><a name="l02057"></a><span class="lineno"> 2057</span> <span class="comment"> cpl_table_get_column_max(tmp_tbl2,"DDATA"));</span></div>
-<div class="line"><a name="l02058"></a><span class="lineno"> 2058</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02059"></a><span class="lineno"> 2059</span> sinfo_free_table(&tmp_tbl1);</div>
-<div class="line"><a name="l02060"></a><span class="lineno"> 2060</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02061"></a><span class="lineno"> 2061</span> <span class="comment"> check_nomsg(tmp_tbl1=sinfo_extract_table_rows(dat,"DDATA",</span></div>
-<div class="line"><a name="l02062"></a><span class="lineno"> 2062</span> <span class="comment"> CPL_NOT_GREATER_THAN,max));</span></div>
-<div class="line"><a name="l02063"></a><span class="lineno"> 2063</span> <span class="comment"> check_nomsg(tmp_tbl2=sinfo_extract_table_rows(tmp_tbl1,"DDATA",</span></div>
-<div class="line"><a name="l02064"></a><span class="lineno"> 2064</span> <span class="comment"> CPL_NOT_LESS_THAN,min));</span></div>
-<div class="line"><a name="l02065"></a><span class="lineno"> 2065</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02066"></a><span class="lineno"> 2066</span> </div>
-<div class="line"><a name="l02067"></a><span class="lineno"> 2067</span> check_nomsg(ntot=cpl_table_get_nrow(tmp_tbl2));</div>
-<div class="line"><a name="l02068"></a><span class="lineno"> 2068</span> <span class="comment">/* not necessry to sort:</span></div>
-<div class="line"><a name="l02069"></a><span class="lineno"> 2069</span> <span class="comment"> check_nomsg(sinfo_sort_table_1(tmp_tbl2,"DDATA",FALSE));*/</span></div>
-<div class="line"><a name="l02070"></a><span class="lineno"> 2070</span> check_nomsg(vmin=cpl_table_get_column_min(tmp_tbl2,<span class="stringliteral">"DDATA"</span>));</div>
-<div class="line"><a name="l02071"></a><span class="lineno"> 2071</span> check_nomsg(vmax=cpl_table_get_column_max(tmp_tbl2,<span class="stringliteral">"DDATA"</span>));</div>
-<div class="line"><a name="l02072"></a><span class="lineno"> 2072</span> vstp=(vmax-vmin)/(nbins-1);</div>
-<div class="line"><a name="l02073"></a><span class="lineno"> 2073</span> <span class="comment">/* sinfo_msg("vmin=%f vmax=%f step=%f",vmin,vmax,vstp); */</span></div>
-<div class="line"><a name="l02074"></a><span class="lineno"> 2074</span> check_nomsg(*histo=cpl_table_new(nbins));</div>
-<div class="line"><a name="l02075"></a><span class="lineno"> 2075</span> check_nomsg(cpl_table_new_column(*histo,<span class="stringliteral">"HX"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l02076"></a><span class="lineno"> 2076</span> check_nomsg(cpl_table_new_column(*histo,<span class="stringliteral">"HL"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l02077"></a><span class="lineno"> 2077</span> check_nomsg(cpl_table_new_column(*histo,<span class="stringliteral">"HY"</span>,CPL_TYPE_INT));</div>
-<div class="line"><a name="l02078"></a><span class="lineno"> 2078</span> </div>
-<div class="line"><a name="l02079"></a><span class="lineno"> 2079</span> <span class="comment">/*check_nomsg(cpl_table_fill_column_window(*histo,"HX",0,nbins,0)); */</span></div>
-<div class="line"><a name="l02080"></a><span class="lineno"> 2080</span> check_nomsg(cpl_table_fill_column_window(*histo,<span class="stringliteral">"HL"</span>,0,nbins,0));</div>
-<div class="line"><a name="l02081"></a><span class="lineno"> 2081</span> check_nomsg(cpl_table_fill_column_window(*histo,<span class="stringliteral">"HY"</span>,0,nbins,0));</div>
-<div class="line"><a name="l02082"></a><span class="lineno"> 2082</span> </div>
-<div class="line"><a name="l02083"></a><span class="lineno"> 2083</span> check_nomsg(phy=cpl_table_get_data_int(*histo,<span class="stringliteral">"HY"</span>));</div>
-<div class="line"><a name="l02084"></a><span class="lineno"> 2084</span> <span class="comment">/*check_nomsg(phx=cpl_table_get_data_double(*histo,"HX")); */</span></div>
-<div class="line"><a name="l02085"></a><span class="lineno"> 2085</span> check_nomsg(pdt=cpl_table_get_data_double(dat,<span class="stringliteral">"DATA"</span>));</div>
-<div class="line"><a name="l02086"></a><span class="lineno"> 2086</span> </div>
-<div class="line"><a name="l02087"></a><span class="lineno"> 2087</span> <span class="keywordflow">for</span>(i=0;i<nbins;i++) {</div>
-<div class="line"><a name="l02088"></a><span class="lineno"> 2088</span> cpl_table_set_double(*histo,<span class="stringliteral">"HX"</span>,i,(<span class="keywordtype">double</span>)i);</div>
-<div class="line"><a name="l02089"></a><span class="lineno"> 2089</span> vtmp=vmin+i*vstp;</div>
-<div class="line"><a name="l02090"></a><span class="lineno"> 2090</span> cpl_table_set_double(*histo,<span class="stringliteral">"HL"</span>,i,vtmp);</div>
-<div class="line"><a name="l02091"></a><span class="lineno"> 2091</span> }</div>
-<div class="line"><a name="l02092"></a><span class="lineno"> 2092</span> h=0;</div>
-<div class="line"><a name="l02093"></a><span class="lineno"> 2093</span> </div>
-<div class="line"><a name="l02094"></a><span class="lineno"> 2094</span> <span class="keywordflow">for</span>(i=0;i<ntot;i++) {</div>
-<div class="line"><a name="l02095"></a><span class="lineno"> 2095</span> h=floor((pdt[i]-vmin)/vstp);</div>
-<div class="line"><a name="l02096"></a><span class="lineno"> 2096</span> <span class="keywordflow">if</span>((h<nbins) && (h>-1)) {</div>
-<div class="line"><a name="l02097"></a><span class="lineno"> 2097</span> phy[h]++;</div>
-<div class="line"><a name="l02098"></a><span class="lineno"> 2098</span> }</div>
-<div class="line"><a name="l02099"></a><span class="lineno"> 2099</span> }</div>
-<div class="line"><a name="l02100"></a><span class="lineno"> 2100</span> <span class="comment">//cpl_table_save(*histo, NULL, NULL, "out_histo_p5.fits", CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l02101"></a><span class="lineno"> 2101</span> </div>
-<div class="line"><a name="l02102"></a><span class="lineno"> 2102</span> sinfo_free_table(&tmp_tbl2);</div>
-<div class="line"><a name="l02103"></a><span class="lineno"> 2103</span> sinfo_free_table(&dat);</div>
-<div class="line"><a name="l02104"></a><span class="lineno"> 2104</span> </div>
-<div class="line"><a name="l02105"></a><span class="lineno"> 2105</span> </div>
-<div class="line"><a name="l02106"></a><span class="lineno"> 2106</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02107"></a><span class="lineno"> 2107</span> cleanup:</div>
-<div class="line"><a name="l02108"></a><span class="lineno"> 2108</span> sinfo_free_table(&tmp_tbl1);</div>
-<div class="line"><a name="l02109"></a><span class="lineno"> 2109</span> sinfo_free_table(&tmp_tbl2);</div>
-<div class="line"><a name="l02110"></a><span class="lineno"> 2110</span> sinfo_free_table(&dat);</div>
-<div class="line"><a name="l02111"></a><span class="lineno"> 2111</span> </div>
-<div class="line"><a name="l02112"></a><span class="lineno"> 2112</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l02113"></a><span class="lineno"> 2113</span> </div>
-<div class="line"><a name="l02114"></a><span class="lineno"> 2114</span> }</div>
-<div class="line"><a name="l02115"></a><span class="lineno"> 2115</span> </div>
-<div class="line"><a name="l02116"></a><span class="lineno"> 2116</span> </div>
-<div class="line"><a name="l02117"></a><span class="lineno"> 2117</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02127"></a><span class="lineno"> 2127</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02128"></a><span class="lineno"> 2128</span> </div>
-<div class="line"><a name="l02129"></a><span class="lineno"> 2129</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02130"></a><span class="lineno"> 2130</span> sinfo_object_flag_low_values(cpl_frame* obj_frm,</div>
-<div class="line"><a name="l02131"></a><span class="lineno"> 2131</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cnt,</div>
-<div class="line"><a name="l02132"></a><span class="lineno"> 2132</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sig,</div>
-<div class="line"><a name="l02133"></a><span class="lineno"> 2133</span> cpl_imagelist** flag_data)</div>
-<div class="line"><a name="l02134"></a><span class="lineno"> 2134</span> {</div>
-<div class="line"><a name="l02135"></a><span class="lineno"> 2135</span> </div>
-<div class="line"><a name="l02136"></a><span class="lineno"> 2136</span> <span class="keywordtype">int</span> xsz=0;</div>
-<div class="line"><a name="l02137"></a><span class="lineno"> 2137</span> <span class="keywordtype">int</span> ysz=0;</div>
-<div class="line"><a name="l02138"></a><span class="lineno"> 2138</span> <span class="keywordtype">int</span> zsz=0;</div>
-<div class="line"><a name="l02139"></a><span class="lineno"> 2139</span> <span class="keywordtype">int</span> n=0;</div>
-<div class="line"><a name="l02140"></a><span class="lineno"> 2140</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02141"></a><span class="lineno"> 2141</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l02142"></a><span class="lineno"> 2142</span> <span class="keywordtype">int</span> r=0;</div>
-<div class="line"><a name="l02143"></a><span class="lineno"> 2143</span> </div>
-<div class="line"><a name="l02144"></a><span class="lineno"> 2144</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l02145"></a><span class="lineno"> 2145</span> cpl_table* data_tbl=NULL;</div>
-<div class="line"><a name="l02146"></a><span class="lineno"> 2146</span> cpl_table* flag_tbl=NULL;</div>
-<div class="line"><a name="l02147"></a><span class="lineno"> 2147</span> cpl_image* img=NULL;</div>
-<div class="line"><a name="l02148"></a><span class="lineno"> 2148</span> cpl_imagelist* obj_cub=NULL;</div>
-<div class="line"><a name="l02149"></a><span class="lineno"> 2149</span> </div>
-<div class="line"><a name="l02150"></a><span class="lineno"> 2150</span> <span class="keywordtype">double</span>* pdata=NULL;</div>
-<div class="line"><a name="l02151"></a><span class="lineno"> 2151</span> <span class="keywordtype">double</span>* pflag=NULL;</div>
-<div class="line"><a name="l02152"></a><span class="lineno"> 2152</span> </div>
-<div class="line"><a name="l02153"></a><span class="lineno"> 2153</span> <span class="comment">/* Get Object relevant information */</span></div>
-<div class="line"><a name="l02154"></a><span class="lineno"> 2154</span> cknull_nomsg(plist=cpl_propertylist_load(cpl_frame_get_filename(obj_frm),0));</div>
-<div class="line"><a name="l02155"></a><span class="lineno"> 2155</span> check_nomsg(xsz=sinfo_pfits_get_naxis1(plist));</div>
-<div class="line"><a name="l02156"></a><span class="lineno"> 2156</span> check_nomsg(ysz=sinfo_pfits_get_naxis2(plist));</div>
-<div class="line"><a name="l02157"></a><span class="lineno"> 2157</span> check_nomsg(zsz=sinfo_pfits_get_naxis3(plist));</div>
-<div class="line"><a name="l02158"></a><span class="lineno"> 2158</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l02159"></a><span class="lineno"> 2159</span> </div>
-<div class="line"><a name="l02160"></a><span class="lineno"> 2160</span> cknull_nomsg(obj_cub=cpl_imagelist_load(cpl_frame_get_filename(obj_frm),</div>
-<div class="line"><a name="l02161"></a><span class="lineno"> 2161</span> CPL_TYPE_DOUBLE,0));</div>
-<div class="line"><a name="l02162"></a><span class="lineno"> 2162</span> </div>
-<div class="line"><a name="l02163"></a><span class="lineno"> 2163</span> n=xsz*ysz*zsz;</div>
-<div class="line"><a name="l02164"></a><span class="lineno"> 2164</span> check_nomsg(data_tbl=cpl_table_new(n));</div>
-<div class="line"><a name="l02165"></a><span class="lineno"> 2165</span> check_nomsg(cpl_table_new_column(data_tbl,<span class="stringliteral">"DATA"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l02166"></a><span class="lineno"> 2166</span> </div>
-<div class="line"><a name="l02167"></a><span class="lineno"> 2167</span> <span class="keywordflow">for</span>(k=0;k<zsz;k++) {</div>
-<div class="line"><a name="l02168"></a><span class="lineno"> 2168</span> check_nomsg(img=cpl_imagelist_get(obj_cub,k));</div>
-<div class="line"><a name="l02169"></a><span class="lineno"> 2169</span> check_nomsg(pdata=cpl_image_get_data_double(img));</div>
-<div class="line"><a name="l02170"></a><span class="lineno"> 2170</span> <span class="keywordflow">for</span>(i=0;i<xsz*ysz;i++) {</div>
-<div class="line"><a name="l02171"></a><span class="lineno"> 2171</span> <span class="keywordflow">if</span>(!irplib_isnan(pdata[i])) {</div>
-<div class="line"><a name="l02172"></a><span class="lineno"> 2172</span> check_nomsg(cpl_table_set_double(data_tbl,<span class="stringliteral">"DATA"</span>,r,pdata[i]));</div>
-<div class="line"><a name="l02173"></a><span class="lineno"> 2173</span> r++;</div>
-<div class="line"><a name="l02174"></a><span class="lineno"> 2174</span> }</div>
-<div class="line"><a name="l02175"></a><span class="lineno"> 2175</span> }</div>
-<div class="line"><a name="l02176"></a><span class="lineno"> 2176</span> }</div>
-<div class="line"><a name="l02177"></a><span class="lineno"> 2177</span> </div>
-<div class="line"><a name="l02178"></a><span class="lineno"> 2178</span> check_nomsg(cpl_table_erase_invalid(data_tbl));</div>
-<div class="line"><a name="l02179"></a><span class="lineno"> 2179</span> <span class="comment">//sinfo_msg("Background level: %f Noise: %f",cnt,sig);</span></div>
-<div class="line"><a name="l02180"></a><span class="lineno"> 2180</span> check_nomsg(cpl_table_and_selected_double(data_tbl,<span class="stringliteral">"DATA"</span>,</div>
-<div class="line"><a name="l02181"></a><span class="lineno"> 2181</span> CPL_LESS_THAN,cnt+2*sig));</div>
-<div class="line"><a name="l02182"></a><span class="lineno"> 2182</span> check_nomsg(flag_tbl=cpl_table_extract_selected(data_tbl));</div>
-<div class="line"><a name="l02183"></a><span class="lineno"> 2183</span> sinfo_free_table(&data_tbl);</div>
-<div class="line"><a name="l02184"></a><span class="lineno"> 2184</span> <span class="comment">//check_nomsg(cpl_table_save(flag_tbl,NULL,NULL,</span></div>
-<div class="line"><a name="l02185"></a><span class="lineno"> 2185</span> <span class="comment">// "out_flag.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l02186"></a><span class="lineno"> 2186</span> sinfo_free_table(&flag_tbl);</div>
-<div class="line"><a name="l02187"></a><span class="lineno"> 2187</span> </div>
-<div class="line"><a name="l02188"></a><span class="lineno"> 2188</span> check_nomsg(*flag_data=cpl_imagelist_new());</div>
-<div class="line"><a name="l02189"></a><span class="lineno"> 2189</span> <span class="keywordflow">for</span>(i=0;i<zsz;i++) {</div>
-<div class="line"><a name="l02190"></a><span class="lineno"> 2190</span> check_nomsg(img=cpl_image_new(xsz,ysz,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l02191"></a><span class="lineno"> 2191</span> check_nomsg(cpl_image_add_scalar(img,0));</div>
-<div class="line"><a name="l02192"></a><span class="lineno"> 2192</span> check_nomsg(cpl_imagelist_set(*flag_data,cpl_image_duplicate(img),i));</div>
-<div class="line"><a name="l02193"></a><span class="lineno"> 2193</span> sinfo_free_image(&img);</div>
-<div class="line"><a name="l02194"></a><span class="lineno"> 2194</span> }</div>
-<div class="line"><a name="l02195"></a><span class="lineno"> 2195</span> <span class="keywordflow">for</span>(k=0;k<zsz;k++) {</div>
-<div class="line"><a name="l02196"></a><span class="lineno"> 2196</span> check_nomsg(img=cpl_imagelist_get(*flag_data,k));</div>
-<div class="line"><a name="l02197"></a><span class="lineno"> 2197</span> pflag=cpl_image_get_data_double(cpl_imagelist_get(*flag_data,k));</div>
-<div class="line"><a name="l02198"></a><span class="lineno"> 2198</span> pdata=cpl_image_get_data_double(cpl_imagelist_get(obj_cub,k));</div>
-<div class="line"><a name="l02199"></a><span class="lineno"> 2199</span> <span class="keywordflow">for</span>(i=0;i<xsz*ysz;i++) {</div>
-<div class="line"><a name="l02200"></a><span class="lineno"> 2200</span> <span class="keywordflow">if</span>((!irplib_isnan(pdata[i])) && pdata[i] < (cnt+2*sig)) {</div>
-<div class="line"><a name="l02201"></a><span class="lineno"> 2201</span> pflag[i]=1;</div>
-<div class="line"><a name="l02202"></a><span class="lineno"> 2202</span> }</div>
-<div class="line"><a name="l02203"></a><span class="lineno"> 2203</span> }</div>
-<div class="line"><a name="l02204"></a><span class="lineno"> 2204</span> }</div>
-<div class="line"><a name="l02205"></a><span class="lineno"> 2205</span> </div>
-<div class="line"><a name="l02206"></a><span class="lineno"> 2206</span> sinfo_free_imagelist(&obj_cub);</div>
-<div class="line"><a name="l02207"></a><span class="lineno"> 2207</span> </div>
-<div class="line"><a name="l02208"></a><span class="lineno"> 2208</span> </div>
-<div class="line"><a name="l02209"></a><span class="lineno"> 2209</span> </div>
-<div class="line"><a name="l02210"></a><span class="lineno"> 2210</span> </div>
-<div class="line"><a name="l02211"></a><span class="lineno"> 2211</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02212"></a><span class="lineno"> 2212</span> </div>
-<div class="line"><a name="l02213"></a><span class="lineno"> 2213</span> cleanup:</div>
-<div class="line"><a name="l02214"></a><span class="lineno"> 2214</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l02215"></a><span class="lineno"> 2215</span> sinfo_free_imagelist(&obj_cub);</div>
-<div class="line"><a name="l02216"></a><span class="lineno"> 2216</span> sinfo_free_table(&data_tbl);</div>
-<div class="line"><a name="l02217"></a><span class="lineno"> 2217</span> sinfo_free_table(&flag_tbl);</div>
-<div class="line"><a name="l02218"></a><span class="lineno"> 2218</span> </div>
-<div class="line"><a name="l02219"></a><span class="lineno"> 2219</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l02220"></a><span class="lineno"> 2220</span> }</div>
-<div class="line"><a name="l02221"></a><span class="lineno"> 2221</span> </div>
-<div class="line"><a name="l02222"></a><span class="lineno"> 2222</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02236"></a><span class="lineno"> 2236</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02237"></a><span class="lineno"> 2237</span> </div>
-<div class="line"><a name="l02238"></a><span class="lineno"> 2238</span> </div>
-<div class="line"><a name="l02239"></a><span class="lineno"> 2239</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02240"></a><span class="lineno"> 2240</span> sinfo_object_flag_sky_pixels(cpl_frame* obj_frm,</div>
-<div class="line"><a name="l02241"></a><span class="lineno"> 2241</span> cpl_table* lambda,</div>
-<div class="line"><a name="l02242"></a><span class="lineno"> 2242</span> cpl_table* mrange,</div>
-<div class="line"><a name="l02243"></a><span class="lineno"> 2243</span> cpl_imagelist* flag_data,</div>
-<div class="line"><a name="l02244"></a><span class="lineno"> 2244</span> <span class="keyword">const</span> <span class="keywordtype">double</span> tol,</div>
-<div class="line"><a name="l02245"></a><span class="lineno"> 2245</span> cpl_image** g_img,</div>
-<div class="line"><a name="l02246"></a><span class="lineno"> 2246</span> cpl_image** r_img,</div>
-<div class="line"><a name="l02247"></a><span class="lineno"> 2247</span> cpl_image** image)</div>
-<div class="line"><a name="l02248"></a><span class="lineno"> 2248</span> {</div>
-<div class="line"><a name="l02249"></a><span class="lineno"> 2249</span> </div>
-<div class="line"><a name="l02250"></a><span class="lineno"> 2250</span> <span class="keywordtype">int</span> xsz=0;</div>
-<div class="line"><a name="l02251"></a><span class="lineno"> 2251</span> <span class="keywordtype">int</span> ysz=0;</div>
-<div class="line"><a name="l02252"></a><span class="lineno"> 2252</span> <span class="keywordtype">int</span> zsz=0;</div>
-<div class="line"><a name="l02253"></a><span class="lineno"> 2253</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02254"></a><span class="lineno"> 2254</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l02255"></a><span class="lineno"> 2255</span> <span class="keywordtype">int</span> gpix_i=0;</div>
-<div class="line"><a name="l02256"></a><span class="lineno"> 2256</span> <span class="keywordtype">double</span> tot=0;</div>
-<div class="line"><a name="l02257"></a><span class="lineno"> 2257</span> <span class="keywordtype">double</span> all_pix=0;</div>
-<div class="line"><a name="l02258"></a><span class="lineno"> 2258</span> <span class="keywordtype">double</span> flag_pix=0;</div>
-<div class="line"><a name="l02259"></a><span class="lineno"> 2259</span> <span class="keywordtype">double</span> ratio=0;</div>
-<div class="line"><a name="l02260"></a><span class="lineno"> 2260</span> </div>
-<div class="line"><a name="l02261"></a><span class="lineno"> 2261</span> <span class="keywordtype">double</span>* pr_img=NULL;</div>
-<div class="line"><a name="l02262"></a><span class="lineno"> 2262</span> <span class="keywordtype">double</span>* pg_img=NULL;</div>
-<div class="line"><a name="l02263"></a><span class="lineno"> 2263</span> <span class="keywordtype">double</span>* pimage=NULL;</div>
-<div class="line"><a name="l02264"></a><span class="lineno"> 2264</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l02265"></a><span class="lineno"> 2265</span> cpl_imagelist* osel=NULL;</div>
-<div class="line"><a name="l02266"></a><span class="lineno"> 2266</span> cpl_imagelist* fsel=NULL;</div>
-<div class="line"><a name="l02267"></a><span class="lineno"> 2267</span> cpl_table* gpix=NULL;</div>
-<div class="line"><a name="l02268"></a><span class="lineno"> 2268</span> cpl_table* gspec=NULL;</div>
-<div class="line"><a name="l02269"></a><span class="lineno"> 2269</span> cpl_table* fspec=NULL;</div>
-<div class="line"><a name="l02270"></a><span class="lineno"> 2270</span> cpl_table* ospec=NULL;</div>
-<div class="line"><a name="l02271"></a><span class="lineno"> 2271</span> </div>
-<div class="line"><a name="l02272"></a><span class="lineno"> 2272</span> cpl_imagelist* obj_cub=NULL;</div>
-<div class="line"><a name="l02273"></a><span class="lineno"> 2273</span> </div>
-<div class="line"><a name="l02274"></a><span class="lineno"> 2274</span> <span class="comment">/* Get Object relevant information */</span></div>
-<div class="line"><a name="l02275"></a><span class="lineno"> 2275</span> cknull_nomsg(plist=cpl_propertylist_load(cpl_frame_get_filename(obj_frm),0));</div>
-<div class="line"><a name="l02276"></a><span class="lineno"> 2276</span> </div>
-<div class="line"><a name="l02277"></a><span class="lineno"> 2277</span> check_nomsg(xsz=sinfo_pfits_get_naxis1(plist));</div>
-<div class="line"><a name="l02278"></a><span class="lineno"> 2278</span> check_nomsg(ysz=sinfo_pfits_get_naxis2(plist));</div>
-<div class="line"><a name="l02279"></a><span class="lineno"> 2279</span> check_nomsg(zsz=sinfo_pfits_get_naxis3(plist));</div>
-<div class="line"><a name="l02280"></a><span class="lineno"> 2280</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l02281"></a><span class="lineno"> 2281</span> cknull_nomsg(obj_cub=cpl_imagelist_load(cpl_frame_get_filename(obj_frm),</div>
-<div class="line"><a name="l02282"></a><span class="lineno"> 2282</span> CPL_TYPE_DOUBLE,0));</div>
-<div class="line"><a name="l02283"></a><span class="lineno"> 2283</span> </div>
-<div class="line"><a name="l02284"></a><span class="lineno"> 2284</span> <span class="comment">/* Flag sky pixels in data cube */</span></div>
-<div class="line"><a name="l02285"></a><span class="lineno"> 2285</span> <span class="comment">/* create images */</span></div>
-<div class="line"><a name="l02286"></a><span class="lineno"> 2286</span> check_nomsg(*r_img=cpl_image_new(xsz,ysz,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l02287"></a><span class="lineno"> 2287</span> check_nomsg(*g_img=cpl_image_new(xsz,ysz,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l02288"></a><span class="lineno"> 2288</span> check_nomsg(*image=cpl_image_new(xsz,ysz,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l02289"></a><span class="lineno"> 2289</span> </div>
-<div class="line"><a name="l02290"></a><span class="lineno"> 2290</span> cknull_nomsg(pr_img=cpl_image_get_data_double(*r_img));</div>
-<div class="line"><a name="l02291"></a><span class="lineno"> 2291</span> cknull_nomsg(pg_img=cpl_image_get_data_double(*g_img));</div>
-<div class="line"><a name="l02292"></a><span class="lineno"> 2292</span> cknull_nomsg(pimage=cpl_image_get_data_double(*image));</div>
-<div class="line"><a name="l02293"></a><span class="lineno"> 2293</span> </div>
-<div class="line"><a name="l02294"></a><span class="lineno"> 2294</span> <span class="comment">/* TODO */</span></div>
-<div class="line"><a name="l02295"></a><span class="lineno"> 2295</span> <span class="comment">// fill image points:</span></div>
-<div class="line"><a name="l02296"></a><span class="lineno"> 2296</span> <span class="comment">// g_img: mask with at least half good pixels along spectral range</span></div>
-<div class="line"><a name="l02297"></a><span class="lineno"> 2297</span> <span class="comment">// r_img: mask with ratio of good pixels along spectral range</span></div>
-<div class="line"><a name="l02298"></a><span class="lineno"> 2298</span> <span class="comment">// image: image with mean of spectrum over good pixels</span></div>
-<div class="line"><a name="l02299"></a><span class="lineno"> 2299</span> </div>
-<div class="line"><a name="l02300"></a><span class="lineno"> 2300</span> <span class="comment">//check_nomsg(cpl_table_save(lambda, NULL, NULL,</span></div>
-<div class="line"><a name="l02301"></a><span class="lineno"> 2301</span> <span class="comment">// "out_lambda.fits", CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l02302"></a><span class="lineno"> 2302</span> <span class="comment">//check_nomsg(cpl_table_save(mrange, NULL, NULL,</span></div>
-<div class="line"><a name="l02303"></a><span class="lineno"> 2303</span> <span class="comment">// "out_mrange.fits", CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l02304"></a><span class="lineno"> 2304</span> </div>
-<div class="line"><a name="l02305"></a><span class="lineno"> 2305</span> cknull_nomsg(osel=sinfo_imagelist_select_range(obj_cub,lambda,</div>
-<div class="line"><a name="l02306"></a><span class="lineno"> 2306</span> mrange,tol));</div>
-<div class="line"><a name="l02307"></a><span class="lineno"> 2307</span> </div>
-<div class="line"><a name="l02308"></a><span class="lineno"> 2308</span> sinfo_free_imagelist(&obj_cub);</div>
-<div class="line"><a name="l02309"></a><span class="lineno"> 2309</span> </div>
-<div class="line"><a name="l02310"></a><span class="lineno"> 2310</span> cknull_nomsg(fsel=sinfo_imagelist_select_range(flag_data,lambda,</div>
-<div class="line"><a name="l02311"></a><span class="lineno"> 2311</span> mrange,tol));</div>
-<div class="line"><a name="l02312"></a><span class="lineno"> 2312</span> </div>
-<div class="line"><a name="l02313"></a><span class="lineno"> 2313</span> <span class="comment">//check_nomsg(cpl_imagelist_save(osel,"out_osel.fits",</span></div>
-<div class="line"><a name="l02314"></a><span class="lineno"> 2314</span> <span class="comment">// CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l02315"></a><span class="lineno"> 2315</span> <span class="comment">//check_nomsg(cpl_imagelist_save(fsel,"out_fsel.fits",</span></div>
-<div class="line"><a name="l02316"></a><span class="lineno"> 2316</span> <span class="comment">// CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l02317"></a><span class="lineno"> 2317</span> </div>
-<div class="line"><a name="l02318"></a><span class="lineno"> 2318</span> <span class="keywordflow">for</span>(j=0;j<ysz;j++) {</div>
-<div class="line"><a name="l02319"></a><span class="lineno"> 2319</span> <span class="keywordflow">for</span>(i=0;i<xsz;i++) {</div>
-<div class="line"><a name="l02320"></a><span class="lineno"> 2320</span> <span class="comment">// consider only planes in the proper wavelegth ranges</span></div>
-<div class="line"><a name="l02321"></a><span class="lineno"> 2321</span> cknull_nomsg(ospec=sinfo_slice_z(osel,i,j));</div>
-<div class="line"><a name="l02322"></a><span class="lineno"> 2322</span> cknull_nomsg(fspec=sinfo_slice_z(fsel,i,j));</div>
-<div class="line"><a name="l02323"></a><span class="lineno"> 2323</span> <span class="comment">// consider only finite pixels</span></div>
-<div class="line"><a name="l02324"></a><span class="lineno"> 2324</span> check_nomsg(gpix_i=sinfo_table_extract_finite(ospec,fspec,&gpix,&gspec));</div>
-<div class="line"><a name="l02325"></a><span class="lineno"> 2325</span> <span class="comment">//sinfo_msg("gpix_i=%d",gpix_i);</span></div>
-<div class="line"><a name="l02326"></a><span class="lineno"> 2326</span> <span class="keywordflow">if</span>(gpix_i > 0) {</div>
-<div class="line"><a name="l02327"></a><span class="lineno"> 2327</span> <span class="comment">// build two arrays of proper size</span></div>
-<div class="line"><a name="l02328"></a><span class="lineno"> 2328</span> all_pix=(double)gpix_i;</div>
-<div class="line"><a name="l02329"></a><span class="lineno"> 2329</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02330"></a><span class="lineno"> 2330</span> <span class="comment"> sinfo_msg("flagspec: min=%f max=%f",</span></div>
-<div class="line"><a name="l02331"></a><span class="lineno"> 2331</span> <span class="comment"> cpl_table_get_column_min(fspec,"VALUE"),</span></div>
-<div class="line"><a name="l02332"></a><span class="lineno"> 2332</span> <span class="comment"> cpl_table_get_column_max(fspec,"VALUE"));</span></div>
-<div class="line"><a name="l02333"></a><span class="lineno"> 2333</span> <span class="comment"> sinfo_msg("good flagspec: min=%f max=%f",</span></div>
-<div class="line"><a name="l02334"></a><span class="lineno"> 2334</span> <span class="comment"> cpl_table_get_column_min(gspec,"VALUE"),</span></div>
-<div class="line"><a name="l02335"></a><span class="lineno"> 2335</span> <span class="comment"> cpl_table_get_column_max(gspec,"VALUE"));</span></div>
-<div class="line"><a name="l02336"></a><span class="lineno"> 2336</span> <span class="comment"> sinfo_msg("nfspec=%d",cpl_table_get_nrow(fspec));</span></div>
-<div class="line"><a name="l02337"></a><span class="lineno"> 2337</span> <span class="comment"> check_nomsg(cpl_table_save(fspec, NULL, NULL,</span></div>
-<div class="line"><a name="l02338"></a><span class="lineno"> 2338</span> <span class="comment"> "out_fspec.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l02339"></a><span class="lineno"> 2339</span> <span class="comment"> check_nomsg(cpl_table_save(gspec, NULL, NULL,</span></div>
-<div class="line"><a name="l02340"></a><span class="lineno"> 2340</span> <span class="comment"> "out_gspec.fits", CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l02341"></a><span class="lineno"> 2341</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02342"></a><span class="lineno"> 2342</span> <span class="comment">//check_nomsg(flag_pix=cpl_table_and_selected_double(fspec,"VALUE",</span></div>
-<div class="line"><a name="l02343"></a><span class="lineno"> 2343</span> <span class="comment">// CPL_GREATER_THAN,0.5));</span></div>
-<div class="line"><a name="l02344"></a><span class="lineno"> 2344</span> <span class="comment">//sinfo_msg("all_pix=%f flag_pix=%f",all_pix,flag_pix);</span></div>
-<div class="line"><a name="l02345"></a><span class="lineno"> 2345</span> </div>
-<div class="line"><a name="l02346"></a><span class="lineno"> 2346</span> check_nomsg(flag_pix=cpl_table_and_selected_double(gspec,<span class="stringliteral">"VALUE"</span>,</div>
-<div class="line"><a name="l02347"></a><span class="lineno"> 2347</span> CPL_GREATER_THAN,0.5));</div>
-<div class="line"><a name="l02348"></a><span class="lineno"> 2348</span> <span class="comment">//sinfo_msg("all_pix=%f flag_pix=%f",all_pix,flag_pix);</span></div>
-<div class="line"><a name="l02349"></a><span class="lineno"> 2349</span> <span class="comment">// flag_pix = float(n_elements(where(fspec[gpix] > 0.5)));</span></div>
-<div class="line"><a name="l02350"></a><span class="lineno"> 2350</span> <span class="comment">// compute the ratio between the two arrays</span></div>
-<div class="line"><a name="l02351"></a><span class="lineno"> 2351</span> ratio=flag_pix/all_pix;</div>
-<div class="line"><a name="l02352"></a><span class="lineno"> 2352</span> <span class="comment">// considers only pixels with have at least half good pixels</span></div>
-<div class="line"><a name="l02353"></a><span class="lineno"> 2353</span> <span class="keywordflow">if</span>(all_pix > cpl_table_get_nrow(mrange)/2) {</div>
-<div class="line"><a name="l02354"></a><span class="lineno"> 2354</span> pg_img[i+j*xsz]=1;</div>
-<div class="line"><a name="l02355"></a><span class="lineno"> 2355</span> pr_img[i+j*xsz]=ratio;</div>
-<div class="line"><a name="l02356"></a><span class="lineno"> 2356</span> }</div>
-<div class="line"><a name="l02357"></a><span class="lineno"> 2357</span> <span class="comment">//mean(ospec(gpix))</span></div>
-<div class="line"><a name="l02358"></a><span class="lineno"> 2358</span> check_nomsg(pimage[i+j*xsz]=cpl_table_get_column_mean(gpix,<span class="stringliteral">"VALUE"</span>));</div>
-<div class="line"><a name="l02359"></a><span class="lineno"> 2359</span> <span class="comment">//sinfo_msg("ix=%d iy=%d r=%f",i,j,ratio);</span></div>
-<div class="line"><a name="l02360"></a><span class="lineno"> 2360</span> }</div>
-<div class="line"><a name="l02361"></a><span class="lineno"> 2361</span> sinfo_free_table(&ospec);</div>
-<div class="line"><a name="l02362"></a><span class="lineno"> 2362</span> sinfo_free_table(&fspec);</div>
-<div class="line"><a name="l02363"></a><span class="lineno"> 2363</span> sinfo_free_table(&gpix);</div>
-<div class="line"><a name="l02364"></a><span class="lineno"> 2364</span> sinfo_free_table(&gspec);</div>
-<div class="line"><a name="l02365"></a><span class="lineno"> 2365</span> </div>
-<div class="line"><a name="l02366"></a><span class="lineno"> 2366</span> } <span class="comment">/* end for over i */</span></div>
-<div class="line"><a name="l02367"></a><span class="lineno"> 2367</span> } <span class="comment">/* end for over j */</span></div>
-<div class="line"><a name="l02368"></a><span class="lineno"> 2368</span> sinfo_free_imagelist(&osel);</div>
-<div class="line"><a name="l02369"></a><span class="lineno"> 2369</span> sinfo_free_imagelist(&fsel);</div>
-<div class="line"><a name="l02370"></a><span class="lineno"> 2370</span> </div>
-<div class="line"><a name="l02371"></a><span class="lineno"> 2371</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02372"></a><span class="lineno"> 2372</span> <span class="comment"> cpl_image_save(*r_img,"out_r_img.fits",CPL_BPP_IEEE_FLOAT,</span></div>
-<div class="line"><a name="l02373"></a><span class="lineno"> 2373</span> <span class="comment"> NULL,CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l02374"></a><span class="lineno"> 2374</span> <span class="comment"> cpl_image_save(*g_img,"out_g_img.fits",CPL_BPP_IEEE_FLOAT,</span></div>
-<div class="line"><a name="l02375"></a><span class="lineno"> 2375</span> <span class="comment"> NULL,CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l02376"></a><span class="lineno"> 2376</span> <span class="comment"> cpl_image_save(*image,"out_image.fits",CPL_BPP_IEEE_FLOAT,</span></div>
-<div class="line"><a name="l02377"></a><span class="lineno"> 2377</span> <span class="comment"> NULL,CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l02378"></a><span class="lineno"> 2378</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02379"></a><span class="lineno"> 2379</span> <span class="comment">// get total(g_arr)</span></div>
-<div class="line"><a name="l02380"></a><span class="lineno"> 2380</span> check_nomsg(tot=cpl_image_get_flux(*g_img));</div>
-<div class="line"><a name="l02381"></a><span class="lineno"> 2381</span> <span class="keywordflow">if</span>(tot < 1) {</div>
-<div class="line"><a name="l02382"></a><span class="lineno"> 2382</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no good spaxel"</span>);</div>
-<div class="line"><a name="l02383"></a><span class="lineno"> 2383</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l02384"></a><span class="lineno"> 2384</span> }</div>
-<div class="line"><a name="l02385"></a><span class="lineno"> 2385</span> </div>
-<div class="line"><a name="l02386"></a><span class="lineno"> 2386</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02387"></a><span class="lineno"> 2387</span> </div>
-<div class="line"><a name="l02388"></a><span class="lineno"> 2388</span> </div>
-<div class="line"><a name="l02389"></a><span class="lineno"> 2389</span> cleanup:</div>
-<div class="line"><a name="l02390"></a><span class="lineno"> 2390</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l02391"></a><span class="lineno"> 2391</span> sinfo_free_imagelist(&obj_cub);</div>
-<div class="line"><a name="l02392"></a><span class="lineno"> 2392</span> sinfo_free_imagelist(&osel);</div>
-<div class="line"><a name="l02393"></a><span class="lineno"> 2393</span> sinfo_free_imagelist(&fsel);</div>
-<div class="line"><a name="l02394"></a><span class="lineno"> 2394</span> sinfo_free_table(&ospec);</div>
-<div class="line"><a name="l02395"></a><span class="lineno"> 2395</span> sinfo_free_table(&fspec);</div>
-<div class="line"><a name="l02396"></a><span class="lineno"> 2396</span> sinfo_free_table(&gpix);</div>
-<div class="line"><a name="l02397"></a><span class="lineno"> 2397</span> sinfo_free_table(&gspec);</div>
-<div class="line"><a name="l02398"></a><span class="lineno"> 2398</span> </div>
-<div class="line"><a name="l02399"></a><span class="lineno"> 2399</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l02400"></a><span class="lineno"> 2400</span> </div>
-<div class="line"><a name="l02401"></a><span class="lineno"> 2401</span> </div>
-<div class="line"><a name="l02402"></a><span class="lineno"> 2402</span> }</div>
-<div class="line"><a name="l02403"></a><span class="lineno"> 2403</span> </div>
-<div class="line"><a name="l02412"></a><span class="lineno"> 2412</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02413"></a><span class="lineno"> 2413</span> sinfo_choose_good_sky_pixels(cpl_frame* obj_frm,</div>
-<div class="line"><a name="l02414"></a><span class="lineno"> 2414</span> cpl_image* r_img,</div>
-<div class="line"><a name="l02415"></a><span class="lineno"> 2415</span> cpl_image* g_img,</div>
-<div class="line"><a name="l02416"></a><span class="lineno"> 2416</span> <span class="keyword">const</span> <span class="keywordtype">double</span> min_frac,</div>
-<div class="line"><a name="l02417"></a><span class="lineno"> 2417</span> cpl_image** mask)</div>
-<div class="line"><a name="l02418"></a><span class="lineno"> 2418</span> {</div>
-<div class="line"><a name="l02419"></a><span class="lineno"> 2419</span> </div>
-<div class="line"><a name="l02420"></a><span class="lineno"> 2420</span> <span class="keywordtype">int</span> xsz=0;</div>
-<div class="line"><a name="l02421"></a><span class="lineno"> 2421</span> <span class="keywordtype">int</span> ysz=0;</div>
-<div class="line"><a name="l02422"></a><span class="lineno"> 2422</span> <span class="keywordtype">int</span> zsz=0;</div>
-<div class="line"><a name="l02423"></a><span class="lineno"> 2423</span> <span class="keywordtype">int</span> r2i=0;</div>
-<div class="line"><a name="l02424"></a><span class="lineno"> 2424</span> <span class="keywordtype">int</span> status=0;</div>
-<div class="line"><a name="l02425"></a><span class="lineno"> 2425</span> <span class="keywordtype">double</span> tot=0;</div>
-<div class="line"><a name="l02426"></a><span class="lineno"> 2426</span> <span class="keywordtype">double</span> thres=SKY_THRES;</div>
-<div class="line"><a name="l02427"></a><span class="lineno"> 2427</span> <span class="keywordtype">double</span> cum_x_max=0;</div>
-<div class="line"><a name="l02428"></a><span class="lineno"> 2428</span> </div>
-<div class="line"><a name="l02429"></a><span class="lineno"> 2429</span> cpl_image* r2img=NULL;</div>
-<div class="line"><a name="l02430"></a><span class="lineno"> 2430</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l02431"></a><span class="lineno"> 2431</span> cpl_table* cum=NULL;</div>
-<div class="line"><a name="l02432"></a><span class="lineno"> 2432</span> cpl_table* hcum=NULL;</div>
-<div class="line"><a name="l02433"></a><span class="lineno"> 2433</span> cpl_table* thres_tbl=NULL;</div>
-<div class="line"><a name="l02434"></a><span class="lineno"> 2434</span> </div>
-<div class="line"><a name="l02435"></a><span class="lineno"> 2435</span> cknull_nomsg(plist=cpl_propertylist_load(cpl_frame_get_filename(obj_frm),0));</div>
-<div class="line"><a name="l02436"></a><span class="lineno"> 2436</span> check_nomsg(xsz=sinfo_pfits_get_naxis1(plist));</div>
-<div class="line"><a name="l02437"></a><span class="lineno"> 2437</span> check_nomsg(ysz=sinfo_pfits_get_naxis2(plist));</div>
-<div class="line"><a name="l02438"></a><span class="lineno"> 2438</span> check_nomsg(zsz=sinfo_pfits_get_naxis3(plist));</div>
-<div class="line"><a name="l02439"></a><span class="lineno"> 2439</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l02440"></a><span class="lineno"> 2440</span> </div>
-<div class="line"><a name="l02441"></a><span class="lineno"> 2441</span> <span class="comment">// choose pixels which seem to be sky (ie 95% of spectral pixels are flagged)</span></div>
-<div class="line"><a name="l02442"></a><span class="lineno"> 2442</span> check_nomsg(*mask=cpl_image_new(xsz,ysz,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l02443"></a><span class="lineno"> 2443</span> <span class="comment">//r2 = where(r_img >= thres,r2i);</span></div>
-<div class="line"><a name="l02444"></a><span class="lineno"> 2444</span> <span class="comment">// count good pixels: set to 0 what < thres and to 1 what > thres</span></div>
-<div class="line"><a name="l02445"></a><span class="lineno"> 2445</span> check_nomsg(r2img=cpl_image_duplicate(r_img));</div>
-<div class="line"><a name="l02446"></a><span class="lineno"> 2446</span> check_nomsg(cpl_image_threshold(r2img,thres,thres,0,1));</div>
-<div class="line"><a name="l02447"></a><span class="lineno"> 2447</span> check_nomsg(r2i=cpl_image_get_flux(r2img));</div>
-<div class="line"><a name="l02448"></a><span class="lineno"> 2448</span> </div>
-<div class="line"><a name="l02449"></a><span class="lineno"> 2449</span> <span class="keywordflow">if</span>(r2i>0) {</div>
-<div class="line"><a name="l02450"></a><span class="lineno"> 2450</span> sinfo_free_image(&(*mask));</div>
-<div class="line"><a name="l02451"></a><span class="lineno"> 2451</span> check_nomsg(*mask=cpl_image_duplicate(r2img));</div>
-<div class="line"><a name="l02452"></a><span class="lineno"> 2452</span> }</div>
-<div class="line"><a name="l02453"></a><span class="lineno"> 2453</span> sinfo_free_image(&r2img);</div>
-<div class="line"><a name="l02454"></a><span class="lineno"> 2454</span> check_nomsg(r2img=cpl_image_duplicate(r_img));</div>
-<div class="line"><a name="l02455"></a><span class="lineno"> 2455</span> check_nomsg(cpl_image_threshold(r2img,thres,SINFO_DBL_MAX,0,SINFO_DBL_MAX));</div>
-<div class="line"><a name="l02456"></a><span class="lineno"> 2456</span> sinfo_free_image(&r2img);</div>
-<div class="line"><a name="l02457"></a><span class="lineno"> 2457</span> </div>
-<div class="line"><a name="l02458"></a><span class="lineno"> 2458</span> check_nomsg(tot=cpl_image_get_flux(g_img));</div>
-<div class="line"><a name="l02459"></a><span class="lineno"> 2459</span> </div>
-<div class="line"><a name="l02460"></a><span class="lineno"> 2460</span> </div>
-<div class="line"><a name="l02461"></a><span class="lineno"> 2461</span> sinfo_msg(<span class="stringliteral">"%2.2d spaxels (%4.1f %% of good pixels) are designated as sky"</span>,</div>
-<div class="line"><a name="l02462"></a><span class="lineno"> 2462</span> r2i,100.*r2i/tot);</div>
-<div class="line"><a name="l02463"></a><span class="lineno"> 2463</span> </div>
-<div class="line"><a name="l02464"></a><span class="lineno"> 2464</span> <span class="comment">//threshold ratio for fraction 'minfrac' of spatial pixels to be 'sky'</span></div>
-<div class="line"><a name="l02465"></a><span class="lineno"> 2465</span> <span class="keywordflow">if</span> (1.*r2i/tot < min_frac) {</div>
-<div class="line"><a name="l02466"></a><span class="lineno"> 2466</span> sinfo_msg(<span class="stringliteral">"this is too small - will increase it to %4.1f %%"</span>,</div>
-<div class="line"><a name="l02467"></a><span class="lineno"> 2467</span> 100.*min_frac);</div>
-<div class="line"><a name="l02468"></a><span class="lineno"> 2468</span> check_nomsg(cum=cpl_table_new(xsz*ysz));</div>
-<div class="line"><a name="l02469"></a><span class="lineno"> 2469</span> check_nomsg(cpl_table_new_column(cum,<span class="stringliteral">"X"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l02470"></a><span class="lineno"> 2470</span> sinfo_table_column_dindgen(&cum,<span class="stringliteral">"X"</span>);</div>
-<div class="line"><a name="l02471"></a><span class="lineno"> 2471</span> check_nomsg(cpl_table_add_scalar(cum,<span class="stringliteral">"X"</span>,1.));</div>
-<div class="line"><a name="l02472"></a><span class="lineno"> 2472</span> </div>
-<div class="line"><a name="l02473"></a><span class="lineno"> 2473</span> <span class="comment">//hcum = r_img(sort(r_img));</span></div>
-<div class="line"><a name="l02474"></a><span class="lineno"> 2474</span> hcum = sinfo_image2table(r_img);</div>
-<div class="line"><a name="l02475"></a><span class="lineno"> 2475</span> check_nomsg(sinfo_sort_table_1(hcum,<span class="stringliteral">"VALUE"</span>,FALSE));</div>
-<div class="line"><a name="l02476"></a><span class="lineno"> 2476</span> </div>
-<div class="line"><a name="l02477"></a><span class="lineno"> 2477</span> <span class="comment">//thresh = hcum[where(xcum/max(xcum) >= 1.-min_frac)];</span></div>
-<div class="line"><a name="l02478"></a><span class="lineno"> 2478</span> check_nomsg(cpl_table_duplicate_column(cum,<span class="stringliteral">"H"</span>,hcum,<span class="stringliteral">"VALUE"</span>));</div>
-<div class="line"><a name="l02479"></a><span class="lineno"> 2479</span> check_nomsg(cum_x_max=cpl_table_get_column_max(cum,<span class="stringliteral">"X"</span>));</div>
-<div class="line"><a name="l02480"></a><span class="lineno"> 2480</span> check_nomsg(cpl_table_duplicate_column(cum,<span class="stringliteral">"R"</span>,cum,<span class="stringliteral">"X"</span>));</div>
-<div class="line"><a name="l02481"></a><span class="lineno"> 2481</span> check_nomsg(cpl_table_divide_scalar(cum,<span class="stringliteral">"R"</span>,cum_x_max));</div>
-<div class="line"><a name="l02482"></a><span class="lineno"> 2482</span> check_nomsg(cpl_table_and_selected_double(cum,<span class="stringliteral">"R"</span>,</div>
-<div class="line"><a name="l02483"></a><span class="lineno"> 2483</span> CPL_NOT_LESS_THAN,</div>
-<div class="line"><a name="l02484"></a><span class="lineno"> 2484</span> (1.-min_frac)));</div>
-<div class="line"><a name="l02485"></a><span class="lineno"> 2485</span> check_nomsg(thres_tbl=cpl_table_extract_selected(cum));</div>
-<div class="line"><a name="l02486"></a><span class="lineno"> 2486</span> </div>
-<div class="line"><a name="l02487"></a><span class="lineno"> 2487</span> check_nomsg(thres = cpl_table_get(thres_tbl,<span class="stringliteral">"R"</span>,0,&status));</div>
-<div class="line"><a name="l02488"></a><span class="lineno"> 2488</span> <span class="comment">//*mask[where(r_img >= thresh)] = 1;</span></div>
-<div class="line"><a name="l02489"></a><span class="lineno"> 2489</span> sinfo_free_image(&(*mask));</div>
-<div class="line"><a name="l02490"></a><span class="lineno"> 2490</span> </div>
-<div class="line"><a name="l02491"></a><span class="lineno"> 2491</span> </div>
-<div class="line"><a name="l02492"></a><span class="lineno"> 2492</span> check_nomsg(*mask=cpl_image_duplicate(r_img));</div>
-<div class="line"><a name="l02493"></a><span class="lineno"> 2493</span> check_nomsg(cpl_image_threshold(*mask,thres,thres,0,1));</div>
-<div class="line"><a name="l02494"></a><span class="lineno"> 2494</span> }</div>
-<div class="line"><a name="l02495"></a><span class="lineno"> 2495</span> sinfo_free_table(&cum);</div>
-<div class="line"><a name="l02496"></a><span class="lineno"> 2496</span> sinfo_free_table(&hcum);</div>
-<div class="line"><a name="l02497"></a><span class="lineno"> 2497</span> sinfo_free_table(&thres_tbl);</div>
-<div class="line"><a name="l02498"></a><span class="lineno"> 2498</span> </div>
-<div class="line"><a name="l02499"></a><span class="lineno"> 2499</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02500"></a><span class="lineno"> 2500</span> cleanup:</div>
-<div class="line"><a name="l02501"></a><span class="lineno"> 2501</span> </div>
-<div class="line"><a name="l02502"></a><span class="lineno"> 2502</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l02503"></a><span class="lineno"> 2503</span> sinfo_free_image(&r2img);</div>
-<div class="line"><a name="l02504"></a><span class="lineno"> 2504</span> sinfo_free_table(&cum);</div>
-<div class="line"><a name="l02505"></a><span class="lineno"> 2505</span> sinfo_free_table(&hcum);</div>
-<div class="line"><a name="l02506"></a><span class="lineno"> 2506</span> sinfo_free_table(&thres_tbl);</div>
-<div class="line"><a name="l02507"></a><span class="lineno"> 2507</span> </div>
-<div class="line"><a name="l02508"></a><span class="lineno"> 2508</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l02509"></a><span class="lineno"> 2509</span> </div>
-<div class="line"><a name="l02510"></a><span class="lineno"> 2510</span> }</div>
-<div class="line"><a name="l02511"></a><span class="lineno"> 2511</span> </div>
-<div class="line"><a name="l02512"></a><span class="lineno"> 2512</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02521"></a><span class="lineno"> 2521</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02522"></a><span class="lineno"> 2522</span> </div>
-<div class="line"><a name="l02523"></a><span class="lineno"> 2523</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l02524"></a><span class="lineno"> 2524</span> sinfo_fit_bkg(<span class="keywordtype">double</span> p[])</div>
-<div class="line"><a name="l02525"></a><span class="lineno"> 2525</span> </div>
-<div class="line"><a name="l02526"></a><span class="lineno"> 2526</span> {</div>
-<div class="line"><a name="l02527"></a><span class="lineno"> 2527</span> <span class="keywordtype">double</span>* px=NULL;</div>
-<div class="line"><a name="l02528"></a><span class="lineno"> 2528</span> <span class="keywordtype">double</span>* py=NULL;</div>
-<div class="line"><a name="l02529"></a><span class="lineno"> 2529</span> <span class="keywordtype">double</span>* pv=NULL;</div>
-<div class="line"><a name="l02530"></a><span class="lineno"> 2530</span> cpl_vector* vtmp=NULL;</div>
-<div class="line"><a name="l02531"></a><span class="lineno"> 2531</span> <span class="keywordtype">double</span> max=0;</div>
-<div class="line"><a name="l02532"></a><span class="lineno"> 2532</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02533"></a><span class="lineno"> 2533</span> <span class="keywordtype">int</span> np=0;</div>
-<div class="line"><a name="l02534"></a><span class="lineno"> 2534</span> </div>
-<div class="line"><a name="l02535"></a><span class="lineno"> 2535</span> <span class="keywordtype">double</span> chi2=0;</div>
-<div class="line"><a name="l02536"></a><span class="lineno"> 2536</span> </div>
-<div class="line"><a name="l02537"></a><span class="lineno"> 2537</span> check_nomsg(px= cpl_vector_get_data(sa_vx));</div>
-<div class="line"><a name="l02538"></a><span class="lineno"> 2538</span> check_nomsg(py= cpl_vector_get_data(sa_vy));</div>
-<div class="line"><a name="l02539"></a><span class="lineno"> 2539</span> check_nomsg(np= cpl_vector_get_size(sa_vx));</div>
-<div class="line"><a name="l02540"></a><span class="lineno"> 2540</span> check_nomsg(vtmp=cpl_vector_duplicate(sa_vy));</div>
-<div class="line"><a name="l02541"></a><span class="lineno"> 2541</span> check_nomsg(pv=cpl_vector_get_data(vtmp));</div>
-<div class="line"><a name="l02542"></a><span class="lineno"> 2542</span> </div>
-<div class="line"><a name="l02543"></a><span class="lineno"> 2543</span> <span class="keywordflow">for</span>(i=0;i<np;i++) {</div>
-<div class="line"><a name="l02544"></a><span class="lineno"> 2544</span> pv[i]=sinfo_fac(px[i],p[2]);</div>
-<div class="line"><a name="l02545"></a><span class="lineno"> 2545</span> <span class="comment">//sinfo_msg("x=%g p=%g",px[i],pv[i]);</span></div>
-<div class="line"><a name="l02546"></a><span class="lineno"> 2546</span> }</div>
-<div class="line"><a name="l02547"></a><span class="lineno"> 2547</span> check_nomsg(max=cpl_vector_get_max(vtmp));</div>
-<div class="line"><a name="l02548"></a><span class="lineno"> 2548</span> <span class="keywordflow">if</span>(max> 0) {</div>
-<div class="line"><a name="l02549"></a><span class="lineno"> 2549</span> check_nomsg(cpl_vector_divide_scalar(vtmp,max));</div>
-<div class="line"><a name="l02550"></a><span class="lineno"> 2550</span> check_nomsg(cpl_vector_multiply_scalar(vtmp,p[1]));</div>
-<div class="line"><a name="l02551"></a><span class="lineno"> 2551</span> check_nomsg(cpl_vector_add_scalar(vtmp,p[0]));</div>
-<div class="line"><a name="l02552"></a><span class="lineno"> 2552</span> }</div>
-<div class="line"><a name="l02553"></a><span class="lineno"> 2553</span> </div>
-<div class="line"><a name="l02554"></a><span class="lineno"> 2554</span> </div>
-<div class="line"><a name="l02555"></a><span class="lineno"> 2555</span> <span class="keywordflow">for</span>(i=0;i<np;i++) {</div>
-<div class="line"><a name="l02556"></a><span class="lineno"> 2556</span> chi2+=(py[i]-pv[i])*(py[i]-pv[i]);</div>
-<div class="line"><a name="l02557"></a><span class="lineno"> 2557</span> }</div>
-<div class="line"><a name="l02558"></a><span class="lineno"> 2558</span> sinfo_free_my_vector(&vtmp);</div>
-<div class="line"><a name="l02559"></a><span class="lineno"> 2559</span> <span class="keywordflow">return</span> chi2;</div>
-<div class="line"><a name="l02560"></a><span class="lineno"> 2560</span> cleanup:</div>
-<div class="line"><a name="l02561"></a><span class="lineno"> 2561</span> sinfo_free_my_vector(&vtmp);</div>
-<div class="line"><a name="l02562"></a><span class="lineno"> 2562</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l02563"></a><span class="lineno"> 2563</span> </div>
-<div class="line"><a name="l02564"></a><span class="lineno"> 2564</span> }</div>
-<div class="line"><a name="l02565"></a><span class="lineno"> 2565</span> </div>
-<div class="line"><a name="l02566"></a><span class="lineno"> 2566</span> </div>
-<div class="line"><a name="l02567"></a><span class="lineno"> 2567</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02579"></a><span class="lineno"> 2579</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02580"></a><span class="lineno"> 2580</span> </div>
-<div class="line"><a name="l02581"></a><span class="lineno"> 2581</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02582"></a><span class="lineno"> 2582</span> sinfo_thermal_background2(cpl_table* int_sky,</div>
-<div class="line"><a name="l02583"></a><span class="lineno"> 2583</span> cpl_table* lambda,</div>
-<div class="line"><a name="l02584"></a><span class="lineno"> 2584</span> cpl_table* lrange,</div>
-<div class="line"><a name="l02585"></a><span class="lineno"> 2585</span> cpl_table** bkg)</div>
-<div class="line"><a name="l02586"></a><span class="lineno"> 2586</span> {</div>
-<div class="line"><a name="l02587"></a><span class="lineno"> 2587</span> </div>
-<div class="line"><a name="l02588"></a><span class="lineno"> 2588</span> <span class="keywordtype">int</span> n2=0;</div>
-<div class="line"><a name="l02589"></a><span class="lineno"> 2589</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02590"></a><span class="lineno"> 2590</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l02591"></a><span class="lineno"> 2591</span> <span class="keywordtype">int</span> nrow=0;</div>
-<div class="line"><a name="l02592"></a><span class="lineno"> 2592</span> </div>
-<div class="line"><a name="l02593"></a><span class="lineno"> 2593</span> cpl_table* tmp1=NULL;</div>
-<div class="line"><a name="l02594"></a><span class="lineno"> 2594</span> cpl_table* tmp2=NULL;</div>
-<div class="line"><a name="l02595"></a><span class="lineno"> 2595</span> </div>
-<div class="line"><a name="l02596"></a><span class="lineno"> 2596</span> <span class="keywordtype">double</span> max=0;</div>
-<div class="line"><a name="l02597"></a><span class="lineno"> 2597</span> <span class="keywordtype">double</span> wmin=0;</div>
-<div class="line"><a name="l02598"></a><span class="lineno"> 2598</span> <span class="keywordtype">double</span> wmax=0;</div>
-<div class="line"><a name="l02599"></a><span class="lineno"> 2599</span> <span class="keywordtype">double</span> p0[3];</div>
-<div class="line"><a name="l02600"></a><span class="lineno"> 2600</span> <span class="keyword">const</span> <span class="keywordtype">int</span> MP=4;</div>
-<div class="line"><a name="l02601"></a><span class="lineno"> 2601</span> <span class="keyword">const</span> <span class="keywordtype">int</span> NP=3;</div>
-<div class="line"><a name="l02602"></a><span class="lineno"> 2602</span> <span class="keywordtype">double</span> y[MP];</div>
-<div class="line"><a name="l02603"></a><span class="lineno"> 2603</span> <span class="keywordtype">double</span>** ap=NULL;</div>
-<div class="line"><a name="l02604"></a><span class="lineno"> 2604</span> <span class="keywordtype">int</span> nfunc=0;</div>
-<div class="line"><a name="l02605"></a><span class="lineno"> 2605</span> <span class="keywordtype">int</span> status=0;</div>
-<div class="line"><a name="l02606"></a><span class="lineno"> 2606</span> <span class="keywordtype">int</span> row=0;</div>
-<div class="line"><a name="l02607"></a><span class="lineno"> 2607</span> <span class="keywordtype">double</span> bkg_min=0;</div>
-<div class="line"><a name="l02608"></a><span class="lineno"> 2608</span> <span class="keywordtype">double</span> bkg_max=0;</div>
-<div class="line"><a name="l02609"></a><span class="lineno"> 2609</span> <span class="keywordtype">double</span> p0_min=0;</div>
-<div class="line"><a name="l02610"></a><span class="lineno"> 2610</span> <span class="keywordtype">double</span> p0_max=0;</div>
-<div class="line"><a name="l02611"></a><span class="lineno"> 2611</span> <span class="keywordtype">double</span> p1_min=0;</div>
-<div class="line"><a name="l02612"></a><span class="lineno"> 2612</span> <span class="keywordtype">double</span> p1_max=0;</div>
-<div class="line"><a name="l02613"></a><span class="lineno"> 2613</span> <span class="keywordtype">double</span> p2_min=0;</div>
-<div class="line"><a name="l02614"></a><span class="lineno"> 2614</span> <span class="keywordtype">double</span> p2_max=0;</div>
-<div class="line"><a name="l02615"></a><span class="lineno"> 2615</span> <span class="keywordtype">double</span>* pw=NULL;</div>
-<div class="line"><a name="l02616"></a><span class="lineno"> 2616</span> <span class="keywordtype">double</span>* pf=NULL;</div>
-<div class="line"><a name="l02617"></a><span class="lineno"> 2617</span> </div>
-<div class="line"><a name="l02618"></a><span class="lineno"> 2618</span> ap=(<span class="keywordtype">double</span>**) cpl_calloc(MP,<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>*));</div>
-<div class="line"><a name="l02619"></a><span class="lineno"> 2619</span> </div>
-<div class="line"><a name="l02620"></a><span class="lineno"> 2620</span> <span class="keywordflow">for</span>(i=0;i<MP;i++) {</div>
-<div class="line"><a name="l02621"></a><span class="lineno"> 2621</span> ap[i]=cpl_calloc(NP,<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l02622"></a><span class="lineno"> 2622</span> }</div>
-<div class="line"><a name="l02623"></a><span class="lineno"> 2623</span> </div>
-<div class="line"><a name="l02624"></a><span class="lineno"> 2624</span> cknull(int_sky,<span class="stringliteral">"Null input table sky"</span>);</div>
-<div class="line"><a name="l02625"></a><span class="lineno"> 2625</span> cknull(lambda,<span class="stringliteral">"Null input table lambda"</span>);</div>
-<div class="line"><a name="l02626"></a><span class="lineno"> 2626</span> cknull(lrange,<span class="stringliteral">"Null input table lrange"</span>);</div>
-<div class="line"><a name="l02627"></a><span class="lineno"> 2627</span> </div>
-<div class="line"><a name="l02628"></a><span class="lineno"> 2628</span> </div>
-<div class="line"><a name="l02629"></a><span class="lineno"> 2629</span> <span class="comment">//TO BE FIXED: Why lrange to gat wave min and max: int_sky is sufficient</span></div>
-<div class="line"><a name="l02630"></a><span class="lineno"> 2630</span> check_nomsg(wmin=cpl_table_get_column_min(lrange,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l02631"></a><span class="lineno"> 2631</span> check_nomsg(wmax=cpl_table_get_column_max(lrange,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l02632"></a><span class="lineno"> 2632</span> check_nomsg(cpl_table_and_selected_double(int_sky,<span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l02633"></a><span class="lineno"> 2633</span> CPL_NOT_LESS_THAN,wmin));</div>
-<div class="line"><a name="l02634"></a><span class="lineno"> 2634</span> check_nomsg(cpl_table_and_selected_double(int_sky,<span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l02635"></a><span class="lineno"> 2635</span> CPL_NOT_GREATER_THAN,wmax));</div>
-<div class="line"><a name="l02636"></a><span class="lineno"> 2636</span> check_nomsg(tmp1=cpl_table_extract_selected(int_sky));</div>
-<div class="line"><a name="l02637"></a><span class="lineno"> 2637</span> </div>
-<div class="line"><a name="l02638"></a><span class="lineno"> 2638</span> check_nomsg(row=sinfo_table_get_index_of_val(tmp1,<span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l02639"></a><span class="lineno"> 2639</span> wmax,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l02640"></a><span class="lineno"> 2640</span> check_nomsg(max=cpl_table_get_double(tmp1,<span class="stringliteral">"INT"</span>,row,&status));</div>
-<div class="line"><a name="l02641"></a><span class="lineno"> 2641</span> check_nomsg(sinfo_table_flag_nan(&tmp1,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l02642"></a><span class="lineno"> 2642</span> check_nomsg(cpl_table_erase_invalid(tmp1));</div>
-<div class="line"><a name="l02643"></a><span class="lineno"> 2643</span> check_nomsg(cpl_table_and_selected_double(tmp1,<span class="stringliteral">"INT"</span>,CPL_NOT_EQUAL_TO,0));</div>
-<div class="line"><a name="l02644"></a><span class="lineno"> 2644</span> check_nomsg(tmp2=cpl_table_extract_selected(tmp1));</div>
-<div class="line"><a name="l02645"></a><span class="lineno"> 2645</span> </div>
-<div class="line"><a name="l02646"></a><span class="lineno"> 2646</span> sinfo_free_table(&tmp1);</div>
-<div class="line"><a name="l02647"></a><span class="lineno"> 2647</span> check_nomsg(n2=cpl_table_get_nrow(tmp2));</div>
-<div class="line"><a name="l02648"></a><span class="lineno"> 2648</span> check_nomsg(sa_vx=cpl_vector_wrap(n2,</div>
-<div class="line"><a name="l02649"></a><span class="lineno"> 2649</span> cpl_table_get_data_double(tmp2,<span class="stringliteral">"WAVE"</span>)));</div>
-<div class="line"><a name="l02650"></a><span class="lineno"> 2650</span> check_nomsg(sa_vy=cpl_vector_wrap(n2,</div>
-<div class="line"><a name="l02651"></a><span class="lineno"> 2651</span> cpl_table_get_data_double(tmp2,<span class="stringliteral">"INT"</span>)));</div>
-<div class="line"><a name="l02652"></a><span class="lineno"> 2652</span> </div>
-<div class="line"><a name="l02653"></a><span class="lineno"> 2653</span> </div>
-<div class="line"><a name="l02654"></a><span class="lineno"> 2654</span> <span class="keywordflow">for</span>(i=0;i<MP;i++) {</div>
-<div class="line"><a name="l02655"></a><span class="lineno"> 2655</span> <span class="keywordflow">for</span>(j=0;j<NP;j++) {</div>
-<div class="line"><a name="l02656"></a><span class="lineno"> 2656</span> ap[i][j]=0;</div>
-<div class="line"><a name="l02657"></a><span class="lineno"> 2657</span> }</div>
-<div class="line"><a name="l02658"></a><span class="lineno"> 2658</span> }</div>
-<div class="line"><a name="l02659"></a><span class="lineno"> 2659</span> </div>
-<div class="line"><a name="l02660"></a><span class="lineno"> 2660</span> check_nomsg(bkg_min=cpl_table_get_column_min(tmp2,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l02661"></a><span class="lineno"> 2661</span> check_nomsg(bkg_max=cpl_table_get_double(tmp2,<span class="stringliteral">"INT"</span>,row,&status));</div>
-<div class="line"><a name="l02662"></a><span class="lineno"> 2662</span> </div>
-<div class="line"><a name="l02663"></a><span class="lineno"> 2663</span> </div>
-<div class="line"><a name="l02664"></a><span class="lineno"> 2664</span> <span class="comment">//Init amoeba fit parameters</span></div>
-<div class="line"><a name="l02665"></a><span class="lineno"> 2665</span> p0_min=bkg_min*0.9;</div>
-<div class="line"><a name="l02666"></a><span class="lineno"> 2666</span> p0_max=bkg_min*1.1;</div>
-<div class="line"><a name="l02667"></a><span class="lineno"> 2667</span> p1_min=bkg_max*0.9;</div>
-<div class="line"><a name="l02668"></a><span class="lineno"> 2668</span> p1_max=bkg_max*1.1;</div>
-<div class="line"><a name="l02669"></a><span class="lineno"> 2669</span> p1_min=200;</div>
-<div class="line"><a name="l02670"></a><span class="lineno"> 2670</span> p2_max=300;</div>
-<div class="line"><a name="l02671"></a><span class="lineno"> 2671</span> </div>
-<div class="line"><a name="l02672"></a><span class="lineno"> 2672</span> ap[0][0]=p0_min; ap[0][1]=p1_min; ap[0][2]=p2_min;</div>
-<div class="line"><a name="l02673"></a><span class="lineno"> 2673</span> ap[1][0]=p0_max; ap[1][1]=p1_min; ap[1][2]=p2_min;</div>
-<div class="line"><a name="l02674"></a><span class="lineno"> 2674</span> ap[2][0]=p0_min; ap[2][1]=p1_max; ap[2][2]=p2_min;</div>
-<div class="line"><a name="l02675"></a><span class="lineno"> 2675</span> ap[3][0]=p0_min; ap[3][1]=p1_min; ap[3][2]=p2_max;</div>
-<div class="line"><a name="l02676"></a><span class="lineno"> 2676</span> </div>
-<div class="line"><a name="l02677"></a><span class="lineno"> 2677</span> sinfo_msg(<span class="stringliteral">"Before amoeba fit"</span>);</div>
-<div class="line"><a name="l02678"></a><span class="lineno"> 2678</span> <span class="keywordflow">for</span>(i=0;i<MP;i++) {</div>
-<div class="line"><a name="l02679"></a><span class="lineno"> 2679</span> <span class="keywordflow">for</span>(j=0;j<NP;j++) {</div>
-<div class="line"><a name="l02680"></a><span class="lineno"> 2680</span> sinfo_msg(<span class="stringliteral">"ap[%d][%d]=%g"</span>,i,j,ap[i][j]);</div>
-<div class="line"><a name="l02681"></a><span class="lineno"> 2681</span> }</div>
-<div class="line"><a name="l02682"></a><span class="lineno"> 2682</span> }</div>
-<div class="line"><a name="l02683"></a><span class="lineno"> 2683</span> </div>
-<div class="line"><a name="l02684"></a><span class="lineno"> 2684</span> </div>
-<div class="line"><a name="l02685"></a><span class="lineno"> 2685</span> </div>
-<div class="line"><a name="l02686"></a><span class="lineno"> 2686</span> </div>
-<div class="line"><a name="l02687"></a><span class="lineno"> 2687</span> <span class="keywordflow">for</span>(i=0;i<MP;i++) {</div>
-<div class="line"><a name="l02688"></a><span class="lineno"> 2688</span> p0[0]=ap[i][0];</div>
-<div class="line"><a name="l02689"></a><span class="lineno"> 2689</span> p0[1]=ap[i][1];</div>
-<div class="line"><a name="l02690"></a><span class="lineno"> 2690</span> p0[2]=ap[i][2];</div>
-<div class="line"><a name="l02691"></a><span class="lineno"> 2691</span> y[i]=sinfo_fit_bkg(p0);</div>
-<div class="line"><a name="l02692"></a><span class="lineno"> 2692</span> }</div>
-<div class="line"><a name="l02693"></a><span class="lineno"> 2693</span> </div>
-<div class="line"><a name="l02694"></a><span class="lineno"> 2694</span> sinfo_msg(<span class="stringliteral">"p0=%g %g %g"</span>,p0[0],p0[1],p0[2]);</div>
-<div class="line"><a name="l02695"></a><span class="lineno"> 2695</span> <span class="keywordflow">for</span>(i=0;i<N_ITER_FIT_AMOEBA;i++) {</div>
-<div class="line"><a name="l02696"></a><span class="lineno"> 2696</span> check_nomsg(sinfo_fit_amoeba(ap,y,NP,AMOEBA_FTOL,sinfo_fit_bkg,&nfunc));</div>
-<div class="line"><a name="l02697"></a><span class="lineno"> 2697</span> sinfo_msg(<span class="stringliteral">"After amoeba fit"</span>);</div>
-<div class="line"><a name="l02698"></a><span class="lineno"> 2698</span> sinfo_msg(<span class="stringliteral">"iter=%d ap=%g %g %g"</span>,i,ap[0][0],ap[0][1],ap[0][2]);</div>
-<div class="line"><a name="l02699"></a><span class="lineno"> 2699</span> }</div>
-<div class="line"><a name="l02700"></a><span class="lineno"> 2700</span> sinfo_unwrap_vector(&sa_vx);</div>
-<div class="line"><a name="l02701"></a><span class="lineno"> 2701</span> sinfo_unwrap_vector(&sa_vy);</div>
-<div class="line"><a name="l02702"></a><span class="lineno"> 2702</span> sinfo_free_table(&tmp2);</div>
-<div class="line"><a name="l02703"></a><span class="lineno"> 2703</span> </div>
-<div class="line"><a name="l02704"></a><span class="lineno"> 2704</span> </div>
-<div class="line"><a name="l02705"></a><span class="lineno"> 2705</span> sinfo_msg(<span class="stringliteral">"After amoeba fit"</span>);</div>
-<div class="line"><a name="l02706"></a><span class="lineno"> 2706</span> <span class="keywordflow">for</span>(i=0;i<MP;i++) {</div>
-<div class="line"><a name="l02707"></a><span class="lineno"> 2707</span> <span class="keywordflow">for</span>(j=0;j<NP;j++) {</div>
-<div class="line"><a name="l02708"></a><span class="lineno"> 2708</span> sinfo_msg(<span class="stringliteral">"ap[%d][%d]=%g"</span>,i,j,ap[i][j]);</div>
-<div class="line"><a name="l02709"></a><span class="lineno"> 2709</span> }</div>
-<div class="line"><a name="l02710"></a><span class="lineno"> 2710</span> sinfo_msg(<span class="stringliteral">"y[%d]=%g"</span>,i,y[i]);</div>
-<div class="line"><a name="l02711"></a><span class="lineno"> 2711</span> }</div>
-<div class="line"><a name="l02712"></a><span class="lineno"> 2712</span> </div>
-<div class="line"><a name="l02713"></a><span class="lineno"> 2713</span> </div>
-<div class="line"><a name="l02714"></a><span class="lineno"> 2714</span> </div>
-<div class="line"><a name="l02715"></a><span class="lineno"> 2715</span> check_nomsg(nrow=cpl_table_get_nrow(lambda));</div>
-<div class="line"><a name="l02716"></a><span class="lineno"> 2716</span> check_nomsg(*bkg=cpl_table_new(nrow));</div>
-<div class="line"><a name="l02717"></a><span class="lineno"> 2717</span> check_nomsg(cpl_table_duplicate_column(*bkg,<span class="stringliteral">"WAVE"</span>,lambda,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l02718"></a><span class="lineno"> 2718</span> check_nomsg(cpl_table_new_column(*bkg,<span class="stringliteral">"INT2"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l02719"></a><span class="lineno"> 2719</span> cpl_table_fill_column_window(*bkg,<span class="stringliteral">"INT2"</span>,0,nrow,0.);</div>
-<div class="line"><a name="l02720"></a><span class="lineno"> 2720</span> check_nomsg(pw=cpl_table_get_data_double(*bkg,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l02721"></a><span class="lineno"> 2721</span> check_nomsg(pf=cpl_table_get_data_double(*bkg,<span class="stringliteral">"INT2"</span>));</div>
-<div class="line"><a name="l02722"></a><span class="lineno"> 2722</span> </div>
-<div class="line"><a name="l02723"></a><span class="lineno"> 2723</span> <span class="keywordflow">for</span>(i=0;i<nrow;i++) {</div>
-<div class="line"><a name="l02724"></a><span class="lineno"> 2724</span> pf[i]=sinfo_fac(pw[i],ap[0][2]);</div>
-<div class="line"><a name="l02725"></a><span class="lineno"> 2725</span> }</div>
-<div class="line"><a name="l02726"></a><span class="lineno"> 2726</span> check_nomsg(max=cpl_table_get_column_max(*bkg,<span class="stringliteral">"INT2"</span>));</div>
-<div class="line"><a name="l02727"></a><span class="lineno"> 2727</span> </div>
-<div class="line"><a name="l02728"></a><span class="lineno"> 2728</span> <span class="keywordflow">if</span>(max != 0) {</div>
-<div class="line"><a name="l02729"></a><span class="lineno"> 2729</span> check_nomsg(cpl_table_divide_scalar(*bkg,<span class="stringliteral">"INT2"</span>,max));</div>
-<div class="line"><a name="l02730"></a><span class="lineno"> 2730</span> }</div>
-<div class="line"><a name="l02731"></a><span class="lineno"> 2731</span> check_nomsg(cpl_table_multiply_scalar(*bkg,<span class="stringliteral">"INT2"</span>,ap[0][1]));</div>
-<div class="line"><a name="l02732"></a><span class="lineno"> 2732</span> check_nomsg(cpl_table_add_scalar(*bkg,<span class="stringliteral">"INT2"</span>,ap[0][0]));</div>
-<div class="line"><a name="l02733"></a><span class="lineno"> 2733</span> <span class="comment">//check_nomsg(cpl_table_save(*bkg,NULL,NULL,</span></div>
-<div class="line"><a name="l02734"></a><span class="lineno"> 2734</span> <span class="comment">//"out_amoeba5.fits",CPL_IO_DEFAULT ));</span></div>
-<div class="line"><a name="l02735"></a><span class="lineno"> 2735</span> sinfo_new_destroy_2Ddoublearray(&ap,MP);</div>
-<div class="line"><a name="l02736"></a><span class="lineno"> 2736</span> </div>
-<div class="line"><a name="l02737"></a><span class="lineno"> 2737</span> </div>
-<div class="line"><a name="l02738"></a><span class="lineno"> 2738</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02739"></a><span class="lineno"> 2739</span> </div>
-<div class="line"><a name="l02740"></a><span class="lineno"> 2740</span> cleanup:</div>
-<div class="line"><a name="l02741"></a><span class="lineno"> 2741</span> sinfo_new_destroy_2Ddoublearray(&ap,MP);</div>
-<div class="line"><a name="l02742"></a><span class="lineno"> 2742</span> sinfo_free_table(&tmp1);</div>
-<div class="line"><a name="l02743"></a><span class="lineno"> 2743</span> sinfo_free_table(&tmp2);</div>
-<div class="line"><a name="l02744"></a><span class="lineno"> 2744</span> sinfo_unwrap_vector(&sa_vx);</div>
-<div class="line"><a name="l02745"></a><span class="lineno"> 2745</span> sinfo_unwrap_vector(&sa_vy);</div>
-<div class="line"><a name="l02746"></a><span class="lineno"> 2746</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l02747"></a><span class="lineno"> 2747</span> </div>
-<div class="line"><a name="l02748"></a><span class="lineno"> 2748</span> }</div>
-<div class="line"><a name="l02749"></a><span class="lineno"> 2749</span> </div>
-<div class="line"><a name="l02750"></a><span class="lineno"> 2750</span> </div>
-<div class="line"><a name="l02751"></a><span class="lineno"> 2751</span> </div>
-<div class="line"><a name="l02752"></a><span class="lineno"> 2752</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02764"></a><span class="lineno"> 2764</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02765"></a><span class="lineno"> 2765</span> </div>
-<div class="line"><a name="l02766"></a><span class="lineno"> 2766</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02767"></a><span class="lineno"> 2767</span> sinfo_thermal_background(cpl_table* int_sky,</div>
-<div class="line"><a name="l02768"></a><span class="lineno"> 2768</span> cpl_table* lambda,</div>
-<div class="line"><a name="l02769"></a><span class="lineno"> 2769</span> cpl_table* lrange,</div>
-<div class="line"><a name="l02770"></a><span class="lineno"> 2770</span> <span class="keyword">const</span> <span class="keywordtype">double</span> temp,</div>
-<div class="line"><a name="l02771"></a><span class="lineno"> 2771</span> <span class="keyword">const</span> <span class="keywordtype">int</span> niter,</div>
-<div class="line"><a name="l02772"></a><span class="lineno"> 2772</span> <span class="keyword">const</span> <span class="keywordtype">int</span> filter_width,</div>
-<div class="line"><a name="l02773"></a><span class="lineno"> 2773</span> <span class="keyword">const</span> <span class="keywordtype">double</span> tol,</div>
-<div class="line"><a name="l02774"></a><span class="lineno"> 2774</span> cpl_table** bkg,</div>
-<div class="line"><a name="l02775"></a><span class="lineno"> 2775</span> <span class="keywordtype">int</span>* success_fit)</div>
-<div class="line"><a name="l02776"></a><span class="lineno"> 2776</span> {</div>
-<div class="line"><a name="l02777"></a><span class="lineno"> 2777</span> </div>
-<div class="line"><a name="l02778"></a><span class="lineno"> 2778</span> <span class="keywordtype">int</span> npix=0;</div>
-<div class="line"><a name="l02779"></a><span class="lineno"> 2779</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02780"></a><span class="lineno"> 2780</span> <span class="keywordtype">int</span> row=0;</div>
-<div class="line"><a name="l02781"></a><span class="lineno"> 2781</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ndim=3;<span class="comment">/* There are 3 parameters */</span></div>
-<div class="line"><a name="l02782"></a><span class="lineno"> 2782</span> <span class="keywordtype">int</span> ia[ndim];</div>
-<div class="line"><a name="l02783"></a><span class="lineno"> 2783</span> </div>
-<div class="line"><a name="l02784"></a><span class="lineno"> 2784</span> <span class="keywordtype">int</span> NPOINTS=0;</div>
-<div class="line"><a name="l02785"></a><span class="lineno"> 2785</span> </div>
-<div class="line"><a name="l02786"></a><span class="lineno"> 2786</span> </div>
-<div class="line"><a name="l02787"></a><span class="lineno"> 2787</span> <span class="keywordtype">double</span> temp1=0;</div>
-<div class="line"><a name="l02788"></a><span class="lineno"> 2788</span> <span class="keywordtype">double</span> temp2=0;</div>
-<div class="line"><a name="l02789"></a><span class="lineno"> 2789</span> </div>
-<div class="line"><a name="l02790"></a><span class="lineno"> 2790</span> <span class="comment">//double r0=80.306773;</span></div>
-<div class="line"><a name="l02791"></a><span class="lineno"> 2791</span> <span class="comment">//double r1=450.50027;</span></div>
-<div class="line"><a name="l02792"></a><span class="lineno"> 2792</span> <span class="comment">//double r2=252.17949;</span></div>
-<div class="line"><a name="l02793"></a><span class="lineno"> 2793</span> <span class="keywordtype">double</span> max_tmp2=0;</div>
-<div class="line"><a name="l02794"></a><span class="lineno"> 2794</span> <span class="keywordtype">double</span>* ptmp1=NULL;</div>
-<div class="line"><a name="l02795"></a><span class="lineno"> 2795</span> <span class="keywordtype">double</span> thermal=0;</div>
-<div class="line"><a name="l02796"></a><span class="lineno"> 2796</span> <span class="keywordtype">double</span>* pw=NULL;</div>
-<div class="line"><a name="l02797"></a><span class="lineno"> 2797</span> <span class="keywordtype">double</span> p0[3];</div>
-<div class="line"><a name="l02798"></a><span class="lineno"> 2798</span> <span class="keywordtype">double</span> wmin=0;</div>
-<div class="line"><a name="l02799"></a><span class="lineno"> 2799</span> <span class="keywordtype">double</span> wmax=0;</div>
-<div class="line"><a name="l02800"></a><span class="lineno"> 2800</span> <span class="keywordtype">double</span> ga0=0;</div>
-<div class="line"><a name="l02801"></a><span class="lineno"> 2801</span> <span class="keywordtype">double</span> ga1=0;</div>
-<div class="line"><a name="l02802"></a><span class="lineno"> 2802</span> <span class="comment">//double ga1=0;</span></div>
-<div class="line"><a name="l02803"></a><span class="lineno"> 2803</span> <span class="keywordtype">double</span> ga2=0;</div>
-<div class="line"><a name="l02804"></a><span class="lineno"> 2804</span> <span class="keywordtype">double</span> mse=0;</div>
-<div class="line"><a name="l02805"></a><span class="lineno"> 2805</span> <span class="keywordtype">double</span> chired=0;</div>
-<div class="line"><a name="l02806"></a><span class="lineno"> 2806</span> </div>
-<div class="line"><a name="l02807"></a><span class="lineno"> 2807</span> </div>
-<div class="line"><a name="l02808"></a><span class="lineno"> 2808</span> cpl_vector *a = cpl_vector_new(ndim);</div>
-<div class="line"><a name="l02809"></a><span class="lineno"> 2809</span> cpl_table* xlr=NULL;</div>
-<div class="line"><a name="l02810"></a><span class="lineno"> 2810</span> cpl_table* ylr=NULL;</div>
-<div class="line"><a name="l02811"></a><span class="lineno"> 2811</span> cpl_table* wlr=NULL;</div>
-<div class="line"><a name="l02812"></a><span class="lineno"> 2812</span> cpl_table* tmp=NULL;</div>
-<div class="line"><a name="l02813"></a><span class="lineno"> 2813</span> cpl_table* temp2_tbl=NULL;</div>
-<div class="line"><a name="l02814"></a><span class="lineno"> 2814</span> </div>
-<div class="line"><a name="l02815"></a><span class="lineno"> 2815</span> cpl_vector* y=NULL;</div>
-<div class="line"><a name="l02816"></a><span class="lineno"> 2816</span> cpl_vector* fy=NULL;</div>
-<div class="line"><a name="l02817"></a><span class="lineno"> 2817</span> </div>
-<div class="line"><a name="l02818"></a><span class="lineno"> 2818</span> cpl_vector* sy=NULL;</div>
-<div class="line"><a name="l02819"></a><span class="lineno"> 2819</span> </div>
-<div class="line"><a name="l02820"></a><span class="lineno"> 2820</span> cpl_matrix* x_matrix=NULL;</div>
-<div class="line"><a name="l02821"></a><span class="lineno"> 2821</span> <span class="keywordtype">double</span> bkg_min=0;</div>
-<div class="line"><a name="l02822"></a><span class="lineno"> 2822</span> <span class="keywordtype">double</span> bkg_max=0;</div>
-<div class="line"><a name="l02823"></a><span class="lineno"> 2823</span> <span class="keywordtype">int</span> status=0;</div>
-<div class="line"><a name="l02824"></a><span class="lineno"> 2824</span> <span class="keywordtype">double</span> avg=0;</div>
-<div class="line"><a name="l02825"></a><span class="lineno"> 2825</span> <span class="keywordtype">double</span> sdv=0;</div>
-<div class="line"><a name="l02826"></a><span class="lineno"> 2826</span> <span class="keywordtype">double</span> med=0;</div>
-<div class="line"><a name="l02827"></a><span class="lineno"> 2827</span> <span class="keywordtype">double</span>* pif=NULL;</div>
-<div class="line"><a name="l02828"></a><span class="lineno"> 2828</span> <span class="keywordtype">double</span>* pwf=NULL;</div>
-<div class="line"><a name="l02829"></a><span class="lineno"> 2829</span> <span class="keywordtype">double</span>* pws=NULL;</div>
-<div class="line"><a name="l02830"></a><span class="lineno"> 2830</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l02831"></a><span class="lineno"> 2831</span> <span class="keywordtype">int</span> nrow=0;</div>
-<div class="line"><a name="l02832"></a><span class="lineno"> 2832</span> </div>
-<div class="line"><a name="l02833"></a><span class="lineno"> 2833</span> <span class="comment">//check_nomsg(cpl_table_save(int_sky,NULL,NULL,</span></div>
-<div class="line"><a name="l02834"></a><span class="lineno"> 2834</span> <span class="comment">//"out_pippo.fits", CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l02835"></a><span class="lineno"> 2835</span> check_nomsg(wmin=cpl_table_get_column_min(lrange,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l02836"></a><span class="lineno"> 2836</span> check_nomsg(wmax=cpl_table_get_column_max(lrange,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l02837"></a><span class="lineno"> 2837</span> </div>
-<div class="line"><a name="l02838"></a><span class="lineno"> 2838</span> bkg_min=sinfo_fac(wmin,temp);</div>
-<div class="line"><a name="l02839"></a><span class="lineno"> 2839</span> bkg_max=sinfo_fac(wmax,temp);</div>
-<div class="line"><a name="l02840"></a><span class="lineno"> 2840</span> <span class="comment">//sinfo_msg("bkg: min=%g max=%g",bkg_min,bkg_max);</span></div>
-<div class="line"><a name="l02841"></a><span class="lineno"> 2841</span> <span class="comment">//sinfo_scale_fct=sinfo_scale_fct*bkg_max;</span></div>
-<div class="line"><a name="l02842"></a><span class="lineno"> 2842</span> <span class="comment">//sinfo_scale_fct=sinfo_scale_fct;</span></div>
-<div class="line"><a name="l02843"></a><span class="lineno"> 2843</span> </div>
-<div class="line"><a name="l02844"></a><span class="lineno"> 2844</span> check_nomsg(cpl_table_and_selected_double(lambda,<span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l02845"></a><span class="lineno"> 2845</span> CPL_NOT_LESS_THAN,wmin));</div>
-<div class="line"><a name="l02846"></a><span class="lineno"> 2846</span> check_nomsg(tmp=cpl_table_extract_selected(lambda));</div>
-<div class="line"><a name="l02847"></a><span class="lineno"> 2847</span> </div>
-<div class="line"><a name="l02848"></a><span class="lineno"> 2848</span> check_nomsg(cpl_table_and_selected_double(tmp,<span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l02849"></a><span class="lineno"> 2849</span> CPL_NOT_GREATER_THAN,wmax));</div>
-<div class="line"><a name="l02850"></a><span class="lineno"> 2850</span> check_nomsg(xlr=cpl_table_extract_selected(tmp));</div>
-<div class="line"><a name="l02851"></a><span class="lineno"> 2851</span> sinfo_free_table(&tmp);</div>
-<div class="line"><a name="l02852"></a><span class="lineno"> 2852</span> </div>
-<div class="line"><a name="l02853"></a><span class="lineno"> 2853</span> </div>
-<div class="line"><a name="l02854"></a><span class="lineno"> 2854</span> check_nomsg(cpl_table_and_selected_double(int_sky,<span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l02855"></a><span class="lineno"> 2855</span> CPL_NOT_LESS_THAN,wmin));</div>
-<div class="line"><a name="l02856"></a><span class="lineno"> 2856</span> check_nomsg(tmp=cpl_table_extract_selected(int_sky));</div>
-<div class="line"><a name="l02857"></a><span class="lineno"> 2857</span> check_nomsg(cpl_table_and_selected_double(tmp,<span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l02858"></a><span class="lineno"> 2858</span> CPL_NOT_GREATER_THAN,wmax));</div>
-<div class="line"><a name="l02859"></a><span class="lineno"> 2859</span> </div>
-<div class="line"><a name="l02860"></a><span class="lineno"> 2860</span> </div>
-<div class="line"><a name="l02861"></a><span class="lineno"> 2861</span> <span class="comment">//To be sure one has not strange cases</span></div>
-<div class="line"><a name="l02862"></a><span class="lineno"> 2862</span> check_nomsg(cpl_table_and_selected_double(tmp,<span class="stringliteral">"INT"</span>,CPL_GREATER_THAN,-2));</div>
-<div class="line"><a name="l02863"></a><span class="lineno"> 2863</span> check_nomsg(ylr=cpl_table_extract_selected(tmp));</div>
-<div class="line"><a name="l02864"></a><span class="lineno"> 2864</span> <span class="comment">//check_nomsg(cpl_table_save(ylr,NULL,NULL,"out_ylr_0.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l02865"></a><span class="lineno"> 2865</span> sinfo_free_table(&tmp);</div>
-<div class="line"><a name="l02866"></a><span class="lineno"> 2866</span> check_nomsg(tmp=cpl_table_duplicate(ylr));</div>
-<div class="line"><a name="l02867"></a><span class="lineno"> 2867</span> sinfo_free_table(&ylr);</div>
-<div class="line"><a name="l02868"></a><span class="lineno"> 2868</span> </div>
-<div class="line"><a name="l02869"></a><span class="lineno"> 2869</span> check_nomsg(avg=cpl_table_get_column_mean(tmp,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l02870"></a><span class="lineno"> 2870</span> check_nomsg(sdv=cpl_table_get_column_stdev(tmp,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l02871"></a><span class="lineno"> 2871</span> check_nomsg(cpl_table_and_selected_double(tmp,<span class="stringliteral">"INT"</span>,</div>
-<div class="line"><a name="l02872"></a><span class="lineno"> 2872</span> CPL_LESS_THAN,avg+10*sdv));</div>
-<div class="line"><a name="l02873"></a><span class="lineno"> 2873</span> </div>
-<div class="line"><a name="l02874"></a><span class="lineno"> 2874</span> check_nomsg(ylr=cpl_table_extract_selected(tmp));</div>
-<div class="line"><a name="l02875"></a><span class="lineno"> 2875</span> sinfo_free_table(&tmp);</div>
-<div class="line"><a name="l02876"></a><span class="lineno"> 2876</span> </div>
-<div class="line"><a name="l02877"></a><span class="lineno"> 2877</span> </div>
-<div class="line"><a name="l02878"></a><span class="lineno"> 2878</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02879"></a><span class="lineno"> 2879</span> <span class="comment"> check_nomsg(xlr=sinfo_table_select_range(lambda,lrange,0.003));</span></div>
-<div class="line"><a name="l02880"></a><span class="lineno"> 2880</span> <span class="comment"> check_nomsg(ylr=sinfo_table_select_range(int_sky,lrange,0.003));</span></div>
-<div class="line"><a name="l02881"></a><span class="lineno"> 2881</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02882"></a><span class="lineno"> 2882</span> check_nomsg(cpl_table_and_selected_double(ylr,<span class="stringliteral">"INT"</span>,CPL_NOT_EQUAL_TO,0));</div>
-<div class="line"><a name="l02883"></a><span class="lineno"> 2883</span> </div>
-<div class="line"><a name="l02884"></a><span class="lineno"> 2884</span> check_nomsg(wlr=cpl_table_extract_selected(ylr));</div>
-<div class="line"><a name="l02885"></a><span class="lineno"> 2885</span> </div>
-<div class="line"><a name="l02886"></a><span class="lineno"> 2886</span> </div>
-<div class="line"><a name="l02887"></a><span class="lineno"> 2887</span> check_nomsg(p0[0]=cpl_table_get_column_min(wlr,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l02888"></a><span class="lineno"> 2888</span> check_nomsg(row=sinfo_table_get_index_of_val(ylr,<span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l02889"></a><span class="lineno"> 2889</span> wmax,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l02890"></a><span class="lineno"> 2890</span> check_nomsg(p0[1]=cpl_table_get_double(ylr,<span class="stringliteral">"INT"</span>,row,&status));</div>
-<div class="line"><a name="l02891"></a><span class="lineno"> 2891</span> p0[2]=temp;</div>
-<div class="line"><a name="l02892"></a><span class="lineno"> 2892</span> </div>
-<div class="line"><a name="l02893"></a><span class="lineno"> 2893</span> </div>
-<div class="line"><a name="l02894"></a><span class="lineno"> 2894</span> ga0=p0[0];</div>
-<div class="line"><a name="l02895"></a><span class="lineno"> 2895</span> ga1=p0[1]/bkg_max;</div>
-<div class="line"><a name="l02896"></a><span class="lineno"> 2896</span> <span class="comment">//ga1=p0[1];</span></div>
-<div class="line"><a name="l02897"></a><span class="lineno"> 2897</span> ga2=p0[2];</div>
-<div class="line"><a name="l02898"></a><span class="lineno"> 2898</span> </div>
-<div class="line"><a name="l02899"></a><span class="lineno"> 2899</span> <span class="comment">//sinfo_msg("p= %g %g %g",p0[0],p0[1],p0[2]);</span></div>
-<div class="line"><a name="l02900"></a><span class="lineno"> 2900</span> check_nomsg(sinfo_table_flag_nan(&wlr,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l02901"></a><span class="lineno"> 2901</span> check_nomsg(cpl_table_erase_invalid(wlr));</div>
-<div class="line"><a name="l02902"></a><span class="lineno"> 2902</span> <span class="comment">//check_nomsg(cpl_table_save(xlr,NULL,NULL,"out_xlr.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l02903"></a><span class="lineno"> 2903</span> <span class="comment">//check_nomsg(cpl_table_save(ylr,NULL,NULL,"out_ylr.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l02904"></a><span class="lineno"> 2904</span> <span class="comment">//check_nomsg(cpl_table_save(wlr,NULL,NULL,"out_wlr.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l02905"></a><span class="lineno"> 2905</span> </div>
-<div class="line"><a name="l02906"></a><span class="lineno"> 2906</span> </div>
-<div class="line"><a name="l02907"></a><span class="lineno"> 2907</span> check_nomsg(NPOINTS=cpl_table_get_nrow(ylr));</div>
-<div class="line"><a name="l02908"></a><span class="lineno"> 2908</span> </div>
-<div class="line"><a name="l02909"></a><span class="lineno"> 2909</span> check_nomsg(x_matrix = cpl_matrix_wrap(NPOINTS,1,</div>
-<div class="line"><a name="l02910"></a><span class="lineno"> 2910</span> cpl_table_get_data_double(ylr,<span class="stringliteral">"WAVE"</span>)));</div>
-<div class="line"><a name="l02911"></a><span class="lineno"> 2911</span> check_nomsg(y=cpl_vector_wrap(NPOINTS,cpl_table_get_data_double(ylr,<span class="stringliteral">"INT"</span>)));</div>
-<div class="line"><a name="l02912"></a><span class="lineno"> 2912</span> <span class="comment">//check_nomsg(fy=cpl_vector_filter_median_create(y,1));</span></div>
-<div class="line"><a name="l02913"></a><span class="lineno"> 2913</span> <span class="comment">//check_nomsg(fy=cpl_vector_filter_lowpass_create(y,CPL_LOWPASS_LINEAR,3));</span></div>
-<div class="line"><a name="l02914"></a><span class="lineno"> 2914</span> <span class="comment">//check_nomsg(cpl_table_save(ylr,NULL,NULL,"out_ylr1.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l02915"></a><span class="lineno"> 2915</span> check_nomsg(fy=sinfo_sky_background_estimate(y,filter_width,filter_width));</div>
-<div class="line"><a name="l02916"></a><span class="lineno"> 2916</span> <span class="comment">//check_nomsg(cpl_table_save(ylr,NULL,NULL,"out_ylr2.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l02917"></a><span class="lineno"> 2917</span> pif=cpl_vector_get_data(fy);</div>
-<div class="line"><a name="l02918"></a><span class="lineno"> 2918</span> pwf=cpl_table_get_data_double(ylr,<span class="stringliteral">"WAVE"</span>);</div>
-<div class="line"><a name="l02919"></a><span class="lineno"> 2919</span> </div>
-<div class="line"><a name="l02920"></a><span class="lineno"> 2920</span> </div>
-<div class="line"><a name="l02921"></a><span class="lineno"> 2921</span> check_nomsg(cpl_table_new_column(int_sky,<span class="stringliteral">"INT_BKG_SMO"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l02922"></a><span class="lineno"> 2922</span> check_nomsg(cpl_table_new_column(int_sky,<span class="stringliteral">"WAVE_SMO"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l02923"></a><span class="lineno"> 2923</span> pws=cpl_table_get_data_double(int_sky,<span class="stringliteral">"WAVE"</span>);</div>
-<div class="line"><a name="l02924"></a><span class="lineno"> 2924</span> </div>
-<div class="line"><a name="l02925"></a><span class="lineno"> 2925</span> k=0;</div>
-<div class="line"><a name="l02926"></a><span class="lineno"> 2926</span> i=0;</div>
-<div class="line"><a name="l02927"></a><span class="lineno"> 2927</span> check_nomsg(nrow=cpl_table_get_nrow(int_sky));</div>
-<div class="line"><a name="l02928"></a><span class="lineno"> 2928</span> <span class="keywordflow">if</span>((pws[0]-pwf[0])>0) {</div>
-<div class="line"><a name="l02929"></a><span class="lineno"> 2929</span> <span class="keywordflow">for</span>(i=0;i<NPOINTS;i++) {</div>
-<div class="line"><a name="l02930"></a><span class="lineno"> 2930</span> <span class="keywordflow">if</span>(fabs(pws[k]-pwf[i]) < tol) {</div>
-<div class="line"><a name="l02931"></a><span class="lineno"> 2931</span> check_nomsg(cpl_table_set_double(int_sky,<span class="stringliteral">"INT_BKG_SMO"</span>,k,pif[i]));</div>
-<div class="line"><a name="l02932"></a><span class="lineno"> 2932</span> check_nomsg(cpl_table_set_double(int_sky,<span class="stringliteral">"WAVE_SMO"</span>,k,pws[i]));</div>
-<div class="line"><a name="l02933"></a><span class="lineno"> 2933</span> k++;</div>
-<div class="line"><a name="l02934"></a><span class="lineno"> 2934</span> }</div>
-<div class="line"><a name="l02935"></a><span class="lineno"> 2935</span> }</div>
-<div class="line"><a name="l02936"></a><span class="lineno"> 2936</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l02937"></a><span class="lineno"> 2937</span> <span class="keywordflow">for</span>(k=0;k<nrow;k++) {</div>
-<div class="line"><a name="l02938"></a><span class="lineno"> 2938</span> <span class="keywordflow">if</span>((i<NPOINTS) && (fabs(pws[k]-pwf[i]) < tol)) {</div>
-<div class="line"><a name="l02939"></a><span class="lineno"> 2939</span> check_nomsg(cpl_table_set_double(int_sky,<span class="stringliteral">"INT_BKG_SMO"</span>,k,pif[i]));</div>
-<div class="line"><a name="l02940"></a><span class="lineno"> 2940</span> check_nomsg(cpl_table_set_double(int_sky,<span class="stringliteral">"WAVE_SMO"</span>,k,pws[i]));</div>
-<div class="line"><a name="l02941"></a><span class="lineno"> 2941</span> i++;</div>
-<div class="line"><a name="l02942"></a><span class="lineno"> 2942</span> }</div>
-<div class="line"><a name="l02943"></a><span class="lineno"> 2943</span> }</div>
-<div class="line"><a name="l02944"></a><span class="lineno"> 2944</span> </div>
-<div class="line"><a name="l02945"></a><span class="lineno"> 2945</span> }</div>
-<div class="line"><a name="l02946"></a><span class="lineno"> 2946</span> </div>
-<div class="line"><a name="l02947"></a><span class="lineno"> 2947</span> <span class="comment">//check_nomsg(cpl_table_save(ylr,NULL,NULL,"out_ylr3.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l02948"></a><span class="lineno"> 2948</span> </div>
-<div class="line"><a name="l02949"></a><span class="lineno"> 2949</span> </div>
-<div class="line"><a name="l02950"></a><span class="lineno"> 2950</span> check_nomsg(cpl_vector_set(a, 0, ga0));</div>
-<div class="line"><a name="l02951"></a><span class="lineno"> 2951</span> check_nomsg(cpl_vector_set(a, 1, ga1));</div>
-<div class="line"><a name="l02952"></a><span class="lineno"> 2952</span> check_nomsg(cpl_vector_set(a, 2, ga2));</div>
-<div class="line"><a name="l02953"></a><span class="lineno"> 2953</span> </div>
-<div class="line"><a name="l02954"></a><span class="lineno"> 2954</span> check_nomsg(sy=cpl_vector_duplicate(y));</div>
-<div class="line"><a name="l02955"></a><span class="lineno"> 2955</span> check_nomsg(cpl_vector_power(sy,2));</div>
-<div class="line"><a name="l02956"></a><span class="lineno"> 2956</span> check_nomsg(cpl_vector_power(sy,0.5));</div>
-<div class="line"><a name="l02957"></a><span class="lineno"> 2957</span> <span class="comment">//check_nomsg(cpl_vector_fill(sy,0.001));</span></div>
-<div class="line"><a name="l02958"></a><span class="lineno"> 2958</span> </div>
-<div class="line"><a name="l02959"></a><span class="lineno"> 2959</span> ia[0] = 1;</div>
-<div class="line"><a name="l02960"></a><span class="lineno"> 2960</span> ia[1] = 1;</div>
-<div class="line"><a name="l02961"></a><span class="lineno"> 2961</span> ia[2] = 1;</div>
-<div class="line"><a name="l02962"></a><span class="lineno"> 2962</span> </div>
-<div class="line"><a name="l02963"></a><span class="lineno"> 2963</span> </div>
-<div class="line"><a name="l02964"></a><span class="lineno"> 2964</span> <span class="keywordflow">for</span>(i=0;i<niter;i++) {</div>
-<div class="line"><a name="l02965"></a><span class="lineno"> 2965</span> </div>
-<div class="line"><a name="l02966"></a><span class="lineno"> 2966</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02967"></a><span class="lineno"> 2967</span> <span class="comment"> sinfo_msg("before fit: a=%g %g %g",</span></div>
-<div class="line"><a name="l02968"></a><span class="lineno"> 2968</span> <span class="comment"> cpl_vector_get(a,0),</span></div>
-<div class="line"><a name="l02969"></a><span class="lineno"> 2969</span> <span class="comment"> cpl_vector_get(a,1),</span></div>
-<div class="line"><a name="l02970"></a><span class="lineno"> 2970</span> <span class="comment"> cpl_vector_get(a,2));</span></div>
-<div class="line"><a name="l02971"></a><span class="lineno"> 2971</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02972"></a><span class="lineno"> 2972</span> <span class="keywordflow">if</span>(CPL_ERROR_NONE != sinfo_fit_lm(x_matrix,NULL,fy,sy,a,ia,sinfo_fitbkg,</div>
-<div class="line"><a name="l02973"></a><span class="lineno"> 2973</span> sinfo_fitbkg_derivative,</div>
-<div class="line"><a name="l02974"></a><span class="lineno"> 2974</span> &mse,&chired,NULL)) {</div>
-<div class="line"><a name="l02975"></a><span class="lineno"> 2975</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"Thermal background fit failed"</span>);</div>
-<div class="line"><a name="l02976"></a><span class="lineno"> 2976</span> cpl_error_reset();</div>
-<div class="line"><a name="l02977"></a><span class="lineno"> 2977</span> *success_fit=1;</div>
-<div class="line"><a name="l02978"></a><span class="lineno"> 2978</span> </div>
-<div class="line"><a name="l02979"></a><span class="lineno"> 2979</span> <span class="keywordflow">goto</span> recover;</div>
-<div class="line"><a name="l02980"></a><span class="lineno"> 2980</span> }</div>
-<div class="line"><a name="l02981"></a><span class="lineno"> 2981</span> </div>
-<div class="line"><a name="l02982"></a><span class="lineno"> 2982</span> <span class="comment">//bkg_max=sinfo_fac(wmax,cpl_vector_get(a,2));</span></div>
-<div class="line"><a name="l02983"></a><span class="lineno"> 2983</span> <span class="comment">//sinfo_scale_fct=sinfo_scale_fct*bkg_max;</span></div>
-<div class="line"><a name="l02984"></a><span class="lineno"> 2984</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02985"></a><span class="lineno"> 2985</span> <span class="comment"> sinfo_msg("after fit: a=%g %g %g chired=%g",</span></div>
-<div class="line"><a name="l02986"></a><span class="lineno"> 2986</span> <span class="comment"> cpl_vector_get(a,0),</span></div>
-<div class="line"><a name="l02987"></a><span class="lineno"> 2987</span> <span class="comment"> cpl_vector_get(a,1),</span></div>
-<div class="line"><a name="l02988"></a><span class="lineno"> 2988</span> <span class="comment"> cpl_vector_get(a,2),</span></div>
-<div class="line"><a name="l02989"></a><span class="lineno"> 2989</span> <span class="comment"> chired);</span></div>
-<div class="line"><a name="l02990"></a><span class="lineno"> 2990</span> <span class="comment"></span></div>
-<div class="line"><a name="l02991"></a><span class="lineno"> 2991</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02992"></a><span class="lineno"> 2992</span> </div>
-<div class="line"><a name="l02993"></a><span class="lineno"> 2993</span> }</div>
-<div class="line"><a name="l02994"></a><span class="lineno"> 2994</span> </div>
-<div class="line"><a name="l02995"></a><span class="lineno"> 2995</span> sinfo_msg(<span class="stringliteral">"Last fit: a=%g %g %g chired=%g"</span>,</div>
-<div class="line"><a name="l02996"></a><span class="lineno"> 2996</span> cpl_vector_get(a,0),</div>
-<div class="line"><a name="l02997"></a><span class="lineno"> 2997</span> cpl_vector_get(a,1),</div>
-<div class="line"><a name="l02998"></a><span class="lineno"> 2998</span> cpl_vector_get(a,2),</div>
-<div class="line"><a name="l02999"></a><span class="lineno"> 2999</span> chired);</div>
-<div class="line"><a name="l03000"></a><span class="lineno"> 3000</span> </div>
-<div class="line"><a name="l03001"></a><span class="lineno"> 3001</span> sinfo_free_my_vector(&fy);</div>
-<div class="line"><a name="l03002"></a><span class="lineno"> 3002</span> sinfo_unwrap_vector(&y);</div>
-<div class="line"><a name="l03003"></a><span class="lineno"> 3003</span> sinfo_free_my_vector(&sy);</div>
-<div class="line"><a name="l03004"></a><span class="lineno"> 3004</span> sinfo_unwrap_matrix(&x_matrix);</div>
-<div class="line"><a name="l03005"></a><span class="lineno"> 3005</span> sinfo_free_table(&xlr);</div>
-<div class="line"><a name="l03006"></a><span class="lineno"> 3006</span> sinfo_free_table(&ylr);</div>
-<div class="line"><a name="l03007"></a><span class="lineno"> 3007</span> sinfo_free_table(&wlr);</div>
-<div class="line"><a name="l03008"></a><span class="lineno"> 3008</span> </div>
-<div class="line"><a name="l03009"></a><span class="lineno"> 3009</span> ga0=cpl_vector_get(a,0);</div>
-<div class="line"><a name="l03010"></a><span class="lineno"> 3010</span> ga1=cpl_vector_get(a,1);</div>
-<div class="line"><a name="l03011"></a><span class="lineno"> 3011</span> ga2=cpl_vector_get(a,2);</div>
-<div class="line"><a name="l03012"></a><span class="lineno"> 3012</span> <span class="comment">//ga2=252.69284;</span></div>
-<div class="line"><a name="l03013"></a><span class="lineno"> 3013</span> check_nomsg(npix=cpl_table_get_nrow(lrange));</div>
-<div class="line"><a name="l03014"></a><span class="lineno"> 3014</span> check_nomsg(pw=cpl_table_get_data_double(lrange,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l03015"></a><span class="lineno"> 3015</span> check_nomsg(temp2_tbl=cpl_table_new(npix));</div>
-<div class="line"><a name="l03016"></a><span class="lineno"> 3016</span> check_nomsg(cpl_table_new_column(temp2_tbl,<span class="stringliteral">"TEMP2"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l03017"></a><span class="lineno"> 3017</span> </div>
-<div class="line"><a name="l03018"></a><span class="lineno"> 3018</span> <span class="keywordflow">for</span>(i=0;i<npix;i++) {</div>
-<div class="line"><a name="l03019"></a><span class="lineno"> 3019</span> temp2=sinfo_fac(pw[i],ga2);</div>
-<div class="line"><a name="l03020"></a><span class="lineno"> 3020</span> check_nomsg(cpl_table_set_double(temp2_tbl,<span class="stringliteral">"TEMP2"</span>,i,temp2));</div>
-<div class="line"><a name="l03021"></a><span class="lineno"> 3021</span> }</div>
-<div class="line"><a name="l03022"></a><span class="lineno"> 3022</span> check_nomsg(max_tmp2=cpl_table_get_column_max(temp2_tbl,<span class="stringliteral">"TEMP2"</span>));</div>
-<div class="line"><a name="l03023"></a><span class="lineno"> 3023</span> sinfo_free_table(&temp2_tbl);</div>
-<div class="line"><a name="l03024"></a><span class="lineno"> 3024</span> </div>
-<div class="line"><a name="l03025"></a><span class="lineno"> 3025</span> </div>
-<div class="line"><a name="l03026"></a><span class="lineno"> 3026</span> </div>
-<div class="line"><a name="l03027"></a><span class="lineno"> 3027</span> check_nomsg(npix=cpl_table_get_nrow(lambda));</div>
-<div class="line"><a name="l03028"></a><span class="lineno"> 3028</span> check_nomsg(pw=cpl_table_get_data_double(lambda,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l03029"></a><span class="lineno"> 3029</span> check_nomsg(*bkg=cpl_table_new(npix));</div>
-<div class="line"><a name="l03030"></a><span class="lineno"> 3030</span> check_nomsg(cpl_table_new_column(*bkg,<span class="stringliteral">"WAVE"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l03031"></a><span class="lineno"> 3031</span> check_nomsg(cpl_table_new_column(*bkg,<span class="stringliteral">"TEMP1"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l03032"></a><span class="lineno"> 3032</span> check_nomsg(cpl_table_new_column(*bkg,<span class="stringliteral">"INT"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l03033"></a><span class="lineno"> 3033</span> check_nomsg(cpl_table_new_column(*bkg,<span class="stringliteral">"INT2"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l03034"></a><span class="lineno"> 3034</span> </div>
-<div class="line"><a name="l03035"></a><span class="lineno"> 3035</span> <span class="keywordflow">for</span>(i=0;i<npix;i++) {</div>
-<div class="line"><a name="l03036"></a><span class="lineno"> 3036</span> check_nomsg(cpl_table_set_double(*bkg,<span class="stringliteral">"WAVE"</span>,i,pw[i]));</div>
-<div class="line"><a name="l03037"></a><span class="lineno"> 3037</span> temp1=sinfo_fac(pw[i],ga2);</div>
-<div class="line"><a name="l03038"></a><span class="lineno"> 3038</span> check_nomsg(cpl_table_set_double(*bkg,<span class="stringliteral">"TEMP1"</span>,i,temp1));</div>
-<div class="line"><a name="l03039"></a><span class="lineno"> 3039</span> }</div>
-<div class="line"><a name="l03040"></a><span class="lineno"> 3040</span> </div>
-<div class="line"><a name="l03041"></a><span class="lineno"> 3041</span> check_nomsg(ptmp1=cpl_table_get_data_double(*bkg,<span class="stringliteral">"TEMP1"</span>));</div>
-<div class="line"><a name="l03042"></a><span class="lineno"> 3042</span> <span class="comment">//bkg_max=sinfo_fac(wmax,ga2);</span></div>
-<div class="line"><a name="l03043"></a><span class="lineno"> 3043</span> </div>
-<div class="line"><a name="l03044"></a><span class="lineno"> 3044</span> <span class="keywordflow">for</span>(i=0;i<npix;i++) {</div>
-<div class="line"><a name="l03045"></a><span class="lineno"> 3045</span> thermal=ga0+ptmp1[i]/max_tmp2*ga1;</div>
-<div class="line"><a name="l03046"></a><span class="lineno"> 3046</span> check_nomsg(cpl_table_set_double(*bkg,<span class="stringliteral">"INT"</span>,i,thermal));</div>
-<div class="line"><a name="l03047"></a><span class="lineno"> 3047</span> thermal=ga0+ga1*sinfo_fac(pw[i],ga2);</div>
-<div class="line"><a name="l03048"></a><span class="lineno"> 3048</span> check_nomsg(cpl_table_set_double(*bkg,<span class="stringliteral">"INT2"</span>,i,thermal));</div>
-<div class="line"><a name="l03049"></a><span class="lineno"> 3049</span> }</div>
-<div class="line"><a name="l03050"></a><span class="lineno"> 3050</span> sinfo_free_my_vector(&a);</div>
-<div class="line"><a name="l03051"></a><span class="lineno"> 3051</span> </div>
-<div class="line"><a name="l03052"></a><span class="lineno"> 3052</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l03053"></a><span class="lineno"> 3053</span> </div>
-<div class="line"><a name="l03054"></a><span class="lineno"> 3054</span> recover:</div>
-<div class="line"><a name="l03055"></a><span class="lineno"> 3055</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"Recover fit of thermal background"</span>);</div>
-<div class="line"><a name="l03056"></a><span class="lineno"> 3056</span> check_nomsg(npix=cpl_table_get_nrow(lambda));</div>
-<div class="line"><a name="l03057"></a><span class="lineno"> 3057</span> check_nomsg(*bkg=cpl_table_new(npix));</div>
-<div class="line"><a name="l03058"></a><span class="lineno"> 3058</span> check_nomsg(cpl_table_new_column(*bkg,<span class="stringliteral">"TEMP1"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l03059"></a><span class="lineno"> 3059</span> check_nomsg(cpl_table_new_column(*bkg,<span class="stringliteral">"INT"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l03060"></a><span class="lineno"> 3060</span> check_nomsg(cpl_table_new_column(*bkg,<span class="stringliteral">"INT2"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l03061"></a><span class="lineno"> 3061</span> </div>
-<div class="line"><a name="l03062"></a><span class="lineno"> 3062</span> med=cpl_table_get_column_median(ylr,<span class="stringliteral">"INT"</span>);</div>
-<div class="line"><a name="l03063"></a><span class="lineno"> 3063</span> <span class="keywordflow">for</span>(i=0;i<npix;i++) {</div>
-<div class="line"><a name="l03064"></a><span class="lineno"> 3064</span> check_nomsg(cpl_table_set_double(*bkg,<span class="stringliteral">"INT"</span>,i,med));</div>
-<div class="line"><a name="l03065"></a><span class="lineno"> 3065</span> check_nomsg(cpl_table_set_double(*bkg,<span class="stringliteral">"INT2"</span>,i,med));</div>
-<div class="line"><a name="l03066"></a><span class="lineno"> 3066</span> }</div>
-<div class="line"><a name="l03067"></a><span class="lineno"> 3067</span> </div>
-<div class="line"><a name="l03068"></a><span class="lineno"> 3068</span> sinfo_free_my_vector(&a);</div>
-<div class="line"><a name="l03069"></a><span class="lineno"> 3069</span> sinfo_unwrap_vector(&y);</div>
-<div class="line"><a name="l03070"></a><span class="lineno"> 3070</span> sinfo_free_my_vector(&sy);</div>
-<div class="line"><a name="l03071"></a><span class="lineno"> 3071</span> sinfo_unwrap_matrix(&x_matrix);</div>
-<div class="line"><a name="l03072"></a><span class="lineno"> 3072</span> sinfo_free_table(&xlr);</div>
-<div class="line"><a name="l03073"></a><span class="lineno"> 3073</span> sinfo_free_table(&ylr);</div>
-<div class="line"><a name="l03074"></a><span class="lineno"> 3074</span> sinfo_free_table(&wlr);</div>
-<div class="line"><a name="l03075"></a><span class="lineno"> 3075</span> sinfo_free_table(&tmp);</div>
-<div class="line"><a name="l03076"></a><span class="lineno"> 3076</span> </div>
-<div class="line"><a name="l03077"></a><span class="lineno"> 3077</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l03078"></a><span class="lineno"> 3078</span> </div>
-<div class="line"><a name="l03079"></a><span class="lineno"> 3079</span> </div>
-<div class="line"><a name="l03080"></a><span class="lineno"> 3080</span> cleanup:</div>
-<div class="line"><a name="l03081"></a><span class="lineno"> 3081</span> sinfo_free_my_vector(&a);</div>
-<div class="line"><a name="l03082"></a><span class="lineno"> 3082</span> sinfo_unwrap_vector(&y);</div>
-<div class="line"><a name="l03083"></a><span class="lineno"> 3083</span> sinfo_free_my_vector(&sy);</div>
-<div class="line"><a name="l03084"></a><span class="lineno"> 3084</span> sinfo_unwrap_matrix(&x_matrix);</div>
-<div class="line"><a name="l03085"></a><span class="lineno"> 3085</span> </div>
-<div class="line"><a name="l03086"></a><span class="lineno"> 3086</span> sinfo_free_table(&xlr);</div>
-<div class="line"><a name="l03087"></a><span class="lineno"> 3087</span> sinfo_free_table(&ylr);</div>
-<div class="line"><a name="l03088"></a><span class="lineno"> 3088</span> sinfo_free_table(&wlr);</div>
-<div class="line"><a name="l03089"></a><span class="lineno"> 3089</span> sinfo_free_table(&tmp);</div>
-<div class="line"><a name="l03090"></a><span class="lineno"> 3090</span> sinfo_free_table(&temp2_tbl);</div>
-<div class="line"><a name="l03091"></a><span class="lineno"> 3091</span> </div>
-<div class="line"><a name="l03092"></a><span class="lineno"> 3092</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l03093"></a><span class="lineno"> 3093</span> </div>
-<div class="line"><a name="l03094"></a><span class="lineno"> 3094</span> }</div>
-<div class="line"><a name="l03095"></a><span class="lineno"> 3095</span> </div>
-<div class="line"><a name="l03107"></a><span class="lineno"> 3107</span> <span class="keyword">static</span> cpl_vector*</div>
-<div class="line"><a name="l03108"></a><span class="lineno"> 3108</span> sinfo_filter_min(<span class="keyword">const</span> cpl_vector* vi, <span class="keyword">const</span> <span class="keywordtype">int</span> size)</div>
-<div class="line"><a name="l03109"></a><span class="lineno"> 3109</span> {</div>
-<div class="line"><a name="l03110"></a><span class="lineno"> 3110</span> </div>
-<div class="line"><a name="l03111"></a><span class="lineno"> 3111</span> cpl_vector* vo=NULL;</div>
-<div class="line"><a name="l03112"></a><span class="lineno"> 3112</span> <span class="keywordtype">double</span> min=0;</div>
-<div class="line"><a name="l03113"></a><span class="lineno"> 3113</span> <span class="keywordtype">int</span> start=size/2;</div>
-<div class="line"><a name="l03114"></a><span class="lineno"> 3114</span> <span class="keywordtype">int</span> end=0;</div>
-<div class="line"><a name="l03115"></a><span class="lineno"> 3115</span> <span class="keywordtype">int</span> length=0;</div>
-<div class="line"><a name="l03116"></a><span class="lineno"> 3116</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l03117"></a><span class="lineno"> 3117</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l03118"></a><span class="lineno"> 3118</span> <span class="keyword">const</span> <span class="keywordtype">double</span>* pi=NULL;</div>
-<div class="line"><a name="l03119"></a><span class="lineno"> 3119</span> <span class="keywordtype">double</span>* po=NULL;</div>
-<div class="line"><a name="l03120"></a><span class="lineno"> 3120</span> cknull(vi,<span class="stringliteral">"null input vector"</span>);</div>
-<div class="line"><a name="l03121"></a><span class="lineno"> 3121</span> pi=cpl_vector_get_data_const(vi);</div>
-<div class="line"><a name="l03122"></a><span class="lineno"> 3122</span> length=cpl_vector_get_size(vi);</div>
-<div class="line"><a name="l03123"></a><span class="lineno"> 3123</span> end=length-size/2;</div>
-<div class="line"><a name="l03124"></a><span class="lineno"> 3124</span> vo=cpl_vector_new(length);</div>
-<div class="line"><a name="l03125"></a><span class="lineno"> 3125</span> po=cpl_vector_get_data(vo);</div>
-<div class="line"><a name="l03126"></a><span class="lineno"> 3126</span> </div>
-<div class="line"><a name="l03127"></a><span class="lineno"> 3127</span> <span class="keywordflow">for</span>(i=start; i < end; i++) {</div>
-<div class="line"><a name="l03128"></a><span class="lineno"> 3128</span> min=pi[i-start];</div>
-<div class="line"><a name="l03129"></a><span class="lineno"> 3129</span> <span class="keywordflow">for</span>(j=i-start+1;j<i+start+1;j++) {</div>
-<div class="line"><a name="l03130"></a><span class="lineno"> 3130</span> <span class="keywordflow">if</span>(min> pi[j]) {</div>
-<div class="line"><a name="l03131"></a><span class="lineno"> 3131</span> min=pi[j];</div>
-<div class="line"><a name="l03132"></a><span class="lineno"> 3132</span> }</div>
-<div class="line"><a name="l03133"></a><span class="lineno"> 3133</span> }</div>
-<div class="line"><a name="l03134"></a><span class="lineno"> 3134</span> po[i]=min;</div>
-<div class="line"><a name="l03135"></a><span class="lineno"> 3135</span> </div>
-<div class="line"><a name="l03136"></a><span class="lineno"> 3136</span> }</div>
-<div class="line"><a name="l03137"></a><span class="lineno"> 3137</span> </div>
-<div class="line"><a name="l03138"></a><span class="lineno"> 3138</span> <span class="comment">// To prevent border effects:</span></div>
-<div class="line"><a name="l03139"></a><span class="lineno"> 3139</span> <span class="keywordflow">for</span> (i = 0; i < start; i++) {</div>
-<div class="line"><a name="l03140"></a><span class="lineno"> 3140</span> po[i] = po[start];</div>
-<div class="line"><a name="l03141"></a><span class="lineno"> 3141</span> }</div>
-<div class="line"><a name="l03142"></a><span class="lineno"> 3142</span> </div>
-<div class="line"><a name="l03143"></a><span class="lineno"> 3143</span> <span class="keywordflow">for</span> (i = end; i < length; i++) {</div>
-<div class="line"><a name="l03144"></a><span class="lineno"> 3144</span> po[i] = po[end-1];</div>
-<div class="line"><a name="l03145"></a><span class="lineno"> 3145</span> }</div>
-<div class="line"><a name="l03146"></a><span class="lineno"> 3146</span> <span class="keywordflow">return</span> vo;</div>
-<div class="line"><a name="l03147"></a><span class="lineno"> 3147</span> </div>
-<div class="line"><a name="l03148"></a><span class="lineno"> 3148</span> cleanup:</div>
-<div class="line"><a name="l03149"></a><span class="lineno"> 3149</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l03150"></a><span class="lineno"> 3150</span> </div>
-<div class="line"><a name="l03151"></a><span class="lineno"> 3151</span> </div>
-<div class="line"><a name="l03152"></a><span class="lineno"> 3152</span> }</div>
-<div class="line"><a name="l03153"></a><span class="lineno"> 3153</span> </div>
-<div class="line"><a name="l03154"></a><span class="lineno"> 3154</span> </div>
-<div class="line"><a name="l03166"></a><span class="lineno"> 3166</span> <span class="keyword">static</span> cpl_vector*</div>
-<div class="line"><a name="l03167"></a><span class="lineno"> 3167</span> sinfo_filter_max(<span class="keyword">const</span> cpl_vector* vi, <span class="keyword">const</span> <span class="keywordtype">int</span> size)</div>
-<div class="line"><a name="l03168"></a><span class="lineno"> 3168</span> {</div>
-<div class="line"><a name="l03169"></a><span class="lineno"> 3169</span> </div>
-<div class="line"><a name="l03170"></a><span class="lineno"> 3170</span> cpl_vector* vo=NULL;</div>
-<div class="line"><a name="l03171"></a><span class="lineno"> 3171</span> <span class="keywordtype">double</span> max=0;</div>
-<div class="line"><a name="l03172"></a><span class="lineno"> 3172</span> <span class="keywordtype">int</span> start=size/2;</div>
-<div class="line"><a name="l03173"></a><span class="lineno"> 3173</span> <span class="keywordtype">int</span> end=0;</div>
-<div class="line"><a name="l03174"></a><span class="lineno"> 3174</span> <span class="keywordtype">int</span> length=0;</div>
-<div class="line"><a name="l03175"></a><span class="lineno"> 3175</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l03176"></a><span class="lineno"> 3176</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l03177"></a><span class="lineno"> 3177</span> <span class="keyword">const</span> <span class="keywordtype">double</span>* pi=NULL;</div>
-<div class="line"><a name="l03178"></a><span class="lineno"> 3178</span> <span class="keywordtype">double</span>* po=NULL;</div>
-<div class="line"><a name="l03179"></a><span class="lineno"> 3179</span> </div>
-<div class="line"><a name="l03180"></a><span class="lineno"> 3180</span> cknull(vi,<span class="stringliteral">"null input vector"</span>);</div>
-<div class="line"><a name="l03181"></a><span class="lineno"> 3181</span> pi=cpl_vector_get_data_const(vi);</div>
-<div class="line"><a name="l03182"></a><span class="lineno"> 3182</span> length=cpl_vector_get_size(vi);</div>
-<div class="line"><a name="l03183"></a><span class="lineno"> 3183</span> end=length-size/2;</div>
-<div class="line"><a name="l03184"></a><span class="lineno"> 3184</span> vo=cpl_vector_new(length);</div>
-<div class="line"><a name="l03185"></a><span class="lineno"> 3185</span> po=cpl_vector_get_data(vo);</div>
-<div class="line"><a name="l03186"></a><span class="lineno"> 3186</span> </div>
-<div class="line"><a name="l03187"></a><span class="lineno"> 3187</span> <span class="keywordflow">for</span>(i=start; i < end; i++) {</div>
-<div class="line"><a name="l03188"></a><span class="lineno"> 3188</span> max=pi[i-start];</div>
-<div class="line"><a name="l03189"></a><span class="lineno"> 3189</span> <span class="keywordflow">for</span>(j=i-start+1;j<i+start+1;j++) {</div>
-<div class="line"><a name="l03190"></a><span class="lineno"> 3190</span> <span class="keywordflow">if</span>(max< pi[j]) {</div>
-<div class="line"><a name="l03191"></a><span class="lineno"> 3191</span> max=pi[j];</div>
-<div class="line"><a name="l03192"></a><span class="lineno"> 3192</span> }</div>
-<div class="line"><a name="l03193"></a><span class="lineno"> 3193</span> }</div>
-<div class="line"><a name="l03194"></a><span class="lineno"> 3194</span> po[i]=max;</div>
-<div class="line"><a name="l03195"></a><span class="lineno"> 3195</span> </div>
-<div class="line"><a name="l03196"></a><span class="lineno"> 3196</span> }</div>
-<div class="line"><a name="l03197"></a><span class="lineno"> 3197</span> </div>
-<div class="line"><a name="l03198"></a><span class="lineno"> 3198</span> <span class="comment">// To prevent border effects:</span></div>
-<div class="line"><a name="l03199"></a><span class="lineno"> 3199</span> <span class="keywordflow">for</span> (i = 0; i < start; i++) {</div>
-<div class="line"><a name="l03200"></a><span class="lineno"> 3200</span> po[i] = po[start];</div>
-<div class="line"><a name="l03201"></a><span class="lineno"> 3201</span> }</div>
-<div class="line"><a name="l03202"></a><span class="lineno"> 3202</span> </div>
-<div class="line"><a name="l03203"></a><span class="lineno"> 3203</span> <span class="keywordflow">for</span> (i = end; i < length; i++) {</div>
-<div class="line"><a name="l03204"></a><span class="lineno"> 3204</span> po[i] = po[end-1];</div>
-<div class="line"><a name="l03205"></a><span class="lineno"> 3205</span> }</div>
-<div class="line"><a name="l03206"></a><span class="lineno"> 3206</span> <span class="keywordflow">return</span> vo;</div>
-<div class="line"><a name="l03207"></a><span class="lineno"> 3207</span> </div>
-<div class="line"><a name="l03208"></a><span class="lineno"> 3208</span> cleanup:</div>
-<div class="line"><a name="l03209"></a><span class="lineno"> 3209</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l03210"></a><span class="lineno"> 3210</span> </div>
-<div class="line"><a name="l03211"></a><span class="lineno"> 3211</span> </div>
-<div class="line"><a name="l03212"></a><span class="lineno"> 3212</span> }</div>
-<div class="line"><a name="l03213"></a><span class="lineno"> 3213</span> </div>
-<div class="line"><a name="l03214"></a><span class="lineno"> 3214</span> </div>
-<div class="line"><a name="l03215"></a><span class="lineno"> 3215</span> </div>
-<div class="line"><a name="l03227"></a><span class="lineno"> 3227</span> <span class="keyword">static</span> cpl_vector*</div>
-<div class="line"><a name="l03228"></a><span class="lineno"> 3228</span> sinfo_filter_smo(<span class="keyword">const</span> cpl_vector* vi, <span class="keyword">const</span> <span class="keywordtype">int</span> size)</div>
-<div class="line"><a name="l03229"></a><span class="lineno"> 3229</span> {</div>
-<div class="line"><a name="l03230"></a><span class="lineno"> 3230</span> </div>
-<div class="line"><a name="l03231"></a><span class="lineno"> 3231</span> </div>
-<div class="line"><a name="l03232"></a><span class="lineno"> 3232</span> <span class="keywordtype">double</span> sum=0;</div>
-<div class="line"><a name="l03233"></a><span class="lineno"> 3233</span> <span class="keywordtype">int</span> start=size/2;</div>
-<div class="line"><a name="l03234"></a><span class="lineno"> 3234</span> <span class="keywordtype">int</span> end=0;</div>
-<div class="line"><a name="l03235"></a><span class="lineno"> 3235</span> <span class="keywordtype">int</span> length=0;</div>
-<div class="line"><a name="l03236"></a><span class="lineno"> 3236</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l03237"></a><span class="lineno"> 3237</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l03238"></a><span class="lineno"> 3238</span> <span class="keyword">const</span> <span class="keywordtype">double</span>* pi=NULL;</div>
-<div class="line"><a name="l03239"></a><span class="lineno"> 3239</span> <span class="keywordtype">double</span>* po=NULL;</div>
-<div class="line"><a name="l03240"></a><span class="lineno"> 3240</span> cpl_vector* vo=NULL;</div>
-<div class="line"><a name="l03241"></a><span class="lineno"> 3241</span> </div>
-<div class="line"><a name="l03242"></a><span class="lineno"> 3242</span> cknull(vi,<span class="stringliteral">"null input vector"</span>);</div>
-<div class="line"><a name="l03243"></a><span class="lineno"> 3243</span> length=cpl_vector_get_size(vi);</div>
-<div class="line"><a name="l03244"></a><span class="lineno"> 3244</span> end=length-size/2;</div>
-<div class="line"><a name="l03245"></a><span class="lineno"> 3245</span> vo=cpl_vector_new(length);</div>
-<div class="line"><a name="l03246"></a><span class="lineno"> 3246</span> pi=cpl_vector_get_data_const(vi);</div>
-<div class="line"><a name="l03247"></a><span class="lineno"> 3247</span> po=cpl_vector_get_data(vo);</div>
-<div class="line"><a name="l03248"></a><span class="lineno"> 3248</span> </div>
-<div class="line"><a name="l03249"></a><span class="lineno"> 3249</span> <span class="keywordflow">for</span>(i=start; i < end; i++) {</div>
-<div class="line"><a name="l03250"></a><span class="lineno"> 3250</span> sum=0;</div>
-<div class="line"><a name="l03251"></a><span class="lineno"> 3251</span> <span class="keywordflow">for</span>(j=i - start;j<i+start+1;j++) {</div>
-<div class="line"><a name="l03252"></a><span class="lineno"> 3252</span> sum += pi[j];</div>
-<div class="line"><a name="l03253"></a><span class="lineno"> 3253</span> }</div>
-<div class="line"><a name="l03254"></a><span class="lineno"> 3254</span> po[i]=sum/size;</div>
-<div class="line"><a name="l03255"></a><span class="lineno"> 3255</span> </div>
-<div class="line"><a name="l03256"></a><span class="lineno"> 3256</span> }</div>
-<div class="line"><a name="l03257"></a><span class="lineno"> 3257</span> </div>
-<div class="line"><a name="l03258"></a><span class="lineno"> 3258</span> <span class="comment">// To prevent border effects:</span></div>
-<div class="line"><a name="l03259"></a><span class="lineno"> 3259</span> <span class="keywordflow">for</span> (i = 0; i < start; i++) {</div>
-<div class="line"><a name="l03260"></a><span class="lineno"> 3260</span> po[i] = po[start];</div>
-<div class="line"><a name="l03261"></a><span class="lineno"> 3261</span> }</div>
-<div class="line"><a name="l03262"></a><span class="lineno"> 3262</span> </div>
-<div class="line"><a name="l03263"></a><span class="lineno"> 3263</span> <span class="keywordflow">for</span> (i = end; i < length; i++) {</div>
-<div class="line"><a name="l03264"></a><span class="lineno"> 3264</span> po[i] = po[end-1];</div>
-<div class="line"><a name="l03265"></a><span class="lineno"> 3265</span> }</div>
-<div class="line"><a name="l03266"></a><span class="lineno"> 3266</span> <span class="keywordflow">return</span> vo;</div>
-<div class="line"><a name="l03267"></a><span class="lineno"> 3267</span> </div>
-<div class="line"><a name="l03268"></a><span class="lineno"> 3268</span> cleanup:</div>
-<div class="line"><a name="l03269"></a><span class="lineno"> 3269</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l03270"></a><span class="lineno"> 3270</span> </div>
-<div class="line"><a name="l03271"></a><span class="lineno"> 3271</span> }</div>
-<div class="line"><a name="l03272"></a><span class="lineno"> 3272</span> </div>
-<div class="line"><a name="l03329"></a><span class="lineno"> 3329</span> cpl_vector* sinfo_sky_background_estimate(cpl_vector *spectrum,</div>
-<div class="line"><a name="l03330"></a><span class="lineno"> 3330</span> <span class="keywordtype">int</span> msize,</div>
-<div class="line"><a name="l03331"></a><span class="lineno"> 3331</span> <span class="keywordtype">int</span> fsize)</div>
-<div class="line"><a name="l03332"></a><span class="lineno"> 3332</span> {</div>
-<div class="line"><a name="l03333"></a><span class="lineno"> 3333</span> </div>
-<div class="line"><a name="l03334"></a><span class="lineno"> 3334</span> cpl_vector * minf=NULL;</div>
-<div class="line"><a name="l03335"></a><span class="lineno"> 3335</span> cpl_vector * maxf=NULL;</div>
-<div class="line"><a name="l03336"></a><span class="lineno"> 3336</span> cpl_vector * smof=NULL;</div>
-<div class="line"><a name="l03337"></a><span class="lineno"> 3337</span> cpl_vector * back=NULL;</div>
-<div class="line"><a name="l03338"></a><span class="lineno"> 3338</span> <span class="keywordtype">double</span>* pb=NULL;</div>
-<div class="line"><a name="l03339"></a><span class="lineno"> 3339</span> <span class="keywordtype">double</span>* ps=NULL;</div>
-<div class="line"><a name="l03340"></a><span class="lineno"> 3340</span> </div>
-<div class="line"><a name="l03341"></a><span class="lineno"> 3341</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l03342"></a><span class="lineno"> 3342</span> <span class="keywordtype">int</span> length=0;</div>
-<div class="line"><a name="l03343"></a><span class="lineno"> 3343</span> </div>
-<div class="line"><a name="l03344"></a><span class="lineno"> 3344</span> </div>
-<div class="line"><a name="l03345"></a><span class="lineno"> 3345</span> cknull(spectrum,<span class="stringliteral">"null input data"</span>);</div>
-<div class="line"><a name="l03346"></a><span class="lineno"> 3346</span> </div>
-<div class="line"><a name="l03347"></a><span class="lineno"> 3347</span> <span class="keywordflow">if</span> (msize % 2 == 0)</div>
-<div class="line"><a name="l03348"></a><span class="lineno"> 3348</span> msize++;</div>
-<div class="line"><a name="l03349"></a><span class="lineno"> 3349</span> </div>
-<div class="line"><a name="l03350"></a><span class="lineno"> 3350</span> <span class="keywordflow">if</span> (fsize % 2 == 0)</div>
-<div class="line"><a name="l03351"></a><span class="lineno"> 3351</span> fsize++;</div>
-<div class="line"><a name="l03352"></a><span class="lineno"> 3352</span> check_nomsg(length=cpl_vector_get_size(spectrum));</div>
-<div class="line"><a name="l03353"></a><span class="lineno"> 3353</span> </div>
-<div class="line"><a name="l03354"></a><span class="lineno"> 3354</span> <span class="keywordflow">if</span> (msize < 3 || fsize < msize || length < 2*fsize)</div>
-<div class="line"><a name="l03355"></a><span class="lineno"> 3355</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l03356"></a><span class="lineno"> 3356</span> </div>
-<div class="line"><a name="l03357"></a><span class="lineno"> 3357</span> </div>
-<div class="line"><a name="l03358"></a><span class="lineno"> 3358</span> cknull_nomsg(minf = sinfo_filter_min(spectrum, msize));</div>
-<div class="line"><a name="l03359"></a><span class="lineno"> 3359</span> cknull_nomsg(smof = sinfo_filter_smo(minf, fsize));</div>
-<div class="line"><a name="l03360"></a><span class="lineno"> 3360</span> cpl_vector_delete(minf);</div>
-<div class="line"><a name="l03361"></a><span class="lineno"> 3361</span> cknull_nomsg(maxf = sinfo_filter_max(smof,2*msize+1));</div>
-<div class="line"><a name="l03362"></a><span class="lineno"> 3362</span> cpl_vector_delete(smof);</div>
-<div class="line"><a name="l03363"></a><span class="lineno"> 3363</span> cknull_nomsg(smof = sinfo_filter_smo(maxf, 2*fsize+1));</div>
-<div class="line"><a name="l03364"></a><span class="lineno"> 3364</span> cpl_vector_delete(maxf);</div>
-<div class="line"><a name="l03365"></a><span class="lineno"> 3365</span> cknull_nomsg(minf = sinfo_filter_min(smof, 2*msize+1));</div>
-<div class="line"><a name="l03366"></a><span class="lineno"> 3366</span> cpl_vector_delete(smof);</div>
-<div class="line"><a name="l03367"></a><span class="lineno"> 3367</span> cknull_nomsg(smof = sinfo_filter_smo(minf, 2*fsize+1));</div>
-<div class="line"><a name="l03368"></a><span class="lineno"> 3368</span> cpl_vector_delete(minf);</div>
-<div class="line"><a name="l03369"></a><span class="lineno"> 3369</span> cknull_nomsg(back=cpl_vector_new(length));</div>
-<div class="line"><a name="l03370"></a><span class="lineno"> 3370</span> cknull_nomsg(pb=cpl_vector_get_data(back));</div>
-<div class="line"><a name="l03371"></a><span class="lineno"> 3371</span> cknull_nomsg(ps=cpl_vector_get_data(smof));</div>
-<div class="line"><a name="l03372"></a><span class="lineno"> 3372</span> </div>
-<div class="line"><a name="l03373"></a><span class="lineno"> 3373</span> <span class="keywordflow">for</span> (i = 0; i < length; i++) {</div>
-<div class="line"><a name="l03374"></a><span class="lineno"> 3374</span> pb[i] = ps[i];</div>
-<div class="line"><a name="l03375"></a><span class="lineno"> 3375</span> }</div>
-<div class="line"><a name="l03376"></a><span class="lineno"> 3376</span> cpl_vector_delete(smof);</div>
-<div class="line"><a name="l03377"></a><span class="lineno"> 3377</span> </div>
-<div class="line"><a name="l03378"></a><span class="lineno"> 3378</span> <span class="keywordflow">return</span> back;</div>
-<div class="line"><a name="l03379"></a><span class="lineno"> 3379</span> cleanup:</div>
-<div class="line"><a name="l03380"></a><span class="lineno"> 3380</span> </div>
-<div class="line"><a name="l03381"></a><span class="lineno"> 3381</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l03382"></a><span class="lineno"> 3382</span> </div>
-<div class="line"><a name="l03383"></a><span class="lineno"> 3383</span> }</div>
-<div class="line"><a name="l03384"></a><span class="lineno"> 3384</span> </div>
-<div class="line"><a name="l03385"></a><span class="lineno"> 3385</span> </div>
-<div class="line"><a name="l03386"></a><span class="lineno"> 3386</span> </div>
-<div class="line"><a name="l03396"></a><span class="lineno"> 3396</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l03397"></a><span class="lineno"> 3397</span> sinfo_slice_z(<span class="keyword">const</span> cpl_imagelist* cin,<span class="keyword">const</span> <span class="keywordtype">int</span> i,<span class="keyword">const</span> <span class="keywordtype">int</span> j)</div>
-<div class="line"><a name="l03398"></a><span class="lineno"> 3398</span> {</div>
-<div class="line"><a name="l03399"></a><span class="lineno"> 3399</span> <span class="keywordtype">int</span> sx=0;</div>
-<div class="line"><a name="l03400"></a><span class="lineno"> 3400</span> <span class="keywordtype">int</span> sy=0;</div>
-<div class="line"><a name="l03401"></a><span class="lineno"> 3401</span> <span class="keywordtype">int</span> sz=0;</div>
-<div class="line"><a name="l03402"></a><span class="lineno"> 3402</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l03403"></a><span class="lineno"> 3403</span> cpl_table* tout=NULL;</div>
-<div class="line"><a name="l03404"></a><span class="lineno"> 3404</span> <span class="keyword">const</span> cpl_image* img=NULL;</div>
-<div class="line"><a name="l03405"></a><span class="lineno"> 3405</span> <span class="keyword">const</span> <span class="keywordtype">double</span>* pim=NULL;</div>
-<div class="line"><a name="l03406"></a><span class="lineno"> 3406</span> </div>
-<div class="line"><a name="l03407"></a><span class="lineno"> 3407</span> cknull(cin,<span class="stringliteral">"null input imagelist"</span>);</div>
-<div class="line"><a name="l03408"></a><span class="lineno"> 3408</span> check_nomsg(sz=cpl_imagelist_get_size(cin));</div>
-<div class="line"><a name="l03409"></a><span class="lineno"> 3409</span> check_nomsg(img=cpl_imagelist_get_const(cin,0));</div>
-<div class="line"><a name="l03410"></a><span class="lineno"> 3410</span> check_nomsg(sx=cpl_image_get_size_x(img));</div>
-<div class="line"><a name="l03411"></a><span class="lineno"> 3411</span> check_nomsg(sy=cpl_image_get_size_y(img));</div>
-<div class="line"><a name="l03412"></a><span class="lineno"> 3412</span> check_nomsg(tout=cpl_table_new(sz));</div>
-<div class="line"><a name="l03413"></a><span class="lineno"> 3413</span> check_nomsg(cpl_table_new_column(tout,<span class="stringliteral">"VALUE"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l03414"></a><span class="lineno"> 3414</span> <span class="keywordflow">for</span>(k=0;k<sz;k++) {</div>
-<div class="line"><a name="l03415"></a><span class="lineno"> 3415</span> check_nomsg(img=cpl_imagelist_get_const(cin,k));</div>
-<div class="line"><a name="l03416"></a><span class="lineno"> 3416</span> check_nomsg(pim=cpl_image_get_data_double_const(img));</div>
-<div class="line"><a name="l03417"></a><span class="lineno"> 3417</span> check_nomsg(cpl_table_set(tout,<span class="stringliteral">"VALUE"</span>,k,pim[j*sx+i]));</div>
-<div class="line"><a name="l03418"></a><span class="lineno"> 3418</span> }</div>
-<div class="line"><a name="l03419"></a><span class="lineno"> 3419</span> </div>
-<div class="line"><a name="l03420"></a><span class="lineno"> 3420</span> <span class="keywordflow">return</span> tout;</div>
-<div class="line"><a name="l03421"></a><span class="lineno"> 3421</span> cleanup:</div>
-<div class="line"><a name="l03422"></a><span class="lineno"> 3422</span> sinfo_free_table(&tout);</div>
-<div class="line"><a name="l03423"></a><span class="lineno"> 3423</span> </div>
-<div class="line"><a name="l03424"></a><span class="lineno"> 3424</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l03425"></a><span class="lineno"> 3425</span> </div>
-<div class="line"><a name="l03426"></a><span class="lineno"> 3426</span> }</div>
-<div class="line"><a name="l03427"></a><span class="lineno"> 3427</span> </div>
-<div class="line"><a name="l03438"></a><span class="lineno"> 3438</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l03439"></a><span class="lineno"> 3439</span> sinfo_xcorr(cpl_table* int_obj,</div>
-<div class="line"><a name="l03440"></a><span class="lineno"> 3440</span> cpl_table* int_sky,</div>
-<div class="line"><a name="l03441"></a><span class="lineno"> 3441</span> cpl_table* lambda,</div>
-<div class="line"><a name="l03442"></a><span class="lineno"> 3442</span> <span class="keyword">const</span> <span class="keywordtype">double</span> dispersion,</div>
-<div class="line"><a name="l03443"></a><span class="lineno"> 3443</span> <span class="keyword">const</span> <span class="keywordtype">double</span> line_hw)</div>
-<div class="line"><a name="l03444"></a><span class="lineno"> 3444</span> {</div>
-<div class="line"><a name="l03445"></a><span class="lineno"> 3445</span> </div>
-<div class="line"><a name="l03446"></a><span class="lineno"> 3446</span> cpl_table* z=NULL;</div>
-<div class="line"><a name="l03447"></a><span class="lineno"> 3447</span> cpl_table* tmp_sky=NULL;</div>
-<div class="line"><a name="l03448"></a><span class="lineno"> 3448</span> </div>
-<div class="line"><a name="l03449"></a><span class="lineno"> 3449</span> cpl_table* z_diff=NULL;</div>
-<div class="line"><a name="l03450"></a><span class="lineno"> 3450</span> cpl_table* z_pos=NULL;</div>
-<div class="line"><a name="l03451"></a><span class="lineno"> 3451</span> </div>
-<div class="line"><a name="l03452"></a><span class="lineno"> 3452</span> <span class="keywordtype">int</span> z_ext=0;</div>
-<div class="line"><a name="l03453"></a><span class="lineno"> 3453</span> <span class="keywordtype">double</span> z_mean=0;</div>
-<div class="line"><a name="l03454"></a><span class="lineno"> 3454</span> <span class="keywordtype">double</span> z_sdv=0;</div>
-<div class="line"><a name="l03455"></a><span class="lineno"> 3455</span> <span class="keywordtype">int</span> nrow=0;</div>
-<div class="line"><a name="l03456"></a><span class="lineno"> 3456</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l03457"></a><span class="lineno"> 3457</span> </div>
-<div class="line"><a name="l03458"></a><span class="lineno"> 3458</span> <span class="keywordtype">double</span> g_lam=0;</div>
-<div class="line"><a name="l03459"></a><span class="lineno"> 3459</span> <span class="keywordtype">double</span> g_err=0;</div>
-<div class="line"><a name="l03460"></a><span class="lineno"> 3460</span> </div>
-<div class="line"><a name="l03461"></a><span class="lineno"> 3461</span> <span class="keywordtype">double</span> sky_max=0;</div>
-<div class="line"><a name="l03462"></a><span class="lineno"> 3462</span> </div>
-<div class="line"><a name="l03463"></a><span class="lineno"> 3463</span> <span class="keywordtype">double</span>* pint=NULL;</div>
-<div class="line"><a name="l03464"></a><span class="lineno"> 3464</span> <span class="keywordtype">int</span>* ppos=NULL;</div>
-<div class="line"><a name="l03465"></a><span class="lineno"> 3465</span> <span class="keywordtype">int</span> status=0;</div>
-<div class="line"><a name="l03466"></a><span class="lineno"> 3466</span> <span class="keywordtype">int</span> zsize=0;</div>
-<div class="line"><a name="l03467"></a><span class="lineno"> 3467</span> <span class="keywordtype">int</span> iq=0;</div>
-<div class="line"><a name="l03468"></a><span class="lineno"> 3468</span> </div>
-<div class="line"><a name="l03469"></a><span class="lineno"> 3469</span> <span class="keywordtype">double</span> g_diff=0;</div>
-<div class="line"><a name="l03470"></a><span class="lineno"> 3470</span> <span class="keywordtype">int</span> jz=0;</div>
-<div class="line"><a name="l03471"></a><span class="lineno"> 3471</span> <span class="keywordtype">int</span> z1=0;</div>
-<div class="line"><a name="l03472"></a><span class="lineno"> 3472</span> <span class="keywordtype">int</span> nfit=0;</div>
-<div class="line"><a name="l03473"></a><span class="lineno"> 3473</span> <span class="keywordtype">int</span> npos=0;</div>
-<div class="line"><a name="l03474"></a><span class="lineno"> 3474</span> cpl_table* z_good=NULL;</div>
-<div class="line"><a name="l03475"></a><span class="lineno"> 3475</span> cpl_table* w_tbl=NULL;</div>
-<div class="line"><a name="l03476"></a><span class="lineno"> 3476</span> cpl_table* o_tbl=NULL;</div>
-<div class="line"><a name="l03477"></a><span class="lineno"> 3477</span> cpl_table* s_tbl=NULL;</div>
-<div class="line"><a name="l03478"></a><span class="lineno"> 3478</span> cpl_vector* vw=NULL;</div>
-<div class="line"><a name="l03479"></a><span class="lineno"> 3479</span> cpl_vector* vs=NULL;</div>
-<div class="line"><a name="l03480"></a><span class="lineno"> 3480</span> cpl_vector* vo=NULL;</div>
-<div class="line"><a name="l03481"></a><span class="lineno"> 3481</span> cpl_vector* sx=NULL;</div>
-<div class="line"><a name="l03482"></a><span class="lineno"> 3482</span> cpl_vector* sy=NULL;</div>
-<div class="line"><a name="l03483"></a><span class="lineno"> 3483</span> </div>
-<div class="line"><a name="l03484"></a><span class="lineno"> 3484</span> </div>
-<div class="line"><a name="l03485"></a><span class="lineno"> 3485</span> <span class="keywordtype">double</span> o1=0;</div>
-<div class="line"><a name="l03486"></a><span class="lineno"> 3486</span> <span class="keywordtype">double</span> o2=0;</div>
-<div class="line"><a name="l03487"></a><span class="lineno"> 3487</span> <span class="keywordtype">double</span> oc=0;</div>
-<div class="line"><a name="l03488"></a><span class="lineno"> 3488</span> <span class="keywordtype">double</span> om=0;</div>
-<div class="line"><a name="l03489"></a><span class="lineno"> 3489</span> </div>
-<div class="line"><a name="l03490"></a><span class="lineno"> 3490</span> </div>
-<div class="line"><a name="l03491"></a><span class="lineno"> 3491</span> </div>
-<div class="line"><a name="l03492"></a><span class="lineno"> 3492</span> <span class="keywordtype">double</span> zfit=0;</div>
-<div class="line"><a name="l03493"></a><span class="lineno"> 3493</span> </div>
-<div class="line"><a name="l03494"></a><span class="lineno"> 3494</span> </div>
-<div class="line"><a name="l03495"></a><span class="lineno"> 3495</span> <span class="keywordtype">double</span> mse=0;</div>
-<div class="line"><a name="l03496"></a><span class="lineno"> 3496</span> </div>
-<div class="line"><a name="l03497"></a><span class="lineno"> 3497</span> <span class="keywordtype">double</span> ws=0;</div>
-<div class="line"><a name="l03498"></a><span class="lineno"> 3498</span> <span class="keywordtype">double</span> wc_s=0;</div>
-<div class="line"><a name="l03499"></a><span class="lineno"> 3499</span> <span class="keywordtype">double</span> sig_s=0;</div>
-<div class="line"><a name="l03500"></a><span class="lineno"> 3500</span> <span class="keywordtype">double</span> bkg_s=0;</div>
-<div class="line"><a name="l03501"></a><span class="lineno"> 3501</span> <span class="keywordtype">double</span> amp_s=0;</div>
-<div class="line"><a name="l03502"></a><span class="lineno"> 3502</span> <span class="keywordtype">double</span> area_s=0;</div>
-<div class="line"><a name="l03503"></a><span class="lineno"> 3503</span> </div>
-<div class="line"><a name="l03504"></a><span class="lineno"> 3504</span> <span class="keywordtype">double</span> wo=0;</div>
-<div class="line"><a name="l03505"></a><span class="lineno"> 3505</span> <span class="keywordtype">double</span> wc_o=0;</div>
-<div class="line"><a name="l03506"></a><span class="lineno"> 3506</span> <span class="keywordtype">double</span> sig_o=0;</div>
-<div class="line"><a name="l03507"></a><span class="lineno"> 3507</span> <span class="keywordtype">double</span> bkg_o=0;</div>
-<div class="line"><a name="l03508"></a><span class="lineno"> 3508</span> <span class="keywordtype">double</span> amp_o=0;</div>
-<div class="line"><a name="l03509"></a><span class="lineno"> 3509</span> <span class="keywordtype">double</span> area_o=0;</div>
-<div class="line"><a name="l03510"></a><span class="lineno"> 3510</span> </div>
-<div class="line"><a name="l03511"></a><span class="lineno"> 3511</span> cpl_polynomial* cfit=NULL;</div>
-<div class="line"><a name="l03512"></a><span class="lineno"> 3512</span> cpl_size pows[2];</div>
-<div class="line"><a name="l03513"></a><span class="lineno"> 3513</span> cpl_vector* vx=NULL;</div>
-<div class="line"><a name="l03514"></a><span class="lineno"> 3514</span> cpl_vector* vy=NULL;</div>
-<div class="line"><a name="l03515"></a><span class="lineno"> 3515</span> </div>
-<div class="line"><a name="l03516"></a><span class="lineno"> 3516</span> </div>
-<div class="line"><a name="l03517"></a><span class="lineno"> 3517</span> cpl_error_code error_code=CPL_ERROR_NONE;</div>
-<div class="line"><a name="l03518"></a><span class="lineno"> 3518</span> </div>
-<div class="line"><a name="l03519"></a><span class="lineno"> 3519</span> <span class="comment">// crosscorrelate obj & sky to check for lambda offset</span></div>
-<div class="line"><a name="l03520"></a><span class="lineno"> 3520</span> </div>
-<div class="line"><a name="l03521"></a><span class="lineno"> 3521</span> <span class="comment">//if (mean(z[where(finite(z))]) < 0) z = z * (-1);</span></div>
-<div class="line"><a name="l03522"></a><span class="lineno"> 3522</span> <span class="comment">//if sky mean is < 0 flip sky intensity</span></div>
-<div class="line"><a name="l03523"></a><span class="lineno"> 3523</span> zsize=cpl_table_get_nrow(int_obj);</div>
-<div class="line"><a name="l03524"></a><span class="lineno"> 3524</span> check_nomsg(z = cpl_table_duplicate(int_sky));</div>
-<div class="line"><a name="l03525"></a><span class="lineno"> 3525</span> ck0_nomsg(sinfo_table_flag_nan(&z,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l03526"></a><span class="lineno"> 3526</span> <span class="comment">//check_nomsg(cpl_table_save(z,NULL,NULL,"out_z1.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l03527"></a><span class="lineno"> 3527</span> check_nomsg(z_mean=cpl_table_get_column_mean(z,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l03528"></a><span class="lineno"> 3528</span> <span class="keywordflow">if</span>(z_mean < 0) {</div>
-<div class="line"><a name="l03529"></a><span class="lineno"> 3529</span> check_nomsg(cpl_table_multiply_scalar(z,<span class="stringliteral">"INT"</span>,-1));</div>
-<div class="line"><a name="l03530"></a><span class="lineno"> 3530</span> }</div>
-<div class="line"><a name="l03531"></a><span class="lineno"> 3531</span> <span class="comment">//check_nomsg(cpl_table_save(z,NULL,NULL,"out_z2.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l03532"></a><span class="lineno"> 3532</span> </div>
-<div class="line"><a name="l03533"></a><span class="lineno"> 3533</span> <span class="comment">//z[where(int_sky < max(int_sky[where(finite(int_sky))])/4)] = 0;</span></div>
-<div class="line"><a name="l03534"></a><span class="lineno"> 3534</span> <span class="comment">// take in consideration only strong sky lines (set else to 0)</span></div>
-<div class="line"><a name="l03535"></a><span class="lineno"> 3535</span> check_nomsg(tmp_sky=cpl_table_duplicate(int_sky));</div>
-<div class="line"><a name="l03536"></a><span class="lineno"> 3536</span> ck0_nomsg(sinfo_table_flag_nan(&tmp_sky,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l03537"></a><span class="lineno"> 3537</span> check_nomsg(sky_max=cpl_table_get_column_max(tmp_sky,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l03538"></a><span class="lineno"> 3538</span> sinfo_free_table(&tmp_sky);</div>
-<div class="line"><a name="l03539"></a><span class="lineno"> 3539</span> </div>
-<div class="line"><a name="l03540"></a><span class="lineno"> 3540</span> <span class="comment">//flag too low values</span></div>
-<div class="line"><a name="l03541"></a><span class="lineno"> 3541</span> check_nomsg(nrow=cpl_table_get_nrow(z));</div>
-<div class="line"><a name="l03542"></a><span class="lineno"> 3542</span> check_nomsg(pint=cpl_table_get_data_double(z,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l03543"></a><span class="lineno"> 3543</span> check_nomsg(sky_max=cpl_table_get_column_max(z,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l03544"></a><span class="lineno"> 3544</span> <span class="keywordflow">for</span>(i=0;i<nrow;i++) {</div>
-<div class="line"><a name="l03545"></a><span class="lineno"> 3545</span> <span class="keywordflow">if</span>(pint[i]<sky_max/SKY_LINE_MIN_CUT) {</div>
-<div class="line"><a name="l03546"></a><span class="lineno"> 3546</span> pint[i]=0;</div>
-<div class="line"><a name="l03547"></a><span class="lineno"> 3547</span> }</div>
-<div class="line"><a name="l03548"></a><span class="lineno"> 3548</span> }</div>
-<div class="line"><a name="l03549"></a><span class="lineno"> 3549</span> </div>
-<div class="line"><a name="l03550"></a><span class="lineno"> 3550</span> </div>
-<div class="line"><a name="l03551"></a><span class="lineno"> 3551</span> <span class="comment">//check_nomsg(cpl_table_save(z,NULL,NULL,"out_z4.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l03552"></a><span class="lineno"> 3552</span> <span class="comment">//computes gradient</span></div>
-<div class="line"><a name="l03553"></a><span class="lineno"> 3553</span> <span class="comment">//z_diff = z[0:n_elements(z)-2] - z[1:n_elements(z)-1];</span></div>
-<div class="line"><a name="l03554"></a><span class="lineno"> 3554</span> check_nomsg(z_diff=cpl_table_duplicate(z));</div>
-<div class="line"><a name="l03555"></a><span class="lineno"> 3555</span> check_nomsg(cpl_table_duplicate_column(z_diff,<span class="stringliteral">"INT1"</span>,z,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l03556"></a><span class="lineno"> 3556</span> check_nomsg(cpl_table_duplicate_column(z_diff,<span class="stringliteral">"INT2"</span>,z,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l03557"></a><span class="lineno"> 3557</span> check_nomsg(cpl_table_shift_column(z_diff,<span class="stringliteral">"INT1"</span>,-1));</div>
-<div class="line"><a name="l03558"></a><span class="lineno"> 3558</span> check_nomsg(cpl_table_duplicate_column(z_diff,<span class="stringliteral">"DIFF"</span>,z_diff,<span class="stringliteral">"INT2"</span>));</div>
-<div class="line"><a name="l03559"></a><span class="lineno"> 3559</span> check_nomsg(cpl_table_subtract_columns(z_diff,<span class="stringliteral">"DIFF"</span>,<span class="stringliteral">"INT1"</span>));</div>
-<div class="line"><a name="l03560"></a><span class="lineno"> 3560</span> </div>
-<div class="line"><a name="l03561"></a><span class="lineno"> 3561</span> check_nomsg(cpl_table_erase_window(z_diff,nrow-2,2));</div>
-<div class="line"><a name="l03562"></a><span class="lineno"> 3562</span> <span class="comment">//check_nomsg(cpl_table_save(z_diff,NULL,NULL,</span></div>
-<div class="line"><a name="l03563"></a><span class="lineno"> 3563</span> <span class="comment">// "out_z_diff.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l03564"></a><span class="lineno"> 3564</span> </div>
-<div class="line"><a name="l03565"></a><span class="lineno"> 3565</span> <span class="comment">//identify points positions at which there is a line pick</span></div>
-<div class="line"><a name="l03566"></a><span class="lineno"> 3566</span> check_nomsg(cpl_table_new_column(z_diff,<span class="stringliteral">"POS"</span>,CPL_TYPE_INT));</div>
-<div class="line"><a name="l03567"></a><span class="lineno"> 3567</span> check_nomsg(cpl_table_fill_column_window_int(z_diff,<span class="stringliteral">"POS"</span>,0,nrow,0));</div>
-<div class="line"><a name="l03568"></a><span class="lineno"> 3568</span> </div>
-<div class="line"><a name="l03569"></a><span class="lineno"> 3569</span> check_nomsg(pint=cpl_table_get_data_double(z_diff,<span class="stringliteral">"DIFF"</span>));</div>
-<div class="line"><a name="l03570"></a><span class="lineno"> 3570</span> check_nomsg(ppos=cpl_table_get_data_int(z_diff,<span class="stringliteral">"POS"</span>));</div>
-<div class="line"><a name="l03571"></a><span class="lineno"> 3571</span> check_nomsg(nrow=cpl_table_get_nrow(z_diff));</div>
-<div class="line"><a name="l03572"></a><span class="lineno"> 3572</span> <span class="keywordflow">for</span>(i=1;i<nrow;i++) {</div>
-<div class="line"><a name="l03573"></a><span class="lineno"> 3573</span> <span class="keywordflow">if</span>(!irplib_isnan(pint[i]) && (pint[i]>0 && pint[i-1]<0)) {</div>
-<div class="line"><a name="l03574"></a><span class="lineno"> 3574</span> ppos[i]=i;</div>
-<div class="line"><a name="l03575"></a><span class="lineno"> 3575</span> }</div>
-<div class="line"><a name="l03576"></a><span class="lineno"> 3576</span> }</div>
-<div class="line"><a name="l03577"></a><span class="lineno"> 3577</span> </div>
-<div class="line"><a name="l03578"></a><span class="lineno"> 3578</span> <span class="comment">//check_nomsg(cpl_table_save(z_diff,NULL,NULL,"out_z_diff.fits",</span></div>
-<div class="line"><a name="l03579"></a><span class="lineno"> 3579</span> <span class="comment">// CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l03580"></a><span class="lineno"> 3580</span> check_nomsg(cpl_table_select_all(z_diff));</div>
-<div class="line"><a name="l03581"></a><span class="lineno"> 3581</span> check_nomsg(cpl_table_and_selected_int(z_diff,<span class="stringliteral">"POS"</span>,CPL_GREATER_THAN,0));</div>
-<div class="line"><a name="l03582"></a><span class="lineno"> 3582</span> check_nomsg(z_pos=cpl_table_extract_selected(z_diff));</div>
-<div class="line"><a name="l03583"></a><span class="lineno"> 3583</span> sinfo_free_table(&z_diff);</div>
-<div class="line"><a name="l03584"></a><span class="lineno"> 3584</span> <span class="comment">//check_nomsg(cpl_table_save(z_pos,NULL,NULL,</span></div>
-<div class="line"><a name="l03585"></a><span class="lineno"> 3585</span> <span class="comment">// "out_z_pos.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l03586"></a><span class="lineno"> 3586</span> <span class="comment">//Do a gaussian fit in a range of size 2*zext centered at</span></div>
-<div class="line"><a name="l03587"></a><span class="lineno"> 3587</span> <span class="comment">//each line maximum position (fit the line) to get in corresponding arrays:</span></div>
-<div class="line"><a name="l03588"></a><span class="lineno"> 3588</span> <span class="comment">// 1) line lambda position of object and sky</span></div>
-<div class="line"><a name="l03589"></a><span class="lineno"> 3589</span> <span class="comment">// 2) line object -sky intensity</span></div>
-<div class="line"><a name="l03590"></a><span class="lineno"> 3590</span> <span class="comment">// 3) line object-sky intensity error</span></div>
-<div class="line"><a name="l03591"></a><span class="lineno"> 3591</span> </div>
-<div class="line"><a name="l03592"></a><span class="lineno"> 3592</span> </div>
-<div class="line"><a name="l03593"></a><span class="lineno"> 3593</span> g_lam = 0.;</div>
-<div class="line"><a name="l03594"></a><span class="lineno"> 3594</span> g_diff = 0.;</div>
-<div class="line"><a name="l03595"></a><span class="lineno"> 3595</span> g_err = 0.;</div>
-<div class="line"><a name="l03596"></a><span class="lineno"> 3596</span> check_nomsg(npos=cpl_table_get_nrow(z_pos));</div>
-<div class="line"><a name="l03597"></a><span class="lineno"> 3597</span> z_ext = line_hw ;</div>
-<div class="line"><a name="l03598"></a><span class="lineno"> 3598</span> check_nomsg(cpl_table_new_column(z_pos,<span class="stringliteral">"STATUS_S"</span>,CPL_TYPE_INT));</div>
-<div class="line"><a name="l03599"></a><span class="lineno"> 3599</span> check_nomsg(cpl_table_new_column(z_pos,<span class="stringliteral">"STATUS_O"</span>,CPL_TYPE_INT));</div>
-<div class="line"><a name="l03600"></a><span class="lineno"> 3600</span> check_nomsg(cpl_table_fill_column_window_int(z_pos,<span class="stringliteral">"STATUS_S"</span>,0,npos,0));</div>
-<div class="line"><a name="l03601"></a><span class="lineno"> 3601</span> check_nomsg(cpl_table_fill_column_window_int(z_pos,<span class="stringliteral">"STATUS_O"</span>,0,npos,0));</div>
-<div class="line"><a name="l03602"></a><span class="lineno"> 3602</span> check_nomsg(cpl_table_new_column(z_pos,<span class="stringliteral">"SIGS"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l03603"></a><span class="lineno"> 3603</span> check_nomsg(cpl_table_new_column(z_pos,<span class="stringliteral">"WAVES"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l03604"></a><span class="lineno"> 3604</span> check_nomsg(cpl_table_new_column(z_pos,<span class="stringliteral">"BKGS"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l03605"></a><span class="lineno"> 3605</span> check_nomsg(cpl_table_new_column(z_pos,<span class="stringliteral">"AREAS"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l03606"></a><span class="lineno"> 3606</span> check_nomsg(cpl_table_new_column(z_pos,<span class="stringliteral">"AMPS"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l03607"></a><span class="lineno"> 3607</span> </div>
-<div class="line"><a name="l03608"></a><span class="lineno"> 3608</span> </div>
-<div class="line"><a name="l03609"></a><span class="lineno"> 3609</span> check_nomsg(cpl_table_new_column(z_pos,<span class="stringliteral">"SIGO"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l03610"></a><span class="lineno"> 3610</span> check_nomsg(cpl_table_new_column(z_pos,<span class="stringliteral">"WAVEO"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l03611"></a><span class="lineno"> 3611</span> check_nomsg(cpl_table_new_column(z_pos,<span class="stringliteral">"BKGO"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l03612"></a><span class="lineno"> 3612</span> check_nomsg(cpl_table_new_column(z_pos,<span class="stringliteral">"AREAO"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l03613"></a><span class="lineno"> 3613</span> check_nomsg(cpl_table_new_column(z_pos,<span class="stringliteral">"AMPO"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l03614"></a><span class="lineno"> 3614</span> </div>
-<div class="line"><a name="l03615"></a><span class="lineno"> 3615</span> check_nomsg(cpl_table_new_column(z_pos,<span class="stringliteral">"WAVEC"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l03616"></a><span class="lineno"> 3616</span> check_nomsg(cpl_table_new_column(z_pos,<span class="stringliteral">"WDIF"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l03617"></a><span class="lineno"> 3617</span> check_nomsg(cpl_table_new_column(z_pos,<span class="stringliteral">"ERR"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l03618"></a><span class="lineno"> 3618</span> </div>
-<div class="line"><a name="l03619"></a><span class="lineno"> 3619</span> nfit=2*z_ext+1;</div>
-<div class="line"><a name="l03620"></a><span class="lineno"> 3620</span> <span class="comment">//sinfo_msg("npos=%d z_ext=%d",npos,z_ext);</span></div>
-<div class="line"><a name="l03621"></a><span class="lineno"> 3621</span> <span class="comment">//sinfo_table_column_dump(z_pos,"POS",CPL_TYPE_INT);</span></div>
-<div class="line"><a name="l03622"></a><span class="lineno"> 3622</span> <span class="comment">//check_nomsg(cpl_table_save(z_pos,NULL,NULL,</span></div>
-<div class="line"><a name="l03623"></a><span class="lineno"> 3623</span> <span class="comment">// "out_z_pos_0.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l03624"></a><span class="lineno"> 3624</span> <span class="comment">//check_nomsg(cpl_table_save(int_obj,NULL,NULL,</span></div>
-<div class="line"><a name="l03625"></a><span class="lineno"> 3625</span> <span class="comment">// "out_int_obj_0.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l03626"></a><span class="lineno"> 3626</span> <span class="comment">//check_nomsg(cpl_table_save(int_sky,NULL,NULL,</span></div>
-<div class="line"><a name="l03627"></a><span class="lineno"> 3627</span> <span class="comment">// "out_int_sky_0.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l03628"></a><span class="lineno"> 3628</span> </div>
-<div class="line"><a name="l03629"></a><span class="lineno"> 3629</span> <span class="keywordflow">for</span> (jz=0;jz<npos;jz++) {</div>
-<div class="line"><a name="l03630"></a><span class="lineno"> 3630</span> check_nomsg(z1 = cpl_table_get_int(z_pos,<span class="stringliteral">"POS"</span>,jz,&status));</div>
-<div class="line"><a name="l03631"></a><span class="lineno"> 3631</span> <span class="comment">//sinfo_msg("z1=%d",z1);</span></div>
-<div class="line"><a name="l03632"></a><span class="lineno"> 3632</span> <span class="comment">// AMO added if check to prevent array explosion</span></div>
-<div class="line"><a name="l03633"></a><span class="lineno"> 3633</span> <span class="keywordflow">if</span>((z1-z_ext) > 0 && (z1+z_ext) < zsize) {</div>
-<div class="line"><a name="l03634"></a><span class="lineno"> 3634</span> check_nomsg(cpl_table_select_all(int_sky));</div>
-<div class="line"><a name="l03635"></a><span class="lineno"> 3635</span> check_nomsg(cpl_table_select_all(int_obj));</div>
-<div class="line"><a name="l03636"></a><span class="lineno"> 3636</span> check_nomsg(cpl_table_select_all(lambda));</div>
-<div class="line"><a name="l03637"></a><span class="lineno"> 3637</span> check_nomsg(cpl_table_and_selected_window(int_sky,z1-z_ext,nfit));</div>
-<div class="line"><a name="l03638"></a><span class="lineno"> 3638</span> check_nomsg(s_tbl=cpl_table_extract_selected(int_sky));</div>
-<div class="line"><a name="l03639"></a><span class="lineno"> 3639</span> check_nomsg(cpl_table_and_selected_window(lambda,z1-z_ext,nfit));</div>
-<div class="line"><a name="l03640"></a><span class="lineno"> 3640</span> check_nomsg(w_tbl=cpl_table_extract_selected(lambda));</div>
-<div class="line"><a name="l03641"></a><span class="lineno"> 3641</span> check_nomsg(cpl_table_and_selected_window(int_obj,z1-z_ext,nfit));</div>
-<div class="line"><a name="l03642"></a><span class="lineno"> 3642</span> check_nomsg(o_tbl=cpl_table_extract_selected(int_obj));</div>
-<div class="line"><a name="l03643"></a><span class="lineno"> 3643</span> </div>
-<div class="line"><a name="l03644"></a><span class="lineno"> 3644</span> </div>
-<div class="line"><a name="l03645"></a><span class="lineno"> 3645</span> check_nomsg(vw=cpl_vector_wrap(nfit,</div>
-<div class="line"><a name="l03646"></a><span class="lineno"> 3646</span> cpl_table_get_data_double(w_tbl,<span class="stringliteral">"WAVE"</span>)));</div>
-<div class="line"><a name="l03647"></a><span class="lineno"> 3647</span> check_nomsg(vs=cpl_vector_wrap(nfit,</div>
-<div class="line"><a name="l03648"></a><span class="lineno"> 3648</span> cpl_table_get_data_double(s_tbl,<span class="stringliteral">"INT"</span>)));</div>
-<div class="line"><a name="l03649"></a><span class="lineno"> 3649</span> check_nomsg(vo=cpl_vector_wrap(nfit,</div>
-<div class="line"><a name="l03650"></a><span class="lineno"> 3650</span> cpl_table_get_data_double(o_tbl,<span class="stringliteral">"INT"</span>)));</div>
-<div class="line"><a name="l03651"></a><span class="lineno"> 3651</span> </div>
-<div class="line"><a name="l03652"></a><span class="lineno"> 3652</span> </div>
-<div class="line"><a name="l03653"></a><span class="lineno"> 3653</span> check_nomsg(sx=cpl_vector_new(nfit));</div>
-<div class="line"><a name="l03654"></a><span class="lineno"> 3654</span> check_nomsg(cpl_vector_fill(sx,10.));</div>
-<div class="line"><a name="l03655"></a><span class="lineno"> 3655</span> check_nomsg(sy=cpl_vector_duplicate(sx));</div>
-<div class="line"><a name="l03656"></a><span class="lineno"> 3656</span> </div>
-<div class="line"><a name="l03657"></a><span class="lineno"> 3657</span> </div>
-<div class="line"><a name="l03658"></a><span class="lineno"> 3658</span> <span class="comment">// Check if the object line is in emission or absorbtion</span></div>
-<div class="line"><a name="l03659"></a><span class="lineno"> 3659</span> o1=cpl_vector_get(vo,0);</div>
-<div class="line"><a name="l03660"></a><span class="lineno"> 3660</span> o2=cpl_vector_get(vo,nfit-1);</div>
-<div class="line"><a name="l03661"></a><span class="lineno"> 3661</span> oc=(o1+o2)*0.5;</div>
-<div class="line"><a name="l03662"></a><span class="lineno"> 3662</span> om=cpl_vector_get_median_const(vo);</div>
-<div class="line"><a name="l03663"></a><span class="lineno"> 3663</span> <span class="keywordflow">if</span>(om<oc) {</div>
-<div class="line"><a name="l03664"></a><span class="lineno"> 3664</span> cpl_vector_multiply_scalar(vo,-1.);</div>
-<div class="line"><a name="l03665"></a><span class="lineno"> 3665</span> }</div>
-<div class="line"><a name="l03666"></a><span class="lineno"> 3666</span> check_nomsg(ws=cpl_table_get_double(lambda,<span class="stringliteral">"WAVE"</span>,z1,&status));</div>
-<div class="line"><a name="l03667"></a><span class="lineno"> 3667</span> check_nomsg(amp_s=cpl_table_get_double(z_pos,<span class="stringliteral">"INT"</span>,jz,&status));</div>
-<div class="line"><a name="l03668"></a><span class="lineno"> 3668</span> wc_s=ws;</div>
-<div class="line"><a name="l03669"></a><span class="lineno"> 3669</span> sig_s=z_ext*dispersion;</div>
-<div class="line"><a name="l03670"></a><span class="lineno"> 3670</span> bkg_s=0;</div>
-<div class="line"><a name="l03671"></a><span class="lineno"> 3671</span> area_s=sinfo_gaussian_area(amp_s,sig_s,ws,wc_s,bkg_s);</div>
-<div class="line"><a name="l03672"></a><span class="lineno"> 3672</span> <span class="keywordflow">if</span>(wc_s < 2.35) {</div>
-<div class="line"><a name="l03673"></a><span class="lineno"> 3673</span> <span class="comment">//sinfo_msg("wc_s=%f",wc_s);</span></div>
-<div class="line"><a name="l03674"></a><span class="lineno"> 3674</span> <span class="comment">//cpl_vector_dump(vw,stdout);</span></div>
-<div class="line"><a name="l03675"></a><span class="lineno"> 3675</span> <span class="comment">//cpl_vector_dump(vs,stdout);</span></div>
-<div class="line"><a name="l03676"></a><span class="lineno"> 3676</span> </div>
-<div class="line"><a name="l03677"></a><span class="lineno"> 3677</span> error_code=cpl_vector_fit_gaussian(vw,NULL,</div>
-<div class="line"><a name="l03678"></a><span class="lineno"> 3678</span> vs,NULL,</div>
-<div class="line"><a name="l03679"></a><span class="lineno"> 3679</span> CPL_FIT_ALL,</div>
-<div class="line"><a name="l03680"></a><span class="lineno"> 3680</span> &wc_s,&sig_s,</div>
-<div class="line"><a name="l03681"></a><span class="lineno"> 3681</span> &area_s,&bkg_s,</div>
-<div class="line"><a name="l03682"></a><span class="lineno"> 3682</span> NULL,NULL,NULL);</div>
-<div class="line"><a name="l03683"></a><span class="lineno"> 3683</span> <span class="keywordflow">if</span>(error_code == CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l03684"></a><span class="lineno"> 3684</span> amp_s=sinfo_gaussian_amp(area_s,sig_s,ws,wc_s,bkg_s);</div>
-<div class="line"><a name="l03685"></a><span class="lineno"> 3685</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"WAVES"</span>,jz,wc_s));</div>
-<div class="line"><a name="l03686"></a><span class="lineno"> 3686</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"SIGS"</span>,jz,sig_s));</div>
-<div class="line"><a name="l03687"></a><span class="lineno"> 3687</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"AREAS"</span>,jz,area_s));</div>
-<div class="line"><a name="l03688"></a><span class="lineno"> 3688</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"BKGS"</span>,jz,bkg_s));</div>
-<div class="line"><a name="l03689"></a><span class="lineno"> 3689</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"AMPS"</span>,jz,amp_s));</div>
-<div class="line"><a name="l03690"></a><span class="lineno"> 3690</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l03691"></a><span class="lineno"> 3691</span> <span class="comment"> sinfo_msg("Gauss fit parameters:");</span></div>
-<div class="line"><a name="l03692"></a><span class="lineno"> 3692</span> <span class="comment"> sinfo_msg("wc_s=%f sig_s=%f area_s=%f bkg_s=%f",</span></div>
-<div class="line"><a name="l03693"></a><span class="lineno"> 3693</span> <span class="comment"> wc_s,sig_s,area_s,bkg_s);</span></div>
-<div class="line"><a name="l03694"></a><span class="lineno"> 3694</span> <span class="comment"> sinfo_msg("mse=%f chired=%f amp_s=%f",</span></div>
-<div class="line"><a name="l03695"></a><span class="lineno"> 3695</span> <span class="comment"> mse,chired,amp_s);</span></div>
-<div class="line"><a name="l03696"></a><span class="lineno"> 3696</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03697"></a><span class="lineno"> 3697</span> </div>
-<div class="line"><a name="l03698"></a><span class="lineno"> 3698</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (error_code == CPL_ERROR_CONTINUE) {</div>
-<div class="line"><a name="l03699"></a><span class="lineno"> 3699</span> cpl_error_reset();</div>
-<div class="line"><a name="l03700"></a><span class="lineno"> 3700</span> amp_s=sinfo_gaussian_amp(area_s,sig_s,ws,wc_s,bkg_s);</div>
-<div class="line"><a name="l03701"></a><span class="lineno"> 3701</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"WAVES"</span>,jz,wc_s));</div>
-<div class="line"><a name="l03702"></a><span class="lineno"> 3702</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"SIGS"</span>,jz,sig_s));</div>
-<div class="line"><a name="l03703"></a><span class="lineno"> 3703</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"AREAS"</span>,jz,area_s));</div>
-<div class="line"><a name="l03704"></a><span class="lineno"> 3704</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"BKGS"</span>,jz,bkg_s));</div>
-<div class="line"><a name="l03705"></a><span class="lineno"> 3705</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"AMPS"</span>,jz,amp_s));</div>
-<div class="line"><a name="l03706"></a><span class="lineno"> 3706</span> check_nomsg(cpl_table_set_int(z_pos,<span class="stringliteral">"STATUS_S"</span>,jz,-1));</div>
-<div class="line"><a name="l03707"></a><span class="lineno"> 3707</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l03708"></a><span class="lineno"> 3708</span> cpl_error_reset();</div>
-<div class="line"><a name="l03709"></a><span class="lineno"> 3709</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"WAVES"</span>,jz,wc_s));</div>
-<div class="line"><a name="l03710"></a><span class="lineno"> 3710</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"SIGS"</span>,jz,sig_s));</div>
-<div class="line"><a name="l03711"></a><span class="lineno"> 3711</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"AREAS"</span>,jz,area_s));</div>
-<div class="line"><a name="l03712"></a><span class="lineno"> 3712</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"BKGS"</span>,jz,bkg_s));</div>
-<div class="line"><a name="l03713"></a><span class="lineno"> 3713</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"AMPS"</span>,jz,amp_s));</div>
-<div class="line"><a name="l03714"></a><span class="lineno"> 3714</span> check_nomsg(cpl_table_set_int(z_pos,<span class="stringliteral">"STATUS_S"</span>,jz,-2));</div>
-<div class="line"><a name="l03715"></a><span class="lineno"> 3715</span> }</div>
-<div class="line"><a name="l03716"></a><span class="lineno"> 3716</span> check_nomsg(wo=cpl_table_get_double(lambda,<span class="stringliteral">"WAVE"</span>,z1,&status));</div>
-<div class="line"><a name="l03717"></a><span class="lineno"> 3717</span> check_nomsg(amp_o=cpl_table_get_double(z_pos,<span class="stringliteral">"INT"</span>,jz,&status));</div>
-<div class="line"><a name="l03718"></a><span class="lineno"> 3718</span> wc_o=wo;</div>
-<div class="line"><a name="l03719"></a><span class="lineno"> 3719</span> sig_o=z_ext*dispersion;</div>
-<div class="line"><a name="l03720"></a><span class="lineno"> 3720</span> bkg_o=0;</div>
-<div class="line"><a name="l03721"></a><span class="lineno"> 3721</span> area_o=sinfo_gaussian_area(amp_o,sig_o,wo,wc_o,bkg_o);</div>
-<div class="line"><a name="l03722"></a><span class="lineno"> 3722</span> error_code = cpl_vector_fit_gaussian(vw,NULL,</div>
-<div class="line"><a name="l03723"></a><span class="lineno"> 3723</span> vo,sy,</div>
-<div class="line"><a name="l03724"></a><span class="lineno"> 3724</span> CPL_FIT_ALL,</div>
-<div class="line"><a name="l03725"></a><span class="lineno"> 3725</span> &wc_o,&sig_o,</div>
-<div class="line"><a name="l03726"></a><span class="lineno"> 3726</span> &area_o,&bkg_o,</div>
-<div class="line"><a name="l03727"></a><span class="lineno"> 3727</span> NULL,NULL,NULL);</div>
-<div class="line"><a name="l03728"></a><span class="lineno"> 3728</span> </div>
-<div class="line"><a name="l03729"></a><span class="lineno"> 3729</span> <span class="keywordflow">if</span>(error_code == CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l03730"></a><span class="lineno"> 3730</span> </div>
-<div class="line"><a name="l03731"></a><span class="lineno"> 3731</span> amp_o=sinfo_gaussian_amp(area_o,sig_o,wo,wc_o,bkg_o);</div>
-<div class="line"><a name="l03732"></a><span class="lineno"> 3732</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"WAVEO"</span>,jz,wc_o));</div>
-<div class="line"><a name="l03733"></a><span class="lineno"> 3733</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"SIGO"</span>,jz,sig_o));</div>
-<div class="line"><a name="l03734"></a><span class="lineno"> 3734</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"AREAO"</span>,jz,area_o));</div>
-<div class="line"><a name="l03735"></a><span class="lineno"> 3735</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"BKGO"</span>,jz,bkg_o));</div>
-<div class="line"><a name="l03736"></a><span class="lineno"> 3736</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"AMPO"</span>,jz,amp_o));</div>
-<div class="line"><a name="l03737"></a><span class="lineno"> 3737</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l03738"></a><span class="lineno"> 3738</span> <span class="comment"> sinfo_msg("Gauss fit parameters:");</span></div>
-<div class="line"><a name="l03739"></a><span class="lineno"> 3739</span> <span class="comment"> sinfo_msg("wc_o=%f sig_o=%f area_o=%f bkg_o=%f",</span></div>
-<div class="line"><a name="l03740"></a><span class="lineno"> 3740</span> <span class="comment"> wc_o,sig_o,area_o,bkg_o);</span></div>
-<div class="line"><a name="l03741"></a><span class="lineno"> 3741</span> <span class="comment"> sinfo_msg("mse=%f chired=%f amp_o=%f",</span></div>
-<div class="line"><a name="l03742"></a><span class="lineno"> 3742</span> <span class="comment"> mse,chired,amp_o);</span></div>
-<div class="line"><a name="l03743"></a><span class="lineno"> 3743</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03744"></a><span class="lineno"> 3744</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (error_code == CPL_ERROR_CONTINUE) {</div>
-<div class="line"><a name="l03745"></a><span class="lineno"> 3745</span> </div>
-<div class="line"><a name="l03746"></a><span class="lineno"> 3746</span> cpl_error_reset();</div>
-<div class="line"><a name="l03747"></a><span class="lineno"> 3747</span> amp_o=sinfo_gaussian_amp(area_o,sig_o,wo,wc_o,bkg_o);</div>
-<div class="line"><a name="l03748"></a><span class="lineno"> 3748</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"WAVEO"</span>,jz,wc_o));</div>
-<div class="line"><a name="l03749"></a><span class="lineno"> 3749</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"SIGO"</span>,jz,sig_o));</div>
-<div class="line"><a name="l03750"></a><span class="lineno"> 3750</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"AREAO"</span>,jz,area_o));</div>
-<div class="line"><a name="l03751"></a><span class="lineno"> 3751</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"BKGO"</span>,jz,bkg_o));</div>
-<div class="line"><a name="l03752"></a><span class="lineno"> 3752</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"AMPO"</span>,jz,amp_o));</div>
-<div class="line"><a name="l03753"></a><span class="lineno"> 3753</span> check_nomsg(cpl_table_set_int(z_pos,<span class="stringliteral">"STATUS_O"</span>,jz,-1));</div>
-<div class="line"><a name="l03754"></a><span class="lineno"> 3754</span> </div>
-<div class="line"><a name="l03755"></a><span class="lineno"> 3755</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l03756"></a><span class="lineno"> 3756</span> cpl_error_reset();</div>
-<div class="line"><a name="l03757"></a><span class="lineno"> 3757</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"WAVEO"</span>,jz,wc_o));</div>
-<div class="line"><a name="l03758"></a><span class="lineno"> 3758</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"SIGO"</span>,jz,sig_o));</div>
-<div class="line"><a name="l03759"></a><span class="lineno"> 3759</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"AREAO"</span>,jz,area_o));</div>
-<div class="line"><a name="l03760"></a><span class="lineno"> 3760</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"BKGO"</span>,jz,bkg_o));</div>
-<div class="line"><a name="l03761"></a><span class="lineno"> 3761</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"AMPO"</span>,jz,amp_o));</div>
-<div class="line"><a name="l03762"></a><span class="lineno"> 3762</span> check_nomsg(cpl_table_set_int(z_pos,<span class="stringliteral">"STATUS_O"</span>,jz,-2));</div>
-<div class="line"><a name="l03763"></a><span class="lineno"> 3763</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l03764"></a><span class="lineno"> 3764</span> <span class="comment"> if (lambda[z1] < 2.35 &&</span></div>
-<div class="line"><a name="l03765"></a><span class="lineno"> 3765</span> <span class="comment"> total(finite([l1,s1,o1])) == n_elements([l1,s1,o1])) {</span></div>
-<div class="line"><a name="l03766"></a><span class="lineno"> 3766</span> <span class="comment"> gs1 = float(gaussfit(l1,s1,as1,nterms=3));</span></div>
-<div class="line"><a name="l03767"></a><span class="lineno"> 3767</span> <span class="comment"> go1 = float(gaussfit(l1,o1,ao1,nterms=3));</span></div>
-<div class="line"><a name="l03768"></a><span class="lineno"> 3768</span> <span class="comment"> g_lam = [g_lam,(as1[1]+ao1[1])/2.];</span></div>
-<div class="line"><a name="l03769"></a><span class="lineno"> 3769</span> <span class="comment"> g_diff = [g_diff,as1[1]-ao1[1]];</span></div>
-<div class="line"><a name="l03770"></a><span class="lineno"> 3770</span> <span class="comment"> g_err = [g_err,sqrt(as1[2]^2+ao1[2]^2)];</span></div>
-<div class="line"><a name="l03771"></a><span class="lineno"> 3771</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l03772"></a><span class="lineno"> 3772</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03773"></a><span class="lineno"> 3773</span> }</div>
-<div class="line"><a name="l03774"></a><span class="lineno"> 3774</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"ERR"</span>,</div>
-<div class="line"><a name="l03775"></a><span class="lineno"> 3775</span> jz,sqrt(sig_s*sig_s+sig_o*sig_o)));</div>
-<div class="line"><a name="l03776"></a><span class="lineno"> 3776</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"WDIF"</span>,jz,wc_s-wc_o));</div>
-<div class="line"><a name="l03777"></a><span class="lineno"> 3777</span> check_nomsg(cpl_table_set_double(z_pos,<span class="stringliteral">"WAVEC"</span>,jz,(wc_o+wc_s)/2));</div>
-<div class="line"><a name="l03778"></a><span class="lineno"> 3778</span> </div>
-<div class="line"><a name="l03779"></a><span class="lineno"> 3779</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l03780"></a><span class="lineno"> 3780</span> check_nomsg(cpl_table_set_int(z_pos,<span class="stringliteral">"STATUS_S"</span>,jz,-3));</div>
-<div class="line"><a name="l03781"></a><span class="lineno"> 3781</span> check_nomsg(cpl_table_set_int(z_pos,<span class="stringliteral">"STATUS_O"</span>,jz,-3));</div>
-<div class="line"><a name="l03782"></a><span class="lineno"> 3782</span> }</div>
-<div class="line"><a name="l03783"></a><span class="lineno"> 3783</span> sinfo_unwrap_vector(&vw);</div>
-<div class="line"><a name="l03784"></a><span class="lineno"> 3784</span> sinfo_unwrap_vector(&vs);</div>
-<div class="line"><a name="l03785"></a><span class="lineno"> 3785</span> sinfo_unwrap_vector(&vo);</div>
-<div class="line"><a name="l03786"></a><span class="lineno"> 3786</span> sinfo_free_my_vector(&sx);</div>
-<div class="line"><a name="l03787"></a><span class="lineno"> 3787</span> sinfo_free_my_vector(&sy);</div>
-<div class="line"><a name="l03788"></a><span class="lineno"> 3788</span> sinfo_free_table(&w_tbl);</div>
-<div class="line"><a name="l03789"></a><span class="lineno"> 3789</span> sinfo_free_table(&s_tbl);</div>
-<div class="line"><a name="l03790"></a><span class="lineno"> 3790</span> sinfo_free_table(&o_tbl);</div>
-<div class="line"><a name="l03791"></a><span class="lineno"> 3791</span> }</div>
-<div class="line"><a name="l03792"></a><span class="lineno"> 3792</span> }</div>
-<div class="line"><a name="l03793"></a><span class="lineno"> 3793</span> </div>
-<div class="line"><a name="l03794"></a><span class="lineno"> 3794</span> </div>
-<div class="line"><a name="l03795"></a><span class="lineno"> 3795</span> check_nomsg(cpl_table_duplicate_column(z_pos,<span class="stringliteral">"YDIF"</span>,z_pos,<span class="stringliteral">"WDIF"</span>));</div>
-<div class="line"><a name="l03796"></a><span class="lineno"> 3796</span> check_nomsg(cpl_table_divide_scalar(z_pos,<span class="stringliteral">"YDIF"</span>,dispersion));</div>
-<div class="line"><a name="l03797"></a><span class="lineno"> 3797</span> <span class="comment">//sinfo_table_column_dump(z_pos,"WAVEC",CPL_TYPE_DOUBLE);</span></div>
-<div class="line"><a name="l03798"></a><span class="lineno"> 3798</span> <span class="comment">//sinfo_table_column_dump(z_pos,"STATUS",CPL_TYPE_INT);</span></div>
-<div class="line"><a name="l03799"></a><span class="lineno"> 3799</span> <span class="comment">//sinfo_table_column_dump(z_pos,"WDIF",CPL_TYPE_DOUBLE);</span></div>
-<div class="line"><a name="l03800"></a><span class="lineno"> 3800</span> </div>
-<div class="line"><a name="l03801"></a><span class="lineno"> 3801</span> check_nomsg(cpl_table_and_selected_int(z_pos,<span class="stringliteral">"STATUS_S"</span>,CPL_GREATER_THAN,-2));</div>
-<div class="line"><a name="l03802"></a><span class="lineno"> 3802</span> check_nomsg(cpl_table_and_selected_int(z_pos,<span class="stringliteral">"STATUS_O"</span>,CPL_GREATER_THAN,-2));</div>
-<div class="line"><a name="l03803"></a><span class="lineno"> 3803</span> </div>
-<div class="line"><a name="l03804"></a><span class="lineno"> 3804</span> <span class="comment">//check_nomsg(cpl_table_save(z_pos,NULL,NULL,</span></div>
-<div class="line"><a name="l03805"></a><span class="lineno"> 3805</span> <span class="comment">// "out_z_pos.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l03806"></a><span class="lineno"> 3806</span> </div>
-<div class="line"><a name="l03807"></a><span class="lineno"> 3807</span> <span class="comment">//goto cleanup;</span></div>
-<div class="line"><a name="l03808"></a><span class="lineno"> 3808</span> </div>
-<div class="line"><a name="l03809"></a><span class="lineno"> 3809</span> check_nomsg(z_good=cpl_table_extract_selected(z_pos));</div>
-<div class="line"><a name="l03810"></a><span class="lineno"> 3810</span> check_nomsg(npos=cpl_table_get_nrow(z_good));</div>
-<div class="line"><a name="l03811"></a><span class="lineno"> 3811</span> sinfo_free_table(&z_pos);</div>
-<div class="line"><a name="l03812"></a><span class="lineno"> 3812</span> <span class="keywordflow">if</span>(npos == 0) {</div>
-<div class="line"><a name="l03813"></a><span class="lineno"> 3813</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l03814"></a><span class="lineno"> 3814</span> }</div>
-<div class="line"><a name="l03815"></a><span class="lineno"> 3815</span> check_nomsg(z_pos=cpl_table_duplicate(z_good));</div>
-<div class="line"><a name="l03816"></a><span class="lineno"> 3816</span> check_nomsg(z_mean = cpl_table_get_column_median(z_pos,<span class="stringliteral">"WDIF"</span>));</div>
-<div class="line"><a name="l03817"></a><span class="lineno"> 3817</span> check_nomsg(z_sdv = cpl_table_get_column_stdev(z_pos,<span class="stringliteral">"WDIF"</span>));</div>
-<div class="line"><a name="l03818"></a><span class="lineno"> 3818</span> </div>
-<div class="line"><a name="l03819"></a><span class="lineno"> 3819</span> <span class="comment">//check_nomsg(cpl_table_save(z_pos,NULL,NULL,</span></div>
-<div class="line"><a name="l03820"></a><span class="lineno"> 3820</span> <span class="comment">// "out_z_pos.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l03821"></a><span class="lineno"> 3821</span> </div>
-<div class="line"><a name="l03822"></a><span class="lineno"> 3822</span> check_nomsg(cpl_table_duplicate_column(z_pos,<span class="stringliteral">"CHECK"</span>,</div>
-<div class="line"><a name="l03823"></a><span class="lineno"> 3823</span> z_pos,<span class="stringliteral">"WDIF"</span>));</div>
-<div class="line"><a name="l03824"></a><span class="lineno"> 3824</span> </div>
-<div class="line"><a name="l03825"></a><span class="lineno"> 3825</span> </div>
-<div class="line"><a name="l03826"></a><span class="lineno"> 3826</span> cpl_table_erase_column(z_pos,<span class="stringliteral">"AMPO"</span>);</div>
-<div class="line"><a name="l03827"></a><span class="lineno"> 3827</span> cpl_table_erase_column(z_pos,<span class="stringliteral">"SIGO"</span>);</div>
-<div class="line"><a name="l03828"></a><span class="lineno"> 3828</span> cpl_table_erase_column(z_pos,<span class="stringliteral">"AREAO"</span>);</div>
-<div class="line"><a name="l03829"></a><span class="lineno"> 3829</span> cpl_table_erase_column(z_pos,<span class="stringliteral">"BKGO"</span>);</div>
-<div class="line"><a name="l03830"></a><span class="lineno"> 3830</span> cpl_table_erase_column(z_pos,<span class="stringliteral">"WAVEO"</span>);</div>
-<div class="line"><a name="l03831"></a><span class="lineno"> 3831</span> cpl_table_erase_column(z_pos,<span class="stringliteral">"AMPS"</span>);</div>
-<div class="line"><a name="l03832"></a><span class="lineno"> 3832</span> cpl_table_erase_column(z_pos,<span class="stringliteral">"SIGS"</span>);</div>
-<div class="line"><a name="l03833"></a><span class="lineno"> 3833</span> cpl_table_erase_column(z_pos,<span class="stringliteral">"AREAS"</span>);</div>
-<div class="line"><a name="l03834"></a><span class="lineno"> 3834</span> cpl_table_erase_column(z_pos,<span class="stringliteral">"BKGS"</span>);</div>
-<div class="line"><a name="l03835"></a><span class="lineno"> 3835</span> cpl_table_erase_column(z_pos,<span class="stringliteral">"WAVES"</span>);</div>
-<div class="line"><a name="l03836"></a><span class="lineno"> 3836</span> cpl_table_erase_column(z_pos,<span class="stringliteral">"STATUS_S"</span>);</div>
-<div class="line"><a name="l03837"></a><span class="lineno"> 3837</span> cpl_table_erase_column(z_pos,<span class="stringliteral">"STATUS_O"</span>);</div>
-<div class="line"><a name="l03838"></a><span class="lineno"> 3838</span> </div>
-<div class="line"><a name="l03839"></a><span class="lineno"> 3839</span> cpl_table_erase_column(z_pos,<span class="stringliteral">"INT"</span>);</div>
-<div class="line"><a name="l03840"></a><span class="lineno"> 3840</span> cpl_table_erase_column(z_pos,<span class="stringliteral">"INT1"</span>);</div>
-<div class="line"><a name="l03841"></a><span class="lineno"> 3841</span> cpl_table_erase_column(z_pos,<span class="stringliteral">"INT2"</span>);</div>
-<div class="line"><a name="l03842"></a><span class="lineno"> 3842</span> cpl_table_erase_column(z_pos,<span class="stringliteral">"ERR"</span>);</div>
-<div class="line"><a name="l03843"></a><span class="lineno"> 3843</span> cpl_table_erase_column(z_pos,<span class="stringliteral">"POS"</span>);</div>
-<div class="line"><a name="l03844"></a><span class="lineno"> 3844</span> cpl_table_erase_column(z_pos,<span class="stringliteral">"DIFF"</span>);</div>
-<div class="line"><a name="l03845"></a><span class="lineno"> 3845</span> </div>
-<div class="line"><a name="l03846"></a><span class="lineno"> 3846</span> <span class="comment">//check_nomsg(cpl_table_save(z_good,NULL,NULL,</span></div>
-<div class="line"><a name="l03847"></a><span class="lineno"> 3847</span> <span class="comment">// "out_z_good.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l03848"></a><span class="lineno"> 3848</span> <span class="comment">//Do a kappa-sigma clip of the differences of line positions</span></div>
-<div class="line"><a name="l03849"></a><span class="lineno"> 3849</span> <span class="comment">//as determined in the object and in the sky spectrum</span></div>
-<div class="line"><a name="l03850"></a><span class="lineno"> 3850</span> </div>
-<div class="line"><a name="l03851"></a><span class="lineno"> 3851</span> sinfo_msg(<span class="stringliteral">"ks-clip1"</span>);</div>
-<div class="line"><a name="l03852"></a><span class="lineno"> 3852</span> sinfo_msg(<span class="stringliteral">"iter mean (um) sdv (um) mean (pix) sdv (pix)"</span>);</div>
-<div class="line"><a name="l03853"></a><span class="lineno"> 3853</span> <span class="comment">//sinfo_table_column_dump(z_pos,"WAVEC",CPL_TYPE_DOUBLE);</span></div>
-<div class="line"><a name="l03854"></a><span class="lineno"> 3854</span> <span class="comment">//sinfo_table_column_dump(z_pos,"WDIF",CPL_TYPE_DOUBLE);</span></div>
-<div class="line"><a name="l03855"></a><span class="lineno"> 3855</span> </div>
-<div class="line"><a name="l03856"></a><span class="lineno"> 3856</span> <span class="keywordflow">for</span> (iq = 0;iq<XCOR_YSHIFT_KS_CLIP;iq++) {</div>
-<div class="line"><a name="l03857"></a><span class="lineno"> 3857</span> <span class="comment">//sinfo_msg("nval=%d",cpl_table_get_nrow(z_pos));</span></div>
-<div class="line"><a name="l03858"></a><span class="lineno"> 3858</span> sinfo_msg(<span class="stringliteral">" %d %3.2g %3.2g %5.4g %5.4g"</span>,</div>
-<div class="line"><a name="l03859"></a><span class="lineno"> 3859</span> iq,z_mean,z_sdv,z_mean/dispersion,z_sdv/dispersion);</div>
-<div class="line"><a name="l03860"></a><span class="lineno"> 3860</span> <span class="comment">//z_good = where(abs(g_diff-z_mean) <= 2*z_sdv);</span></div>
-<div class="line"><a name="l03861"></a><span class="lineno"> 3861</span> </div>
-<div class="line"><a name="l03862"></a><span class="lineno"> 3862</span> check_nomsg(cpl_table_subtract_scalar(z_pos,<span class="stringliteral">"CHECK"</span>,z_mean));</div>
-<div class="line"><a name="l03863"></a><span class="lineno"> 3863</span> check_nomsg(cpl_table_duplicate_column(z_pos,<span class="stringliteral">"CHECKW"</span>,z_pos,<span class="stringliteral">"CHECK"</span>));</div>
-<div class="line"><a name="l03864"></a><span class="lineno"> 3864</span> check_nomsg(cpl_table_multiply_columns(z_pos,<span class="stringliteral">"CHECKW"</span>,<span class="stringliteral">"CHECK"</span>));</div>
-<div class="line"><a name="l03865"></a><span class="lineno"> 3865</span> check_nomsg(cpl_table_power_column(z_pos,<span class="stringliteral">"CHECKW"</span>,0.5));</div>
-<div class="line"><a name="l03866"></a><span class="lineno"> 3866</span> check_nomsg(cpl_table_add_scalar(z_pos,<span class="stringliteral">"CHECK"</span>,z_mean));</div>
-<div class="line"><a name="l03867"></a><span class="lineno"> 3867</span> check_nomsg(cpl_table_and_selected_double(z_pos,<span class="stringliteral">"CHECKW"</span>,</div>
-<div class="line"><a name="l03868"></a><span class="lineno"> 3868</span> CPL_NOT_GREATER_THAN,2*z_sdv));</div>
-<div class="line"><a name="l03869"></a><span class="lineno"> 3869</span> sinfo_free_table(&z_good);</div>
-<div class="line"><a name="l03870"></a><span class="lineno"> 3870</span> check_nomsg(z_good=cpl_table_extract_selected(z_pos));</div>
-<div class="line"><a name="l03871"></a><span class="lineno"> 3871</span> <span class="comment">//sinfo_msg("ngood=%d",cpl_table_get_nrow(z_good));</span></div>
-<div class="line"><a name="l03872"></a><span class="lineno"> 3872</span> check_nomsg(cpl_table_select_all(z_pos));</div>
-<div class="line"><a name="l03873"></a><span class="lineno"> 3873</span> <span class="comment">//z_mean = median(g_diff[z_good]);</span></div>
-<div class="line"><a name="l03874"></a><span class="lineno"> 3874</span> <span class="comment">//z_sdv = stddev(g_diff[z_good]);</span></div>
-<div class="line"><a name="l03875"></a><span class="lineno"> 3875</span> check_nomsg(z_mean = cpl_table_get_column_median(z_good,<span class="stringliteral">"WDIF"</span>));</div>
-<div class="line"><a name="l03876"></a><span class="lineno"> 3876</span> <span class="keywordflow">if</span>(nfit>1) {</div>
-<div class="line"><a name="l03877"></a><span class="lineno"> 3877</span> check_nomsg(z_sdv = cpl_table_get_column_stdev(z_good,<span class="stringliteral">"WDIF"</span>));</div>
-<div class="line"><a name="l03878"></a><span class="lineno"> 3878</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l03879"></a><span class="lineno"> 3879</span> z_sdv=0;</div>
-<div class="line"><a name="l03880"></a><span class="lineno"> 3880</span> }</div>
-<div class="line"><a name="l03881"></a><span class="lineno"> 3881</span> sinfo_free_table(&z_good);</div>
-<div class="line"><a name="l03882"></a><span class="lineno"> 3882</span> check_nomsg(cpl_table_erase_column(z_pos,<span class="stringliteral">"CHECKW"</span>));</div>
-<div class="line"><a name="l03883"></a><span class="lineno"> 3883</span> </div>
-<div class="line"><a name="l03884"></a><span class="lineno"> 3884</span> }</div>
-<div class="line"><a name="l03885"></a><span class="lineno"> 3885</span> <span class="comment">/* do a poly fit of wdif versus wave*/</span></div>
-<div class="line"><a name="l03886"></a><span class="lineno"> 3886</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l03887"></a><span class="lineno"> 3887</span> <span class="comment"> for (iq = 0; iq<3; iq++) {</span></div>
-<div class="line"><a name="l03888"></a><span class="lineno"> 3888</span> <span class="comment"> // sinfo_msg("%d %f %f",iq,mean(zfit),zsdv);</span></div>
-<div class="line"><a name="l03889"></a><span class="lineno"> 3889</span> <span class="comment"> par1 = poly_fit(g_lam[z_good],g_diff[z_good],poly_n);</span></div>
-<div class="line"><a name="l03890"></a><span class="lineno"> 3890</span> <span class="comment"> z_fit = g_diff*0.;</span></div>
-<div class="line"><a name="l03891"></a><span class="lineno"> 3891</span> <span class="comment"> for (ii=0;ii<poly_n) z_fit = z_fit + par1[ii]*g_lam^ii;</span></div>
-<div class="line"><a name="l03892"></a><span class="lineno"> 3892</span> <span class="comment"> z_res = g_diff-z_fit;</span></div>
-<div class="line"><a name="l03893"></a><span class="lineno"> 3893</span> <span class="comment"> z_sdv = stddev(z_res[zgood]);</span></div>
-<div class="line"><a name="l03894"></a><span class="lineno"> 3894</span> <span class="comment"> z_good = where(abs(z_res) le 3*z_sdv);</span></div>
-<div class="line"><a name="l03895"></a><span class="lineno"> 3895</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l03896"></a><span class="lineno"> 3896</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03897"></a><span class="lineno"> 3897</span> cpl_table_select_all(z_pos);</div>
-<div class="line"><a name="l03898"></a><span class="lineno"> 3898</span> check_nomsg(cpl_table_new_column(z_pos,<span class="stringliteral">"ZFIT"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l03899"></a><span class="lineno"> 3899</span> check_nomsg(nfit=cpl_table_get_nrow(z_pos));</div>
-<div class="line"><a name="l03900"></a><span class="lineno"> 3900</span> check_nomsg(cpl_table_fill_column_window(z_pos,<span class="stringliteral">"ZFIT"</span>,0,nfit,0));</div>
-<div class="line"><a name="l03901"></a><span class="lineno"> 3901</span> <span class="comment">//check_nomsg(cpl_table_save(z_pos,NULL,NULL,</span></div>
-<div class="line"><a name="l03902"></a><span class="lineno"> 3902</span> <span class="comment">// "out_z_pos2.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l03903"></a><span class="lineno"> 3903</span> check_nomsg(z_good=cpl_table_duplicate(z_pos));</div>
-<div class="line"><a name="l03904"></a><span class="lineno"> 3904</span> </div>
-<div class="line"><a name="l03905"></a><span class="lineno"> 3905</span> <span class="comment">//Do a fit of a uniform function to the residuals line position differences</span></div>
-<div class="line"><a name="l03906"></a><span class="lineno"> 3906</span> sinfo_msg(<span class="stringliteral">"ks-clip2"</span>);</div>
-<div class="line"><a name="l03907"></a><span class="lineno"> 3907</span> sinfo_msg(<span class="stringliteral">"iter mean (um) sdv (um) mean (pix) sdv (pix)"</span>);</div>
-<div class="line"><a name="l03908"></a><span class="lineno"> 3908</span> check_nomsg(cpl_table_select_all(z_good));</div>
-<div class="line"><a name="l03909"></a><span class="lineno"> 3909</span> <span class="comment">//sinfo_table_column_dump(z_pos,"WDIF",CPL_TYPE_DOUBLE);</span></div>
-<div class="line"><a name="l03910"></a><span class="lineno"> 3910</span> <span class="keywordflow">for</span>(iq=0;iq<XCOR_YSHIFT_KS_CLIP;iq++) {</div>
-<div class="line"><a name="l03911"></a><span class="lineno"> 3911</span> <span class="comment">//cpl_table_dump(z_pos,0,cpl_table_get_nrow(z_pos),stdout);</span></div>
-<div class="line"><a name="l03912"></a><span class="lineno"> 3912</span> check_nomsg(nfit=cpl_table_get_nrow(z_good));</div>
-<div class="line"><a name="l03913"></a><span class="lineno"> 3913</span> <span class="comment">//sinfo_msg("nfit=%d",nfit);</span></div>
-<div class="line"><a name="l03914"></a><span class="lineno"> 3914</span> <span class="keywordflow">if</span>(nfit>0) {</div>
-<div class="line"><a name="l03915"></a><span class="lineno"> 3915</span> check_nomsg(vx=cpl_vector_wrap(nfit,</div>
-<div class="line"><a name="l03916"></a><span class="lineno"> 3916</span> cpl_table_get_data_double(z_good,<span class="stringliteral">"WAVE"</span>)));</div>
-<div class="line"><a name="l03917"></a><span class="lineno"> 3917</span> check_nomsg(vy=cpl_vector_wrap(nfit,</div>
-<div class="line"><a name="l03918"></a><span class="lineno"> 3918</span> cpl_table_get_data_double(z_good,<span class="stringliteral">"WDIF"</span>)));</div>
-<div class="line"><a name="l03919"></a><span class="lineno"> 3919</span> check_nomsg(cfit=sinfo_polynomial_fit_1d_create(vx,vy,0,&mse));</div>
-<div class="line"><a name="l03920"></a><span class="lineno"> 3920</span> pows[0]=0;</div>
-<div class="line"><a name="l03921"></a><span class="lineno"> 3921</span> pows[1]=0;</div>
-<div class="line"><a name="l03922"></a><span class="lineno"> 3922</span> check_nomsg(zfit=cpl_polynomial_get_coeff(cfit,pows));</div>
-<div class="line"><a name="l03923"></a><span class="lineno"> 3923</span> sinfo_free_polynomial(&cfit);</div>
-<div class="line"><a name="l03924"></a><span class="lineno"> 3924</span> <span class="comment">//sinfo_msg("coeff 0=%g um %g pix",zfit,zfit/dispersion);</span></div>
-<div class="line"><a name="l03925"></a><span class="lineno"> 3925</span> </div>
-<div class="line"><a name="l03926"></a><span class="lineno"> 3926</span> <span class="comment">//computes residuals=difference-fit and their standard deviation</span></div>
-<div class="line"><a name="l03927"></a><span class="lineno"> 3927</span> <span class="comment">//and then do a kappa-sigma clip of outliers (out of 3 sigma)</span></div>
-<div class="line"><a name="l03928"></a><span class="lineno"> 3928</span> check_nomsg(cpl_table_fill_column_window(z_good,<span class="stringliteral">"ZFIT"</span>,0,nfit,zfit));</div>
-<div class="line"><a name="l03929"></a><span class="lineno"> 3929</span> check_nomsg(cpl_table_duplicate_column(z_good,<span class="stringliteral">"WRES"</span>,z_good,<span class="stringliteral">"WDIF"</span>));</div>
-<div class="line"><a name="l03930"></a><span class="lineno"> 3930</span> check_nomsg(cpl_table_subtract_columns(z_good,<span class="stringliteral">"WRES"</span>,<span class="stringliteral">"ZFIT"</span>));</div>
-<div class="line"><a name="l03931"></a><span class="lineno"> 3931</span> <span class="keywordflow">if</span>(nfit>1) {</div>
-<div class="line"><a name="l03932"></a><span class="lineno"> 3932</span> <span class="comment">//sinfo_msg("nfit=%d",nfit);</span></div>
-<div class="line"><a name="l03933"></a><span class="lineno"> 3933</span> <span class="comment">//cpl_table_dump(z_good,0,nfit,stdout);</span></div>
-<div class="line"><a name="l03934"></a><span class="lineno"> 3934</span> check_nomsg(z_sdv=cpl_table_get_column_stdev(z_good,<span class="stringliteral">"WRES"</span>));</div>
-<div class="line"><a name="l03935"></a><span class="lineno"> 3935</span> <span class="comment">//sinfo_msg("z_sdv=%f",z_sdv);</span></div>
-<div class="line"><a name="l03936"></a><span class="lineno"> 3936</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l03937"></a><span class="lineno"> 3937</span> z_sdv=0;</div>
-<div class="line"><a name="l03938"></a><span class="lineno"> 3938</span> }</div>
-<div class="line"><a name="l03939"></a><span class="lineno"> 3939</span> check_nomsg(z_mean=cpl_table_get_column_mean(z_good,<span class="stringliteral">"WDIF"</span>));</div>
-<div class="line"><a name="l03940"></a><span class="lineno"> 3940</span> </div>
-<div class="line"><a name="l03941"></a><span class="lineno"> 3941</span> sinfo_msg(<span class="stringliteral">" %d %3.2g %3.2g %5.4g %5.4g"</span>,</div>
-<div class="line"><a name="l03942"></a><span class="lineno"> 3942</span> iq,z_mean,z_sdv,z_mean/dispersion,z_sdv/dispersion);</div>
-<div class="line"><a name="l03943"></a><span class="lineno"> 3943</span> </div>
-<div class="line"><a name="l03944"></a><span class="lineno"> 3944</span> check_nomsg(nfit=cpl_table_get_nrow(z_pos));</div>
-<div class="line"><a name="l03945"></a><span class="lineno"> 3945</span> check_nomsg(cpl_table_fill_column_window(z_pos,<span class="stringliteral">"ZFIT"</span>,0,nfit,zfit));</div>
-<div class="line"><a name="l03946"></a><span class="lineno"> 3946</span> check_nomsg(cpl_table_duplicate_column(z_pos,<span class="stringliteral">"WRES"</span>,z_pos,<span class="stringliteral">"WDIF"</span>));</div>
-<div class="line"><a name="l03947"></a><span class="lineno"> 3947</span> check_nomsg(cpl_table_subtract_columns(z_pos,<span class="stringliteral">"WRES"</span>,<span class="stringliteral">"ZFIT"</span>));</div>
-<div class="line"><a name="l03948"></a><span class="lineno"> 3948</span> </div>
-<div class="line"><a name="l03949"></a><span class="lineno"> 3949</span> check_nomsg(cpl_table_multiply_columns(z_pos,<span class="stringliteral">"WRES"</span>,<span class="stringliteral">"WRES"</span>));</div>
-<div class="line"><a name="l03950"></a><span class="lineno"> 3950</span> check_nomsg(cpl_table_power_column(z_pos,<span class="stringliteral">"WRES"</span>,0.5));</div>
-<div class="line"><a name="l03951"></a><span class="lineno"> 3951</span> <span class="comment">//cpl_table_dump(z_pos,0,cpl_table_get_nrow(z_pos),stdout);</span></div>
-<div class="line"><a name="l03952"></a><span class="lineno"> 3952</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l03953"></a><span class="lineno"> 3953</span> <span class="comment"> sinfo_msg("min=%g max=%g ndat=%d",</span></div>
-<div class="line"><a name="l03954"></a><span class="lineno"> 3954</span> <span class="comment"> cpl_table_get_column_min(z_pos,"WRES"),</span></div>
-<div class="line"><a name="l03955"></a><span class="lineno"> 3955</span> <span class="comment"> cpl_table_get_column_max(z_pos,"WRES"),</span></div>
-<div class="line"><a name="l03956"></a><span class="lineno"> 3956</span> <span class="comment"> cpl_table_get_nrow(z_pos));</span></div>
-<div class="line"><a name="l03957"></a><span class="lineno"> 3957</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03958"></a><span class="lineno"> 3958</span> check_nomsg(cpl_table_and_selected_double(z_pos,<span class="stringliteral">"WRES"</span>,</div>
-<div class="line"><a name="l03959"></a><span class="lineno"> 3959</span> CPL_NOT_GREATER_THAN,3*z_sdv));</div>
-<div class="line"><a name="l03960"></a><span class="lineno"> 3960</span> </div>
-<div class="line"><a name="l03961"></a><span class="lineno"> 3961</span> check_nomsg(sinfo_free_table(&z_good));</div>
-<div class="line"><a name="l03962"></a><span class="lineno"> 3962</span> check_nomsg(z_good=cpl_table_extract_selected(z_pos));</div>
-<div class="line"><a name="l03963"></a><span class="lineno"> 3963</span> </div>
-<div class="line"><a name="l03964"></a><span class="lineno"> 3964</span> </div>
-<div class="line"><a name="l03965"></a><span class="lineno"> 3965</span> check_nomsg(cpl_table_select_all(z_pos));</div>
-<div class="line"><a name="l03966"></a><span class="lineno"> 3966</span> check_nomsg(cpl_table_select_all(z_good));</div>
-<div class="line"><a name="l03967"></a><span class="lineno"> 3967</span> check_nomsg(cpl_table_erase_column(z_good,<span class="stringliteral">"WRES"</span>));</div>
-<div class="line"><a name="l03968"></a><span class="lineno"> 3968</span> check_nomsg(cpl_table_erase_column(z_pos,<span class="stringliteral">"WRES"</span>));</div>
-<div class="line"><a name="l03969"></a><span class="lineno"> 3969</span> </div>
-<div class="line"><a name="l03970"></a><span class="lineno"> 3970</span> sinfo_unwrap_vector(&vx);</div>
-<div class="line"><a name="l03971"></a><span class="lineno"> 3971</span> sinfo_unwrap_vector(&vy);</div>
-<div class="line"><a name="l03972"></a><span class="lineno"> 3972</span> </div>
-<div class="line"><a name="l03973"></a><span class="lineno"> 3973</span> }</div>
-<div class="line"><a name="l03974"></a><span class="lineno"> 3974</span> </div>
-<div class="line"><a name="l03975"></a><span class="lineno"> 3975</span> }</div>
-<div class="line"><a name="l03976"></a><span class="lineno"> 3976</span> <span class="comment">//sinfo_msg(">>mean=%g",cpl_table_get_column_mean(z_good,"WDIF"));</span></div>
-<div class="line"><a name="l03977"></a><span class="lineno"> 3977</span> </div>
-<div class="line"><a name="l03978"></a><span class="lineno"> 3978</span> <span class="comment">//check_nomsg(cpl_table_save(z_good,NULL,NULL,</span></div>
-<div class="line"><a name="l03979"></a><span class="lineno"> 3979</span> <span class="comment">// "out_z_pos3.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l03980"></a><span class="lineno"> 3980</span> sinfo_unwrap_vector(&vx);</div>
-<div class="line"><a name="l03981"></a><span class="lineno"> 3981</span> sinfo_unwrap_vector(&vy);</div>
-<div class="line"><a name="l03982"></a><span class="lineno"> 3982</span> sinfo_free_polynomial(&cfit);</div>
-<div class="line"><a name="l03983"></a><span class="lineno"> 3983</span> sinfo_free_table(&z);</div>
-<div class="line"><a name="l03984"></a><span class="lineno"> 3984</span> sinfo_free_table(&z_pos);</div>
-<div class="line"><a name="l03985"></a><span class="lineno"> 3985</span> sinfo_free_table(&z_good);</div>
-<div class="line"><a name="l03986"></a><span class="lineno"> 3986</span> </div>
-<div class="line"><a name="l03987"></a><span class="lineno"> 3987</span> </div>
-<div class="line"><a name="l03988"></a><span class="lineno"> 3988</span> <span class="keywordflow">return</span> zfit;</div>
-<div class="line"><a name="l03989"></a><span class="lineno"> 3989</span> cleanup:</div>
-<div class="line"><a name="l03990"></a><span class="lineno"> 3990</span> </div>
-<div class="line"><a name="l03991"></a><span class="lineno"> 3991</span> sinfo_free_table(&z_good);</div>
-<div class="line"><a name="l03992"></a><span class="lineno"> 3992</span> sinfo_free_table(&z);</div>
-<div class="line"><a name="l03993"></a><span class="lineno"> 3993</span> sinfo_free_table(&z_diff);</div>
-<div class="line"><a name="l03994"></a><span class="lineno"> 3994</span> sinfo_free_table(&tmp_sky);</div>
-<div class="line"><a name="l03995"></a><span class="lineno"> 3995</span> sinfo_free_table(&z_pos);</div>
-<div class="line"><a name="l03996"></a><span class="lineno"> 3996</span> sinfo_unwrap_vector(&vw);</div>
-<div class="line"><a name="l03997"></a><span class="lineno"> 3997</span> sinfo_unwrap_vector(&vs);</div>
-<div class="line"><a name="l03998"></a><span class="lineno"> 3998</span> sinfo_unwrap_vector(&vo);</div>
-<div class="line"><a name="l03999"></a><span class="lineno"> 3999</span> sinfo_free_my_vector(&sx);</div>
-<div class="line"><a name="l04000"></a><span class="lineno"> 4000</span> sinfo_free_my_vector(&sy);</div>
-<div class="line"><a name="l04001"></a><span class="lineno"> 4001</span> sinfo_unwrap_vector(&vx);</div>
-<div class="line"><a name="l04002"></a><span class="lineno"> 4002</span> sinfo_unwrap_vector(&vy);</div>
-<div class="line"><a name="l04003"></a><span class="lineno"> 4003</span> sinfo_free_table(&w_tbl);</div>
-<div class="line"><a name="l04004"></a><span class="lineno"> 4004</span> sinfo_free_table(&s_tbl);</div>
-<div class="line"><a name="l04005"></a><span class="lineno"> 4005</span> sinfo_free_table(&o_tbl);</div>
-<div class="line"><a name="l04006"></a><span class="lineno"> 4006</span> sinfo_free_polynomial(&cfit);</div>
-<div class="line"><a name="l04007"></a><span class="lineno"> 4007</span> </div>
-<div class="line"><a name="l04008"></a><span class="lineno"> 4008</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l04009"></a><span class="lineno"> 4009</span> </div>
-<div class="line"><a name="l04010"></a><span class="lineno"> 4010</span> </div>
-<div class="line"><a name="l04011"></a><span class="lineno"> 4011</span> }</div>
-<div class="line"><a name="l04012"></a><span class="lineno"> 4012</span> </div>
-<div class="line"><a name="l04013"></a><span class="lineno"> 4013</span> </div>
-<div class="line"><a name="l04014"></a><span class="lineno"> 4014</span> </div>
-<div class="line"><a name="l04015"></a><span class="lineno"> 4015</span> </div>
-<div class="line"><a name="l04028"></a><span class="lineno"> 4028</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l04029"></a><span class="lineno"> 4029</span> sinfo_table_set_nan_out_min_max(cpl_table** t,</div>
-<div class="line"><a name="l04030"></a><span class="lineno"> 4030</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* c,</div>
-<div class="line"><a name="l04031"></a><span class="lineno"> 4031</span> <span class="keyword">const</span> <span class="keywordtype">double</span> min,</div>
-<div class="line"><a name="l04032"></a><span class="lineno"> 4032</span> <span class="keyword">const</span> <span class="keywordtype">double</span> max)</div>
-<div class="line"><a name="l04033"></a><span class="lineno"> 4033</span> </div>
-<div class="line"><a name="l04034"></a><span class="lineno"> 4034</span> {</div>
-<div class="line"><a name="l04035"></a><span class="lineno"> 4035</span> </div>
-<div class="line"><a name="l04036"></a><span class="lineno"> 4036</span> <span class="keywordtype">int</span> sz=0;</div>
-<div class="line"><a name="l04037"></a><span class="lineno"> 4037</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l04038"></a><span class="lineno"> 4038</span> <span class="keywordtype">double</span>* pt=NULL;</div>
-<div class="line"><a name="l04039"></a><span class="lineno"> 4039</span> </div>
-<div class="line"><a name="l04040"></a><span class="lineno"> 4040</span> check_nomsg(sz=cpl_table_get_nrow(*t));</div>
-<div class="line"><a name="l04041"></a><span class="lineno"> 4041</span> check_nomsg(pt=cpl_table_get_data_double(*t,c));</div>
-<div class="line"><a name="l04042"></a><span class="lineno"> 4042</span> <span class="keywordflow">for</span>(i=0;i<sz;i++) {</div>
-<div class="line"><a name="l04043"></a><span class="lineno"> 4043</span> <span class="keywordflow">if</span>(pt[i] < min || pt[i] > max) {</div>
-<div class="line"><a name="l04044"></a><span class="lineno"> 4044</span> check_nomsg(cpl_table_set_invalid(*t ,c,i));</div>
-<div class="line"><a name="l04045"></a><span class="lineno"> 4045</span> }</div>
-<div class="line"><a name="l04046"></a><span class="lineno"> 4046</span> }</div>
-<div class="line"><a name="l04047"></a><span class="lineno"> 4047</span> </div>
-<div class="line"><a name="l04048"></a><span class="lineno"> 4048</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l04049"></a><span class="lineno"> 4049</span> </div>
-<div class="line"><a name="l04050"></a><span class="lineno"> 4050</span> cleanup:</div>
-<div class="line"><a name="l04051"></a><span class="lineno"> 4051</span> </div>
-<div class="line"><a name="l04052"></a><span class="lineno"> 4052</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l04053"></a><span class="lineno"> 4053</span> </div>
-<div class="line"><a name="l04054"></a><span class="lineno"> 4054</span> </div>
-<div class="line"><a name="l04055"></a><span class="lineno"> 4055</span> }</div>
-<div class="line"><a name="l04056"></a><span class="lineno"> 4056</span> </div>
-<div class="line"><a name="l04066"></a><span class="lineno"> 4066</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l04067"></a><span class="lineno"> 4067</span> sinfo_table_flag_nan(cpl_table** t,<span class="keyword">const</span> <span class="keywordtype">char</span>* label)</div>
-<div class="line"><a name="l04068"></a><span class="lineno"> 4068</span> {</div>
-<div class="line"><a name="l04069"></a><span class="lineno"> 4069</span> </div>
-<div class="line"><a name="l04070"></a><span class="lineno"> 4070</span> <span class="keywordtype">int</span> sz=0;</div>
-<div class="line"><a name="l04071"></a><span class="lineno"> 4071</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l04072"></a><span class="lineno"> 4072</span> <span class="keywordtype">double</span>* pt=NULL;</div>
-<div class="line"><a name="l04073"></a><span class="lineno"> 4073</span> </div>
-<div class="line"><a name="l04074"></a><span class="lineno"> 4074</span> check_nomsg(sz=cpl_table_get_nrow(*t));</div>
-<div class="line"><a name="l04075"></a><span class="lineno"> 4075</span> check_nomsg(pt=cpl_table_get_data_double(*t,label));</div>
-<div class="line"><a name="l04076"></a><span class="lineno"> 4076</span> <span class="keywordflow">for</span>(i=0;i<sz;i++) {</div>
-<div class="line"><a name="l04077"></a><span class="lineno"> 4077</span> <span class="keywordflow">if</span>(irplib_isnan(pt[i])) {</div>
-<div class="line"><a name="l04078"></a><span class="lineno"> 4078</span> check_nomsg(cpl_table_set_invalid(*t ,label,i));</div>
-<div class="line"><a name="l04079"></a><span class="lineno"> 4079</span> }</div>
-<div class="line"><a name="l04080"></a><span class="lineno"> 4080</span> }</div>
-<div class="line"><a name="l04081"></a><span class="lineno"> 4081</span> </div>
-<div class="line"><a name="l04082"></a><span class="lineno"> 4082</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l04083"></a><span class="lineno"> 4083</span> </div>
-<div class="line"><a name="l04084"></a><span class="lineno"> 4084</span> cleanup:</div>
-<div class="line"><a name="l04085"></a><span class="lineno"> 4085</span> </div>
-<div class="line"><a name="l04086"></a><span class="lineno"> 4086</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l04087"></a><span class="lineno"> 4087</span> }</div>
-<div class="line"><a name="l04088"></a><span class="lineno"> 4088</span> </div>
-<div class="line"><a name="l04098"></a><span class="lineno"> 4098</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l04099"></a><span class="lineno"> 4099</span> sinfo_table_sky_obj_flag_nan(cpl_table** s,cpl_table** o, cpl_table** w)</div>
-<div class="line"><a name="l04100"></a><span class="lineno"> 4100</span> {</div>
-<div class="line"><a name="l04101"></a><span class="lineno"> 4101</span> </div>
-<div class="line"><a name="l04102"></a><span class="lineno"> 4102</span> <span class="keywordtype">int</span> no=0;</div>
-<div class="line"><a name="l04103"></a><span class="lineno"> 4103</span> <span class="keywordtype">int</span> ns=0;</div>
-<div class="line"><a name="l04104"></a><span class="lineno"> 4104</span> <span class="keywordtype">int</span> nw=0;</div>
-<div class="line"><a name="l04105"></a><span class="lineno"> 4105</span> <span class="keywordtype">int</span> ni=0;</div>
-<div class="line"><a name="l04106"></a><span class="lineno"> 4106</span> </div>
-<div class="line"><a name="l04107"></a><span class="lineno"> 4107</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l04108"></a><span class="lineno"> 4108</span> <span class="keywordtype">double</span>* po=NULL;</div>
-<div class="line"><a name="l04109"></a><span class="lineno"> 4109</span> <span class="keywordtype">double</span>* ps=NULL;</div>
-<div class="line"><a name="l04110"></a><span class="lineno"> 4110</span> <span class="keywordtype">double</span>* pw=NULL;</div>
-<div class="line"><a name="l04111"></a><span class="lineno"> 4111</span> </div>
-<div class="line"><a name="l04112"></a><span class="lineno"> 4112</span> check_nomsg(no=cpl_table_get_nrow(*o));</div>
-<div class="line"><a name="l04113"></a><span class="lineno"> 4113</span> check_nomsg(ns=cpl_table_get_nrow(*s));</div>
-<div class="line"><a name="l04114"></a><span class="lineno"> 4114</span> check_nomsg(nw=cpl_table_get_nrow(*w));</div>
-<div class="line"><a name="l04115"></a><span class="lineno"> 4115</span> <span class="keywordflow">if</span>(no != ns || ns != nw || no != nw) {</div>
-<div class="line"><a name="l04116"></a><span class="lineno"> 4116</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"different input tables sizes"</span>);</div>
-<div class="line"><a name="l04117"></a><span class="lineno"> 4117</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l04118"></a><span class="lineno"> 4118</span> }</div>
-<div class="line"><a name="l04119"></a><span class="lineno"> 4119</span> check_nomsg(po=cpl_table_get_data_double(*o,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l04120"></a><span class="lineno"> 4120</span> check_nomsg(ps=cpl_table_get_data_double(*s,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l04121"></a><span class="lineno"> 4121</span> check_nomsg(pw=cpl_table_get_data_double(*w,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l04122"></a><span class="lineno"> 4122</span> </div>
-<div class="line"><a name="l04123"></a><span class="lineno"> 4123</span> <span class="keywordflow">for</span>(i=0;i<no;i++) {</div>
-<div class="line"><a name="l04124"></a><span class="lineno"> 4124</span> <span class="keywordflow">if</span>( (0==cpl_table_is_valid(*o,<span class="stringliteral">"INT"</span>,i)) ||</div>
-<div class="line"><a name="l04125"></a><span class="lineno"> 4125</span> irplib_isnan(po[i]) || irplib_isnan(ps[i]) || irplib_isnan(pw[i]) ) {</div>
-<div class="line"><a name="l04126"></a><span class="lineno"> 4126</span> check_nomsg(cpl_table_set_invalid(*o ,<span class="stringliteral">"INT"</span>,i));</div>
-<div class="line"><a name="l04127"></a><span class="lineno"> 4127</span> check_nomsg(cpl_table_set_invalid(*s ,<span class="stringliteral">"INT"</span>,i));</div>
-<div class="line"><a name="l04128"></a><span class="lineno"> 4128</span> check_nomsg(cpl_table_set_invalid(*w ,<span class="stringliteral">"WAVE"</span>,i));</div>
-<div class="line"><a name="l04129"></a><span class="lineno"> 4129</span> <span class="comment">//sinfo_msg_debug("Flagged raw %d",i);</span></div>
-<div class="line"><a name="l04130"></a><span class="lineno"> 4130</span> ni++;</div>
-<div class="line"><a name="l04131"></a><span class="lineno"> 4131</span> }</div>
-<div class="line"><a name="l04132"></a><span class="lineno"> 4132</span> }</div>
-<div class="line"><a name="l04133"></a><span class="lineno"> 4133</span> </div>
-<div class="line"><a name="l04134"></a><span class="lineno"> 4134</span> <span class="keywordflow">return</span> no-ni;</div>
-<div class="line"><a name="l04135"></a><span class="lineno"> 4135</span> </div>
-<div class="line"><a name="l04136"></a><span class="lineno"> 4136</span> cleanup:</div>
-<div class="line"><a name="l04137"></a><span class="lineno"> 4137</span> </div>
-<div class="line"><a name="l04138"></a><span class="lineno"> 4138</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l04139"></a><span class="lineno"> 4139</span> }</div>
-<div class="line"><a name="l04140"></a><span class="lineno"> 4140</span> </div>
-<div class="line"><a name="l04141"></a><span class="lineno"> 4141</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l04142"></a><span class="lineno"> 4142</span> <span class="comment">static void</span></div>
-<div class="line"><a name="l04143"></a><span class="lineno"> 4143</span> <span class="comment">sinfo_shift_sky(const int x,const int y)</span></div>
-<div class="line"><a name="l04144"></a><span class="lineno"> 4144</span> <span class="comment">{</span></div>
-<div class="line"><a name="l04145"></a><span class="lineno"> 4145</span> <span class="comment"></span></div>
-<div class="line"><a name="l04146"></a><span class="lineno"> 4146</span> <span class="comment"> //To remove compilation warnings</span></div>
-<div class="line"><a name="l04147"></a><span class="lineno"> 4147</span> <span class="comment"> ck0_nomsg(x);</span></div>
-<div class="line"><a name="l04148"></a><span class="lineno"> 4148</span> <span class="comment"> ck0_nomsg(y);</span></div>
-<div class="line"><a name="l04149"></a><span class="lineno"> 4149</span> <span class="comment"></span></div>
-<div class="line"><a name="l04150"></a><span class="lineno"> 4150</span> <span class="comment"> // shift sky spectrum of a given amount</span></div>
-<div class="line"><a name="l04151"></a><span class="lineno"> 4151</span> <span class="comment"> if (max(abs(z_fit))/cdelts < 0.01) {</span></div>
-<div class="line"><a name="l04152"></a><span class="lineno"> 4152</span> <span class="comment"> sinfo_msg("shift <0.01 pixels will not be applied");</span></div>
-<div class="line"><a name="l04153"></a><span class="lineno"> 4153</span> <span class="comment"> } else {</span></div>
-<div class="line"><a name="l04154"></a><span class="lineno"> 4154</span> <span class="comment"> sinfo_msg("shifting sky cube by mean of %f pix wrt object",</span></div>
-<div class="line"><a name="l04155"></a><span class="lineno"> 4155</span> <span class="comment"> cpl_table_column_mean(z_fit,"VALUE")/cdelto);</span></div>
-<div class="line"><a name="l04156"></a><span class="lineno"> 4156</span> <span class="comment"> sinfo_msg("this will take a couple of minutes...");</span></div>
-<div class="line"><a name="l04157"></a><span class="lineno"> 4157</span> <span class="comment"> z_good = where(finite(int_sky));</span></div>
-<div class="line"><a name="l04158"></a><span class="lineno"> 4158</span> <span class="comment"> new_sky = spline(lambda[z_good]-z_mean,int_sky[z_good],lambda);</span></div>
-<div class="line"><a name="l04159"></a><span class="lineno"> 4159</span> <span class="comment"> int_sky = new_sky;</span></div>
-<div class="line"><a name="l04160"></a><span class="lineno"> 4160</span> <span class="comment"> sky_out = dblarr(xsize,ysize,zsize) + !values.f_nan;</span></div>
-<div class="line"><a name="l04161"></a><span class="lineno"> 4161</span> <span class="comment"> for (ix=0; ix<xsize;ix++) {</span></div>
-<div class="line"><a name="l04162"></a><span class="lineno"> 4162</span> <span class="comment"> for (iy=0;iy<ysize;iy++) {</span></div>
-<div class="line"><a name="l04163"></a><span class="lineno"> 4163</span> <span class="comment"> old_sky = reform(sky[ix,iy,*]);</span></div>
-<div class="line"><a name="l04164"></a><span class="lineno"> 4164</span> <span class="comment"> z_good = where(finite(old_sky),z_good_i);</span></div>
-<div class="line"><a name="l04165"></a><span class="lineno"> 4165</span> <span class="comment"> if (z_good_i > 0) {</span></div>
-<div class="line"><a name="l04166"></a><span class="lineno"> 4166</span> <span class="comment"> new_sky= spline(lambda[z_good]-z_fit[z_good],old_sky[z_good],lambda);</span></div>
-<div class="line"><a name="l04167"></a><span class="lineno"> 4167</span> <span class="comment"> new_fin= where(finite(new_sky,/infinity) ||</span></div>
-<div class="line"><a name="l04168"></a><span class="lineno"> 4168</span> <span class="comment"> finite(old_sky,/nan),newfin_i);</span></div>
-<div class="line"><a name="l04169"></a><span class="lineno"> 4169</span> <span class="comment"> if (new_fin_i > 0) new_sky[new_fin] = !values.f_nan;</span></div>
-<div class="line"><a name="l04170"></a><span class="lineno"> 4170</span> <span class="comment"> sky_out[ix,iy,*] = new_sky;</span></div>
-<div class="line"><a name="l04171"></a><span class="lineno"> 4171</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l04172"></a><span class="lineno"> 4172</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l04173"></a><span class="lineno"> 4173</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l04174"></a><span class="lineno"> 4174</span> <span class="comment"> sky = sky_out;</span></div>
-<div class="line"><a name="l04175"></a><span class="lineno"> 4175</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l04176"></a><span class="lineno"> 4176</span> <span class="comment"> cleanup:</span></div>
-<div class="line"><a name="l04177"></a><span class="lineno"> 4177</span> <span class="comment"> return;</span></div>
-<div class="line"><a name="l04178"></a><span class="lineno"> 4178</span> <span class="comment"></span></div>
-<div class="line"><a name="l04179"></a><span class="lineno"> 4179</span> <span class="comment">}</span></div>
-<div class="line"><a name="l04180"></a><span class="lineno"> 4180</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l04207"></a><span class="lineno"> 4207</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l04208"></a><span class="lineno"> 4208</span> sinfo_optimise_sky_sub(<span class="keyword">const</span> <span class="keywordtype">double</span> wtol,</div>
-<div class="line"><a name="l04209"></a><span class="lineno"> 4209</span> <span class="keyword">const</span> <span class="keywordtype">double</span> line_hw,</div>
-<div class="line"><a name="l04210"></a><span class="lineno"> 4210</span> <span class="keyword">const</span> <span class="keywordtype">int</span> method,</div>
-<div class="line"><a name="l04211"></a><span class="lineno"> 4211</span> <span class="keyword">const</span> <span class="keywordtype">int</span> do_rot,</div>
-<div class="line"><a name="l04212"></a><span class="lineno"> 4212</span> cpl_table* lrange,</div>
-<div class="line"><a name="l04213"></a><span class="lineno"> 4213</span> cpl_table* lambda,</div>
-<div class="line"><a name="l04214"></a><span class="lineno"> 4214</span> cpl_table* lr41,</div>
-<div class="line"><a name="l04215"></a><span class="lineno"> 4215</span> cpl_table* lr52,</div>
-<div class="line"><a name="l04216"></a><span class="lineno"> 4216</span> cpl_table* lr63,</div>
-<div class="line"><a name="l04217"></a><span class="lineno"> 4217</span> cpl_table* lr74,</div>
-<div class="line"><a name="l04218"></a><span class="lineno"> 4218</span> cpl_table* lr02,</div>
-<div class="line"><a name="l04219"></a><span class="lineno"> 4219</span> cpl_table* lr85,</div>
-<div class="line"><a name="l04220"></a><span class="lineno"> 4220</span> cpl_table* lr20,</div>
-<div class="line"><a name="l04221"></a><span class="lineno"> 4221</span> cpl_table* lr31,</div>
-<div class="line"><a name="l04222"></a><span class="lineno"> 4222</span> cpl_table* lr42,</div>
-<div class="line"><a name="l04223"></a><span class="lineno"> 4223</span> cpl_table* lr53,</div>
-<div class="line"><a name="l04224"></a><span class="lineno"> 4224</span> cpl_table* lr64,</div>
-<div class="line"><a name="l04225"></a><span class="lineno"> 4225</span> cpl_table* lr75,</div>
-<div class="line"><a name="l04226"></a><span class="lineno"> 4226</span> cpl_table* lr86,</div>
-<div class="line"><a name="l04227"></a><span class="lineno"> 4227</span> cpl_table* lr97,</div>
-<div class="line"><a name="l04228"></a><span class="lineno"> 4228</span> cpl_table* lr00,</div>
-<div class="line"><a name="l04229"></a><span class="lineno"> 4229</span> cpl_table** int_obj,</div>
-<div class="line"><a name="l04230"></a><span class="lineno"> 4230</span> cpl_table** int_sky,</div>
-<div class="line"><a name="l04231"></a><span class="lineno"> 4231</span> cpl_table** rscale)</div>
-<div class="line"><a name="l04232"></a><span class="lineno"> 4232</span> </div>
-<div class="line"><a name="l04233"></a><span class="lineno"> 4233</span> {</div>
-<div class="line"><a name="l04234"></a><span class="lineno"> 4234</span> </div>
-<div class="line"><a name="l04235"></a><span class="lineno"> 4235</span> <span class="keywordtype">int</span> npixw=2*line_hw; <span class="comment">//full width in pixels of unresolved emission line</span></div>
-<div class="line"><a name="l04236"></a><span class="lineno"> 4236</span> cpl_array* do_hk=NULL;</div>
-<div class="line"><a name="l04237"></a><span class="lineno"> 4237</span> cpl_array* rfit=NULL;</div>
-<div class="line"><a name="l04238"></a><span class="lineno"> 4238</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l04239"></a><span class="lineno"> 4239</span> cpl_table* sky_lr=NULL;</div>
-<div class="line"><a name="l04240"></a><span class="lineno"> 4240</span> cpl_table* obj_lr=NULL;</div>
-<div class="line"><a name="l04241"></a><span class="lineno"> 4241</span> cpl_table* wav_lr=NULL;</div>
-<div class="line"><a name="l04242"></a><span class="lineno"> 4242</span> <span class="keywordtype">double</span> sky_med=0;</div>
-<div class="line"><a name="l04243"></a><span class="lineno"> 4243</span> <span class="keywordtype">double</span> sky_sdv=0;</div>
-<div class="line"><a name="l04244"></a><span class="lineno"> 4244</span> <span class="keywordtype">int</span> lr41_i=0;</div>
-<div class="line"><a name="l04245"></a><span class="lineno"> 4245</span> <span class="keywordtype">int</span> lr52_i=0;</div>
-<div class="line"><a name="l04246"></a><span class="lineno"> 4246</span> <span class="keywordtype">int</span> lr63_i=0;</div>
-<div class="line"><a name="l04247"></a><span class="lineno"> 4247</span> <span class="keywordtype">int</span> lr74_i=0;</div>
-<div class="line"><a name="l04248"></a><span class="lineno"> 4248</span> <span class="keywordtype">int</span> lr02_i=0;</div>
-<div class="line"><a name="l04249"></a><span class="lineno"> 4249</span> <span class="keywordtype">int</span> lr85_i=0;</div>
-<div class="line"><a name="l04250"></a><span class="lineno"> 4250</span> <span class="keywordtype">int</span> lr20_i=0;</div>
-<div class="line"><a name="l04251"></a><span class="lineno"> 4251</span> <span class="keywordtype">int</span> lr31_i=0;</div>
-<div class="line"><a name="l04252"></a><span class="lineno"> 4252</span> <span class="keywordtype">int</span> lr42_i=0;</div>
-<div class="line"><a name="l04253"></a><span class="lineno"> 4253</span> <span class="keywordtype">int</span> lr53_i=0;</div>
-<div class="line"><a name="l04254"></a><span class="lineno"> 4254</span> <span class="keywordtype">int</span> lr64_i=0;</div>
-<div class="line"><a name="l04255"></a><span class="lineno"> 4255</span> <span class="keywordtype">int</span> lr75_i=0;</div>
-<div class="line"><a name="l04256"></a><span class="lineno"> 4256</span> <span class="keywordtype">int</span> lr86_i=0;</div>
-<div class="line"><a name="l04257"></a><span class="lineno"> 4257</span> <span class="keywordtype">int</span> lr97_i=0;</div>
-<div class="line"><a name="l04258"></a><span class="lineno"> 4258</span> <span class="keywordtype">int</span> lr00_i=0;</div>
-<div class="line"><a name="l04259"></a><span class="lineno"> 4259</span> </div>
-<div class="line"><a name="l04260"></a><span class="lineno"> 4260</span> <span class="keywordtype">int</span> xxx1_i=0;</div>
-<div class="line"><a name="l04261"></a><span class="lineno"> 4261</span> <span class="keywordtype">int</span> status=0;</div>
-<div class="line"><a name="l04262"></a><span class="lineno"> 4262</span> <span class="keywordtype">int</span> finite_pix_i=0;</div>
-<div class="line"><a name="l04263"></a><span class="lineno"> 4263</span> <span class="keywordtype">double</span> sky_thresh=0.;</div>
-<div class="line"><a name="l04264"></a><span class="lineno"> 4264</span> </div>
-<div class="line"><a name="l04265"></a><span class="lineno"> 4265</span> cpl_table* rat_sky=NULL;</div>
-<div class="line"><a name="l04266"></a><span class="lineno"> 4266</span> </div>
-<div class="line"><a name="l04267"></a><span class="lineno"> 4267</span> cpl_table* xxx1=NULL;</div>
-<div class="line"><a name="l04268"></a><span class="lineno"> 4268</span> cpl_table* xxx2=NULL;</div>
-<div class="line"><a name="l04269"></a><span class="lineno"> 4269</span> cpl_table* xxx1_sub=NULL;</div>
-<div class="line"><a name="l04270"></a><span class="lineno"> 4270</span> cpl_table* line_regions=NULL;</div>
-<div class="line"><a name="l04271"></a><span class="lineno"> 4271</span> cpl_table* cont_regions=NULL;</div>
-<div class="line"><a name="l04272"></a><span class="lineno"> 4272</span> <span class="keywordtype">int</span> line_i=0;</div>
-<div class="line"><a name="l04273"></a><span class="lineno"> 4273</span> <span class="keywordtype">int</span> cont_i=0;</div>
-<div class="line"><a name="l04274"></a><span class="lineno"> 4274</span> <span class="keywordtype">double</span> fmed=0;</div>
-<div class="line"><a name="l04275"></a><span class="lineno"> 4275</span> <span class="keywordtype">double</span> fsdv=0;</div>
-<div class="line"><a name="l04276"></a><span class="lineno"> 4276</span> cpl_table* fline_res=NULL;</div>
-<div class="line"><a name="l04277"></a><span class="lineno"> 4277</span> <span class="keywordtype">int</span> fclip_i=0;</div>
-<div class="line"><a name="l04278"></a><span class="lineno"> 4278</span> <span class="keywordtype">int</span> fline_i=0;</div>
-<div class="line"><a name="l04279"></a><span class="lineno"> 4279</span> cpl_table* rscale0=NULL;</div>
-<div class="line"><a name="l04280"></a><span class="lineno"> 4280</span> <span class="keywordtype">double</span> r=0;</div>
-<div class="line"><a name="l04281"></a><span class="lineno"> 4281</span> cpl_table* obj_cont=NULL;</div>
-<div class="line"><a name="l04282"></a><span class="lineno"> 4282</span> cpl_table* sky_cont=NULL;</div>
-<div class="line"><a name="l04283"></a><span class="lineno"> 4283</span> cpl_table* obj_line=NULL;</div>
-<div class="line"><a name="l04284"></a><span class="lineno"> 4284</span> cpl_table* sky_line=NULL;</div>
-<div class="line"><a name="l04285"></a><span class="lineno"> 4285</span> </div>
-<div class="line"><a name="l04286"></a><span class="lineno"> 4286</span> </div>
-<div class="line"><a name="l04287"></a><span class="lineno"> 4287</span> <span class="comment">//Rotational parameters</span></div>
-<div class="line"><a name="l04288"></a><span class="lineno"> 4288</span> <span class="keywordtype">int</span> low_pos_i=0;</div>
-<div class="line"><a name="l04289"></a><span class="lineno"> 4289</span> <span class="keywordtype">int</span> med_pos_i=0;</div>
-<div class="line"><a name="l04290"></a><span class="lineno"> 4290</span> <span class="keywordtype">int</span> hi_pos_i=0;</div>
-<div class="line"><a name="l04291"></a><span class="lineno"> 4291</span> </div>
-<div class="line"><a name="l04292"></a><span class="lineno"> 4292</span> cpl_table* finite_pix=NULL;</div>
-<div class="line"><a name="l04293"></a><span class="lineno"> 4293</span> cpl_table* tmp_tbl=NULL;</div>
-<div class="line"><a name="l04294"></a><span class="lineno"> 4294</span> </div>
-<div class="line"><a name="l04295"></a><span class="lineno"> 4295</span> cpl_table* low_scale=NULL;</div>
-<div class="line"><a name="l04296"></a><span class="lineno"> 4296</span> cpl_table* med_scale=NULL;</div>
-<div class="line"><a name="l04297"></a><span class="lineno"> 4297</span> cpl_table* hi_regions=NULL;</div>
-<div class="line"><a name="l04298"></a><span class="lineno"> 4298</span> </div>
-<div class="line"><a name="l04299"></a><span class="lineno"> 4299</span> cpl_table* low_regions=NULL;</div>
-<div class="line"><a name="l04300"></a><span class="lineno"> 4300</span> cpl_table* med_regions=NULL;</div>
-<div class="line"><a name="l04301"></a><span class="lineno"> 4301</span> </div>
-<div class="line"><a name="l04302"></a><span class="lineno"> 4302</span> </div>
-<div class="line"><a name="l04303"></a><span class="lineno"> 4303</span> cpl_table* low_pos=NULL;</div>
-<div class="line"><a name="l04304"></a><span class="lineno"> 4304</span> cpl_table* med_pos=NULL;</div>
-<div class="line"><a name="l04305"></a><span class="lineno"> 4305</span> cpl_table* hi_pos=NULL;</div>
-<div class="line"><a name="l04306"></a><span class="lineno"> 4306</span> cpl_table* llr_xxx1=NULL;</div>
-<div class="line"><a name="l04307"></a><span class="lineno"> 4307</span> </div>
-<div class="line"><a name="l04308"></a><span class="lineno"> 4308</span> <span class="keywordtype">double</span> rhi=0;</div>
-<div class="line"><a name="l04309"></a><span class="lineno"> 4309</span> <span class="keywordtype">double</span> rmed=0;</div>
-<div class="line"><a name="l04310"></a><span class="lineno"> 4310</span> <span class="keywordtype">double</span> rlow=0;</div>
-<div class="line"><a name="l04311"></a><span class="lineno"> 4311</span> </div>
-<div class="line"><a name="l04312"></a><span class="lineno"> 4312</span> <span class="keywordtype">double</span> min_lrange=0;</div>
-<div class="line"><a name="l04313"></a><span class="lineno"> 4313</span> <span class="keywordtype">double</span> max_lrange=0;</div>
-<div class="line"><a name="l04314"></a><span class="lineno"> 4314</span> </div>
-<div class="line"><a name="l04315"></a><span class="lineno"> 4315</span> <span class="keywordtype">int</span> nrow=0;</div>
-<div class="line"><a name="l04316"></a><span class="lineno"> 4316</span> </div>
-<div class="line"><a name="l04317"></a><span class="lineno"> 4317</span> </div>
-<div class="line"><a name="l04318"></a><span class="lineno"> 4318</span> <span class="keywordtype">double</span> w_rot_low[NROT]={1.00852,1.03757,1.09264,1.15388,1.22293,</div>
-<div class="line"><a name="l04319"></a><span class="lineno"> 4319</span> 1.30216,1.45190,1.52410,1.60308,1.69037,</div>
-<div class="line"><a name="l04320"></a><span class="lineno"> 4320</span> 1.78803,2.02758,2.18023,1.02895,1.08343,</div>
-<div class="line"><a name="l04321"></a><span class="lineno"> 4321</span> 1.14399,1.21226,1.29057,1.43444,1.50555,</div>
-<div class="line"><a name="l04322"></a><span class="lineno"> 4322</span> 1.58333,1.66924,1.76532,2.00082,2.15073};</div>
-<div class="line"><a name="l04323"></a><span class="lineno"> 4323</span> </div>
-<div class="line"><a name="l04324"></a><span class="lineno"> 4324</span> </div>
-<div class="line"><a name="l04325"></a><span class="lineno"> 4325</span> <span class="keywordtype">double</span> w_rot_med[NROT]={1.00282,1.02139,1.04212,1.07539,1.09753,</div>
-<div class="line"><a name="l04326"></a><span class="lineno"> 4326</span> 1.13542,1.15917,1.20309,1.22870,1.28070,</div>
-<div class="line"><a name="l04327"></a><span class="lineno"> 4327</span> 1.30853,1.41861,1.46048,1.48877,1.53324,</div>
-<div class="line"><a name="l04328"></a><span class="lineno"> 4328</span> 1.56550,1.61286,1.65024,1.70088,1.74500,</div>
-<div class="line"><a name="l04329"></a><span class="lineno"> 4329</span> 1.79940,1.97719,2.04127,2.12496,2.19956};</div>
-<div class="line"><a name="l04330"></a><span class="lineno"> 4330</span> </div>
-<div class="line"><a name="l04331"></a><span class="lineno"> 4331</span> </div>
-<div class="line"><a name="l04332"></a><span class="lineno"> 4332</span> </div>
-<div class="line"><a name="l04333"></a><span class="lineno"> 4333</span> check_nomsg(do_hk = cpl_array_new(NBOUND+1,CPL_TYPE_INT));</div>
-<div class="line"><a name="l04334"></a><span class="lineno"> 4334</span> check_nomsg(rfit = cpl_array_new(NBOUND+1,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l04335"></a><span class="lineno"> 4335</span> </div>
-<div class="line"><a name="l04336"></a><span class="lineno"> 4336</span> lr41_i=cpl_table_get_nrow(lr41);</div>
-<div class="line"><a name="l04337"></a><span class="lineno"> 4337</span> lr52_i=cpl_table_get_nrow(lr52);</div>
-<div class="line"><a name="l04338"></a><span class="lineno"> 4338</span> lr63_i=cpl_table_get_nrow(lr63);</div>
-<div class="line"><a name="l04339"></a><span class="lineno"> 4339</span> lr74_i=cpl_table_get_nrow(lr74);</div>
-<div class="line"><a name="l04340"></a><span class="lineno"> 4340</span> lr02_i=cpl_table_get_nrow(lr02);</div>
-<div class="line"><a name="l04341"></a><span class="lineno"> 4341</span> lr85_i=cpl_table_get_nrow(lr85);</div>
-<div class="line"><a name="l04342"></a><span class="lineno"> 4342</span> lr20_i=cpl_table_get_nrow(lr20);</div>
-<div class="line"><a name="l04343"></a><span class="lineno"> 4343</span> lr31_i=cpl_table_get_nrow(lr31);</div>
-<div class="line"><a name="l04344"></a><span class="lineno"> 4344</span> lr42_i=cpl_table_get_nrow(lr42);</div>
-<div class="line"><a name="l04345"></a><span class="lineno"> 4345</span> lr53_i=cpl_table_get_nrow(lr53);</div>
-<div class="line"><a name="l04346"></a><span class="lineno"> 4346</span> lr64_i=cpl_table_get_nrow(lr64);</div>
-<div class="line"><a name="l04347"></a><span class="lineno"> 4347</span> lr75_i=cpl_table_get_nrow(lr75);</div>
-<div class="line"><a name="l04348"></a><span class="lineno"> 4348</span> lr86_i=cpl_table_get_nrow(lr86);</div>
-<div class="line"><a name="l04349"></a><span class="lineno"> 4349</span> lr97_i=cpl_table_get_nrow(lr97);</div>
-<div class="line"><a name="l04350"></a><span class="lineno"> 4350</span> check_nomsg(lr00_i=cpl_table_get_nrow(lr00));</div>
-<div class="line"><a name="l04351"></a><span class="lineno"> 4351</span> </div>
-<div class="line"><a name="l04352"></a><span class="lineno"> 4352</span> cpl_array_set_int(do_hk,0,lr41_i);</div>
-<div class="line"><a name="l04353"></a><span class="lineno"> 4353</span> cpl_array_set_int(do_hk,1,lr52_i);</div>
-<div class="line"><a name="l04354"></a><span class="lineno"> 4354</span> cpl_array_set_int(do_hk,2,lr63_i);</div>
-<div class="line"><a name="l04355"></a><span class="lineno"> 4355</span> cpl_array_set_int(do_hk,3,lr74_i);</div>
-<div class="line"><a name="l04356"></a><span class="lineno"> 4356</span> cpl_array_set_int(do_hk,4,lr02_i);</div>
-<div class="line"><a name="l04357"></a><span class="lineno"> 4357</span> cpl_array_set_int(do_hk,5,lr85_i);</div>
-<div class="line"><a name="l04358"></a><span class="lineno"> 4358</span> cpl_array_set_int(do_hk,6,lr20_i);</div>
-<div class="line"><a name="l04359"></a><span class="lineno"> 4359</span> cpl_array_set_int(do_hk,7,lr31_i);</div>
-<div class="line"><a name="l04360"></a><span class="lineno"> 4360</span> cpl_array_set_int(do_hk,8,lr42_i);</div>
-<div class="line"><a name="l04361"></a><span class="lineno"> 4361</span> cpl_array_set_int(do_hk,9,lr53_i);</div>
-<div class="line"><a name="l04362"></a><span class="lineno"> 4362</span> cpl_array_set_int(do_hk,10,lr64_i);</div>
-<div class="line"><a name="l04363"></a><span class="lineno"> 4363</span> cpl_array_set_int(do_hk,11,lr75_i);</div>
-<div class="line"><a name="l04364"></a><span class="lineno"> 4364</span> cpl_array_set_int(do_hk,12,lr86_i);</div>
-<div class="line"><a name="l04365"></a><span class="lineno"> 4365</span> cpl_array_set_int(do_hk,13,lr97_i);</div>
-<div class="line"><a name="l04366"></a><span class="lineno"> 4366</span> check_nomsg(cpl_array_set_int(do_hk,14,lr00_i));</div>
-<div class="line"><a name="l04367"></a><span class="lineno"> 4367</span> </div>
-<div class="line"><a name="l04368"></a><span class="lineno"> 4368</span> check_nomsg(rscale0=cpl_table_duplicate(*int_sky));</div>
-<div class="line"><a name="l04369"></a><span class="lineno"> 4369</span> check_nomsg(cpl_table_new_column(rscale0,<span class="stringliteral">"RATIO"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l04370"></a><span class="lineno"> 4370</span> check_nomsg(nrow=cpl_table_get_nrow(rscale0));</div>
-<div class="line"><a name="l04371"></a><span class="lineno"> 4371</span> check_nomsg(cpl_table_fill_column_window(rscale0,<span class="stringliteral">"RATIO"</span>,0,nrow,0));</div>
-<div class="line"><a name="l04372"></a><span class="lineno"> 4372</span> </div>
-<div class="line"><a name="l04373"></a><span class="lineno"> 4373</span> <span class="comment">// For each range extract proper: obj, sky, wave spectra</span></div>
-<div class="line"><a name="l04374"></a><span class="lineno"> 4374</span> <span class="keywordflow">for</span> (i=0;i<NBOUND+1;i++) {</div>
-<div class="line"><a name="l04375"></a><span class="lineno"> 4375</span> <span class="keywordflow">if</span> (cpl_array_get_int(do_hk,i,&status) > 0) {</div>
-<div class="line"><a name="l04376"></a><span class="lineno"> 4376</span> </div>
-<div class="line"><a name="l04377"></a><span class="lineno"> 4377</span> </div>
-<div class="line"><a name="l04378"></a><span class="lineno"> 4378</span> <span class="keywordflow">switch</span>(i) {</div>
-<div class="line"><a name="l04379"></a><span class="lineno"> 4379</span> </div>
-<div class="line"><a name="l04380"></a><span class="lineno"> 4380</span> </div>
-<div class="line"><a name="l04381"></a><span class="lineno"> 4381</span> <span class="keywordflow">case</span> 0:</div>
-<div class="line"><a name="l04382"></a><span class="lineno"> 4382</span> ck0_nomsg(sinfo_get_obj_sky_wav_sub(*int_obj,*int_sky,lambda,lr41,wtol,</div>
-<div class="line"><a name="l04383"></a><span class="lineno"> 4383</span> &obj_lr,&sky_lr,&wav_lr));</div>
-<div class="line"><a name="l04384"></a><span class="lineno"> 4384</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l04385"></a><span class="lineno"> 4385</span> </div>
-<div class="line"><a name="l04386"></a><span class="lineno"> 4386</span> <span class="keywordflow">case</span> 1:</div>
-<div class="line"><a name="l04387"></a><span class="lineno"> 4387</span> ck0_nomsg(sinfo_get_obj_sky_wav_sub(*int_obj,*int_sky,lambda,lr52,wtol,</div>
-<div class="line"><a name="l04388"></a><span class="lineno"> 4388</span> &obj_lr,&sky_lr,&wav_lr));</div>
-<div class="line"><a name="l04389"></a><span class="lineno"> 4389</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l04390"></a><span class="lineno"> 4390</span> </div>
-<div class="line"><a name="l04391"></a><span class="lineno"> 4391</span> <span class="keywordflow">case</span> 2:</div>
-<div class="line"><a name="l04392"></a><span class="lineno"> 4392</span> ck0_nomsg(sinfo_get_obj_sky_wav_sub(*int_obj,*int_sky,lambda,lr63,wtol,</div>
-<div class="line"><a name="l04393"></a><span class="lineno"> 4393</span> &obj_lr,&sky_lr,&wav_lr));</div>
-<div class="line"><a name="l04394"></a><span class="lineno"> 4394</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l04395"></a><span class="lineno"> 4395</span> </div>
-<div class="line"><a name="l04396"></a><span class="lineno"> 4396</span> <span class="keywordflow">case</span> 3:</div>
-<div class="line"><a name="l04397"></a><span class="lineno"> 4397</span> ck0_nomsg(sinfo_get_obj_sky_wav_sub(*int_obj,*int_sky,lambda,lr74,wtol,</div>
-<div class="line"><a name="l04398"></a><span class="lineno"> 4398</span> &obj_lr,&sky_lr,&wav_lr));</div>
-<div class="line"><a name="l04399"></a><span class="lineno"> 4399</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l04400"></a><span class="lineno"> 4400</span> </div>
-<div class="line"><a name="l04401"></a><span class="lineno"> 4401</span> <span class="keywordflow">case</span> 4:</div>
-<div class="line"><a name="l04402"></a><span class="lineno"> 4402</span> ck0_nomsg(sinfo_get_obj_sky_wav_sub(*int_obj,*int_sky,lambda,lr02,wtol,</div>
-<div class="line"><a name="l04403"></a><span class="lineno"> 4403</span> &obj_lr,&sky_lr,&wav_lr));</div>
-<div class="line"><a name="l04404"></a><span class="lineno"> 4404</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l04405"></a><span class="lineno"> 4405</span> </div>
-<div class="line"><a name="l04406"></a><span class="lineno"> 4406</span> <span class="keywordflow">case</span> 5:</div>
-<div class="line"><a name="l04407"></a><span class="lineno"> 4407</span> ck0_nomsg(sinfo_get_obj_sky_wav_sub(*int_obj,*int_sky,lambda,lr85,wtol,</div>
-<div class="line"><a name="l04408"></a><span class="lineno"> 4408</span> &obj_lr,&sky_lr,&wav_lr));</div>
-<div class="line"><a name="l04409"></a><span class="lineno"> 4409</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l04410"></a><span class="lineno"> 4410</span> <span class="keywordflow">case</span> 6:</div>
-<div class="line"><a name="l04411"></a><span class="lineno"> 4411</span> ck0_nomsg(sinfo_get_obj_sky_wav_sub(*int_obj,*int_sky,lambda,lr20,wtol,</div>
-<div class="line"><a name="l04412"></a><span class="lineno"> 4412</span> &obj_lr,&sky_lr,&wav_lr));</div>
-<div class="line"><a name="l04413"></a><span class="lineno"> 4413</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l04414"></a><span class="lineno"> 4414</span> <span class="keywordflow">case</span> 7:</div>
-<div class="line"><a name="l04415"></a><span class="lineno"> 4415</span> ck0_nomsg(sinfo_get_obj_sky_wav_sub(*int_obj,*int_sky,lambda,lr31,wtol,</div>
-<div class="line"><a name="l04416"></a><span class="lineno"> 4416</span> &obj_lr,&sky_lr,&wav_lr));</div>
-<div class="line"><a name="l04417"></a><span class="lineno"> 4417</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l04418"></a><span class="lineno"> 4418</span> <span class="keywordflow">case</span> 8:</div>
-<div class="line"><a name="l04419"></a><span class="lineno"> 4419</span> ck0_nomsg(sinfo_get_obj_sky_wav_sub(*int_obj,*int_sky,lambda,lr42,wtol,</div>
-<div class="line"><a name="l04420"></a><span class="lineno"> 4420</span> &obj_lr,&sky_lr,&wav_lr));</div>
-<div class="line"><a name="l04421"></a><span class="lineno"> 4421</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l04422"></a><span class="lineno"> 4422</span> <span class="keywordflow">case</span> 9:</div>
-<div class="line"><a name="l04423"></a><span class="lineno"> 4423</span> ck0_nomsg(sinfo_get_obj_sky_wav_sub(*int_obj,*int_sky,lambda,lr53,wtol,</div>
-<div class="line"><a name="l04424"></a><span class="lineno"> 4424</span> &obj_lr,&sky_lr,&wav_lr));</div>
-<div class="line"><a name="l04425"></a><span class="lineno"> 4425</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l04426"></a><span class="lineno"> 4426</span> <span class="keywordflow">case</span> 10:</div>
-<div class="line"><a name="l04427"></a><span class="lineno"> 4427</span> ck0_nomsg(sinfo_get_obj_sky_wav_sub(*int_obj,*int_sky,lambda,lr64,wtol,</div>
-<div class="line"><a name="l04428"></a><span class="lineno"> 4428</span> &obj_lr,&sky_lr,&wav_lr));</div>
-<div class="line"><a name="l04429"></a><span class="lineno"> 4429</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l04430"></a><span class="lineno"> 4430</span> <span class="keywordflow">case</span> 11:</div>
-<div class="line"><a name="l04431"></a><span class="lineno"> 4431</span> ck0_nomsg(sinfo_get_obj_sky_wav_sub(*int_obj,*int_sky,lambda,lr75,wtol,</div>
-<div class="line"><a name="l04432"></a><span class="lineno"> 4432</span> &obj_lr,&sky_lr,&wav_lr));</div>
-<div class="line"><a name="l04433"></a><span class="lineno"> 4433</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l04434"></a><span class="lineno"> 4434</span> <span class="keywordflow">case</span> 12:</div>
-<div class="line"><a name="l04435"></a><span class="lineno"> 4435</span> ck0_nomsg(sinfo_get_obj_sky_wav_sub(*int_obj,*int_sky,lambda,lr86,wtol,</div>
-<div class="line"><a name="l04436"></a><span class="lineno"> 4436</span> &obj_lr,&sky_lr,&wav_lr));</div>
-<div class="line"><a name="l04437"></a><span class="lineno"> 4437</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l04438"></a><span class="lineno"> 4438</span> <span class="keywordflow">case</span> 13:</div>
-<div class="line"><a name="l04439"></a><span class="lineno"> 4439</span> ck0_nomsg(sinfo_get_obj_sky_wav_sub(*int_obj,*int_sky,lambda,lr97,wtol,</div>
-<div class="line"><a name="l04440"></a><span class="lineno"> 4440</span> &obj_lr,&sky_lr,&wav_lr));</div>
-<div class="line"><a name="l04441"></a><span class="lineno"> 4441</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l04442"></a><span class="lineno"> 4442</span> <span class="keywordflow">case</span> 14:</div>
-<div class="line"><a name="l04443"></a><span class="lineno"> 4443</span> ck0_nomsg(sinfo_get_obj_sky_wav_sub(*int_obj,*int_sky,lambda,lr00,</div>
-<div class="line"><a name="l04444"></a><span class="lineno"> 4444</span> wtol,&obj_lr,&sky_lr,&wav_lr));</div>
-<div class="line"><a name="l04445"></a><span class="lineno"> 4445</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l04446"></a><span class="lineno"> 4446</span> <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l04447"></a><span class="lineno"> 4447</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"case not supported"</span>);</div>
-<div class="line"><a name="l04448"></a><span class="lineno"> 4448</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l04449"></a><span class="lineno"> 4449</span> }</div>
-<div class="line"><a name="l04450"></a><span class="lineno"> 4450</span> <span class="keywordflow">if</span>(sky_lr == NULL || obj_lr == NULL || wav_lr == NULL) {</div>
-<div class="line"><a name="l04451"></a><span class="lineno"> 4451</span> finite_pix_i=0;</div>
-<div class="line"><a name="l04452"></a><span class="lineno"> 4452</span> sinfo_msg(<span class="stringliteral">"no good pix left"</span>);</div>
-<div class="line"><a name="l04453"></a><span class="lineno"> 4453</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04454"></a><span class="lineno"> 4454</span> <span class="comment">//AMO: the following 2 seems to be critical for robustness</span></div>
-<div class="line"><a name="l04455"></a><span class="lineno"> 4455</span> <span class="comment">//check_nomsg(cpl_table_save(sky_lr,NULL,NULL,"out_skylr0.fits",</span></div>
-<div class="line"><a name="l04456"></a><span class="lineno"> 4456</span> <span class="comment">// CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04457"></a><span class="lineno"> 4457</span> <span class="comment">//check_nomsg(cpl_table_save(obj_lr,NULL,NULL,"out_objlr0.fits",</span></div>
-<div class="line"><a name="l04458"></a><span class="lineno"> 4458</span> <span class="comment">// CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04459"></a><span class="lineno"> 4459</span> <span class="comment">//check_nomsg(cpl_table_save(wav_lr,NULL,NULL,"out_wavlr0.fits",</span></div>
-<div class="line"><a name="l04460"></a><span class="lineno"> 4460</span> <span class="comment">// CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04461"></a><span class="lineno"> 4461</span> </div>
-<div class="line"><a name="l04462"></a><span class="lineno"> 4462</span> </div>
-<div class="line"><a name="l04463"></a><span class="lineno"> 4463</span> </div>
-<div class="line"><a name="l04464"></a><span class="lineno"> 4464</span> check_nomsg(finite_pix_i=sinfo_table_sky_obj_flag_nan(&sky_lr,</div>
-<div class="line"><a name="l04465"></a><span class="lineno"> 4465</span> &obj_lr,</div>
-<div class="line"><a name="l04466"></a><span class="lineno"> 4466</span> &wav_lr));</div>
-<div class="line"><a name="l04467"></a><span class="lineno"> 4467</span> </div>
-<div class="line"><a name="l04468"></a><span class="lineno"> 4468</span> </div>
-<div class="line"><a name="l04469"></a><span class="lineno"> 4469</span> }</div>
-<div class="line"><a name="l04470"></a><span class="lineno"> 4470</span> </div>
-<div class="line"><a name="l04471"></a><span class="lineno"> 4471</span> </div>
-<div class="line"><a name="l04472"></a><span class="lineno"> 4472</span> <span class="keywordflow">if</span> (finite_pix_i > npixw) {</div>
-<div class="line"><a name="l04473"></a><span class="lineno"> 4473</span> <span class="comment">// identify sky lines</span></div>
-<div class="line"><a name="l04474"></a><span class="lineno"> 4474</span> <span class="comment">//sinfo_msg("finite_pix_i=%d",finite_pix_i);</span></div>
-<div class="line"><a name="l04475"></a><span class="lineno"> 4475</span> check_nomsg(cpl_table_erase_invalid(obj_lr));</div>
-<div class="line"><a name="l04476"></a><span class="lineno"> 4476</span> check_nomsg(cpl_table_erase_invalid(sky_lr));</div>
-<div class="line"><a name="l04477"></a><span class="lineno"> 4477</span> check_nomsg(cpl_table_erase_invalid(wav_lr));</div>
-<div class="line"><a name="l04478"></a><span class="lineno"> 4478</span> </div>
-<div class="line"><a name="l04479"></a><span class="lineno"> 4479</span> </div>
-<div class="line"><a name="l04480"></a><span class="lineno"> 4480</span> check_nomsg(sky_med=cpl_table_get_column_median(sky_lr,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l04481"></a><span class="lineno"> 4481</span> check_nomsg(sky_sdv=cpl_table_get_column_stdev(sky_lr,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l04482"></a><span class="lineno"> 4482</span> check_nomsg(cpl_table_select_all(sky_lr));</div>
-<div class="line"><a name="l04483"></a><span class="lineno"> 4483</span> sky_thresh=sky_med+sky_sdv;</div>
-<div class="line"><a name="l04484"></a><span class="lineno"> 4484</span> <span class="comment">//sinfo_msg("sky_thresh=%f",sky_thresh);</span></div>
-<div class="line"><a name="l04485"></a><span class="lineno"> 4485</span> check_nomsg(xxx1_i=cpl_table_and_selected_double(sky_lr,<span class="stringliteral">"INT"</span>,</div>
-<div class="line"><a name="l04486"></a><span class="lineno"> 4486</span> CPL_GREATER_THAN,sky_thresh));</div>
-<div class="line"><a name="l04487"></a><span class="lineno"> 4487</span> check_nomsg(xxx1 = cpl_table_extract_selected(sky_lr));</div>
-<div class="line"><a name="l04488"></a><span class="lineno"> 4488</span> check_nomsg(cpl_table_select_all(sky_lr));</div>
-<div class="line"><a name="l04489"></a><span class="lineno"> 4489</span> </div>
-<div class="line"><a name="l04490"></a><span class="lineno"> 4490</span> <span class="keywordflow">if</span> (xxx1_i > 0) {</div>
-<div class="line"><a name="l04491"></a><span class="lineno"> 4491</span> <span class="comment">//separate line and continuum regions</span></div>
-<div class="line"><a name="l04492"></a><span class="lineno"> 4492</span> <span class="comment">//by convolving with a hat region of large as a line</span></div>
-<div class="line"><a name="l04493"></a><span class="lineno"> 4493</span> <span class="comment">//sinfo_msg("xxx1_i=%d",xxx1_i);</span></div>
-<div class="line"><a name="l04494"></a><span class="lineno"> 4494</span> check_nomsg(xxx2 = cpl_table_duplicate(sky_lr));</div>
-<div class="line"><a name="l04495"></a><span class="lineno"> 4495</span> <span class="comment">//check_nomsg(cpl_table_save(sky_lr,NULL,NULL,</span></div>
-<div class="line"><a name="l04496"></a><span class="lineno"> 4496</span> <span class="comment">// "out_skylr.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04497"></a><span class="lineno"> 4497</span> <span class="comment">//check_nomsg(cpl_table_save(obj_lr,NULL,NULL,</span></div>
-<div class="line"><a name="l04498"></a><span class="lineno"> 4498</span> <span class="comment">// "out_objlr.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04499"></a><span class="lineno"> 4499</span> <span class="comment">//check_nomsg(cpl_table_save(xxx2,NULL,NULL,</span></div>
-<div class="line"><a name="l04500"></a><span class="lineno"> 4500</span> <span class="comment">// "out_xxx2_0.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04501"></a><span class="lineno"> 4501</span> ck0_nomsg(sinfo_table_threshold(&xxx2,<span class="stringliteral">"INT"</span>,sky_thresh,</div>
-<div class="line"><a name="l04502"></a><span class="lineno"> 4502</span> sky_thresh,0.,10.));</div>
-<div class="line"><a name="l04503"></a><span class="lineno"> 4503</span> <span class="comment">//check_nomsg(cpl_table_save(xxx2,NULL,NULL,</span></div>
-<div class="line"><a name="l04504"></a><span class="lineno"> 4504</span> <span class="comment">// "out_xxx2_1.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04505"></a><span class="lineno"> 4505</span> </div>
-<div class="line"><a name="l04506"></a><span class="lineno"> 4506</span> </div>
-<div class="line"><a name="l04507"></a><span class="lineno"> 4507</span> <span class="comment">/* TODO</span></div>
-<div class="line"><a name="l04508"></a><span class="lineno"> 4508</span> <span class="comment"> xxx2[xxx1] = 10.;</span></div>
-<div class="line"><a name="l04509"></a><span class="lineno"> 4509</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l04510"></a><span class="lineno"> 4510</span> <span class="comment">//sinfo_msg("npixw/2=%d",npixw);</span></div>
-<div class="line"><a name="l04511"></a><span class="lineno"> 4511</span> check_nomsg(sinfo_convolve_kernel(&xxx2,npixw/2));</div>
-<div class="line"><a name="l04512"></a><span class="lineno"> 4512</span> <span class="comment">//check_nomsg(cpl_table_save(xxx2,NULL,NULL,</span></div>
-<div class="line"><a name="l04513"></a><span class="lineno"> 4513</span> <span class="comment">// "out_xxx2_2.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04514"></a><span class="lineno"> 4514</span> </div>
-<div class="line"><a name="l04515"></a><span class="lineno"> 4515</span> <span class="comment">// get line_regions</span></div>
-<div class="line"><a name="l04516"></a><span class="lineno"> 4516</span> check_nomsg(line_i=cpl_table_and_selected_double(xxx2,<span class="stringliteral">"CNV"</span>,</div>
-<div class="line"><a name="l04517"></a><span class="lineno"> 4517</span> CPL_GREATER_THAN,0));</div>
-<div class="line"><a name="l04518"></a><span class="lineno"> 4518</span> </div>
-<div class="line"><a name="l04519"></a><span class="lineno"> 4519</span> check_nomsg(line_regions=cpl_table_extract_selected(xxx2));</div>
-<div class="line"><a name="l04520"></a><span class="lineno"> 4520</span> </div>
-<div class="line"><a name="l04521"></a><span class="lineno"> 4521</span> <span class="comment">//check_nomsg(cpl_table_save(line_regions,NULL,NULL,</span></div>
-<div class="line"><a name="l04522"></a><span class="lineno"> 4522</span> <span class="comment">//"out_line_regions.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04523"></a><span class="lineno"> 4523</span> </div>
-<div class="line"><a name="l04524"></a><span class="lineno"> 4524</span> check_nomsg(cpl_table_erase_column(line_regions,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l04525"></a><span class="lineno"> 4525</span> check_nomsg(cpl_table_erase_column(line_regions,<span class="stringliteral">"CNV"</span>));</div>
-<div class="line"><a name="l04526"></a><span class="lineno"> 4526</span> </div>
-<div class="line"><a name="l04527"></a><span class="lineno"> 4527</span> check_nomsg(cpl_table_select_all(xxx2));</div>
-<div class="line"><a name="l04528"></a><span class="lineno"> 4528</span> </div>
-<div class="line"><a name="l04529"></a><span class="lineno"> 4529</span> <span class="comment">// get cont_regions</span></div>
-<div class="line"><a name="l04530"></a><span class="lineno"> 4530</span> check_nomsg(cont_i=cpl_table_and_selected_double(xxx2,<span class="stringliteral">"CNV"</span>,</div>
-<div class="line"><a name="l04531"></a><span class="lineno"> 4531</span> CPL_EQUAL_TO,0));</div>
-<div class="line"><a name="l04532"></a><span class="lineno"> 4532</span> check_nomsg(cont_regions=cpl_table_extract_selected(xxx2));</div>
-<div class="line"><a name="l04533"></a><span class="lineno"> 4533</span> </div>
-<div class="line"><a name="l04534"></a><span class="lineno"> 4534</span> <span class="comment">//check_nomsg(cpl_table_save(line_regions,NULL,NULL,</span></div>
-<div class="line"><a name="l04535"></a><span class="lineno"> 4535</span> <span class="comment">//"out_cont_regions.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04536"></a><span class="lineno"> 4536</span> </div>
-<div class="line"><a name="l04537"></a><span class="lineno"> 4537</span> check_nomsg(cpl_table_erase_column(cont_regions,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l04538"></a><span class="lineno"> 4538</span> check_nomsg(cpl_table_erase_column(cont_regions,<span class="stringliteral">"CNV"</span>));</div>
-<div class="line"><a name="l04539"></a><span class="lineno"> 4539</span> check_nomsg(cpl_table_select_all(xxx2));</div>
-<div class="line"><a name="l04540"></a><span class="lineno"> 4540</span> sinfo_free_table(&xxx2);</div>
-<div class="line"><a name="l04541"></a><span class="lineno"> 4541</span> </div>
-<div class="line"><a name="l04542"></a><span class="lineno"> 4542</span> </div>
-<div class="line"><a name="l04543"></a><span class="lineno"> 4543</span> <span class="keywordflow">if</span> (line_i >= 3 && cont_i >= 3) {</div>
-<div class="line"><a name="l04544"></a><span class="lineno"> 4544</span> <span class="comment">//If we have enough line points and continuum points</span></div>
-<div class="line"><a name="l04545"></a><span class="lineno"> 4545</span> <span class="comment">//sinfo_msg("line_i=%d cont_i=%d",line_i,cont_i);</span></div>
-<div class="line"><a name="l04546"></a><span class="lineno"> 4546</span> <span class="keywordflow">if</span> (i == 0) sinfo_msg(<span class="stringliteral">"optimising 4-1 transitions"</span>);</div>
-<div class="line"><a name="l04547"></a><span class="lineno"> 4547</span> <span class="keywordflow">if</span> (i == 1) sinfo_msg(<span class="stringliteral">"optimising 5-2 transitions"</span>);</div>
-<div class="line"><a name="l04548"></a><span class="lineno"> 4548</span> <span class="keywordflow">if</span> (i == 2) sinfo_msg(<span class="stringliteral">"optimising 6-3 transitions"</span>);</div>
-<div class="line"><a name="l04549"></a><span class="lineno"> 4549</span> <span class="keywordflow">if</span> (i == 3) sinfo_msg(<span class="stringliteral">"optimising 7-4 transitions"</span>);</div>
-<div class="line"><a name="l04550"></a><span class="lineno"> 4550</span> <span class="keywordflow">if</span> (i == 4) sinfo_msg(<span class="stringliteral">"optimising 0-2 transitions"</span>);</div>
-<div class="line"><a name="l04551"></a><span class="lineno"> 4551</span> <span class="keywordflow">if</span> (i == 5) sinfo_msg(<span class="stringliteral">"optimising 8-5 transitions"</span>);</div>
-<div class="line"><a name="l04552"></a><span class="lineno"> 4552</span> <span class="keywordflow">if</span> (i == 6) sinfo_msg(<span class="stringliteral">"optimising 2-0 transitions"</span>);</div>
-<div class="line"><a name="l04553"></a><span class="lineno"> 4553</span> <span class="keywordflow">if</span> (i == 7) sinfo_msg(<span class="stringliteral">"optimising 3-1 transitions"</span>);</div>
-<div class="line"><a name="l04554"></a><span class="lineno"> 4554</span> <span class="keywordflow">if</span> (i == 8) sinfo_msg(<span class="stringliteral">"optimising 4-2 transitions"</span>);</div>
-<div class="line"><a name="l04555"></a><span class="lineno"> 4555</span> <span class="keywordflow">if</span> (i == 9) sinfo_msg(<span class="stringliteral">"optimising 5-3 transitions"</span>);</div>
-<div class="line"><a name="l04556"></a><span class="lineno"> 4556</span> <span class="keywordflow">if</span> (i == 10) sinfo_msg(<span class="stringliteral">"optimising 6-4 transitions"</span>);</div>
-<div class="line"><a name="l04557"></a><span class="lineno"> 4557</span> <span class="keywordflow">if</span> (i == 11) sinfo_msg(<span class="stringliteral">"optimising 7-5 transitions"</span>);</div>
-<div class="line"><a name="l04558"></a><span class="lineno"> 4558</span> <span class="keywordflow">if</span> (i == 12) sinfo_msg(<span class="stringliteral">"optimising 8-6 transitions"</span>);</div>
-<div class="line"><a name="l04559"></a><span class="lineno"> 4559</span> <span class="keywordflow">if</span> (i == 13) sinfo_msg(<span class="stringliteral">"optimising 9-7 transitions"</span>);</div>
-<div class="line"><a name="l04560"></a><span class="lineno"> 4560</span> <span class="keywordflow">if</span> (i == 14) sinfo_msg(<span class="stringliteral">"optimising final bit"</span>);</div>
-<div class="line"><a name="l04561"></a><span class="lineno"> 4561</span> <span class="comment">// Fit the object profile='fline_res' of the sky line residuals</span></div>
-<div class="line"><a name="l04562"></a><span class="lineno"> 4562</span> <span class="comment">// left after proper scaled sky spectrum lines (and continua)</span></div>
-<div class="line"><a name="l04563"></a><span class="lineno"> 4563</span> <span class="comment">// subtraction. Then determines median and stdev to flag outliers</span></div>
-<div class="line"><a name="l04564"></a><span class="lineno"> 4564</span> </div>
-<div class="line"><a name="l04565"></a><span class="lineno"> 4565</span> <span class="comment">//Free memory for each loop</span></div>
-<div class="line"><a name="l04566"></a><span class="lineno"> 4566</span> sinfo_free_table(&obj_cont);</div>
-<div class="line"><a name="l04567"></a><span class="lineno"> 4567</span> sinfo_free_table(&sky_cont);</div>
-<div class="line"><a name="l04568"></a><span class="lineno"> 4568</span> sinfo_free_table(&sky_line);</div>
-<div class="line"><a name="l04569"></a><span class="lineno"> 4569</span> sinfo_free_table(&obj_line);</div>
-<div class="line"><a name="l04570"></a><span class="lineno"> 4570</span> <span class="comment">//Identify obj lines and continuum, same for sky</span></div>
-<div class="line"><a name="l04571"></a><span class="lineno"> 4571</span> cknull_nomsg(obj_line=sinfo_table_select_range(obj_lr,line_regions,</div>
-<div class="line"><a name="l04572"></a><span class="lineno"> 4572</span> wtol));</div>
-<div class="line"><a name="l04573"></a><span class="lineno"> 4573</span> </div>
-<div class="line"><a name="l04574"></a><span class="lineno"> 4574</span> </div>
-<div class="line"><a name="l04575"></a><span class="lineno"> 4575</span> cknull_nomsg(sky_line=sinfo_table_select_range(sky_lr,line_regions,</div>
-<div class="line"><a name="l04576"></a><span class="lineno"> 4576</span> wtol));</div>
-<div class="line"><a name="l04577"></a><span class="lineno"> 4577</span> cknull_nomsg(obj_cont=sinfo_table_select_range(obj_lr,cont_regions,</div>
-<div class="line"><a name="l04578"></a><span class="lineno"> 4578</span> wtol));</div>
-<div class="line"><a name="l04579"></a><span class="lineno"> 4579</span> cknull_nomsg(sky_cont=sinfo_table_select_range(sky_lr,cont_regions,</div>
-<div class="line"><a name="l04580"></a><span class="lineno"> 4580</span> wtol));</div>
-<div class="line"><a name="l04581"></a><span class="lineno"> 4581</span> </div>
-<div class="line"><a name="l04582"></a><span class="lineno"> 4582</span> <span class="comment">//Here was commented</span></div>
-<div class="line"><a name="l04583"></a><span class="lineno"> 4583</span> <span class="comment">//check_nomsg(cpl_table_save(line_regions,NULL,NULL,</span></div>
-<div class="line"><a name="l04584"></a><span class="lineno"> 4584</span> <span class="comment">// "out_line.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04585"></a><span class="lineno"> 4585</span> <span class="comment">//check_nomsg(cpl_table_save(cont_regions,NULL,NULL,</span></div>
-<div class="line"><a name="l04586"></a><span class="lineno"> 4586</span> <span class="comment">// "out_cont.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04587"></a><span class="lineno"> 4587</span> <span class="comment">//check_nomsg(cpl_table_save(obj_cont,NULL,NULL,</span></div>
-<div class="line"><a name="l04588"></a><span class="lineno"> 4588</span> <span class="comment">// "out_obj_cont.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04589"></a><span class="lineno"> 4589</span> <span class="comment">//check_nomsg(cpl_table_save(obj_line,NULL,NULL,</span></div>
-<div class="line"><a name="l04590"></a><span class="lineno"> 4590</span> <span class="comment">// "out_obj_line.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04591"></a><span class="lineno"> 4591</span> <span class="comment">//check_nomsg(cpl_table_save(sky_line,NULL,NULL,</span></div>
-<div class="line"><a name="l04592"></a><span class="lineno"> 4592</span> <span class="comment">// "out_sky_line.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04593"></a><span class="lineno"> 4593</span> <span class="comment">//check_nomsg(cpl_table_save(sky_cont,NULL,NULL,</span></div>
-<div class="line"><a name="l04594"></a><span class="lineno"> 4594</span> <span class="comment">// "out_sky_cont.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04595"></a><span class="lineno"> 4595</span> </div>
-<div class="line"><a name="l04596"></a><span class="lineno"> 4596</span> </div>
-<div class="line"><a name="l04597"></a><span class="lineno"> 4597</span> sinfo_free_table(&fline_res);</div>
-<div class="line"><a name="l04598"></a><span class="lineno"> 4598</span> <span class="comment">//FIXME: in some cases obj_cont is empty</span></div>
-<div class="line"><a name="l04599"></a><span class="lineno"> 4599</span> <span class="comment">//sinfo_msg("first line ratio determination");</span></div>
-<div class="line"><a name="l04600"></a><span class="lineno"> 4600</span> ck0_nomsg(sinfo_get_line_ratio(obj_line,obj_cont,</div>
-<div class="line"><a name="l04601"></a><span class="lineno"> 4601</span> sky_line,sky_cont,method,&r));</div>
-<div class="line"><a name="l04602"></a><span class="lineno"> 4602</span> sinfo_msg(<span class="stringliteral">"1st Line ratio %g"</span>,r);</div>
-<div class="line"><a name="l04603"></a><span class="lineno"> 4603</span> </div>
-<div class="line"><a name="l04604"></a><span class="lineno"> 4604</span> </div>
-<div class="line"><a name="l04605"></a><span class="lineno"> 4605</span> <span class="keywordflow">if</span>(cpl_table_get_nrow(obj_cont) > 0) {</div>
-<div class="line"><a name="l04606"></a><span class="lineno"> 4606</span> check_nomsg(fline_res=sinfo_table_interpol(obj_line,obj_cont,</div>
-<div class="line"><a name="l04607"></a><span class="lineno"> 4607</span> sky_line,sky_cont,</div>
-<div class="line"><a name="l04608"></a><span class="lineno"> 4608</span> r));</div>
-<div class="line"><a name="l04609"></a><span class="lineno"> 4609</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04610"></a><span class="lineno"> 4610</span> check_nomsg(fline_res=cpl_table_duplicate(obj_line));</div>
-<div class="line"><a name="l04611"></a><span class="lineno"> 4611</span> }</div>
-<div class="line"><a name="l04612"></a><span class="lineno"> 4612</span> </div>
-<div class="line"><a name="l04613"></a><span class="lineno"> 4613</span> <span class="comment">// check if there are outliers</span></div>
-<div class="line"><a name="l04614"></a><span class="lineno"> 4614</span> cpl_table_select_all(fline_res);</div>
-<div class="line"><a name="l04615"></a><span class="lineno"> 4615</span> check_nomsg(fmed = cpl_table_get_column_median(fline_res,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l04616"></a><span class="lineno"> 4616</span> check_nomsg(fsdv = cpl_table_get_column_stdev(fline_res,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l04617"></a><span class="lineno"> 4617</span> </div>
-<div class="line"><a name="l04618"></a><span class="lineno"> 4618</span> check_nomsg(cpl_table_duplicate_column(fline_res,<span class="stringliteral">"AINT"</span>,</div>
-<div class="line"><a name="l04619"></a><span class="lineno"> 4619</span> fline_res,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l04620"></a><span class="lineno"> 4620</span> check_nomsg(cpl_table_multiply_columns(fline_res,<span class="stringliteral">"AINT"</span>,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l04621"></a><span class="lineno"> 4621</span> check_nomsg(cpl_table_power_column(fline_res,<span class="stringliteral">"AINT"</span>,0.5));</div>
-<div class="line"><a name="l04622"></a><span class="lineno"> 4622</span> check_nomsg(fclip_i=cpl_table_and_selected_double(fline_res,<span class="stringliteral">"AINT"</span>,</div>
-<div class="line"><a name="l04623"></a><span class="lineno"> 4623</span> CPL_GREATER_THAN,</div>
-<div class="line"><a name="l04624"></a><span class="lineno"> 4624</span> fmed+3*fsdv));</div>
-<div class="line"><a name="l04625"></a><span class="lineno"> 4625</span> </div>
-<div class="line"><a name="l04626"></a><span class="lineno"> 4626</span> check_nomsg(cpl_table_select_all(fline_res));</div>
-<div class="line"><a name="l04627"></a><span class="lineno"> 4627</span> </div>
-<div class="line"><a name="l04628"></a><span class="lineno"> 4628</span> </div>
-<div class="line"><a name="l04629"></a><span class="lineno"> 4629</span> <span class="keywordflow">if</span> (fclip_i > 0) {</div>
-<div class="line"><a name="l04630"></a><span class="lineno"> 4630</span> <span class="comment">// do a k-sigma clip to select a better line region</span></div>
-<div class="line"><a name="l04631"></a><span class="lineno"> 4631</span> <span class="comment">//sinfo_msg("fclip_i=%d",fclip_i);</span></div>
-<div class="line"><a name="l04632"></a><span class="lineno"> 4632</span> <span class="comment">//Find again line_regions</span></div>
-<div class="line"><a name="l04633"></a><span class="lineno"> 4633</span> check_nomsg(line_i=cpl_table_and_selected_double(fline_res,</div>
-<div class="line"><a name="l04634"></a><span class="lineno"> 4634</span> <span class="stringliteral">"AINT"</span>,</div>
-<div class="line"><a name="l04635"></a><span class="lineno"> 4635</span> CPL_NOT_GREATER_THAN,</div>
-<div class="line"><a name="l04636"></a><span class="lineno"> 4636</span> fmed+3*fsdv));</div>
-<div class="line"><a name="l04637"></a><span class="lineno"> 4637</span> <span class="comment">// get new (better) line_regions</span></div>
-<div class="line"><a name="l04638"></a><span class="lineno"> 4638</span> sinfo_free_table(&line_regions);</div>
-<div class="line"><a name="l04639"></a><span class="lineno"> 4639</span> <span class="comment">//sinfo_msg("line_i=%d",line_i);</span></div>
-<div class="line"><a name="l04640"></a><span class="lineno"> 4640</span> check_nomsg(line_regions=cpl_table_extract_selected(fline_res));</div>
-<div class="line"><a name="l04641"></a><span class="lineno"> 4641</span> check_nomsg(cpl_table_erase_column(line_regions,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l04642"></a><span class="lineno"> 4642</span> check_nomsg(cpl_table_erase_column(line_regions,<span class="stringliteral">"AINT"</span>));</div>
-<div class="line"><a name="l04643"></a><span class="lineno"> 4643</span> </div>
-<div class="line"><a name="l04644"></a><span class="lineno"> 4644</span> sinfo_free_table(&obj_line);</div>
-<div class="line"><a name="l04645"></a><span class="lineno"> 4645</span> sinfo_free_table(&sky_line);</div>
-<div class="line"><a name="l04646"></a><span class="lineno"> 4646</span> </div>
-<div class="line"><a name="l04647"></a><span class="lineno"> 4647</span> <span class="comment">//check_nomsg(cpl_table_save(obj_lr,NULL,NULL,</span></div>
-<div class="line"><a name="l04648"></a><span class="lineno"> 4648</span> <span class="comment">// "out_obj_lr.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04649"></a><span class="lineno"> 4649</span> <span class="comment">//check_nomsg(cpl_table_save(line_regions,NULL,NULL,</span></div>
-<div class="line"><a name="l04650"></a><span class="lineno"> 4650</span> <span class="comment">// "out_line_regions.fits",</span></div>
-<div class="line"><a name="l04651"></a><span class="lineno"> 4651</span> <span class="comment">// CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04652"></a><span class="lineno"> 4652</span> </div>
-<div class="line"><a name="l04653"></a><span class="lineno"> 4653</span> </div>
-<div class="line"><a name="l04654"></a><span class="lineno"> 4654</span> </div>
-<div class="line"><a name="l04655"></a><span class="lineno"> 4655</span> </div>
-<div class="line"><a name="l04656"></a><span class="lineno"> 4656</span> <span class="comment">// The following 2 may return an error so we do not check and</span></div>
-<div class="line"><a name="l04657"></a><span class="lineno"> 4657</span> <span class="comment">// later we reset the error</span></div>
-<div class="line"><a name="l04658"></a><span class="lineno"> 4658</span> obj_line=sinfo_table_select_range(obj_lr,line_regions,wtol);</div>
-<div class="line"><a name="l04659"></a><span class="lineno"> 4659</span> sky_line=sinfo_table_select_range(sky_lr,line_regions,wtol);</div>
-<div class="line"><a name="l04660"></a><span class="lineno"> 4660</span> fline_i=cpl_table_get_nrow(line_regions);</div>
-<div class="line"><a name="l04661"></a><span class="lineno"> 4661</span> </div>
-<div class="line"><a name="l04662"></a><span class="lineno"> 4662</span> <span class="comment">//sinfo_msg("fline_i=%d",fline_i);</span></div>
-<div class="line"><a name="l04663"></a><span class="lineno"> 4663</span> <span class="keywordflow">if</span>(fline_i>=3) {</div>
-<div class="line"><a name="l04664"></a><span class="lineno"> 4664</span> <span class="comment">// repeat the determination of the line ratio</span></div>
-<div class="line"><a name="l04665"></a><span class="lineno"> 4665</span> <span class="comment">//sinfo_msg("second line ratio determination");</span></div>
-<div class="line"><a name="l04666"></a><span class="lineno"> 4666</span> ck0_nomsg(sinfo_get_line_ratio(obj_line,obj_cont,</div>
-<div class="line"><a name="l04667"></a><span class="lineno"> 4667</span> sky_line,sky_cont,method,&r));</div>
-<div class="line"><a name="l04668"></a><span class="lineno"> 4668</span> </div>
-<div class="line"><a name="l04669"></a><span class="lineno"> 4669</span> sinfo_msg(<span class="stringliteral">"2nd Line ratio %g"</span>,r);</div>
-<div class="line"><a name="l04670"></a><span class="lineno"> 4670</span> </div>
-<div class="line"><a name="l04671"></a><span class="lineno"> 4671</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04672"></a><span class="lineno"> 4672</span> cpl_error_reset();</div>
-<div class="line"><a name="l04673"></a><span class="lineno"> 4673</span> }</div>
-<div class="line"><a name="l04674"></a><span class="lineno"> 4674</span> </div>
-<div class="line"><a name="l04675"></a><span class="lineno"> 4675</span> sinfo_free_table(&sky_line);</div>
-<div class="line"><a name="l04676"></a><span class="lineno"> 4676</span> sinfo_free_table(&obj_line);</div>
-<div class="line"><a name="l04677"></a><span class="lineno"> 4677</span> }</div>
-<div class="line"><a name="l04678"></a><span class="lineno"> 4678</span> </div>
-<div class="line"><a name="l04679"></a><span class="lineno"> 4679</span> cpl_msg_info(cpl_func,<span class="stringliteral">"use %"</span> CPL_SIZE_FORMAT </div>
-<div class="line"><a name="l04680"></a><span class="lineno"> 4680</span> <span class="stringliteral">" pixels for line and %"</span> CPL_SIZE_FORMAT </div>
-<div class="line"><a name="l04681"></a><span class="lineno"> 4681</span> <span class="stringliteral">" for continuum estimation"</span>,</div>
-<div class="line"><a name="l04682"></a><span class="lineno"> 4682</span> cpl_table_get_nrow(line_regions),cpl_table_get_nrow(cont_regions));</div>
-<div class="line"><a name="l04683"></a><span class="lineno"> 4683</span> </div>
-<div class="line"><a name="l04684"></a><span class="lineno"> 4684</span> sinfo_msg(<span class="stringliteral">"OH spectrum scaling = %f "</span>,r);</div>
-<div class="line"><a name="l04685"></a><span class="lineno"> 4685</span> check_nomsg(cpl_array_set_double(rfit,i,r));</div>
-<div class="line"><a name="l04686"></a><span class="lineno"> 4686</span> ck0_nomsg(sinfo_table_set(&rscale0,wav_lr,r,wtol));</div>
-<div class="line"><a name="l04687"></a><span class="lineno"> 4687</span> </div>
-<div class="line"><a name="l04688"></a><span class="lineno"> 4688</span> } <span class="comment">/* end if line_i */</span></div>
-<div class="line"><a name="l04689"></a><span class="lineno"> 4689</span> } <span class="comment">/* end if xxx1_i */</span></div>
-<div class="line"><a name="l04690"></a><span class="lineno"> 4690</span> } <span class="comment">/* end finite_pix_i */</span></div>
-<div class="line"><a name="l04691"></a><span class="lineno"> 4691</span> </div>
-<div class="line"><a name="l04692"></a><span class="lineno"> 4692</span> }</div>
-<div class="line"><a name="l04693"></a><span class="lineno"> 4693</span> </div>
-<div class="line"><a name="l04694"></a><span class="lineno"> 4694</span> sinfo_free_table(&xxx1);</div>
-<div class="line"><a name="l04695"></a><span class="lineno"> 4695</span> sinfo_free_table(&xxx2);</div>
-<div class="line"><a name="l04696"></a><span class="lineno"> 4696</span> sinfo_free_table(&sky_lr);</div>
-<div class="line"><a name="l04697"></a><span class="lineno"> 4697</span> sinfo_free_table(&obj_lr);</div>
-<div class="line"><a name="l04698"></a><span class="lineno"> 4698</span> sinfo_free_table(&wav_lr);</div>
-<div class="line"><a name="l04699"></a><span class="lineno"> 4699</span> </div>
-<div class="line"><a name="l04700"></a><span class="lineno"> 4700</span> sinfo_free_table(&line_regions);</div>
-<div class="line"><a name="l04701"></a><span class="lineno"> 4701</span> sinfo_free_table(&cont_regions);</div>
-<div class="line"><a name="l04702"></a><span class="lineno"> 4702</span> </div>
-<div class="line"><a name="l04703"></a><span class="lineno"> 4703</span> } <span class="comment">/* end for loop on i */</span></div>
-<div class="line"><a name="l04704"></a><span class="lineno"> 4704</span> </div>
-<div class="line"><a name="l04705"></a><span class="lineno"> 4705</span> sinfo_free_array(&do_hk);</div>
-<div class="line"><a name="l04706"></a><span class="lineno"> 4706</span> sinfo_free_array(&rfit);</div>
-<div class="line"><a name="l04707"></a><span class="lineno"> 4707</span> </div>
-<div class="line"><a name="l04708"></a><span class="lineno"> 4708</span> <span class="comment">//sinfo_msg("n scale=%d",cpl_table_get_nrow(rscale0));</span></div>
-<div class="line"><a name="l04709"></a><span class="lineno"> 4709</span> <span class="comment">//check_nomsg(cpl_table_save(rscale0,NULL,NULL,</span></div>
-<div class="line"><a name="l04710"></a><span class="lineno"> 4710</span> <span class="comment">// "out_rscale0.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04711"></a><span class="lineno"> 4711</span> </div>
-<div class="line"><a name="l04712"></a><span class="lineno"> 4712</span> check_nomsg(cpl_table_select_all(rscale0));</div>
-<div class="line"><a name="l04713"></a><span class="lineno"> 4713</span> <span class="comment">/* TODO: here one has to implementa an interpol function</span></div>
-<div class="line"><a name="l04714"></a><span class="lineno"> 4714</span> <span class="comment"> check_nomsg(range0_i=cpl_table_and_selected_double(rscale0,"RATIO",</span></div>
-<div class="line"><a name="l04715"></a><span class="lineno"> 4715</span> <span class="comment"> CPL_NOT_EQUAL_TO,0));</span></div>
-<div class="line"><a name="l04716"></a><span class="lineno"> 4716</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l04717"></a><span class="lineno"> 4717</span> check_nomsg(*rscale = cpl_table_extract_selected(rscale0));</div>
-<div class="line"><a name="l04718"></a><span class="lineno"> 4718</span> sinfo_free_table(&rscale0);</div>
-<div class="line"><a name="l04719"></a><span class="lineno"> 4719</span> </div>
-<div class="line"><a name="l04720"></a><span class="lineno"> 4720</span> </div>
-<div class="line"><a name="l04721"></a><span class="lineno"> 4721</span> check_nomsg(rat_sky=cpl_table_duplicate(*int_sky));</div>
-<div class="line"><a name="l04722"></a><span class="lineno"> 4722</span> check_nomsg(cpl_table_duplicate_column(rat_sky,<span class="stringliteral">"RATIO"</span>,*rscale,<span class="stringliteral">"RATIO"</span>));</div>
-<div class="line"><a name="l04723"></a><span class="lineno"> 4723</span> check_nomsg(cpl_table_duplicate_column(*int_obj,<span class="stringliteral">"COR_FCT_VIB"</span>,</div>
-<div class="line"><a name="l04724"></a><span class="lineno"> 4724</span> *rscale,<span class="stringliteral">"RATIO"</span>));</div>
-<div class="line"><a name="l04725"></a><span class="lineno"> 4725</span> <span class="comment">//check_nomsg(cpl_table_save(rat_sky,NULL,NULL,</span></div>
-<div class="line"><a name="l04726"></a><span class="lineno"> 4726</span> <span class="comment">// "rat_sky0.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04727"></a><span class="lineno"> 4727</span> check_nomsg(cpl_table_multiply_columns(rat_sky,<span class="stringliteral">"INT"</span>,<span class="stringliteral">"RATIO"</span>));</div>
-<div class="line"><a name="l04728"></a><span class="lineno"> 4728</span> </div>
-<div class="line"><a name="l04729"></a><span class="lineno"> 4729</span> </div>
-<div class="line"><a name="l04730"></a><span class="lineno"> 4730</span> <span class="comment">//check_nomsg(cpl_table_save(*int_obj,NULL,NULL,</span></div>
-<div class="line"><a name="l04731"></a><span class="lineno"> 4731</span> <span class="comment">// "out_obj0.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04732"></a><span class="lineno"> 4732</span> <span class="comment">//check_nomsg(cpl_table_save(*int_sky,NULL,NULL,</span></div>
-<div class="line"><a name="l04733"></a><span class="lineno"> 4733</span> <span class="comment">// "out_sky0.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04734"></a><span class="lineno"> 4734</span> </div>
-<div class="line"><a name="l04735"></a><span class="lineno"> 4735</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l04736"></a><span class="lineno"> 4736</span> <span class="comment"> check_nomsg(cpl_table_duplicate_column(*int_obj,"INTC",*int_obj,"INT"));</span></div>
-<div class="line"><a name="l04737"></a><span class="lineno"> 4737</span> <span class="comment"> check_nomsg(cpl_table_duplicate_column(*int_obj,"SKYC",*int_sky,"INTC"));</span></div>
-<div class="line"><a name="l04738"></a><span class="lineno"> 4738</span> <span class="comment"> check_nomsg(cpl_table_subtract_columns(*int_obj,"INTC","SKYC"));</span></div>
-<div class="line"><a name="l04739"></a><span class="lineno"> 4739</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l04740"></a><span class="lineno"> 4740</span> </div>
-<div class="line"><a name="l04741"></a><span class="lineno"> 4741</span> <span class="comment">// do simple rotational correction</span></div>
-<div class="line"><a name="l04742"></a><span class="lineno"> 4742</span> <span class="keywordflow">if</span> (do_rot == 1) {</div>
-<div class="line"><a name="l04743"></a><span class="lineno"> 4743</span> </div>
-<div class="line"><a name="l04744"></a><span class="lineno"> 4744</span> <span class="comment">//finite_pix = where(finite(int_sky) && finite(int_obj),finite_pix_i);</span></div>
-<div class="line"><a name="l04745"></a><span class="lineno"> 4745</span> check_nomsg(min_lrange=cpl_table_get_column_min(lrange,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l04746"></a><span class="lineno"> 4746</span> check_nomsg(max_lrange=cpl_table_get_column_max(lrange,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l04747"></a><span class="lineno"> 4747</span> <span class="comment">//sinfo_msg("min_lrange=%g max_lrange=%g",min_lrange,max_lrange);</span></div>
-<div class="line"><a name="l04748"></a><span class="lineno"> 4748</span> <span class="comment">//check_nomsg(finite_pix_i=sinfo_table_sky_obj_flag_nan(&rat_sky,</span></div>
-<div class="line"><a name="l04749"></a><span class="lineno"> 4749</span> <span class="comment">// int_obj,</span></div>
-<div class="line"><a name="l04750"></a><span class="lineno"> 4750</span> <span class="comment">// &lambda));</span></div>
-<div class="line"><a name="l04751"></a><span class="lineno"> 4751</span> check_nomsg(finite_pix_i=sinfo_table_sky_obj_flag_nan(int_sky,</div>
-<div class="line"><a name="l04752"></a><span class="lineno"> 4752</span> int_obj,</div>
-<div class="line"><a name="l04753"></a><span class="lineno"> 4753</span> &lambda));</div>
-<div class="line"><a name="l04754"></a><span class="lineno"> 4754</span> </div>
-<div class="line"><a name="l04755"></a><span class="lineno"> 4755</span> </div>
-<div class="line"><a name="l04756"></a><span class="lineno"> 4756</span> check_nomsg(finite_pix=cpl_table_duplicate(lambda));</div>
-<div class="line"><a name="l04757"></a><span class="lineno"> 4757</span> <span class="comment">//TODO: lambda invalid values need to be reset to valid (?)</span></div>
-<div class="line"><a name="l04758"></a><span class="lineno"> 4758</span> </div>
-<div class="line"><a name="l04759"></a><span class="lineno"> 4759</span> check_nomsg(cpl_table_erase_invalid(finite_pix));</div>
-<div class="line"><a name="l04760"></a><span class="lineno"> 4760</span> </div>
-<div class="line"><a name="l04761"></a><span class="lineno"> 4761</span> </div>
-<div class="line"><a name="l04762"></a><span class="lineno"> 4762</span> <span class="keywordflow">if</span> (finite_pix_i > npixw) {</div>
-<div class="line"><a name="l04763"></a><span class="lineno"> 4763</span> </div>
-<div class="line"><a name="l04764"></a><span class="lineno"> 4764</span> <span class="comment">//finite_pix = finite_pix[where(finite_pix > min(lrange) &&</span></div>
-<div class="line"><a name="l04765"></a><span class="lineno"> 4765</span> <span class="comment">// finite_pix < max(lrange))];</span></div>
-<div class="line"><a name="l04766"></a><span class="lineno"> 4766</span> </div>
-<div class="line"><a name="l04767"></a><span class="lineno"> 4767</span> check_nomsg(cpl_table_and_selected_double(finite_pix,<span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l04768"></a><span class="lineno"> 4768</span> CPL_GREATER_THAN,</div>
-<div class="line"><a name="l04769"></a><span class="lineno"> 4769</span> min_lrange));</div>
-<div class="line"><a name="l04770"></a><span class="lineno"> 4770</span> </div>
-<div class="line"><a name="l04771"></a><span class="lineno"> 4771</span> check_nomsg(cpl_table_and_selected_double(finite_pix,<span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l04772"></a><span class="lineno"> 4772</span> CPL_LESS_THAN,</div>
-<div class="line"><a name="l04773"></a><span class="lineno"> 4773</span> max_lrange));</div>
-<div class="line"><a name="l04774"></a><span class="lineno"> 4774</span> </div>
-<div class="line"><a name="l04775"></a><span class="lineno"> 4775</span> </div>
-<div class="line"><a name="l04776"></a><span class="lineno"> 4776</span> </div>
-<div class="line"><a name="l04777"></a><span class="lineno"> 4777</span> check_nomsg(tmp_tbl=cpl_table_extract_selected(finite_pix));</div>
-<div class="line"><a name="l04778"></a><span class="lineno"> 4778</span> sinfo_free_table(&finite_pix);</div>
-<div class="line"><a name="l04779"></a><span class="lineno"> 4779</span> check_nomsg(finite_pix=cpl_table_duplicate(tmp_tbl));</div>
-<div class="line"><a name="l04780"></a><span class="lineno"> 4780</span> sinfo_free_table(&tmp_tbl);</div>
-<div class="line"><a name="l04781"></a><span class="lineno"> 4781</span> sinfo_free_table(&sky_lr);</div>
-<div class="line"><a name="l04782"></a><span class="lineno"> 4782</span> sinfo_free_table(&obj_lr);</div>
-<div class="line"><a name="l04783"></a><span class="lineno"> 4783</span> sinfo_free_table(&wav_lr);</div>
-<div class="line"><a name="l04784"></a><span class="lineno"> 4784</span> </div>
-<div class="line"><a name="l04785"></a><span class="lineno"> 4785</span> </div>
-<div class="line"><a name="l04786"></a><span class="lineno"> 4786</span> cknull(sky_lr=sinfo_table_select_range(rat_sky,finite_pix,wtol),</div>
-<div class="line"><a name="l04787"></a><span class="lineno"> 4787</span> <span class="stringliteral">"extracting sky sub range"</span>);</div>
-<div class="line"><a name="l04788"></a><span class="lineno"> 4788</span> cknull(obj_lr=sinfo_table_select_range(*int_obj,finite_pix,wtol),</div>
-<div class="line"><a name="l04789"></a><span class="lineno"> 4789</span> <span class="stringliteral">"extracting obj sub range"</span>);</div>
-<div class="line"><a name="l04790"></a><span class="lineno"> 4790</span> cknull(wav_lr=sinfo_table_select_range(lambda,finite_pix,wtol),</div>
-<div class="line"><a name="l04791"></a><span class="lineno"> 4791</span> <span class="stringliteral">"extracting sky sub range"</span>);</div>
-<div class="line"><a name="l04792"></a><span class="lineno"> 4792</span> </div>
-<div class="line"><a name="l04793"></a><span class="lineno"> 4793</span> </div>
-<div class="line"><a name="l04794"></a><span class="lineno"> 4794</span> <span class="comment">//check_nomsg(cpl_table_save(rat_sky,NULL,NULL,</span></div>
-<div class="line"><a name="l04795"></a><span class="lineno"> 4795</span> <span class="comment">// "out_rat_sky.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04796"></a><span class="lineno"> 4796</span> <span class="comment">//check_nomsg(cpl_table_save(finite_pix,NULL,NULL,</span></div>
-<div class="line"><a name="l04797"></a><span class="lineno"> 4797</span> <span class="comment">// "out_finite_pix.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04798"></a><span class="lineno"> 4798</span> <span class="comment">//check_nomsg(cpl_table_save(sky_lr,NULL,NULL,</span></div>
-<div class="line"><a name="l04799"></a><span class="lineno"> 4799</span> <span class="comment">// "out_sky_lr.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04800"></a><span class="lineno"> 4800</span> <span class="comment">//check_nomsg(cpl_table_save(obj_lr,NULL,NULL,</span></div>
-<div class="line"><a name="l04801"></a><span class="lineno"> 4801</span> <span class="comment">// "out_obj_lr.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04802"></a><span class="lineno"> 4802</span> <span class="comment">//check_nomsg(cpl_table_save(wav_lr,NULL,NULL,</span></div>
-<div class="line"><a name="l04803"></a><span class="lineno"> 4803</span> <span class="comment">// "out_wav_lr.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04804"></a><span class="lineno"> 4804</span> </div>
-<div class="line"><a name="l04805"></a><span class="lineno"> 4805</span> <span class="comment">//The following may fail (sky_lr may be empty) so we do not check</span></div>
-<div class="line"><a name="l04806"></a><span class="lineno"> 4806</span> <span class="keywordflow">if</span>(1 == cpl_table_has_valid(sky_lr,<span class="stringliteral">"INT"</span>)) {</div>
-<div class="line"><a name="l04807"></a><span class="lineno"> 4807</span> check_nomsg(sky_med=cpl_table_get_column_median(sky_lr,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l04808"></a><span class="lineno"> 4808</span> check_nomsg(sky_sdv=cpl_table_get_column_stdev(sky_lr,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l04809"></a><span class="lineno"> 4809</span> sky_thresh=sky_med+sky_sdv;</div>
-<div class="line"><a name="l04810"></a><span class="lineno"> 4810</span> <span class="comment">//xxx1 = where(sky_lr > median(sky_lr)+stddev(sky_lr),xxx1_i);</span></div>
-<div class="line"><a name="l04811"></a><span class="lineno"> 4811</span> check_nomsg(xxx1_i=cpl_table_and_selected_double(sky_lr,<span class="stringliteral">"INT"</span>,</div>
-<div class="line"><a name="l04812"></a><span class="lineno"> 4812</span> CPL_GREATER_THAN,sky_thresh));</div>
-<div class="line"><a name="l04813"></a><span class="lineno"> 4813</span> check_nomsg(xxx1=cpl_table_extract_selected(sky_lr));</div>
-<div class="line"><a name="l04814"></a><span class="lineno"> 4814</span> check_nomsg(cpl_table_select_all(sky_lr));</div>
-<div class="line"><a name="l04815"></a><span class="lineno"> 4815</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04816"></a><span class="lineno"> 4816</span> xxx1_i=0;</div>
-<div class="line"><a name="l04817"></a><span class="lineno"> 4817</span> }</div>
-<div class="line"><a name="l04818"></a><span class="lineno"> 4818</span> <span class="keywordflow">if</span> (xxx1_i > 0) {</div>
-<div class="line"><a name="l04819"></a><span class="lineno"> 4819</span> sinfo_msg(<span class="stringliteral">"xxx1_i=%d"</span>,xxx1_i);</div>
-<div class="line"><a name="l04820"></a><span class="lineno"> 4820</span> </div>
-<div class="line"><a name="l04821"></a><span class="lineno"> 4821</span> sinfo_msg(<span class="stringliteral">"wav_lr wmin=%g wmax=%g"</span>,</div>
-<div class="line"><a name="l04822"></a><span class="lineno"> 4822</span> cpl_table_get_column_min(wav_lr,<span class="stringliteral">"WAVE"</span>),</div>
-<div class="line"><a name="l04823"></a><span class="lineno"> 4823</span> cpl_table_get_column_max(wav_lr,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l04824"></a><span class="lineno"> 4824</span> </div>
-<div class="line"><a name="l04825"></a><span class="lineno"> 4825</span> cknull_nomsg(llr_xxx1=sinfo_table_select_range(wav_lr,xxx1,wtol));</div>
-<div class="line"><a name="l04826"></a><span class="lineno"> 4826</span> <span class="comment">//check_nomsg(cpl_table_save(wav_lr,NULL,NULL,</span></div>
-<div class="line"><a name="l04827"></a><span class="lineno"> 4827</span> <span class="comment">// "out_llr_xxx1.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04828"></a><span class="lineno"> 4828</span> </div>
-<div class="line"><a name="l04829"></a><span class="lineno"> 4829</span> cknull(low_pos=sinfo_find_rot_waves(w_rot_low,npixw,wtol,llr_xxx1),</div>
-<div class="line"><a name="l04830"></a><span class="lineno"> 4830</span> <span class="stringliteral">"Determining low positions"</span>);</div>
-<div class="line"><a name="l04831"></a><span class="lineno"> 4831</span> </div>
-<div class="line"><a name="l04832"></a><span class="lineno"> 4832</span> </div>
-<div class="line"><a name="l04833"></a><span class="lineno"> 4833</span> check_nomsg(low_pos_i=cpl_table_get_nrow(low_pos));</div>
-<div class="line"><a name="l04834"></a><span class="lineno"> 4834</span> <span class="comment">//check_nomsg(cpl_table_dump(low_pos,0,low_pos_i,stdout));</span></div>
-<div class="line"><a name="l04835"></a><span class="lineno"> 4835</span> cknull(med_pos=sinfo_find_rot_waves(w_rot_med,npixw,wtol,llr_xxx1),</div>
-<div class="line"><a name="l04836"></a><span class="lineno"> 4836</span> <span class="stringliteral">"Determining med positions"</span>);</div>
-<div class="line"><a name="l04837"></a><span class="lineno"> 4837</span> check_nomsg(med_pos_i=cpl_table_get_nrow(med_pos));</div>
-<div class="line"><a name="l04838"></a><span class="lineno"> 4838</span> </div>
-<div class="line"><a name="l04839"></a><span class="lineno"> 4839</span> </div>
-<div class="line"><a name="l04840"></a><span class="lineno"> 4840</span> <span class="comment">//check_nomsg(cpl_table_dump(med_pos,0,med_pos_i,stdout));</span></div>
-<div class="line"><a name="l04841"></a><span class="lineno"> 4841</span> </div>
-<div class="line"><a name="l04842"></a><span class="lineno"> 4842</span> <span class="comment">//TODO:</span></div>
-<div class="line"><a name="l04843"></a><span class="lineno"> 4843</span> <span class="comment">//hipos = [0]</span></div>
-<div class="line"><a name="l04844"></a><span class="lineno"> 4844</span> <span class="comment">//for i=0,n_elements(xxx1)-1 do begin</span></div>
-<div class="line"><a name="l04845"></a><span class="lineno"> 4845</span> <span class="comment">// x1 = where(lowpos eq i,x1_i)</span></div>
-<div class="line"><a name="l04846"></a><span class="lineno"> 4846</span> <span class="comment">// x2 = where(medpos eq i,x2_i)</span></div>
-<div class="line"><a name="l04847"></a><span class="lineno"> 4847</span> <span class="comment">// if (x1_i eq 0 and x2_i eq 0) then hipos = [hipos,i]</span></div>
-<div class="line"><a name="l04848"></a><span class="lineno"> 4848</span> <span class="comment">//endfor</span></div>
-<div class="line"><a name="l04849"></a><span class="lineno"> 4849</span> <span class="comment">//hipos = hipos[1:n_elements(hipos)-1]</span></div>
-<div class="line"><a name="l04850"></a><span class="lineno"> 4850</span> <span class="comment">//TODO: hi_pos=sinfo_find_rot_waves(w_rot_hi,npixw,wtol,wav_lr);</span></div>
-<div class="line"><a name="l04851"></a><span class="lineno"> 4851</span> </div>
-<div class="line"><a name="l04852"></a><span class="lineno"> 4852</span> </div>
-<div class="line"><a name="l04853"></a><span class="lineno"> 4853</span> cknull(hi_pos=sinfo_table_extract_rest(xxx1,low_pos,med_pos,wtol),</div>
-<div class="line"><a name="l04854"></a><span class="lineno"> 4854</span> <span class="stringliteral">"determining hi position"</span>);</div>
-<div class="line"><a name="l04855"></a><span class="lineno"> 4855</span> check_nomsg(hi_pos_i=cpl_table_get_nrow(hi_pos));</div>
-<div class="line"><a name="l04856"></a><span class="lineno"> 4856</span> <span class="comment">//check_nomsg(cpl_table_dump(hi_pos,0,hi_pos_i,stdout));</span></div>
-<div class="line"><a name="l04857"></a><span class="lineno"> 4857</span> </div>
-<div class="line"><a name="l04858"></a><span class="lineno"> 4858</span> </div>
-<div class="line"><a name="l04859"></a><span class="lineno"> 4859</span> <span class="comment">//xxx2[xxx1] = 10.;</span></div>
-<div class="line"><a name="l04860"></a><span class="lineno"> 4860</span> check_nomsg(xxx2 = cpl_table_duplicate(sky_lr));</div>
-<div class="line"><a name="l04861"></a><span class="lineno"> 4861</span> check_nomsg(nrow=cpl_table_get_nrow(sky_lr));</div>
-<div class="line"><a name="l04862"></a><span class="lineno"> 4862</span> <span class="comment">//check_nomsg(cpl_table_save(xxx2,NULL,NULL,</span></div>
-<div class="line"><a name="l04863"></a><span class="lineno"> 4863</span> <span class="comment">// "out_xxx1.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04864"></a><span class="lineno"> 4864</span> <span class="comment">//check_nomsg(cpl_table_save(xxx2,NULL,NULL,</span></div>
-<div class="line"><a name="l04865"></a><span class="lineno"> 4865</span> <span class="comment">// "out_xxx2_0.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04866"></a><span class="lineno"> 4866</span> </div>
-<div class="line"><a name="l04867"></a><span class="lineno"> 4867</span> <span class="comment">// AMO: Why the following?</span></div>
-<div class="line"><a name="l04868"></a><span class="lineno"> 4868</span> <span class="comment">//check_nomsg(cpl_table_fill_column_window(xxx2,"INT",0,nrow,0));</span></div>
-<div class="line"><a name="l04869"></a><span class="lineno"> 4869</span> </div>
-<div class="line"><a name="l04870"></a><span class="lineno"> 4870</span> <span class="comment">//xxx2 = convol(xxx2,replicate(1,npixw),/edge_truncate,/center);</span></div>
-<div class="line"><a name="l04871"></a><span class="lineno"> 4871</span> <span class="comment">//cont_regions = where(xxx2 == 0,cont_i);</span></div>
-<div class="line"><a name="l04872"></a><span class="lineno"> 4872</span> ck0_nomsg(sinfo_table_threshold(&xxx2,<span class="stringliteral">"INT"</span>,sky_thresh,</div>
-<div class="line"><a name="l04873"></a><span class="lineno"> 4873</span> sky_thresh,0.,10.));</div>
-<div class="line"><a name="l04874"></a><span class="lineno"> 4874</span> sinfo_msg(<span class="stringliteral">"sky_thresh=%g %g %f"</span>,sky_thresh,sky_med,sky_sdv);</div>
-<div class="line"><a name="l04875"></a><span class="lineno"> 4875</span> <span class="comment">//check_nomsg(cpl_table_save(xxx2,NULL,NULL,</span></div>
-<div class="line"><a name="l04876"></a><span class="lineno"> 4876</span> <span class="comment">// "out_xxx2_1.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04877"></a><span class="lineno"> 4877</span> check_nomsg(sinfo_convolve_kernel(&xxx2,npixw/2));</div>
-<div class="line"><a name="l04878"></a><span class="lineno"> 4878</span> </div>
-<div class="line"><a name="l04879"></a><span class="lineno"> 4879</span> <span class="comment">//check_nomsg(cpl_table_save(xxx2,NULL,NULL,</span></div>
-<div class="line"><a name="l04880"></a><span class="lineno"> 4880</span> <span class="comment">// "out_xxx2_2.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04881"></a><span class="lineno"> 4881</span> check_nomsg(cont_i=cpl_table_and_selected_double(xxx2,<span class="stringliteral">"CNV"</span>,</div>
-<div class="line"><a name="l04882"></a><span class="lineno"> 4882</span> CPL_EQUAL_TO,0));</div>
-<div class="line"><a name="l04883"></a><span class="lineno"> 4883</span> check_nomsg(cont_regions=cpl_table_extract_selected(xxx2));</div>
-<div class="line"><a name="l04884"></a><span class="lineno"> 4884</span> </div>
-<div class="line"><a name="l04885"></a><span class="lineno"> 4885</span> sinfo_free_table(&xxx2);</div>
-<div class="line"><a name="l04886"></a><span class="lineno"> 4886</span> check_nomsg(cpl_table_erase_column(cont_regions,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l04887"></a><span class="lineno"> 4887</span> check_nomsg(cpl_table_erase_column(cont_regions,<span class="stringliteral">"CNV"</span>));</div>
-<div class="line"><a name="l04888"></a><span class="lineno"> 4888</span> </div>
-<div class="line"><a name="l04889"></a><span class="lineno"> 4889</span> check(low_pos_i=sinfo_get_sub_regions(sky_lr,xxx1,low_pos,wtol,</div>
-<div class="line"><a name="l04890"></a><span class="lineno"> 4890</span> npixw,&low_regions),<span class="stringliteral">"failed determining low regions"</span>);</div>
-<div class="line"><a name="l04891"></a><span class="lineno"> 4891</span> </div>
-<div class="line"><a name="l04892"></a><span class="lineno"> 4892</span> check(med_pos_i=sinfo_get_sub_regions(sky_lr,xxx1,med_pos,wtol,</div>
-<div class="line"><a name="l04893"></a><span class="lineno"> 4893</span> npixw,&med_regions),<span class="stringliteral">"failed determining med regions"</span>);</div>
-<div class="line"><a name="l04894"></a><span class="lineno"> 4894</span> </div>
-<div class="line"><a name="l04895"></a><span class="lineno"> 4895</span> </div>
-<div class="line"><a name="l04896"></a><span class="lineno"> 4896</span> check(hi_pos_i=sinfo_get_sub_regions(sky_lr,xxx1,hi_pos,wtol,</div>
-<div class="line"><a name="l04897"></a><span class="lineno"> 4897</span> npixw,&hi_regions),<span class="stringliteral">"failed determining hi regions"</span>);</div>
-<div class="line"><a name="l04898"></a><span class="lineno"> 4898</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l04899"></a><span class="lineno"> 4899</span> <span class="comment"> sinfo_msg("xxx1: wmin=%g wmax=%g",</span></div>
-<div class="line"><a name="l04900"></a><span class="lineno"> 4900</span> <span class="comment"> cpl_table_get_column_min(xxx1,"WAVE"),</span></div>
-<div class="line"><a name="l04901"></a><span class="lineno"> 4901</span> <span class="comment"> cpl_table_get_column_max(xxx1,"WAVE"));</span></div>
-<div class="line"><a name="l04902"></a><span class="lineno"> 4902</span> <span class="comment"></span></div>
-<div class="line"><a name="l04903"></a><span class="lineno"> 4903</span> <span class="comment"> sinfo_msg("low_pos: wmin=%g wmax=%g",</span></div>
-<div class="line"><a name="l04904"></a><span class="lineno"> 4904</span> <span class="comment"> cpl_table_get_column_min(low_pos,"WAVE"),</span></div>
-<div class="line"><a name="l04905"></a><span class="lineno"> 4905</span> <span class="comment"> cpl_table_get_column_max(low_pos,"WAVE"));</span></div>
-<div class="line"><a name="l04906"></a><span class="lineno"> 4906</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l04907"></a><span class="lineno"> 4907</span> sinfo_msg(<span class="stringliteral">"hi_pos_i : %d med_pos_i : %d low_pos_i : %d cont_i: %d"</span>,</div>
-<div class="line"><a name="l04908"></a><span class="lineno"> 4908</span> hi_pos_i, med_pos_i, low_pos_i, cont_i);</div>
-<div class="line"><a name="l04909"></a><span class="lineno"> 4909</span> </div>
-<div class="line"><a name="l04910"></a><span class="lineno"> 4910</span> </div>
-<div class="line"><a name="l04911"></a><span class="lineno"> 4911</span> <span class="keywordflow">if</span> (hi_pos_i >= 3 && med_pos_i >= 3 && low_pos_i >= 3 && cont_i >= 3) {</div>
-<div class="line"><a name="l04912"></a><span class="lineno"> 4912</span> </div>
-<div class="line"><a name="l04913"></a><span class="lineno"> 4913</span> <span class="comment">//compute line ratio for hi_regions</span></div>
-<div class="line"><a name="l04914"></a><span class="lineno"> 4914</span> ck0_nomsg(sinfo_compute_line_ratio(obj_lr, sky_lr,wtol, method,</div>
-<div class="line"><a name="l04915"></a><span class="lineno"> 4915</span> hi_regions,cont_regions,&rhi));</div>
-<div class="line"><a name="l04916"></a><span class="lineno"> 4916</span> sinfo_msg(<span class="stringliteral">"high rotational OH scaling %g"</span>,rhi);</div>
-<div class="line"><a name="l04917"></a><span class="lineno"> 4917</span> </div>
-<div class="line"><a name="l04918"></a><span class="lineno"> 4918</span> <span class="comment">//compute line ratio for med_regions</span></div>
-<div class="line"><a name="l04919"></a><span class="lineno"> 4919</span> ck0_nomsg(sinfo_compute_line_ratio(obj_lr, sky_lr,wtol, method,</div>
-<div class="line"><a name="l04920"></a><span class="lineno"> 4920</span> med_regions,cont_regions,&rmed));</div>
-<div class="line"><a name="l04921"></a><span class="lineno"> 4921</span> </div>
-<div class="line"><a name="l04922"></a><span class="lineno"> 4922</span> sinfo_msg(<span class="stringliteral">"P1(3.5) & R1(1.5) rotational OH scaling %g "</span>,rmed);</div>
-<div class="line"><a name="l04923"></a><span class="lineno"> 4923</span> </div>
-<div class="line"><a name="l04924"></a><span class="lineno"> 4924</span> <span class="comment">//compute line ratio for med_regions</span></div>
-<div class="line"><a name="l04925"></a><span class="lineno"> 4925</span> ck0_nomsg(sinfo_compute_line_ratio(obj_lr, sky_lr,wtol, method,</div>
-<div class="line"><a name="l04926"></a><span class="lineno"> 4926</span> low_regions,cont_regions,&rlow));</div>
-<div class="line"><a name="l04927"></a><span class="lineno"> 4927</span> sinfo_msg(<span class="stringliteral">"P1(2.5) & Q1(1.5) rotational OH scaling %g"</span>,rlow);</div>
-<div class="line"><a name="l04928"></a><span class="lineno"> 4928</span> </div>
-<div class="line"><a name="l04929"></a><span class="lineno"> 4929</span> cknull(low_scale=sinfo_find_rot_waves(w_rot_low,npixw,wtol,lambda),</div>
-<div class="line"><a name="l04930"></a><span class="lineno"> 4930</span> <span class="stringliteral">"Determining low scale"</span>);</div>
-<div class="line"><a name="l04931"></a><span class="lineno"> 4931</span> </div>
-<div class="line"><a name="l04932"></a><span class="lineno"> 4932</span> </div>
-<div class="line"><a name="l04933"></a><span class="lineno"> 4933</span> </div>
-<div class="line"><a name="l04934"></a><span class="lineno"> 4934</span> cknull(med_scale=sinfo_find_rot_waves(w_rot_low,npixw,wtol,lambda),</div>
-<div class="line"><a name="l04935"></a><span class="lineno"> 4935</span> <span class="stringliteral">"Determining low scale"</span>);</div>
-<div class="line"><a name="l04936"></a><span class="lineno"> 4936</span> check_nomsg(cpl_table_multiply_scalar(*rscale,<span class="stringliteral">"RATIO"</span>,rhi));</div>
-<div class="line"><a name="l04937"></a><span class="lineno"> 4937</span> ck0_nomsg(sinfo_table_fill_column_over_range(rscale,med_scale,</div>
-<div class="line"><a name="l04938"></a><span class="lineno"> 4938</span> <span class="stringliteral">"RATIO"</span>,rmed/rhi,wtol));</div>
-<div class="line"><a name="l04939"></a><span class="lineno"> 4939</span> ck0_nomsg(sinfo_table_fill_column_over_range(rscale,low_scale,</div>
-<div class="line"><a name="l04940"></a><span class="lineno"> 4940</span> <span class="stringliteral">"RATIO"</span>,rlow/rhi,wtol));</div>
-<div class="line"><a name="l04941"></a><span class="lineno"> 4941</span> </div>
-<div class="line"><a name="l04942"></a><span class="lineno"> 4942</span> }</div>
-<div class="line"><a name="l04943"></a><span class="lineno"> 4943</span> } <span class="comment">//xxx1_i > 0</span></div>
-<div class="line"><a name="l04944"></a><span class="lineno"> 4944</span> }<span class="comment">//finitepix > npixw</span></div>
-<div class="line"><a name="l04945"></a><span class="lineno"> 4945</span> }<span class="comment">//do_rot==1</span></div>
-<div class="line"><a name="l04946"></a><span class="lineno"> 4946</span> <span class="comment">//end of new rotational bit</span></div>
-<div class="line"><a name="l04947"></a><span class="lineno"> 4947</span> <span class="comment">//check_nomsg(cpl_table_save(*int_obj,NULL,NULL,</span></div>
-<div class="line"><a name="l04948"></a><span class="lineno"> 4948</span> <span class="comment">// "out_obj.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04949"></a><span class="lineno"> 4949</span> <span class="comment">//check_nomsg(cpl_table_save(*int_sky,NULL,NULL,</span></div>
-<div class="line"><a name="l04950"></a><span class="lineno"> 4950</span> <span class="comment">// "out_sky.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04951"></a><span class="lineno"> 4951</span> </div>
-<div class="line"><a name="l04952"></a><span class="lineno"> 4952</span> </div>
-<div class="line"><a name="l04953"></a><span class="lineno"> 4953</span> check_nomsg(cpl_table_duplicate_column(*int_sky,<span class="stringliteral">"INTC"</span>,*int_sky,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l04954"></a><span class="lineno"> 4954</span> <span class="comment">//sinfo_msg("n sky=%d",cpl_table_get_nrow(*int_sky));</span></div>
-<div class="line"><a name="l04955"></a><span class="lineno"> 4955</span> <span class="comment">//sinfo_msg("n scale=%d",cpl_table_get_nrow(*rscale));</span></div>
-<div class="line"><a name="l04956"></a><span class="lineno"> 4956</span> </div>
-<div class="line"><a name="l04957"></a><span class="lineno"> 4957</span> check_nomsg(cpl_table_duplicate_column(*int_obj,<span class="stringliteral">"COR_FCT_ALL"</span>,</div>
-<div class="line"><a name="l04958"></a><span class="lineno"> 4958</span> *rscale,<span class="stringliteral">"RATIO"</span>));</div>
-<div class="line"><a name="l04959"></a><span class="lineno"> 4959</span> check_nomsg(cpl_table_duplicate_column(*int_sky,<span class="stringliteral">"RATIO"</span>,*rscale,<span class="stringliteral">"RATIO"</span>));</div>
-<div class="line"><a name="l04960"></a><span class="lineno"> 4960</span> check_nomsg(cpl_table_multiply_columns(*int_sky,<span class="stringliteral">"INTC"</span>,<span class="stringliteral">"RATIO"</span>));</div>
-<div class="line"><a name="l04961"></a><span class="lineno"> 4961</span> </div>
-<div class="line"><a name="l04962"></a><span class="lineno"> 4962</span> check_nomsg(cpl_table_duplicate_column(*int_obj,<span class="stringliteral">"INTC"</span>,*int_obj,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l04963"></a><span class="lineno"> 4963</span> <span class="comment">//check_nomsg(cpl_table_save(*int_obj,NULL,NULL,</span></div>
-<div class="line"><a name="l04964"></a><span class="lineno"> 4964</span> <span class="comment">// "out_obj1.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04965"></a><span class="lineno"> 4965</span> <span class="comment">//check_nomsg(cpl_table_save(*int_sky,NULL,NULL,</span></div>
-<div class="line"><a name="l04966"></a><span class="lineno"> 4966</span> <span class="comment">// "out_sky1.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l04967"></a><span class="lineno"> 4967</span> </div>
-<div class="line"><a name="l04968"></a><span class="lineno"> 4968</span> check_nomsg(cpl_table_duplicate_column(*int_obj,<span class="stringliteral">"SKYC"</span>,*int_sky,<span class="stringliteral">"INTC"</span>));</div>
-<div class="line"><a name="l04969"></a><span class="lineno"> 4969</span> check_nomsg(cpl_table_subtract_columns(*int_obj,<span class="stringliteral">"INTC"</span>,<span class="stringliteral">"SKYC"</span>));</div>
-<div class="line"><a name="l04970"></a><span class="lineno"> 4970</span> </div>
-<div class="line"><a name="l04971"></a><span class="lineno"> 4971</span> </div>
-<div class="line"><a name="l04972"></a><span class="lineno"> 4972</span> check_nomsg(cpl_table_erase_column(*int_sky,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l04973"></a><span class="lineno"> 4973</span> check_nomsg(cpl_table_name_column(*int_sky,<span class="stringliteral">"INTC"</span>,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l04974"></a><span class="lineno"> 4974</span> </div>
-<div class="line"><a name="l04975"></a><span class="lineno"> 4975</span> </div>
-<div class="line"><a name="l04976"></a><span class="lineno"> 4976</span> </div>
-<div class="line"><a name="l04977"></a><span class="lineno"> 4977</span> cleanup:</div>
-<div class="line"><a name="l04978"></a><span class="lineno"> 4978</span> sinfo_free_table(&llr_xxx1);</div>
-<div class="line"><a name="l04979"></a><span class="lineno"> 4979</span> sinfo_free_table(&hi_pos);</div>
-<div class="line"><a name="l04980"></a><span class="lineno"> 4980</span> sinfo_free_table(&low_pos);</div>
-<div class="line"><a name="l04981"></a><span class="lineno"> 4981</span> sinfo_free_table(&med_pos);</div>
-<div class="line"><a name="l04982"></a><span class="lineno"> 4982</span> sinfo_free_table(&low_regions);</div>
-<div class="line"><a name="l04983"></a><span class="lineno"> 4983</span> sinfo_free_table(&med_regions);</div>
-<div class="line"><a name="l04984"></a><span class="lineno"> 4984</span> sinfo_free_table(&hi_regions);</div>
-<div class="line"><a name="l04985"></a><span class="lineno"> 4985</span> sinfo_free_table(&low_scale);</div>
-<div class="line"><a name="l04986"></a><span class="lineno"> 4986</span> sinfo_free_table(&med_scale);</div>
-<div class="line"><a name="l04987"></a><span class="lineno"> 4987</span> </div>
-<div class="line"><a name="l04988"></a><span class="lineno"> 4988</span> </div>
-<div class="line"><a name="l04989"></a><span class="lineno"> 4989</span> sinfo_free_table(&finite_pix);</div>
-<div class="line"><a name="l04990"></a><span class="lineno"> 4990</span> sinfo_free_table(&xxx1_sub);</div>
-<div class="line"><a name="l04991"></a><span class="lineno"> 4991</span> sinfo_free_table(&tmp_tbl);</div>
-<div class="line"><a name="l04992"></a><span class="lineno"> 4992</span> sinfo_free_table(&rat_sky);</div>
-<div class="line"><a name="l04993"></a><span class="lineno"> 4993</span> sinfo_free_table(&fline_res);</div>
-<div class="line"><a name="l04994"></a><span class="lineno"> 4994</span> sinfo_free_table(&sky_cont);</div>
-<div class="line"><a name="l04995"></a><span class="lineno"> 4995</span> sinfo_free_table(&obj_cont);</div>
-<div class="line"><a name="l04996"></a><span class="lineno"> 4996</span> sinfo_free_table(&obj_line);</div>
-<div class="line"><a name="l04997"></a><span class="lineno"> 4997</span> sinfo_free_table(&sky_line);</div>
-<div class="line"><a name="l04998"></a><span class="lineno"> 4998</span> sinfo_free_table(&rscale0);</div>
-<div class="line"><a name="l04999"></a><span class="lineno"> 4999</span> sinfo_free_table(&xxx1);</div>
-<div class="line"><a name="l05000"></a><span class="lineno"> 5000</span> sinfo_free_table(&xxx2);</div>
-<div class="line"><a name="l05001"></a><span class="lineno"> 5001</span> sinfo_free_table(&line_regions);</div>
-<div class="line"><a name="l05002"></a><span class="lineno"> 5002</span> sinfo_free_table(&cont_regions);</div>
-<div class="line"><a name="l05003"></a><span class="lineno"> 5003</span> sinfo_free_table(&sky_lr);</div>
-<div class="line"><a name="l05004"></a><span class="lineno"> 5004</span> sinfo_free_table(&obj_lr);</div>
-<div class="line"><a name="l05005"></a><span class="lineno"> 5005</span> sinfo_free_table(&wav_lr);</div>
-<div class="line"><a name="l05006"></a><span class="lineno"> 5006</span> sinfo_free_array(&rfit);</div>
-<div class="line"><a name="l05007"></a><span class="lineno"> 5007</span> sinfo_free_array(&do_hk);</div>
-<div class="line"><a name="l05008"></a><span class="lineno"> 5008</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l05009"></a><span class="lineno"> 5009</span> </div>
-<div class="line"><a name="l05010"></a><span class="lineno"> 5010</span> }</div>
-<div class="line"><a name="l05019"></a><span class="lineno"> 5019</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l05020"></a><span class="lineno"> 5020</span> sinfo_table_get_index_of_max(cpl_table* t,<span class="keyword">const</span> <span class="keywordtype">char</span>* name,cpl_type type)</div>
-<div class="line"><a name="l05021"></a><span class="lineno"> 5021</span> {</div>
-<div class="line"><a name="l05022"></a><span class="lineno"> 5022</span> </div>
-<div class="line"><a name="l05023"></a><span class="lineno"> 5023</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l05024"></a><span class="lineno"> 5024</span> <span class="keywordtype">int</span> result=0;</div>
-<div class="line"><a name="l05025"></a><span class="lineno"> 5025</span> <span class="keywordtype">int</span> nrow=0;</div>
-<div class="line"><a name="l05026"></a><span class="lineno"> 5026</span> <span class="keywordtype">int</span>* pi=NULL;</div>
-<div class="line"><a name="l05027"></a><span class="lineno"> 5027</span> <span class="keywordtype">float</span>* pf=NULL;</div>
-<div class="line"><a name="l05028"></a><span class="lineno"> 5028</span> <span class="keywordtype">double</span>* pd=NULL;</div>
-<div class="line"><a name="l05029"></a><span class="lineno"> 5029</span> <span class="keywordtype">double</span> max=0;</div>
-<div class="line"><a name="l05030"></a><span class="lineno"> 5030</span> </div>
-<div class="line"><a name="l05031"></a><span class="lineno"> 5031</span> </div>
-<div class="line"><a name="l05032"></a><span class="lineno"> 5032</span> <span class="keywordflow">if</span>(t == NULL) {</div>
-<div class="line"><a name="l05033"></a><span class="lineno"> 5033</span> cpl_error_set(cpl_func, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l05034"></a><span class="lineno"> 5034</span> <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l05035"></a><span class="lineno"> 5035</span> }</div>
-<div class="line"><a name="l05036"></a><span class="lineno"> 5036</span> max=cpl_table_get_column_max(t,name);</div>
-<div class="line"><a name="l05037"></a><span class="lineno"> 5037</span> nrow=cpl_table_get_nrow(t);</div>
-<div class="line"><a name="l05038"></a><span class="lineno"> 5038</span> <span class="keywordflow">switch</span>(type) {</div>
-<div class="line"><a name="l05039"></a><span class="lineno"> 5039</span> </div>
-<div class="line"><a name="l05040"></a><span class="lineno"> 5040</span> <span class="keywordflow">case</span> CPL_TYPE_INT:</div>
-<div class="line"><a name="l05041"></a><span class="lineno"> 5041</span> pi=cpl_table_get_data_int(t,name);</div>
-<div class="line"><a name="l05042"></a><span class="lineno"> 5042</span> <span class="keywordflow">for</span>(i=0;i<nrow;i++) {</div>
-<div class="line"><a name="l05043"></a><span class="lineno"> 5043</span> <span class="keywordflow">if</span>(pi[i]==(<span class="keywordtype">int</span>)max) result=i;</div>
-<div class="line"><a name="l05044"></a><span class="lineno"> 5044</span> }</div>
-<div class="line"><a name="l05045"></a><span class="lineno"> 5045</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l05046"></a><span class="lineno"> 5046</span> <span class="keywordflow">case</span> CPL_TYPE_FLOAT:</div>
-<div class="line"><a name="l05047"></a><span class="lineno"> 5047</span> pf=cpl_table_get_data_float(t,name);</div>
-<div class="line"><a name="l05048"></a><span class="lineno"> 5048</span> <span class="keywordflow">for</span>(i=0;i<nrow;i++) {</div>
-<div class="line"><a name="l05049"></a><span class="lineno"> 5049</span> <span class="keywordflow">if</span>(pf[i]==(<span class="keywordtype">float</span>)max) result=i;</div>
-<div class="line"><a name="l05050"></a><span class="lineno"> 5050</span> }</div>
-<div class="line"><a name="l05051"></a><span class="lineno"> 5051</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l05052"></a><span class="lineno"> 5052</span> <span class="keywordflow">case</span> CPL_TYPE_DOUBLE:</div>
-<div class="line"><a name="l05053"></a><span class="lineno"> 5053</span> pd=cpl_table_get_data_double(t,name);</div>
-<div class="line"><a name="l05054"></a><span class="lineno"> 5054</span> <span class="keywordflow">for</span>(i=0;i<nrow;i++) {</div>
-<div class="line"><a name="l05055"></a><span class="lineno"> 5055</span> <span class="keywordflow">if</span>(pd[i]==max) result=i;</div>
-<div class="line"><a name="l05056"></a><span class="lineno"> 5056</span> }</div>
-<div class="line"><a name="l05057"></a><span class="lineno"> 5057</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l05058"></a><span class="lineno"> 5058</span> <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l05059"></a><span class="lineno"> 5059</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Wrong column type"</span>);</div>
-<div class="line"><a name="l05060"></a><span class="lineno"> 5060</span> cpl_error_set(cpl_func, CPL_ERROR_TYPE_MISMATCH);</div>
-<div class="line"><a name="l05061"></a><span class="lineno"> 5061</span> <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l05062"></a><span class="lineno"> 5062</span> </div>
-<div class="line"><a name="l05063"></a><span class="lineno"> 5063</span> }</div>
-<div class="line"><a name="l05064"></a><span class="lineno"> 5064</span> <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l05065"></a><span class="lineno"> 5065</span> }</div>
-<div class="line"><a name="l05066"></a><span class="lineno"> 5066</span> </div>
-<div class="line"><a name="l05067"></a><span class="lineno"> 5067</span> </div>
-<div class="line"><a name="l05068"></a><span class="lineno"> 5068</span> </div>
-<div class="line"><a name="l05078"></a><span class="lineno"> 5078</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l05079"></a><span class="lineno"> 5079</span> sinfo_table_get_index_of_val(cpl_table* t,</div>
-<div class="line"><a name="l05080"></a><span class="lineno"> 5080</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name,</div>
-<div class="line"><a name="l05081"></a><span class="lineno"> 5081</span> <span class="keywordtype">double</span> val,</div>
-<div class="line"><a name="l05082"></a><span class="lineno"> 5082</span> cpl_type type)</div>
-<div class="line"><a name="l05083"></a><span class="lineno"> 5083</span> {</div>
-<div class="line"><a name="l05084"></a><span class="lineno"> 5084</span> </div>
-<div class="line"><a name="l05085"></a><span class="lineno"> 5085</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l05086"></a><span class="lineno"> 5086</span> <span class="keywordtype">int</span> result=0;</div>
-<div class="line"><a name="l05087"></a><span class="lineno"> 5087</span> <span class="keywordtype">int</span> nrow=0;</div>
-<div class="line"><a name="l05088"></a><span class="lineno"> 5088</span> <span class="keywordtype">int</span>* pi=NULL;</div>
-<div class="line"><a name="l05089"></a><span class="lineno"> 5089</span> <span class="keywordtype">float</span>* pf=NULL;</div>
-<div class="line"><a name="l05090"></a><span class="lineno"> 5090</span> <span class="keywordtype">double</span>* pd=NULL;</div>
-<div class="line"><a name="l05091"></a><span class="lineno"> 5091</span> </div>
-<div class="line"><a name="l05092"></a><span class="lineno"> 5092</span> <span class="keywordflow">if</span>(t == NULL) {</div>
-<div class="line"><a name="l05093"></a><span class="lineno"> 5093</span> cpl_error_set(cpl_func, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l05094"></a><span class="lineno"> 5094</span> <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l05095"></a><span class="lineno"> 5095</span> }</div>
-<div class="line"><a name="l05096"></a><span class="lineno"> 5096</span> </div>
-<div class="line"><a name="l05097"></a><span class="lineno"> 5097</span> nrow=cpl_table_get_nrow(t);</div>
-<div class="line"><a name="l05098"></a><span class="lineno"> 5098</span> <span class="keywordflow">switch</span>(type) {</div>
-<div class="line"><a name="l05099"></a><span class="lineno"> 5099</span> </div>
-<div class="line"><a name="l05100"></a><span class="lineno"> 5100</span> <span class="keywordflow">case</span> CPL_TYPE_INT:</div>
-<div class="line"><a name="l05101"></a><span class="lineno"> 5101</span> pi=cpl_table_get_data_int(t,name);</div>
-<div class="line"><a name="l05102"></a><span class="lineno"> 5102</span> <span class="keywordflow">for</span>(i=0;i<nrow;i++) {</div>
-<div class="line"><a name="l05103"></a><span class="lineno"> 5103</span> <span class="keywordflow">if</span>(pi[i]==(<span class="keywordtype">int</span>)val) result=i;</div>
-<div class="line"><a name="l05104"></a><span class="lineno"> 5104</span> }</div>
-<div class="line"><a name="l05105"></a><span class="lineno"> 5105</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l05106"></a><span class="lineno"> 5106</span> <span class="keywordflow">case</span> CPL_TYPE_FLOAT:</div>
-<div class="line"><a name="l05107"></a><span class="lineno"> 5107</span> pf=cpl_table_get_data_float(t,name);</div>
-<div class="line"><a name="l05108"></a><span class="lineno"> 5108</span> <span class="keywordflow">for</span>(i=0;i<nrow;i++) {</div>
-<div class="line"><a name="l05109"></a><span class="lineno"> 5109</span> <span class="keywordflow">if</span>(pf[i]==(<span class="keywordtype">float</span>)val) result=i;</div>
-<div class="line"><a name="l05110"></a><span class="lineno"> 5110</span> }</div>
-<div class="line"><a name="l05111"></a><span class="lineno"> 5111</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l05112"></a><span class="lineno"> 5112</span> <span class="keywordflow">case</span> CPL_TYPE_DOUBLE:</div>
-<div class="line"><a name="l05113"></a><span class="lineno"> 5113</span> pd=cpl_table_get_data_double(t,name);</div>
-<div class="line"><a name="l05114"></a><span class="lineno"> 5114</span> <span class="keywordflow">for</span>(i=0;i<nrow;i++) {</div>
-<div class="line"><a name="l05115"></a><span class="lineno"> 5115</span> <span class="keywordflow">if</span>(pd[i]==val) result=i;</div>
-<div class="line"><a name="l05116"></a><span class="lineno"> 5116</span> }</div>
-<div class="line"><a name="l05117"></a><span class="lineno"> 5117</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l05118"></a><span class="lineno"> 5118</span> <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l05119"></a><span class="lineno"> 5119</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Wrong column type"</span>);</div>
-<div class="line"><a name="l05120"></a><span class="lineno"> 5120</span> cpl_error_set(cpl_func, CPL_ERROR_TYPE_MISMATCH);</div>
-<div class="line"><a name="l05121"></a><span class="lineno"> 5121</span> <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l05122"></a><span class="lineno"> 5122</span> </div>
-<div class="line"><a name="l05123"></a><span class="lineno"> 5123</span> }</div>
-<div class="line"><a name="l05124"></a><span class="lineno"> 5124</span> <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l05125"></a><span class="lineno"> 5125</span> }</div>
-<div class="line"><a name="l05126"></a><span class="lineno"> 5126</span> </div>
-<div class="line"><a name="l05139"></a><span class="lineno"> 5139</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l05140"></a><span class="lineno"> 5140</span> sinfo_table_column_interpolate(<span class="keyword">const</span> cpl_table* t,</div>
-<div class="line"><a name="l05141"></a><span class="lineno"> 5141</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name,</div>
-<div class="line"><a name="l05142"></a><span class="lineno"> 5142</span> <span class="keyword">const</span> <span class="keywordtype">double</span> x)</div>
-<div class="line"><a name="l05143"></a><span class="lineno"> 5143</span> {</div>
-<div class="line"><a name="l05144"></a><span class="lineno"> 5144</span> </div>
-<div class="line"><a name="l05145"></a><span class="lineno"> 5145</span> <span class="keywordtype">double</span> val1=0;</div>
-<div class="line"><a name="l05146"></a><span class="lineno"> 5146</span> <span class="keywordtype">double</span> val2=0;</div>
-<div class="line"><a name="l05147"></a><span class="lineno"> 5147</span> <span class="keywordtype">int</span> x1=0;</div>
-<div class="line"><a name="l05148"></a><span class="lineno"> 5148</span> <span class="keywordtype">int</span> x2=0;</div>
-<div class="line"><a name="l05149"></a><span class="lineno"> 5149</span> <span class="keywordtype">double</span> m=0;</div>
-<div class="line"><a name="l05150"></a><span class="lineno"> 5150</span> <span class="keywordtype">double</span> y=0;</div>
-<div class="line"><a name="l05151"></a><span class="lineno"> 5151</span> <span class="keywordtype">int</span> status=0;</div>
-<div class="line"><a name="l05152"></a><span class="lineno"> 5152</span> <span class="keywordtype">int</span> nrow=0;</div>
-<div class="line"><a name="l05153"></a><span class="lineno"> 5153</span> nrow=cpl_table_get_nrow(t);</div>
-<div class="line"><a name="l05154"></a><span class="lineno"> 5154</span> <span class="keywordflow">if</span> ((1<x) && (x<nrow-1)) {</div>
-<div class="line"><a name="l05155"></a><span class="lineno"> 5155</span> x1=x-1;</div>
-<div class="line"><a name="l05156"></a><span class="lineno"> 5156</span> x2=x+1;</div>
-<div class="line"><a name="l05157"></a><span class="lineno"> 5157</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (x<2) {</div>
-<div class="line"><a name="l05158"></a><span class="lineno"> 5158</span> x1=0;</div>
-<div class="line"><a name="l05159"></a><span class="lineno"> 5159</span> x2=1;</div>
-<div class="line"><a name="l05160"></a><span class="lineno"> 5160</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l05161"></a><span class="lineno"> 5161</span> x1=nrow-2;</div>
-<div class="line"><a name="l05162"></a><span class="lineno"> 5162</span> x2=nrow-1;</div>
-<div class="line"><a name="l05163"></a><span class="lineno"> 5163</span> }</div>
-<div class="line"><a name="l05164"></a><span class="lineno"> 5164</span> check_nomsg(val1=cpl_table_get(t,name,x1,&status));</div>
-<div class="line"><a name="l05165"></a><span class="lineno"> 5165</span> check_nomsg(val2=cpl_table_get(t,name,x2,&status));</div>
-<div class="line"><a name="l05166"></a><span class="lineno"> 5166</span> </div>
-<div class="line"><a name="l05167"></a><span class="lineno"> 5167</span> m=(val2-val1)/(x2-x1);</div>
-<div class="line"><a name="l05168"></a><span class="lineno"> 5168</span> y=val1+m*(x-x1);</div>
-<div class="line"><a name="l05169"></a><span class="lineno"> 5169</span> </div>
-<div class="line"><a name="l05170"></a><span class="lineno"> 5170</span> <span class="keywordflow">return</span> y;</div>
-<div class="line"><a name="l05171"></a><span class="lineno"> 5171</span> </div>
-<div class="line"><a name="l05172"></a><span class="lineno"> 5172</span> cleanup:</div>
-<div class="line"><a name="l05173"></a><span class="lineno"> 5173</span> </div>
-<div class="line"><a name="l05174"></a><span class="lineno"> 5174</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l05175"></a><span class="lineno"> 5175</span> </div>
-<div class="line"><a name="l05176"></a><span class="lineno"> 5176</span> </div>
-<div class="line"><a name="l05177"></a><span class="lineno"> 5177</span> }</div>
-<div class="line"><a name="l05178"></a><span class="lineno"> 5178</span> </div>
-<div class="line"><a name="l05187"></a><span class="lineno"> 5187</span> <span class="keyword">static</span> cpl_imagelist*</div>
-<div class="line"><a name="l05188"></a><span class="lineno"> 5188</span> sinfo_imagelist_select_range(<span class="keyword">const</span> cpl_imagelist* inp,</div>
-<div class="line"><a name="l05189"></a><span class="lineno"> 5189</span> <span class="keyword">const</span> cpl_table* full,</div>
-<div class="line"><a name="l05190"></a><span class="lineno"> 5190</span> <span class="keyword">const</span> cpl_table* good,</div>
-<div class="line"><a name="l05191"></a><span class="lineno"> 5191</span> <span class="keyword">const</span> <span class="keywordtype">double</span> tol)</div>
-<div class="line"><a name="l05192"></a><span class="lineno"> 5192</span> {</div>
-<div class="line"><a name="l05193"></a><span class="lineno"> 5193</span> cpl_imagelist* out=NULL;</div>
-<div class="line"><a name="l05194"></a><span class="lineno"> 5194</span> <span class="keywordtype">int</span> osz=0;</div>
-<div class="line"><a name="l05195"></a><span class="lineno"> 5195</span> <span class="keywordtype">int</span> isz=0;</div>
-<div class="line"><a name="l05196"></a><span class="lineno"> 5196</span> <span class="keywordtype">int</span> ksz=0;</div>
-<div class="line"><a name="l05197"></a><span class="lineno"> 5197</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l05198"></a><span class="lineno"> 5198</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l05199"></a><span class="lineno"> 5199</span> <span class="keywordtype">int</span> status=0;</div>
-<div class="line"><a name="l05200"></a><span class="lineno"> 5200</span> </div>
-<div class="line"><a name="l05201"></a><span class="lineno"> 5201</span> <span class="keywordtype">double</span> wave_chk=0;</div>
-<div class="line"><a name="l05202"></a><span class="lineno"> 5202</span> <span class="keywordtype">double</span> wave_sel=0;</div>
-<div class="line"><a name="l05203"></a><span class="lineno"> 5203</span> </div>
-<div class="line"><a name="l05204"></a><span class="lineno"> 5204</span> <span class="keyword">const</span> cpl_image* img=NULL;</div>
-<div class="line"><a name="l05205"></a><span class="lineno"> 5205</span> </div>
-<div class="line"><a name="l05206"></a><span class="lineno"> 5206</span> </div>
-<div class="line"><a name="l05207"></a><span class="lineno"> 5207</span> <span class="comment">/* Get Object relevant information */</span></div>
-<div class="line"><a name="l05208"></a><span class="lineno"> 5208</span> <span class="comment">/* here one should scan the inp image constructing a wave range from it</span></div>
-<div class="line"><a name="l05209"></a><span class="lineno"> 5209</span> <span class="comment"> and not from another table */</span></div>
-<div class="line"><a name="l05210"></a><span class="lineno"> 5210</span> check_nomsg(osz=cpl_table_get_nrow(good));</div>
-<div class="line"><a name="l05211"></a><span class="lineno"> 5211</span> check_nomsg(ksz=cpl_imagelist_get_size(inp));</div>
-<div class="line"><a name="l05212"></a><span class="lineno"> 5212</span> check_nomsg(isz=cpl_table_get_nrow(good));</div>
-<div class="line"><a name="l05213"></a><span class="lineno"> 5213</span> check_nomsg(out=cpl_imagelist_new());</div>
-<div class="line"><a name="l05214"></a><span class="lineno"> 5214</span> </div>
-<div class="line"><a name="l05215"></a><span class="lineno"> 5215</span> </div>
-<div class="line"><a name="l05216"></a><span class="lineno"> 5216</span> <span class="keywordflow">for</span>(k=0;k<ksz;k++) {</div>
-<div class="line"><a name="l05217"></a><span class="lineno"> 5217</span> check_nomsg(img=cpl_imagelist_get_const(inp,k));</div>
-<div class="line"><a name="l05218"></a><span class="lineno"> 5218</span> check_nomsg(wave_chk=cpl_table_get(full,<span class="stringliteral">"WAVE"</span>,k,&status));</div>
-<div class="line"><a name="l05219"></a><span class="lineno"> 5219</span> <span class="keywordflow">if</span>(i<isz) {</div>
-<div class="line"><a name="l05220"></a><span class="lineno"> 5220</span> check_nomsg(wave_sel=cpl_table_get(good,<span class="stringliteral">"WAVE"</span>,i,&status));</div>
-<div class="line"><a name="l05221"></a><span class="lineno"> 5221</span> }</div>
-<div class="line"><a name="l05222"></a><span class="lineno"> 5222</span> <span class="comment">// insert cubes with wavelengths with appropriate values only</span></div>
-<div class="line"><a name="l05223"></a><span class="lineno"> 5223</span> <span class="keywordflow">if</span>(fabs(wave_chk - wave_sel) < tol) {</div>
-<div class="line"><a name="l05224"></a><span class="lineno"> 5224</span> check_nomsg(cpl_imagelist_set(out,cpl_image_duplicate(img),i));</div>
-<div class="line"><a name="l05225"></a><span class="lineno"> 5225</span> i++;</div>
-<div class="line"><a name="l05226"></a><span class="lineno"> 5226</span> }</div>
-<div class="line"><a name="l05227"></a><span class="lineno"> 5227</span> }</div>
-<div class="line"><a name="l05228"></a><span class="lineno"> 5228</span> <span class="keywordflow">if</span>(i==0) {</div>
-<div class="line"><a name="l05229"></a><span class="lineno"> 5229</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"No lines selected"</span>);</div>
-<div class="line"><a name="l05230"></a><span class="lineno"> 5230</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l05231"></a><span class="lineno"> 5231</span> }</div>
-<div class="line"><a name="l05232"></a><span class="lineno"> 5232</span> <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l05233"></a><span class="lineno"> 5233</span> </div>
-<div class="line"><a name="l05234"></a><span class="lineno"> 5234</span> cleanup:</div>
-<div class="line"><a name="l05235"></a><span class="lineno"> 5235</span> </div>
-<div class="line"><a name="l05236"></a><span class="lineno"> 5236</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l05237"></a><span class="lineno"> 5237</span> </div>
-<div class="line"><a name="l05238"></a><span class="lineno"> 5238</span> }</div>
-<div class="line"><a name="l05239"></a><span class="lineno"> 5239</span> </div>
-<div class="line"><a name="l05249"></a><span class="lineno"> 5249</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l05250"></a><span class="lineno"> 5250</span> sinfo_table_extract_finite(<span class="keyword">const</span> cpl_table* in1,</div>
-<div class="line"><a name="l05251"></a><span class="lineno"> 5251</span> <span class="keyword">const</span> cpl_table* in2,</div>
-<div class="line"><a name="l05252"></a><span class="lineno"> 5252</span> cpl_table** ou1,</div>
-<div class="line"><a name="l05253"></a><span class="lineno"> 5253</span> cpl_table** ou2)</div>
-<div class="line"><a name="l05254"></a><span class="lineno"> 5254</span> {</div>
-<div class="line"><a name="l05255"></a><span class="lineno"> 5255</span> </div>
-<div class="line"><a name="l05256"></a><span class="lineno"> 5256</span> <span class="keywordtype">int</span> size1=0;</div>
-<div class="line"><a name="l05257"></a><span class="lineno"> 5257</span> <span class="keywordtype">int</span> size2=0;</div>
-<div class="line"><a name="l05258"></a><span class="lineno"> 5258</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l05259"></a><span class="lineno"> 5259</span> <span class="keywordtype">int</span> ninv1=0;</div>
-<div class="line"><a name="l05260"></a><span class="lineno"> 5260</span> <span class="keywordtype">int</span> ninv2=0;</div>
-<div class="line"><a name="l05261"></a><span class="lineno"> 5261</span> <span class="keywordtype">double</span>* pout1=NULL;</div>
-<div class="line"><a name="l05262"></a><span class="lineno"> 5262</span> <span class="keywordtype">double</span>* pout2=NULL;</div>
-<div class="line"><a name="l05263"></a><span class="lineno"> 5263</span> </div>
-<div class="line"><a name="l05264"></a><span class="lineno"> 5264</span> cknull(in1,<span class="stringliteral">"null input image"</span>);</div>
-<div class="line"><a name="l05265"></a><span class="lineno"> 5265</span> cknull(in2,<span class="stringliteral">"null input image"</span>);</div>
-<div class="line"><a name="l05266"></a><span class="lineno"> 5266</span> cknull_nomsg(*ou1=cpl_table_duplicate(in1));</div>
-<div class="line"><a name="l05267"></a><span class="lineno"> 5267</span> cknull_nomsg(*ou2=cpl_table_duplicate(in2));</div>
-<div class="line"><a name="l05268"></a><span class="lineno"> 5268</span> </div>
-<div class="line"><a name="l05269"></a><span class="lineno"> 5269</span> check_nomsg(size1=cpl_table_get_nrow(*ou1));</div>
-<div class="line"><a name="l05270"></a><span class="lineno"> 5270</span> check_nomsg(size2=cpl_table_get_nrow(*ou2));</div>
-<div class="line"><a name="l05271"></a><span class="lineno"> 5271</span> </div>
-<div class="line"><a name="l05272"></a><span class="lineno"> 5272</span> check_nomsg(pout1=cpl_table_get_data_double(*ou1,<span class="stringliteral">"VALUE"</span>));</div>
-<div class="line"><a name="l05273"></a><span class="lineno"> 5273</span> check_nomsg(pout2=cpl_table_get_data_double(*ou2,<span class="stringliteral">"VALUE"</span>));</div>
-<div class="line"><a name="l05274"></a><span class="lineno"> 5274</span> <span class="keywordflow">for</span>(i=0;i<size1;i++) {</div>
-<div class="line"><a name="l05275"></a><span class="lineno"> 5275</span> <span class="keywordflow">if</span> (irplib_isnan(pout1[i])) {</div>
-<div class="line"><a name="l05276"></a><span class="lineno"> 5276</span> check_nomsg(cpl_table_set_invalid(*ou1,<span class="stringliteral">"VALUE"</span>,i));</div>
-<div class="line"><a name="l05277"></a><span class="lineno"> 5277</span> check_nomsg(cpl_table_set_invalid(*ou2,<span class="stringliteral">"VALUE"</span>,i));</div>
-<div class="line"><a name="l05278"></a><span class="lineno"> 5278</span> }</div>
-<div class="line"><a name="l05279"></a><span class="lineno"> 5279</span> }</div>
-<div class="line"><a name="l05280"></a><span class="lineno"> 5280</span> ninv1=cpl_table_count_invalid(*ou1,<span class="stringliteral">"VALUE"</span>);</div>
-<div class="line"><a name="l05281"></a><span class="lineno"> 5281</span> ninv2=cpl_table_count_invalid(*ou2,<span class="stringliteral">"VALUE"</span>);</div>
-<div class="line"><a name="l05282"></a><span class="lineno"> 5282</span> <span class="keywordflow">if</span>(ninv1==size1) {</div>
-<div class="line"><a name="l05283"></a><span class="lineno"> 5283</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l05284"></a><span class="lineno"> 5284</span> }</div>
-<div class="line"><a name="l05285"></a><span class="lineno"> 5285</span> <span class="keywordflow">if</span>(ninv2==size2) {</div>
-<div class="line"><a name="l05286"></a><span class="lineno"> 5286</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l05287"></a><span class="lineno"> 5287</span> }</div>
-<div class="line"><a name="l05288"></a><span class="lineno"> 5288</span> check_nomsg(cpl_table_erase_invalid(*ou1));</div>
-<div class="line"><a name="l05289"></a><span class="lineno"> 5289</span> check_nomsg(cpl_table_erase_invalid(*ou2));</div>
-<div class="line"><a name="l05290"></a><span class="lineno"> 5290</span> <span class="keywordflow">return</span> (size1-ninv1);</div>
-<div class="line"><a name="l05291"></a><span class="lineno"> 5291</span> </div>
-<div class="line"><a name="l05292"></a><span class="lineno"> 5292</span> cleanup:</div>
-<div class="line"><a name="l05293"></a><span class="lineno"> 5293</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l05294"></a><span class="lineno"> 5294</span> </div>
-<div class="line"><a name="l05295"></a><span class="lineno"> 5295</span> }</div>
-<div class="line"><a name="l05296"></a><span class="lineno"> 5296</span> </div>
-<div class="line"><a name="l05303"></a><span class="lineno"> 5303</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l05304"></a><span class="lineno"> 5304</span> sinfo_image2table(<span class="keyword">const</span> cpl_image* im)</div>
-<div class="line"><a name="l05305"></a><span class="lineno"> 5305</span> {</div>
-<div class="line"><a name="l05306"></a><span class="lineno"> 5306</span> cpl_table* out=NULL;</div>
-<div class="line"><a name="l05307"></a><span class="lineno"> 5307</span> <span class="keywordtype">int</span> sx=0;</div>
-<div class="line"><a name="l05308"></a><span class="lineno"> 5308</span> <span class="keywordtype">int</span> sy=0;</div>
-<div class="line"><a name="l05309"></a><span class="lineno"> 5309</span> <span class="keyword">const</span> <span class="keywordtype">double</span>* pim=NULL;</div>
-<div class="line"><a name="l05310"></a><span class="lineno"> 5310</span> <span class="keywordtype">double</span>* pval=NULL;</div>
-<div class="line"><a name="l05311"></a><span class="lineno"> 5311</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l05312"></a><span class="lineno"> 5312</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l05313"></a><span class="lineno"> 5313</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l05314"></a><span class="lineno"> 5314</span> </div>
-<div class="line"><a name="l05315"></a><span class="lineno"> 5315</span> cknull(im,<span class="stringliteral">"input image is NULL"</span>);</div>
-<div class="line"><a name="l05316"></a><span class="lineno"> 5316</span> </div>
-<div class="line"><a name="l05317"></a><span class="lineno"> 5317</span> check_nomsg(sx=cpl_image_get_size_x(im));</div>
-<div class="line"><a name="l05318"></a><span class="lineno"> 5318</span> check_nomsg(sy=cpl_image_get_size_y(im));</div>
-<div class="line"><a name="l05319"></a><span class="lineno"> 5319</span> check_nomsg(pim=cpl_image_get_data_double_const(im));</div>
-<div class="line"><a name="l05320"></a><span class="lineno"> 5320</span> check_nomsg(out=cpl_table_new(sx*sy));</div>
-<div class="line"><a name="l05321"></a><span class="lineno"> 5321</span> check_nomsg(cpl_table_new_column(out,<span class="stringliteral">"VALUE"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l05322"></a><span class="lineno"> 5322</span> check_nomsg(pval=cpl_table_get_data_double(out,<span class="stringliteral">"VALUE"</span>));</div>
-<div class="line"><a name="l05323"></a><span class="lineno"> 5323</span> </div>
-<div class="line"><a name="l05324"></a><span class="lineno"> 5324</span> <span class="keywordflow">for</span>(j=0;j<sy;j++) {</div>
-<div class="line"><a name="l05325"></a><span class="lineno"> 5325</span> <span class="keywordflow">for</span>(i=0;i<sx;i++) {</div>
-<div class="line"><a name="l05326"></a><span class="lineno"> 5326</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l05327"></a><span class="lineno"> 5327</span> <span class="comment"> pval[k++]=pim[j*sx+i];</span></div>
-<div class="line"><a name="l05328"></a><span class="lineno"> 5328</span> <span class="comment"> sinfo_msg("set tab %f",pim[j*sx+i]);</span></div>
-<div class="line"><a name="l05329"></a><span class="lineno"> 5329</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l05330"></a><span class="lineno"> 5330</span> cpl_table_set_double(out,<span class="stringliteral">"VALUE"</span>,k++,pim[j*sx+i]);</div>
-<div class="line"><a name="l05331"></a><span class="lineno"> 5331</span> }</div>
-<div class="line"><a name="l05332"></a><span class="lineno"> 5332</span> }</div>
-<div class="line"><a name="l05333"></a><span class="lineno"> 5333</span> </div>
-<div class="line"><a name="l05334"></a><span class="lineno"> 5334</span> <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l05335"></a><span class="lineno"> 5335</span> cleanup:</div>
-<div class="line"><a name="l05336"></a><span class="lineno"> 5336</span> sinfo_free_table(&out);</div>
-<div class="line"><a name="l05337"></a><span class="lineno"> 5337</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l05338"></a><span class="lineno"> 5338</span> </div>
-<div class="line"><a name="l05339"></a><span class="lineno"> 5339</span> }</div>
-<div class="line"><a name="l05348"></a><span class="lineno"> 5348</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l05349"></a><span class="lineno"> 5349</span> sinfo_check_screw_values(cpl_table** int_obj,</div>
-<div class="line"><a name="l05350"></a><span class="lineno"> 5350</span> cpl_table** int_sky,</div>
-<div class="line"><a name="l05351"></a><span class="lineno"> 5351</span> cpl_table* grange,</div>
-<div class="line"><a name="l05352"></a><span class="lineno"> 5352</span> <span class="keyword">const</span> <span class="keywordtype">double</span> wtol)</div>
-<div class="line"><a name="l05353"></a><span class="lineno"> 5353</span> {</div>
-<div class="line"><a name="l05354"></a><span class="lineno"> 5354</span> <span class="comment">// check for screwy values at ends of spectrum</span></div>
-<div class="line"><a name="l05355"></a><span class="lineno"> 5355</span> cpl_table* xsky=NULL;</div>
-<div class="line"><a name="l05356"></a><span class="lineno"> 5356</span> cpl_table* xobj=NULL;</div>
-<div class="line"><a name="l05357"></a><span class="lineno"> 5357</span> </div>
-<div class="line"><a name="l05358"></a><span class="lineno"> 5358</span> <span class="keywordtype">double</span> sky_min=0;</div>
-<div class="line"><a name="l05359"></a><span class="lineno"> 5359</span> <span class="keywordtype">double</span> sky_max=0;</div>
-<div class="line"><a name="l05360"></a><span class="lineno"> 5360</span> <span class="keywordtype">double</span> gsky_min=0;</div>
-<div class="line"><a name="l05361"></a><span class="lineno"> 5361</span> <span class="keywordtype">double</span> gsky_max=0;</div>
-<div class="line"><a name="l05362"></a><span class="lineno"> 5362</span> <span class="keywordtype">double</span> obj_min=0;</div>
-<div class="line"><a name="l05363"></a><span class="lineno"> 5363</span> <span class="keywordtype">double</span> obj_max=0;</div>
-<div class="line"><a name="l05364"></a><span class="lineno"> 5364</span> <span class="keywordtype">double</span> gobj_min=0;</div>
-<div class="line"><a name="l05365"></a><span class="lineno"> 5365</span> <span class="keywordtype">double</span> gobj_max=0;</div>
-<div class="line"><a name="l05366"></a><span class="lineno"> 5366</span> </div>
-<div class="line"><a name="l05367"></a><span class="lineno"> 5367</span> cknull(*int_sky,<span class="stringliteral">"Null input sky spectrum"</span>);</div>
-<div class="line"><a name="l05368"></a><span class="lineno"> 5368</span> cknull(*int_obj,<span class="stringliteral">"Null input obj spectrum"</span>);</div>
-<div class="line"><a name="l05369"></a><span class="lineno"> 5369</span> cknull(grange,<span class="stringliteral">"Null input wavelength range"</span>);</div>
-<div class="line"><a name="l05370"></a><span class="lineno"> 5370</span> <span class="comment">//check_nomsg(cpl_table_save(*int_sky,NULL,NULL,</span></div>
-<div class="line"><a name="l05371"></a><span class="lineno"> 5371</span> <span class="comment">// "out_grange0.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l05372"></a><span class="lineno"> 5372</span> cknull_nomsg(xsky=sinfo_table_select_range(*int_sky,grange,wtol));</div>
-<div class="line"><a name="l05373"></a><span class="lineno"> 5373</span> <span class="comment">//check_nomsg(cpl_table_save(xsky,NULL,NULL,</span></div>
-<div class="line"><a name="l05374"></a><span class="lineno"> 5374</span> <span class="comment">// "out_grange1.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l05375"></a><span class="lineno"> 5375</span> check_nomsg(sky_min=cpl_table_get_column_min(xsky,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l05376"></a><span class="lineno"> 5376</span> check_nomsg(sky_max=cpl_table_get_column_max(xsky,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l05377"></a><span class="lineno"> 5377</span> <span class="comment">//sinfo_msg("gskymax=%f gskymin=%f",sky_max,sky_min);</span></div>
-<div class="line"><a name="l05378"></a><span class="lineno"> 5378</span> </div>
-<div class="line"><a name="l05379"></a><span class="lineno"> 5379</span> gsky_max = (sky_max>0) ? sky_max : 0;</div>
-<div class="line"><a name="l05380"></a><span class="lineno"> 5380</span> gsky_min = (sky_min<0) ? sky_min : 0;</div>
-<div class="line"><a name="l05381"></a><span class="lineno"> 5381</span> <span class="comment">//gsky_pos = where(int_sky > 1.*gsky_max || int_sky < 1.*gsky_min,gskypos_i);</span></div>
-<div class="line"><a name="l05382"></a><span class="lineno"> 5382</span> check_nomsg(cpl_table_select_all(*int_sky));</div>
-<div class="line"><a name="l05383"></a><span class="lineno"> 5383</span> ck0_nomsg(sinfo_table_set_nan_out_min_max(int_sky,<span class="stringliteral">"INT"</span>,gsky_min,gsky_max));</div>
-<div class="line"><a name="l05384"></a><span class="lineno"> 5384</span> <span class="comment">//check_nomsg(cpl_table_save(*int_sky,NULL,NULL,</span></div>
-<div class="line"><a name="l05385"></a><span class="lineno"> 5385</span> <span class="comment">// "out_gsky_pos.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l05386"></a><span class="lineno"> 5386</span> </div>
-<div class="line"><a name="l05387"></a><span class="lineno"> 5387</span> sinfo_free_table(&xsky);</div>
-<div class="line"><a name="l05388"></a><span class="lineno"> 5388</span> <span class="comment">//sinfo_msg("gsky_min=%f gsky_max=%f",gsky_min,gsky_max);</span></div>
-<div class="line"><a name="l05389"></a><span class="lineno"> 5389</span> </div>
-<div class="line"><a name="l05390"></a><span class="lineno"> 5390</span> cknull_nomsg(xobj=sinfo_table_select_range(*int_obj,grange,wtol));</div>
-<div class="line"><a name="l05391"></a><span class="lineno"> 5391</span> check_nomsg(obj_min=cpl_table_get_column_min(xobj,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l05392"></a><span class="lineno"> 5392</span> check_nomsg(obj_max=cpl_table_get_column_max(xobj,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l05393"></a><span class="lineno"> 5393</span> <span class="comment">//check_nomsg(cpl_table_save(xobj,NULL,NULL,"out_xobj.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l05394"></a><span class="lineno"> 5394</span> gobj_max = (obj_max>0) ? obj_max : 0;</div>
-<div class="line"><a name="l05395"></a><span class="lineno"> 5395</span> gobj_min = (obj_min<0) ? obj_min : 0;</div>
-<div class="line"><a name="l05396"></a><span class="lineno"> 5396</span> <span class="comment">//gobj_pos=where(int_obj > 1.*gobj_max || int_obj < 1.*gobj_min,gobj_pos_i);</span></div>
-<div class="line"><a name="l05397"></a><span class="lineno"> 5397</span> check_nomsg(cpl_table_select_all(*int_obj));</div>
-<div class="line"><a name="l05398"></a><span class="lineno"> 5398</span> ck0_nomsg(sinfo_table_set_nan_out_min_max(int_obj,<span class="stringliteral">"INT"</span>,gobj_min,gobj_max));</div>
-<div class="line"><a name="l05399"></a><span class="lineno"> 5399</span> <span class="comment">//check_nomsg(cpl_table_save(*int_obj,NULL,NULL,</span></div>
-<div class="line"><a name="l05400"></a><span class="lineno"> 5400</span> <span class="comment">// "out_gobj_pos.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l05401"></a><span class="lineno"> 5401</span> <span class="comment">//sinfo_msg("gobj_min=%f gobj_max=%f",gobj_min,gobj_max);</span></div>
-<div class="line"><a name="l05402"></a><span class="lineno"> 5402</span> sinfo_free_table(&xobj);</div>
-<div class="line"><a name="l05403"></a><span class="lineno"> 5403</span> </div>
-<div class="line"><a name="l05404"></a><span class="lineno"> 5404</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l05405"></a><span class="lineno"> 5405</span> cleanup:</div>
-<div class="line"><a name="l05406"></a><span class="lineno"> 5406</span> sinfo_free_table(&xsky);</div>
-<div class="line"><a name="l05407"></a><span class="lineno"> 5407</span> sinfo_free_table(&xobj);</div>
-<div class="line"><a name="l05408"></a><span class="lineno"> 5408</span> </div>
-<div class="line"><a name="l05409"></a><span class="lineno"> 5409</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l05410"></a><span class="lineno"> 5410</span> </div>
-<div class="line"><a name="l05411"></a><span class="lineno"> 5411</span> </div>
-<div class="line"><a name="l05412"></a><span class="lineno"> 5412</span> }</div>
-<div class="line"><a name="l05413"></a><span class="lineno"> 5413</span> </div>
-<div class="line"><a name="l05414"></a><span class="lineno"> 5414</span> </div>
-<div class="line"><a name="l05415"></a><span class="lineno"> 5415</span> </div>
-<div class="line"><a name="l05425"></a><span class="lineno"> 5425</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l05426"></a><span class="lineno"> 5426</span> sinfo_table_fill_column_over_range(cpl_table** inp,</div>
-<div class="line"><a name="l05427"></a><span class="lineno"> 5427</span> <span class="keyword">const</span> cpl_table* ref,</div>
-<div class="line"><a name="l05428"></a><span class="lineno"> 5428</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col,</div>
-<div class="line"><a name="l05429"></a><span class="lineno"> 5429</span> <span class="keyword">const</span> <span class="keywordtype">double</span> val,</div>
-<div class="line"><a name="l05430"></a><span class="lineno"> 5430</span> <span class="keyword">const</span> <span class="keywordtype">double</span> tol)</div>
-<div class="line"><a name="l05431"></a><span class="lineno"> 5431</span> {</div>
-<div class="line"><a name="l05432"></a><span class="lineno"> 5432</span> </div>
-<div class="line"><a name="l05433"></a><span class="lineno"> 5433</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l05434"></a><span class="lineno"> 5434</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l05435"></a><span class="lineno"> 5435</span> <span class="keywordtype">int</span> nref=0;</div>
-<div class="line"><a name="l05436"></a><span class="lineno"> 5436</span> <span class="keywordtype">int</span> ninp=0;</div>
-<div class="line"><a name="l05437"></a><span class="lineno"> 5437</span> </div>
-<div class="line"><a name="l05438"></a><span class="lineno"> 5438</span> <span class="keywordtype">double</span>* pwin=NULL;</div>
-<div class="line"><a name="l05439"></a><span class="lineno"> 5439</span> <span class="keywordtype">double</span>* pcin=NULL;</div>
-<div class="line"><a name="l05440"></a><span class="lineno"> 5440</span> <span class="keyword">const</span> <span class="keywordtype">double</span>* pwrf=NULL;</div>
-<div class="line"><a name="l05441"></a><span class="lineno"> 5441</span> </div>
-<div class="line"><a name="l05442"></a><span class="lineno"> 5442</span> cknull(inp,<span class="stringliteral">"null input table"</span>);</div>
-<div class="line"><a name="l05443"></a><span class="lineno"> 5443</span> cknull(ref,<span class="stringliteral">"null reference table"</span>);</div>
-<div class="line"><a name="l05444"></a><span class="lineno"> 5444</span> </div>
-<div class="line"><a name="l05445"></a><span class="lineno"> 5445</span> check_nomsg(ninp=cpl_table_get_nrow(*inp));</div>
-<div class="line"><a name="l05446"></a><span class="lineno"> 5446</span> check_nomsg(nref=cpl_table_get_nrow(ref));</div>
-<div class="line"><a name="l05447"></a><span class="lineno"> 5447</span> check_nomsg(pwin=cpl_table_get_data_double(*inp,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l05448"></a><span class="lineno"> 5448</span> check_nomsg(pcin=cpl_table_get_data_double(*inp,col));</div>
-<div class="line"><a name="l05449"></a><span class="lineno"> 5449</span> check_nomsg(pwrf=cpl_table_get_data_double_const(ref,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l05450"></a><span class="lineno"> 5450</span> </div>
-<div class="line"><a name="l05451"></a><span class="lineno"> 5451</span> k=0;</div>
-<div class="line"><a name="l05452"></a><span class="lineno"> 5452</span> i=0;</div>
-<div class="line"><a name="l05453"></a><span class="lineno"> 5453</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l05454"></a><span class="lineno"> 5454</span> <span class="comment"> sinfo_msg("ninp=%d nref=%d",ninp,nref);</span></div>
-<div class="line"><a name="l05455"></a><span class="lineno"> 5455</span> <span class="comment"> sinfo_msg("winp(0)=%f wref(0)=%f tol=%f diff=%f",</span></div>
-<div class="line"><a name="l05456"></a><span class="lineno"> 5456</span> <span class="comment"> pwin[0],pwrf[0],tol,fabs(pwin[0]-pwrf[0]));</span></div>
-<div class="line"><a name="l05457"></a><span class="lineno"> 5457</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l05458"></a><span class="lineno"> 5458</span> <span class="keywordflow">if</span>(pwin[0]<=pwrf[0]) {</div>
-<div class="line"><a name="l05459"></a><span class="lineno"> 5459</span> <span class="comment">//sinfo_msg("case 1");</span></div>
-<div class="line"><a name="l05460"></a><span class="lineno"> 5460</span> <span class="keywordflow">for</span>(i=0;i<ninp;i++) {</div>
-<div class="line"><a name="l05461"></a><span class="lineno"> 5461</span> <span class="keywordflow">if</span>(k<nref) {</div>
-<div class="line"><a name="l05462"></a><span class="lineno"> 5462</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l05463"></a><span class="lineno"> 5463</span> <span class="comment"> sinfo_msg("case1: %f %f %f %f %d %d",</span></div>
-<div class="line"><a name="l05464"></a><span class="lineno"> 5464</span> <span class="comment"> fabs(pwin[i] - pwrf[k]),tol,pwin[i],pwrf[k],i,k);</span></div>
-<div class="line"><a name="l05465"></a><span class="lineno"> 5465</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l05466"></a><span class="lineno"> 5466</span> <span class="keywordflow">if</span>(fabs(pwin[i] - pwrf[k])< tol) {</div>
-<div class="line"><a name="l05467"></a><span class="lineno"> 5467</span> pcin[i]=val;</div>
-<div class="line"><a name="l05468"></a><span class="lineno"> 5468</span> k++;</div>
-<div class="line"><a name="l05469"></a><span class="lineno"> 5469</span> }</div>
-<div class="line"><a name="l05470"></a><span class="lineno"> 5470</span> }</div>
-<div class="line"><a name="l05471"></a><span class="lineno"> 5471</span> }</div>
-<div class="line"><a name="l05472"></a><span class="lineno"> 5472</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l05473"></a><span class="lineno"> 5473</span> </div>
-<div class="line"><a name="l05474"></a><span class="lineno"> 5474</span> <span class="comment">//pwin[0]>pwrf[0]</span></div>
-<div class="line"><a name="l05475"></a><span class="lineno"> 5475</span> <span class="comment">//sinfo_msg("case 2");</span></div>
-<div class="line"><a name="l05476"></a><span class="lineno"> 5476</span> <span class="keywordflow">for</span>(k=0;k<nref;k++) {</div>
-<div class="line"><a name="l05477"></a><span class="lineno"> 5477</span> <span class="keywordflow">if</span>(i<ninp) {</div>
-<div class="line"><a name="l05478"></a><span class="lineno"> 5478</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l05479"></a><span class="lineno"> 5479</span> <span class="comment"> sinfo_msg("case2: %f %f %f %f %d %d",</span></div>
-<div class="line"><a name="l05480"></a><span class="lineno"> 5480</span> <span class="comment"> fabs(pwin[i] - pwrf[k]),tol,pwin[i],pwrf[k],i,k);</span></div>
-<div class="line"><a name="l05481"></a><span class="lineno"> 5481</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l05482"></a><span class="lineno"> 5482</span> <span class="keywordflow">if</span>(fabs(pwin[i] - pwrf[k])< tol) {</div>
-<div class="line"><a name="l05483"></a><span class="lineno"> 5483</span> pcin[i]=val;</div>
-<div class="line"><a name="l05484"></a><span class="lineno"> 5484</span> i++;</div>
-<div class="line"><a name="l05485"></a><span class="lineno"> 5485</span> }</div>
-<div class="line"><a name="l05486"></a><span class="lineno"> 5486</span> }</div>
-<div class="line"><a name="l05487"></a><span class="lineno"> 5487</span> }</div>
-<div class="line"><a name="l05488"></a><span class="lineno"> 5488</span> }</div>
-<div class="line"><a name="l05489"></a><span class="lineno"> 5489</span> </div>
-<div class="line"><a name="l05490"></a><span class="lineno"> 5490</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l05491"></a><span class="lineno"> 5491</span> </div>
-<div class="line"><a name="l05492"></a><span class="lineno"> 5492</span> cleanup:</div>
-<div class="line"><a name="l05493"></a><span class="lineno"> 5493</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l05494"></a><span class="lineno"> 5494</span> </div>
-<div class="line"><a name="l05495"></a><span class="lineno"> 5495</span> }</div>
-<div class="line"><a name="l05496"></a><span class="lineno"> 5496</span> </div>
-<div class="line"><a name="l05497"></a><span class="lineno"> 5497</span> </div>
-<div class="line"><a name="l05506"></a><span class="lineno"> 5506</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l05507"></a><span class="lineno"> 5507</span> sinfo_table_select_range(cpl_table* inp, cpl_table* ref,<span class="keyword">const</span> <span class="keywordtype">double</span> tol)</div>
-<div class="line"><a name="l05508"></a><span class="lineno"> 5508</span> {</div>
-<div class="line"><a name="l05509"></a><span class="lineno"> 5509</span> </div>
-<div class="line"><a name="l05510"></a><span class="lineno"> 5510</span> cpl_table* out=NULL;</div>
-<div class="line"><a name="l05511"></a><span class="lineno"> 5511</span> <span class="keywordtype">int</span> ninp=0;</div>
-<div class="line"><a name="l05512"></a><span class="lineno"> 5512</span> <span class="keywordtype">int</span> nref=0;</div>
-<div class="line"><a name="l05513"></a><span class="lineno"> 5513</span> <span class="keywordtype">int</span> nout=0;</div>
-<div class="line"><a name="l05514"></a><span class="lineno"> 5514</span> </div>
-<div class="line"><a name="l05515"></a><span class="lineno"> 5515</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l05516"></a><span class="lineno"> 5516</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l05517"></a><span class="lineno"> 5517</span> <span class="keywordtype">double</span>* pou;</div>
-<div class="line"><a name="l05518"></a><span class="lineno"> 5518</span> <span class="keywordtype">double</span>* prf;</div>
-<div class="line"><a name="l05519"></a><span class="lineno"> 5519</span> <span class="keywordtype">double</span> wmin=0;</div>
-<div class="line"><a name="l05520"></a><span class="lineno"> 5520</span> <span class="keywordtype">double</span> wmax=0;</div>
-<div class="line"><a name="l05521"></a><span class="lineno"> 5521</span> cpl_table* tmp=NULL;</div>
-<div class="line"><a name="l05522"></a><span class="lineno"> 5522</span> cknull(inp,<span class="stringliteral">"null input table"</span>);</div>
-<div class="line"><a name="l05523"></a><span class="lineno"> 5523</span> cknull(ref,<span class="stringliteral">"null reference table"</span>);</div>
-<div class="line"><a name="l05524"></a><span class="lineno"> 5524</span> </div>
-<div class="line"><a name="l05525"></a><span class="lineno"> 5525</span> check_nomsg(ninp=cpl_table_get_nrow(inp));</div>
-<div class="line"><a name="l05526"></a><span class="lineno"> 5526</span> check_nomsg(nref=cpl_table_get_nrow(ref));</div>
-<div class="line"><a name="l05527"></a><span class="lineno"> 5527</span> <span class="keywordflow">if</span>(ninp != nref) {</div>
-<div class="line"><a name="l05528"></a><span class="lineno"> 5528</span> <span class="comment">//sinfo_msg_warning("ninp != nref");</span></div>
-<div class="line"><a name="l05529"></a><span class="lineno"> 5529</span> check_nomsg(wmin=cpl_table_get_column_min(ref,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l05530"></a><span class="lineno"> 5530</span> check_nomsg(wmax=cpl_table_get_column_max(ref,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l05531"></a><span class="lineno"> 5531</span> <span class="comment">//sinfo_msg_debug("wmin=%f wmax=%f",wmin,wmax);</span></div>
-<div class="line"><a name="l05532"></a><span class="lineno"> 5532</span> cpl_table_select_all(inp);</div>
-<div class="line"><a name="l05533"></a><span class="lineno"> 5533</span> check_nomsg(ninp=cpl_table_and_selected_double(inp,<span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l05534"></a><span class="lineno"> 5534</span> CPL_NOT_LESS_THAN,wmin));</div>
-<div class="line"><a name="l05535"></a><span class="lineno"> 5535</span> check_nomsg(tmp=cpl_table_extract_selected(inp));</div>
-<div class="line"><a name="l05536"></a><span class="lineno"> 5536</span> check_nomsg(ninp=cpl_table_and_selected_double(tmp,<span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l05537"></a><span class="lineno"> 5537</span> CPL_NOT_GREATER_THAN,wmax));</div>
-<div class="line"><a name="l05538"></a><span class="lineno"> 5538</span> check_nomsg(out=cpl_table_extract_selected(tmp));</div>
-<div class="line"><a name="l05539"></a><span class="lineno"> 5539</span> sinfo_free_table(&tmp);</div>
-<div class="line"><a name="l05540"></a><span class="lineno"> 5540</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l05541"></a><span class="lineno"> 5541</span> check_nomsg(out=cpl_table_duplicate(inp));</div>
-<div class="line"><a name="l05542"></a><span class="lineno"> 5542</span> }</div>
-<div class="line"><a name="l05543"></a><span class="lineno"> 5543</span> </div>
-<div class="line"><a name="l05544"></a><span class="lineno"> 5544</span> check_nomsg(nout=cpl_table_get_nrow(out));</div>
-<div class="line"><a name="l05545"></a><span class="lineno"> 5545</span> <span class="keywordflow">if</span>(nout == 0) {</div>
-<div class="line"><a name="l05546"></a><span class="lineno"> 5546</span> <span class="comment">//sinfo_msg("nout=%d",nout);</span></div>
-<div class="line"><a name="l05547"></a><span class="lineno"> 5547</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l05548"></a><span class="lineno"> 5548</span> }</div>
-<div class="line"><a name="l05549"></a><span class="lineno"> 5549</span> tmp=cpl_table_duplicate(out);</div>
-<div class="line"><a name="l05550"></a><span class="lineno"> 5550</span> sinfo_free_table(&out);</div>
-<div class="line"><a name="l05551"></a><span class="lineno"> 5551</span> check_nomsg(pou=cpl_table_get_data_double(tmp,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l05552"></a><span class="lineno"> 5552</span> check_nomsg(prf=cpl_table_get_data_double(ref,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l05553"></a><span class="lineno"> 5553</span> </div>
-<div class="line"><a name="l05554"></a><span class="lineno"> 5554</span> check_nomsg(cpl_table_new_column(tmp,<span class="stringliteral">"FLAG"</span>,CPL_TYPE_INT));</div>
-<div class="line"><a name="l05555"></a><span class="lineno"> 5555</span> check_nomsg(cpl_table_fill_column_window(tmp,<span class="stringliteral">"FLAG"</span>,0,nout,-1));</div>
-<div class="line"><a name="l05556"></a><span class="lineno"> 5556</span> </div>
-<div class="line"><a name="l05557"></a><span class="lineno"> 5557</span> k=0;</div>
-<div class="line"><a name="l05558"></a><span class="lineno"> 5558</span> i=0;</div>
-<div class="line"><a name="l05559"></a><span class="lineno"> 5559</span> </div>
-<div class="line"><a name="l05560"></a><span class="lineno"> 5560</span> <span class="comment">//sinfo_msg_debug("nout=%d nref=%d",nout,nref);</span></div>
-<div class="line"><a name="l05561"></a><span class="lineno"> 5561</span> <span class="comment">//sinfo_msg_debug("wout(0)=%f wref(0)=%f tol=%f diff=%f",</span></div>
-<div class="line"><a name="l05562"></a><span class="lineno"> 5562</span> <span class="comment">// pou[0],prf[0],tol,fabs(pou[0]-prf[0]));</span></div>
-<div class="line"><a name="l05563"></a><span class="lineno"> 5563</span> </div>
-<div class="line"><a name="l05564"></a><span class="lineno"> 5564</span> <span class="keywordflow">if</span>(pou[0]<=prf[0]) {</div>
-<div class="line"><a name="l05565"></a><span class="lineno"> 5565</span> <span class="comment">//sinfo_msg_debug("case 1");</span></div>
-<div class="line"><a name="l05566"></a><span class="lineno"> 5566</span> <span class="keywordflow">for</span>(i=0;i<nout;i++) {</div>
-<div class="line"><a name="l05567"></a><span class="lineno"> 5567</span> <span class="keywordflow">if</span>(k<nref) {</div>
-<div class="line"><a name="l05568"></a><span class="lineno"> 5568</span> <span class="keywordflow">if</span>(fabs(pou[i] - prf[k])< tol) {</div>
-<div class="line"><a name="l05569"></a><span class="lineno"> 5569</span> check_nomsg(cpl_table_set_int(tmp,<span class="stringliteral">"FLAG"</span>,i,1));</div>
-<div class="line"><a name="l05570"></a><span class="lineno"> 5570</span> k++;</div>
-<div class="line"><a name="l05571"></a><span class="lineno"> 5571</span> }</div>
-<div class="line"><a name="l05572"></a><span class="lineno"> 5572</span> }</div>
-<div class="line"><a name="l05573"></a><span class="lineno"> 5573</span> }</div>
-<div class="line"><a name="l05574"></a><span class="lineno"> 5574</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l05575"></a><span class="lineno"> 5575</span> </div>
-<div class="line"><a name="l05576"></a><span class="lineno"> 5576</span> <span class="comment">//pou[0]>prf[0]</span></div>
-<div class="line"><a name="l05577"></a><span class="lineno"> 5577</span> <span class="comment">//sinfo_msg_debug("case 2");</span></div>
-<div class="line"><a name="l05578"></a><span class="lineno"> 5578</span> <span class="keywordflow">for</span>(k=0;k<nref;k++) {</div>
-<div class="line"><a name="l05579"></a><span class="lineno"> 5579</span> <span class="keywordflow">if</span>(i<nout) {</div>
-<div class="line"><a name="l05580"></a><span class="lineno"> 5580</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l05581"></a><span class="lineno"> 5581</span> <span class="comment"> sinfo_msg("check: %f %f %f %f",</span></div>
-<div class="line"><a name="l05582"></a><span class="lineno"> 5582</span> <span class="comment"> fabs(pou[i] - prf[k]),tol,pou[i],prf[k]);</span></div>
-<div class="line"><a name="l05583"></a><span class="lineno"> 5583</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l05584"></a><span class="lineno"> 5584</span> <span class="keywordflow">if</span>(fabs(pou[i] - prf[k])< tol) {</div>
-<div class="line"><a name="l05585"></a><span class="lineno"> 5585</span> check_nomsg(cpl_table_set_int(tmp,<span class="stringliteral">"FLAG"</span>,i,1));</div>
-<div class="line"><a name="l05586"></a><span class="lineno"> 5586</span> i++;</div>
-<div class="line"><a name="l05587"></a><span class="lineno"> 5587</span> }</div>
-<div class="line"><a name="l05588"></a><span class="lineno"> 5588</span> }</div>
-<div class="line"><a name="l05589"></a><span class="lineno"> 5589</span> }</div>
-<div class="line"><a name="l05590"></a><span class="lineno"> 5590</span> }</div>
-<div class="line"><a name="l05591"></a><span class="lineno"> 5591</span> <span class="comment">//check_nomsg(cpl_table_save(tmp,NULL,NULL,"out_pre0.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l05592"></a><span class="lineno"> 5592</span> check_nomsg(nout=cpl_table_and_selected_int(tmp,<span class="stringliteral">"FLAG"</span>,CPL_GREATER_THAN,0));</div>
-<div class="line"><a name="l05593"></a><span class="lineno"> 5593</span> check_nomsg(out=cpl_table_extract_selected(tmp));</div>
-<div class="line"><a name="l05594"></a><span class="lineno"> 5594</span> sinfo_free_table(&tmp);</div>
-<div class="line"><a name="l05595"></a><span class="lineno"> 5595</span> check_nomsg(cpl_table_erase_column(out,<span class="stringliteral">"FLAG"</span>));</div>
-<div class="line"><a name="l05596"></a><span class="lineno"> 5596</span> <span class="keywordflow">if</span>(nout==0) {</div>
-<div class="line"><a name="l05597"></a><span class="lineno"> 5597</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l05598"></a><span class="lineno"> 5598</span> }</div>
-<div class="line"><a name="l05599"></a><span class="lineno"> 5599</span> <span class="comment">//check_nomsg(cpl_table_save(out,NULL,NULL,"out_post0.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l05600"></a><span class="lineno"> 5600</span> <span class="comment">/* sinfo_msg("nout=%d",nout); */</span></div>
-<div class="line"><a name="l05601"></a><span class="lineno"> 5601</span> <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l05602"></a><span class="lineno"> 5602</span> </div>
-<div class="line"><a name="l05603"></a><span class="lineno"> 5603</span> cleanup:</div>
-<div class="line"><a name="l05604"></a><span class="lineno"> 5604</span> sinfo_free_table(&tmp);</div>
-<div class="line"><a name="l05605"></a><span class="lineno"> 5605</span> sinfo_free_table(&out);</div>
-<div class="line"><a name="l05606"></a><span class="lineno"> 5606</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l05607"></a><span class="lineno"> 5607</span> </div>
-<div class="line"><a name="l05608"></a><span class="lineno"> 5608</span> }</div>
-<div class="line"><a name="l05609"></a><span class="lineno"> 5609</span> </div>
-<div class="line"><a name="l05619"></a><span class="lineno"> 5619</span> cpl_table*</div>
-<div class="line"><a name="l05620"></a><span class="lineno"> 5620</span> sinfo_interpolate_sky(<span class="keyword">const</span> cpl_table* inp,<span class="keyword">const</span> cpl_table* lambdas)</div>
-<div class="line"><a name="l05621"></a><span class="lineno"> 5621</span> {</div>
-<div class="line"><a name="l05622"></a><span class="lineno"> 5622</span> <span class="comment">//interpolate sky if necessary</span></div>
-<div class="line"><a name="l05623"></a><span class="lineno"> 5623</span> cpl_table* <span class="keyword">new</span>=NULL;</div>
-<div class="line"><a name="l05624"></a><span class="lineno"> 5624</span> <span class="keyword">new</span> = sinfo_interpolate(inp,lambdas,<span class="stringliteral">"WAVE"</span>,<span class="stringliteral">"lsquadratic"</span>);;</div>
-<div class="line"><a name="l05625"></a><span class="lineno"> 5625</span> </div>
-<div class="line"><a name="l05626"></a><span class="lineno"> 5626</span> <span class="keywordflow">return</span> <span class="keyword">new</span>;</div>
-<div class="line"><a name="l05627"></a><span class="lineno"> 5627</span> }</div>
-<div class="line"><a name="l05628"></a><span class="lineno"> 5628</span> </div>
-<div class="line"><a name="l05629"></a><span class="lineno"> 5629</span> </div>
-<div class="line"><a name="l05639"></a><span class="lineno"> 5639</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l05640"></a><span class="lineno"> 5640</span> sinfo_interpolate(<span class="keyword">const</span> cpl_table* inp,</div>
-<div class="line"><a name="l05641"></a><span class="lineno"> 5641</span> <span class="keyword">const</span> cpl_table* lambdas,</div>
-<div class="line"><a name="l05642"></a><span class="lineno"> 5642</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name,</div>
-<div class="line"><a name="l05643"></a><span class="lineno"> 5643</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* method)</div>
-<div class="line"><a name="l05644"></a><span class="lineno"> 5644</span> {</div>
-<div class="line"><a name="l05645"></a><span class="lineno"> 5645</span> <span class="comment">//TODO</span></div>
-<div class="line"><a name="l05646"></a><span class="lineno"> 5646</span> cpl_table* out=NULL;</div>
-<div class="line"><a name="l05647"></a><span class="lineno"> 5647</span> </div>
-<div class="line"><a name="l05648"></a><span class="lineno"> 5648</span> <span class="comment">//To remove compilation warnings</span></div>
-<div class="line"><a name="l05649"></a><span class="lineno"> 5649</span> cknull_nomsg(lambdas);</div>
-<div class="line"><a name="l05650"></a><span class="lineno"> 5650</span> cknull_nomsg(name);</div>
-<div class="line"><a name="l05651"></a><span class="lineno"> 5651</span> cknull_nomsg(method);</div>
-<div class="line"><a name="l05652"></a><span class="lineno"> 5652</span> </div>
-<div class="line"><a name="l05653"></a><span class="lineno"> 5653</span> out=cpl_table_duplicate(inp);</div>
-<div class="line"><a name="l05654"></a><span class="lineno"> 5654</span> <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l05655"></a><span class="lineno"> 5655</span> </div>
-<div class="line"><a name="l05656"></a><span class="lineno"> 5656</span> cleanup:</div>
-<div class="line"><a name="l05657"></a><span class="lineno"> 5657</span> </div>
-<div class="line"><a name="l05658"></a><span class="lineno"> 5658</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l05659"></a><span class="lineno"> 5659</span> </div>
-<div class="line"><a name="l05660"></a><span class="lineno"> 5660</span> }</div>
-<div class="line"><a name="l05661"></a><span class="lineno"> 5661</span> </div>
-<div class="line"><a name="l05662"></a><span class="lineno"> 5662</span> </div>
-<div class="line"><a name="l05663"></a><span class="lineno"> 5663</span> </div>
-<div class="line"><a name="l05676"></a><span class="lineno"> 5676</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l05677"></a><span class="lineno"> 5677</span> sinfo_gaussian_amp(<span class="keywordtype">double</span> area,<span class="keywordtype">double</span> sigma,<span class="keywordtype">double</span> x,<span class="keywordtype">double</span> x0,<span class="keywordtype">double</span> off)</div>
-<div class="line"><a name="l05678"></a><span class="lineno"> 5678</span> {</div>
-<div class="line"><a name="l05679"></a><span class="lineno"> 5679</span> <span class="keywordflow">return</span> area/sqrt(2*PI_NUMB*sigma*sigma)*</div>
-<div class="line"><a name="l05680"></a><span class="lineno"> 5680</span> exp(-(x-x0)*(x-x0)/(2*sigma*sigma))+off;</div>
-<div class="line"><a name="l05681"></a><span class="lineno"> 5681</span> }</div>
-<div class="line"><a name="l05682"></a><span class="lineno"> 5682</span> </div>
-<div class="line"><a name="l05683"></a><span class="lineno"> 5683</span> </div>
-<div class="line"><a name="l05696"></a><span class="lineno"> 5696</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l05697"></a><span class="lineno"> 5697</span> sinfo_gaussian_area(<span class="keywordtype">double</span> amp,<span class="keywordtype">double</span> sigma,<span class="keywordtype">double</span> x,<span class="keywordtype">double</span> x0,<span class="keywordtype">double</span> off)</div>
-<div class="line"><a name="l05698"></a><span class="lineno"> 5698</span> {</div>
-<div class="line"><a name="l05699"></a><span class="lineno"> 5699</span> <span class="keywordflow">return</span> sqrt(2*PI_NUMB*sigma*sigma)*exp((x-x0)*(x-x0)/(2*sigma*sigma))*</div>
-<div class="line"><a name="l05700"></a><span class="lineno"> 5700</span> (amp-off);</div>
-<div class="line"><a name="l05701"></a><span class="lineno"> 5701</span> }</div>
-<div class="line"><a name="l05702"></a><span class="lineno"> 5702</span> </div>
-<div class="line"><a name="l05703"></a><span class="lineno"> 5703</span> </div>
-<div class="line"><a name="l05710"></a><span class="lineno"> 5710</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l05711"></a><span class="lineno"> 5711</span> sinfo_table_smooth_column(cpl_table** t, <span class="keyword">const</span> <span class="keywordtype">char</span>* c, <span class="keyword">const</span> <span class="keywordtype">int</span> r)</div>
-<div class="line"><a name="l05712"></a><span class="lineno"> 5712</span> {</div>
-<div class="line"><a name="l05713"></a><span class="lineno"> 5713</span> <span class="keywordtype">int</span> nrow=0;</div>
-<div class="line"><a name="l05714"></a><span class="lineno"> 5714</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l05715"></a><span class="lineno"> 5715</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l05716"></a><span class="lineno"> 5716</span> <span class="keywordtype">double</span>* pval=NULL;</div>
-<div class="line"><a name="l05717"></a><span class="lineno"> 5717</span> <span class="keywordtype">double</span> sum;</div>
-<div class="line"><a name="l05718"></a><span class="lineno"> 5718</span> check_nomsg(nrow=cpl_table_get_nrow(*t));</div>
-<div class="line"><a name="l05719"></a><span class="lineno"> 5719</span> check_nomsg(pval=cpl_table_get_data_double(*t,c));</div>
-<div class="line"><a name="l05720"></a><span class="lineno"> 5720</span> <span class="keywordflow">for</span>(i=r;i<nrow;i++) {</div>
-<div class="line"><a name="l05721"></a><span class="lineno"> 5721</span> sum=0;</div>
-<div class="line"><a name="l05722"></a><span class="lineno"> 5722</span> <span class="keywordflow">for</span>(j=-r;j<=r;j++) {</div>
-<div class="line"><a name="l05723"></a><span class="lineno"> 5723</span> sum+=pval[i+j];</div>
-<div class="line"><a name="l05724"></a><span class="lineno"> 5724</span> }</div>
-<div class="line"><a name="l05725"></a><span class="lineno"> 5725</span> pval[i]=sum/(2*r+1);</div>
-<div class="line"><a name="l05726"></a><span class="lineno"> 5726</span> }</div>
-<div class="line"><a name="l05727"></a><span class="lineno"> 5727</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l05728"></a><span class="lineno"> 5728</span> cleanup:</div>
-<div class="line"><a name="l05729"></a><span class="lineno"> 5729</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l05730"></a><span class="lineno"> 5730</span> }</div>
-<div class="line"><a name="l05731"></a><span class="lineno"> 5731</span> </div>
-<div class="line"><a name="l05740"></a><span class="lineno"> 5740</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l05741"></a><span class="lineno"> 5741</span> sinfo_shift_sky(cpl_frame** sky_frm,</div>
-<div class="line"><a name="l05742"></a><span class="lineno"> 5742</span> cpl_table** int_sky,</div>
-<div class="line"><a name="l05743"></a><span class="lineno"> 5743</span> <span class="keyword">const</span> <span class="keywordtype">double</span> zshift)</div>
-<div class="line"><a name="l05744"></a><span class="lineno"> 5744</span> {</div>
-<div class="line"><a name="l05745"></a><span class="lineno"> 5745</span> </div>
-<div class="line"><a name="l05746"></a><span class="lineno"> 5746</span> <span class="keywordtype">int</span> xsz=0;</div>
-<div class="line"><a name="l05747"></a><span class="lineno"> 5747</span> <span class="keywordtype">int</span> ysz=0;</div>
-<div class="line"><a name="l05748"></a><span class="lineno"> 5748</span> <span class="keywordtype">int</span> zsz=0;</div>
-<div class="line"><a name="l05749"></a><span class="lineno"> 5749</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l05750"></a><span class="lineno"> 5750</span> cpl_imagelist* sky_cub=NULL;</div>
-<div class="line"><a name="l05751"></a><span class="lineno"> 5751</span> cpl_imagelist* sky_shift=NULL;</div>
-<div class="line"><a name="l05752"></a><span class="lineno"> 5752</span> cpl_table* int_sky_dup=NULL;</div>
-<div class="line"><a name="l05753"></a><span class="lineno"> 5753</span> </div>
-<div class="line"><a name="l05754"></a><span class="lineno"> 5754</span> <span class="keywordtype">double</span> min=0;</div>
-<div class="line"><a name="l05755"></a><span class="lineno"> 5755</span> <span class="keywordtype">double</span> max=0;</div>
-<div class="line"><a name="l05756"></a><span class="lineno"> 5756</span> </div>
-<div class="line"><a name="l05757"></a><span class="lineno"> 5757</span> <span class="comment">/* Get Object relevant information */</span></div>
-<div class="line"><a name="l05758"></a><span class="lineno"> 5758</span> cknull_nomsg(plist=cpl_propertylist_load(</div>
-<div class="line"><a name="l05759"></a><span class="lineno"> 5759</span> cpl_frame_get_filename(*sky_frm),0));</div>
-<div class="line"><a name="l05760"></a><span class="lineno"> 5760</span> </div>
-<div class="line"><a name="l05761"></a><span class="lineno"> 5761</span> check_nomsg(xsz=sinfo_pfits_get_naxis1(plist));</div>
-<div class="line"><a name="l05762"></a><span class="lineno"> 5762</span> check_nomsg(ysz=sinfo_pfits_get_naxis2(plist));</div>
-<div class="line"><a name="l05763"></a><span class="lineno"> 5763</span> check_nomsg(zsz=sinfo_pfits_get_naxis3(plist));</div>
-<div class="line"><a name="l05764"></a><span class="lineno"> 5764</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l05765"></a><span class="lineno"> 5765</span> </div>
-<div class="line"><a name="l05766"></a><span class="lineno"> 5766</span> cknull_nomsg(sky_cub=cpl_imagelist_load(cpl_frame_get_filename(*sky_frm),</div>
-<div class="line"><a name="l05767"></a><span class="lineno"> 5767</span> CPL_TYPE_FLOAT,0));</div>
-<div class="line"><a name="l05768"></a><span class="lineno"> 5768</span> </div>
-<div class="line"><a name="l05769"></a><span class="lineno"> 5769</span> check_nomsg(min=cpl_table_get_column_min(*int_sky,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l05770"></a><span class="lineno"> 5770</span> check_nomsg(max=cpl_table_get_column_max(*int_sky,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l05771"></a><span class="lineno"> 5771</span> int_sky_dup=cpl_table_duplicate(*int_sky);</div>
-<div class="line"><a name="l05772"></a><span class="lineno"> 5772</span> sinfo_free_table(&(*int_sky));</div>
-<div class="line"><a name="l05773"></a><span class="lineno"> 5773</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l05774"></a><span class="lineno"> 5774</span> <span class="comment"> cknull_nomsg(*int_sky=sinfo_table_shift_column_int(int_sky_dup,</span></div>
-<div class="line"><a name="l05775"></a><span class="lineno"> 5775</span> <span class="comment"> "INT", zshift,&zrest));</span></div>
-<div class="line"><a name="l05776"></a><span class="lineno"> 5776</span> <span class="comment"> check_nomsg(cpl_table_save(*int_sky, NULL, NULL,</span></div>
-<div class="line"><a name="l05777"></a><span class="lineno"> 5777</span> <span class="comment"> "out_sky_shift1.fits", CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l05778"></a><span class="lineno"> 5778</span> <span class="comment"> sinfo_free_table(&(*int_sky));</span></div>
-<div class="line"><a name="l05779"></a><span class="lineno"> 5779</span> <span class="comment"></span></div>
-<div class="line"><a name="l05780"></a><span class="lineno"> 5780</span> <span class="comment"> sinfo_msg("min=%f max=%f",min,max);</span></div>
-<div class="line"><a name="l05781"></a><span class="lineno"> 5781</span> <span class="comment"> check_nomsg(cpl_table_save(int_sky_dup, NULL, NULL,</span></div>
-<div class="line"><a name="l05782"></a><span class="lineno"> 5782</span> <span class="comment"> "out_sky_pre2.fits", CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l05783"></a><span class="lineno"> 5783</span> <span class="comment"> cknull_nomsg(*int_sky=sinfo_table_shift_column_poly(int_sky_dup,</span></div>
-<div class="line"><a name="l05784"></a><span class="lineno"> 5784</span> <span class="comment"> "INT", zshift,2));</span></div>
-<div class="line"><a name="l05785"></a><span class="lineno"> 5785</span> <span class="comment"> check_nomsg(cpl_table_save(*int_sky, NULL, NULL,</span></div>
-<div class="line"><a name="l05786"></a><span class="lineno"> 5786</span> <span class="comment"> "out_sky_shift2.fits", CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l05787"></a><span class="lineno"> 5787</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l05788"></a><span class="lineno"> 5788</span> <span class="comment">//check_nomsg(cpl_table_save(int_sky_dup, NULL, NULL,</span></div>
-<div class="line"><a name="l05789"></a><span class="lineno"> 5789</span> <span class="comment">// "out_sky_pre2.fits", CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l05790"></a><span class="lineno"> 5790</span> check_nomsg(*int_sky=sinfo_table_shift_simple(int_sky_dup,<span class="stringliteral">"INT"</span>,zshift));</div>
-<div class="line"><a name="l05791"></a><span class="lineno"> 5791</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l05792"></a><span class="lineno"> 5792</span> <span class="comment"> sinfo_free_table(&(*int_sky));</span></div>
-<div class="line"><a name="l05793"></a><span class="lineno"> 5793</span> <span class="comment"> cknull_nomsg(*int_sky=sinfo_table_shift_column_spline3(int_sky_dup,</span></div>
-<div class="line"><a name="l05794"></a><span class="lineno"> 5794</span> <span class="comment"> "INT", zshift));</span></div>
-<div class="line"><a name="l05795"></a><span class="lineno"> 5795</span> <span class="comment"> check_nomsg(cpl_table_save(*int_sky, NULL, NULL,</span></div>
-<div class="line"><a name="l05796"></a><span class="lineno"> 5796</span> <span class="comment"> "out_sky_shift3.fits", CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l05797"></a><span class="lineno"> 5797</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l05798"></a><span class="lineno"> 5798</span> sinfo_free_table(&int_sky_dup);</div>
-<div class="line"><a name="l05799"></a><span class="lineno"> 5799</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l05800"></a><span class="lineno"> 5800</span> <span class="comment"> check_nomsg(cpl_table_select_all(*int_sky));</span></div>
-<div class="line"><a name="l05801"></a><span class="lineno"> 5801</span> <span class="comment"> check_nomsg(n=cpl_table_and_selected_double(*int_sky,"INT",</span></div>
-<div class="line"><a name="l05802"></a><span class="lineno"> 5802</span> <span class="comment"> CPL_LESS_THAN,min));</span></div>
-<div class="line"><a name="l05803"></a><span class="lineno"> 5803</span> <span class="comment"> ck0_nomsg(sinfo_table_set_column_invalid(int_sky,"INT"));</span></div>
-<div class="line"><a name="l05804"></a><span class="lineno"> 5804</span> <span class="comment"> sinfo_msg("n=%d",n);</span></div>
-<div class="line"><a name="l05805"></a><span class="lineno"> 5805</span> <span class="comment"> check_nomsg(cpl_table_select_all(*int_sky));</span></div>
-<div class="line"><a name="l05806"></a><span class="lineno"> 5806</span> <span class="comment"> check_nomsg(n=cpl_table_and_selected_double(*int_sky,"INT",</span></div>
-<div class="line"><a name="l05807"></a><span class="lineno"> 5807</span> <span class="comment"> CPL_GREATER_THAN,max));</span></div>
-<div class="line"><a name="l05808"></a><span class="lineno"> 5808</span> <span class="comment"> sinfo_msg("n=%d",n);</span></div>
-<div class="line"><a name="l05809"></a><span class="lineno"> 5809</span> <span class="comment"> ck0_nomsg(sinfo_table_set_column_invalid(int_sky,"INT"));</span></div>
-<div class="line"><a name="l05810"></a><span class="lineno"> 5810</span> <span class="comment"> check_nomsg(cpl_table_select_all(*int_sky));</span></div>
-<div class="line"><a name="l05811"></a><span class="lineno"> 5811</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l05812"></a><span class="lineno"> 5812</span> <span class="comment">//check_nomsg(cpl_table_save(*int_sky, NULL, NULL,</span></div>
-<div class="line"><a name="l05813"></a><span class="lineno"> 5813</span> <span class="comment">// "out_sky_shift3.fits", CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l05814"></a><span class="lineno"> 5814</span> </div>
-<div class="line"><a name="l05815"></a><span class="lineno"> 5815</span> </div>
-<div class="line"><a name="l05816"></a><span class="lineno"> 5816</span> </div>
-<div class="line"><a name="l05817"></a><span class="lineno"> 5817</span> check_nomsg(sky_shift=sinfo_cube_zshift_simple(sky_cub,(<span class="keywordtype">float</span>)zshift));</div>
-<div class="line"><a name="l05818"></a><span class="lineno"> 5818</span> </div>
-<div class="line"><a name="l05819"></a><span class="lineno"> 5819</span> <span class="comment">//check_nomsg(sky_shift=sinfo_cube_zshift(sky_cub,zshift,&zrest));</span></div>
-<div class="line"><a name="l05820"></a><span class="lineno"> 5820</span> <span class="comment">//check_nomsg(cpl_imagelist_save(sky_shift,"out_sky1.fits",</span></div>
-<div class="line"><a name="l05821"></a><span class="lineno"> 5821</span> <span class="comment">// CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l05822"></a><span class="lineno"> 5822</span> </div>
-<div class="line"><a name="l05823"></a><span class="lineno"> 5823</span> sinfo_free_imagelist(&sky_shift);</div>
-<div class="line"><a name="l05824"></a><span class="lineno"> 5824</span> <span class="comment">//sinfo_free_imagelist(&sky_shift);</span></div>
-<div class="line"><a name="l05825"></a><span class="lineno"> 5825</span> <span class="comment">//sinfo_msg("zrest=%f",zrest);</span></div>
-<div class="line"><a name="l05826"></a><span class="lineno"> 5826</span> </div>
-<div class="line"><a name="l05827"></a><span class="lineno"> 5827</span> <span class="comment">//check_nomsg(sky_shift=sinfo_cube_zshift_poly(sky_cub,zshift,2));</span></div>
-<div class="line"><a name="l05828"></a><span class="lineno"> 5828</span> <span class="comment">//check_nomsg(cpl_imagelist_save(sky_shift,"out_sky2.fits",</span></div>
-<div class="line"><a name="l05829"></a><span class="lineno"> 5829</span> <span class="comment">// CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l05830"></a><span class="lineno"> 5830</span> <span class="comment">//sinfo_free_imagelist(&sky_shift);</span></div>
-<div class="line"><a name="l05831"></a><span class="lineno"> 5831</span> </div>
-<div class="line"><a name="l05832"></a><span class="lineno"> 5832</span> <span class="comment">//check_nomsg(sky_shift=sinfo_cube_zshift_spline3(sky_cub,zshift));</span></div>
-<div class="line"><a name="l05833"></a><span class="lineno"> 5833</span> <span class="comment">//check_nomsg(cpl_imagelist_save(sky_shift,"out_sky3.fits",</span></div>
-<div class="line"><a name="l05834"></a><span class="lineno"> 5834</span> <span class="comment">// CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l05835"></a><span class="lineno"> 5835</span> <span class="comment">//sinfo_free_imagelist(&sky_shift);</span></div>
-<div class="line"><a name="l05836"></a><span class="lineno"> 5836</span> sinfo_free_imagelist(&sky_cub);</div>
-<div class="line"><a name="l05837"></a><span class="lineno"> 5837</span> </div>
-<div class="line"><a name="l05838"></a><span class="lineno"> 5838</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l05839"></a><span class="lineno"> 5839</span> </div>
-<div class="line"><a name="l05840"></a><span class="lineno"> 5840</span> cleanup:</div>
-<div class="line"><a name="l05841"></a><span class="lineno"> 5841</span> sinfo_free_table(&int_sky_dup);</div>
-<div class="line"><a name="l05842"></a><span class="lineno"> 5842</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l05843"></a><span class="lineno"> 5843</span> sinfo_free_imagelist(&sky_shift);</div>
-<div class="line"><a name="l05844"></a><span class="lineno"> 5844</span> sinfo_free_imagelist(&sky_cub);</div>
-<div class="line"><a name="l05845"></a><span class="lineno"> 5845</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l05846"></a><span class="lineno"> 5846</span> }</div>
-<div class="line"><a name="l05847"></a><span class="lineno"> 5847</span> </div>
-<div class="line"><a name="l05848"></a><span class="lineno"> 5848</span> </div>
-<div class="line"><a name="l05855"></a><span class="lineno"> 5855</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l05856"></a><span class="lineno"> 5856</span> sinfo_convolve_kernel(cpl_table** t, <span class="keyword">const</span> <span class="keywordtype">int</span> rad)</div>
-<div class="line"><a name="l05857"></a><span class="lineno"> 5857</span> {</div>
-<div class="line"><a name="l05858"></a><span class="lineno"> 5858</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l05859"></a><span class="lineno"> 5859</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l05860"></a><span class="lineno"> 5860</span> <span class="keywordtype">int</span> np=0;</div>
-<div class="line"><a name="l05861"></a><span class="lineno"> 5861</span> <span class="keywordtype">double</span> val=0;</div>
-<div class="line"><a name="l05862"></a><span class="lineno"> 5862</span> <span class="keywordtype">double</span>* pidata=NULL;</div>
-<div class="line"><a name="l05863"></a><span class="lineno"> 5863</span> <span class="keywordtype">double</span>* pcdata=NULL;</div>
-<div class="line"><a name="l05864"></a><span class="lineno"> 5864</span> <span class="keywordtype">double</span> dw=0;</div>
-<div class="line"><a name="l05865"></a><span class="lineno"> 5865</span> <span class="comment">//double dr=0;</span></div>
-<div class="line"><a name="l05866"></a><span class="lineno"> 5866</span> <span class="keywordtype">double</span> ws=0;</div>
-<div class="line"><a name="l05867"></a><span class="lineno"> 5867</span> <span class="keywordtype">double</span> we=0;</div>
-<div class="line"><a name="l05868"></a><span class="lineno"> 5868</span> cknull(*t,<span class="stringliteral">"null input table"</span>);</div>
-<div class="line"><a name="l05869"></a><span class="lineno"> 5869</span> check_nomsg(cpl_table_new_column(*t,<span class="stringliteral">"CNV"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l05870"></a><span class="lineno"> 5870</span> check_nomsg(pidata=cpl_table_get_data_double(*t,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l05871"></a><span class="lineno"> 5871</span> check_nomsg(pcdata=cpl_table_get_data_double(*t,<span class="stringliteral">"CNV"</span>));</div>
-<div class="line"><a name="l05872"></a><span class="lineno"> 5872</span> check_nomsg(ws=cpl_table_get_column_min(*t,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l05873"></a><span class="lineno"> 5873</span> check_nomsg(we=cpl_table_get_column_max(*t,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l05874"></a><span class="lineno"> 5874</span> check_nomsg(np=cpl_table_get_nrow(*t));</div>
-<div class="line"><a name="l05875"></a><span class="lineno"> 5875</span> dw=(we-ws)/(np-1);</div>
-<div class="line"><a name="l05876"></a><span class="lineno"> 5876</span> <span class="comment">//dr=(we-ws)/(rad-1);</span></div>
-<div class="line"><a name="l05877"></a><span class="lineno"> 5877</span> <span class="comment">/* set to 0 edges */</span></div>
-<div class="line"><a name="l05878"></a><span class="lineno"> 5878</span> <span class="keywordflow">for</span>(i=0;i<rad;i++) {</div>
-<div class="line"><a name="l05879"></a><span class="lineno"> 5879</span> pcdata[i]=0.;</div>
-<div class="line"><a name="l05880"></a><span class="lineno"> 5880</span> }</div>
-<div class="line"><a name="l05881"></a><span class="lineno"> 5881</span> <span class="keywordflow">for</span>(i=np-rad;i<np;i++) {</div>
-<div class="line"><a name="l05882"></a><span class="lineno"> 5882</span> pcdata[i]=0.;</div>
-<div class="line"><a name="l05883"></a><span class="lineno"> 5883</span> }</div>
-<div class="line"><a name="l05884"></a><span class="lineno"> 5884</span> <span class="keywordflow">for</span>(i=rad;i<np-rad;i++) {</div>
-<div class="line"><a name="l05885"></a><span class="lineno"> 5885</span> val=0;</div>
-<div class="line"><a name="l05886"></a><span class="lineno"> 5886</span> <span class="keywordflow">for</span>(j=-rad;j<rad;j++) {</div>
-<div class="line"><a name="l05887"></a><span class="lineno"> 5887</span> val+=pidata[i+j];</div>
-<div class="line"><a name="l05888"></a><span class="lineno"> 5888</span> }</div>
-<div class="line"><a name="l05889"></a><span class="lineno"> 5889</span> <span class="comment">/*val*=dw; */</span></div>
-<div class="line"><a name="l05890"></a><span class="lineno"> 5890</span> check_nomsg(cpl_table_set_double(*t,<span class="stringliteral">"CNV"</span>,i,val));</div>
-<div class="line"><a name="l05891"></a><span class="lineno"> 5891</span> }</div>
-<div class="line"><a name="l05892"></a><span class="lineno"> 5892</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l05893"></a><span class="lineno"> 5893</span> </div>
-<div class="line"><a name="l05894"></a><span class="lineno"> 5894</span> cleanup:</div>
-<div class="line"><a name="l05895"></a><span class="lineno"> 5895</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l05896"></a><span class="lineno"> 5896</span> </div>
-<div class="line"><a name="l05897"></a><span class="lineno"> 5897</span> }</div>
-<div class="line"><a name="l05898"></a><span class="lineno"> 5898</span> </div>
-<div class="line"><a name="l05899"></a><span class="lineno"> 5899</span> </div>
-<div class="line"><a name="l05900"></a><span class="lineno"> 5900</span> </div>
-<div class="line"><a name="l05908"></a><span class="lineno"> 5908</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l05909"></a><span class="lineno"> 5909</span> sinfo_convolve_kernel2(cpl_table** t, <span class="keyword">const</span> <span class="keywordtype">int</span> rad)</div>
-<div class="line"><a name="l05910"></a><span class="lineno"> 5910</span> {</div>
-<div class="line"><a name="l05911"></a><span class="lineno"> 5911</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l05912"></a><span class="lineno"> 5912</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l05913"></a><span class="lineno"> 5913</span> <span class="keywordtype">int</span> np=0;</div>
-<div class="line"><a name="l05914"></a><span class="lineno"> 5914</span> <span class="keywordtype">double</span> val=0;</div>
-<div class="line"><a name="l05915"></a><span class="lineno"> 5915</span> <span class="keywordtype">double</span>* pidata=NULL;</div>
-<div class="line"><a name="l05916"></a><span class="lineno"> 5916</span> <span class="keywordtype">double</span>* pcdata=NULL;</div>
-<div class="line"><a name="l05917"></a><span class="lineno"> 5917</span> <span class="keywordtype">double</span> dw=0;</div>
-<div class="line"><a name="l05918"></a><span class="lineno"> 5918</span> <span class="keywordtype">double</span> dr=0;</div>
-<div class="line"><a name="l05919"></a><span class="lineno"> 5919</span> <span class="keywordtype">double</span> ws=0;</div>
-<div class="line"><a name="l05920"></a><span class="lineno"> 5920</span> <span class="keywordtype">double</span> we=0;</div>
-<div class="line"><a name="l05921"></a><span class="lineno"> 5921</span> cknull(*t,<span class="stringliteral">"null input table"</span>);</div>
-<div class="line"><a name="l05922"></a><span class="lineno"> 5922</span> check_nomsg(cpl_table_new_column(*t,<span class="stringliteral">"CNV"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l05923"></a><span class="lineno"> 5923</span> check_nomsg(pidata=cpl_table_get_data_double(*t,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l05924"></a><span class="lineno"> 5924</span> check_nomsg(pcdata=cpl_table_get_data_double(*t,<span class="stringliteral">"CNV"</span>));</div>
-<div class="line"><a name="l05925"></a><span class="lineno"> 5925</span> check_nomsg(ws=cpl_table_get_column_min(*t,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l05926"></a><span class="lineno"> 5926</span> check_nomsg(we=cpl_table_get_column_max(*t,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l05927"></a><span class="lineno"> 5927</span> check_nomsg(np=cpl_table_get_nrow(*t));</div>
-<div class="line"><a name="l05928"></a><span class="lineno"> 5928</span> dw=(we-ws)/(np-1);</div>
-<div class="line"><a name="l05929"></a><span class="lineno"> 5929</span> dr=(we-ws)/(rad-1);</div>
-<div class="line"><a name="l05930"></a><span class="lineno"> 5930</span> <span class="comment">/* set to 0 edges */</span></div>
-<div class="line"><a name="l05931"></a><span class="lineno"> 5931</span> <span class="keywordflow">for</span>(i=0;i<rad;i++) {</div>
-<div class="line"><a name="l05932"></a><span class="lineno"> 5932</span> pcdata[i]=0.;</div>
-<div class="line"><a name="l05933"></a><span class="lineno"> 5933</span> }</div>
-<div class="line"><a name="l05934"></a><span class="lineno"> 5934</span> <span class="keywordflow">for</span>(i=np-rad;i<np;i++) {</div>
-<div class="line"><a name="l05935"></a><span class="lineno"> 5935</span> pcdata[i]=0.;</div>
-<div class="line"><a name="l05936"></a><span class="lineno"> 5936</span> }</div>
-<div class="line"><a name="l05937"></a><span class="lineno"> 5937</span> <span class="keywordflow">for</span>(i=0;i<np-rad;i++) {</div>
-<div class="line"><a name="l05938"></a><span class="lineno"> 5938</span> val=0;</div>
-<div class="line"><a name="l05939"></a><span class="lineno"> 5939</span> <span class="keywordflow">for</span>(j=0;j<rad;j++) {</div>
-<div class="line"><a name="l05940"></a><span class="lineno"> 5940</span> val+=pidata[i+j];</div>
-<div class="line"><a name="l05941"></a><span class="lineno"> 5941</span> }</div>
-<div class="line"><a name="l05942"></a><span class="lineno"> 5942</span> <span class="comment">/*val*=dw; */</span></div>
-<div class="line"><a name="l05943"></a><span class="lineno"> 5943</span> check_nomsg(cpl_table_set_double(*t,<span class="stringliteral">"CNV"</span>,i,val));</div>
-<div class="line"><a name="l05944"></a><span class="lineno"> 5944</span> }</div>
-<div class="line"><a name="l05945"></a><span class="lineno"> 5945</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l05946"></a><span class="lineno"> 5946</span> </div>
-<div class="line"><a name="l05947"></a><span class="lineno"> 5947</span> cleanup:</div>
-<div class="line"><a name="l05948"></a><span class="lineno"> 5948</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l05949"></a><span class="lineno"> 5949</span> </div>
-<div class="line"><a name="l05950"></a><span class="lineno"> 5950</span> }</div>
-<div class="line"><a name="l05951"></a><span class="lineno"> 5951</span> </div>
-<div class="line"><a name="l05952"></a><span class="lineno"> 5952</span> </div>
-<div class="line"><a name="l05953"></a><span class="lineno"> 5953</span> </div>
-<div class="line"><a name="l05961"></a><span class="lineno"> 5961</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l05962"></a><span class="lineno"> 5962</span> sinfo_convolve_exp(cpl_table** t, <span class="keyword">const</span> <span class="keywordtype">int</span> rad, <span class="keyword">const</span> <span class="keywordtype">double</span> fwhm)</div>
-<div class="line"><a name="l05963"></a><span class="lineno"> 5963</span> {</div>
-<div class="line"><a name="l05964"></a><span class="lineno"> 5964</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l05965"></a><span class="lineno"> 5965</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l05966"></a><span class="lineno"> 5966</span> <span class="keywordtype">int</span> np=0;</div>
-<div class="line"><a name="l05967"></a><span class="lineno"> 5967</span> <span class="keywordtype">double</span> ln2=0.693147180560;</div>
-<div class="line"><a name="l05968"></a><span class="lineno"> 5968</span> <span class="keywordtype">double</span> k=ln2/fwhm;</div>
-<div class="line"><a name="l05969"></a><span class="lineno"> 5969</span> <span class="keywordtype">double</span> val=0;</div>
-<div class="line"><a name="l05970"></a><span class="lineno"> 5970</span> <span class="keywordtype">double</span>* pidata=NULL;</div>
-<div class="line"><a name="l05971"></a><span class="lineno"> 5971</span> <span class="keywordtype">double</span>* pcdata=NULL;</div>
-<div class="line"><a name="l05972"></a><span class="lineno"> 5972</span> <span class="keywordtype">double</span> dw=0;</div>
-<div class="line"><a name="l05973"></a><span class="lineno"> 5973</span> <span class="comment">//double dr=0;</span></div>
-<div class="line"><a name="l05974"></a><span class="lineno"> 5974</span> <span class="keywordtype">double</span> ws=0;</div>
-<div class="line"><a name="l05975"></a><span class="lineno"> 5975</span> <span class="keywordtype">double</span> we=0;</div>
-<div class="line"><a name="l05976"></a><span class="lineno"> 5976</span> cknull(*t,<span class="stringliteral">"null input table"</span>);</div>
-<div class="line"><a name="l05977"></a><span class="lineno"> 5977</span> check_nomsg(cpl_table_new_column(*t,<span class="stringliteral">"CNV"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l05978"></a><span class="lineno"> 5978</span> check_nomsg(pidata=cpl_table_get_data_double(*t,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l05979"></a><span class="lineno"> 5979</span> check_nomsg(pcdata=cpl_table_get_data_double(*t,<span class="stringliteral">"CNV"</span>));</div>
-<div class="line"><a name="l05980"></a><span class="lineno"> 5980</span> check_nomsg(ws=cpl_table_get_column_min(*t,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l05981"></a><span class="lineno"> 5981</span> check_nomsg(we=cpl_table_get_column_max(*t,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l05982"></a><span class="lineno"> 5982</span> check_nomsg(np=cpl_table_get_nrow(*t));</div>
-<div class="line"><a name="l05983"></a><span class="lineno"> 5983</span> dw=(we-ws)/(np-1);</div>
-<div class="line"><a name="l05984"></a><span class="lineno"> 5984</span> <span class="comment">//dr=(we-ws)/(rad-1);</span></div>
-<div class="line"><a name="l05985"></a><span class="lineno"> 5985</span> <span class="comment">/* set to 0 edges */</span></div>
-<div class="line"><a name="l05986"></a><span class="lineno"> 5986</span> <span class="keywordflow">for</span>(i=0;i<rad;i++) {</div>
-<div class="line"><a name="l05987"></a><span class="lineno"> 5987</span> pcdata[i]=0.;</div>
-<div class="line"><a name="l05988"></a><span class="lineno"> 5988</span> }</div>
-<div class="line"><a name="l05989"></a><span class="lineno"> 5989</span> <span class="keywordflow">for</span>(i=np-rad;i<np;i++) {</div>
-<div class="line"><a name="l05990"></a><span class="lineno"> 5990</span> pcdata[i]=0.;</div>
-<div class="line"><a name="l05991"></a><span class="lineno"> 5991</span> }</div>
-<div class="line"><a name="l05992"></a><span class="lineno"> 5992</span> <span class="keywordflow">for</span>(i=rad;i<np-rad;i++) {</div>
-<div class="line"><a name="l05993"></a><span class="lineno"> 5993</span> val=0;</div>
-<div class="line"><a name="l05994"></a><span class="lineno"> 5994</span> <span class="keywordflow">for</span>(j=-rad;j<rad;j++) {</div>
-<div class="line"><a name="l05995"></a><span class="lineno"> 5995</span> val+=pidata[i+j]*k*pow(2.0,-2.0*fabs(i-rad)/fwhm);</div>
-<div class="line"><a name="l05996"></a><span class="lineno"> 5996</span> }</div>
-<div class="line"><a name="l05997"></a><span class="lineno"> 5997</span> <span class="comment">/*val*=dw; */</span></div>
-<div class="line"><a name="l05998"></a><span class="lineno"> 5998</span> check_nomsg(cpl_table_set_double(*t,<span class="stringliteral">"CNV"</span>,i,val));</div>
-<div class="line"><a name="l05999"></a><span class="lineno"> 5999</span> }</div>
-<div class="line"><a name="l06000"></a><span class="lineno"> 6000</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l06001"></a><span class="lineno"> 6001</span> </div>
-<div class="line"><a name="l06002"></a><span class="lineno"> 6002</span> cleanup:</div>
-<div class="line"><a name="l06003"></a><span class="lineno"> 6003</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l06004"></a><span class="lineno"> 6004</span> </div>
-<div class="line"><a name="l06005"></a><span class="lineno"> 6005</span> }</div>
-<div class="line"><a name="l06006"></a><span class="lineno"> 6006</span> </div>
-<div class="line"><a name="l06007"></a><span class="lineno"> 6007</span> </div>
-<div class="line"><a name="l06016"></a><span class="lineno"> 6016</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l06017"></a><span class="lineno"> 6017</span> sinfo_convolve_gauss(cpl_table** t, <span class="keyword">const</span> <span class="keywordtype">int</span> rad, <span class="keyword">const</span> <span class="keywordtype">double</span> fwhm)</div>
-<div class="line"><a name="l06018"></a><span class="lineno"> 6018</span> {</div>
-<div class="line"><a name="l06019"></a><span class="lineno"> 6019</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l06020"></a><span class="lineno"> 6020</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l06021"></a><span class="lineno"> 6021</span> <span class="keywordtype">int</span> np=0;</div>
-<div class="line"><a name="l06022"></a><span class="lineno"> 6022</span> <span class="keywordtype">double</span> val=0;</div>
-<div class="line"><a name="l06023"></a><span class="lineno"> 6023</span> <span class="keywordtype">double</span> sigma=fwhm/2.3548;</div>
-<div class="line"><a name="l06024"></a><span class="lineno"> 6024</span> <span class="keywordtype">double</span> sigma2=sigma*sigma;</div>
-<div class="line"><a name="l06025"></a><span class="lineno"> 6025</span> <span class="keywordtype">double</span>* pidata=NULL;</div>
-<div class="line"><a name="l06026"></a><span class="lineno"> 6026</span> <span class="keywordtype">double</span>* pcdata=NULL;</div>
-<div class="line"><a name="l06027"></a><span class="lineno"> 6027</span> <span class="keywordtype">double</span> dw=0;</div>
-<div class="line"><a name="l06028"></a><span class="lineno"> 6028</span> <span class="keywordtype">double</span> dr=0;</div>
-<div class="line"><a name="l06029"></a><span class="lineno"> 6029</span> <span class="keywordtype">double</span> ws=0;</div>
-<div class="line"><a name="l06030"></a><span class="lineno"> 6030</span> <span class="keywordtype">double</span> we=0;</div>
-<div class="line"><a name="l06031"></a><span class="lineno"> 6031</span> <span class="keywordtype">double</span> tx=0;</div>
-<div class="line"><a name="l06032"></a><span class="lineno"> 6032</span> </div>
-<div class="line"><a name="l06033"></a><span class="lineno"> 6033</span> cknull(*t,<span class="stringliteral">"null input table"</span>);</div>
-<div class="line"><a name="l06034"></a><span class="lineno"> 6034</span> check_nomsg(cpl_table_new_column(*t,<span class="stringliteral">"CNV"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l06035"></a><span class="lineno"> 6035</span> check_nomsg(pidata=cpl_table_get_data_double(*t,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l06036"></a><span class="lineno"> 6036</span> check_nomsg(pcdata=cpl_table_get_data_double(*t,<span class="stringliteral">"CNV"</span>));</div>
-<div class="line"><a name="l06037"></a><span class="lineno"> 6037</span> check_nomsg(ws=cpl_table_get_column_min(*t,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l06038"></a><span class="lineno"> 6038</span> check_nomsg(we=cpl_table_get_column_max(*t,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l06039"></a><span class="lineno"> 6039</span> check_nomsg(np=cpl_table_get_nrow(*t));</div>
-<div class="line"><a name="l06040"></a><span class="lineno"> 6040</span> dw=(we-ws)/(np-1);</div>
-<div class="line"><a name="l06041"></a><span class="lineno"> 6041</span> dr=(we-ws)/(rad-1);</div>
-<div class="line"><a name="l06042"></a><span class="lineno"> 6042</span> <span class="comment">/* set to 0 edges */</span></div>
-<div class="line"><a name="l06043"></a><span class="lineno"> 6043</span> <span class="keywordflow">for</span>(i=0;i<rad;i++) {</div>
-<div class="line"><a name="l06044"></a><span class="lineno"> 6044</span> pcdata[i]=0.;</div>
-<div class="line"><a name="l06045"></a><span class="lineno"> 6045</span> }</div>
-<div class="line"><a name="l06046"></a><span class="lineno"> 6046</span> <span class="keywordflow">for</span>(i=np-rad;i<np;i++) {</div>
-<div class="line"><a name="l06047"></a><span class="lineno"> 6047</span> pcdata[i]=0.;</div>
-<div class="line"><a name="l06048"></a><span class="lineno"> 6048</span> }</div>
-<div class="line"><a name="l06049"></a><span class="lineno"> 6049</span> <span class="keywordflow">for</span>(i=rad;i<np-rad;i++) {</div>
-<div class="line"><a name="l06050"></a><span class="lineno"> 6050</span> val=0;</div>
-<div class="line"><a name="l06051"></a><span class="lineno"> 6051</span> <span class="keywordflow">for</span>(j=-rad;j<rad;j++) {</div>
-<div class="line"><a name="l06052"></a><span class="lineno"> 6052</span> tx=i-rad;</div>
-<div class="line"><a name="l06053"></a><span class="lineno"> 6053</span> val+=pidata[i+j]*exp(-tx*tx/2.0/sigma2)/(sigma*sqrt(2.0*PI_NUMB));</div>
-<div class="line"><a name="l06054"></a><span class="lineno"> 6054</span> }</div>
-<div class="line"><a name="l06055"></a><span class="lineno"> 6055</span> <span class="comment">/*val*=dw; */</span></div>
-<div class="line"><a name="l06056"></a><span class="lineno"> 6056</span> check_nomsg(cpl_table_set_double(*t,<span class="stringliteral">"CNV"</span>,i,val));</div>
-<div class="line"><a name="l06057"></a><span class="lineno"> 6057</span> }</div>
-<div class="line"><a name="l06058"></a><span class="lineno"> 6058</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l06059"></a><span class="lineno"> 6059</span> </div>
-<div class="line"><a name="l06060"></a><span class="lineno"> 6060</span> cleanup:</div>
-<div class="line"><a name="l06061"></a><span class="lineno"> 6061</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l06062"></a><span class="lineno"> 6062</span> </div>
-<div class="line"><a name="l06063"></a><span class="lineno"> 6063</span> }</div>
-<div class="line"><a name="l06064"></a><span class="lineno"> 6064</span> </div>
-<div class="line"><a name="l06065"></a><span class="lineno"> 6065</span> </div>
-<div class="line"><a name="l06066"></a><span class="lineno"> 6066</span> </div>
-<div class="line"><a name="l06078"></a><span class="lineno"> 6078</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l06079"></a><span class="lineno"> 6079</span> sinfo_scales_obj_sky_cubes(cpl_imagelist* obj_cub,</div>
-<div class="line"><a name="l06080"></a><span class="lineno"> 6080</span> cpl_imagelist* sky_cub,</div>
-<div class="line"><a name="l06081"></a><span class="lineno"> 6081</span> cpl_table* bkg,</div>
-<div class="line"><a name="l06082"></a><span class="lineno"> 6082</span> cpl_table* rscale,</div>
-<div class="line"><a name="l06083"></a><span class="lineno"> 6083</span> cpl_imagelist** obj_cor)</div>
-<div class="line"><a name="l06084"></a><span class="lineno"> 6084</span> {</div>
-<div class="line"><a name="l06085"></a><span class="lineno"> 6085</span> </div>
-<div class="line"><a name="l06086"></a><span class="lineno"> 6086</span> </div>
-<div class="line"><a name="l06087"></a><span class="lineno"> 6087</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l06088"></a><span class="lineno"> 6088</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l06089"></a><span class="lineno"> 6089</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l06090"></a><span class="lineno"> 6090</span> <span class="keywordtype">int</span> xsz=0;</div>
-<div class="line"><a name="l06091"></a><span class="lineno"> 6091</span> <span class="keywordtype">int</span> ysz=0;</div>
-<div class="line"><a name="l06092"></a><span class="lineno"> 6092</span> <span class="keywordtype">int</span> zsz=0;</div>
-<div class="line"><a name="l06093"></a><span class="lineno"> 6093</span> </div>
-<div class="line"><a name="l06094"></a><span class="lineno"> 6094</span> <span class="keywordtype">double</span>* podata=NULL;</div>
-<div class="line"><a name="l06095"></a><span class="lineno"> 6095</span> <span class="keywordtype">double</span>* psdata=NULL;</div>
-<div class="line"><a name="l06096"></a><span class="lineno"> 6096</span> <span class="keywordtype">double</span>* pbdata=NULL;</div>
-<div class="line"><a name="l06097"></a><span class="lineno"> 6097</span> <span class="keywordtype">double</span>* pcdata=NULL;</div>
-<div class="line"><a name="l06098"></a><span class="lineno"> 6098</span> <span class="keywordtype">double</span>* pscale=NULL;</div>
-<div class="line"><a name="l06099"></a><span class="lineno"> 6099</span> </div>
-<div class="line"><a name="l06100"></a><span class="lineno"> 6100</span> </div>
-<div class="line"><a name="l06101"></a><span class="lineno"> 6101</span> cpl_image* imgo=NULL;</div>
-<div class="line"><a name="l06102"></a><span class="lineno"> 6102</span> cpl_image* imgs=NULL;</div>
-<div class="line"><a name="l06103"></a><span class="lineno"> 6103</span> cpl_image* imgc=NULL;</div>
-<div class="line"><a name="l06104"></a><span class="lineno"> 6104</span> </div>
-<div class="line"><a name="l06105"></a><span class="lineno"> 6105</span> </div>
-<div class="line"><a name="l06106"></a><span class="lineno"> 6106</span> check_nomsg(imgo=cpl_imagelist_get(obj_cub,0));</div>
-<div class="line"><a name="l06107"></a><span class="lineno"> 6107</span> check_nomsg(xsz=cpl_image_get_size_x(imgo));</div>
-<div class="line"><a name="l06108"></a><span class="lineno"> 6108</span> check_nomsg(ysz=cpl_image_get_size_y(imgo));</div>
-<div class="line"><a name="l06109"></a><span class="lineno"> 6109</span> check_nomsg(zsz=cpl_imagelist_get_size(obj_cub));</div>
-<div class="line"><a name="l06110"></a><span class="lineno"> 6110</span> </div>
-<div class="line"><a name="l06111"></a><span class="lineno"> 6111</span> check_nomsg(*obj_cor=cpl_imagelist_duplicate(obj_cub));</div>
-<div class="line"><a name="l06112"></a><span class="lineno"> 6112</span> </div>
-<div class="line"><a name="l06113"></a><span class="lineno"> 6113</span> <span class="keywordflow">for</span>(k=0;k<zsz;k++) {</div>
-<div class="line"><a name="l06114"></a><span class="lineno"> 6114</span> check_nomsg(imgo=cpl_imagelist_get(obj_cub,k));</div>
-<div class="line"><a name="l06115"></a><span class="lineno"> 6115</span> check_nomsg(imgc=cpl_imagelist_get(*obj_cor,k));</div>
-<div class="line"><a name="l06116"></a><span class="lineno"> 6116</span> check_nomsg(imgs=cpl_imagelist_get(sky_cub,k));</div>
-<div class="line"><a name="l06117"></a><span class="lineno"> 6117</span> </div>
-<div class="line"><a name="l06118"></a><span class="lineno"> 6118</span> check_nomsg(podata=cpl_image_get_data_double(imgo));</div>
-<div class="line"><a name="l06119"></a><span class="lineno"> 6119</span> check_nomsg(pcdata=cpl_image_get_data_double(imgc));</div>
-<div class="line"><a name="l06120"></a><span class="lineno"> 6120</span> check_nomsg(psdata=cpl_image_get_data_double(imgs));</div>
-<div class="line"><a name="l06121"></a><span class="lineno"> 6121</span> check_nomsg(pbdata=cpl_table_get_data_double(bkg,<span class="stringliteral">"INT2"</span>));</div>
-<div class="line"><a name="l06122"></a><span class="lineno"> 6122</span> check_nomsg(pscale=cpl_table_get_data_double(rscale,<span class="stringliteral">"RATIO"</span>));</div>
-<div class="line"><a name="l06123"></a><span class="lineno"> 6123</span> </div>
-<div class="line"><a name="l06124"></a><span class="lineno"> 6124</span> <span class="keywordflow">for</span> (j=0;j<ysz; j++) {</div>
-<div class="line"><a name="l06125"></a><span class="lineno"> 6125</span> <span class="keywordflow">for</span> (i=0;i<xsz; i++) {</div>
-<div class="line"><a name="l06126"></a><span class="lineno"> 6126</span> <span class="keywordflow">if</span>(!irplib_isnan(podata[i+j*xsz]) &&</div>
-<div class="line"><a name="l06127"></a><span class="lineno"> 6127</span> !irplib_isnan(psdata[i+j*xsz]) &&</div>
-<div class="line"><a name="l06128"></a><span class="lineno"> 6128</span> !irplib_isnan(pbdata[k]) &&</div>
-<div class="line"><a name="l06129"></a><span class="lineno"> 6129</span> !irplib_isnan(pscale[k])) {</div>
-<div class="line"><a name="l06130"></a><span class="lineno"> 6130</span> pcdata[i+j*xsz] = podata[i+j*xsz]-</div>
-<div class="line"><a name="l06131"></a><span class="lineno"> 6131</span> (psdata[i+j*xsz]-pbdata[k])*pscale[k];</div>
-<div class="line"><a name="l06132"></a><span class="lineno"> 6132</span> }</div>
-<div class="line"><a name="l06133"></a><span class="lineno"> 6133</span> }</div>
-<div class="line"><a name="l06134"></a><span class="lineno"> 6134</span> }</div>
-<div class="line"><a name="l06135"></a><span class="lineno"> 6135</span> }</div>
-<div class="line"><a name="l06136"></a><span class="lineno"> 6136</span> </div>
-<div class="line"><a name="l06137"></a><span class="lineno"> 6137</span> </div>
-<div class="line"><a name="l06138"></a><span class="lineno"> 6138</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l06139"></a><span class="lineno"> 6139</span> cleanup:</div>
-<div class="line"><a name="l06140"></a><span class="lineno"> 6140</span> </div>
-<div class="line"><a name="l06141"></a><span class="lineno"> 6141</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l06142"></a><span class="lineno"> 6142</span> }</div>
-<div class="line"><a name="l06143"></a><span class="lineno"> 6143</span> </div>
-<div class="line"><a name="l06144"></a><span class="lineno"> 6144</span> </div>
-<div class="line"><a name="l06161"></a><span class="lineno"> 6161</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l06162"></a><span class="lineno"> 6162</span> sinfo_fitbkg(<span class="keyword">const</span> <span class="keywordtype">double</span> x[],</div>
-<div class="line"><a name="l06163"></a><span class="lineno"> 6163</span> <span class="keyword">const</span> <span class="keywordtype">double</span> a[],</div>
-<div class="line"><a name="l06164"></a><span class="lineno"> 6164</span> <span class="keywordtype">double</span> *result)</div>
-<div class="line"><a name="l06165"></a><span class="lineno"> 6165</span> {</div>
-<div class="line"><a name="l06166"></a><span class="lineno"> 6166</span> </div>
-<div class="line"><a name="l06167"></a><span class="lineno"> 6167</span> </div>
-<div class="line"><a name="l06168"></a><span class="lineno"> 6168</span> <span class="keywordtype">double</span> fac = sinfo_fac(x[0],a[2]);</div>
-<div class="line"><a name="l06169"></a><span class="lineno"> 6169</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l06170"></a><span class="lineno"> 6170</span> <span class="comment"> int n=sizeof(x)/sizeof(double);</span></div>
-<div class="line"><a name="l06171"></a><span class="lineno"> 6171</span> <span class="comment"> double fmin = sinfo_fac(x[0],a[2]);</span></div>
-<div class="line"><a name="l06172"></a><span class="lineno"> 6172</span> <span class="comment"> double fmax = sinfo_fac(x[n-1],a[2]);</span></div>
-<div class="line"><a name="l06173"></a><span class="lineno"> 6173</span> <span class="comment"> sinfo_msg("n=%d",n);</span></div>
-<div class="line"><a name="l06174"></a><span class="lineno"> 6174</span> <span class="comment"> if(fmax < 0) sinfo_msg("fmax=%f",fmax);</span></div>
-<div class="line"><a name="l06175"></a><span class="lineno"> 6175</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l06176"></a><span class="lineno"> 6176</span> <span class="comment">//*result = a[0]+a[1]*fac/sinfo_scale_fct;</span></div>
-<div class="line"><a name="l06177"></a><span class="lineno"> 6177</span> *result = a[0]+a[1]*fac;</div>
-<div class="line"><a name="l06178"></a><span class="lineno"> 6178</span> </div>
-<div class="line"><a name="l06179"></a><span class="lineno"> 6179</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l06180"></a><span class="lineno"> 6180</span> }</div>
-<div class="line"><a name="l06181"></a><span class="lineno"> 6181</span> </div>
-<div class="line"><a name="l06205"></a><span class="lineno"> 6205</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l06206"></a><span class="lineno"> 6206</span> sinfo_fitbkg_derivative(<span class="keyword">const</span> <span class="keywordtype">double</span> x[],</div>
-<div class="line"><a name="l06207"></a><span class="lineno"> 6207</span> <span class="keyword">const</span> <span class="keywordtype">double</span> a[],</div>
-<div class="line"><a name="l06208"></a><span class="lineno"> 6208</span> <span class="keywordtype">double</span> d[])</div>
-<div class="line"><a name="l06209"></a><span class="lineno"> 6209</span> {</div>
-<div class="line"><a name="l06210"></a><span class="lineno"> 6210</span> <span class="keywordtype">double</span> c=14387.7;</div>
-<div class="line"><a name="l06211"></a><span class="lineno"> 6211</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l06212"></a><span class="lineno"> 6212</span> <span class="comment"> int n=sizeof(x)/sizeof(double);</span></div>
-<div class="line"><a name="l06213"></a><span class="lineno"> 6213</span> <span class="comment"> double fmin = sinfo_fac(x[0],a[2]);</span></div>
-<div class="line"><a name="l06214"></a><span class="lineno"> 6214</span> <span class="comment"> double fmax = sinfo_fac(x[n],a[2]);</span></div>
-<div class="line"><a name="l06215"></a><span class="lineno"> 6215</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l06216"></a><span class="lineno"> 6216</span> <span class="keywordtype">double</span> fac = sinfo_fac(x[0],a[2]);</div>
-<div class="line"><a name="l06217"></a><span class="lineno"> 6217</span> <span class="keywordtype">double</span> f2=0;</div>
-<div class="line"><a name="l06218"></a><span class="lineno"> 6218</span> <span class="comment">//double f1=0;</span></div>
-<div class="line"><a name="l06219"></a><span class="lineno"> 6219</span> <span class="keywordtype">double</span> da=0.001;</div>
-<div class="line"><a name="l06220"></a><span class="lineno"> 6220</span> <span class="comment">//f1=a[0]+a[1]*fac;</span></div>
-<div class="line"><a name="l06221"></a><span class="lineno"> 6221</span> <span class="comment">//f2=f1+da*a[0];</span></div>
-<div class="line"><a name="l06222"></a><span class="lineno"> 6222</span> <span class="comment">//f2=a[0]+(a[1]+da*a[1])*fac;</span></div>
-<div class="line"><a name="l06223"></a><span class="lineno"> 6223</span> f2=a[0]+a[1]*sinfo_fac(x[0],a[2]+da*a[2]);</div>
-<div class="line"><a name="l06224"></a><span class="lineno"> 6224</span> d[0]=1.;</div>
-<div class="line"><a name="l06225"></a><span class="lineno"> 6225</span> d[1]=fac;</div>
-<div class="line"><a name="l06226"></a><span class="lineno"> 6226</span> d[2]=a[1]*fac*fac*x[0]*x[0]*x[0]*x[0]*c/(a[2]*a[2])*exp(c/(x[0]*a[2]));</div>
-<div class="line"><a name="l06227"></a><span class="lineno"> 6227</span> <span class="comment">//sinfo_msg("d0=%g d1=%g d2=%g",d[0]*a[0]/f,d[1]*a[1]/f,d[2]*a[2]/f);</span></div>
-<div class="line"><a name="l06228"></a><span class="lineno"> 6228</span> <span class="comment">//sinfo_msg("comp d1=%g",d[2]);</span></div>
-<div class="line"><a name="l06229"></a><span class="lineno"> 6229</span> <span class="comment">//sinfo_msg("real d1=%g",(f2-f1)/(da*a[2]));</span></div>
-<div class="line"><a name="l06230"></a><span class="lineno"> 6230</span> </div>
-<div class="line"><a name="l06231"></a><span class="lineno"> 6231</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l06232"></a><span class="lineno"> 6232</span> }</div>
-<div class="line"><a name="l06233"></a><span class="lineno"> 6233</span> </div>
-<div class="line"><a name="l06234"></a><span class="lineno"> 6234</span> </div>
-<div class="line"><a name="l06235"></a><span class="lineno"> 6235</span> </div>
-<div class="line"><a name="l06249"></a><span class="lineno"> 6249</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l06250"></a><span class="lineno"> 6250</span> sinfo_fac(<span class="keyword">const</span> <span class="keywordtype">double</span> x, <span class="keyword">const</span> <span class="keywordtype">double</span> t)</div>
-<div class="line"><a name="l06251"></a><span class="lineno"> 6251</span> {</div>
-<div class="line"><a name="l06252"></a><span class="lineno"> 6252</span> </div>
-<div class="line"><a name="l06253"></a><span class="lineno"> 6253</span> <span class="keywordtype">double</span> c=14387.7;</div>
-<div class="line"><a name="l06254"></a><span class="lineno"> 6254</span> </div>
-<div class="line"><a name="l06255"></a><span class="lineno"> 6255</span> <span class="comment">//return pow(x,-5.)/(exp(c/(x*fabs(t)))-1.)/sinfo_scale_fct;</span></div>
-<div class="line"><a name="l06256"></a><span class="lineno"> 6256</span> <span class="keywordflow">return</span> pow(x,-5.)/(exp(c/(x*fabs(t)))-1.);</div>
-<div class="line"><a name="l06257"></a><span class="lineno"> 6257</span> }</div>
-<div class="line"><a name="l06258"></a><span class="lineno"> 6258</span> </div>
-<div class="line"><a name="l06268"></a><span class="lineno"> 6268</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l06269"></a><span class="lineno"> 6269</span> sinfo_table_threshold(cpl_table** t,</div>
-<div class="line"><a name="l06270"></a><span class="lineno"> 6270</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* column,</div>
-<div class="line"><a name="l06271"></a><span class="lineno"> 6271</span> <span class="keyword">const</span> <span class="keywordtype">double</span> low_cut,</div>
-<div class="line"><a name="l06272"></a><span class="lineno"> 6272</span> <span class="keyword">const</span> <span class="keywordtype">double</span> hig_cut,</div>
-<div class="line"><a name="l06273"></a><span class="lineno"> 6273</span> <span class="keyword">const</span> <span class="keywordtype">double</span> low_ass,</div>
-<div class="line"><a name="l06274"></a><span class="lineno"> 6274</span> <span class="keyword">const</span> <span class="keywordtype">double</span> hig_ass)</div>
-<div class="line"><a name="l06275"></a><span class="lineno"> 6275</span> {</div>
-<div class="line"><a name="l06276"></a><span class="lineno"> 6276</span> </div>
-<div class="line"><a name="l06277"></a><span class="lineno"> 6277</span> <span class="keywordtype">int</span> nrow=0;</div>
-<div class="line"><a name="l06278"></a><span class="lineno"> 6278</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l06279"></a><span class="lineno"> 6279</span> <span class="keywordtype">double</span>* pdata=NULL;</div>
-<div class="line"><a name="l06280"></a><span class="lineno"> 6280</span> cknull(*t,<span class="stringliteral">"null input table!"</span>);</div>
-<div class="line"><a name="l06281"></a><span class="lineno"> 6281</span> </div>
-<div class="line"><a name="l06282"></a><span class="lineno"> 6282</span> check_nomsg(nrow=cpl_table_get_nrow(*t));</div>
-<div class="line"><a name="l06283"></a><span class="lineno"> 6283</span> check_nomsg(pdata=cpl_table_get_data_double(*t,column));</div>
-<div class="line"><a name="l06284"></a><span class="lineno"> 6284</span> </div>
-<div class="line"><a name="l06285"></a><span class="lineno"> 6285</span> <span class="keywordflow">for</span>(i=0;i<nrow;i++) {</div>
-<div class="line"><a name="l06286"></a><span class="lineno"> 6286</span> </div>
-<div class="line"><a name="l06287"></a><span class="lineno"> 6287</span> <span class="keywordflow">if</span>(pdata[i]<low_cut) {</div>
-<div class="line"><a name="l06288"></a><span class="lineno"> 6288</span> pdata[i]=low_ass;</div>
-<div class="line"><a name="l06289"></a><span class="lineno"> 6289</span> }</div>
-<div class="line"><a name="l06290"></a><span class="lineno"> 6290</span> <span class="keywordflow">if</span> (pdata[i] >= hig_cut) {</div>
-<div class="line"><a name="l06291"></a><span class="lineno"> 6291</span> pdata[i]=hig_ass;</div>
-<div class="line"><a name="l06292"></a><span class="lineno"> 6292</span> }</div>
-<div class="line"><a name="l06293"></a><span class="lineno"> 6293</span> </div>
-<div class="line"><a name="l06294"></a><span class="lineno"> 6294</span> }</div>
-<div class="line"><a name="l06295"></a><span class="lineno"> 6295</span> </div>
-<div class="line"><a name="l06296"></a><span class="lineno"> 6296</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l06297"></a><span class="lineno"> 6297</span> </div>
-<div class="line"><a name="l06298"></a><span class="lineno"> 6298</span> cleanup:</div>
-<div class="line"><a name="l06299"></a><span class="lineno"> 6299</span> </div>
-<div class="line"><a name="l06300"></a><span class="lineno"> 6300</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l06301"></a><span class="lineno"> 6301</span> }</div>
-<div class="line"><a name="l06302"></a><span class="lineno"> 6302</span> </div>
-<div class="line"><a name="l06331"></a><span class="lineno"> 6331</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l06332"></a><span class="lineno"> 6332</span> sinfo_table_set(cpl_table** inp,</div>
-<div class="line"><a name="l06333"></a><span class="lineno"> 6333</span> <span class="keyword">const</span> cpl_table* ref,</div>
-<div class="line"><a name="l06334"></a><span class="lineno"> 6334</span> <span class="keyword">const</span> <span class="keywordtype">double</span> val,</div>
-<div class="line"><a name="l06335"></a><span class="lineno"> 6335</span> <span class="keyword">const</span> <span class="keywordtype">double</span> tol)</div>
-<div class="line"><a name="l06336"></a><span class="lineno"> 6336</span> {</div>
-<div class="line"><a name="l06337"></a><span class="lineno"> 6337</span> </div>
-<div class="line"><a name="l06338"></a><span class="lineno"> 6338</span> <span class="keywordtype">int</span> ninp=0;</div>
-<div class="line"><a name="l06339"></a><span class="lineno"> 6339</span> <span class="keywordtype">int</span> nref=0;</div>
-<div class="line"><a name="l06340"></a><span class="lineno"> 6340</span> <span class="keywordtype">double</span>* piw=NULL;</div>
-<div class="line"><a name="l06341"></a><span class="lineno"> 6341</span> <span class="keyword">const</span> <span class="keywordtype">double</span>* prw=NULL;</div>
-<div class="line"><a name="l06342"></a><span class="lineno"> 6342</span> <span class="keywordtype">double</span>* pir=NULL;</div>
-<div class="line"><a name="l06343"></a><span class="lineno"> 6343</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l06344"></a><span class="lineno"> 6344</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l06345"></a><span class="lineno"> 6345</span> cknull(*inp,<span class="stringliteral">"NULL input table"</span>);</div>
-<div class="line"><a name="l06346"></a><span class="lineno"> 6346</span> cknull(ref,<span class="stringliteral">"NULL reference table"</span>);</div>
-<div class="line"><a name="l06347"></a><span class="lineno"> 6347</span> </div>
-<div class="line"><a name="l06348"></a><span class="lineno"> 6348</span> check_nomsg(ninp=cpl_table_get_nrow(*inp));</div>
-<div class="line"><a name="l06349"></a><span class="lineno"> 6349</span> check_nomsg(nref=cpl_table_get_nrow(ref));</div>
-<div class="line"><a name="l06350"></a><span class="lineno"> 6350</span> </div>
-<div class="line"><a name="l06351"></a><span class="lineno"> 6351</span> check_nomsg(prw=cpl_table_get_data_double_const(ref,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l06352"></a><span class="lineno"> 6352</span> check_nomsg(piw=cpl_table_get_data_double(*inp,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l06353"></a><span class="lineno"> 6353</span> check_nomsg(pir=cpl_table_get_data_double(*inp,<span class="stringliteral">"RATIO"</span>));</div>
-<div class="line"><a name="l06354"></a><span class="lineno"> 6354</span> </div>
-<div class="line"><a name="l06355"></a><span class="lineno"> 6355</span> </div>
-<div class="line"><a name="l06356"></a><span class="lineno"> 6356</span> <span class="keywordflow">for</span>(i=0;i<ninp;i++) {</div>
-<div class="line"><a name="l06357"></a><span class="lineno"> 6357</span> <span class="comment">/*sinfo_msg("check =%g thresh=%g",fabs(piw[i]-prw[k]),tol); */</span></div>
-<div class="line"><a name="l06358"></a><span class="lineno"> 6358</span> <span class="keywordflow">if</span>(fabs(piw[i]-prw[k]) < tol) {</div>
-<div class="line"><a name="l06359"></a><span class="lineno"> 6359</span> check_nomsg(cpl_table_set_double(*inp,<span class="stringliteral">"RATIO"</span>,i,val));</div>
-<div class="line"><a name="l06360"></a><span class="lineno"> 6360</span> k++;</div>
-<div class="line"><a name="l06361"></a><span class="lineno"> 6361</span> }</div>
-<div class="line"><a name="l06362"></a><span class="lineno"> 6362</span> }</div>
-<div class="line"><a name="l06363"></a><span class="lineno"> 6363</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l06364"></a><span class="lineno"> 6364</span> </div>
-<div class="line"><a name="l06365"></a><span class="lineno"> 6365</span> cleanup:</div>
-<div class="line"><a name="l06366"></a><span class="lineno"> 6366</span> </div>
-<div class="line"><a name="l06367"></a><span class="lineno"> 6367</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l06368"></a><span class="lineno"> 6368</span> </div>
-<div class="line"><a name="l06369"></a><span class="lineno"> 6369</span> }</div>
-<div class="line"><a name="l06370"></a><span class="lineno"> 6370</span> </div>
-<div class="line"><a name="l06371"></a><span class="lineno"> 6371</span> </div>
-<div class="line"><a name="l06372"></a><span class="lineno"> 6372</span> </div>
-<div class="line"><a name="l06373"></a><span class="lineno"> 6373</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l06374"></a><span class="lineno"> 6374</span> sinfo_table_shift_simple(cpl_table* inp,</div>
-<div class="line"><a name="l06375"></a><span class="lineno"> 6375</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col,</div>
-<div class="line"><a name="l06376"></a><span class="lineno"> 6376</span> <span class="keyword">const</span> <span class="keywordtype">double</span> shift)</div>
-<div class="line"><a name="l06377"></a><span class="lineno"> 6377</span> {</div>
-<div class="line"><a name="l06378"></a><span class="lineno"> 6378</span> </div>
-<div class="line"><a name="l06379"></a><span class="lineno"> 6379</span> <span class="keywordtype">int</span> nrow=0;</div>
-<div class="line"><a name="l06380"></a><span class="lineno"> 6380</span> cpl_table* out=NULL;</div>
-<div class="line"><a name="l06381"></a><span class="lineno"> 6381</span> <span class="keywordtype">int</span> is=(int)shift;</div>
-<div class="line"><a name="l06382"></a><span class="lineno"> 6382</span> <span class="keywordtype">double</span> ds=shift-is;</div>
-<div class="line"><a name="l06383"></a><span class="lineno"> 6383</span> <span class="keywordtype">double</span>* pi=NULL;</div>
-<div class="line"><a name="l06384"></a><span class="lineno"> 6384</span> <span class="keywordtype">double</span>* po=NULL;</div>
-<div class="line"><a name="l06385"></a><span class="lineno"> 6385</span> <span class="keywordtype">double</span> m=0;</div>
-<div class="line"><a name="l06386"></a><span class="lineno"> 6386</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l06387"></a><span class="lineno"> 6387</span> cknull(inp,<span class="stringliteral">"null input table"</span>);</div>
-<div class="line"><a name="l06388"></a><span class="lineno"> 6388</span> </div>
-<div class="line"><a name="l06389"></a><span class="lineno"> 6389</span> check_nomsg(nrow=cpl_table_get_nrow(inp));</div>
-<div class="line"><a name="l06390"></a><span class="lineno"> 6390</span> check_nomsg(out=cpl_table_duplicate(inp));</div>
-<div class="line"><a name="l06391"></a><span class="lineno"> 6391</span> check_nomsg(cpl_table_fill_column_window(out,col,0,nrow,0));</div>
-<div class="line"><a name="l06392"></a><span class="lineno"> 6392</span> check_nomsg(pi=cpl_table_get_data_double(inp,col));</div>
-<div class="line"><a name="l06393"></a><span class="lineno"> 6393</span> check_nomsg(po=cpl_table_get_data_double(out,col));</div>
-<div class="line"><a name="l06394"></a><span class="lineno"> 6394</span> </div>
-<div class="line"><a name="l06395"></a><span class="lineno"> 6395</span> </div>
-<div class="line"><a name="l06396"></a><span class="lineno"> 6396</span> <span class="keywordflow">for</span>(i=0;i<nrow;i++) {</div>
-<div class="line"><a name="l06397"></a><span class="lineno"> 6397</span> <span class="keywordflow">if</span>((i+is)>0 && (i+is+1) < nrow) {</div>
-<div class="line"><a name="l06398"></a><span class="lineno"> 6398</span> m=pi[i+is+1]-pi[i+is];</div>
-<div class="line"><a name="l06399"></a><span class="lineno"> 6399</span> po[i]=pi[i+is]+m*ds;</div>
-<div class="line"><a name="l06400"></a><span class="lineno"> 6400</span> }</div>
-<div class="line"><a name="l06401"></a><span class="lineno"> 6401</span> }</div>
-<div class="line"><a name="l06402"></a><span class="lineno"> 6402</span> <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l06403"></a><span class="lineno"> 6403</span> cleanup:</div>
-<div class="line"><a name="l06404"></a><span class="lineno"> 6404</span> sinfo_free_table(&out);</div>
-<div class="line"><a name="l06405"></a><span class="lineno"> 6405</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l06406"></a><span class="lineno"> 6406</span> </div>
-<div class="line"><a name="l06407"></a><span class="lineno"> 6407</span> }</div>
-<div class="line"><a name="l06408"></a><span class="lineno"> 6408</span> </div>
-<div class="line"><a name="l06409"></a><span class="lineno"> 6409</span> </div>
-<div class="line"><a name="l06410"></a><span class="lineno"> 6410</span> </div>
-<div class="line"><a name="l06411"></a><span class="lineno"> 6411</span> </div>
-<div class="line"><a name="l06412"></a><span class="lineno"> 6412</span> <span class="keyword">static</span> cpl_imagelist*</div>
-<div class="line"><a name="l06413"></a><span class="lineno"> 6413</span> sinfo_cube_zshift_simple(cpl_imagelist* inp,</div>
-<div class="line"><a name="l06414"></a><span class="lineno"> 6414</span> <span class="keyword">const</span> <span class="keywordtype">float</span> shift)</div>
-<div class="line"><a name="l06415"></a><span class="lineno"> 6415</span> {</div>
-<div class="line"><a name="l06416"></a><span class="lineno"> 6416</span> </div>
-<div class="line"><a name="l06417"></a><span class="lineno"> 6417</span> <span class="keywordtype">int</span> nx=0;</div>
-<div class="line"><a name="l06418"></a><span class="lineno"> 6418</span> <span class="keywordtype">int</span> ny=0;</div>
-<div class="line"><a name="l06419"></a><span class="lineno"> 6419</span> <span class="keywordtype">int</span> nz=0;</div>
-<div class="line"><a name="l06420"></a><span class="lineno"> 6420</span> </div>
-<div class="line"><a name="l06421"></a><span class="lineno"> 6421</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l06422"></a><span class="lineno"> 6422</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l06423"></a><span class="lineno"> 6423</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l06424"></a><span class="lineno"> 6424</span> <span class="keywordtype">int</span> ks=(int)shift;</div>
-<div class="line"><a name="l06425"></a><span class="lineno"> 6425</span> </div>
-<div class="line"><a name="l06426"></a><span class="lineno"> 6426</span> <span class="keywordtype">float</span> ds=shift-ks;</div>
-<div class="line"><a name="l06427"></a><span class="lineno"> 6427</span> <span class="keywordtype">float</span>* pu=NULL;</div>
-<div class="line"><a name="l06428"></a><span class="lineno"> 6428</span> <span class="keywordtype">float</span>* pl=NULL;</div>
-<div class="line"><a name="l06429"></a><span class="lineno"> 6429</span> <span class="keywordtype">float</span>* po=NULL;</div>
-<div class="line"><a name="l06430"></a><span class="lineno"> 6430</span> </div>
-<div class="line"><a name="l06431"></a><span class="lineno"> 6431</span> <span class="keywordtype">float</span> int2=0;</div>
-<div class="line"><a name="l06432"></a><span class="lineno"> 6432</span> <span class="keywordtype">float</span> int1=0;</div>
-<div class="line"><a name="l06433"></a><span class="lineno"> 6433</span> <span class="keywordtype">float</span> m=0;</div>
-<div class="line"><a name="l06434"></a><span class="lineno"> 6434</span> </div>
-<div class="line"><a name="l06435"></a><span class="lineno"> 6435</span> cpl_imagelist* out=NULL;</div>
-<div class="line"><a name="l06436"></a><span class="lineno"> 6436</span> cpl_image* imgu=NULL;</div>
-<div class="line"><a name="l06437"></a><span class="lineno"> 6437</span> cpl_image* imgl=NULL;</div>
-<div class="line"><a name="l06438"></a><span class="lineno"> 6438</span> cpl_image* imgo=NULL;</div>
-<div class="line"><a name="l06439"></a><span class="lineno"> 6439</span> </div>
-<div class="line"><a name="l06440"></a><span class="lineno"> 6440</span> </div>
-<div class="line"><a name="l06441"></a><span class="lineno"> 6441</span> cknull(inp,<span class="stringliteral">"null input cube"</span>);</div>
-<div class="line"><a name="l06442"></a><span class="lineno"> 6442</span> </div>
-<div class="line"><a name="l06443"></a><span class="lineno"> 6443</span> check_nomsg(nz=cpl_imagelist_get_size(inp));</div>
-<div class="line"><a name="l06444"></a><span class="lineno"> 6444</span> check_nomsg(out=cpl_imagelist_duplicate(inp));</div>
-<div class="line"><a name="l06445"></a><span class="lineno"> 6445</span> check_nomsg(imgo=cpl_imagelist_get(out,0));</div>
-<div class="line"><a name="l06446"></a><span class="lineno"> 6446</span> check_nomsg(nx=cpl_image_get_size_x(imgo));</div>
-<div class="line"><a name="l06447"></a><span class="lineno"> 6447</span> check_nomsg(ny=cpl_image_get_size_y(imgo));</div>
-<div class="line"><a name="l06448"></a><span class="lineno"> 6448</span> </div>
-<div class="line"><a name="l06449"></a><span class="lineno"> 6449</span> <span class="keywordflow">for</span>(k=0;k<nz;k++) {</div>
-<div class="line"><a name="l06450"></a><span class="lineno"> 6450</span> <span class="keywordflow">if</span>((k+ks)>0 && (k+ks+1) < nz) {</div>
-<div class="line"><a name="l06451"></a><span class="lineno"> 6451</span> </div>
-<div class="line"><a name="l06452"></a><span class="lineno"> 6452</span> check_nomsg(imgu=cpl_imagelist_get(inp,k+ks+1));</div>
-<div class="line"><a name="l06453"></a><span class="lineno"> 6453</span> check_nomsg(imgl=cpl_imagelist_get(inp,k+ks));</div>
-<div class="line"><a name="l06454"></a><span class="lineno"> 6454</span> check_nomsg(imgo=cpl_imagelist_get(out,k));</div>
-<div class="line"><a name="l06455"></a><span class="lineno"> 6455</span> </div>
-<div class="line"><a name="l06456"></a><span class="lineno"> 6456</span> check_nomsg(pu=cpl_image_get_data_float(imgu));</div>
-<div class="line"><a name="l06457"></a><span class="lineno"> 6457</span> check_nomsg(pl=cpl_image_get_data_float(imgl));</div>
-<div class="line"><a name="l06458"></a><span class="lineno"> 6458</span> check_nomsg(po=cpl_image_get_data_float(imgo));</div>
-<div class="line"><a name="l06459"></a><span class="lineno"> 6459</span> </div>
-<div class="line"><a name="l06460"></a><span class="lineno"> 6460</span> </div>
-<div class="line"><a name="l06461"></a><span class="lineno"> 6461</span> <span class="keywordflow">for</span>(j=0;j<ny;j++) {</div>
-<div class="line"><a name="l06462"></a><span class="lineno"> 6462</span> <span class="keywordflow">for</span>(i=0;i<nx;i++) {</div>
-<div class="line"><a name="l06463"></a><span class="lineno"> 6463</span> int2=pu[nx*j+i];</div>
-<div class="line"><a name="l06464"></a><span class="lineno"> 6464</span> int1=pl[nx*j+i];</div>
-<div class="line"><a name="l06465"></a><span class="lineno"> 6465</span> m=int2-int1;</div>
-<div class="line"><a name="l06466"></a><span class="lineno"> 6466</span> po[nx*j+i]=int1+m*ds;</div>
-<div class="line"><a name="l06467"></a><span class="lineno"> 6467</span> }</div>
-<div class="line"><a name="l06468"></a><span class="lineno"> 6468</span> }</div>
-<div class="line"><a name="l06469"></a><span class="lineno"> 6469</span> }</div>
-<div class="line"><a name="l06470"></a><span class="lineno"> 6470</span> </div>
-<div class="line"><a name="l06471"></a><span class="lineno"> 6471</span> </div>
-<div class="line"><a name="l06472"></a><span class="lineno"> 6472</span> }</div>
-<div class="line"><a name="l06473"></a><span class="lineno"> 6473</span> <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l06474"></a><span class="lineno"> 6474</span> cleanup:</div>
-<div class="line"><a name="l06475"></a><span class="lineno"> 6475</span> sinfo_free_imagelist(&out);</div>
-<div class="line"><a name="l06476"></a><span class="lineno"> 6476</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l06477"></a><span class="lineno"> 6477</span> </div>
-<div class="line"><a name="l06478"></a><span class="lineno"> 6478</span> }</div>
-<div class="line"><a name="l06479"></a><span class="lineno"> 6479</span> </div>
-<div class="line"><a name="l06480"></a><span class="lineno"> 6480</span> </div>
-<div class="line"><a name="l06491"></a><span class="lineno"> 6491</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l06492"></a><span class="lineno"> 6492</span> sinfo_get_line_ratio(cpl_table* obj_lin,</div>
-<div class="line"><a name="l06493"></a><span class="lineno"> 6493</span> cpl_table* obj_cnt,</div>
-<div class="line"><a name="l06494"></a><span class="lineno"> 6494</span> cpl_table* sky_lin,</div>
-<div class="line"><a name="l06495"></a><span class="lineno"> 6495</span> cpl_table* sky_cnt,</div>
-<div class="line"><a name="l06496"></a><span class="lineno"> 6496</span> <span class="keyword">const</span> <span class="keywordtype">int</span> method,</div>
-<div class="line"><a name="l06497"></a><span class="lineno"> 6497</span> <span class="keywordtype">double</span>* r)</div>
-<div class="line"><a name="l06498"></a><span class="lineno"> 6498</span> {</div>
-<div class="line"><a name="l06499"></a><span class="lineno"> 6499</span> </div>
-<div class="line"><a name="l06500"></a><span class="lineno"> 6500</span> <span class="keywordtype">int</span> nobj;</div>
-<div class="line"><a name="l06501"></a><span class="lineno"> 6501</span> <span class="keywordtype">int</span> nsky;</div>
-<div class="line"><a name="l06502"></a><span class="lineno"> 6502</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l06503"></a><span class="lineno"> 6503</span> </div>
-<div class="line"><a name="l06504"></a><span class="lineno"> 6504</span> cpl_table* obj_dif=NULL;</div>
-<div class="line"><a name="l06505"></a><span class="lineno"> 6505</span> cpl_table* sky_dif=NULL;</div>
-<div class="line"><a name="l06506"></a><span class="lineno"> 6506</span> </div>
-<div class="line"><a name="l06507"></a><span class="lineno"> 6507</span> <span class="keywordtype">double</span>* poi=NULL;</div>
-<div class="line"><a name="l06508"></a><span class="lineno"> 6508</span> <span class="keywordtype">double</span>* psi=NULL;</div>
-<div class="line"><a name="l06509"></a><span class="lineno"> 6509</span> <span class="keywordtype">double</span>* pvd=NULL;</div>
-<div class="line"><a name="l06510"></a><span class="lineno"> 6510</span> <span class="keywordtype">double</span>* pvn=NULL;</div>
-<div class="line"><a name="l06511"></a><span class="lineno"> 6511</span> <span class="keywordtype">double</span>* pvr=NULL;</div>
-<div class="line"><a name="l06512"></a><span class="lineno"> 6512</span> </div>
-<div class="line"><a name="l06513"></a><span class="lineno"> 6513</span> cpl_vector* num=NULL;</div>
-<div class="line"><a name="l06514"></a><span class="lineno"> 6514</span> cpl_vector* den=NULL;</div>
-<div class="line"><a name="l06515"></a><span class="lineno"> 6515</span> cpl_vector* rat=NULL;</div>
-<div class="line"><a name="l06516"></a><span class="lineno"> 6516</span> cpl_vector* wav=NULL;</div>
-<div class="line"><a name="l06517"></a><span class="lineno"> 6517</span> <span class="keywordtype">double</span> mnum=0;</div>
-<div class="line"><a name="l06518"></a><span class="lineno"> 6518</span> <span class="keywordtype">double</span> mden=0;</div>
-<div class="line"><a name="l06519"></a><span class="lineno"> 6519</span> <span class="keywordtype">double</span> tnum=0;</div>
-<div class="line"><a name="l06520"></a><span class="lineno"> 6520</span> <span class="keywordtype">double</span> tden=0;</div>
-<div class="line"><a name="l06521"></a><span class="lineno"> 6521</span> cpl_size pows[2];</div>
-<div class="line"><a name="l06522"></a><span class="lineno"> 6522</span> cpl_polynomial* cfit=NULL;</div>
-<div class="line"><a name="l06523"></a><span class="lineno"> 6523</span> <span class="keywordtype">double</span> mse=0;</div>
-<div class="line"><a name="l06524"></a><span class="lineno"> 6524</span> </div>
-<div class="line"><a name="l06525"></a><span class="lineno"> 6525</span> cknull(obj_lin,<span class="stringliteral">"null obj line table"</span>);</div>
-<div class="line"><a name="l06526"></a><span class="lineno"> 6526</span> cknull(sky_lin,<span class="stringliteral">"null sky line table"</span>);</div>
-<div class="line"><a name="l06527"></a><span class="lineno"> 6527</span> </div>
-<div class="line"><a name="l06528"></a><span class="lineno"> 6528</span> cknull(obj_cnt,<span class="stringliteral">"null obj cont table"</span>);</div>
-<div class="line"><a name="l06529"></a><span class="lineno"> 6529</span> cknull(sky_cnt,<span class="stringliteral">"null sky cont table"</span>);</div>
-<div class="line"><a name="l06530"></a><span class="lineno"> 6530</span> </div>
-<div class="line"><a name="l06531"></a><span class="lineno"> 6531</span> </div>
-<div class="line"><a name="l06532"></a><span class="lineno"> 6532</span> cknull_nomsg(obj_dif=sinfo_table_subtract_continuum(obj_lin,obj_cnt));</div>
-<div class="line"><a name="l06533"></a><span class="lineno"> 6533</span> cknull_nomsg(sky_dif=sinfo_table_subtract_continuum(sky_lin,sky_cnt));</div>
-<div class="line"><a name="l06534"></a><span class="lineno"> 6534</span> </div>
-<div class="line"><a name="l06535"></a><span class="lineno"> 6535</span> check_nomsg(nobj=cpl_table_get_nrow(obj_dif));</div>
-<div class="line"><a name="l06536"></a><span class="lineno"> 6536</span> check_nomsg(nsky=cpl_table_get_nrow(sky_dif));</div>
-<div class="line"><a name="l06537"></a><span class="lineno"> 6537</span> </div>
-<div class="line"><a name="l06538"></a><span class="lineno"> 6538</span> </div>
-<div class="line"><a name="l06539"></a><span class="lineno"> 6539</span> </div>
-<div class="line"><a name="l06540"></a><span class="lineno"> 6540</span> <span class="keywordflow">if</span>(nobj != nsky) {</div>
-<div class="line"><a name="l06541"></a><span class="lineno"> 6541</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"obj and sky table must have the same no of rows!"</span>);</div>
-<div class="line"><a name="l06542"></a><span class="lineno"> 6542</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"nobj=%d nsky=%d"</span>,nobj,nsky);</div>
-<div class="line"><a name="l06543"></a><span class="lineno"> 6543</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l06544"></a><span class="lineno"> 6544</span> }</div>
-<div class="line"><a name="l06545"></a><span class="lineno"> 6545</span> <span class="comment">//sinfo_msg("Object sky residuals/Sky lines ratio determination method=%d",</span></div>
-<div class="line"><a name="l06546"></a><span class="lineno"> 6546</span> <span class="comment">// method);</span></div>
-<div class="line"><a name="l06547"></a><span class="lineno"> 6547</span> <span class="keywordflow">if</span>(method == 0) {</div>
-<div class="line"><a name="l06548"></a><span class="lineno"> 6548</span> ck0_nomsg(sinfo_get_line_ratio_amoeba(obj_dif,sky_dif,r));</div>
-<div class="line"><a name="l06549"></a><span class="lineno"> 6549</span> sinfo_free_table(&obj_dif);</div>
-<div class="line"><a name="l06550"></a><span class="lineno"> 6550</span> sinfo_free_table(&sky_dif);</div>
-<div class="line"><a name="l06551"></a><span class="lineno"> 6551</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l06552"></a><span class="lineno"> 6552</span> }</div>
-<div class="line"><a name="l06553"></a><span class="lineno"> 6553</span> </div>
-<div class="line"><a name="l06554"></a><span class="lineno"> 6554</span> </div>
-<div class="line"><a name="l06555"></a><span class="lineno"> 6555</span> check_nomsg(poi=cpl_table_get_data_double(obj_dif,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l06556"></a><span class="lineno"> 6556</span> check_nomsg(psi=cpl_table_get_data_double(sky_dif,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l06557"></a><span class="lineno"> 6557</span> </div>
-<div class="line"><a name="l06558"></a><span class="lineno"> 6558</span> check_nomsg(num=cpl_vector_new(nobj));</div>
-<div class="line"><a name="l06559"></a><span class="lineno"> 6559</span> check_nomsg(den=cpl_vector_new(nobj));</div>
-<div class="line"><a name="l06560"></a><span class="lineno"> 6560</span> check_nomsg(rat=cpl_vector_new(nobj));</div>
-<div class="line"><a name="l06561"></a><span class="lineno"> 6561</span> check_nomsg(cpl_vector_fill(num,0));</div>
-<div class="line"><a name="l06562"></a><span class="lineno"> 6562</span> check_nomsg(cpl_vector_fill(den,0));</div>
-<div class="line"><a name="l06563"></a><span class="lineno"> 6563</span> check_nomsg(cpl_vector_fill(rat,0));</div>
-<div class="line"><a name="l06564"></a><span class="lineno"> 6564</span> check_nomsg(pvd=cpl_vector_get_data(den));</div>
-<div class="line"><a name="l06565"></a><span class="lineno"> 6565</span> check_nomsg(pvn=cpl_vector_get_data(num));</div>
-<div class="line"><a name="l06566"></a><span class="lineno"> 6566</span> check_nomsg(pvr=cpl_vector_get_data(rat));</div>
-<div class="line"><a name="l06567"></a><span class="lineno"> 6567</span> </div>
-<div class="line"><a name="l06568"></a><span class="lineno"> 6568</span> <span class="keywordflow">for</span>(i=0;i<nobj;i++) {</div>
-<div class="line"><a name="l06569"></a><span class="lineno"> 6569</span> <span class="keywordflow">if</span>(!irplib_isnan(psi[i]) &&</div>
-<div class="line"><a name="l06570"></a><span class="lineno"> 6570</span> !irplib_isnan(poi[i]) &&</div>
-<div class="line"><a name="l06571"></a><span class="lineno"> 6571</span> !irplib_isinf(psi[i]) &&</div>
-<div class="line"><a name="l06572"></a><span class="lineno"> 6572</span> !irplib_isinf(poi[i]) ) {</div>
-<div class="line"><a name="l06573"></a><span class="lineno"> 6573</span> pvn[i]=psi[i]*poi[i];</div>
-<div class="line"><a name="l06574"></a><span class="lineno"> 6574</span> pvd[i]=psi[i]*psi[i];</div>
-<div class="line"><a name="l06575"></a><span class="lineno"> 6575</span> <span class="keywordflow">if</span>(psi[i] != 0) {</div>
-<div class="line"><a name="l06576"></a><span class="lineno"> 6576</span> pvr[i]=poi[i]/psi[i];</div>
-<div class="line"><a name="l06577"></a><span class="lineno"> 6577</span> }</div>
-<div class="line"><a name="l06578"></a><span class="lineno"> 6578</span> }</div>
-<div class="line"><a name="l06579"></a><span class="lineno"> 6579</span> }</div>
-<div class="line"><a name="l06580"></a><span class="lineno"> 6580</span> sinfo_free_table(&sky_dif);</div>
-<div class="line"><a name="l06581"></a><span class="lineno"> 6581</span> </div>
-<div class="line"><a name="l06582"></a><span class="lineno"> 6582</span> check_nomsg(mnum=cpl_vector_get_median_const(num));</div>
-<div class="line"><a name="l06583"></a><span class="lineno"> 6583</span> check_nomsg(mden=cpl_vector_get_median_const(den));</div>
-<div class="line"><a name="l06584"></a><span class="lineno"> 6584</span> check_nomsg(tnum=cpl_vector_get_mean(num)*nobj);</div>
-<div class="line"><a name="l06585"></a><span class="lineno"> 6585</span> check_nomsg(tden=cpl_vector_get_mean(den)*nobj);</div>
-<div class="line"><a name="l06586"></a><span class="lineno"> 6586</span> </div>
-<div class="line"><a name="l06587"></a><span class="lineno"> 6587</span> <span class="comment">//sinfo_msg("mden=%g tden=%g",mden,tden);</span></div>
-<div class="line"><a name="l06588"></a><span class="lineno"> 6588</span> <span class="comment">//sinfo_msg("mnum=%g tnum=%g",mnum,tnum);</span></div>
-<div class="line"><a name="l06589"></a><span class="lineno"> 6589</span> sinfo_free_my_vector(&num);</div>
-<div class="line"><a name="l06590"></a><span class="lineno"> 6590</span> sinfo_free_my_vector(&den);</div>
-<div class="line"><a name="l06591"></a><span class="lineno"> 6591</span> <span class="keywordflow">if</span>(method == 1) {</div>
-<div class="line"><a name="l06592"></a><span class="lineno"> 6592</span> *r=tnum/tden;</div>
-<div class="line"><a name="l06593"></a><span class="lineno"> 6593</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (method == 2) {</div>
-<div class="line"><a name="l06594"></a><span class="lineno"> 6594</span> *r=mnum/mden;</div>
-<div class="line"><a name="l06595"></a><span class="lineno"> 6595</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (method == 3) {</div>
-<div class="line"><a name="l06596"></a><span class="lineno"> 6596</span> *r=cpl_vector_get_median_const(rat);</div>
-<div class="line"><a name="l06597"></a><span class="lineno"> 6597</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (method == 4) {</div>
-<div class="line"><a name="l06598"></a><span class="lineno"> 6598</span> *r=cpl_vector_get_mean(rat);</div>
-<div class="line"><a name="l06599"></a><span class="lineno"> 6599</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (method == 5) {</div>
-<div class="line"><a name="l06600"></a><span class="lineno"> 6600</span> </div>
-<div class="line"><a name="l06601"></a><span class="lineno"> 6601</span> check_nomsg(wav=cpl_vector_wrap(nobj,</div>
-<div class="line"><a name="l06602"></a><span class="lineno"> 6602</span> cpl_table_get_data_double(obj_dif,<span class="stringliteral">"WAVE"</span>)));</div>
-<div class="line"><a name="l06603"></a><span class="lineno"> 6603</span> check_nomsg(cfit=sinfo_polynomial_fit_1d_create(wav,rat,0,&mse));</div>
-<div class="line"><a name="l06604"></a><span class="lineno"> 6604</span> sinfo_unwrap_vector(&wav);</div>
-<div class="line"><a name="l06605"></a><span class="lineno"> 6605</span> pows[0]=0;</div>
-<div class="line"><a name="l06606"></a><span class="lineno"> 6606</span> pows[1]=0;</div>
-<div class="line"><a name="l06607"></a><span class="lineno"> 6607</span> check_nomsg(*r=cpl_polynomial_get_coeff(cfit,pows));</div>
-<div class="line"><a name="l06608"></a><span class="lineno"> 6608</span> sinfo_free_polynomial(&cfit);</div>
-<div class="line"><a name="l06609"></a><span class="lineno"> 6609</span> </div>
-<div class="line"><a name="l06610"></a><span class="lineno"> 6610</span> }</div>
-<div class="line"><a name="l06611"></a><span class="lineno"> 6611</span> </div>
-<div class="line"><a name="l06612"></a><span class="lineno"> 6612</span> sinfo_free_table(&obj_dif);</div>
-<div class="line"><a name="l06613"></a><span class="lineno"> 6613</span> sinfo_free_my_vector(&rat);</div>
-<div class="line"><a name="l06614"></a><span class="lineno"> 6614</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l06615"></a><span class="lineno"> 6615</span> cleanup:</div>
-<div class="line"><a name="l06616"></a><span class="lineno"> 6616</span> sinfo_free_table(&obj_dif);</div>
-<div class="line"><a name="l06617"></a><span class="lineno"> 6617</span> sinfo_free_table(&sky_dif);</div>
-<div class="line"><a name="l06618"></a><span class="lineno"> 6618</span> sinfo_free_my_vector(&num);</div>
-<div class="line"><a name="l06619"></a><span class="lineno"> 6619</span> sinfo_free_my_vector(&den);</div>
-<div class="line"><a name="l06620"></a><span class="lineno"> 6620</span> sinfo_free_my_vector(&rat);</div>
-<div class="line"><a name="l06621"></a><span class="lineno"> 6621</span> sinfo_unwrap_vector(&wav);</div>
-<div class="line"><a name="l06622"></a><span class="lineno"> 6622</span> </div>
-<div class="line"><a name="l06623"></a><span class="lineno"> 6623</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l06624"></a><span class="lineno"> 6624</span> }</div>
-<div class="line"><a name="l06625"></a><span class="lineno"> 6625</span> </div>
-<div class="line"><a name="l06626"></a><span class="lineno"> 6626</span> </div>
-<div class="line"><a name="l06627"></a><span class="lineno"> 6627</span> </div>
-<div class="line"><a name="l06628"></a><span class="lineno"> 6628</span> </div>
-<div class="line"><a name="l06638"></a><span class="lineno"> 6638</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l06639"></a><span class="lineno"> 6639</span> sinfo_get_line_ratio_amoeba(cpl_table* obj,</div>
-<div class="line"><a name="l06640"></a><span class="lineno"> 6640</span> cpl_table* sky,</div>
-<div class="line"><a name="l06641"></a><span class="lineno"> 6641</span> <span class="keywordtype">double</span>* r)</div>
-<div class="line"><a name="l06642"></a><span class="lineno"> 6642</span> {</div>
-<div class="line"><a name="l06643"></a><span class="lineno"> 6643</span> </div>
-<div class="line"><a name="l06644"></a><span class="lineno"> 6644</span> </div>
-<div class="line"><a name="l06645"></a><span class="lineno"> 6645</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l06646"></a><span class="lineno"> 6646</span> <span class="keyword">const</span> <span class="keywordtype">int</span> MP=2;</div>
-<div class="line"><a name="l06647"></a><span class="lineno"> 6647</span> <span class="keyword">const</span> <span class="keywordtype">int</span> NP=1;</div>
-<div class="line"><a name="l06648"></a><span class="lineno"> 6648</span> <span class="keywordtype">double</span> y[MP];</div>
-<div class="line"><a name="l06649"></a><span class="lineno"> 6649</span> <span class="keywordtype">double</span> p0[NP];</div>
-<div class="line"><a name="l06650"></a><span class="lineno"> 6650</span> <span class="keywordtype">double</span>** ap=NULL;</div>
-<div class="line"><a name="l06651"></a><span class="lineno"> 6651</span> <span class="keywordtype">int</span> nfunc=0;</div>
-<div class="line"><a name="l06652"></a><span class="lineno"> 6652</span> <span class="keywordtype">int</span> np=0;</div>
-<div class="line"><a name="l06653"></a><span class="lineno"> 6653</span> check_nomsg(np=cpl_table_get_nrow(obj));</div>
-<div class="line"><a name="l06654"></a><span class="lineno"> 6654</span> check_nomsg(sa_ox=cpl_vector_wrap(np,cpl_table_get_data_double(obj,<span class="stringliteral">"WAVE"</span>)));</div>
-<div class="line"><a name="l06655"></a><span class="lineno"> 6655</span> check_nomsg(sa_oy=cpl_vector_wrap(np,cpl_table_get_data_double(obj,<span class="stringliteral">"INT"</span>)));</div>
-<div class="line"><a name="l06656"></a><span class="lineno"> 6656</span> check_nomsg(sa_sy=cpl_vector_wrap(np,cpl_table_get_data_double(sky,<span class="stringliteral">"INT"</span>)));</div>
-<div class="line"><a name="l06657"></a><span class="lineno"> 6657</span> <span class="comment">// Amoeba part</span></div>
-<div class="line"><a name="l06658"></a><span class="lineno"> 6658</span> </div>
-<div class="line"><a name="l06659"></a><span class="lineno"> 6659</span> </div>
-<div class="line"><a name="l06660"></a><span class="lineno"> 6660</span> ap=(<span class="keywordtype">double</span>**) cpl_calloc(MP,<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>*));</div>
-<div class="line"><a name="l06661"></a><span class="lineno"> 6661</span> <span class="keywordflow">for</span>(i=0;i<MP;i++) {</div>
-<div class="line"><a name="l06662"></a><span class="lineno"> 6662</span> ap[i]=cpl_calloc(NP,<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l06663"></a><span class="lineno"> 6663</span> }</div>
-<div class="line"><a name="l06664"></a><span class="lineno"> 6664</span> </div>
-<div class="line"><a name="l06665"></a><span class="lineno"> 6665</span> ap[0][0]=-1.;</div>
-<div class="line"><a name="l06666"></a><span class="lineno"> 6666</span> ap[1][0]=+1.;</div>
-<div class="line"><a name="l06667"></a><span class="lineno"> 6667</span> </div>
-<div class="line"><a name="l06668"></a><span class="lineno"> 6668</span> <span class="comment">//sinfo_msg("Before amoeba fit");</span></div>
-<div class="line"><a name="l06669"></a><span class="lineno"> 6669</span> <span class="comment">//sinfo_msg("ap[0][0]=%g ap[0][1]=%g",ap[0][0],ap[1][0]);</span></div>
-<div class="line"><a name="l06670"></a><span class="lineno"> 6670</span> <span class="keywordflow">for</span>(i=0;i<MP;i++) {</div>
-<div class="line"><a name="l06671"></a><span class="lineno"> 6671</span> p0[0]=ap[i][0];</div>
-<div class="line"><a name="l06672"></a><span class="lineno"> 6672</span> y[i]=sinfo_fit_sky(p0);</div>
-<div class="line"><a name="l06673"></a><span class="lineno"> 6673</span> }</div>
-<div class="line"><a name="l06674"></a><span class="lineno"> 6674</span> </div>
-<div class="line"><a name="l06675"></a><span class="lineno"> 6675</span> </div>
-<div class="line"><a name="l06676"></a><span class="lineno"> 6676</span> check_nomsg(sinfo_fit_amoeba(ap,y,NP,AMOEBA_FTOL,sinfo_fit_sky,&nfunc));</div>
-<div class="line"><a name="l06677"></a><span class="lineno"> 6677</span> </div>
-<div class="line"><a name="l06678"></a><span class="lineno"> 6678</span> sinfo_msg(<span class="stringliteral">"After amoeba fit"</span>);</div>
-<div class="line"><a name="l06679"></a><span class="lineno"> 6679</span> sinfo_msg(<span class="stringliteral">"ap[0][0]=%g ap[0][1]=%g"</span>,ap[0][0],ap[1][0]);</div>
-<div class="line"><a name="l06680"></a><span class="lineno"> 6680</span> </div>
-<div class="line"><a name="l06681"></a><span class="lineno"> 6681</span> *r=ap[0][0];</div>
-<div class="line"><a name="l06682"></a><span class="lineno"> 6682</span> </div>
-<div class="line"><a name="l06683"></a><span class="lineno"> 6683</span> sinfo_unwrap_vector(&sa_ox);</div>
-<div class="line"><a name="l06684"></a><span class="lineno"> 6684</span> sinfo_unwrap_vector(&sa_oy);</div>
-<div class="line"><a name="l06685"></a><span class="lineno"> 6685</span> sinfo_unwrap_vector(&sa_sy);</div>
-<div class="line"><a name="l06686"></a><span class="lineno"> 6686</span> sinfo_new_destroy_2Ddoublearray(&ap,MP);</div>
-<div class="line"><a name="l06687"></a><span class="lineno"> 6687</span> </div>
-<div class="line"><a name="l06688"></a><span class="lineno"> 6688</span> </div>
-<div class="line"><a name="l06689"></a><span class="lineno"> 6689</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l06690"></a><span class="lineno"> 6690</span> </div>
-<div class="line"><a name="l06691"></a><span class="lineno"> 6691</span> cleanup:</div>
-<div class="line"><a name="l06692"></a><span class="lineno"> 6692</span> sinfo_unwrap_vector(&sa_ox);</div>
-<div class="line"><a name="l06693"></a><span class="lineno"> 6693</span> sinfo_unwrap_vector(&sa_oy);</div>
-<div class="line"><a name="l06694"></a><span class="lineno"> 6694</span> sinfo_unwrap_vector(&sa_sy);</div>
-<div class="line"><a name="l06695"></a><span class="lineno"> 6695</span> sinfo_new_destroy_2Ddoublearray(&ap,MP);</div>
-<div class="line"><a name="l06696"></a><span class="lineno"> 6696</span> </div>
-<div class="line"><a name="l06697"></a><span class="lineno"> 6697</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l06698"></a><span class="lineno"> 6698</span> </div>
-<div class="line"><a name="l06699"></a><span class="lineno"> 6699</span> }</div>
-<div class="line"><a name="l06700"></a><span class="lineno"> 6700</span> </div>
-<div class="line"><a name="l06701"></a><span class="lineno"> 6701</span> </div>
-<div class="line"><a name="l06702"></a><span class="lineno"> 6702</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l06711"></a><span class="lineno"> 6711</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l06712"></a><span class="lineno"> 6712</span> </div>
-<div class="line"><a name="l06713"></a><span class="lineno"> 6713</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l06714"></a><span class="lineno"> 6714</span> sinfo_fit_sky(<span class="keywordtype">double</span> p[])</div>
-<div class="line"><a name="l06715"></a><span class="lineno"> 6715</span> </div>
-<div class="line"><a name="l06716"></a><span class="lineno"> 6716</span> {</div>
-<div class="line"><a name="l06717"></a><span class="lineno"> 6717</span> <span class="keywordtype">double</span>* ps=NULL;</div>
-<div class="line"><a name="l06718"></a><span class="lineno"> 6718</span> <span class="keywordtype">double</span>* po=NULL;</div>
-<div class="line"><a name="l06719"></a><span class="lineno"> 6719</span> <span class="keywordtype">double</span>* pv=NULL;</div>
-<div class="line"><a name="l06720"></a><span class="lineno"> 6720</span> cpl_vector* vtmp=NULL;</div>
-<div class="line"><a name="l06721"></a><span class="lineno"> 6721</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l06722"></a><span class="lineno"> 6722</span> <span class="keywordtype">int</span> np=0;</div>
-<div class="line"><a name="l06723"></a><span class="lineno"> 6723</span> cpl_size pows[2];</div>
-<div class="line"><a name="l06724"></a><span class="lineno"> 6724</span> <span class="keywordtype">double</span> mse=0;</div>
-<div class="line"><a name="l06725"></a><span class="lineno"> 6725</span> <span class="keywordtype">double</span> cont=0;</div>
-<div class="line"><a name="l06726"></a><span class="lineno"> 6726</span> cpl_polynomial* pfit=NULL;</div>
-<div class="line"><a name="l06727"></a><span class="lineno"> 6727</span> </div>
-<div class="line"><a name="l06728"></a><span class="lineno"> 6728</span> <span class="keywordtype">double</span> rms=0;</div>
-<div class="line"><a name="l06729"></a><span class="lineno"> 6729</span> </div>
-<div class="line"><a name="l06730"></a><span class="lineno"> 6730</span> </div>
-<div class="line"><a name="l06731"></a><span class="lineno"> 6731</span> <span class="comment">//fit residual obj continuum and subtract it</span></div>
-<div class="line"><a name="l06732"></a><span class="lineno"> 6732</span> check_nomsg(pfit=sinfo_polynomial_fit_1d_create(sa_ox,sa_oy,0,&mse));</div>
-<div class="line"><a name="l06733"></a><span class="lineno"> 6733</span> pows[0]=0;</div>
-<div class="line"><a name="l06734"></a><span class="lineno"> 6734</span> pows[1]=0;</div>
-<div class="line"><a name="l06735"></a><span class="lineno"> 6735</span> check_nomsg(cont=cpl_polynomial_get_coeff(pfit,pows));</div>
-<div class="line"><a name="l06736"></a><span class="lineno"> 6736</span> check_nomsg(sinfo_free_polynomial(&pfit));</div>
-<div class="line"><a name="l06737"></a><span class="lineno"> 6737</span> check_nomsg(cpl_vector_subtract_scalar(sa_oy,cont));</div>
-<div class="line"><a name="l06738"></a><span class="lineno"> 6738</span> </div>
-<div class="line"><a name="l06739"></a><span class="lineno"> 6739</span> </div>
-<div class="line"><a name="l06740"></a><span class="lineno"> 6740</span> <span class="comment">//fit residual sky continuum and subtract it</span></div>
-<div class="line"><a name="l06741"></a><span class="lineno"> 6741</span> check_nomsg(pfit=sinfo_polynomial_fit_1d_create(sa_ox,sa_sy,0,&mse));</div>
-<div class="line"><a name="l06742"></a><span class="lineno"> 6742</span> pows[0]=0;</div>
-<div class="line"><a name="l06743"></a><span class="lineno"> 6743</span> pows[1]=0;</div>
-<div class="line"><a name="l06744"></a><span class="lineno"> 6744</span> check_nomsg(cont=cpl_polynomial_get_coeff(pfit,pows));</div>
-<div class="line"><a name="l06745"></a><span class="lineno"> 6745</span> check_nomsg(sinfo_free_polynomial(&pfit));</div>
-<div class="line"><a name="l06746"></a><span class="lineno"> 6746</span> check_nomsg(cpl_vector_subtract_scalar(sa_sy,cont));</div>
-<div class="line"><a name="l06747"></a><span class="lineno"> 6747</span> </div>
-<div class="line"><a name="l06748"></a><span class="lineno"> 6748</span> <span class="comment">//computes diff=(obj-conto)-(sky-contsky)*p[0]</span></div>
-<div class="line"><a name="l06749"></a><span class="lineno"> 6749</span> check_nomsg(po= cpl_vector_get_data(sa_oy));</div>
-<div class="line"><a name="l06750"></a><span class="lineno"> 6750</span> check_nomsg(ps= cpl_vector_get_data(sa_sy));</div>
-<div class="line"><a name="l06751"></a><span class="lineno"> 6751</span> </div>
-<div class="line"><a name="l06752"></a><span class="lineno"> 6752</span> check_nomsg(np=cpl_vector_get_size(sa_oy));</div>
-<div class="line"><a name="l06753"></a><span class="lineno"> 6753</span> check_nomsg(vtmp=cpl_vector_new(np));</div>
-<div class="line"><a name="l06754"></a><span class="lineno"> 6754</span> check_nomsg(pv= cpl_vector_get_data(vtmp));</div>
-<div class="line"><a name="l06755"></a><span class="lineno"> 6755</span> </div>
-<div class="line"><a name="l06756"></a><span class="lineno"> 6756</span> </div>
-<div class="line"><a name="l06757"></a><span class="lineno"> 6757</span> <span class="keywordflow">for</span>(i=0;i<np;i++) {</div>
-<div class="line"><a name="l06758"></a><span class="lineno"> 6758</span> pv[i]=po[i]-ps[i]*p[0];</div>
-<div class="line"><a name="l06759"></a><span class="lineno"> 6759</span> }</div>
-<div class="line"><a name="l06760"></a><span class="lineno"> 6760</span> <span class="comment">//computes rms diff</span></div>
-<div class="line"><a name="l06761"></a><span class="lineno"> 6761</span> check_nomsg(rms=cpl_vector_get_stdev(vtmp));</div>
-<div class="line"><a name="l06762"></a><span class="lineno"> 6762</span> sinfo_free_my_vector(&vtmp);</div>
-<div class="line"><a name="l06763"></a><span class="lineno"> 6763</span> <span class="keywordflow">return</span> rms;</div>
-<div class="line"><a name="l06764"></a><span class="lineno"> 6764</span> cleanup:</div>
-<div class="line"><a name="l06765"></a><span class="lineno"> 6765</span> sinfo_free_my_vector(&vtmp);</div>
-<div class="line"><a name="l06766"></a><span class="lineno"> 6766</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l06767"></a><span class="lineno"> 6767</span> </div>
-<div class="line"><a name="l06768"></a><span class="lineno"> 6768</span> }</div>
-<div class="line"><a name="l06769"></a><span class="lineno"> 6769</span> </div>
-<div class="line"><a name="l06770"></a><span class="lineno"> 6770</span> </div>
-<div class="line"><a name="l06771"></a><span class="lineno"> 6771</span> </div>
-<div class="line"><a name="l06783"></a><span class="lineno"> 6783</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l06784"></a><span class="lineno"> 6784</span> sinfo_table_interpol(cpl_table* obj_lin,</div>
-<div class="line"><a name="l06785"></a><span class="lineno"> 6785</span> cpl_table* obj_cnt,</div>
-<div class="line"><a name="l06786"></a><span class="lineno"> 6786</span> cpl_table* sky_lin,</div>
-<div class="line"><a name="l06787"></a><span class="lineno"> 6787</span> cpl_table* sky_cnt,</div>
-<div class="line"><a name="l06788"></a><span class="lineno"> 6788</span> <span class="keyword">const</span> <span class="keywordtype">double</span> r)</div>
-<div class="line"><a name="l06789"></a><span class="lineno"> 6789</span> {</div>
-<div class="line"><a name="l06790"></a><span class="lineno"> 6790</span> </div>
-<div class="line"><a name="l06791"></a><span class="lineno"> 6791</span> cpl_table* out=NULL;</div>
-<div class="line"><a name="l06792"></a><span class="lineno"> 6792</span> cpl_table* obj_dif=NULL;</div>
-<div class="line"><a name="l06793"></a><span class="lineno"> 6793</span> cpl_table* sky_dif=NULL;</div>
-<div class="line"><a name="l06794"></a><span class="lineno"> 6794</span> cknull(obj_lin,<span class="stringliteral">"null line table"</span>);</div>
-<div class="line"><a name="l06795"></a><span class="lineno"> 6795</span> cknull(obj_cnt,<span class="stringliteral">"null cont table"</span>);</div>
-<div class="line"><a name="l06796"></a><span class="lineno"> 6796</span> </div>
-<div class="line"><a name="l06797"></a><span class="lineno"> 6797</span> cknull_nomsg(obj_dif=sinfo_table_subtract_continuum(obj_lin,obj_cnt));</div>
-<div class="line"><a name="l06798"></a><span class="lineno"> 6798</span> cknull_nomsg(sky_dif=sinfo_table_subtract_continuum(sky_lin,sky_cnt));</div>
-<div class="line"><a name="l06799"></a><span class="lineno"> 6799</span> </div>
-<div class="line"><a name="l06800"></a><span class="lineno"> 6800</span> check_nomsg(out=cpl_table_duplicate(obj_dif));</div>
-<div class="line"><a name="l06801"></a><span class="lineno"> 6801</span> check_nomsg(cpl_table_duplicate_column(out,<span class="stringliteral">"CSKY"</span>,sky_dif,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l06802"></a><span class="lineno"> 6802</span> check_nomsg(cpl_table_multiply_scalar(out,<span class="stringliteral">"CSKY"</span>,r));</div>
-<div class="line"><a name="l06803"></a><span class="lineno"> 6803</span> check_nomsg(cpl_table_subtract_columns(out,<span class="stringliteral">"INT"</span>,<span class="stringliteral">"CSKY"</span>));</div>
-<div class="line"><a name="l06804"></a><span class="lineno"> 6804</span> </div>
-<div class="line"><a name="l06805"></a><span class="lineno"> 6805</span> sinfo_free_table(&obj_dif);</div>
-<div class="line"><a name="l06806"></a><span class="lineno"> 6806</span> sinfo_free_table(&sky_dif);</div>
-<div class="line"><a name="l06807"></a><span class="lineno"> 6807</span> </div>
-<div class="line"><a name="l06808"></a><span class="lineno"> 6808</span> <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l06809"></a><span class="lineno"> 6809</span> </div>
-<div class="line"><a name="l06810"></a><span class="lineno"> 6810</span> cleanup:</div>
-<div class="line"><a name="l06811"></a><span class="lineno"> 6811</span> sinfo_free_table(&obj_dif);</div>
-<div class="line"><a name="l06812"></a><span class="lineno"> 6812</span> sinfo_free_table(&sky_dif);</div>
-<div class="line"><a name="l06813"></a><span class="lineno"> 6813</span> sinfo_free_table(&out);</div>
-<div class="line"><a name="l06814"></a><span class="lineno"> 6814</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l06815"></a><span class="lineno"> 6815</span> </div>
-<div class="line"><a name="l06816"></a><span class="lineno"> 6816</span> }</div>
-<div class="line"><a name="l06817"></a><span class="lineno"> 6817</span> </div>
-<div class="line"><a name="l06818"></a><span class="lineno"> 6818</span> </div>
-<div class="line"><a name="l06819"></a><span class="lineno"> 6819</span> </div>
-<div class="line"><a name="l06820"></a><span class="lineno"> 6820</span> </div>
-<div class="line"><a name="l06821"></a><span class="lineno"> 6821</span> </div>
-<div class="line"><a name="l06822"></a><span class="lineno"> 6822</span> </div>
-<div class="line"><a name="l06831"></a><span class="lineno"> 6831</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l06832"></a><span class="lineno"> 6832</span> sinfo_table_subtract_continuum(cpl_table* lin,</div>
-<div class="line"><a name="l06833"></a><span class="lineno"> 6833</span> cpl_table* cnt)</div>
-<div class="line"><a name="l06834"></a><span class="lineno"> 6834</span> </div>
-<div class="line"><a name="l06835"></a><span class="lineno"> 6835</span> {</div>
-<div class="line"><a name="l06836"></a><span class="lineno"> 6836</span> </div>
-<div class="line"><a name="l06837"></a><span class="lineno"> 6837</span> cpl_table* out=NULL;</div>
-<div class="line"><a name="l06838"></a><span class="lineno"> 6838</span> <span class="keywordtype">int</span> nlin=0;</div>
-<div class="line"><a name="l06839"></a><span class="lineno"> 6839</span> <span class="keywordtype">int</span> ncnt=0;</div>
-<div class="line"><a name="l06840"></a><span class="lineno"> 6840</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l06841"></a><span class="lineno"> 6841</span> <span class="keywordtype">double</span>* poi=NULL;</div>
-<div class="line"><a name="l06842"></a><span class="lineno"> 6842</span> cpl_vector* vx=NULL;</div>
-<div class="line"><a name="l06843"></a><span class="lineno"> 6843</span> cpl_vector* vy=NULL;</div>
-<div class="line"><a name="l06844"></a><span class="lineno"> 6844</span> cpl_polynomial* cfit=NULL;</div>
-<div class="line"><a name="l06845"></a><span class="lineno"> 6845</span> cpl_size pows[2];</div>
-<div class="line"><a name="l06846"></a><span class="lineno"> 6846</span> <span class="keywordtype">double</span> mse=0;</div>
-<div class="line"><a name="l06847"></a><span class="lineno"> 6847</span> <span class="keywordtype">double</span> yfit=0;</div>
-<div class="line"><a name="l06848"></a><span class="lineno"> 6848</span> </div>
-<div class="line"><a name="l06849"></a><span class="lineno"> 6849</span> cknull(lin,<span class="stringliteral">"null line table"</span>);</div>
-<div class="line"><a name="l06850"></a><span class="lineno"> 6850</span> cknull(cnt,<span class="stringliteral">"null cont table"</span>);</div>
-<div class="line"><a name="l06851"></a><span class="lineno"> 6851</span> check_nomsg(out=cpl_table_duplicate(lin));</div>
-<div class="line"><a name="l06852"></a><span class="lineno"> 6852</span> check_nomsg(cpl_table_new_column(out,<span class="stringliteral">"CONT"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l06853"></a><span class="lineno"> 6853</span> check_nomsg(nlin=cpl_table_get_nrow(lin));</div>
-<div class="line"><a name="l06854"></a><span class="lineno"> 6854</span> check_nomsg(ncnt=cpl_table_get_nrow(cnt));</div>
-<div class="line"><a name="l06855"></a><span class="lineno"> 6855</span> <span class="comment">//sinfo_msg("nlin=%d",nlin);</span></div>
-<div class="line"><a name="l06856"></a><span class="lineno"> 6856</span> check_nomsg(cpl_table_fill_column_window(out,<span class="stringliteral">"CONT"</span>,0,nlin,0));</div>
-<div class="line"><a name="l06857"></a><span class="lineno"> 6857</span> </div>
-<div class="line"><a name="l06858"></a><span class="lineno"> 6858</span> <span class="comment">//do a uniform fit</span></div>
-<div class="line"><a name="l06859"></a><span class="lineno"> 6859</span> check_nomsg(vx=cpl_vector_wrap(ncnt,cpl_table_get_data_double(cnt,<span class="stringliteral">"WAVE"</span>)));</div>
-<div class="line"><a name="l06860"></a><span class="lineno"> 6860</span> check_nomsg(vy=cpl_vector_wrap(ncnt,cpl_table_get_data_double(cnt,<span class="stringliteral">"INT"</span>)));</div>
-<div class="line"><a name="l06861"></a><span class="lineno"> 6861</span> check_nomsg(cfit=sinfo_polynomial_fit_1d_create(vx,vy,0,&mse));</div>
-<div class="line"><a name="l06862"></a><span class="lineno"> 6862</span> sinfo_unwrap_vector(&vx);</div>
-<div class="line"><a name="l06863"></a><span class="lineno"> 6863</span> sinfo_unwrap_vector(&vy);</div>
-<div class="line"><a name="l06864"></a><span class="lineno"> 6864</span> </div>
-<div class="line"><a name="l06865"></a><span class="lineno"> 6865</span> pows[0]=0;</div>
-<div class="line"><a name="l06866"></a><span class="lineno"> 6866</span> pows[1]=0;</div>
-<div class="line"><a name="l06867"></a><span class="lineno"> 6867</span> check_nomsg(yfit=cpl_polynomial_get_coeff(cfit,pows));</div>
-<div class="line"><a name="l06868"></a><span class="lineno"> 6868</span> sinfo_free_polynomial(&cfit);</div>
-<div class="line"><a name="l06869"></a><span class="lineno"> 6869</span> <span class="comment">//sinfo_msg("coeff 0=%g",yfit);</span></div>
-<div class="line"><a name="l06870"></a><span class="lineno"> 6870</span> </div>
-<div class="line"><a name="l06871"></a><span class="lineno"> 6871</span> check_nomsg(poi=cpl_table_get_data_double(out,<span class="stringliteral">"CONT"</span>));</div>
-<div class="line"><a name="l06872"></a><span class="lineno"> 6872</span> <span class="keywordflow">for</span>(i=0;i<nlin;i++) {</div>
-<div class="line"><a name="l06873"></a><span class="lineno"> 6873</span> poi[i]=yfit;</div>
-<div class="line"><a name="l06874"></a><span class="lineno"> 6874</span> }</div>
-<div class="line"><a name="l06875"></a><span class="lineno"> 6875</span> </div>
-<div class="line"><a name="l06876"></a><span class="lineno"> 6876</span> check_nomsg(cpl_table_subtract_columns(out,<span class="stringliteral">"INT"</span>,<span class="stringliteral">"CONT"</span>));</div>
-<div class="line"><a name="l06877"></a><span class="lineno"> 6877</span> check_nomsg(cpl_table_erase_column(out,<span class="stringliteral">"CONT"</span>));</div>
-<div class="line"><a name="l06878"></a><span class="lineno"> 6878</span> </div>
-<div class="line"><a name="l06879"></a><span class="lineno"> 6879</span> </div>
-<div class="line"><a name="l06880"></a><span class="lineno"> 6880</span> </div>
-<div class="line"><a name="l06881"></a><span class="lineno"> 6881</span> <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l06882"></a><span class="lineno"> 6882</span> </div>
-<div class="line"><a name="l06883"></a><span class="lineno"> 6883</span> cleanup:</div>
-<div class="line"><a name="l06884"></a><span class="lineno"> 6884</span> sinfo_unwrap_vector(&vx);</div>
-<div class="line"><a name="l06885"></a><span class="lineno"> 6885</span> sinfo_unwrap_vector(&vy);</div>
-<div class="line"><a name="l06886"></a><span class="lineno"> 6886</span> sinfo_free_polynomial(&cfit);</div>
-<div class="line"><a name="l06887"></a><span class="lineno"> 6887</span> sinfo_free_table(&out);</div>
-<div class="line"><a name="l06888"></a><span class="lineno"> 6888</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l06889"></a><span class="lineno"> 6889</span> </div>
-<div class="line"><a name="l06890"></a><span class="lineno"> 6890</span> }</div>
-<div class="line"><a name="l06891"></a><span class="lineno"> 6891</span> </div>
-<div class="line"><a name="l06892"></a><span class="lineno"> 6892</span> </div>
-<div class="line"><a name="l06893"></a><span class="lineno"> 6893</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l06894"></a><span class="lineno"> 6894</span> sinfo_compute_line_ratio(cpl_table* obj,</div>
-<div class="line"><a name="l06895"></a><span class="lineno"> 6895</span> cpl_table* sky,</div>
-<div class="line"><a name="l06896"></a><span class="lineno"> 6896</span> <span class="keyword">const</span> <span class="keywordtype">double</span> wtol,</div>
-<div class="line"><a name="l06897"></a><span class="lineno"> 6897</span> <span class="keyword">const</span> <span class="keywordtype">int</span> meth,</div>
-<div class="line"><a name="l06898"></a><span class="lineno"> 6898</span> <span class="keyword">const</span> cpl_table* sel_regions,</div>
-<div class="line"><a name="l06899"></a><span class="lineno"> 6899</span> cpl_table* cont_regions,</div>
-<div class="line"><a name="l06900"></a><span class="lineno"> 6900</span> <span class="keywordtype">double</span>* r)</div>
-<div class="line"><a name="l06901"></a><span class="lineno"> 6901</span> {</div>
-<div class="line"><a name="l06902"></a><span class="lineno"> 6902</span> cpl_table* line_regions=NULL;</div>
-<div class="line"><a name="l06903"></a><span class="lineno"> 6903</span> cpl_table* obj_cnt=NULL;</div>
-<div class="line"><a name="l06904"></a><span class="lineno"> 6904</span> cpl_table* sky_cnt=NULL;</div>
-<div class="line"><a name="l06905"></a><span class="lineno"> 6905</span> cpl_table* obj_lin=NULL;</div>
-<div class="line"><a name="l06906"></a><span class="lineno"> 6906</span> cpl_table* sky_lin=NULL;</div>
-<div class="line"><a name="l06907"></a><span class="lineno"> 6907</span> cpl_table* lres=NULL;</div>
-<div class="line"><a name="l06908"></a><span class="lineno"> 6908</span> <span class="keywordtype">double</span> fmed=0;</div>
-<div class="line"><a name="l06909"></a><span class="lineno"> 6909</span> <span class="keywordtype">double</span> fsdv=0;</div>
-<div class="line"><a name="l06910"></a><span class="lineno"> 6910</span> <span class="keywordtype">double</span> fthresh=0;</div>
-<div class="line"><a name="l06911"></a><span class="lineno"> 6911</span> <span class="keywordtype">int</span> fclip_i=0;</div>
-<div class="line"><a name="l06912"></a><span class="lineno"> 6912</span> <span class="keywordtype">int</span> line_i=0;</div>
-<div class="line"><a name="l06913"></a><span class="lineno"> 6913</span> </div>
-<div class="line"><a name="l06914"></a><span class="lineno"> 6914</span> </div>
-<div class="line"><a name="l06915"></a><span class="lineno"> 6915</span> <span class="comment">//line_regions = med_regions;</span></div>
-<div class="line"><a name="l06916"></a><span class="lineno"> 6916</span> check_nomsg(line_regions = cpl_table_duplicate(sel_regions));</div>
-<div class="line"><a name="l06917"></a><span class="lineno"> 6917</span> <span class="comment">//r = amoeba(1.e-5,function_name='fitsky',p0=[1.],scale=[0.1]);</span></div>
-<div class="line"><a name="l06918"></a><span class="lineno"> 6918</span> <span class="comment">//Identify obj lines and continuum, same for sky</span></div>
-<div class="line"><a name="l06919"></a><span class="lineno"> 6919</span> check_nomsg(obj_lin=sinfo_table_select_range(obj,line_regions,wtol));</div>
-<div class="line"><a name="l06920"></a><span class="lineno"> 6920</span> check_nomsg(sky_lin=sinfo_table_select_range(sky,line_regions,wtol));</div>
-<div class="line"><a name="l06921"></a><span class="lineno"> 6921</span> check_nomsg(obj_cnt=sinfo_table_select_range(obj,cont_regions,wtol));</div>
-<div class="line"><a name="l06922"></a><span class="lineno"> 6922</span> check_nomsg(sky_cnt=sinfo_table_select_range(sky,cont_regions,wtol));</div>
-<div class="line"><a name="l06923"></a><span class="lineno"> 6923</span> </div>
-<div class="line"><a name="l06924"></a><span class="lineno"> 6924</span> ck0_nomsg(sinfo_get_line_ratio(obj_lin,obj_cnt,sky_lin,sky_cnt,meth,r));</div>
-<div class="line"><a name="l06925"></a><span class="lineno"> 6925</span> </div>
-<div class="line"><a name="l06926"></a><span class="lineno"> 6926</span> </div>
-<div class="line"><a name="l06927"></a><span class="lineno"> 6927</span> <span class="comment">//fline_res = (obj_lr[line_regions]-</span></div>
-<div class="line"><a name="l06928"></a><span class="lineno"> 6928</span> <span class="comment">// interpol(obj_lr[cont_regions],llr[cont_regions],</span></div>
-<div class="line"><a name="l06929"></a><span class="lineno"> 6929</span> <span class="comment">// llr[line_regions])) -</span></div>
-<div class="line"><a name="l06930"></a><span class="lineno"> 6930</span> <span class="comment">// (sky_lr[line_regions] -</span></div>
-<div class="line"><a name="l06931"></a><span class="lineno"> 6931</span> <span class="comment">// interpol(sky_lr[cont_regions],llr[cont_regions],</span></div>
-<div class="line"><a name="l06932"></a><span class="lineno"> 6932</span> <span class="comment">//</span></div>
-<div class="line"><a name="l06933"></a><span class="lineno"> 6933</span> <span class="comment">// llr[line_regions]))*r[0];</span></div>
-<div class="line"><a name="l06934"></a><span class="lineno"> 6934</span> check_nomsg(lres=sinfo_table_interpol(obj_lin,obj_cnt,sky_lin,sky_cnt,*r));</div>
-<div class="line"><a name="l06935"></a><span class="lineno"> 6935</span> </div>
-<div class="line"><a name="l06936"></a><span class="lineno"> 6936</span> check_nomsg(fmed = cpl_table_get_column_median(lres,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l06937"></a><span class="lineno"> 6937</span> check_nomsg(fsdv = cpl_table_get_column_stdev(lres,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l06938"></a><span class="lineno"> 6938</span> fthresh=fmed+3*fsdv;</div>
-<div class="line"><a name="l06939"></a><span class="lineno"> 6939</span> <span class="comment">//fclip = where(abs(fline_res) > fmed+3*fsdv,fclip_i);</span></div>
-<div class="line"><a name="l06940"></a><span class="lineno"> 6940</span> check_nomsg(cpl_table_duplicate_column(lres,<span class="stringliteral">"AINT"</span>,lres,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l06941"></a><span class="lineno"> 6941</span> check_nomsg(cpl_table_multiply_columns(lres,<span class="stringliteral">"AINT"</span>,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l06942"></a><span class="lineno"> 6942</span> check_nomsg(cpl_table_power_column(lres,<span class="stringliteral">"AINT"</span>,0.5));</div>
-<div class="line"><a name="l06943"></a><span class="lineno"> 6943</span> check_nomsg(fclip_i=cpl_table_and_selected_double(lres,<span class="stringliteral">"AINT"</span>,</div>
-<div class="line"><a name="l06944"></a><span class="lineno"> 6944</span> CPL_GREATER_THAN,</div>
-<div class="line"><a name="l06945"></a><span class="lineno"> 6945</span> fthresh));</div>
-<div class="line"><a name="l06946"></a><span class="lineno"> 6946</span> check_nomsg(cpl_table_select_all(lres));</div>
-<div class="line"><a name="l06947"></a><span class="lineno"> 6947</span> </div>
-<div class="line"><a name="l06948"></a><span class="lineno"> 6948</span> </div>
-<div class="line"><a name="l06949"></a><span class="lineno"> 6949</span> <span class="keywordflow">if</span> (fclip_i > 0) {</div>
-<div class="line"><a name="l06950"></a><span class="lineno"> 6950</span> <span class="comment">//line_regions = line_regions[where(abs(fline_res) < fmed+3*fsdv)];</span></div>
-<div class="line"><a name="l06951"></a><span class="lineno"> 6951</span> check_nomsg(line_i=cpl_table_and_selected_double(lres,<span class="stringliteral">"AINT"</span>,</div>
-<div class="line"><a name="l06952"></a><span class="lineno"> 6952</span> CPL_LESS_THAN,</div>
-<div class="line"><a name="l06953"></a><span class="lineno"> 6953</span> fthresh));</div>
-<div class="line"><a name="l06954"></a><span class="lineno"> 6954</span> sinfo_free_table(&line_regions);</div>
-<div class="line"><a name="l06955"></a><span class="lineno"> 6955</span> check_nomsg(line_regions=cpl_table_extract_selected(lres));</div>
-<div class="line"><a name="l06956"></a><span class="lineno"> 6956</span> sinfo_free_table(&lres);</div>
-<div class="line"><a name="l06957"></a><span class="lineno"> 6957</span> </div>
-<div class="line"><a name="l06958"></a><span class="lineno"> 6958</span> check_nomsg(cpl_table_erase_column(line_regions,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l06959"></a><span class="lineno"> 6959</span> check_nomsg(cpl_table_erase_column(line_regions,<span class="stringliteral">"AINT"</span>));</div>
-<div class="line"><a name="l06960"></a><span class="lineno"> 6960</span> </div>
-<div class="line"><a name="l06961"></a><span class="lineno"> 6961</span> </div>
-<div class="line"><a name="l06962"></a><span class="lineno"> 6962</span> <span class="keywordflow">if</span> (line_i >= 3) {</div>
-<div class="line"><a name="l06963"></a><span class="lineno"> 6963</span> </div>
-<div class="line"><a name="l06964"></a><span class="lineno"> 6964</span> sinfo_free_table(&obj_lin);</div>
-<div class="line"><a name="l06965"></a><span class="lineno"> 6965</span> sinfo_free_table(&sky_lin);</div>
-<div class="line"><a name="l06966"></a><span class="lineno"> 6966</span> check_nomsg(obj_lin=sinfo_table_select_range(obj,line_regions,wtol));</div>
-<div class="line"><a name="l06967"></a><span class="lineno"> 6967</span> check_nomsg(sky_lin=sinfo_table_select_range(sky,line_regions,wtol));</div>
-<div class="line"><a name="l06968"></a><span class="lineno"> 6968</span> </div>
-<div class="line"><a name="l06969"></a><span class="lineno"> 6969</span> sinfo_free_table(&line_regions);</div>
-<div class="line"><a name="l06970"></a><span class="lineno"> 6970</span> </div>
-<div class="line"><a name="l06971"></a><span class="lineno"> 6971</span> </div>
-<div class="line"><a name="l06972"></a><span class="lineno"> 6972</span> <span class="comment">//r = amoeba(1.e-5,function_name='fitsky',p0=[1.],scale=[0.1]);</span></div>
-<div class="line"><a name="l06973"></a><span class="lineno"> 6973</span> ck0_nomsg(sinfo_get_line_ratio(obj_lin,obj_cnt,sky_lin,sky_cnt,meth,r));</div>
-<div class="line"><a name="l06974"></a><span class="lineno"> 6974</span> }</div>
-<div class="line"><a name="l06975"></a><span class="lineno"> 6975</span> }</div>
-<div class="line"><a name="l06976"></a><span class="lineno"> 6976</span> *r=fabs(*r);</div>
-<div class="line"><a name="l06977"></a><span class="lineno"> 6977</span> <span class="comment">//Free memory</span></div>
-<div class="line"><a name="l06978"></a><span class="lineno"> 6978</span> sinfo_free_table(&obj_cnt);</div>
-<div class="line"><a name="l06979"></a><span class="lineno"> 6979</span> sinfo_free_table(&sky_cnt);</div>
-<div class="line"><a name="l06980"></a><span class="lineno"> 6980</span> sinfo_free_table(&sky_lin);</div>
-<div class="line"><a name="l06981"></a><span class="lineno"> 6981</span> sinfo_free_table(&obj_lin);</div>
-<div class="line"><a name="l06982"></a><span class="lineno"> 6982</span> sinfo_free_table(&lres);</div>
-<div class="line"><a name="l06983"></a><span class="lineno"> 6983</span> sinfo_free_table(&line_regions);</div>
-<div class="line"><a name="l06984"></a><span class="lineno"> 6984</span> </div>
-<div class="line"><a name="l06985"></a><span class="lineno"> 6985</span> </div>
-<div class="line"><a name="l06986"></a><span class="lineno"> 6986</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l06987"></a><span class="lineno"> 6987</span> </div>
-<div class="line"><a name="l06988"></a><span class="lineno"> 6988</span> </div>
-<div class="line"><a name="l06989"></a><span class="lineno"> 6989</span> cleanup:</div>
-<div class="line"><a name="l06990"></a><span class="lineno"> 6990</span> </div>
-<div class="line"><a name="l06991"></a><span class="lineno"> 6991</span> </div>
-<div class="line"><a name="l06992"></a><span class="lineno"> 6992</span> sinfo_free_table(&obj_cnt);</div>
-<div class="line"><a name="l06993"></a><span class="lineno"> 6993</span> sinfo_free_table(&sky_cnt);</div>
-<div class="line"><a name="l06994"></a><span class="lineno"> 6994</span> sinfo_free_table(&sky_lin);</div>
-<div class="line"><a name="l06995"></a><span class="lineno"> 6995</span> sinfo_free_table(&obj_lin);</div>
-<div class="line"><a name="l06996"></a><span class="lineno"> 6996</span> </div>
-<div class="line"><a name="l06997"></a><span class="lineno"> 6997</span> sinfo_free_table(&lres);</div>
-<div class="line"><a name="l06998"></a><span class="lineno"> 6998</span> sinfo_free_table(&line_regions);</div>
-<div class="line"><a name="l06999"></a><span class="lineno"> 6999</span> </div>
-<div class="line"><a name="l07000"></a><span class="lineno"> 7000</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l07001"></a><span class="lineno"> 7001</span> </div>
-<div class="line"><a name="l07002"></a><span class="lineno"> 7002</span> }</div>
-<div class="line"><a name="l07014"></a><span class="lineno"> 7014</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l07015"></a><span class="lineno"> 7015</span> sinfo_find_rot_waves(</div>
-<div class="line"><a name="l07016"></a><span class="lineno"> 7016</span> <span class="keyword">const</span> <span class="keywordtype">double</span> w_rot[],</div>
-<div class="line"><a name="l07017"></a><span class="lineno"> 7017</span> <span class="keyword">const</span> <span class="keywordtype">int</span> npix_w,</div>
-<div class="line"><a name="l07018"></a><span class="lineno"> 7018</span> <span class="keyword">const</span> <span class="keywordtype">double</span> w_step,</div>
-<div class="line"><a name="l07019"></a><span class="lineno"> 7019</span> cpl_table* range</div>
-<div class="line"><a name="l07020"></a><span class="lineno"> 7020</span> )</div>
-<div class="line"><a name="l07021"></a><span class="lineno"> 7021</span> {</div>
-<div class="line"><a name="l07022"></a><span class="lineno"> 7022</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l07023"></a><span class="lineno"> 7023</span> <span class="keywordtype">int</span> x_i=0;</div>
-<div class="line"><a name="l07024"></a><span class="lineno"> 7024</span> <span class="keywordtype">int</span> r_start=0;</div>
-<div class="line"><a name="l07025"></a><span class="lineno"> 7025</span> <span class="keywordtype">double</span> w_min=0;</div>
-<div class="line"><a name="l07026"></a><span class="lineno"> 7026</span> <span class="keywordtype">double</span> w_max=0;</div>
-<div class="line"><a name="l07027"></a><span class="lineno"> 7027</span> </div>
-<div class="line"><a name="l07028"></a><span class="lineno"> 7028</span> cpl_table* w_sel=NULL;</div>
-<div class="line"><a name="l07029"></a><span class="lineno"> 7029</span> cpl_table* res=NULL;</div>
-<div class="line"><a name="l07030"></a><span class="lineno"> 7030</span> </div>
-<div class="line"><a name="l07031"></a><span class="lineno"> 7031</span> check_nomsg(res = cpl_table_new(0));</div>
-<div class="line"><a name="l07032"></a><span class="lineno"> 7032</span> </div>
-<div class="line"><a name="l07033"></a><span class="lineno"> 7033</span> check_nomsg(cpl_table_copy_structure(res,range));</div>
-<div class="line"><a name="l07034"></a><span class="lineno"> 7034</span> </div>
-<div class="line"><a name="l07035"></a><span class="lineno"> 7035</span> <span class="keywordflow">for</span> (i=0; i< NROT; i++) {</div>
-<div class="line"><a name="l07036"></a><span class="lineno"> 7036</span> </div>
-<div class="line"><a name="l07037"></a><span class="lineno"> 7037</span> <span class="comment">//x = where(lambda > l_rot_low[i]-npixw*cdelto &&</span></div>
-<div class="line"><a name="l07038"></a><span class="lineno"> 7038</span> <span class="comment">// lambda < l_rot_low[i]+npixw*cdelto,x_i);</span></div>
-<div class="line"><a name="l07039"></a><span class="lineno"> 7039</span> </div>
-<div class="line"><a name="l07040"></a><span class="lineno"> 7040</span> w_min=w_rot[i]-npix_w*w_step;</div>
-<div class="line"><a name="l07041"></a><span class="lineno"> 7041</span> w_max=w_rot[i]+npix_w*w_step;</div>
-<div class="line"><a name="l07042"></a><span class="lineno"> 7042</span> </div>
-<div class="line"><a name="l07043"></a><span class="lineno"> 7043</span> check_nomsg(cpl_table_and_selected_double(range,<span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l07044"></a><span class="lineno"> 7044</span> CPL_GREATER_THAN,w_min));</div>
-<div class="line"><a name="l07045"></a><span class="lineno"> 7045</span> check_nomsg(cpl_table_and_selected_double(range,<span class="stringliteral">"WAVE"</span>,</div>
-<div class="line"><a name="l07046"></a><span class="lineno"> 7046</span> CPL_LESS_THAN,w_max));</div>
-<div class="line"><a name="l07047"></a><span class="lineno"> 7047</span> sinfo_free_table(&w_sel);</div>
-<div class="line"><a name="l07048"></a><span class="lineno"> 7048</span> check_nomsg(w_sel=cpl_table_extract_selected(range));</div>
-<div class="line"><a name="l07049"></a><span class="lineno"> 7049</span> check_nomsg(x_i=cpl_table_get_nrow(w_sel));</div>
-<div class="line"><a name="l07050"></a><span class="lineno"> 7050</span> </div>
-<div class="line"><a name="l07051"></a><span class="lineno"> 7051</span> <span class="keywordflow">if</span> (x_i > 0) {</div>
-<div class="line"><a name="l07052"></a><span class="lineno"> 7052</span> check_nomsg(r_start=cpl_table_get_nrow(res));</div>
-<div class="line"><a name="l07053"></a><span class="lineno"> 7053</span> <span class="comment">//sinfo_msg("i=%d x_i=%d w_min=%g w_max=%g",i,x_i,w_min,w_max);</span></div>
-<div class="line"><a name="l07054"></a><span class="lineno"> 7054</span> check_nomsg(cpl_table_insert(res,w_sel,r_start));</div>
-<div class="line"><a name="l07055"></a><span class="lineno"> 7055</span> }</div>
-<div class="line"><a name="l07056"></a><span class="lineno"> 7056</span> check_nomsg(cpl_table_select_all(range));</div>
-<div class="line"><a name="l07057"></a><span class="lineno"> 7057</span> }</div>
-<div class="line"><a name="l07058"></a><span class="lineno"> 7058</span> </div>
-<div class="line"><a name="l07059"></a><span class="lineno"> 7059</span> <span class="comment">//res = range[1:cpl_table_get_nrow(res)-1];</span></div>
-<div class="line"><a name="l07060"></a><span class="lineno"> 7060</span> sinfo_free_table(&w_sel);</div>
-<div class="line"><a name="l07061"></a><span class="lineno"> 7061</span> </div>
-<div class="line"><a name="l07062"></a><span class="lineno"> 7062</span> </div>
-<div class="line"><a name="l07063"></a><span class="lineno"> 7063</span> <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l07064"></a><span class="lineno"> 7064</span> </div>
-<div class="line"><a name="l07065"></a><span class="lineno"> 7065</span> cleanup:</div>
-<div class="line"><a name="l07066"></a><span class="lineno"> 7066</span> sinfo_free_table(&w_sel);</div>
-<div class="line"><a name="l07067"></a><span class="lineno"> 7067</span> sinfo_free_table(&res);</div>
-<div class="line"><a name="l07068"></a><span class="lineno"> 7068</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l07069"></a><span class="lineno"> 7069</span> </div>
-<div class="line"><a name="l07070"></a><span class="lineno"> 7070</span> }</div>
-<div class="line"><a name="l07071"></a><span class="lineno"> 7071</span> </div>
-<div class="line"><a name="l07084"></a><span class="lineno"> 7084</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l07085"></a><span class="lineno"> 7085</span> sinfo_get_obj_sky_wav_sub(cpl_table* obj,</div>
-<div class="line"><a name="l07086"></a><span class="lineno"> 7086</span> cpl_table* sky,</div>
-<div class="line"><a name="l07087"></a><span class="lineno"> 7087</span> cpl_table* wav,</div>
-<div class="line"><a name="l07088"></a><span class="lineno"> 7088</span> cpl_table* sel,</div>
-<div class="line"><a name="l07089"></a><span class="lineno"> 7089</span> <span class="keyword">const</span> <span class="keywordtype">double</span> wtol,</div>
-<div class="line"><a name="l07090"></a><span class="lineno"> 7090</span> cpl_table** sub_obj,</div>
-<div class="line"><a name="l07091"></a><span class="lineno"> 7091</span> cpl_table** sub_sky,</div>
-<div class="line"><a name="l07092"></a><span class="lineno"> 7092</span> cpl_table** sub_wav)</div>
-<div class="line"><a name="l07093"></a><span class="lineno"> 7093</span> </div>
-<div class="line"><a name="l07094"></a><span class="lineno"> 7094</span> {</div>
-<div class="line"><a name="l07095"></a><span class="lineno"> 7095</span> cknull_nomsg(*sub_obj = sinfo_table_select_range(obj,sel,wtol));</div>
-<div class="line"><a name="l07096"></a><span class="lineno"> 7096</span> cknull_nomsg(*sub_sky = sinfo_table_select_range(sky,sel,wtol));</div>
-<div class="line"><a name="l07097"></a><span class="lineno"> 7097</span> cknull_nomsg(*sub_wav = sinfo_table_select_range(wav,sel,wtol));</div>
-<div class="line"><a name="l07098"></a><span class="lineno"> 7098</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l07099"></a><span class="lineno"> 7099</span> </div>
-<div class="line"><a name="l07100"></a><span class="lineno"> 7100</span> cleanup:</div>
-<div class="line"><a name="l07101"></a><span class="lineno"> 7101</span> sinfo_free_table(&(*sub_obj));</div>
-<div class="line"><a name="l07102"></a><span class="lineno"> 7102</span> sinfo_free_table(&(*sub_sky));</div>
-<div class="line"><a name="l07103"></a><span class="lineno"> 7103</span> sinfo_free_table(&(*sub_wav));</div>
-<div class="line"><a name="l07104"></a><span class="lineno"> 7104</span> </div>
-<div class="line"><a name="l07105"></a><span class="lineno"> 7105</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l07106"></a><span class="lineno"> 7106</span> </div>
-<div class="line"><a name="l07107"></a><span class="lineno"> 7107</span> }</div>
-<div class="line"><a name="l07108"></a><span class="lineno"> 7108</span> </div>
-<div class="line"><a name="l07109"></a><span class="lineno"> 7109</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l07110"></a><span class="lineno"> 7110</span> sinfo_get_sub_regions(cpl_table* sky,</div>
-<div class="line"><a name="l07111"></a><span class="lineno"> 7111</span> cpl_table* x1,</div>
-<div class="line"><a name="l07112"></a><span class="lineno"> 7112</span> cpl_table* pos,</div>
-<div class="line"><a name="l07113"></a><span class="lineno"> 7113</span> <span class="keyword">const</span> <span class="keywordtype">double</span> wtol,</div>
-<div class="line"><a name="l07114"></a><span class="lineno"> 7114</span> <span class="keyword">const</span> <span class="keywordtype">int</span> npixw,</div>
-<div class="line"><a name="l07115"></a><span class="lineno"> 7115</span> cpl_table** res)</div>
-<div class="line"><a name="l07116"></a><span class="lineno"> 7116</span> {</div>
-<div class="line"><a name="l07117"></a><span class="lineno"> 7117</span> </div>
-<div class="line"><a name="l07118"></a><span class="lineno"> 7118</span> cpl_table* x1_sub=NULL;</div>
-<div class="line"><a name="l07119"></a><span class="lineno"> 7119</span> cpl_table* x2=NULL;</div>
-<div class="line"><a name="l07120"></a><span class="lineno"> 7120</span> </div>
-<div class="line"><a name="l07121"></a><span class="lineno"> 7121</span> <span class="keywordtype">int</span> nrow=0;</div>
-<div class="line"><a name="l07122"></a><span class="lineno"> 7122</span> <span class="keywordtype">int</span> np=0;</div>
-<div class="line"><a name="l07123"></a><span class="lineno"> 7123</span> </div>
-<div class="line"><a name="l07124"></a><span class="lineno"> 7124</span> cknull(sky,<span class="stringliteral">"Null input sky table"</span>);</div>
-<div class="line"><a name="l07125"></a><span class="lineno"> 7125</span> cknull(x1 ,<span class="stringliteral">"Null input x1 table"</span>);</div>
-<div class="line"><a name="l07126"></a><span class="lineno"> 7126</span> cknull(pos,<span class="stringliteral">"Null input pos table"</span>);</div>
-<div class="line"><a name="l07127"></a><span class="lineno"> 7127</span> </div>
-<div class="line"><a name="l07128"></a><span class="lineno"> 7128</span> check_nomsg(x2=cpl_table_duplicate(sky));</div>
-<div class="line"><a name="l07129"></a><span class="lineno"> 7129</span> check_nomsg(nrow=cpl_table_get_nrow(sky));</div>
-<div class="line"><a name="l07130"></a><span class="lineno"> 7130</span> check_nomsg(cpl_table_fill_column_window(x2,<span class="stringliteral">"INT"</span>,0,nrow,0));</div>
-<div class="line"><a name="l07131"></a><span class="lineno"> 7131</span> </div>
-<div class="line"><a name="l07132"></a><span class="lineno"> 7132</span> <span class="comment">//x2[x1[pos]] = 10.;</span></div>
-<div class="line"><a name="l07133"></a><span class="lineno"> 7133</span> <span class="comment">//x2 = convol(x2,replicate(1,npixw),/edge_truncate,/center);</span></div>
-<div class="line"><a name="l07134"></a><span class="lineno"> 7134</span> <span class="comment">//res = where(x2 > 0,hi_i);</span></div>
-<div class="line"><a name="l07135"></a><span class="lineno"> 7135</span> <span class="comment">//cpl_table_save(x1, NULL, NULL, "out_x1.fits", CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l07136"></a><span class="lineno"> 7136</span> </div>
-<div class="line"><a name="l07137"></a><span class="lineno"> 7137</span> x1_sub=sinfo_table_select_range(x1,pos,wtol);</div>
-<div class="line"><a name="l07138"></a><span class="lineno"> 7138</span> </div>
-<div class="line"><a name="l07139"></a><span class="lineno"> 7139</span> <span class="keywordflow">if</span>(x1_sub != NULL) {</div>
-<div class="line"><a name="l07140"></a><span class="lineno"> 7140</span> ck0_nomsg(sinfo_table_fill_column_over_range(&x2,x1_sub,<span class="stringliteral">"INT"</span>,10.,wtol));</div>
-<div class="line"><a name="l07141"></a><span class="lineno"> 7141</span> sinfo_free_table(&x1_sub);</div>
-<div class="line"><a name="l07142"></a><span class="lineno"> 7142</span> check_nomsg(sinfo_convolve_kernel(&x2,npixw/2));</div>
-<div class="line"><a name="l07143"></a><span class="lineno"> 7143</span> check_nomsg(np=cpl_table_and_selected_double(x2,<span class="stringliteral">"CNV"</span>,CPL_GREATER_THAN,0));</div>
-<div class="line"><a name="l07144"></a><span class="lineno"> 7144</span> check_nomsg(*res=cpl_table_extract_selected(x2));</div>
-<div class="line"><a name="l07145"></a><span class="lineno"> 7145</span> sinfo_free_table(&x2);</div>
-<div class="line"><a name="l07146"></a><span class="lineno"> 7146</span> check_nomsg(cpl_table_erase_column(*res,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l07147"></a><span class="lineno"> 7147</span> check_nomsg(cpl_table_erase_column(*res,<span class="stringliteral">"CNV"</span>));</div>
-<div class="line"><a name="l07148"></a><span class="lineno"> 7148</span> </div>
-<div class="line"><a name="l07149"></a><span class="lineno"> 7149</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l07150"></a><span class="lineno"> 7150</span> cpl_error_reset();</div>
-<div class="line"><a name="l07151"></a><span class="lineno"> 7151</span> sinfo_free_table(&x1_sub);</div>
-<div class="line"><a name="l07152"></a><span class="lineno"> 7152</span> sinfo_free_table(&x2);</div>
-<div class="line"><a name="l07153"></a><span class="lineno"> 7153</span> </div>
-<div class="line"><a name="l07154"></a><span class="lineno"> 7154</span> <span class="keywordflow">return</span> np;</div>
-<div class="line"><a name="l07155"></a><span class="lineno"> 7155</span> }</div>
-<div class="line"><a name="l07156"></a><span class="lineno"> 7156</span> </div>
-<div class="line"><a name="l07157"></a><span class="lineno"> 7157</span> <span class="keywordflow">return</span> np;</div>
-<div class="line"><a name="l07158"></a><span class="lineno"> 7158</span> cleanup:</div>
-<div class="line"><a name="l07159"></a><span class="lineno"> 7159</span> </div>
-<div class="line"><a name="l07160"></a><span class="lineno"> 7160</span> sinfo_free_table(&x1_sub);</div>
-<div class="line"><a name="l07161"></a><span class="lineno"> 7161</span> sinfo_free_table(&x2);</div>
-<div class="line"><a name="l07162"></a><span class="lineno"> 7162</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l07163"></a><span class="lineno"> 7163</span> </div>
-<div class="line"><a name="l07164"></a><span class="lineno"> 7164</span> }</div>
-<div class="line"><a name="l07165"></a><span class="lineno"> 7165</span> </div>
-<div class="line"><a name="l07166"></a><span class="lineno"> 7166</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l07167"></a><span class="lineno"> 7167</span> sinfo_table_extract_rest(cpl_table* inp,</div>
-<div class="line"><a name="l07168"></a><span class="lineno"> 7168</span> cpl_table* low,</div>
-<div class="line"><a name="l07169"></a><span class="lineno"> 7169</span> cpl_table* med,</div>
-<div class="line"><a name="l07170"></a><span class="lineno"> 7170</span> <span class="keyword">const</span> <span class="keywordtype">double</span> wtol)</div>
-<div class="line"><a name="l07171"></a><span class="lineno"> 7171</span> {</div>
-<div class="line"><a name="l07172"></a><span class="lineno"> 7172</span> </div>
-<div class="line"><a name="l07173"></a><span class="lineno"> 7173</span> cpl_table* out=NULL;</div>
-<div class="line"><a name="l07174"></a><span class="lineno"> 7174</span> <span class="keywordtype">double</span>* pinp=NULL;</div>
-<div class="line"><a name="l07175"></a><span class="lineno"> 7175</span> <span class="keywordtype">double</span>* plow=NULL;</div>
-<div class="line"><a name="l07176"></a><span class="lineno"> 7176</span> <span class="keywordtype">double</span>* pmed=NULL;</div>
-<div class="line"><a name="l07177"></a><span class="lineno"> 7177</span> <span class="keywordtype">int</span> nlow=0;</div>
-<div class="line"><a name="l07178"></a><span class="lineno"> 7178</span> <span class="keywordtype">int</span> nmed=0;</div>
-<div class="line"><a name="l07179"></a><span class="lineno"> 7179</span> </div>
-<div class="line"><a name="l07180"></a><span class="lineno"> 7180</span> <span class="keywordtype">int</span> nrow=0;</div>
-<div class="line"><a name="l07181"></a><span class="lineno"> 7181</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l07182"></a><span class="lineno"> 7182</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l07183"></a><span class="lineno"> 7183</span> cpl_table* tmp=NULL;</div>
-<div class="line"><a name="l07184"></a><span class="lineno"> 7184</span> </div>
-<div class="line"><a name="l07185"></a><span class="lineno"> 7185</span> cknull(inp,<span class="stringliteral">"null input table"</span>);</div>
-<div class="line"><a name="l07186"></a><span class="lineno"> 7186</span> </div>
-<div class="line"><a name="l07187"></a><span class="lineno"> 7187</span> </div>
-<div class="line"><a name="l07188"></a><span class="lineno"> 7188</span> check_nomsg(tmp=cpl_table_duplicate(inp));</div>
-<div class="line"><a name="l07189"></a><span class="lineno"> 7189</span> check_nomsg(nrow=cpl_table_get_nrow(tmp));</div>
-<div class="line"><a name="l07190"></a><span class="lineno"> 7190</span> check_nomsg(cpl_table_new_column(tmp,<span class="stringliteral">"SEL"</span>,CPL_TYPE_INT));</div>
-<div class="line"><a name="l07191"></a><span class="lineno"> 7191</span> check_nomsg(cpl_table_fill_column_window_int(tmp,<span class="stringliteral">"SEL"</span>,0,nrow,0));</div>
-<div class="line"><a name="l07192"></a><span class="lineno"> 7192</span> </div>
-<div class="line"><a name="l07193"></a><span class="lineno"> 7193</span> check_nomsg(pinp=cpl_table_get_data_double(inp,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l07194"></a><span class="lineno"> 7194</span> check_nomsg(plow=cpl_table_get_data_double(low,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l07195"></a><span class="lineno"> 7195</span> check_nomsg(pmed=cpl_table_get_data_double(med,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l07196"></a><span class="lineno"> 7196</span> nlow=cpl_table_get_nrow(low);</div>
-<div class="line"><a name="l07197"></a><span class="lineno"> 7197</span> </div>
-<div class="line"><a name="l07198"></a><span class="lineno"> 7198</span> </div>
-<div class="line"><a name="l07199"></a><span class="lineno"> 7199</span> <span class="comment">//check_nomsg(cpl_table_save(low,NULL,NULL,"out_low.fits",CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l07200"></a><span class="lineno"> 7200</span> <span class="keywordflow">if</span>(nlow > 0) {</div>
-<div class="line"><a name="l07201"></a><span class="lineno"> 7201</span> k=0;</div>
-<div class="line"><a name="l07202"></a><span class="lineno"> 7202</span> <span class="keywordflow">for</span>(i=0;i<nrow;i++) {</div>
-<div class="line"><a name="l07203"></a><span class="lineno"> 7203</span> <span class="keywordflow">if</span>(fabs(pinp[i]-plow[k]) < wtol) {</div>
-<div class="line"><a name="l07204"></a><span class="lineno"> 7204</span> cpl_table_set_int(tmp,<span class="stringliteral">"SEL"</span>,k,-1);</div>
-<div class="line"><a name="l07205"></a><span class="lineno"> 7205</span> k++;</div>
-<div class="line"><a name="l07206"></a><span class="lineno"> 7206</span> }</div>
-<div class="line"><a name="l07207"></a><span class="lineno"> 7207</span> }</div>
-<div class="line"><a name="l07208"></a><span class="lineno"> 7208</span> }</div>
-<div class="line"><a name="l07209"></a><span class="lineno"> 7209</span> nmed=cpl_table_get_nrow(med);</div>
-<div class="line"><a name="l07210"></a><span class="lineno"> 7210</span> </div>
-<div class="line"><a name="l07211"></a><span class="lineno"> 7211</span> k=0;</div>
-<div class="line"><a name="l07212"></a><span class="lineno"> 7212</span> <span class="keywordflow">if</span>(nmed > 0) {</div>
-<div class="line"><a name="l07213"></a><span class="lineno"> 7213</span> <span class="keywordflow">for</span>(i=0;i<nrow;i++) {</div>
-<div class="line"><a name="l07214"></a><span class="lineno"> 7214</span> <span class="keywordflow">if</span>(fabs(pinp[i]-pmed[k]) < wtol) {</div>
-<div class="line"><a name="l07215"></a><span class="lineno"> 7215</span> cpl_table_set_int(tmp,<span class="stringliteral">"SEL"</span>,k,-1);</div>
-<div class="line"><a name="l07216"></a><span class="lineno"> 7216</span> k++;</div>
-<div class="line"><a name="l07217"></a><span class="lineno"> 7217</span> }</div>
-<div class="line"><a name="l07218"></a><span class="lineno"> 7218</span> }</div>
-<div class="line"><a name="l07219"></a><span class="lineno"> 7219</span> }</div>
-<div class="line"><a name="l07220"></a><span class="lineno"> 7220</span> </div>
-<div class="line"><a name="l07221"></a><span class="lineno"> 7221</span> check_nomsg(cpl_table_and_selected_int(tmp,<span class="stringliteral">"SEL"</span>,CPL_GREATER_THAN,-1));</div>
-<div class="line"><a name="l07222"></a><span class="lineno"> 7222</span> check_nomsg(out=cpl_table_extract_selected(tmp));</div>
-<div class="line"><a name="l07223"></a><span class="lineno"> 7223</span> sinfo_free_table(&tmp);</div>
-<div class="line"><a name="l07224"></a><span class="lineno"> 7224</span> check_nomsg(cpl_table_erase_column(out,<span class="stringliteral">"SEL"</span>));</div>
-<div class="line"><a name="l07225"></a><span class="lineno"> 7225</span> </div>
-<div class="line"><a name="l07226"></a><span class="lineno"> 7226</span> <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l07227"></a><span class="lineno"> 7227</span> </div>
-<div class="line"><a name="l07228"></a><span class="lineno"> 7228</span> cleanup:</div>
-<div class="line"><a name="l07229"></a><span class="lineno"> 7229</span> sinfo_free_table(&tmp);</div>
-<div class="line"><a name="l07230"></a><span class="lineno"> 7230</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l07231"></a><span class="lineno"> 7231</span> </div>
-<div class="line"><a name="l07232"></a><span class="lineno"> 7232</span> }</div>
-<div class="line"><a name="l07233"></a><span class="lineno"> 7233</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__skycor_8h_source.html b/html/sinfo__skycor_8h_source.html
deleted file mode 100644
index 7c52b7d..0000000
--- a/html/sinfo__skycor_8h_source.html
+++ /dev/null
@@ -1,154 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_skycor.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_skycor.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_skycor.h,v 1.13 2007/03/05 07:21:54 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2007/03/05 07:21:54 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.13 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#ifndef SINFO_SKYCOR_H</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_SKYCOR_H</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span><span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#define SINFO_MASK_WAVE_MIN 1.4</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_MASK_WAVE_MAX 2.5</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_MIN_FRAC 0.8</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_LINE_HALF_WIDTH 4.0</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_SKY_BKG_FILTER_WIDTH 12</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#define HISTO_NBINS 100</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor"></span><span class="preprocessor">#define HISTO_MIN_SIZE 10</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor"></span><span class="preprocessor">#define HISTO_Y_CUT 10 </span><span class="comment">/* 50 is a better value this </span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> affects histo right marging*/</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor"></span><span class="preprocessor">#define HISTO_X_LEFT_CUT 1.0 </span><span class="comment">/* 0.2 is better */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor"></span><span class="preprocessor">#define HISTO_X_RIGHT_CUT 0.5 </span><span class="comment">/* 1.0 is better */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor"></span><span class="preprocessor">#define HISTO_DIST_TEMPC_MIN_FCT 5. </span><span class="comment">/* 5.0 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor"></span><span class="preprocessor">#define HISTO_DIST_TEMPC_MAX_FCT 0.25 </span><span class="comment">/* 0.25 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">struct </span>sinfo_skycor_qc_ {</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">int</span> th_fit;</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> };</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>sinfo_skycor_qc_ sinfo_skycor_qc; </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> sinfo_skycor_qc* sinfo_skycor_qc_new(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">void</span> sinfo_skycor_qc_delete(sinfo_skycor_qc** s);</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> sinfo_skycor(cpl_parameterlist * config, </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> cpl_frame* obj_frm, </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> cpl_frame* sky_frm,</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> sinfo_skycor_qc* sqc,</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> cpl_imagelist** obj_cor,</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> cpl_table** int_obj);</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> sinfo_histogram(<span class="keyword">const</span> cpl_table* data,</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nbins, </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">const</span> <span class="keywordtype">double</span> min, </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">const</span> <span class="keywordtype">double</span> max,</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> cpl_table** histo);</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> sinfo_table_get_index_of_val(cpl_table* t,</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name,</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">double</span> val,</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> cpl_type type);</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> sinfo_table_get_index_of_max(cpl_table* t,</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name,</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> cpl_type type);</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> sinfo_table_column_interpolate(<span class="keyword">const</span> cpl_table* t,</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name,</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keyword">const</span> <span class="keywordtype">double</span> x);</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> cpl_table* </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> sinfo_where_tab_min_max(cpl_table* t, </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col, </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> cpl_table_select_operator op1, </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keyword">const</span> <span class="keywordtype">double</span> v1, </div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> cpl_table_select_operator op2, </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keyword">const</span> <span class="keywordtype">double</span> v2);</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__skycor__config_8c_source.html b/html/sinfo__skycor__config_8c_source.html
deleted file mode 100644
index d14b085..0000000
--- a/html/sinfo__skycor__config_8c_source.html
+++ /dev/null
@@ -1,256 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_skycor_config.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_skycor_config.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_skycor_config.c,v 1.17 2012/03/03 10:18:26 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2012/03/03 10:18:26 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.17 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "sinfo_skycor_config.h"</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_skycor.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/* General data reduction parameters */</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> sinfo_skycor_config_add(cpl_parameterlist *list)</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> {</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> cpl_parameter *p;</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordflow">if</span> (!list) {</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> }</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">/* Fill the parameters list */</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">/* --stropt */</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_skycor.mask_ws"</span>, </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> CPL_TYPE_DOUBLE, </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="stringliteral">"Starting wavelength for object-sky cross correlation"</span>, </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor"</span>,</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> SINFO_MASK_WAVE_MIN) ;</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"skycor-mask_ws"</span>) ;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> cpl_parameterlist_append(list, p) ;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_skycor.mask_we"</span>, </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> CPL_TYPE_DOUBLE, </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="stringliteral">"End wavelength for object-sky cross correlation"</span>, </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor"</span>, </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> SINFO_MASK_WAVE_MAX) ;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"skycor-mask_we"</span>) ;</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> cpl_parameterlist_append(list, p) ;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_skycor.min_frac"</span>, </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> CPL_TYPE_DOUBLE, </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="stringliteral">"Threshold value for fraction of spatial pixels to be sky"</span>, </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor"</span>, </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> SINFO_MIN_FRAC) ;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"skycor-min_frac"</span>) ;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> cpl_parameterlist_append(list, p) ;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> p = cpl_parameter_new_range(</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor.sky_bkg_filter_width"</span>, </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> CPL_TYPE_INT, </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="stringliteral">"Width of sky-thermal background pre filter "</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="stringliteral">"(to remove emission lines before fitting a "</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="stringliteral">"Black Body)."</span>, </div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor"</span>, </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> SINFO_SKY_BKG_FILTER_WIDTH,2,25) ;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="stringliteral">"skycor-sky_bkg_filter_width"</span>) ;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> cpl_parameterlist_append(list, p) ;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_skycor.line_half_width"</span>, </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> CPL_TYPE_DOUBLE, </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="stringliteral">"Threshold value for full width in pixels "</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="stringliteral">"of unresolved emission line. Lines with FWHM "</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="stringliteral">"smaller than this value are not considered "</span> </div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="stringliteral">"in the object-sky cross correlation and in "</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="stringliteral">"computation of the optimal sky lines scaling "</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="stringliteral">"factor"</span>, </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor"</span>, </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> SINFO_LINE_HALF_WIDTH) ;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"skycor-line_hw"</span>) ;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> cpl_parameterlist_append(list, p) ;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> p = cpl_parameter_new_enum(<span class="stringliteral">"sinfoni.sinfo_utl_skycor.scale_method"</span>, </div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> CPL_TYPE_INT, </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="stringliteral">"Optimal sky lines scaling factor computation "</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="stringliteral">"method: amoeba fit (0), "</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="stringliteral">"maximum likelihood (1) "</span>,</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor"</span>, </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> 1,2,0,1) ;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="stringliteral">"skycor-scale_method"</span>) ;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> cpl_parameterlist_append(list, p) ;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_skycor.rot_cor"</span>, </div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> CPL_TYPE_BOOL, </div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="stringliteral">"Computes scaling factor correction due to "</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="stringliteral">"rotational levels transitions"</span>,</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor"</span>, </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> FALSE) ;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"skycor-rot_cor"</span>) ;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> cpl_parameterlist_append(list, p) ;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_skycor.fit_obj_noise"</span>, </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> CPL_TYPE_BOOL, </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="stringliteral">"Do Gaussian fit of object noise"</span>,</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor"</span>, </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> FALSE) ;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"skycor-fit_obj_noise"</span>);</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> cpl_parameterlist_append(list, p) ;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_skycor.niter"</span>, </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> CPL_TYPE_INT, </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="stringliteral">"Number of iterations of background "</span></div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="stringliteral">"fit"</span>, </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor"</span>, </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> 10) ;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"skycor-niter"</span>) ;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> cpl_parameterlist_append(list, p) ;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_skycor.pshift"</span>, </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> CPL_TYPE_DOUBLE, </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="stringliteral">"Sky spectrum shift towar object"</span>, </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor"</span>, </div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> 0.) ;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"skycor-pshift"</span>) ;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> cpl_parameterlist_append(list, p) ;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_skycor.llx"</span>, </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> CPL_TYPE_INT, </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="stringliteral">"Lower left X defining object "</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="stringliteral">"spectrum location"</span>, </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor"</span>, </div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> 1) ;</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"skycor-llx"</span>) ;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> cpl_parameterlist_append(list, p) ;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_skycor.lly"</span>, </div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> CPL_TYPE_INT, </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="stringliteral">"Lower left Y defining object "</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="stringliteral">"spectrum location"</span>, </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor"</span>, </div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> 1) ;</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"skycor-lly"</span>) ;</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> cpl_parameterlist_append(list, p) ;</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_skycor.urx"</span>, </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> CPL_TYPE_INT, </div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="stringliteral">"Upper right X defining object "</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="stringliteral">"spectrum location"</span>, </div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor"</span>, </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> 64) ;</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"skycor-urx"</span>) ;</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> cpl_parameterlist_append(list, p) ;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_skycor.ury"</span>, </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> CPL_TYPE_INT, </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="stringliteral">"Upper right Y defining object "</span></div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="stringliteral">"spectrum location"</span>, </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor"</span>, </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> 64) ;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"skycor-ury"</span>) ;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> cpl_parameterlist_append(list, p) ;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> p = cpl_parameter_new_value(</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor.sub_thr_bkg_from_obj"</span>, </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> CPL_TYPE_BOOL, </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="stringliteral">"Subtract thermal background contribute from "</span></div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="stringliteral">"object spectra. Set it to TRUE if "</span></div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="stringliteral">"stack-sub_raw_sky is set to FALSE"</span>,</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="stringliteral">"sinfoni.sinfo_utl_skycor"</span>, </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> FALSE) ;</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="stringliteral">"skycor-sub_thr_bkg_from_obj"</span>) ;</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> cpl_parameterlist_append(list, p) ;</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__skycor__config_8h_source.html b/html/sinfo__skycor__config_8h_source.html
deleted file mode 100644
index 6fbbe1b..0000000
--- a/html/sinfo__skycor__config_8h_source.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_skycor_config.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_skycor_config.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_skycor_config.h,v 1.1 2006/11/27 16:55:26 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2006/11/27 16:55:26 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Bad pixel search (noise method) *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifndef SINFO_SKYCOR_CONFIG_H</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_SKYCOR_CONFIG_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keywordtype">void</span> sinfo_skycor_config_add(cpl_parameterlist *list);</div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__solve__poly__root_8c_source.html b/html/sinfo__solve__poly__root_8c_source.html
deleted file mode 100644
index f8b8e86..0000000
--- a/html/sinfo__solve__poly__root_8c_source.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_solve_poly_root.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_solve_poly_root.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor"></span><span class="comment">/*#include "companion.c"*/</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">/*#include "balance.c"*/</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">/*#include "qr.c"*/</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include "sinfo_solve_poly_root.h"</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> gsl_poly_complex_workspace *</div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> sinfo_gsl_poly_complex_workspace_alloc (<span class="keywordtype">size_t</span> n)</div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> {</div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="keywordtype">size_t</span> nc ;</div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> gsl_poly_complex_workspace * w ;</div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keywordflow">if</span> (n == 0)</div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> {</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"sinfo_matrix size n must be positive integer"</span>);</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> }</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> w = (gsl_poly_complex_workspace *)</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> cpl_malloc (<span class="keyword">sizeof</span>(gsl_poly_complex_workspace));</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordflow">if</span> (w == 0)</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> {</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"failed to allocate space for struct"</span>);</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> }</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> nc = n - 1;</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> w->nc = nc;</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> w->sinfo_matrix = (<span class="keywordtype">double</span> *) cpl_malloc (nc * nc * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordflow">if</span> (w->sinfo_matrix == 0)</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> {</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> cpl_free (w) ; <span class="comment">/* error in constructor, avoid memory leak */</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"failed to allocate for workspace sinfo_matrix"</span>) ;</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> }</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordflow">return</span> w ;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> }</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> sinfo_gsl_poly_complex_workspace_free (gsl_poly_complex_workspace * w)</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> {</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> cpl_free(w->sinfo_matrix) ;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> cpl_free(w);</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> }</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> sinfo_gsl_poly_complex_solve (<span class="keyword">const</span> <span class="keywordtype">double</span> *a, <span class="keywordtype">size_t</span> n,</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> gsl_poly_complex_workspace * w,</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> gsl_complex_packed_ptr z)</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> {</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">int</span> status;</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">double</span> *m;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordflow">if</span> (n == 0)</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> {</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"number of terms must be a positive integer"</span>);</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> }</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordflow">if</span> (n == 1)</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> {</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot solve for only one term"</span>);</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> }</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordflow">if</span> (a[n - 1] == 0)</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> {</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"leading term of polynomial must be non-zero"</span>) ;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> }</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordflow">if</span> (w->nc != n - 1)</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> {</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"size of workspace does not match polynomial"</span>);</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> }</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> m = w->sinfo_matrix;</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> sinfo_set_companion_matrix (a, n - 1, m);</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> sinfo_balance_companion_matrix (m, n - 1);</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> status = sinfo_qr_companion (m, n - 1, z);</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordflow">if</span> (status == -1)</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> {</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"root solving qr method failed to converge"</span>);</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> }</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keywordflow">return</span> 1;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> }</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__solve__poly__root_8h_source.html b/html/sinfo__solve__poly__root_8h_source.html
deleted file mode 100644
index 2cd60be..0000000
--- a/html/sinfo__solve__poly__root_8h_source.html
+++ /dev/null
@@ -1,124 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_solve_poly_root.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_solve_poly_root.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_SOLVE_POLY_ROOT_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_SOLVE_POLY_ROOT_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">#include <stdio.h></span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include <stdlib.h></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include <stdlib.h></span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/* C-style sinfo_matrix elements */</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#define MAT(m,i,j,n) ((m)[(i)*(n) + (j)])</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/* Fortran-style sinfo_matrix elements */</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#define FMAT(m,i,j,n) ((m)[((i)-1)*(n) + ((j)-1)])</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#undef __BEGIN_DECLS</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor"></span><span class="preprocessor">#undef __END_DECLS</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor"></span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor"></span><span class="preprocessor"># define __BEGIN_DECLS extern "C" {</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor"></span><span class="preprocessor"># define __END_DECLS }</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor"></span><span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"></span><span class="preprocessor"># define __BEGIN_DECLS </span><span class="comment">/* empty */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor"></span><span class="preprocessor"># define __END_DECLS </span><span class="comment">/* empty */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">typedef</span> <span class="keywordtype">double</span> * gsl_complex_packed_ptr ;</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keywordtype">void</span> sinfo_balance_companion_matrix (<span class="keywordtype">double</span> *m, <span class="keywordtype">size_t</span> nc);</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">int</span> sinfo_qr_companion (<span class="keywordtype">double</span> *h, <span class="keywordtype">size_t</span> nc, gsl_complex_packed_ptr z);</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">void</span> sinfo_set_companion_matrix (<span class="keyword">const</span> <span class="keywordtype">double</span> *a, <span class="keywordtype">size_t</span> n, <span class="keywordtype">double</span> *m);</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> __BEGIN_DECLS</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">/* Solve for the complex roots of a general real polynomial */</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">typedef</span> <span class="keyword">struct </span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> { </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordtype">size_t</span> nc ;</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">double</span> * sinfo_matrix ; </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> } </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> gsl_poly_complex_workspace ;</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> gsl_poly_complex_workspace * sinfo_gsl_poly_complex_workspace_alloc (<span class="keywordtype">size_t</span> n);</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">void</span> sinfo_gsl_poly_complex_workspace_free (gsl_poly_complex_workspace * w);</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> sinfo_gsl_poly_complex_solve (<span class="keyword">const</span> <span class="keywordtype">double</span> * a, <span class="keywordtype">size_t</span> n, </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> gsl_poly_complex_workspace * w,</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> gsl_complex_packed_ptr z);</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> __END_DECLS</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="preprocessor">#endif </span><span class="comment">/* SINFO_SOLVE_POLY_ROOT_H */</span><span class="preprocessor"></span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__spectrum__ops_8c_source.html b/html/sinfo__spectrum__ops_8c_source.html
deleted file mode 100644
index 26eaf49..0000000
--- a/html/sinfo__spectrum__ops_8c_source.html
+++ /dev/null
@@ -1,2451 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_spectrum_ops.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_spectrum_ops.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/***************************************************************************</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* schreib 25/05/00 created</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">* NAME</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">* sinfo_spectrum_ops.c -</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">* some sinfo_vector procedures to operate on spectra</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">* SYNOPSIS</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">* #include "sinfo_spectrum_ops.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">* 1) Vector * sinfo_new_vector( ulong32 n_elements )</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">* 2) void * sinfo_new_destroy_vector( Vector *sinfo_vector )</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">* 3) cpl_image * sinfo_new_vector_to_image( Vector * spectrum )</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">* 4) Vector * sinfo_new_image_to_vector( cpl_image * spectrum )</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">* 5) cpl_image * </span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> sinfo_new_extract_spectrum_from_resampled_flat(cpl_image * resflat,</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">* float loreject,</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">* float hireject ) </span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">* 6) cpl_image * sinfo_new_multiply_image_with_spectrum(cpl_image * image, </span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> cpl_image * spectrum)</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">* 7) cpl_image * sinfo_new_optimal_extraction_from_cube(cpl_imagelist * cube, </span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">* int halfbox_x, </span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">* int halfbox_y,</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">* float fwhm_factor,</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">* float backvariance,</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">* float sky,</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">* float gain,</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">* float exptime)</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">* 8) Vector * sinfo_new_extract_sky_from_cube( cpl_imagelist * cube,</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">* float loReject,</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">* float hiReject,</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">* int * position,</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">* int tolerance,</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">* int posindicator )</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">* 9) Vector * sinfo_new_sum_rectangle_of_cube_spectra( cpl_imagelist * cube,</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">* int llx,</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">* int lly,</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">* int urx,</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">* int ury )</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">* 10) Vector * sinfo_new_sum_circle_of_cube_spectra( cpl_imagelist * cube,</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">* int centerx,</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">* int centery,</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">* int radius )</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">* 11) Vector * </span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> sinfo_new_mean_rectangle_of_cube_spectra( cpl_imagelist * cube,</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">* int llx,</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">* int lly,</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">* int urx,</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">* int ury )</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">* 12) Vector * sinfo_new_mean_circle_of_cube_spectra( cpl_imagelist * cube,</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">* int centerx,</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">* int centery,</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">* int radius )</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">* 13) Vector * </span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"> sinfo_new_blackbody_spectrum(char * templateSpec, double temp )</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">* 14) Vector * </span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> sinfo_new_median_rectangle_of_cube_spectra(cpl_imagelist * cube,</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">* int llx,</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">* int lly,</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment">* int urx,</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">* int ury )</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment">* 15) Vector * sinfo_new_median_circle_of_cube_spectra( cpl_imagelist * cube,</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">* int centerx,</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">* int centery,</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">* int radius )</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment">* 16) Vector * </span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"> sinfo_new_cleanmean_rectangle_of_cube_spectra(cpl_imagelist * cube,</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment">* int llx,</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment">* int lly,</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment">* int urx,</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment">* int ury,</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment">* float lo_reject,</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment">* float hi_reject )</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment">* 17) Vector * </span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment"> sinfo_new_cleanmean_circle_of_cube_spectra( cpl_imagelist * cube,</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment">* int centerx,</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">* int centery,</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment">* int radius,</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment">* float lo_reject,</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment">* float hi_reject )</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">* 18) float * sinfo_new_shift_array ( float * input, </span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment"> int n_elements, </span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment"> float shift, </span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"> double * ker ) </span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment">* DESCRIPTION</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">* 1) allocates memory for a new sinfo_vector</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment">* 2) frees memory of a sinfo_vector</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment">* 3) converts a spectral sinfo_vector to a fits image</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment">* remark: sinfo_vector object spectrum is destroyed</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment">* 4) converts a fits image to a spectral sinfo_vector</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment">* remark: input image is destroyed</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">* 5) builds one spectrum in a fits image out of a resampled</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment">* flatfield frame by taking a clean mean along the spatial pixels</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment">* 6) multiplys a resampled image with a resampled spectrum</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment">* (calibrated halogen lamp spectrum) in the same spectral range</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">* that means all image columns are multiplied with the same spectrum</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment">* 7) does the optimal extraction of a standard star spectrum</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment">* according to the equation:</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment">* S = sum { (P^2 / V) * (I - B) / P } / sum{ P^2 / V } </span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">* S: spectral flux at a particular wavelength</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment">* P: normalized PSF (determined by a 2D-Gaussian fit)</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment">* I: pixel value</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment">* B: background pixel value determined by the background parameter </span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment"> of the 2D-Gaussian fit</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment">* V: estimated variance of a pixel: </span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment"> V = [R^2 + D + sky + I,c/exptime]/gain</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">* where R is the read noise, and D the sinfo_dark current variance.</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">* backvariance is R^2 + D in counts/sec. </span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment"> I,c is the source intensity in counts</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment">* Remember: sigma,e[e-] = gain[e/count] * sigma,c [counts] = </span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment"> sqrt(I,e) = sqrt(gain*I,c)</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment">* => V,c = sigma,c^2 = sigma,e^2/gain^2 </span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment">* => sigma,c = sqrt(I,c/gain) => V,c = I,c/gain</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment">* 8) extracts a sky spectrum from a reduced sky spider observation, that</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment">* means from a data cube. Therefore, the position of the sky within the</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment">* field of view must be first read from the fits header. </span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment"> A pixel tolerance is subtracted.</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment">* The found sky spectra are averaged by rejecting the extreme </span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment"> high and low values.</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment">* 9) summing routine for a reduced data to get a better spectral S/N</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment">* only for a rectangular aperture.</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment">* 10) summing routine for a reduced data to get a better spectral S/N</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment">* only for a circular aperture.</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment">* 11) averaging routine for a reduced data to get a better spectral S/N</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment">* only for a rectangular aperture.</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment">* 12) averaging routine for a reduced data to get a better spectral S/N</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment">* only for a circular aperture.</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment">* 13) computes a blackbody spectral intensity distribution</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment">* (W/(m^2 lambda ster)) </span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment">* 14) sinfo_median routine for a reduced data to get a better spectral S/N</span></div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment">* only for a rectangular aperture.</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment">* 15) sinfo_median routine for a reduced data to get a better spectral S/N</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment">* only for a circular aperture.</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment">* 16) clean averaging routine for a reduced data to get a better spectral S/N</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment">* only for a rectangular aperture.</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment">* 17) clean averaging routine for a reduced data to get a better spectral S/N</span></div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment">* only for a circular aperture.</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment">* 18) shifts an array by a sub-pixel shift value using a tanh</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment">* interpolation kernel</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment">* FILES</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="comment">* ENVIRONMENT</span></div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment">* RETURN VALUES</span></div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment">* CAUTIONS</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment">* EXAMPLES</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment">* SEE ALSO</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="comment">* BUGS</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment">*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="preprocessor">#define POSIX_SOURCE 1</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="preprocessor"></span><span class="preprocessor">#include "sinfo_vltPort.h"</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment"> * System Headers</span></div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment"> * Local Headers</span></div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="preprocessor">#include "sinfo_pfits.h"</span></div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="preprocessor">#include "sinfo_spectrum_ops.h"</span></div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="preprocessor">#include "sinfo_resampling.h"</span></div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="preprocessor">#include "sinfo_utilities.h"</span></div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment"> * Function codes</span></div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keywordtype">int</span> sinfo_stectrum_ima2table(</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keyword">const</span> cpl_image* spc,</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* filename,</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> cpl_table** tbl)</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> {</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keyword">const</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordtype">int</span> nx=0;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keywordtype">int</span> ny=0;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordtype">int</span> nraw=0;</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordtype">double</span> amp=0;</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordtype">double</span> wav=0;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordtype">double</span> step=0;</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordtype">double</span> ws=0;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordtype">double</span> we=0;</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordtype">double</span> wc=0;</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="keywordflow">if</span>(spc == NULL){</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Input image is null"</span>);</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> }</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> pidata = cpl_image_get_data_const(spc);</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> nx=cpl_image_get_size_x(spc);</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> ny=cpl_image_get_size_y(spc);</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="keywordflow">if</span>((nx == 0) || (ny == 0)) {</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Input image has improper size: nx=%d ny=%d"</span>,nx,ny);</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> }</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keywordflow">if</span>((nx > 1) && (ny > 1)) {</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Input image has improper size: nx=%d ny=%d"</span>,nx,ny);</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> }</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> nraw=nx*ny;</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> *tbl = cpl_table_new(nraw);</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> cpl_table_new_column(*tbl,<span class="stringliteral">"WAVE"</span>,CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> cpl_table_new_column(*tbl,<span class="stringliteral">"INT"</span>,CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="keywordflow">if</span> ((cpl_error_code)((plist = cpl_propertylist_load(filename, 0)) == NULL)) {</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from reference frame %s"</span>,filename);</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> }</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="keywordflow">if</span>(nx>1) {</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> step=sinfo_pfits_get_cdelt1(plist);</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> wc=sinfo_pfits_get_crval1(plist);</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> step=sinfo_pfits_get_cdelt2(plist);</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> wc=sinfo_pfits_get_crval2(plist);</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> }</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> ws=wc-nraw*step/2;</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> we=wc+nraw*step/2;</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> wav=ws;</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> sinfo_msg(<span class="stringliteral">"ws=%f we=%f step=%f"</span>,ws,we,step);</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> cpl_table_set_double(*tbl,<span class="stringliteral">"WAVE"</span>,0,wav);</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> cpl_table_set_double(*tbl,<span class="stringliteral">"INT"</span>,0,pidata[i]);</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="keywordflow">for</span>(i=1;i<nraw;i++) {</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> wav+=step;</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> amp=(double)pidata[i];</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> cpl_table_set_double(*tbl,<span class="stringliteral">"WAVE"</span>,i,wav);</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> cpl_table_set_double(*tbl,<span class="stringliteral">"INT"</span>,i,amp);</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> }</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> cpl_propertylist_delete(plist);</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> }</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> Vector * sinfo_new_vector( ulong32 n_elements )</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> {</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> Vector * local_new_vector ;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="keywordflow">if</span> ( n_elements <= 0 )</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> {</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" wrong number of elements\n"</span>) ;</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> }</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="comment">/* allocate memory for a sinfo_vector with the given number of elements */</span></div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> local_new_vector = (Vector *) cpl_malloc (<span class="keyword">sizeof</span> (Vector)) ; </div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> local_new_vector -> n_elements = n_elements ;</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> local_new_vector -> data = (pixelvalue *) cpl_calloc (n_elements, </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="keyword">sizeof</span> (pixelvalue)) ;</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="keywordflow">return</span> local_new_vector ;</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> }</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> </div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="keywordtype">void</span> sinfo_free_svector( Vector **svector )</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> {</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="keywordflow">if</span> ( *svector != NULL ) </div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> {</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="keywordflow">if</span>((*svector) -> data != NULL) {</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> cpl_free ( (*svector) -> data ) ;</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> (*svector)->data = NULL;</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> }</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> cpl_free ( *svector ) ;</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> *svector = NULL;</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> }</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> return ;</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> }</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="keywordtype">void</span> sinfo_new_destroy_vector( Vector *sinfo_vector )</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> {</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="keywordflow">if</span> ( sinfo_vector == NULL ) </div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> {</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" NULL Vector given!\n"</span>) ;</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> return ;</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> } </div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> cpl_free ( sinfo_vector -> data ) ;</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> cpl_free ( sinfo_vector ) ;</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> }</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> cpl_image * sinfo_new_vector_to_image( Vector * spectrum )</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> {</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> cpl_image * returnIm ;</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> </div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> </div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="keywordflow">if</span> ( spectrum == NULL )</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> {</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no spectrum given!\n"</span>) ;</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> }</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="keywordflow">if</span> ( NULL == (returnIm = cpl_image_new(1, spectrum->n_elements,</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> CPL_TYPE_FLOAT)) )</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> {</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no spectrum given!\n"</span>) ;</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> sinfo_new_destroy_vector(spectrum) ;</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> }</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> </div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> podata=cpl_image_get_data_float(returnIm);</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="keywordflow">for</span> ( i = 0 ; i < spectrum->n_elements ; i++ )</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> {</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> podata[i] = spectrum -> data[i] ;</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> }</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> </div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> sinfo_new_destroy_vector (spectrum) ;</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="keywordflow">return</span> returnIm ;</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> }</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> </div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> Vector * sinfo_new_image_to_vector( cpl_image * spectrum )</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> {</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> Vector * returnVector ;</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> </div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> </div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="keywordflow">if</span> ( spectrum == NULL )</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> {</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no spectrum given!"</span>) ;</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> }</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> ilx=cpl_image_get_size_x(spectrum);</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> ily=cpl_image_get_size_y(spectrum);</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> </div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="keywordflow">if</span> ( NULL == (returnVector = sinfo_new_vector(ilx*ily)) )</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> {</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" cannot allocate memory!"</span>) ;</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> cpl_image_delete(spectrum) ;</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> }</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> </div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> pidata=cpl_image_get_data_float(spectrum);</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) ilx*ily ; i++ )</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> {</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> returnVector -> data[i] = pidata[i] ;</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> }</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> </div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> cpl_image_delete (spectrum) ;</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="keywordflow">return</span> returnVector ;</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> }</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> </div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> cpl_image * </div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> sinfo_new_extract_spectrum_from_resampled_flat( cpl_image * resflat,</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="keywordtype">float</span> loreject,</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="keywordtype">float</span> hireject ) </div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> {</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> cpl_image * retIm ;</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="keywordtype">int</span> col, row ;</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="keywordtype">int</span> n ;</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="keywordtype">float</span>* array=NULL ;</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> <span class="keywordtype">float</span> cleanMean ;</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> Vector * spectrum ;</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> </div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> </div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> </div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="keywordflow">if</span> ( resflat == NULL )</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> {</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no flatfield given!"</span>) ;</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> }</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> ilx=cpl_image_get_size_x(resflat);</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> ily=cpl_image_get_size_y(resflat);</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> </div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="keywordflow">if</span> ( NullVector == (spectrum = sinfo_new_vector(ily) ) )</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> {</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" could not allocate memory!"</span>) ;</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> }</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> </div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> array=cpl_calloc(ily,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> </div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> pidata=cpl_image_get_data_float(resflat);</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> {</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> n = 0 ;</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> {</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="keywordflow">if</span> ( !isnan(pidata[col + row*ilx]) )</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> {</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> array[n] = pidata[col+row*ilx] ;</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> n++ ;</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> }</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> }</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="keywordflow">if</span> ( n == 0 )</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> {</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">" only bad pixels in row: %d!"</span>, row) ;</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> cleanMean = ZERO ;</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> }</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> {</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> <span class="keywordflow">if</span> ( FLT_MAX == (cleanMean = sinfo_new_clean_mean(array, n, </div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> loreject, </div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> hireject)) )</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> {</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" could not do sinfo_clean_mean!"</span>) ;</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> sinfo_new_destroy_vector(spectrum) ;</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> }</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> }</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> spectrum->data[row] = cleanMean ; </div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> }</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> <span class="keywordflow">if</span> ( NULL == ( retIm = sinfo_new_vector_to_image( spectrum ) ) )</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> {</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" could not do sinfo_vectorToImage!"</span>) ;</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> sinfo_new_destroy_vector(spectrum) ;</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> }</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> cpl_free(array) ;</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> </div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> <span class="keywordflow">return</span> retIm ;</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> }</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> </div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> cpl_image * </div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> sinfo_new_multiply_image_with_spectrum( cpl_image * image, </div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> cpl_image * spectrum )</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> {</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> <span class="keywordtype">int</span> col, row ;</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> cpl_image * retImage ;</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> </div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> </div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> <span class="keywordtype">int</span> slx=0;</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> <span class="keywordtype">int</span> sly=0;</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> </div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> <span class="keywordtype">float</span>* psdata=NULL;</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> </div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> </div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="keywordflow">if</span> ( image == NULL )</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> {</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no image given!"</span>) ;</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> }</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> ilx=cpl_image_get_size_x(image);</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> ily=cpl_image_get_size_y(image);</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> </div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <span class="keywordflow">if</span> ( spectrum == NULL )</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> {</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no spectrum image given!"</span>) ;</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> }</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> slx=cpl_image_get_size_x(spectrum);</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> sly=cpl_image_get_size_y(spectrum);</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> </div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="keywordflow">if</span> ( sly != ily )</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> {</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" images are not compatible in pixel length!"</span>) ;</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> }</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> </div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> <span class="keywordflow">if</span> ( NULL == (retImage = cpl_image_duplicate(image)) )</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> {</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" could not copy original image!\n"</span>) ;</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> }</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> </div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> pidata=cpl_image_get_data_float(image);</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> psdata=cpl_image_get_data_float(spectrum);</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> podata=cpl_image_get_data_float(retImage);</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> </div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> {</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> {</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="keywordflow">if</span> ( !isnan(pidata[col+row*ilx]) &&</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> !isnan(psdata[col+row*ilx]))</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> {</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> podata[col+row*ilx] = pidata[col+row*ilx] * psdata[row] ;</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> </div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> }</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> }</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> }</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> <span class="keywordflow">return</span> retImage ;</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> }</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> </div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> cpl_image * sinfo_new_optimal_extraction_from_cube( cpl_imagelist * cube, </div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> <span class="keywordtype">int</span> llx,</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <span class="keywordtype">int</span> lly,</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> <span class="keywordtype">int</span> halfbox_x, </div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> <span class="keywordtype">int</span> halfbox_y,</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> <span class="keywordtype">float</span> fwhm_factor,</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> <span class="keywordtype">float</span> backvariance,</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> <span class="keywordtype">float</span> sky,</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="keywordtype">float</span> gain,</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> <span class="keywordtype">float</span> exptime,</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name,</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> cpl_table** spectrum,</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> <span class="keywordtype">int</span> qc_info,</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> <span class="keywordtype">int</span>* check2)</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> {</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> <span class="keywordtype">int</span> col, row, z ;</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> cpl_image * averagedIm ; </div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> cpl_image * retIm ;</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> <span class="keywordtype">double</span> fit_par[7] ;</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> <span class="keywordtype">double</span> derv_par[7] ;</div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> <span class="keywordtype">int</span> mpar[7] ;</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> <span class="keywordtype">double</span> gfit_par[7] ;</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="keywordtype">double</span> gderv_par[7] ;</div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> <span class="keywordtype">int</span> gmpar[7] ;</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> <span class="keywordtype">int</span> fitInd ;</div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> <span class="keywordtype">double</span> sum ;</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> <span class="keywordtype">double</span>** weight=NULL ;</div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> <span class="keywordtype">double</span>** sinfo_psf=NULL ;</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> </div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> <span class="keywordtype">double</span> variance ;</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> <span class="keywordtype">double</span> xdat[2] ;</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> <span class="keywordtype">float</span> weighted_sum ;</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> <span class="keywordtype">float</span> counts_tot ;</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <span class="keywordtype">float</span> counts_bkg ;</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> <span class="keywordtype">float</span> bkg_tot ;</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> </div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> </div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> <span class="keywordtype">int</span> first_col, last_col ;</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> <span class="keywordtype">int</span> first_row, last_row ;</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> <span class="keywordtype">float</span> norm ;</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> <span class="keywordtype">float</span> sum_psf=0;</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> <span class="keywordtype">float</span> sum_wgt=0;</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> <span class="keywordtype">float</span> cenpix = 0;</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> <span class="keywordtype">float</span> cenLambda = 0;</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> <span class="keywordtype">float</span> dispersion = 0;</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <span class="keywordtype">float</span> lambda=0;</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> <span class="keywordtype">float</span> lambda_start=0;</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> </div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> <span class="keywordtype">float</span>* padata=NULL;</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> <span class="keywordtype">float</span> tmp_val=0;</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> </div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> </div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> <span class="comment">/* TODO: the sky here is not really used. We remove compilation warning */</span></div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> sky=0;</div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> </div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> <span class="keywordflow">if</span> ( NULL == cube )</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> {</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no cube given!\n"</span>) ;</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> }</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> </div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> </div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> ilx=cpl_image_get_size_x(cpl_imagelist_get(cube,0));</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> ily=cpl_image_get_size_y(cpl_imagelist_get(cube,0));</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> inp=cpl_imagelist_get_size(cube);</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> </div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> <span class="keywordflow">if</span> ( llx < 0 || llx + 2*halfbox_x >= ilx || </div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> lly < 0 || lly + 2*halfbox_y >= ily )</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> {</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> sinfo_msg(<span class="stringliteral">"llx=%d, lly=%d, llx + 2*halfbox_x=%d, "</span></div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> <span class="stringliteral">"lly + 2*halfbox_y=%d"</span>,</div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> llx,lly,llx + 2*halfbox_x,lly + 2*halfbox_y);</div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> sinfo_msg(<span class="stringliteral">"tresh_min_x=%d, tresh_min_y=%d, "</span></div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> <span class="stringliteral">"tresh_max_x=%d, tresh_max_y=%d"</span>,0,0,ilx,ily);</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" lower left sinfo_edge points wrong position!"</span>) ;</div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> }</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> <span class="keywordflow">if</span> ( halfbox_x <= 0 || halfbox_y <= 0 || </div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> 2*halfbox_x > ilx || 2*halfbox_y > ily )</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> {</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong halfbox width given!"</span>) ;</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> }</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="keywordflow">if</span> ( fwhm_factor <= 0. )</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> {</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong fwhm_factor given!"</span>) ;</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> }</div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> <span class="keywordflow">if</span> ( backvariance < 0. )</div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> {</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong backvariance given!"</span>) ;</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> }</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> <span class="keywordflow">if</span> ( exptime <= 0. || exptime == FLAG )</div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> {</div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong exposure time given!"</span>) ;</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> }</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> </div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> <span class="comment">/* allocate memory for spectrum */</span></div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> <span class="keywordflow">if</span> ( NULL == (retIm = cpl_image_new(1, inp,CPL_TYPE_FLOAT)) )</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> {</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" memory allocation failed!\n"</span>) ;</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> }</div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> <span class="comment">/* collapse the cube to be able to compute the weights </span></div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> <span class="comment"> for optimal extraction */</span></div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> <span class="keywordflow">if</span> ( NULL == (averagedIm = sinfo_new_average_cube_to_image(cube)) )</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> {</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" sinfo_averageCubeToImage failed!"</span>) ;</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> cpl_image_delete(retIm) ;</div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> }</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> </div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> <span class="comment">/* call the 2D-Gaussian fit routine */</span></div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> <span class="keywordflow">for</span> ( i = 0 ; i < 7 ; i++ )</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> {</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> mpar[i] = 1 ;</div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> }</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> </div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> <span class="keywordflow">if</span> ( -1 == (fitInd = sinfo_new_fit_2d_gaussian(averagedIm,</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> fit_par,</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> derv_par,</div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> mpar,</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> llx,</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> lly,</div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> halfbox_x,</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> halfbox_y,</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> check2 )) )</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> {</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"sinfo_fit2dGaussian failed!"</span>) ;</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> cpl_image_delete(retIm) ;</div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> cpl_image_delete(averagedIm) ;</div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> }</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> </div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> <span class="comment">/* determine the PSF by using the found 2D-Gaussian */</span></div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> sinfo_psf=sinfo_new_2Ddoublearray(ilx,ily) ;</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> sum = 0 ;</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> {</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> {</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> xdat[0] = (double) col ;</div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> xdat[1] = (double) row ;</div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> sinfo_psf[col][row] = sinfo_new_gaussian_ellipse(xdat,fit_par) - </div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> fit_par[3] ;</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> sum += sinfo_psf[col][row] ;</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> }</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> }</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> <span class="comment">/* Scale the PSF and determine the pixel variances and the </span></div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> <span class="comment"> normalization factor */</span></div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> norm = 0. ;</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> variance = 0. ;</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> sum_psf=0;</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> </div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> weight=sinfo_new_2Ddoublearray(ilx,ily) ;</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> </div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> padata=cpl_image_get_data_float(averagedIm);</div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> {</div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> {</div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> sinfo_psf[col][row] /= sum ;</div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> sum_psf += sinfo_psf[col][row];</div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> <span class="keywordflow">if</span> ( !isnan(padata[col+row*ilx]) )</div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> {</div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> <span class="comment"> variance = (backvariance + sky + padata[col+row*ilx] / </span></div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> <span class="comment"> exptime) / gain ;</span></div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> variance = padata[col+row*ilx] / gain ;</div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> </div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> }</div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> {</div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> weight[col][row] = 0. ;</div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> }</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> <span class="keywordflow">if</span> (variance == 0.)</div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> {</div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> weight[col][row] = 0. ;</div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> }</div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> {</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> </div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> weight[col][row] = sinfo_psf[col][row]/variance ;</div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> </div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> norm += weight[col][row] * weight[col][row] * variance ;</div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> </div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> }</div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> </div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> }</div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> }</div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> </div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> sum_wgt=0;</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> {</div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> {</div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> weight[col][row] /= norm;</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> sum_wgt += weight[col][row]*sinfo_psf[col][row];</div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> }</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> }</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"sum_psf=%f sum_wgt=%f norm=%f"</span>,sum_psf,sum_wgt,norm);</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> cpl_image_delete(averagedIm) ;</div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> <span class="keywordflow">if</span> ( norm == 0. )</div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> {</div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" normalization sum is zero\n"</span>) ;</div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> cpl_image_delete(retIm) ;</div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> }</div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> </div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> <span class="comment">/* limit the extraction region to the Gaussian, center +- fwhmx/y * </span></div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> <span class="comment"> cos(theta) */</span></div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> <span class="comment"> sinfo_msg("fit_par: %f %f %f %f %f %f %f", </span></div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> <span class="comment"> fit_par[0],fit_par[1],fit_par[2],fit_par[3],</span></div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> <span class="comment"> fit_par[4],fit_par[5],fit_par[6]);</span></div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> <span class="comment"> sinfo_msg("fwhm_factor=%f",fwhm_factor);</span></div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> </div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> <span class="keywordflow">if</span>(fabs(fit_par[6]) > PI_NUMB/4) {</div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> fit_par[6]=0;</div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> }</div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> first_col = (int) (fit_par[0] - </div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> fwhm_factor*fit_par[4]*cos((<span class="keywordtype">double</span>)fit_par[6])) ;</div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> first_col = (first_col > 2 ) ? first_col : 2;</div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> </div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> last_col = (int) (fit_par[0] + </div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> fwhm_factor*fit_par[4]*cos((<span class="keywordtype">double</span>)fit_par[6])) ;</div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> last_col = (last_col < 63 ) ? last_col : 63;</div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> </div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> first_row = (int) (fit_par[1] - </div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> fwhm_factor*fit_par[5]*cos((<span class="keywordtype">double</span>)fit_par[6])) ;</div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> first_row = (first_row > 2 ) ? first_row : 2;</div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> last_row = (int) (fit_par[1] + </div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> fwhm_factor*fit_par[5]*cos((<span class="keywordtype">double</span>)fit_par[6])) ;</div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> last_row = (last_row < 63 ) ? last_row : 63;</div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> </div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> </div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> <span class="keywordflow">if</span>(first_col > last_col) {</div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> tmp_val=last_col;</div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> last_col=first_col;</div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> first_col=tmp_val;</div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> }</div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> </div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> <span class="keywordflow">if</span>(first_row > last_row) {</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> tmp_val=last_row;</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> last_col=first_row;</div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> first_col=tmp_val;</div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> }</div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> <span class="keywordflow">if</span>(abs(first_col- last_col) < 1) {</div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> first_col -=1;</div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> last_col +=1;</div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> }</div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> <span class="keywordflow">if</span>(abs(first_row- last_row) < 1) {</div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> first_row -=1;</div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> last_row +=1;</div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> }</div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> </div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> <span class="keywordflow">if</span> ( first_col < 0 || first_row < 0 || last_col >= ilx || last_row >= ily )</div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> {</div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" star badly centered in FOV!"</span>) ;</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> cpl_image_delete(retIm) ;</div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> }</div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> </div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> </div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> cpl_table_new_column(*spectrum,<span class="stringliteral">"wavelength"</span>, CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> <span class="comment">/* cpl_table_new_column(*spectrum,"intensity" , CPL_TYPE_FLOAT); */</span></div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> cpl_table_new_column(*spectrum,<span class="stringliteral">"counts_tot"</span> , CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> cpl_table_new_column(*spectrum,<span class="stringliteral">"counts_bkg"</span> , CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> cpl_table_new_column(*spectrum,<span class="stringliteral">"bkg_tot"</span> , CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> </div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> <span class="keywordflow">if</span>(qc_info==1) {</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> cpl_table_new_column(*spectrum,<span class="stringliteral">"AMP"</span> , CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> cpl_table_new_column(*spectrum,<span class="stringliteral">"XC"</span> , CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> cpl_table_new_column(*spectrum,<span class="stringliteral">"YC"</span> , CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> cpl_table_new_column(*spectrum,<span class="stringliteral">"BKG"</span> , CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> cpl_table_new_column(*spectrum,<span class="stringliteral">"FWHMX"</span> , CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> cpl_table_new_column(*spectrum,<span class="stringliteral">"FWHMY"</span> , CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> cpl_table_new_column(*spectrum,<span class="stringliteral">"ANGLE"</span> , CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> }</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> plist=cpl_propertylist_load(name,0);</div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> cenpix = sinfo_pfits_get_crpix3(plist);</div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> cenLambda = sinfo_pfits_get_crval3(plist);</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> dispersion = sinfo_pfits_get_cdelt3(plist);</div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> cpl_propertylist_delete(plist);</div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> lambda_start=cenLambda-cenpix*dispersion;</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> </div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"frow %d lrow %d fcol %d lcol %d"</span>,</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> first_row, last_row, first_col, last_col);</div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> <span class="comment">/* go through the planes */</span></div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> podata=cpl_image_get_data_float(retIm);</div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> <span class="keywordflow">for</span> ( z = 0 ; z < inp ; z++ )</div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> {</div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> i_img=cpl_imagelist_get(cube,z);</div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> weighted_sum = 0. ;</div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> counts_tot=0.;</div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> counts_bkg=0.;</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> </div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> bkg_tot=0.;</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> </div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> <span class="keywordflow">if</span>(qc_info==1) {</div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> sinfo_new_fit_2d_gaussian(i_img,gfit_par,</div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> gderv_par,gmpar,llx,lly,</div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> halfbox_x,halfbox_y,check2);</div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> }</div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> </div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> <span class="keywordflow">for</span> ( row = first_row ; row <= last_row ; row++ )</div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> {</div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> <span class="keywordflow">for</span> ( col = first_col ; col < last_col ; col++ )</div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> {</div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> <span class="keywordflow">if</span> ( !isnan(pidata[col+row*ilx]) )</div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> {</div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> </div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> weighted_sum += weight[col][row] * (pidata[col+row*ilx] - </div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> fit_par[3]);</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> </div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> counts_bkg += (pidata[col+row*ilx] - fit_par[3]);</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> counts_tot += (pidata[col+row*ilx]);</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> bkg_tot += fit_par[3];</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> </div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> } </div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> }</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> } </div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> </div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> <span class="keywordflow">if</span> (weighted_sum == 0.)</div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> {</div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> weighted_sum = ZERO ;</div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> counts_tot = ZERO;</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> counts_bkg = ZERO;</div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> bkg_tot = ZERO;</div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> </div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> }</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> {</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> <span class="comment"> weighted_sum /= norm ;</span></div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> </div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> </div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> }</div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> </div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> podata[z] = weighted_sum ;</div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> lambda=lambda_start+z*dispersion;</div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> cpl_table_set_float(*spectrum,<span class="stringliteral">"wavelength"</span> ,z,lambda);</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> <span class="comment">/* cpl_table_set_float(*spectrum,"intensity" ,z,weighted_sum); */</span></div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> cpl_table_set_float(*spectrum,<span class="stringliteral">"counts_tot"</span> ,z,counts_tot);</div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> cpl_table_set_float(*spectrum,<span class="stringliteral">"counts_bkg"</span> ,z,counts_bkg);</div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> cpl_table_set_float(*spectrum,<span class="stringliteral">"bkg_tot"</span> ,z,bkg_tot);</div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"w=%f I=%f b=%f a=%f"</span>,</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> lambda,counts_tot,counts_bkg,bkg_tot);</div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> <span class="keywordflow">if</span>(qc_info==1) {</div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> cpl_table_set_float(*spectrum,<span class="stringliteral">"AMP"</span> ,z,gfit_par[0]);</div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> cpl_table_set_float(*spectrum,<span class="stringliteral">"XC"</span> ,z,gfit_par[1]);</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> cpl_table_set_float(*spectrum,<span class="stringliteral">"YC"</span> ,z,gfit_par[2]);</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> cpl_table_set_float(*spectrum,<span class="stringliteral">"BKG"</span> ,z,gfit_par[3]);</div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> cpl_table_set_float(*spectrum,<span class="stringliteral">"FWHMX"</span> ,z,gfit_par[4]);</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> cpl_table_set_float(*spectrum,<span class="stringliteral">"FWHMY"</span> ,z,gfit_par[5]);</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> cpl_table_set_float(*spectrum,<span class="stringliteral">"ANGLE"</span> ,z,gfit_par[6]);</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> }</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> </div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> }</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> </div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> sinfo_new_destroy_2Ddoublearray(&sinfo_psf,ilx) ;</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> sinfo_new_destroy_2Ddoublearray(&weight,ilx) ;</div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> </div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> <span class="keywordflow">return</span> retIm ;</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> }</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> </div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> Vector * sinfo_new_extract_sky_from_cube( cpl_imagelist * cube,</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> <span class="keywordtype">float</span> loReject,</div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> <span class="keywordtype">float</span> hiReject,</div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> <span class="keywordtype">int</span> * position,</div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> <span class="keywordtype">int</span> tolerance,</div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> <span class="keywordtype">int</span> posindicator )</div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> {</div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> Vector * spectrum ;</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> <span class="keywordtype">int</span> x, y, z ;</div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> <span class="keywordtype">int</span> n ;</div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> <span class="keywordtype">int</span> n_sky ;</div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> <span class="keywordtype">int</span> x_low , x_high ;</div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> <span class="keywordtype">int</span> y_low , y_high ;</div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> <span class="keywordtype">int</span> hi_x, lo_x ;</div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> <span class="keywordtype">float</span> * to_average ;</div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> <span class="keywordtype">float</span> cleanMean ;</div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> </div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> </div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> </div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> ilx=cpl_image_get_size_x(cpl_imagelist_get(cube,0));</div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> ily=cpl_image_get_size_y(cpl_imagelist_get(cube,0));</div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> inp=cpl_imagelist_get_size(cube);</div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> </div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> <span class="keywordflow">if</span> ( NULL == cube )</div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> {</div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no cube given!\n"</span>) ;</div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> }</div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> <span class="keywordflow">if</span> ( loReject < 0. || hiReject < 0. || loReject + hiReject >= 90. )</div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> {</div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong or unrealistic loReject and hiReject values!"</span>) ;</div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> }</div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> <span class="keywordflow">if</span> ( position == NULL)</div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> {</div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no position array given!"</span>) ;</div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> }</div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> <span class="keywordflow">if</span> ( position[0] < 0 || position[1] < 0 || </div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> position[0] > ilx || position[1] > ily )</div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> {</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong position of sky spider!"</span>) ;</div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> }</div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> <span class="keywordflow">if</span> ( tolerance < 0 || tolerance >= ilx )</div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> {</div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong tolerance given!"</span>) ;</div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> }</div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> <span class="keywordflow">if</span> ( posindicator == 0 )</div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> {</div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no sinfo_edge indicator given!"</span>) ;</div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> }</div>
-<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span> </div>
-<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> <span class="comment">/* determine the edge of the image where the sky spectra are placed */</span></div>
-<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> <span class="keywordflow">switch</span>(posindicator)</div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> {</div>
-<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> <span class="comment">/* lower right sinfo_edge */</span></div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> <span class="keywordflow">case</span> 1:</div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> x_low = position[0] + tolerance ;</div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> x_high = ilx ;</div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> y_low = 0 ;</div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> y_high = position[1] - tolerance ;</div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> break ;</div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> <span class="comment">/* upper right sinfo_edge */</span></div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> <span class="keywordflow">case</span> 2:</div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> x_low = position[0] + tolerance ;</div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> x_high = ilx ;</div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> y_low = position[1] + tolerance ;</div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> y_high = ily ;</div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> break ;</div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> <span class="comment">/* upper left sinfo_edge */</span></div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> <span class="keywordflow">case</span> 3:</div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> x_low = 0 ;</div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> x_high = position[0] - tolerance ;</div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> y_low = position [1] + tolerance ;</div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> y_high = ily ;</div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> break ;</div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong position indicator index!"</span>) ;</div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> break ;</div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> }</div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> <span class="keywordflow">if</span> ( x_low >= ilx || x_high < 1 || y_low >= ily || y_high < 1 )</div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> {</div>
-<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" tolerance too high!"</span>) ;</div>
-<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> }</div>
-<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> <span class="keywordflow">if</span> ( x_high - x_low != y_high - y_low )</div>
-<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> {</div>
-<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" sky sinfo_edge is not a diagonal line!\n"</span>) ;</div>
-<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> }</div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> </div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> <span class="comment">/* determine the number of sky pixels in one image plane, take only </span></div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> <span class="comment"> the full sky pixels which are not cut by the diagonal line */</span></div>
-<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> n_sky = (x_high - x_low) * (x_high - x_low - 1) / 2 ;</div>
-<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> <span class="keywordflow">if</span> ( n_sky <= 0 )</div>
-<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> {</div>
-<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no sky spectrum in found in cube!"</span>) ;</div>
-<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span> }</div>
-<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span> <span class="keywordflow">if</span> ( n_sky == 1 )</div>
-<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> {</div>
-<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">" only one sky spectrum is taken, no averaging!"</span>) ;</div>
-<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> }</div>
-<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> </div>
-<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> <span class="comment">/* allocate memory for the output spectrum */</span></div>
-<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span> <span class="keywordflow">if</span> ( NullVector == (spectrum = sinfo_new_vector(inp)) )</div>
-<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> {</div>
-<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" could not allocate memory!"</span>) ;</div>
-<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> }</div>
-<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> </div>
-<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> <span class="comment">/* go through the image planes */</span></div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> <span class="keywordflow">for</span> ( z = 0 ; z < inp ; z++ )</div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> {</div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> i_img=cpl_imagelist_get(cube,z);</div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> <span class="comment">/* allocate memory for the sky pixels in one image plane */</span></div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> <span class="keywordflow">if</span> (NULL == (to_average = (<span class="keywordtype">float</span>*) cpl_calloc(n_sky, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>))))</div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> {</div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" could not allocate memory!"</span>) ;</div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> sinfo_new_destroy_vector(spectrum) ;</div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> }</div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> n = 0 ;</div>
-<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> <span class="keywordflow">switch</span>(posindicator)</div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> {</div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> <span class="comment">/* lower right sinfo_edge */</span></div>
-<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> <span class="keywordflow">case</span> 1:</div>
-<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> lo_x = x_low ;</div>
-<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> <span class="keywordflow">for</span> ( y = y_low ; y < y_high - 1 ; y++ )</div>
-<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> {</div>
-<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span> lo_x++ ;</div>
-<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> <span class="keywordflow">for</span> ( x = lo_x ; x < x_high ; x++ )</div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> {</div>
-<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> to_average[n] = pidata[x+y*ilx] ;</div>
-<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> n++ ;</div>
-<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> }</div>
-<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> }</div>
-<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> break ;</div>
-<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> <span class="comment">/* lower left sinfo_edge */</span></div>
-<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> <span class="keywordflow">case</span> 2:</div>
-<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span> hi_x = x_high ;</div>
-<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> <span class="keywordflow">for</span> ( y = y_low ; y < y_high - 1 ; y++ )</div>
-<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span> {</div>
-<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> hi_x-- ;</div>
-<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span> <span class="keywordflow">for</span> ( x = x_low ; x < hi_x ; x++ )</div>
-<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span> {</div>
-<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> to_average[n] = pidata[x+y*ilx] ;</div>
-<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span> n++ ;</div>
-<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span> }</div>
-<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span> }</div>
-<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> break ;</div>
-<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span> <span class="comment">/* upper right sinfo_edge */</span></div>
-<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span> <span class="keywordflow">case</span> 3:</div>
-<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> lo_x = x_high ;</div>
-<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span> <span class="keywordflow">for</span> ( y = y_low+1 ; y < y_high ; y++ )</div>
-<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span> {</div>
-<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span> lo_x-- ;</div>
-<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span> <span class="keywordflow">for</span> ( x = lo_x ; x < x_high ; x++ )</div>
-<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span> {</div>
-<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span> to_average[n] = pidata[x+y*ilx] ;</div>
-<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span> n++ ;</div>
-<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span> }</div>
-<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> }</div>
-<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span> break ;</div>
-<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span> <span class="comment">/* upper left sinfo_edge */</span></div>
-<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span> <span class="keywordflow">case</span> 4:</div>
-<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span> hi_x = x_low ;</div>
-<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span> <span class="keywordflow">for</span> ( y = y_low+1 ; y < y_high ; y++ )</div>
-<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span> {</div>
-<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span> hi_x++ ;</div>
-<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span> <span class="keywordflow">for</span> ( x = x_low ; x < hi_x ; x++ )</div>
-<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span> {</div>
-<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span> to_average[n] = pidata[x+y*ilx] ;</div>
-<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span> n++ ;</div>
-<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span> }</div>
-<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span> }</div>
-<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span> break ;</div>
-<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span> <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong position indicator index!\n"</span>) ;</div>
-<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> break ;</div>
-<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> }</div>
-<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> <span class="keywordflow">if</span> ( n != n_sky )</div>
-<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> {</div>
-<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"number of stored sky image pixels does "</span></div>
-<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> <span class="stringliteral">"not equal number of computed sky pixels!"</span>) ;</div>
-<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> }</div>
-<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> </div>
-<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> <span class="comment">/* now take a clean mean of the sky "image" */</span></div>
-<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> cleanMean = sinfo_new_clean_mean (to_average, n, loReject, hiReject) ;</div>
-<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> <span class="keywordflow">if</span> (cleanMean == FLT_MAX)</div>
-<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> {</div>
-<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" could not take a clean mean!\n"</span>) ;</div>
-<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> sinfo_new_destroy_vector(spectrum) ;</div>
-<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> cpl_free(to_average) ;</div>
-<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> }</div>
-<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> spectrum->data[z] = cleanMean ;</div>
-<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> cpl_free (to_average) ;</div>
-<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> }</div>
-<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> </div>
-<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span> <span class="keywordflow">return</span> spectrum ;</div>
-<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> }</div>
-<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> </div>
-<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span> Vector * sinfo_new_sum_rectangle_of_cube_spectra( cpl_imagelist * cube,</div>
-<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> <span class="keywordtype">int</span> llx,</div>
-<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span> <span class="keywordtype">int</span> lly,</div>
-<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span> <span class="keywordtype">int</span> urx,</div>
-<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span> <span class="keywordtype">int</span> ury )</div>
-<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span> {</div>
-<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> Vector * sum ;</div>
-<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> pixelvalue *local_rectangle ;</div>
-<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span> <span class="keywordtype">int</span> i, j, k, l, m ;</div>
-<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> <span class="keywordtype">int</span> recsize ;</div>
-<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span> </div>
-<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> </div>
-<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span> ilx=cpl_image_get_size_x(cpl_imagelist_get(cube,0));</div>
-<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span> ily=cpl_image_get_size_y(cpl_imagelist_get(cube,0));</div>
-<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> inp=cpl_imagelist_get_size(cube);</div>
-<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> </div>
-<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span> <span class="keywordflow">if</span> ( cube == NULL || inp < 1 )</div>
-<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span> {</div>
-<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no cube to take the mean of his spectra\n"</span>) ;</div>
-<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span> }</div>
-<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span> </div>
-<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span> <span class="keywordflow">if</span> ((llx<0) || (llx>=ilx) ||</div>
-<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span> (urx<0) || (urx>=ilx) ||</div>
-<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span> (lly<0) || (lly>=ily) ||</div>
-<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span> (ury<0) || (ury>=ily) ||</div>
-<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span> (llx>=urx) || (lly>=ury))</div>
-<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span> {</div>
-<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" invalid rectangle coordinates:"</span>) ;</div>
-<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"lower left is [%d %d] upper right is [%d %d]"</span>, </div>
-<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span> llx, lly, urx, ury) ;</div>
-<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> }</div>
-<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> </div>
-<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span> recsize = (urx - llx + 1) * (ury - lly + 1) ;</div>
-<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span> </div>
-<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span> <span class="comment">/* allocate a new sinfo_vector to store the average spectral values */</span></div>
-<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span> <span class="keywordflow">if</span> (NULL == (sum = sinfo_new_vector (inp)) )</div>
-<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span> {</div>
-<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" cannot allocate a new sinfo_vector"</span>) ;</div>
-<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span> }</div>
-<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span> </div>
-<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span> <span class="comment">/*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span> <span class="comment"> * loop through the cube planes, through the x axis and the y-axis of the</span></div>
-<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span> <span class="comment"> * plane rectangle and store pixel values in a buffer.</span></div>
-<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span> <span class="keywordflow">for</span> ( i = 0 ; i < inp ; i++ )</div>
-<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span> {</div>
-<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span> i_img=cpl_imagelist_get(cube,i);</div>
-<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span> m = 0 ;</div>
-<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> local_rectangle = (pixelvalue *) cpl_calloc (recsize, </div>
-<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span> <span class="keyword">sizeof</span> (pixelvalue*));</div>
-<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span> </div>
-<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> <span class="keywordflow">for</span> ( j = lly ; j <= ury ; j++ )</div>
-<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span> {</div>
-<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> <span class="keywordflow">for</span> ( k = llx ; k <= urx ; k++ )</div>
-<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span> {</div>
-<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span> local_rectangle[m] = pidata[k + j * ilx] ;</div>
-<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span> m ++ ;</div>
-<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span> }</div>
-<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span> }</div>
-<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span> <span class="keywordflow">for</span> ( l = 0 ; l < recsize ; l++ )</div>
-<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span> {</div>
-<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span> <span class="keywordflow">if</span> ( isnan(local_rectangle[l]) )</div>
-<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span> {</div>
-<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span> continue ;</div>
-<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span> }</div>
-<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span> sum -> data[i] += local_rectangle[l] ;</div>
-<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span> }</div>
-<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span> cpl_free ( local_rectangle ) ;</div>
-<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span> }</div>
-<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span> <span class="keywordflow">return</span> sum ;</div>
-<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span> }</div>
-<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span> </div>
-<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span> Vector * sinfo_new_sum_circle_of_cube_spectra( cpl_imagelist * cube,</div>
-<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span> <span class="keywordtype">int</span> centerx,</div>
-<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span> <span class="keywordtype">int</span> centery,</div>
-<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span> <span class="keywordtype">int</span> radius )</div>
-<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span> {</div>
-<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span> Vector * sum ;</div>
-<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span> pixelvalue * circle ;</div>
-<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span> <span class="keywordtype">int</span> i, j, k, l, m, n ;</div>
-<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span> <span class="keywordtype">int</span> circsize ;</div>
-<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span> </div>
-<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span> </div>
-<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span> ilx=cpl_image_get_size_x(cpl_imagelist_get(cube,0));</div>
-<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span> ily=cpl_image_get_size_y(cpl_imagelist_get(cube,0));</div>
-<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span> inp=cpl_imagelist_get_size(cube);</div>
-<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span> </div>
-<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span> <span class="keywordflow">if</span> ( cube == NULL || inp < 1 )</div>
-<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span> {</div>
-<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no cube to take the mean of his spectra\n"</span>) ;</div>
-<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span> }</div>
-<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span> </div>
-<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span> <span class="keywordflow">if</span> ((centerx+radius>=ilx) ||</div>
-<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span> (centery+radius>=ily) ||</div>
-<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span> (centerx-radius<0) ||</div>
-<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span> (centery-radius<0))</div>
-<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span> {</div>
-<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" invalid circular coordinates"</span>) ;</div>
-<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span> }</div>
-<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span> </div>
-<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span> n = 0 ;</div>
-<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span> <span class="keywordflow">for</span> ( j = centery - radius ; j <= centery + radius ; j++ )</div>
-<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span> {</div>
-<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span> <span class="keywordflow">for</span> ( k = centerx - radius ; k <= centerx + radius ; k++ )</div>
-<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span> {</div>
-<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span> <span class="keywordflow">if</span> ( (k-centerx)*(k-centerx)+(j-centery)*(j-centery) <= </div>
-<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span> radius*radius )</div>
-<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span> {</div>
-<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span> n ++ ;</div>
-<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span> }</div>
-<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span> }</div>
-<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span> }</div>
-<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span> <span class="keywordflow">if</span> (n == 0)</div>
-<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span> {</div>
-<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no data points found!"</span>) ;</div>
-<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span> }</div>
-<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span> circsize = n ;</div>
-<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span> </div>
-<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span> <span class="comment">/* allocate a new sinfo_vector to store the average spectral values */</span></div>
-<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span> <span class="keywordflow">if</span> (NULL == (sum = sinfo_new_vector (inp)) )</div>
-<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span> {</div>
-<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" cannot allocate a new sinfo_vector"</span>) ;</div>
-<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span> }</div>
-<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span> </div>
-<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span> <span class="comment">/*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span> <span class="comment"> * loop through the cube planes, through the x axis and the y-axis of the</span></div>
-<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span> <span class="comment"> * plane circle and store pixel values in a buffer.</span></div>
-<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span> <span class="keywordflow">for</span> ( i = 0 ; i < inp ; i++ )</div>
-<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span> {</div>
-<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span> i_img=cpl_imagelist_get(cube,i);</div>
-<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span> m = 0 ;</div>
-<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span> circle = (pixelvalue *) cpl_calloc (circsize, <span class="keyword">sizeof</span> (pixelvalue*));</div>
-<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span> </div>
-<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span> <span class="keywordflow">for</span> ( j = centery - radius ; j <= centery + radius ; j++ )</div>
-<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span> {</div>
-<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span> <span class="keywordflow">for</span> ( k = centerx - radius ; k <= centerx + radius ; k++ )</div>
-<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span> {</div>
-<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span> <span class="keywordflow">if</span> ( (k-centerx)*(k-centerx)+(j-centery)*(j-centery) <= </div>
-<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span> radius*radius )</div>
-<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span> {</div>
-<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span> circle[m] = pidata[k + j * ilx] ;</div>
-<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span> m ++ ;</div>
-<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span> }</div>
-<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span> }</div>
-<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span> }</div>
-<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span> </div>
-<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span> <span class="keywordflow">for</span> ( l = 0 ; l < circsize ; l++ )</div>
-<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span> {</div>
-<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span> <span class="keywordflow">if</span> ( isnan(circle[l]) )</div>
-<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span> {</div>
-<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span> continue ;</div>
-<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span> }</div>
-<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span> sum -> data[i] += circle[l] ;</div>
-<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span> }</div>
-<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span> cpl_free (circle) ;</div>
-<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span> }</div>
-<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span> <span class="keywordflow">return</span> sum ;</div>
-<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span> }</div>
-<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span> </div>
-<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span> Vector * sinfo_new_mean_rectangle_of_cube_spectra( cpl_imagelist * cube,</div>
-<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span> <span class="keywordtype">int</span> llx,</div>
-<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span> <span class="keywordtype">int</span> lly,</div>
-<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span> <span class="keywordtype">int</span> urx,</div>
-<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span> <span class="keywordtype">int</span> ury )</div>
-<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span> {</div>
-<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span> Vector * mean ;</div>
-<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span> pixelvalue *local_rectangle ;</div>
-<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span> <span class="keywordtype">int</span> i, j, k, l, m ;</div>
-<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span> <span class="keywordtype">int</span> recsize, nv ;</div>
-<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span> </div>
-<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span> </div>
-<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span> ilx=cpl_image_get_size_x(cpl_imagelist_get(cube,0));</div>
-<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span> ily=cpl_image_get_size_y(cpl_imagelist_get(cube,0));</div>
-<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span> inp=cpl_imagelist_get_size(cube);</div>
-<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span> </div>
-<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span> <span class="keywordflow">if</span> ( cube == NULL || inp < 1 )</div>
-<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span> {</div>
-<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no cube to take the mean of his spectra\n"</span>) ;</div>
-<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span> }</div>
-<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span> </div>
-<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span> <span class="keywordflow">if</span> ((llx<0) || (llx>=ilx) ||</div>
-<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span> (urx<0) || (urx>=ilx) ||</div>
-<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span> (lly<0) || (lly>=ily) ||</div>
-<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span> (ury<0) || (ury>=ily) ||</div>
-<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span> (llx>=urx) || (lly>=ury))</div>
-<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span> {</div>
-<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" invalid rectangle coordinates:"</span>) ;</div>
-<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"lower left is [%d %d] upper right is [%d %d]"</span>,</div>
-<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span> llx, lly, urx, ury) ;</div>
-<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span> }</div>
-<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span> </div>
-<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span> recsize = (urx - llx + 1) * (ury - lly + 1) ;</div>
-<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span> </div>
-<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span> <span class="comment">/* allocate a new sinfo_vector to store the average spectral values */</span></div>
-<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span> <span class="keywordflow">if</span> (NULL == (mean = sinfo_new_vector (inp)) )</div>
-<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span> {</div>
-<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" cannot allocate a new sinfo_vector"</span>) ;</div>
-<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span> }</div>
-<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span> </div>
-<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span> <span class="comment">/*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span> <span class="comment"> * loop through the cube planes, through the x axis and the y-axis of the</span></div>
-<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span> <span class="comment"> * plane rectangle and store pixel values in a buffer.</span></div>
-<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span> <span class="keywordflow">for</span> ( i = 0 ; i < inp ; i++ )</div>
-<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span> {</div>
-<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span> i_img=cpl_imagelist_get(cube,i);</div>
-<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span> m = 0 ;</div>
-<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span> local_rectangle = (pixelvalue *) cpl_calloc (recsize, </div>
-<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span> <span class="keyword">sizeof</span> (pixelvalue*));</div>
-<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span> </div>
-<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span> <span class="keywordflow">for</span> ( j = lly ; j <= ury ; j++ )</div>
-<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span> {</div>
-<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span> <span class="keywordflow">for</span> ( k = llx ; k <= urx ; k++ )</div>
-<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span> {</div>
-<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span> local_rectangle[m] = pidata[k + j * ilx] ;</div>
-<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span> m ++ ;</div>
-<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span> }</div>
-<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span> }</div>
-<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span> nv = 0 ;</div>
-<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span> <span class="keywordflow">for</span> ( l = 0 ; l < recsize ; l++ )</div>
-<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span> {</div>
-<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span> <span class="keywordflow">if</span> ( isnan(local_rectangle[l]) )</div>
-<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span> {</div>
-<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span> continue ;</div>
-<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span> }</div>
-<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span> mean -> data[i] += local_rectangle[l] ;</div>
-<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span> nv ++;</div>
-<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span> }</div>
-<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span> <span class="keywordflow">if</span> ( nv == 0 )</div>
-<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span> {</div>
-<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span> mean -> data[i] = ZERO ;</div>
-<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span> }</div>
-<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span> {</div>
-<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span> mean -> data[i] /= nv ;</div>
-<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span> }</div>
-<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span> cpl_free ( local_rectangle ) ;</div>
-<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span> }</div>
-<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span> <span class="keywordflow">return</span> mean ;</div>
-<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span> }</div>
-<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span> </div>
-<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span> Vector * </div>
-<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span> sinfo_new_mean_circle_of_cube_spectra( cpl_imagelist * cube,</div>
-<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span> <span class="keywordtype">int</span> centerx,</div>
-<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span> <span class="keywordtype">int</span> centery,</div>
-<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span> <span class="keywordtype">int</span> radius )</div>
-<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span> {</div>
-<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span> Vector * mean ;</div>
-<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span> pixelvalue * circle ;</div>
-<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span> <span class="keywordtype">int</span> i, j, k, l, m, n ;</div>
-<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span> <span class="keywordtype">int</span> circsize, nv ;</div>
-<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span> </div>
-<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span> </div>
-<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span> ilx=cpl_image_get_size_x(cpl_imagelist_get(cube,0));</div>
-<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span> ily=cpl_image_get_size_y(cpl_imagelist_get(cube,0));</div>
-<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span> inp=cpl_imagelist_get_size(cube);</div>
-<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span> </div>
-<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span> <span class="keywordflow">if</span> ( cube == NULL || inp < 1 )</div>
-<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span> {</div>
-<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no cube to take the mean of his spectra"</span>) ;</div>
-<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span> }</div>
-<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span> </div>
-<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span> <span class="keywordflow">if</span> ((centerx+radius>=ilx) ||</div>
-<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span> (centery+radius>=ily) ||</div>
-<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span> (centerx-radius<0) ||</div>
-<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span> (centery-radius<0))</div>
-<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span> {</div>
-<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" invalid circular coordinates"</span>) ;</div>
-<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span> }</div>
-<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span> </div>
-<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span> n = 0 ;</div>
-<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span> <span class="keywordflow">for</span> ( j = centery - radius ; j <= centery + radius ; j++ )</div>
-<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span> {</div>
-<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span> <span class="keywordflow">for</span> ( k = centerx - radius ; k <= centerx + radius ; k++ )</div>
-<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span> {</div>
-<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span> <span class="keywordflow">if</span> ( (k-centerx)*(k-centerx)+(j-centery)*(j-centery) <= </div>
-<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span> radius*radius )</div>
-<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span> {</div>
-<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span> n ++ ;</div>
-<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span> }</div>
-<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span> }</div>
-<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span> }</div>
-<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span> <span class="keywordflow">if</span> (n == 0)</div>
-<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span> {</div>
-<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no data points found!\n"</span>) ;</div>
-<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span> }</div>
-<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span> circsize = n ;</div>
-<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span> </div>
-<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span> <span class="comment">/* allocate a new sinfo_vector to store the average spectral values */</span></div>
-<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span> <span class="keywordflow">if</span> (NULL == (mean = sinfo_new_vector (inp)) )</div>
-<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span> {</div>
-<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" cannot allocate a new sinfo_vector \n"</span>) ;</div>
-<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01656"></a><span class="lineno"> 1656</span> }</div>
-<div class="line"><a name="l01657"></a><span class="lineno"> 1657</span> </div>
-<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span> <span class="comment">/*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span> <span class="comment"> * loop through the cube planes, through the x axis and the y-axis of the</span></div>
-<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span> <span class="comment"> * plane circle and store pixel values in a buffer.</span></div>
-<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01662"></a><span class="lineno"> 1662</span> <span class="keywordflow">for</span> ( i = 0 ; i < inp ; i++ )</div>
-<div class="line"><a name="l01663"></a><span class="lineno"> 1663</span> {</div>
-<div class="line"><a name="l01664"></a><span class="lineno"> 1664</span> i_img=cpl_imagelist_get(cube,i);</div>
-<div class="line"><a name="l01665"></a><span class="lineno"> 1665</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l01666"></a><span class="lineno"> 1666</span> m = 0 ;</div>
-<div class="line"><a name="l01667"></a><span class="lineno"> 1667</span> circle = (pixelvalue *) cpl_calloc (circsize, <span class="keyword">sizeof</span> (pixelvalue*));</div>
-<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span> </div>
-<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span> <span class="keywordflow">for</span> ( j = centery - radius ; j <= centery + radius ; j++ )</div>
-<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span> {</div>
-<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span> <span class="keywordflow">for</span> ( k = centerx - radius ; k <= centerx + radius ; k++ )</div>
-<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span> {</div>
-<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span> <span class="keywordflow">if</span> ( (k-centerx)*(k-centerx)+(j-centery)*(j-centery) <= </div>
-<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span> radius*radius )</div>
-<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span> {</div>
-<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span> circle[m] = pidata[k + j * ilx] ;</div>
-<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span> m ++ ;</div>
-<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span> }</div>
-<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span> }</div>
-<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span> }</div>
-<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span> </div>
-<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span> nv = 0 ;</div>
-<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span> <span class="keywordflow">for</span> ( l = 0 ; l < circsize ; l++ )</div>
-<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span> {</div>
-<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span> <span class="keywordflow">if</span> ( isnan(circle[l]) )</div>
-<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span> {</div>
-<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span> continue ;</div>
-<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span> }</div>
-<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span> mean -> data[i] += circle[l] ;</div>
-<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span> nv ++;</div>
-<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span> }</div>
-<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span> <span class="keywordflow">if</span> ( nv == 0 )</div>
-<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span> {</div>
-<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span> mean -> data[i] = ZERO ;</div>
-<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span> }</div>
-<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span> {</div>
-<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span> mean -> data[i] /= nv ;</div>
-<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span> }</div>
-<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span> </div>
-<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span> cpl_free (circle) ;</div>
-<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span> }</div>
-<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span> <span class="keywordflow">return</span> mean ;</div>
-<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span> }</div>
-<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span> </div>
-<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span> Vector * sinfo_new_blackbody_spectrum( <span class="keywordtype">char</span> * templateSpec, <span class="keywordtype">double</span> temp )</div>
-<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span> {</div>
-<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span> Vector * retSpec ;</div>
-<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span> <span class="keywordtype">int</span> n ;</div>
-<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span> <span class="keywordtype">double</span> cenpix ;</div>
-<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span> <span class="keywordtype">int</span> npix ;</div>
-<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span> <span class="keywordtype">double</span> cenLambda ;</div>
-<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span> <span class="keywordtype">double</span> firstLambda ;</div>
-<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span> <span class="keywordtype">double</span> disp ;</div>
-<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span> <span class="keywordtype">double</span> lambda ;</div>
-<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span> <span class="keywordtype">double</span> intens ;</div>
-<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span> <span class="keywordtype">double</span> denom ;</div>
-<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span> <span class="keywordtype">double</span> norm ;</div>
-<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span> </div>
-<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span> <span class="keywordflow">if</span> ( NULL == templateSpec )</div>
-<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span> {</div>
-<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" now input image given!\n"</span>) ;</div>
-<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span> }</div>
-<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span> <span class="keywordflow">if</span> ( temp < 0. )</div>
-<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span> {</div>
-<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" wrong temperature given!\n"</span>) ;</div>
-<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span> }</div>
-<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span> <span class="comment">/* get the fits header information needed */</span></div>
-<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span> <span class="keywordflow">if</span> ((cpl_error_code)((plist=cpl_propertylist_load(templateSpec,0))==NULL)){</div>
-<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from frame %s"</span>,templateSpec);</div>
-<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span> }</div>
-<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span> </div>
-<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span> </div>
-<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span> cenpix = sinfo_pfits_get_crpix2(plist);</div>
-<div class="line"><a name="l01749"></a><span class="lineno"> 1749</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l01750"></a><span class="lineno"> 1750</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" cannot get CRPIX2\n"</span>) ;</div>
-<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span> }</div>
-<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span> </div>
-<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span> cenLambda = sinfo_pfits_get_crval2(plist);</div>
-<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" cannot get CRVAL2\n"</span>) ;</div>
-<div class="line"><a name="l01758"></a><span class="lineno"> 1758</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span> }</div>
-<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span> disp = sinfo_pfits_get_cdelt2(plist);</div>
-<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" cannot get CDELT2\n"</span>) ;</div>
-<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span> }</div>
-<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span> npix = sinfo_pfits_get_naxis2(plist);</div>
-<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" cannot get NAXIS2\n"</span>) ;</div>
-<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span> }</div>
-<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l01774"></a><span class="lineno"> 1774</span> </div>
-<div class="line"><a name="l01775"></a><span class="lineno"> 1775</span> </div>
-<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span> <span class="keywordflow">if</span> (NULL == (retSpec = sinfo_new_vector (npix)))</div>
-<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span> {</div>
-<div class="line"><a name="l01778"></a><span class="lineno"> 1778</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" could not allocate memory!\n"</span>) ;</div>
-<div class="line"><a name="l01779"></a><span class="lineno"> 1779</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span> }</div>
-<div class="line"><a name="l01781"></a><span class="lineno"> 1781</span> </div>
-<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span> <span class="comment">/* shift from fits to image coordinates */</span></div>
-<div class="line"><a name="l01783"></a><span class="lineno"> 1783</span> cenpix-- ;</div>
-<div class="line"><a name="l01784"></a><span class="lineno"> 1784</span> </div>
-<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span> firstLambda = cenLambda - cenpix * disp ;</div>
-<div class="line"><a name="l01786"></a><span class="lineno"> 1786</span> <span class="keywordflow">for</span> ( n = 0 ; n < npix ; n++ )</div>
-<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span> {</div>
-<div class="line"><a name="l01788"></a><span class="lineno"> 1788</span> lambda = firstLambda + disp * (double)n ;</div>
-<div class="line"><a name="l01789"></a><span class="lineno"> 1789</span> <span class="comment">/* convert from microns to m */</span></div>
-<div class="line"><a name="l01790"></a><span class="lineno"> 1790</span> </div>
-<div class="line"><a name="l01791"></a><span class="lineno"> 1791</span> lambda /= 1.0e6 ;</div>
-<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span> denom = 1./(exp(PLANCK*SPEED_OF_LIGHT/(lambda*BOLTZMANN*temp)) - 1.) ;</div>
-<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span> intens = 2.*PI_NUMB*PLANCK*SPEED_OF_LIGHT*SPEED_OF_LIGHT / </div>
-<div class="line"><a name="l01794"></a><span class="lineno"> 1794</span> pow(lambda, 5) * denom ;</div>
-<div class="line"><a name="l01795"></a><span class="lineno"> 1795</span> retSpec->data[n] = intens ; </div>
-<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span> }</div>
-<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span> norm = retSpec->data[npix/2] ;</div>
-<div class="line"><a name="l01798"></a><span class="lineno"> 1798</span> <span class="keywordflow">for</span> ( n = 0 ; n < npix ; n++ )</div>
-<div class="line"><a name="l01799"></a><span class="lineno"> 1799</span> {</div>
-<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span> retSpec->data[n] /= norm ;</div>
-<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span> }</div>
-<div class="line"><a name="l01802"></a><span class="lineno"> 1802</span> </div>
-<div class="line"><a name="l01803"></a><span class="lineno"> 1803</span> <span class="keywordflow">return</span> retSpec ;</div>
-<div class="line"><a name="l01804"></a><span class="lineno"> 1804</span> }</div>
-<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span> </div>
-<div class="line"><a name="l01806"></a><span class="lineno"> 1806</span> </div>
-<div class="line"><a name="l01820"></a><span class="lineno"> 1820</span> Vector * sinfo_new_median_rectangle_of_cube_spectra( cpl_imagelist * cube,</div>
-<div class="line"><a name="l01821"></a><span class="lineno"> 1821</span> <span class="keywordtype">int</span> llx,</div>
-<div class="line"><a name="l01822"></a><span class="lineno"> 1822</span> <span class="keywordtype">int</span> lly,</div>
-<div class="line"><a name="l01823"></a><span class="lineno"> 1823</span> <span class="keywordtype">int</span> urx,</div>
-<div class="line"><a name="l01824"></a><span class="lineno"> 1824</span> <span class="keywordtype">int</span> ury )</div>
-<div class="line"><a name="l01825"></a><span class="lineno"> 1825</span> {</div>
-<div class="line"><a name="l01826"></a><span class="lineno"> 1826</span> Vector * med ;</div>
-<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span> pixelvalue *local_rectangle ;</div>
-<div class="line"><a name="l01828"></a><span class="lineno"> 1828</span> <span class="keywordtype">int</span> i, j, k, m ;</div>
-<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span> <span class="keywordtype">int</span> recsize ;</div>
-<div class="line"><a name="l01830"></a><span class="lineno"> 1830</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01831"></a><span class="lineno"> 1831</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01832"></a><span class="lineno"> 1832</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l01833"></a><span class="lineno"> 1833</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01834"></a><span class="lineno"> 1834</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l01835"></a><span class="lineno"> 1835</span> </div>
-<div class="line"><a name="l01836"></a><span class="lineno"> 1836</span> </div>
-<div class="line"><a name="l01837"></a><span class="lineno"> 1837</span> ilx=cpl_image_get_size_x(cpl_imagelist_get(cube,0));</div>
-<div class="line"><a name="l01838"></a><span class="lineno"> 1838</span> ily=cpl_image_get_size_y(cpl_imagelist_get(cube,0));</div>
-<div class="line"><a name="l01839"></a><span class="lineno"> 1839</span> inp=cpl_imagelist_get_size(cube);</div>
-<div class="line"><a name="l01840"></a><span class="lineno"> 1840</span> </div>
-<div class="line"><a name="l01841"></a><span class="lineno"> 1841</span> <span class="keywordflow">if</span> ( cube == NULL || inp < 1 )</div>
-<div class="line"><a name="l01842"></a><span class="lineno"> 1842</span> {</div>
-<div class="line"><a name="l01843"></a><span class="lineno"> 1843</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no cube to take the mean of his spectra\n"</span>) ;</div>
-<div class="line"><a name="l01844"></a><span class="lineno"> 1844</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01845"></a><span class="lineno"> 1845</span> }</div>
-<div class="line"><a name="l01846"></a><span class="lineno"> 1846</span> </div>
-<div class="line"><a name="l01847"></a><span class="lineno"> 1847</span> <span class="keywordflow">if</span> ((llx<0) || (llx>=ilx) ||</div>
-<div class="line"><a name="l01848"></a><span class="lineno"> 1848</span> (urx<0) || (urx>=ilx) ||</div>
-<div class="line"><a name="l01849"></a><span class="lineno"> 1849</span> (lly<0) || (lly>=ily) ||</div>
-<div class="line"><a name="l01850"></a><span class="lineno"> 1850</span> (ury<0) || (ury>=ily) ||</div>
-<div class="line"><a name="l01851"></a><span class="lineno"> 1851</span> (llx>=urx) || (lly>=ury))</div>
-<div class="line"><a name="l01852"></a><span class="lineno"> 1852</span> {</div>
-<div class="line"><a name="l01853"></a><span class="lineno"> 1853</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" invalid rectangle coordinates:"</span>) ;</div>
-<div class="line"><a name="l01854"></a><span class="lineno"> 1854</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"lower left is [%d %d] upper right is [%d %d]"</span>, </div>
-<div class="line"><a name="l01855"></a><span class="lineno"> 1855</span> llx, lly, urx, ury) ;</div>
-<div class="line"><a name="l01856"></a><span class="lineno"> 1856</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01857"></a><span class="lineno"> 1857</span> }</div>
-<div class="line"><a name="l01858"></a><span class="lineno"> 1858</span> </div>
-<div class="line"><a name="l01859"></a><span class="lineno"> 1859</span> recsize = (urx - llx + 1) * (ury - lly + 1) ;</div>
-<div class="line"><a name="l01860"></a><span class="lineno"> 1860</span> </div>
-<div class="line"><a name="l01861"></a><span class="lineno"> 1861</span> <span class="comment">/* allocate a new sinfo_vector to store the average spectral values */</span></div>
-<div class="line"><a name="l01862"></a><span class="lineno"> 1862</span> <span class="keywordflow">if</span> (NULL == (med = sinfo_new_vector (inp)) )</div>
-<div class="line"><a name="l01863"></a><span class="lineno"> 1863</span> {</div>
-<div class="line"><a name="l01864"></a><span class="lineno"> 1864</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" cannot allocate a new sinfo_vector \n"</span>) ;</div>
-<div class="line"><a name="l01865"></a><span class="lineno"> 1865</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01866"></a><span class="lineno"> 1866</span> }</div>
-<div class="line"><a name="l01867"></a><span class="lineno"> 1867</span> </div>
-<div class="line"><a name="l01868"></a><span class="lineno"> 1868</span> <span class="comment">/*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01869"></a><span class="lineno"> 1869</span> <span class="comment"> * loop through the cube planes, through the x axis and the y-axis of the</span></div>
-<div class="line"><a name="l01870"></a><span class="lineno"> 1870</span> <span class="comment"> * plane rectangle and store pixel values in a buffer.</span></div>
-<div class="line"><a name="l01871"></a><span class="lineno"> 1871</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01872"></a><span class="lineno"> 1872</span> <span class="keywordflow">for</span> ( i = 0 ; i < inp ; i++ )</div>
-<div class="line"><a name="l01873"></a><span class="lineno"> 1873</span> {</div>
-<div class="line"><a name="l01874"></a><span class="lineno"> 1874</span> </div>
-<div class="line"><a name="l01875"></a><span class="lineno"> 1875</span> i_img=cpl_imagelist_get(cube,i);</div>
-<div class="line"><a name="l01876"></a><span class="lineno"> 1876</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l01877"></a><span class="lineno"> 1877</span> m = 0 ;</div>
-<div class="line"><a name="l01878"></a><span class="lineno"> 1878</span> local_rectangle=(pixelvalue *)cpl_calloc(recsize, <span class="keyword">sizeof</span> (pixelvalue*));</div>
-<div class="line"><a name="l01879"></a><span class="lineno"> 1879</span> </div>
-<div class="line"><a name="l01880"></a><span class="lineno"> 1880</span> <span class="keywordflow">for</span> ( j = lly ; j <= ury ; j++ )</div>
-<div class="line"><a name="l01881"></a><span class="lineno"> 1881</span> {</div>
-<div class="line"><a name="l01882"></a><span class="lineno"> 1882</span> <span class="keywordflow">for</span> ( k = llx ; k <= urx ; k++ )</div>
-<div class="line"><a name="l01883"></a><span class="lineno"> 1883</span> {</div>
-<div class="line"><a name="l01884"></a><span class="lineno"> 1884</span> <span class="keywordflow">if</span> ( isnan(pidata[k+j*ilx]) )</div>
-<div class="line"><a name="l01885"></a><span class="lineno"> 1885</span> {</div>
-<div class="line"><a name="l01886"></a><span class="lineno"> 1886</span> continue ;</div>
-<div class="line"><a name="l01887"></a><span class="lineno"> 1887</span> }</div>
-<div class="line"><a name="l01888"></a><span class="lineno"> 1888</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01889"></a><span class="lineno"> 1889</span> {</div>
-<div class="line"><a name="l01890"></a><span class="lineno"> 1890</span> local_rectangle[m] = pidata[k + j * ilx] ;</div>
-<div class="line"><a name="l01891"></a><span class="lineno"> 1891</span> m ++ ;</div>
-<div class="line"><a name="l01892"></a><span class="lineno"> 1892</span> }</div>
-<div class="line"><a name="l01893"></a><span class="lineno"> 1893</span> }</div>
-<div class="line"><a name="l01894"></a><span class="lineno"> 1894</span> }</div>
-<div class="line"><a name="l01895"></a><span class="lineno"> 1895</span> <span class="keywordflow">if</span> ( m == 0 )</div>
-<div class="line"><a name="l01896"></a><span class="lineno"> 1896</span> {</div>
-<div class="line"><a name="l01897"></a><span class="lineno"> 1897</span> med->data[i] = 0. ;</div>
-<div class="line"><a name="l01898"></a><span class="lineno"> 1898</span> }</div>
-<div class="line"><a name="l01899"></a><span class="lineno"> 1899</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01900"></a><span class="lineno"> 1900</span> {</div>
-<div class="line"><a name="l01901"></a><span class="lineno"> 1901</span> med->data[i] = sinfo_new_median(local_rectangle, m) ;</div>
-<div class="line"><a name="l01902"></a><span class="lineno"> 1902</span> }</div>
-<div class="line"><a name="l01903"></a><span class="lineno"> 1903</span> cpl_free ( local_rectangle ) ;</div>
-<div class="line"><a name="l01904"></a><span class="lineno"> 1904</span> }</div>
-<div class="line"><a name="l01905"></a><span class="lineno"> 1905</span> <span class="keywordflow">return</span> med ;</div>
-<div class="line"><a name="l01906"></a><span class="lineno"> 1906</span> }</div>
-<div class="line"><a name="l01907"></a><span class="lineno"> 1907</span> </div>
-<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span> Vector * sinfo_new_median_circle_of_cube_spectra( cpl_imagelist * cube,</div>
-<div class="line"><a name="l01920"></a><span class="lineno"> 1920</span> <span class="keywordtype">int</span> centerx,</div>
-<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span> <span class="keywordtype">int</span> centery,</div>
-<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span> <span class="keywordtype">int</span> radius )</div>
-<div class="line"><a name="l01923"></a><span class="lineno"> 1923</span> {</div>
-<div class="line"><a name="l01924"></a><span class="lineno"> 1924</span> Vector * med ;</div>
-<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span> pixelvalue * circle ;</div>
-<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span> <span class="keywordtype">int</span> i, j, k, l, m, n ;</div>
-<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span> <span class="keywordtype">int</span> circsize, nv ;</div>
-<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01929"></a><span class="lineno"> 1929</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l01933"></a><span class="lineno"> 1933</span> </div>
-<div class="line"><a name="l01934"></a><span class="lineno"> 1934</span> </div>
-<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span> ilx=cpl_image_get_size_x(cpl_imagelist_get(cube,0));</div>
-<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span> ily=cpl_image_get_size_y(cpl_imagelist_get(cube,0));</div>
-<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span> inp=cpl_imagelist_get_size(cube);</div>
-<div class="line"><a name="l01938"></a><span class="lineno"> 1938</span> </div>
-<div class="line"><a name="l01939"></a><span class="lineno"> 1939</span> <span class="keywordflow">if</span> ( cube == NULL || inp < 1 )</div>
-<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span> {</div>
-<div class="line"><a name="l01941"></a><span class="lineno"> 1941</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no cube to take the mean of his spectra\n"</span>) ;</div>
-<div class="line"><a name="l01942"></a><span class="lineno"> 1942</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span> }</div>
-<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span> </div>
-<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span> <span class="keywordflow">if</span> ((centerx+radius>=ilx) ||</div>
-<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span> (centery+radius>=ily) ||</div>
-<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span> (centerx-radius<0) ||</div>
-<div class="line"><a name="l01948"></a><span class="lineno"> 1948</span> (centery-radius<0))</div>
-<div class="line"><a name="l01949"></a><span class="lineno"> 1949</span> {</div>
-<div class="line"><a name="l01950"></a><span class="lineno"> 1950</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" invalid circular coordinates"</span>) ;</div>
-<div class="line"><a name="l01951"></a><span class="lineno"> 1951</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01952"></a><span class="lineno"> 1952</span> }</div>
-<div class="line"><a name="l01953"></a><span class="lineno"> 1953</span> </div>
-<div class="line"><a name="l01954"></a><span class="lineno"> 1954</span> n = 0 ;</div>
-<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span> <span class="keywordflow">for</span> ( j = centery - radius ; j <= centery + radius ; j++ )</div>
-<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span> {</div>
-<div class="line"><a name="l01957"></a><span class="lineno"> 1957</span> <span class="keywordflow">for</span> ( k = centerx - radius ; k <= centerx + radius ; k++ )</div>
-<div class="line"><a name="l01958"></a><span class="lineno"> 1958</span> {</div>
-<div class="line"><a name="l01959"></a><span class="lineno"> 1959</span> <span class="keywordflow">if</span> ( (k-centerx)*(k-centerx)+(j-centery)*(j-centery) <= </div>
-<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span> radius*radius )</div>
-<div class="line"><a name="l01961"></a><span class="lineno"> 1961</span> {</div>
-<div class="line"><a name="l01962"></a><span class="lineno"> 1962</span> n ++ ;</div>
-<div class="line"><a name="l01963"></a><span class="lineno"> 1963</span> }</div>
-<div class="line"><a name="l01964"></a><span class="lineno"> 1964</span> }</div>
-<div class="line"><a name="l01965"></a><span class="lineno"> 1965</span> }</div>
-<div class="line"><a name="l01966"></a><span class="lineno"> 1966</span> <span class="keywordflow">if</span> (n == 0)</div>
-<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span> {</div>
-<div class="line"><a name="l01968"></a><span class="lineno"> 1968</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no data points found!"</span>) ;</div>
-<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span> }</div>
-<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span> circsize = n ;</div>
-<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span> </div>
-<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span> <span class="comment">/* allocate a new sinfo_vector to store the average spectral values */</span></div>
-<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span> <span class="keywordflow">if</span> (NULL == (med = sinfo_new_vector (inp)) )</div>
-<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span> {</div>
-<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" cannot allocate a new sinfo_vector"</span>) ;</div>
-<div class="line"><a name="l01977"></a><span class="lineno"> 1977</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l01978"></a><span class="lineno"> 1978</span> }</div>
-<div class="line"><a name="l01979"></a><span class="lineno"> 1979</span> </div>
-<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span> <span class="comment">/*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01981"></a><span class="lineno"> 1981</span> <span class="comment"> * loop through the cube planes, through the x axis and the y-axis of the</span></div>
-<div class="line"><a name="l01982"></a><span class="lineno"> 1982</span> <span class="comment"> * plane circle and store pixel values in a buffer.</span></div>
-<div class="line"><a name="l01983"></a><span class="lineno"> 1983</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01984"></a><span class="lineno"> 1984</span> <span class="keywordflow">for</span> ( i = 0 ; i < inp ; i++ )</div>
-<div class="line"><a name="l01985"></a><span class="lineno"> 1985</span> {</div>
-<div class="line"><a name="l01986"></a><span class="lineno"> 1986</span> i_img=cpl_imagelist_get(cube,i);</div>
-<div class="line"><a name="l01987"></a><span class="lineno"> 1987</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l01988"></a><span class="lineno"> 1988</span> m = 0 ;</div>
-<div class="line"><a name="l01989"></a><span class="lineno"> 1989</span> circle = (pixelvalue *) cpl_calloc (circsize, <span class="keyword">sizeof</span> (pixelvalue*));</div>
-<div class="line"><a name="l01990"></a><span class="lineno"> 1990</span> </div>
-<div class="line"><a name="l01991"></a><span class="lineno"> 1991</span> <span class="keywordflow">for</span> ( j = centery - radius ; j <= centery + radius ; j++ )</div>
-<div class="line"><a name="l01992"></a><span class="lineno"> 1992</span> {</div>
-<div class="line"><a name="l01993"></a><span class="lineno"> 1993</span> <span class="keywordflow">for</span> ( k = centerx - radius ; k <= centerx + radius ; k++ )</div>
-<div class="line"><a name="l01994"></a><span class="lineno"> 1994</span> {</div>
-<div class="line"><a name="l01995"></a><span class="lineno"> 1995</span> <span class="keywordflow">if</span> ( (k-centerx)*(k-centerx)+(j-centery)*(j-centery) <= </div>
-<div class="line"><a name="l01996"></a><span class="lineno"> 1996</span> radius*radius )</div>
-<div class="line"><a name="l01997"></a><span class="lineno"> 1997</span> {</div>
-<div class="line"><a name="l01998"></a><span class="lineno"> 1998</span> circle[m] = pidata[k + j * ilx] ;</div>
-<div class="line"><a name="l01999"></a><span class="lineno"> 1999</span> m ++ ;</div>
-<div class="line"><a name="l02000"></a><span class="lineno"> 2000</span> }</div>
-<div class="line"><a name="l02001"></a><span class="lineno"> 2001</span> }</div>
-<div class="line"><a name="l02002"></a><span class="lineno"> 2002</span> }</div>
-<div class="line"><a name="l02003"></a><span class="lineno"> 2003</span> </div>
-<div class="line"><a name="l02004"></a><span class="lineno"> 2004</span> nv = 0 ;</div>
-<div class="line"><a name="l02005"></a><span class="lineno"> 2005</span> <span class="keywordflow">for</span> ( l = 0 ; l < circsize ; l++ )</div>
-<div class="line"><a name="l02006"></a><span class="lineno"> 2006</span> {</div>
-<div class="line"><a name="l02007"></a><span class="lineno"> 2007</span> <span class="keywordflow">if</span> ( isnan(circle[l]) )</div>
-<div class="line"><a name="l02008"></a><span class="lineno"> 2008</span> {</div>
-<div class="line"><a name="l02009"></a><span class="lineno"> 2009</span> continue ;</div>
-<div class="line"><a name="l02010"></a><span class="lineno"> 2010</span> }</div>
-<div class="line"><a name="l02011"></a><span class="lineno"> 2011</span> med -> data[i] += circle[l] ;</div>
-<div class="line"><a name="l02012"></a><span class="lineno"> 2012</span> nv ++;</div>
-<div class="line"><a name="l02013"></a><span class="lineno"> 2013</span> }</div>
-<div class="line"><a name="l02014"></a><span class="lineno"> 2014</span> <span class="keywordflow">if</span> ( nv == 0 )</div>
-<div class="line"><a name="l02015"></a><span class="lineno"> 2015</span> {</div>
-<div class="line"><a name="l02016"></a><span class="lineno"> 2016</span> med->data[i] = 0. ;</div>
-<div class="line"><a name="l02017"></a><span class="lineno"> 2017</span> }</div>
-<div class="line"><a name="l02018"></a><span class="lineno"> 2018</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02019"></a><span class="lineno"> 2019</span> {</div>
-<div class="line"><a name="l02020"></a><span class="lineno"> 2020</span> med->data[i] = sinfo_new_median(circle, nv) ; </div>
-<div class="line"><a name="l02021"></a><span class="lineno"> 2021</span> }</div>
-<div class="line"><a name="l02022"></a><span class="lineno"> 2022</span> cpl_free (circle) ;</div>
-<div class="line"><a name="l02023"></a><span class="lineno"> 2023</span> }</div>
-<div class="line"><a name="l02024"></a><span class="lineno"> 2024</span> <span class="keywordflow">return</span> med ;</div>
-<div class="line"><a name="l02025"></a><span class="lineno"> 2025</span> }</div>
-<div class="line"><a name="l02026"></a><span class="lineno"> 2026</span> </div>
-<div class="line"><a name="l02040"></a><span class="lineno"> 2040</span> Vector * </div>
-<div class="line"><a name="l02041"></a><span class="lineno"> 2041</span> sinfo_new_cleanmean_rectangle_of_cube_spectra( cpl_imagelist * cube,</div>
-<div class="line"><a name="l02042"></a><span class="lineno"> 2042</span> <span class="keywordtype">int</span> llx,</div>
-<div class="line"><a name="l02043"></a><span class="lineno"> 2043</span> <span class="keywordtype">int</span> lly,</div>
-<div class="line"><a name="l02044"></a><span class="lineno"> 2044</span> <span class="keywordtype">int</span> urx,</div>
-<div class="line"><a name="l02045"></a><span class="lineno"> 2045</span> <span class="keywordtype">int</span> ury,</div>
-<div class="line"><a name="l02046"></a><span class="lineno"> 2046</span> <span class="keywordtype">float</span> lo_reject,</div>
-<div class="line"><a name="l02047"></a><span class="lineno"> 2047</span> <span class="keywordtype">float</span> hi_reject )</div>
-<div class="line"><a name="l02048"></a><span class="lineno"> 2048</span> {</div>
-<div class="line"><a name="l02049"></a><span class="lineno"> 2049</span> Vector * clean ;</div>
-<div class="line"><a name="l02050"></a><span class="lineno"> 2050</span> pixelvalue *local_rectangle ;</div>
-<div class="line"><a name="l02051"></a><span class="lineno"> 2051</span> <span class="keywordtype">int</span> i, j, k, m ;</div>
-<div class="line"><a name="l02052"></a><span class="lineno"> 2052</span> <span class="keywordtype">int</span> recsize ;</div>
-<div class="line"><a name="l02053"></a><span class="lineno"> 2053</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l02054"></a><span class="lineno"> 2054</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l02055"></a><span class="lineno"> 2055</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l02056"></a><span class="lineno"> 2056</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l02057"></a><span class="lineno"> 2057</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l02058"></a><span class="lineno"> 2058</span> </div>
-<div class="line"><a name="l02059"></a><span class="lineno"> 2059</span> </div>
-<div class="line"><a name="l02060"></a><span class="lineno"> 2060</span> ilx=cpl_image_get_size_x(cpl_imagelist_get(cube,0));</div>
-<div class="line"><a name="l02061"></a><span class="lineno"> 2061</span> ily=cpl_image_get_size_y(cpl_imagelist_get(cube,0));</div>
-<div class="line"><a name="l02062"></a><span class="lineno"> 2062</span> inp=cpl_imagelist_get_size(cube);</div>
-<div class="line"><a name="l02063"></a><span class="lineno"> 2063</span> </div>
-<div class="line"><a name="l02064"></a><span class="lineno"> 2064</span> <span class="keywordflow">if</span> ( cube == NULL || inp < 1 )</div>
-<div class="line"><a name="l02065"></a><span class="lineno"> 2065</span> {</div>
-<div class="line"><a name="l02066"></a><span class="lineno"> 2066</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no cube to take the mean of his spectra\n"</span>) ;</div>
-<div class="line"><a name="l02067"></a><span class="lineno"> 2067</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l02068"></a><span class="lineno"> 2068</span> }</div>
-<div class="line"><a name="l02069"></a><span class="lineno"> 2069</span> </div>
-<div class="line"><a name="l02070"></a><span class="lineno"> 2070</span> <span class="keywordflow">if</span> ((llx<0) || (llx>=ilx) ||</div>
-<div class="line"><a name="l02071"></a><span class="lineno"> 2071</span> (urx<0) || (urx>=ilx) ||</div>
-<div class="line"><a name="l02072"></a><span class="lineno"> 2072</span> (lly<0) || (lly>=ily) ||</div>
-<div class="line"><a name="l02073"></a><span class="lineno"> 2073</span> (ury<0) || (ury>=ily) ||</div>
-<div class="line"><a name="l02074"></a><span class="lineno"> 2074</span> (llx>=urx) || (lly>=ury))</div>
-<div class="line"><a name="l02075"></a><span class="lineno"> 2075</span> {</div>
-<div class="line"><a name="l02076"></a><span class="lineno"> 2076</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" invalid rectangle coordinates:"</span>) ;</div>
-<div class="line"><a name="l02077"></a><span class="lineno"> 2077</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"lower left is [%d %d] upper right is [%d %d]"</span>,</div>
-<div class="line"><a name="l02078"></a><span class="lineno"> 2078</span> llx, lly, urx, ury) ;</div>
-<div class="line"><a name="l02079"></a><span class="lineno"> 2079</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l02080"></a><span class="lineno"> 2080</span> }</div>
-<div class="line"><a name="l02081"></a><span class="lineno"> 2081</span> </div>
-<div class="line"><a name="l02082"></a><span class="lineno"> 2082</span> recsize = (urx - llx + 1) * (ury - lly + 1) ;</div>
-<div class="line"><a name="l02083"></a><span class="lineno"> 2083</span> </div>
-<div class="line"><a name="l02084"></a><span class="lineno"> 2084</span> <span class="comment">/* allocate a new sinfo_vector to store the average spectral values */</span></div>
-<div class="line"><a name="l02085"></a><span class="lineno"> 2085</span> <span class="keywordflow">if</span> (NULL == (clean = sinfo_new_vector (inp)) )</div>
-<div class="line"><a name="l02086"></a><span class="lineno"> 2086</span> {</div>
-<div class="line"><a name="l02087"></a><span class="lineno"> 2087</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" cannot allocate a new sinfo_vector"</span>) ;</div>
-<div class="line"><a name="l02088"></a><span class="lineno"> 2088</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l02089"></a><span class="lineno"> 2089</span> }</div>
-<div class="line"><a name="l02090"></a><span class="lineno"> 2090</span> </div>
-<div class="line"><a name="l02091"></a><span class="lineno"> 2091</span> <span class="comment">/*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l02092"></a><span class="lineno"> 2092</span> <span class="comment"> * loop through the cube planes, through the x axis and the y-axis of the</span></div>
-<div class="line"><a name="l02093"></a><span class="lineno"> 2093</span> <span class="comment"> * plane rectangle and store pixel values in a buffer.</span></div>
-<div class="line"><a name="l02094"></a><span class="lineno"> 2094</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02095"></a><span class="lineno"> 2095</span> <span class="keywordflow">for</span> ( i = 0 ; i < inp ; i++ )</div>
-<div class="line"><a name="l02096"></a><span class="lineno"> 2096</span> {</div>
-<div class="line"><a name="l02097"></a><span class="lineno"> 2097</span> i_img=cpl_imagelist_get(cube,i);</div>
-<div class="line"><a name="l02098"></a><span class="lineno"> 2098</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l02099"></a><span class="lineno"> 2099</span> m = 0 ;</div>
-<div class="line"><a name="l02100"></a><span class="lineno"> 2100</span> local_rectangle=(pixelvalue *) cpl_calloc(recsize, <span class="keyword">sizeof</span> (pixelvalue*));</div>
-<div class="line"><a name="l02101"></a><span class="lineno"> 2101</span> </div>
-<div class="line"><a name="l02102"></a><span class="lineno"> 2102</span> <span class="keywordflow">for</span> ( j = lly ; j <= ury ; j++ )</div>
-<div class="line"><a name="l02103"></a><span class="lineno"> 2103</span> {</div>
-<div class="line"><a name="l02104"></a><span class="lineno"> 2104</span> <span class="keywordflow">for</span> ( k = llx ; k <= urx ; k++ )</div>
-<div class="line"><a name="l02105"></a><span class="lineno"> 2105</span> {</div>
-<div class="line"><a name="l02106"></a><span class="lineno"> 2106</span> <span class="keywordflow">if</span> ( isnan(pidata[k+j*ilx]) )</div>
-<div class="line"><a name="l02107"></a><span class="lineno"> 2107</span> {</div>
-<div class="line"><a name="l02108"></a><span class="lineno"> 2108</span> continue ;</div>
-<div class="line"><a name="l02109"></a><span class="lineno"> 2109</span> }</div>
-<div class="line"><a name="l02110"></a><span class="lineno"> 2110</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02111"></a><span class="lineno"> 2111</span> {</div>
-<div class="line"><a name="l02112"></a><span class="lineno"> 2112</span> local_rectangle[m] = pidata[k + j * ilx] ;</div>
-<div class="line"><a name="l02113"></a><span class="lineno"> 2113</span> m ++ ;</div>
-<div class="line"><a name="l02114"></a><span class="lineno"> 2114</span> }</div>
-<div class="line"><a name="l02115"></a><span class="lineno"> 2115</span> }</div>
-<div class="line"><a name="l02116"></a><span class="lineno"> 2116</span> }</div>
-<div class="line"><a name="l02117"></a><span class="lineno"> 2117</span> <span class="keywordflow">if</span> ( m == 0 )</div>
-<div class="line"><a name="l02118"></a><span class="lineno"> 2118</span> {</div>
-<div class="line"><a name="l02119"></a><span class="lineno"> 2119</span> clean->data[i] = 0. ;</div>
-<div class="line"><a name="l02120"></a><span class="lineno"> 2120</span> }</div>
-<div class="line"><a name="l02121"></a><span class="lineno"> 2121</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02122"></a><span class="lineno"> 2122</span> {</div>
-<div class="line"><a name="l02123"></a><span class="lineno"> 2123</span> clean->data[i] = sinfo_new_clean_mean(local_rectangle, m, </div>
-<div class="line"><a name="l02124"></a><span class="lineno"> 2124</span> lo_reject, hi_reject) ;</div>
-<div class="line"><a name="l02125"></a><span class="lineno"> 2125</span> }</div>
-<div class="line"><a name="l02126"></a><span class="lineno"> 2126</span> cpl_free ( local_rectangle ) ;</div>
-<div class="line"><a name="l02127"></a><span class="lineno"> 2127</span> }</div>
-<div class="line"><a name="l02128"></a><span class="lineno"> 2128</span> <span class="keywordflow">return</span> clean ;</div>
-<div class="line"><a name="l02129"></a><span class="lineno"> 2129</span> }</div>
-<div class="line"><a name="l02130"></a><span class="lineno"> 2130</span> </div>
-<div class="line"><a name="l02142"></a><span class="lineno"> 2142</span> Vector * </div>
-<div class="line"><a name="l02143"></a><span class="lineno"> 2143</span> sinfo_new_cleanmean_circle_of_cube_spectra( cpl_imagelist * cube,</div>
-<div class="line"><a name="l02144"></a><span class="lineno"> 2144</span> <span class="keywordtype">int</span> centerx,</div>
-<div class="line"><a name="l02145"></a><span class="lineno"> 2145</span> <span class="keywordtype">int</span> centery,</div>
-<div class="line"><a name="l02146"></a><span class="lineno"> 2146</span> <span class="keywordtype">int</span> radius,</div>
-<div class="line"><a name="l02147"></a><span class="lineno"> 2147</span> <span class="keywordtype">float</span> lo_reject,</div>
-<div class="line"><a name="l02148"></a><span class="lineno"> 2148</span> <span class="keywordtype">float</span> hi_reject )</div>
-<div class="line"><a name="l02149"></a><span class="lineno"> 2149</span> {</div>
-<div class="line"><a name="l02150"></a><span class="lineno"> 2150</span> Vector * clean ;</div>
-<div class="line"><a name="l02151"></a><span class="lineno"> 2151</span> pixelvalue * circle ;</div>
-<div class="line"><a name="l02152"></a><span class="lineno"> 2152</span> <span class="keywordtype">int</span> i, j, k, l, m, n ;</div>
-<div class="line"><a name="l02153"></a><span class="lineno"> 2153</span> <span class="keywordtype">int</span> circsize, nv ;</div>
-<div class="line"><a name="l02154"></a><span class="lineno"> 2154</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l02155"></a><span class="lineno"> 2155</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l02156"></a><span class="lineno"> 2156</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l02157"></a><span class="lineno"> 2157</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l02158"></a><span class="lineno"> 2158</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l02159"></a><span class="lineno"> 2159</span> </div>
-<div class="line"><a name="l02160"></a><span class="lineno"> 2160</span> ilx=cpl_image_get_size_x(cpl_imagelist_get(cube,0));</div>
-<div class="line"><a name="l02161"></a><span class="lineno"> 2161</span> ily=cpl_image_get_size_y(cpl_imagelist_get(cube,0));</div>
-<div class="line"><a name="l02162"></a><span class="lineno"> 2162</span> inp=cpl_imagelist_get_size(cube);</div>
-<div class="line"><a name="l02163"></a><span class="lineno"> 2163</span> </div>
-<div class="line"><a name="l02164"></a><span class="lineno"> 2164</span> <span class="keywordflow">if</span> ( cube == NULL || inp < 1 )</div>
-<div class="line"><a name="l02165"></a><span class="lineno"> 2165</span> {</div>
-<div class="line"><a name="l02166"></a><span class="lineno"> 2166</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no cube to take the mean of his spectra\n"</span>) ;</div>
-<div class="line"><a name="l02167"></a><span class="lineno"> 2167</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l02168"></a><span class="lineno"> 2168</span> }</div>
-<div class="line"><a name="l02169"></a><span class="lineno"> 2169</span> </div>
-<div class="line"><a name="l02170"></a><span class="lineno"> 2170</span> <span class="keywordflow">if</span> ((centerx+radius>=ilx) ||</div>
-<div class="line"><a name="l02171"></a><span class="lineno"> 2171</span> (centery+radius>=ily) ||</div>
-<div class="line"><a name="l02172"></a><span class="lineno"> 2172</span> (centerx-radius<0) ||</div>
-<div class="line"><a name="l02173"></a><span class="lineno"> 2173</span> (centery-radius<0))</div>
-<div class="line"><a name="l02174"></a><span class="lineno"> 2174</span> {</div>
-<div class="line"><a name="l02175"></a><span class="lineno"> 2175</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" invalid circular coordinates"</span>) ;</div>
-<div class="line"><a name="l02176"></a><span class="lineno"> 2176</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l02177"></a><span class="lineno"> 2177</span> }</div>
-<div class="line"><a name="l02178"></a><span class="lineno"> 2178</span> </div>
-<div class="line"><a name="l02179"></a><span class="lineno"> 2179</span> n = 0 ;</div>
-<div class="line"><a name="l02180"></a><span class="lineno"> 2180</span> <span class="keywordflow">for</span> ( j = centery - radius ; j <= centery + radius ; j++ )</div>
-<div class="line"><a name="l02181"></a><span class="lineno"> 2181</span> {</div>
-<div class="line"><a name="l02182"></a><span class="lineno"> 2182</span> <span class="keywordflow">for</span> ( k = centerx - radius ; k <= centerx + radius ; k++ )</div>
-<div class="line"><a name="l02183"></a><span class="lineno"> 2183</span> {</div>
-<div class="line"><a name="l02184"></a><span class="lineno"> 2184</span> <span class="keywordflow">if</span> ( (k-centerx)*(k-centerx)+(j-centery)*(j-centery) <= </div>
-<div class="line"><a name="l02185"></a><span class="lineno"> 2185</span> radius*radius )</div>
-<div class="line"><a name="l02186"></a><span class="lineno"> 2186</span> {</div>
-<div class="line"><a name="l02187"></a><span class="lineno"> 2187</span> n ++ ;</div>
-<div class="line"><a name="l02188"></a><span class="lineno"> 2188</span> }</div>
-<div class="line"><a name="l02189"></a><span class="lineno"> 2189</span> }</div>
-<div class="line"><a name="l02190"></a><span class="lineno"> 2190</span> }</div>
-<div class="line"><a name="l02191"></a><span class="lineno"> 2191</span> <span class="keywordflow">if</span> (n == 0)</div>
-<div class="line"><a name="l02192"></a><span class="lineno"> 2192</span> {</div>
-<div class="line"><a name="l02193"></a><span class="lineno"> 2193</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no data points found!\n"</span>) ;</div>
-<div class="line"><a name="l02194"></a><span class="lineno"> 2194</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l02195"></a><span class="lineno"> 2195</span> }</div>
-<div class="line"><a name="l02196"></a><span class="lineno"> 2196</span> circsize = n ;</div>
-<div class="line"><a name="l02197"></a><span class="lineno"> 2197</span> </div>
-<div class="line"><a name="l02198"></a><span class="lineno"> 2198</span> <span class="comment">/* allocate a new sinfo_vector to store the average spectral values */</span></div>
-<div class="line"><a name="l02199"></a><span class="lineno"> 2199</span> <span class="keywordflow">if</span> (NULL == (clean = sinfo_new_vector (inp)) )</div>
-<div class="line"><a name="l02200"></a><span class="lineno"> 2200</span> {</div>
-<div class="line"><a name="l02201"></a><span class="lineno"> 2201</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" cannot allocate a new sinfo_vector \n"</span>) ;</div>
-<div class="line"><a name="l02202"></a><span class="lineno"> 2202</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l02203"></a><span class="lineno"> 2203</span> }</div>
-<div class="line"><a name="l02204"></a><span class="lineno"> 2204</span> </div>
-<div class="line"><a name="l02205"></a><span class="lineno"> 2205</span> <span class="comment">/*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l02206"></a><span class="lineno"> 2206</span> <span class="comment"> * loop through the cube planes, through the x axis and the y-axis of the</span></div>
-<div class="line"><a name="l02207"></a><span class="lineno"> 2207</span> <span class="comment"> * plane circle and store pixel values in a buffer.</span></div>
-<div class="line"><a name="l02208"></a><span class="lineno"> 2208</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02209"></a><span class="lineno"> 2209</span> <span class="keywordflow">for</span> ( i = 0 ; i < inp ; i++ )</div>
-<div class="line"><a name="l02210"></a><span class="lineno"> 2210</span> {</div>
-<div class="line"><a name="l02211"></a><span class="lineno"> 2211</span> i_img=cpl_imagelist_get(cube,i);</div>
-<div class="line"><a name="l02212"></a><span class="lineno"> 2212</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l02213"></a><span class="lineno"> 2213</span> m = 0 ;</div>
-<div class="line"><a name="l02214"></a><span class="lineno"> 2214</span> circle = (pixelvalue *) cpl_calloc (circsize, <span class="keyword">sizeof</span> (pixelvalue*));</div>
-<div class="line"><a name="l02215"></a><span class="lineno"> 2215</span> </div>
-<div class="line"><a name="l02216"></a><span class="lineno"> 2216</span> <span class="keywordflow">for</span> ( j = centery - radius ; j <= centery + radius ; j++ )</div>
-<div class="line"><a name="l02217"></a><span class="lineno"> 2217</span> {</div>
-<div class="line"><a name="l02218"></a><span class="lineno"> 2218</span> <span class="keywordflow">for</span> ( k = centerx - radius ; k <= centerx + radius ; k++ )</div>
-<div class="line"><a name="l02219"></a><span class="lineno"> 2219</span> {</div>
-<div class="line"><a name="l02220"></a><span class="lineno"> 2220</span> <span class="keywordflow">if</span> ( (k-centerx)*(k-centerx)+(j-centery)*(j-centery) <= </div>
-<div class="line"><a name="l02221"></a><span class="lineno"> 2221</span> radius*radius )</div>
-<div class="line"><a name="l02222"></a><span class="lineno"> 2222</span> {</div>
-<div class="line"><a name="l02223"></a><span class="lineno"> 2223</span> circle[m] = pidata[k + j * ilx] ;</div>
-<div class="line"><a name="l02224"></a><span class="lineno"> 2224</span> m ++ ;</div>
-<div class="line"><a name="l02225"></a><span class="lineno"> 2225</span> }</div>
-<div class="line"><a name="l02226"></a><span class="lineno"> 2226</span> }</div>
-<div class="line"><a name="l02227"></a><span class="lineno"> 2227</span> }</div>
-<div class="line"><a name="l02228"></a><span class="lineno"> 2228</span> </div>
-<div class="line"><a name="l02229"></a><span class="lineno"> 2229</span> nv = 0 ;</div>
-<div class="line"><a name="l02230"></a><span class="lineno"> 2230</span> <span class="keywordflow">for</span> ( l = 0 ; l < circsize ; l++ )</div>
-<div class="line"><a name="l02231"></a><span class="lineno"> 2231</span> {</div>
-<div class="line"><a name="l02232"></a><span class="lineno"> 2232</span> <span class="keywordflow">if</span> ( isnan(circle[l]) )</div>
-<div class="line"><a name="l02233"></a><span class="lineno"> 2233</span> {</div>
-<div class="line"><a name="l02234"></a><span class="lineno"> 2234</span> continue ;</div>
-<div class="line"><a name="l02235"></a><span class="lineno"> 2235</span> }</div>
-<div class="line"><a name="l02236"></a><span class="lineno"> 2236</span> clean -> data[i] += circle[l] ;</div>
-<div class="line"><a name="l02237"></a><span class="lineno"> 2237</span> nv ++;</div>
-<div class="line"><a name="l02238"></a><span class="lineno"> 2238</span> }</div>
-<div class="line"><a name="l02239"></a><span class="lineno"> 2239</span> <span class="keywordflow">if</span> ( nv == 0 )</div>
-<div class="line"><a name="l02240"></a><span class="lineno"> 2240</span> {</div>
-<div class="line"><a name="l02241"></a><span class="lineno"> 2241</span> clean->data[i] = 0. ;</div>
-<div class="line"><a name="l02242"></a><span class="lineno"> 2242</span> }</div>
-<div class="line"><a name="l02243"></a><span class="lineno"> 2243</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02244"></a><span class="lineno"> 2244</span> {</div>
-<div class="line"><a name="l02245"></a><span class="lineno"> 2245</span> clean->data[i] = sinfo_new_clean_mean(circle, nv, </div>
-<div class="line"><a name="l02246"></a><span class="lineno"> 2246</span> lo_reject, hi_reject) ; </div>
-<div class="line"><a name="l02247"></a><span class="lineno"> 2247</span> }</div>
-<div class="line"><a name="l02248"></a><span class="lineno"> 2248</span> cpl_free (circle) ;</div>
-<div class="line"><a name="l02249"></a><span class="lineno"> 2249</span> }</div>
-<div class="line"><a name="l02250"></a><span class="lineno"> 2250</span> <span class="keywordflow">return</span> clean ;</div>
-<div class="line"><a name="l02251"></a><span class="lineno"> 2251</span> }</div>
-<div class="line"><a name="l02252"></a><span class="lineno"> 2252</span> </div>
-<div class="line"><a name="l02264"></a><span class="lineno"> 2264</span> <span class="keywordtype">float</span> * </div>
-<div class="line"><a name="l02265"></a><span class="lineno"> 2265</span> sinfo_new_shift_array ( <span class="keywordtype">float</span> * input, <span class="keywordtype">int</span> n_elements, </div>
-<div class="line"><a name="l02266"></a><span class="lineno"> 2266</span> <span class="keywordtype">float</span> shift, <span class="keywordtype">double</span> * ker ) </div>
-<div class="line"><a name="l02267"></a><span class="lineno"> 2267</span> {</div>
-<div class="line"><a name="l02268"></a><span class="lineno"> 2268</span> <span class="keywordtype">float</span> * shifted ;</div>
-<div class="line"><a name="l02269"></a><span class="lineno"> 2269</span> <span class="keywordtype">int</span> samples = KERNEL_SAMPLES ;</div>
-<div class="line"><a name="l02270"></a><span class="lineno"> 2270</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l02271"></a><span class="lineno"> 2271</span> <span class="keywordtype">float</span> fx ;</div>
-<div class="line"><a name="l02272"></a><span class="lineno"> 2272</span> <span class="keywordtype">float</span> rx ;</div>
-<div class="line"><a name="l02273"></a><span class="lineno"> 2273</span> <span class="keywordtype">int</span> px ;</div>
-<div class="line"><a name="l02274"></a><span class="lineno"> 2274</span> <span class="keywordtype">int</span> tabx ;</div>
-<div class="line"><a name="l02275"></a><span class="lineno"> 2275</span> <span class="keywordtype">float</span> value ;</div>
-<div class="line"><a name="l02276"></a><span class="lineno"> 2276</span> <span class="comment">/*size_t pos ;*/</span></div>
-<div class="line"><a name="l02277"></a><span class="lineno"> 2277</span> <span class="keyword">register</span> <span class="keywordtype">float</span> * pix ;</div>
-<div class="line"><a name="l02278"></a><span class="lineno"> 2278</span> <span class="keywordtype">int</span> mid;</div>
-<div class="line"><a name="l02279"></a><span class="lineno"> 2279</span> <span class="keywordtype">float</span> norm ;</div>
-<div class="line"><a name="l02280"></a><span class="lineno"> 2280</span> </div>
-<div class="line"><a name="l02281"></a><span class="lineno"> 2281</span> <span class="comment">/* error handling: test entries */</span></div>
-<div class="line"><a name="l02282"></a><span class="lineno"> 2282</span> <span class="keywordflow">if</span> (input==NULL) </div>
-<div class="line"><a name="l02283"></a><span class="lineno"> 2283</span> {</div>
-<div class="line"><a name="l02284"></a><span class="lineno"> 2284</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no input array given!\n"</span>) ;</div>
-<div class="line"><a name="l02285"></a><span class="lineno"> 2285</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02286"></a><span class="lineno"> 2286</span> }</div>
-<div class="line"><a name="l02287"></a><span class="lineno"> 2287</span> <span class="keywordflow">if</span> (n_elements<=0) </div>
-<div class="line"><a name="l02288"></a><span class="lineno"> 2288</span> {</div>
-<div class="line"><a name="l02289"></a><span class="lineno"> 2289</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong number of elements in input array given!\n"</span>) ;</div>
-<div class="line"><a name="l02290"></a><span class="lineno"> 2290</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02291"></a><span class="lineno"> 2291</span> }</div>
-<div class="line"><a name="l02292"></a><span class="lineno"> 2292</span> </div>
-<div class="line"><a name="l02293"></a><span class="lineno"> 2293</span> shifted = (<span class="keywordtype">float</span>*) cpl_calloc(n_elements, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02294"></a><span class="lineno"> 2294</span> </div>
-<div class="line"><a name="l02295"></a><span class="lineno"> 2295</span> <span class="comment">/* Shifting by a zero offset returns a copy of the input image */</span></div>
-<div class="line"><a name="l02296"></a><span class="lineno"> 2296</span> <span class="keywordflow">if</span> ((fabs(shift)<1e-2))</div>
-<div class="line"><a name="l02297"></a><span class="lineno"> 2297</span> {</div>
-<div class="line"><a name="l02298"></a><span class="lineno"> 2298</span> <span class="keywordflow">for</span> (i = 0 ; i < n_elements ; i++ )</div>
-<div class="line"><a name="l02299"></a><span class="lineno"> 2299</span> {</div>
-<div class="line"><a name="l02300"></a><span class="lineno"> 2300</span> shifted[i] = input[i] ;</div>
-<div class="line"><a name="l02301"></a><span class="lineno"> 2301</span> }</div>
-<div class="line"><a name="l02302"></a><span class="lineno"> 2302</span> <span class="keywordflow">return</span> shifted ;</div>
-<div class="line"><a name="l02303"></a><span class="lineno"> 2303</span> }</div>
-<div class="line"><a name="l02304"></a><span class="lineno"> 2304</span> </div>
-<div class="line"><a name="l02305"></a><span class="lineno"> 2305</span> mid = (int)samples/(<span class="keywordtype">int</span>)2 ;</div>
-<div class="line"><a name="l02306"></a><span class="lineno"> 2306</span> </div>
-<div class="line"><a name="l02307"></a><span class="lineno"> 2307</span> <span class="keywordflow">for</span> (i=1 ; i< n_elements-2 ; i++) </div>
-<div class="line"><a name="l02308"></a><span class="lineno"> 2308</span> {</div>
-<div class="line"><a name="l02309"></a><span class="lineno"> 2309</span> fx = (float)i+shift ;</div>
-<div class="line"><a name="l02310"></a><span class="lineno"> 2310</span> px = sinfo_new_nint(fx) ;</div>
-<div class="line"><a name="l02311"></a><span class="lineno"> 2311</span> rx = fx - (float)px ;</div>
-<div class="line"><a name="l02312"></a><span class="lineno"> 2312</span> pix = input ;</div>
-<div class="line"><a name="l02313"></a><span class="lineno"> 2313</span> </div>
-<div class="line"><a name="l02314"></a><span class="lineno"> 2314</span> <span class="keywordflow">if</span> ((px>=1) && (px<(n_elements-2))) </div>
-<div class="line"><a name="l02315"></a><span class="lineno"> 2315</span> {</div>
-<div class="line"><a name="l02316"></a><span class="lineno"> 2316</span> tabx = (int)(fabs((<span class="keywordtype">float</span>)mid * rx)) ;</div>
-<div class="line"><a name="l02317"></a><span class="lineno"> 2317</span> <span class="comment">/* exclude blank (ZERO) pixels from interpolation */</span></div>
-<div class="line"><a name="l02318"></a><span class="lineno"> 2318</span> <span class="keywordflow">if</span> (isnan(pix[i]))</div>
-<div class="line"><a name="l02319"></a><span class="lineno"> 2319</span> {</div>
-<div class="line"><a name="l02320"></a><span class="lineno"> 2320</span> value = ZERO ;</div>
-<div class="line"><a name="l02321"></a><span class="lineno"> 2321</span> }</div>
-<div class="line"><a name="l02322"></a><span class="lineno"> 2322</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02323"></a><span class="lineno"> 2323</span> {</div>
-<div class="line"><a name="l02324"></a><span class="lineno"> 2324</span> <span class="keywordflow">if</span> (isnan(pix[i-1]))</div>
-<div class="line"><a name="l02325"></a><span class="lineno"> 2325</span> {</div>
-<div class="line"><a name="l02326"></a><span class="lineno"> 2326</span> pix[i-1] = 0. ;</div>
-<div class="line"><a name="l02327"></a><span class="lineno"> 2327</span> }</div>
-<div class="line"><a name="l02328"></a><span class="lineno"> 2328</span> <span class="keywordflow">if</span> (isnan(pix[i+1]))</div>
-<div class="line"><a name="l02329"></a><span class="lineno"> 2329</span> {</div>
-<div class="line"><a name="l02330"></a><span class="lineno"> 2330</span> pix[i+1] = 0. ;</div>
-<div class="line"><a name="l02331"></a><span class="lineno"> 2331</span> }</div>
-<div class="line"><a name="l02332"></a><span class="lineno"> 2332</span> <span class="keywordflow">if</span> (isnan(pix[i+2]))</div>
-<div class="line"><a name="l02333"></a><span class="lineno"> 2333</span> {</div>
-<div class="line"><a name="l02334"></a><span class="lineno"> 2334</span> pix[i+2] = 0. ;</div>
-<div class="line"><a name="l02335"></a><span class="lineno"> 2335</span> }</div>
-<div class="line"><a name="l02336"></a><span class="lineno"> 2336</span> </div>
-<div class="line"><a name="l02337"></a><span class="lineno"> 2337</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02338"></a><span class="lineno"> 2338</span> <span class="comment"> * Sum up over 4 closest pixel values,</span></div>
-<div class="line"><a name="l02339"></a><span class="lineno"> 2339</span> <span class="comment"> * weighted by interpolation kernel values</span></div>
-<div class="line"><a name="l02340"></a><span class="lineno"> 2340</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02341"></a><span class="lineno"> 2341</span> value = pix[i-1] * ker[mid+tabx] +</div>
-<div class="line"><a name="l02342"></a><span class="lineno"> 2342</span> pix[i] * ker[tabx] +</div>
-<div class="line"><a name="l02343"></a><span class="lineno"> 2343</span> pix[i+1] * ker[mid-tabx] +</div>
-<div class="line"><a name="l02344"></a><span class="lineno"> 2344</span> pix[i+2] * ker[samples-tabx-1] ;</div>
-<div class="line"><a name="l02345"></a><span class="lineno"> 2345</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l02346"></a><span class="lineno"> 2346</span> <span class="comment"> * Also sum up interpolation kernel coefficients</span></div>
-<div class="line"><a name="l02347"></a><span class="lineno"> 2347</span> <span class="comment"> * for further normalization</span></div>
-<div class="line"><a name="l02348"></a><span class="lineno"> 2348</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02349"></a><span class="lineno"> 2349</span> norm = ker[mid+tabx] +</div>
-<div class="line"><a name="l02350"></a><span class="lineno"> 2350</span> ker[tabx] +</div>
-<div class="line"><a name="l02351"></a><span class="lineno"> 2351</span> ker[mid-tabx] +</div>
-<div class="line"><a name="l02352"></a><span class="lineno"> 2352</span> ker[samples-tabx-1] ;</div>
-<div class="line"><a name="l02353"></a><span class="lineno"> 2353</span> <span class="keywordflow">if</span> (fabs(norm) > 1e-4) </div>
-<div class="line"><a name="l02354"></a><span class="lineno"> 2354</span> {</div>
-<div class="line"><a name="l02355"></a><span class="lineno"> 2355</span> value /= norm ;</div>
-<div class="line"><a name="l02356"></a><span class="lineno"> 2356</span> }</div>
-<div class="line"><a name="l02357"></a><span class="lineno"> 2357</span> }</div>
-<div class="line"><a name="l02358"></a><span class="lineno"> 2358</span> } </div>
-<div class="line"><a name="l02359"></a><span class="lineno"> 2359</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l02360"></a><span class="lineno"> 2360</span> {</div>
-<div class="line"><a name="l02361"></a><span class="lineno"> 2361</span> value = 0.0 ;</div>
-<div class="line"><a name="l02362"></a><span class="lineno"> 2362</span> }</div>
-<div class="line"><a name="l02363"></a><span class="lineno"> 2363</span> <span class="keywordflow">if</span> ( isnan(value) )</div>
-<div class="line"><a name="l02364"></a><span class="lineno"> 2364</span> {</div>
-<div class="line"><a name="l02365"></a><span class="lineno"> 2365</span> shifted[i] = ZERO ;</div>
-<div class="line"><a name="l02366"></a><span class="lineno"> 2366</span> }</div>
-<div class="line"><a name="l02367"></a><span class="lineno"> 2367</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02368"></a><span class="lineno"> 2368</span> {</div>
-<div class="line"><a name="l02369"></a><span class="lineno"> 2369</span> shifted[i] = value ;</div>
-<div class="line"><a name="l02370"></a><span class="lineno"> 2370</span> }</div>
-<div class="line"><a name="l02371"></a><span class="lineno"> 2371</span> } </div>
-<div class="line"><a name="l02372"></a><span class="lineno"> 2372</span> <span class="keywordflow">return</span> shifted ;</div>
-<div class="line"><a name="l02373"></a><span class="lineno"> 2373</span> }</div>
-<div class="line"><a name="l02374"></a><span class="lineno"> 2374</span> </div>
-<div class="line"><a name="l02375"></a><span class="lineno"> 2375</span> </div>
-<div class="line"><a name="l02376"></a><span class="lineno"> 2376</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02377"></a><span class="lineno"> 2377</span> </div>
-<div class="line"><a name="l02389"></a><span class="lineno"> 2389</span> cpl_image * </div>
-<div class="line"><a name="l02390"></a><span class="lineno"> 2390</span> sinfo_new_div_image_by_spectrum( cpl_image * image, cpl_image * spectrum )</div>
-<div class="line"><a name="l02391"></a><span class="lineno"> 2391</span> {</div>
-<div class="line"><a name="l02392"></a><span class="lineno"> 2392</span> <span class="keywordtype">int</span> col, row ;</div>
-<div class="line"><a name="l02393"></a><span class="lineno"> 2393</span> cpl_image * retImage ;</div>
-<div class="line"><a name="l02394"></a><span class="lineno"> 2394</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l02395"></a><span class="lineno"> 2395</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l02396"></a><span class="lineno"> 2396</span> </div>
-<div class="line"><a name="l02397"></a><span class="lineno"> 2397</span> <span class="keywordtype">int</span> slx=0;</div>
-<div class="line"><a name="l02398"></a><span class="lineno"> 2398</span> <span class="keywordtype">int</span> sly=0;</div>
-<div class="line"><a name="l02399"></a><span class="lineno"> 2399</span> </div>
-<div class="line"><a name="l02400"></a><span class="lineno"> 2400</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l02401"></a><span class="lineno"> 2401</span> <span class="keywordtype">float</span>* psdata=NULL;</div>
-<div class="line"><a name="l02402"></a><span class="lineno"> 2402</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l02403"></a><span class="lineno"> 2403</span> </div>
-<div class="line"><a name="l02404"></a><span class="lineno"> 2404</span> <span class="keywordflow">if</span> ( image == NULL )</div>
-<div class="line"><a name="l02405"></a><span class="lineno"> 2405</span> {</div>
-<div class="line"><a name="l02406"></a><span class="lineno"> 2406</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no image given!"</span>) ;</div>
-<div class="line"><a name="l02407"></a><span class="lineno"> 2407</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02408"></a><span class="lineno"> 2408</span> }</div>
-<div class="line"><a name="l02409"></a><span class="lineno"> 2409</span> ilx=cpl_image_get_size_x(image);</div>
-<div class="line"><a name="l02410"></a><span class="lineno"> 2410</span> ily=cpl_image_get_size_y(image);</div>
-<div class="line"><a name="l02411"></a><span class="lineno"> 2411</span> </div>
-<div class="line"><a name="l02412"></a><span class="lineno"> 2412</span> </div>
-<div class="line"><a name="l02413"></a><span class="lineno"> 2413</span> <span class="keywordflow">if</span> ( spectrum == NULL )</div>
-<div class="line"><a name="l02414"></a><span class="lineno"> 2414</span> {</div>
-<div class="line"><a name="l02415"></a><span class="lineno"> 2415</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no spectrum image given!"</span>) ;</div>
-<div class="line"><a name="l02416"></a><span class="lineno"> 2416</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02417"></a><span class="lineno"> 2417</span> }</div>
-<div class="line"><a name="l02418"></a><span class="lineno"> 2418</span> slx=cpl_image_get_size_x(spectrum);</div>
-<div class="line"><a name="l02419"></a><span class="lineno"> 2419</span> sly=cpl_image_get_size_y(spectrum);</div>
-<div class="line"><a name="l02420"></a><span class="lineno"> 2420</span> </div>
-<div class="line"><a name="l02421"></a><span class="lineno"> 2421</span> <span class="keywordflow">if</span> ( sly != ily )</div>
-<div class="line"><a name="l02422"></a><span class="lineno"> 2422</span> {</div>
-<div class="line"><a name="l02423"></a><span class="lineno"> 2423</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"images are not compatible in pixel length!"</span>) ;</div>
-<div class="line"><a name="l02424"></a><span class="lineno"> 2424</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02425"></a><span class="lineno"> 2425</span> }</div>
-<div class="line"><a name="l02426"></a><span class="lineno"> 2426</span> <span class="keywordflow">if</span> ( NULL == (retImage = cpl_image_duplicate(image)) )</div>
-<div class="line"><a name="l02427"></a><span class="lineno"> 2427</span> {</div>
-<div class="line"><a name="l02428"></a><span class="lineno"> 2428</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not copy original image!"</span>) ;</div>
-<div class="line"><a name="l02429"></a><span class="lineno"> 2429</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02430"></a><span class="lineno"> 2430</span> }</div>
-<div class="line"><a name="l02431"></a><span class="lineno"> 2431</span> pidata=cpl_image_get_data_float(image);</div>
-<div class="line"><a name="l02432"></a><span class="lineno"> 2432</span> psdata=cpl_image_get_data_float(spectrum);</div>
-<div class="line"><a name="l02433"></a><span class="lineno"> 2433</span> podata=cpl_image_get_data_float(retImage);</div>
-<div class="line"><a name="l02434"></a><span class="lineno"> 2434</span> </div>
-<div class="line"><a name="l02435"></a><span class="lineno"> 2435</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l02436"></a><span class="lineno"> 2436</span> {</div>
-<div class="line"><a name="l02437"></a><span class="lineno"> 2437</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l02438"></a><span class="lineno"> 2438</span> {</div>
-<div class="line"><a name="l02439"></a><span class="lineno"> 2439</span> <span class="keywordflow">if</span> ( !isnan(pidata[col+row*ilx]) &&</div>
-<div class="line"><a name="l02440"></a><span class="lineno"> 2440</span> !isnan(psdata[col+row*ilx]))</div>
-<div class="line"><a name="l02441"></a><span class="lineno"> 2441</span> {</div>
-<div class="line"><a name="l02442"></a><span class="lineno"> 2442</span> podata[col+row*ilx] = pidata[col+row*ilx] / psdata[row] ;</div>
-<div class="line"><a name="l02443"></a><span class="lineno"> 2443</span> }</div>
-<div class="line"><a name="l02444"></a><span class="lineno"> 2444</span> }</div>
-<div class="line"><a name="l02445"></a><span class="lineno"> 2445</span> }</div>
-<div class="line"><a name="l02446"></a><span class="lineno"> 2446</span> <span class="keywordflow">return</span> retImage ;</div>
-<div class="line"><a name="l02447"></a><span class="lineno"> 2447</span> }</div>
-<div class="line"><a name="l02448"></a><span class="lineno"> 2448</span> </div>
-<div class="line"><a name="l02449"></a><span class="lineno"> 2449</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l02450"></a><span class="lineno"> 2450</span> <span class="comment"> Function : sinfo_new_clean_mean_circle_of_cube_spectra()</span></div>
-<div class="line"><a name="l02451"></a><span class="lineno"> 2451</span> <span class="comment"> In : cube: 1 allocated cube, </span></div>
-<div class="line"><a name="l02452"></a><span class="lineno"> 2452</span> <span class="comment"> centerx, centery: center pixel of circular aperture </span></div>
-<div class="line"><a name="l02453"></a><span class="lineno"> 2453</span> <span class="comment"> in image coordinates</span></div>
-<div class="line"><a name="l02454"></a><span class="lineno"> 2454</span> <span class="comment"> radius: integer radius of circular aperture</span></div>
-<div class="line"><a name="l02455"></a><span class="lineno"> 2455</span> <span class="comment"> Out : result spectrum vector</span></div>
-<div class="line"><a name="l02456"></a><span class="lineno"> 2456</span> <span class="comment"> Job : clean averaging routine for a reduced data to get </span></div>
-<div class="line"><a name="l02457"></a><span class="lineno"> 2457</span> <span class="comment"> a better spectral S/N only for a circular aperture.</span></div>
-<div class="line"><a name="l02458"></a><span class="lineno"> 2458</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02459"></a><span class="lineno"> 2459</span> </div>
-<div class="line"><a name="l02460"></a><span class="lineno"> 2460</span> Vector * sinfo_new_clean_mean_circle_of_cube_spectra(cpl_imagelist * cube,</div>
-<div class="line"><a name="l02461"></a><span class="lineno"> 2461</span> <span class="keywordtype">int</span> centerx,</div>
-<div class="line"><a name="l02462"></a><span class="lineno"> 2462</span> <span class="keywordtype">int</span> centery,</div>
-<div class="line"><a name="l02463"></a><span class="lineno"> 2463</span> <span class="keywordtype">int</span> radius,</div>
-<div class="line"><a name="l02464"></a><span class="lineno"> 2464</span> <span class="keywordtype">float</span> lo_reject,</div>
-<div class="line"><a name="l02465"></a><span class="lineno"> 2465</span> <span class="keywordtype">float</span> hi_reject )</div>
-<div class="line"><a name="l02466"></a><span class="lineno"> 2466</span> {</div>
-<div class="line"><a name="l02467"></a><span class="lineno"> 2467</span> Vector * clean ;</div>
-<div class="line"><a name="l02468"></a><span class="lineno"> 2468</span> pixelvalue * circle ;</div>
-<div class="line"><a name="l02469"></a><span class="lineno"> 2469</span> <span class="keywordtype">int</span> i, j, k, l, m, n ;</div>
-<div class="line"><a name="l02470"></a><span class="lineno"> 2470</span> <span class="keywordtype">int</span> circsize, nv ;</div>
-<div class="line"><a name="l02471"></a><span class="lineno"> 2471</span> <span class="keywordtype">int</span> lx=0;</div>
-<div class="line"><a name="l02472"></a><span class="lineno"> 2472</span> <span class="keywordtype">int</span> ly=0;</div>
-<div class="line"><a name="l02473"></a><span class="lineno"> 2473</span> <span class="keywordtype">int</span> lz=0;</div>
-<div class="line"><a name="l02474"></a><span class="lineno"> 2474</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l02475"></a><span class="lineno"> 2475</span> cpl_image* img=NULL;</div>
-<div class="line"><a name="l02476"></a><span class="lineno"> 2476</span> </div>
-<div class="line"><a name="l02477"></a><span class="lineno"> 2477</span> lz=cpl_imagelist_get_size(cube);</div>
-<div class="line"><a name="l02478"></a><span class="lineno"> 2478</span> </div>
-<div class="line"><a name="l02479"></a><span class="lineno"> 2479</span> <span class="keywordflow">if</span> ( cube == NULL || lz < 1 )</div>
-<div class="line"><a name="l02480"></a><span class="lineno"> 2480</span> {</div>
-<div class="line"><a name="l02481"></a><span class="lineno"> 2481</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no cube to take the mean of his spectra"</span>) ;</div>
-<div class="line"><a name="l02482"></a><span class="lineno"> 2482</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l02483"></a><span class="lineno"> 2483</span> }</div>
-<div class="line"><a name="l02484"></a><span class="lineno"> 2484</span> img=cpl_imagelist_get(cube,0);</div>
-<div class="line"><a name="l02485"></a><span class="lineno"> 2485</span> lx=cpl_image_get_size_x(img);</div>
-<div class="line"><a name="l02486"></a><span class="lineno"> 2486</span> ly=cpl_image_get_size_y(img);</div>
-<div class="line"><a name="l02487"></a><span class="lineno"> 2487</span> </div>
-<div class="line"><a name="l02488"></a><span class="lineno"> 2488</span> <span class="keywordflow">if</span> ((centerx+radius>=lx) ||</div>
-<div class="line"><a name="l02489"></a><span class="lineno"> 2489</span> (centery+radius>=ly) ||</div>
-<div class="line"><a name="l02490"></a><span class="lineno"> 2490</span> (centerx-radius<0) ||</div>
-<div class="line"><a name="l02491"></a><span class="lineno"> 2491</span> (centery-radius<0))</div>
-<div class="line"><a name="l02492"></a><span class="lineno"> 2492</span> {</div>
-<div class="line"><a name="l02493"></a><span class="lineno"> 2493</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" invalid circular coordinates"</span>) ;</div>
-<div class="line"><a name="l02494"></a><span class="lineno"> 2494</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l02495"></a><span class="lineno"> 2495</span> }</div>
-<div class="line"><a name="l02496"></a><span class="lineno"> 2496</span> </div>
-<div class="line"><a name="l02497"></a><span class="lineno"> 2497</span> n = 0 ;</div>
-<div class="line"><a name="l02498"></a><span class="lineno"> 2498</span> <span class="keywordflow">for</span> ( j = centery - radius ; j <= centery + radius ; j++ )</div>
-<div class="line"><a name="l02499"></a><span class="lineno"> 2499</span> {</div>
-<div class="line"><a name="l02500"></a><span class="lineno"> 2500</span> <span class="keywordflow">for</span> ( k = centerx - radius ; k <= centerx + radius ; k++ )</div>
-<div class="line"><a name="l02501"></a><span class="lineno"> 2501</span> {</div>
-<div class="line"><a name="l02502"></a><span class="lineno"> 2502</span> <span class="keywordflow">if</span> ( (k-centerx)*(k-centerx)+(j-centery)*(j-centery) <= </div>
-<div class="line"><a name="l02503"></a><span class="lineno"> 2503</span> radius*radius )</div>
-<div class="line"><a name="l02504"></a><span class="lineno"> 2504</span> {</div>
-<div class="line"><a name="l02505"></a><span class="lineno"> 2505</span> n ++ ;</div>
-<div class="line"><a name="l02506"></a><span class="lineno"> 2506</span> }</div>
-<div class="line"><a name="l02507"></a><span class="lineno"> 2507</span> }</div>
-<div class="line"><a name="l02508"></a><span class="lineno"> 2508</span> }</div>
-<div class="line"><a name="l02509"></a><span class="lineno"> 2509</span> <span class="keywordflow">if</span> (n == 0)</div>
-<div class="line"><a name="l02510"></a><span class="lineno"> 2510</span> {</div>
-<div class="line"><a name="l02511"></a><span class="lineno"> 2511</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no data points found!"</span>) ;</div>
-<div class="line"><a name="l02512"></a><span class="lineno"> 2512</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l02513"></a><span class="lineno"> 2513</span> }</div>
-<div class="line"><a name="l02514"></a><span class="lineno"> 2514</span> circsize = n ;</div>
-<div class="line"><a name="l02515"></a><span class="lineno"> 2515</span> </div>
-<div class="line"><a name="l02516"></a><span class="lineno"> 2516</span> <span class="comment">/* allocate a new vector to store the average spectral values */</span></div>
-<div class="line"><a name="l02517"></a><span class="lineno"> 2517</span> <span class="keywordflow">if</span> (NULL == (clean = sinfo_new_vector (lz)) )</div>
-<div class="line"><a name="l02518"></a><span class="lineno"> 2518</span> {</div>
-<div class="line"><a name="l02519"></a><span class="lineno"> 2519</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" cannot allocate a new vector"</span>) ;</div>
-<div class="line"><a name="l02520"></a><span class="lineno"> 2520</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l02521"></a><span class="lineno"> 2521</span> }</div>
-<div class="line"><a name="l02522"></a><span class="lineno"> 2522</span> </div>
-<div class="line"><a name="l02523"></a><span class="lineno"> 2523</span> <span class="comment">/*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l02524"></a><span class="lineno"> 2524</span> <span class="comment"> * loop through the cube planes, through the x axis and the y-axis of the</span></div>
-<div class="line"><a name="l02525"></a><span class="lineno"> 2525</span> <span class="comment"> * plane circle and store pixel values in a buffer.</span></div>
-<div class="line"><a name="l02526"></a><span class="lineno"> 2526</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02527"></a><span class="lineno"> 2527</span> <span class="keywordflow">for</span> ( i = 0 ; i < lz ; i++ )</div>
-<div class="line"><a name="l02528"></a><span class="lineno"> 2528</span> {</div>
-<div class="line"><a name="l02529"></a><span class="lineno"> 2529</span> img=cpl_imagelist_get(cube,i);</div>
-<div class="line"><a name="l02530"></a><span class="lineno"> 2530</span> pidata=cpl_image_get_data(img);</div>
-<div class="line"><a name="l02531"></a><span class="lineno"> 2531</span> m = 0 ;</div>
-<div class="line"><a name="l02532"></a><span class="lineno"> 2532</span> circle = (pixelvalue *) cpl_calloc (circsize, <span class="keyword">sizeof</span> (pixelvalue*));</div>
-<div class="line"><a name="l02533"></a><span class="lineno"> 2533</span> </div>
-<div class="line"><a name="l02534"></a><span class="lineno"> 2534</span> <span class="keywordflow">for</span> ( j = centery - radius ; j <= centery + radius ; j++ )</div>
-<div class="line"><a name="l02535"></a><span class="lineno"> 2535</span> {</div>
-<div class="line"><a name="l02536"></a><span class="lineno"> 2536</span> <span class="keywordflow">for</span> ( k = centerx - radius ; k <= centerx + radius ; k++ )</div>
-<div class="line"><a name="l02537"></a><span class="lineno"> 2537</span> {</div>
-<div class="line"><a name="l02538"></a><span class="lineno"> 2538</span> <span class="keywordflow">if</span> ( (k-centerx)*(k-centerx)+(j-centery)*(j-centery) <= </div>
-<div class="line"><a name="l02539"></a><span class="lineno"> 2539</span> radius*radius )</div>
-<div class="line"><a name="l02540"></a><span class="lineno"> 2540</span> {</div>
-<div class="line"><a name="l02541"></a><span class="lineno"> 2541</span> circle[m] = pidata[k + j * lx] ;</div>
-<div class="line"><a name="l02542"></a><span class="lineno"> 2542</span> m ++ ;</div>
-<div class="line"><a name="l02543"></a><span class="lineno"> 2543</span> }</div>
-<div class="line"><a name="l02544"></a><span class="lineno"> 2544</span> }</div>
-<div class="line"><a name="l02545"></a><span class="lineno"> 2545</span> }</div>
-<div class="line"><a name="l02546"></a><span class="lineno"> 2546</span> </div>
-<div class="line"><a name="l02547"></a><span class="lineno"> 2547</span> nv = 0 ;</div>
-<div class="line"><a name="l02548"></a><span class="lineno"> 2548</span> <span class="keywordflow">for</span> ( l = 0 ; l < circsize ; l++ )</div>
-<div class="line"><a name="l02549"></a><span class="lineno"> 2549</span> {</div>
-<div class="line"><a name="l02550"></a><span class="lineno"> 2550</span> <span class="keywordflow">if</span> ( isnan(circle[l]) )</div>
-<div class="line"><a name="l02551"></a><span class="lineno"> 2551</span> {</div>
-<div class="line"><a name="l02552"></a><span class="lineno"> 2552</span> continue ;</div>
-<div class="line"><a name="l02553"></a><span class="lineno"> 2553</span> }</div>
-<div class="line"><a name="l02554"></a><span class="lineno"> 2554</span> clean -> data[i] += circle[l] ;</div>
-<div class="line"><a name="l02555"></a><span class="lineno"> 2555</span> nv ++;</div>
-<div class="line"><a name="l02556"></a><span class="lineno"> 2556</span> }</div>
-<div class="line"><a name="l02557"></a><span class="lineno"> 2557</span> <span class="keywordflow">if</span> ( nv == 0 )</div>
-<div class="line"><a name="l02558"></a><span class="lineno"> 2558</span> {</div>
-<div class="line"><a name="l02559"></a><span class="lineno"> 2559</span> clean->data[i] = 0. ;</div>
-<div class="line"><a name="l02560"></a><span class="lineno"> 2560</span> }</div>
-<div class="line"><a name="l02561"></a><span class="lineno"> 2561</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02562"></a><span class="lineno"> 2562</span> {</div>
-<div class="line"><a name="l02563"></a><span class="lineno"> 2563</span> clean->data[i] = sinfo_new_clean_mean(circle, nv, </div>
-<div class="line"><a name="l02564"></a><span class="lineno"> 2564</span> lo_reject, hi_reject) ; </div>
-<div class="line"><a name="l02565"></a><span class="lineno"> 2565</span> }</div>
-<div class="line"><a name="l02566"></a><span class="lineno"> 2566</span> cpl_free (circle) ;</div>
-<div class="line"><a name="l02567"></a><span class="lineno"> 2567</span> }</div>
-<div class="line"><a name="l02568"></a><span class="lineno"> 2568</span> <span class="keywordflow">return</span> clean ;</div>
-<div class="line"><a name="l02569"></a><span class="lineno"> 2569</span> }</div>
-<div class="line"><a name="l02570"></a><span class="lineno"> 2570</span> </div>
-<div class="line"><a name="l02571"></a><span class="lineno"> 2571</span> </div>
-<div class="line"><a name="l02572"></a><span class="lineno"> 2572</span> </div>
-<div class="line"><a name="l02573"></a><span class="lineno"> 2573</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l02574"></a><span class="lineno"> 2574</span> <span class="comment"> Function : sinfo_new_clean_mean_rectangle_of_cube_spectra()</span></div>
-<div class="line"><a name="l02575"></a><span class="lineno"> 2575</span> <span class="comment"> In : cube: 1 allocated cube, </span></div>
-<div class="line"><a name="l02576"></a><span class="lineno"> 2576</span> <span class="comment"> llx, lly, urx, ury: lower left and upper right</span></div>
-<div class="line"><a name="l02577"></a><span class="lineno"> 2577</span> <span class="comment"> position of rectangle in x-y plane ,</span></div>
-<div class="line"><a name="l02578"></a><span class="lineno"> 2578</span> <span class="comment"> image coordinates 0...</span></div>
-<div class="line"><a name="l02579"></a><span class="lineno"> 2579</span> <span class="comment"> Out : result spectrum vector</span></div>
-<div class="line"><a name="l02580"></a><span class="lineno"> 2580</span> <span class="comment"> Job : clean averaging routine for a reduced data to get a</span></div>
-<div class="line"><a name="l02581"></a><span class="lineno"> 2581</span> <span class="comment"> better spectral S/N only for a rectangular aperture.</span></div>
-<div class="line"><a name="l02582"></a><span class="lineno"> 2582</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02583"></a><span class="lineno"> 2583</span> </div>
-<div class="line"><a name="l02584"></a><span class="lineno"> 2584</span> Vector * sinfo_new_clean_mean_rectangle_of_cube_spectra( cpl_imagelist * cube,</div>
-<div class="line"><a name="l02585"></a><span class="lineno"> 2585</span> <span class="keywordtype">int</span> llx,</div>
-<div class="line"><a name="l02586"></a><span class="lineno"> 2586</span> <span class="keywordtype">int</span> lly,</div>
-<div class="line"><a name="l02587"></a><span class="lineno"> 2587</span> <span class="keywordtype">int</span> urx,</div>
-<div class="line"><a name="l02588"></a><span class="lineno"> 2588</span> <span class="keywordtype">int</span> ury,</div>
-<div class="line"><a name="l02589"></a><span class="lineno"> 2589</span> <span class="keywordtype">float</span> lo_reject,</div>
-<div class="line"><a name="l02590"></a><span class="lineno"> 2590</span> <span class="keywordtype">float</span> hi_reject )</div>
-<div class="line"><a name="l02591"></a><span class="lineno"> 2591</span> {</div>
-<div class="line"><a name="l02592"></a><span class="lineno"> 2592</span> Vector * clean ;</div>
-<div class="line"><a name="l02593"></a><span class="lineno"> 2593</span> pixelvalue *rectangle ;</div>
-<div class="line"><a name="l02594"></a><span class="lineno"> 2594</span> <span class="keywordtype">int</span> i, j, k, m ;</div>
-<div class="line"><a name="l02595"></a><span class="lineno"> 2595</span> <span class="keywordtype">int</span> recsize ;</div>
-<div class="line"><a name="l02596"></a><span class="lineno"> 2596</span> <span class="keywordtype">int</span> lx=0;</div>
-<div class="line"><a name="l02597"></a><span class="lineno"> 2597</span> <span class="keywordtype">int</span> ly=0;</div>
-<div class="line"><a name="l02598"></a><span class="lineno"> 2598</span> <span class="keywordtype">int</span> lz=0;</div>
-<div class="line"><a name="l02599"></a><span class="lineno"> 2599</span> <span class="keywordtype">float</span>* pidata=0;</div>
-<div class="line"><a name="l02600"></a><span class="lineno"> 2600</span> cpl_image* img=NULL;</div>
-<div class="line"><a name="l02601"></a><span class="lineno"> 2601</span> </div>
-<div class="line"><a name="l02602"></a><span class="lineno"> 2602</span> lz=cpl_imagelist_get_size(cube);</div>
-<div class="line"><a name="l02603"></a><span class="lineno"> 2603</span> </div>
-<div class="line"><a name="l02604"></a><span class="lineno"> 2604</span> <span class="keywordflow">if</span> ( cube == NULL || lz < 1 )</div>
-<div class="line"><a name="l02605"></a><span class="lineno"> 2605</span> {</div>
-<div class="line"><a name="l02606"></a><span class="lineno"> 2606</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no cube to take the mean of his spectra"</span>) ;</div>
-<div class="line"><a name="l02607"></a><span class="lineno"> 2607</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l02608"></a><span class="lineno"> 2608</span> }</div>
-<div class="line"><a name="l02609"></a><span class="lineno"> 2609</span> img=cpl_imagelist_get(cube,0);</div>
-<div class="line"><a name="l02610"></a><span class="lineno"> 2610</span> lx=cpl_image_get_size_x(img);</div>
-<div class="line"><a name="l02611"></a><span class="lineno"> 2611</span> ly=cpl_image_get_size_y(img);</div>
-<div class="line"><a name="l02612"></a><span class="lineno"> 2612</span> </div>
-<div class="line"><a name="l02613"></a><span class="lineno"> 2613</span> <span class="keywordflow">if</span> ((llx<0) || (llx>=lx) ||</div>
-<div class="line"><a name="l02614"></a><span class="lineno"> 2614</span> (urx<0) || (urx>=lx) ||</div>
-<div class="line"><a name="l02615"></a><span class="lineno"> 2615</span> (lly<0) || (lly>=ly) ||</div>
-<div class="line"><a name="l02616"></a><span class="lineno"> 2616</span> (ury<0) || (ury>=ly) ||</div>
-<div class="line"><a name="l02617"></a><span class="lineno"> 2617</span> (llx>=urx) || (lly>=ury))</div>
-<div class="line"><a name="l02618"></a><span class="lineno"> 2618</span> {</div>
-<div class="line"><a name="l02619"></a><span class="lineno"> 2619</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" invalid rectangle coordinates:"</span>) ;</div>
-<div class="line"><a name="l02620"></a><span class="lineno"> 2620</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"lower left is [%d %d] upper right is [%d %d]"</span>,</div>
-<div class="line"><a name="l02621"></a><span class="lineno"> 2621</span> llx, lly, urx, ury) ;</div>
-<div class="line"><a name="l02622"></a><span class="lineno"> 2622</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l02623"></a><span class="lineno"> 2623</span> }</div>
-<div class="line"><a name="l02624"></a><span class="lineno"> 2624</span> </div>
-<div class="line"><a name="l02625"></a><span class="lineno"> 2625</span> recsize = (urx - llx + 1) * (ury - lly + 1) ;</div>
-<div class="line"><a name="l02626"></a><span class="lineno"> 2626</span> </div>
-<div class="line"><a name="l02627"></a><span class="lineno"> 2627</span> <span class="comment">/* allocate a new vector to store the average spectral values */</span></div>
-<div class="line"><a name="l02628"></a><span class="lineno"> 2628</span> <span class="keywordflow">if</span> (NULL == (clean = sinfo_new_vector (lz)) )</div>
-<div class="line"><a name="l02629"></a><span class="lineno"> 2629</span> {</div>
-<div class="line"><a name="l02630"></a><span class="lineno"> 2630</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" cannot allocate a new vector"</span>) ;</div>
-<div class="line"><a name="l02631"></a><span class="lineno"> 2631</span> <span class="keywordflow">return</span> NullVector ;</div>
-<div class="line"><a name="l02632"></a><span class="lineno"> 2632</span> }</div>
-<div class="line"><a name="l02633"></a><span class="lineno"> 2633</span> </div>
-<div class="line"><a name="l02634"></a><span class="lineno"> 2634</span> <span class="comment">/*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l02635"></a><span class="lineno"> 2635</span> <span class="comment"> * loop through the cube planes, through the x axis and the y-axis of the</span></div>
-<div class="line"><a name="l02636"></a><span class="lineno"> 2636</span> <span class="comment"> * plane rectangle and store pixel values in a buffer.</span></div>
-<div class="line"><a name="l02637"></a><span class="lineno"> 2637</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02638"></a><span class="lineno"> 2638</span> <span class="keywordflow">for</span> ( i = 0 ; i < lz ; i++ )</div>
-<div class="line"><a name="l02639"></a><span class="lineno"> 2639</span> {</div>
-<div class="line"><a name="l02640"></a><span class="lineno"> 2640</span> m = 0 ;</div>
-<div class="line"><a name="l02641"></a><span class="lineno"> 2641</span> rectangle = (pixelvalue *) cpl_calloc (recsize, <span class="keyword">sizeof</span> (pixelvalue*));</div>
-<div class="line"><a name="l02642"></a><span class="lineno"> 2642</span> img=cpl_imagelist_get(cube,i);</div>
-<div class="line"><a name="l02643"></a><span class="lineno"> 2643</span> pidata=cpl_image_get_data(img);</div>
-<div class="line"><a name="l02644"></a><span class="lineno"> 2644</span> <span class="keywordflow">for</span> ( j = lly ; j <= ury ; j++ )</div>
-<div class="line"><a name="l02645"></a><span class="lineno"> 2645</span> {</div>
-<div class="line"><a name="l02646"></a><span class="lineno"> 2646</span> <span class="keywordflow">for</span> ( k = llx ; k <= urx ; k++ )</div>
-<div class="line"><a name="l02647"></a><span class="lineno"> 2647</span> {</div>
-<div class="line"><a name="l02648"></a><span class="lineno"> 2648</span> <span class="keywordflow">if</span> ( isnan(pidata[k+j*lx]) )</div>
-<div class="line"><a name="l02649"></a><span class="lineno"> 2649</span> {</div>
-<div class="line"><a name="l02650"></a><span class="lineno"> 2650</span> continue ;</div>
-<div class="line"><a name="l02651"></a><span class="lineno"> 2651</span> }</div>
-<div class="line"><a name="l02652"></a><span class="lineno"> 2652</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02653"></a><span class="lineno"> 2653</span> {</div>
-<div class="line"><a name="l02654"></a><span class="lineno"> 2654</span> rectangle[m] = pidata[k + j * lx] ;</div>
-<div class="line"><a name="l02655"></a><span class="lineno"> 2655</span> m ++ ;</div>
-<div class="line"><a name="l02656"></a><span class="lineno"> 2656</span> }</div>
-<div class="line"><a name="l02657"></a><span class="lineno"> 2657</span> }</div>
-<div class="line"><a name="l02658"></a><span class="lineno"> 2658</span> }</div>
-<div class="line"><a name="l02659"></a><span class="lineno"> 2659</span> <span class="keywordflow">if</span> ( m == 0 )</div>
-<div class="line"><a name="l02660"></a><span class="lineno"> 2660</span> {</div>
-<div class="line"><a name="l02661"></a><span class="lineno"> 2661</span> clean->data[i] = 0. ;</div>
-<div class="line"><a name="l02662"></a><span class="lineno"> 2662</span> }</div>
-<div class="line"><a name="l02663"></a><span class="lineno"> 2663</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02664"></a><span class="lineno"> 2664</span> {</div>
-<div class="line"><a name="l02665"></a><span class="lineno"> 2665</span> clean->data[i] = sinfo_new_clean_mean(rectangle, m, </div>
-<div class="line"><a name="l02666"></a><span class="lineno"> 2666</span> lo_reject, hi_reject) ;</div>
-<div class="line"><a name="l02667"></a><span class="lineno"> 2667</span> }</div>
-<div class="line"><a name="l02668"></a><span class="lineno"> 2668</span> cpl_free ( rectangle ) ;</div>
-<div class="line"><a name="l02669"></a><span class="lineno"> 2669</span> }</div>
-<div class="line"><a name="l02670"></a><span class="lineno"> 2670</span> <span class="keywordflow">return</span> clean ;</div>
-<div class="line"><a name="l02671"></a><span class="lineno"> 2671</span> }</div>
-<div class="line"><a name="l02672"></a><span class="lineno"> 2672</span> </div>
-<div class="line"><a name="l02673"></a><span class="lineno"> 2673</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__spectrum__ops_8h_source.html b/html/sinfo__spectrum__ops_8h_source.html
deleted file mode 100644
index fabbef1..0000000
--- a/html/sinfo__spectrum__ops_8h_source.html
+++ /dev/null
@@ -1,241 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_spectrum_ops.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_spectrum_ops.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_SPECTRUM_OPS_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_SPECTRUM_OPS_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">* "@(#) $Id: sinfo_spectrum_ops.h,v 1.4 2007/06/06 07:10:45 amodigli Exp $"</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">* schreib 25/05/00 created</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * sinfo_spectrum_ops.h</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> * spectral sinfo_vector routines</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#define SPEED_OF_LIGHT 2.99792458e8</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor"></span><span class="preprocessor">#define PLANCK 6.62606876e-34</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor"></span><span class="preprocessor">#define BOLTZMANN 1.3806503e-23</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include "sinfo_focus.h"</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include "sinfo_recipes.h"</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include "sinfo_new_cube_ops.h"</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> * Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> sinfo_stectrum_ima2table(</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keyword">const</span> cpl_image* spc,</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* filename,</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> cpl_table** tbl);</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> Vector * </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> sinfo_new_cleanmean_rectangle_of_cube_spectra( cpl_imagelist * cube,</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">int</span> llx,</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keywordtype">int</span> lly,</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keywordtype">int</span> urx,</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">int</span> ury,</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">float</span> lo_reject,</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">float</span> hi_reject );</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> Vector * </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> sinfo_new_cleanmean_circle_of_cube_spectra( cpl_imagelist * cube,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">int</span> centerx,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">int</span> centery,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">int</span> radius,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">float</span> lo_reject,</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">float</span> hi_reject );</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> cpl_image * </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> sinfo_new_div_image_by_spectrum( cpl_image * image, cpl_image * spectrum ) ;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> sinfo_free_svector( Vector **svector );</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> Vector * </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> sinfo_new_vector( ulong32 n_elements ) ;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> sinfo_new_destroy_vector( Vector *sinfo_vector ) ;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> cpl_image * </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> sinfo_new_vector_to_image( Vector * spectrum ) ;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> Vector * </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> sinfo_new_image_to_vector( cpl_image * spectrum ) ;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> cpl_image * </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> sinfo_new_extract_spectrum_from_resampled_flat( cpl_image * resflat,</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordtype">float</span> loreject,</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordtype">float</span> hireject ) ;</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> cpl_image * </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> sinfo_new_multiply_image_with_spectrum(cpl_image * image,</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> cpl_image * spectrum ) ;</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> cpl_image * </div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> sinfo_new_optimal_extraction_from_cube( cpl_imagelist * cube,</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="keywordtype">int</span> llx,</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="keywordtype">int</span> lly,</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keywordtype">int</span> halfbox_x,</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keywordtype">int</span> halfbox_y,</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="keywordtype">float</span> fwhm_factor,</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="keywordtype">float</span> backvariance,</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordtype">float</span> sky,</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keywordtype">float</span> gain,</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keywordtype">float</span> exptime,</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name,</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> cpl_table** spectrum,</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keywordtype">int</span> qc_info,</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="keywordtype">int</span>* check2) ;</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> Vector * </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> sinfo_new_extract_sky_from_cube( cpl_imagelist * cube,</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="keywordtype">float</span> loReject,</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="keywordtype">float</span> hiReject,</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="keywordtype">int</span> * position,</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="keywordtype">int</span> tolerance,</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="keywordtype">int</span> posindicator ) ;</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> Vector * </div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> sinfo_new_sum_rectangle_of_cube_spectra( cpl_imagelist * cube,</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="keywordtype">int</span> llx,</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="keywordtype">int</span> lly,</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="keywordtype">int</span> urx,</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keywordtype">int</span> ury ) ;</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> Vector * </div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> sinfo_new_sum_circle_of_cube_spectra( cpl_imagelist * cube,</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="keywordtype">int</span> centerx,</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="keywordtype">int</span> centery,</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="keywordtype">int</span> radius ) ;</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> </div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> Vector * </div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> sinfo_new_mean_rectangle_of_cube_spectra( cpl_imagelist * cube,</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="keywordtype">int</span> llx,</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="keywordtype">int</span> lly,</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="keywordtype">int</span> urx,</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="keywordtype">int</span> ury ) ;</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> </div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> Vector * </div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> sinfo_new_mean_circle_of_cube_spectra( cpl_imagelist * cube,</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keywordtype">int</span> centerx,</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="keywordtype">int</span> centery,</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordtype">int</span> radius ) ;</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> </div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> Vector * </div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> sinfo_new_blackbody_spectrum( <span class="keywordtype">char</span> * templateSpec, <span class="keywordtype">double</span> temp ) ;</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> </div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> Vector * </div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> sinfo_new_median_rectangle_of_cube_spectra( cpl_imagelist * cube,</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="keywordtype">int</span> llx,</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="keywordtype">int</span> lly,</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="keywordtype">int</span> urx,</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="keywordtype">int</span> ury ) ;</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> </div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> Vector * </div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> sinfo_new_median_circle_of_cube_spectra( cpl_imagelist * cube,</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="keywordtype">int</span> centerx,</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="keywordtype">int</span> centery,</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="keywordtype">int</span> radius ) ;</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> </div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> </div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> Vector * </div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> sinfo_new_clean_mean_rectangle_of_cube_spectra( cpl_imagelist * cube,</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="keywordtype">int</span> llx,</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="keywordtype">int</span> lly,</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="keywordtype">int</span> urx,</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <span class="keywordtype">int</span> ury,</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> <span class="keywordtype">float</span> lo_reject,</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="keywordtype">float</span> hi_reject ) ;</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> </div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> Vector * </div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> sinfo_new_clean_mean_circle_of_cube_spectra( cpl_imagelist * cube,</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="keywordtype">int</span> centerx,</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="keywordtype">int</span> centery,</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="keywordtype">int</span> radius,</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="keywordtype">float</span> lo_reject,</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <span class="keywordtype">float</span> hi_reject ) ;</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> </div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="keywordtype">float</span> * </div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> sinfo_new_shift_array(<span class="keywordtype">float</span> * input,<span class="keywordtype">int</span> n_elements,<span class="keywordtype">float</span> shift,<span class="keywordtype">double</span> * ker ) ;</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> </div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="preprocessor">#endif </span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__spiffi__types_8h_source.html b/html/sinfo__spiffi__types_8h_source.html
deleted file mode 100644
index 1be0f6a..0000000
--- a/html/sinfo__spiffi__types_8h_source.html
+++ /dev/null
@@ -1,199 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_spiffi_types.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_spiffi_types.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_SPIFFI_TYPES_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_SPIFFI_TYPES_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*******************************************************************************</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* "@(#) $Id: sinfo_spiffi_types.h,v 1.3 2007/06/06 07:10:45 amodigli Exp $"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* schreib 25/05/00 created</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * sinfo_spiffi_types.h</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * all shared local new data types and defines for spiffi data reduction</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <sys/types.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <limits.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <stdlib.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include "sinfo_local_types.h"</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#define NullVector (Vector *) NULL</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor"></span><span class="preprocessor">#define SLOPE 1000. </span><span class="comment">/*slope limit of the linear fit*/</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor"></span><span class="preprocessor">#define SATURATION 50000. </span><span class="comment">/*saturation level of the detector pixel values*/</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor"></span><span class="preprocessor">#define ESTIMATE 200 </span><span class="comment">/*estimation of number of parameters stored in an</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> ascii file*/</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor"></span><span class="preprocessor">#define THRESH 100000. </span><span class="comment">/* Threshold for operation 1/pixelvalue of </span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> an image division*/</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#define PIXEL_WIDTH 0.0185 </span><span class="comment">/* mm */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor"></span><span class="preprocessor">#define FOCAL_LENGTH 178. </span><span class="comment">/* mm */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor"></span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#define N_SLITLETS 32 </span><span class="comment">/* number of slitlets */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor"></span><span class="preprocessor">#define SLITLENGTH 64 </span><span class="comment">/* nominal pixel length of one slitlet */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor"></span><span class="preprocessor">#define SLIT_LEN_ERR 5 </span><span class="comment">/* error on SLITLENGTH */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor"></span><span class="preprocessor">#define SLIT_POS_ERR 5 </span><span class="comment">/* error on SLITLENGTH */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor">#define LOW_REJECT 0.1 </span><span class="comment">/* fraction of rejected extreme low values of fit </span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> coefficients in sinfo_coefsCrossFit() */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor"></span><span class="preprocessor">#define HIGH_REJECT 0.9 </span><span class="comment">/* fraction of rejected extreme high values of fit</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> coefficients in sinfo_coefsCrossFit() */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor"></span><span class="preprocessor">#define PIXEL 25 </span><span class="comment">/* number of pixels for offsets in </span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> sinfo_coeffsCrossSlitFit() */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="preprocessor">#define CENTRALLAMBDA_K 2.2 </span><span class="comment">/* defined central wavelengths and pixel </span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> dispersions for each grating for </span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> sinfo_definedResampling() */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="preprocessor"></span><span class="preprocessor">#define CENTRALLAMBDA_H 1.65</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="preprocessor"></span><span class="preprocessor">#define CENTRALLAMBDA_J 1.25</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="preprocessor"></span><span class="preprocessor">#define CENTRALLAMBDA_HK 1.95</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="preprocessor"></span><span class="preprocessor">#define DISPERSION_K 0.00049</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="preprocessor"></span><span class="preprocessor">#define DISPERSION_K_DITH 0.000245</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="preprocessor"></span><span class="preprocessor">#define DISPERSION_H 0.00039</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="preprocessor"></span><span class="preprocessor">#define DISPERSION_H_DITH 0.000195</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="preprocessor"></span><span class="preprocessor">#define DISPERSION_J 0.00029</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="preprocessor"></span><span class="preprocessor">#define DISPERSION_J_DITH 0.000145</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="preprocessor"></span><span class="preprocessor">#define DISPERSION_HK 0.001</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="preprocessor"></span><span class="preprocessor">#define DISPERSION_HK_DITH 0.0005</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> New types</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment">/* The following structure stores a sinfo_vector */</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>_VECTOR_</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> {</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">int</span> n_elements ; <span class="comment">/* number of sinfo_vector elements */</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> pixelvalue * data ; <span class="comment">/* array of sinfo_vector values */</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> } Vector ; </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment">/* The following structure stores the (gauss) fitting parameters of the */</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment">/* emission lines of the calibration lamps */</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>_FIT_PARAMS_</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> {</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">int</span> n_params ; <span class="comment">/* total number of fits to allocate </span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"> FitParams array */</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">int</span> column ; <span class="comment">/* index of the column in image coordinates */</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">int</span> line ; <span class="comment">/* index of fitted emission line </span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"> of the column */</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">float</span> wavelength ; <span class="comment">/* associated wavelength of the calibration </span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment"> lamp emission line taken from the </span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment"> line center list file */</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">float</span> * fit_par ; <span class="comment">/* fit_par[0]: amplitude,</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment"> fit_par[1]: FWHM,</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment"> fit_par[2]: position of </span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment"> center of gauss,</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment"> fit_par[3]: zero level offset */</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keywordtype">float</span> * derv_par ; <span class="comment">/* corresponding derivatives of fit_par[] */</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> } FitParams ; </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>_STATS_</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> {</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordtype">float</span> cleanmean ; <span class="comment">/* mean of pixel values without considering </span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment"> the extreme values */</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keywordtype">float</span> cleanstdev ; <span class="comment">/* standard deviation of pixel values without </span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment"> considering the extreme values */</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordtype">int</span> npix ; <span class="comment">/* number of clean pixel values */</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> } Stats ;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>_BCOEFFS_</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> {</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">int</span> slitlet ; <span class="comment">/* current slitlet */</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordtype">int</span> n_slitlets ; <span class="comment">/* number of slitlets */</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordtype">int</span> n_acoeffs ; <span class="comment">/* number of a fit coefficients */</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordtype">int</span> n_bcoeffs ; <span class="comment">/* number of b fit coefficients */</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordtype">float</span> ** b ; <span class="comment">/* sinfo_matrix of fit coefficients: </span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment"> b[index acoefs][index bcoefs] */</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> } Bcoeffs ;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="preprocessor">#endif </span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="preprocessor"></span><span class="comment">/*--------------------------------------------------------------------------*/</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__stack__cfg_8c_source.html b/html/sinfo__stack__cfg_8c_source.html
deleted file mode 100644
index 7f7b0ba..0000000
--- a/html/sinfo__stack__cfg_8c_source.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_stack_cfg.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_stack_cfg.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> File name : stack_cfg.c</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Created on : September 2001</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> Description : prepare stacked frames configuration handling tools</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"></span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_stack_cfg.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> stack_config_n * sinfo_stack_cfg_create_n(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> {</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordflow">return</span> cpl_calloc(1, <span class="keyword">sizeof</span>(stack_config_n));</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> }</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">void</span> sinfo_stack_cfg_destroy_n(stack_config_n * sc)</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> {</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keywordflow">if</span> (sc==NULL) return ;</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">/* Free list of frame types */</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">/*cpl_free(sc->frametype);*/</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">/* Free positions */</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">/*cpl_free(sc->frameposition);*/</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/* Free main struct */</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> cpl_free(sc);</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> return ;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__stack__cfg_8h_source.html b/html/sinfo__stack__cfg_8h_source.html
deleted file mode 100644
index 3bbef5f..0000000
--- a/html/sinfo__stack__cfg_8h_source.html
+++ /dev/null
@@ -1,210 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_stack_cfg.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_stack_cfg.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : stack_cfg.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : September 2001</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : stack_ini definitions + handling prototypes</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifndef SINFO_STACK_CFG_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_STACK_CFG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <stdlib.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> New types</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> prepare stacked images blackboard container</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> This structure holds all information related to the stacked images handling</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> routine. It is used as a container for the flux of ancillary data,</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> computed values, and algorithm status. Pixel flux is separated from</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> the blackboard.</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>stack_config_n {</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*-------General---------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">char</span> inFile[FILE_NAME_SZ] ; <span class="comment">/* file name of the file containing </span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> the list of all input frames */</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">char</span> outName[FILE_NAME_SZ] ; <span class="comment">/* output name of resulting fits </span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> wavelength map */</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">char</span> sky_name[FILE_NAME_SZ] ; <span class="comment">/* output name of resulting fits </span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> sky frame */</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">char</span> ** framelist ; <span class="comment">/* list of frames */</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">int</span> * frametype ; <span class="comment">/* list of frame types on or off */</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">int</span> * frameposition ; <span class="comment">/* list of grating positions */</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordtype">int</span> contains_sky ; <span class="comment">/* indicates if off or sky frames were exposed */</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">int</span> contains_ref ; <span class="comment">/* indicates if ref frames were exposed */</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">int</span> contains_dither ; <span class="comment">/* indicates if spectral dithering </span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> was applied */</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">int</span> contains_dark ; <span class="comment">/* indicates if spectral </span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> dithering was applied */</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">int</span> nframes ; <span class="comment">/* number of frames in frame list */</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keywordtype">int</span> nobj ; <span class="comment">/* number of object frames in frame list */</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">int</span> noff ; <span class="comment">/* number of off frames in frame list */</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">int</span> ndark ; <span class="comment">/* number of sinfo_dark frames in frame list */</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">int</span> nditherobj ; <span class="comment">/* number of dithered object </span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> frames in frame list */</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">int</span> nditheroff ; <span class="comment">/* number of dithered off frames in frame list */</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">/*------ CleanMean ------*/</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">/* percentage of rejected low intensity pixels */</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">float</span> loReject ; </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/* percentage of rejected high intensity pixels */</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">float</span> hiReject ;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">/*------ Flatfielding ------*/</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">/* indicator if a flatfielding is carried through or not */</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">int</span> flatInd ;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">char</span> flatfield1[FILE_NAME_SZ] ; <span class="comment">/* name of the flatfield fits file </span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> for grating position 1 */</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keywordtype">char</span> flatfield2[FILE_NAME_SZ] ; <span class="comment">/* name of the flatfield fits file </span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> for grating position 2 */</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment">/*------ BadPixel ------*/</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">/* indicates if the bad pixel mask should be applied or not */</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">int</span> maskInd ;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">/* indicates if the pixels should be interpolated or indicated */</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">int</span> indind ;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">/* file name of the bad pixel mask fits file */</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordtype">char</span> mask[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment">/* maximal pixel distance from the bad pixel to which valid </span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"> pixels are searched for*/</span> </div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordtype">int</span> maxRad ;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment">/* file name of the slitlet sinfo_edge position list */</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordtype">char</span> slitposList[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment">/* index file list*/</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">char</span> indexlist[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment">/* sigma factor for the additional bad pixel search </span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"> in method maskInd = 2 */</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">float</span> sigmaFactor ;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment">/*------ ColTilt ------*/</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">/* indicator if the tilt correction should be carried through */</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment">/*int coltiltInd ;*/</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment">/* file name of the ASCII file containing the slope value */</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">/*char slopeFile[FILE_NAME_SZ] ;*/</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment">/* order of polynomial used for polynomial interpolation </span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment"> for the row shifting */</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">/*int order ;*/</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment">/*------ WarpFix ------*/</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment">/* indicator if the warping should be carried through */</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">int</span> warpfixInd ;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment">/* file name of the ASCII file containing the polynomial values */</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordtype">char</span> polyFile[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">/* file name of MASTER DARK */</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">char</span> mdark[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment">/* swich to indicate if a mdark file has been found */</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">int</span> mdark_ind; </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">/* kernel to be used for the interpolation */</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordtype">char</span> kernel[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment">/*------ Interleaving ------*/</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">/* indicator if the interleaving or Convolution with a </span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment"> Gaussian or nothing should take place */</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordtype">int</span> interInd ;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment">/* number of rows from which the general offset between </span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment"> the frames is determined */</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordtype">int</span> noRows ;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">/*------ GaussConvolution ------*/</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">/* indicator if Gaussian convolution is applied or not */</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordtype">int</span> gaussInd ;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment">/* kernel half width of the Gaussian response function */</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keywordtype">int</span> hw ;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment">/*------ ShifFrames ------*/</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment">/* indicator if shiftting frames is applied or not */</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordtype">int</span> sfInd;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment">/* interpolation type*/</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordtype">int</span> sfType;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment">/* interpolation order*/</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordtype">int</span> sfOrder;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment">/* qc log */</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordtype">int</span> qc_thresh_min;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordtype">int</span> qc_thresh_max;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> } stack_config_n ;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment"> Function prototypes</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> stack_config_n * </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> sinfo_stack_cfg_create_n(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> sinfo_stack_cfg_destroy_n(stack_config_n * sc);</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__stack__ini_8h_source.html b/html/sinfo__stack__ini_8h_source.html
deleted file mode 100644
index 89090ed..0000000
--- a/html/sinfo__stack__ini_8h_source.html
+++ /dev/null
@@ -1,118 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_stack_ini.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_stack_ini.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> File name : sinfo_stack_ini.h</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Created on : Sept 25, 2001</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> Description : preparing stack of frames ini file handling for SPIFFI</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"></span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifndef SINFO_STACK_INI_H</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_STACK_INI_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_stack_cfg.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#define FRAME_ON 1 </span><span class="comment">/* object frames */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor"></span><span class="preprocessor">#define FRAME_OFF 0 </span><span class="comment">/* off frames, that means sky frames or calibration </span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> frames with lamp switched off */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor"></span><span class="preprocessor">#define FRAME_POS1 2 </span><span class="comment">/* frames exposed with grating position 1 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor"></span><span class="preprocessor">#define FRAME_POS2 3 </span><span class="comment">/* frames exposed with dithered grating position 2 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"></span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">int</span> generateStack_ini_file(</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">char</span> * ini_name,</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">char</span> * name_i,</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">char</span> * name_o</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> );</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> stack_config * parse_stack_ini_file(<span class="keywordtype">char</span> * ini_name) ;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__stack__ini__by__cpl_8c_source.html b/html/sinfo__stack__ini__by__cpl_8c_source.html
deleted file mode 100644
index 5e11966..0000000
--- a/html/sinfo__stack__ini__by__cpl_8c_source.html
+++ /dev/null
@@ -1,675 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_stack_ini_by_cpl.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_stack_ini_by_cpl.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : stack_ini_by_cpl.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : May 23, 2004</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : prepare stacked frames cpl input handling for SPIFFI</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_stack_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_raw_types.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_ref_types.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_file_handling.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> Functions private to this module</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">static</span> <span class="keywordtype">void</span> sinfo_stack_free_alloc(stack_config_n * cfg); </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> parse_section_frames(stack_config_n *, </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> cpl_frameset** raw,</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">int</span>* status,</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> fake* fk);</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> parse_section_cleanmean(stack_config_n *, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> parse_section_flatfield(stack_config_n *, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> parse_section_badpixel(stack_config_n *, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> parse_section_interleaving(stack_config_n *);</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> parse_section_gaussconvolution(stack_config_n *, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> parse_section_shiftframes(stack_config_n *);</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> parse_section_warpfix(stack_config_n *, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> parse_section_qclog(stack_config_n *, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">/* generateStack_ini_file */</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> stack_config_n * sinfo_parse_cpl_input_stack(cpl_parameterlist* cpl_cfg, </div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> cpl_frameset** raw,</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> fake* fk)</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> {</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> stack_config_n * cfg =sinfo_stack_cfg_create_n();</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">int</span> status=0;</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment"> * Perform sanity checks, fill up the structure with what was</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment"> * found in the ini file</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> parse_section_cleanmean (cfg, cpl_cfg);</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> parse_section_flatfield (cfg, cpl_cfg);</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> parse_section_badpixel (cfg, cpl_cfg); </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> parse_section_interleaving (cfg); </div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> parse_section_gaussconvolution (cfg, cpl_cfg); </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> parse_section_shiftframes (cfg); </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> parse_section_warpfix (cfg, cpl_cfg);</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> parse_section_qclog (cfg, cpl_cfg);</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> parse_section_frames (cfg, sof, raw, &status, fk);</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordflow">if</span> (status > 0) {</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"parsing cpl input"</span>);</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> sinfo_stack_cfg_destroy_n(cfg);</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> cfg = NULL ;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> }</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordflow">return</span> cfg ;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> }</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> parse_section_frames(stack_config_n * cfg, </div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> cpl_frameset* sof, cpl_frameset** raw_set,<span class="keywordtype">int</span>* status, </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> fake* fk)</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> {</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * name;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordtype">char</span> file[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordtype">int</span> nobj, noff, ndark ;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordtype">int</span> nditherobj, nditheroff ;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordtype">int</span> found_sky ;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordtype">int</span> found_ref ;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordtype">int</span> found_dither ;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keywordtype">int</span> found_dark ;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keywordtype">int</span> nraw=0;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keywordtype">int</span> nsof=0;</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> cpl_frame* frame = NULL;</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordtype">char</span> spat_res[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordtype">char</span> lamp_status[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordtype">char</span> band[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keywordtype">int</span> ins_set=0;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keywordtype">char</span>* tag=NULL;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordtype">char</span>* do_class=NULL;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> nsof = cpl_frameset_get_size(sof);</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> do_class=fk->pro_class;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment">/* sinfo_msg("do_class=%s",do_class); */</span> </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keywordflow">if</span>(strcmp(do_class,<span class="stringliteral">"DEFAULT"</span>) == 0) {</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> sinfo_extract_raw_stack_frames(sof,raw_set);</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(do_class,PRO_FIBRE_NS_STACKED_DIST) == 0) {</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> sinfo_is_fibres_on_off(sof,*raw_set);</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(do_class,PRO_FIBRE_NS_STACKED) == 0) {</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> sinfo_contains_frames_kind(sof,*raw_set,(<span class="keywordtype">char</span>*)PRO_FIBRE_NS_STACKED);</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(do_class,RAW_STACKED_SLITPOS) == 0) {</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> sinfo_extract_raw_stack_frames(sof,raw_set);</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> sinfo_extract_raw_frames_type(sof,raw_set,do_class);</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> }</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> nraw = cpl_frameset_get_size(*raw_set);</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keywordflow">if</span> (nraw < 1) {</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Too few raw frames present in frameset!"</span>);</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> (*status)++;</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> }</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment">/* Allocate structures to go into the blackboard */</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> cfg->framelist = cpl_malloc(nraw * <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>*));</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> cfg->frametype = cpl_malloc(nraw * <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>));</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> cfg->frameposition = cpl_malloc(nraw * <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>));</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordflow">for</span> (i=0;i<nraw;i++) {</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> cfg->framelist[i]=NULL;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> cfg->frametype[i]=-1;</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> cfg->frameposition[i]=-1;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> }</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> found_sky = 0 ;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> found_ref = 0 ;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> found_dither = 0 ;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> found_dark = 0 ;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> nobj = 0 ;</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> noff = 0 ;</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> ndark = 0 ;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> nditherobj = 0 ;</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> nditheroff = 0 ;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="comment">/* Browse through the charmatrix to get names and file types */</span></div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="comment">/* for (i=0 ; i<nraw ; i++) { */</span></div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keywordflow">for</span> (i=0 ; i<nraw ; i++) {</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> frame = cpl_frameset_get_frame(*raw_set,i);</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> name=cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="keywordflow">if</span>(sinfo_file_exists((<span class="keywordtype">char</span>*)name)==1) {</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="comment">/* to go on the file must exist */</span></div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keywordflow">if</span>(cpl_frame_get_tag(frame) != NULL) {</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="comment">/* If the frame has a tag we process it. Else it is an object */</span> </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> tag= (<span class="keywordtype">char</span>*) cpl_frame_get_tag(frame);</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keywordflow">if</span>((sinfo_frame_is_on(frame) == 0) || </div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> (sinfo_frame_is_sky(frame) == 1)) </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> {</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> cfg->framelist[i]=cpl_strdup(cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> cfg->frametype[i] = FRAME_OFF ;</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> found_sky = 1;</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordflow">if</span> (sinfo_frame_is_dither(frame)) </div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> {</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> cfg->frameposition[i] = FRAME_POS2 ;</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> nditheroff++ ;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> }</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> {</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> cfg->frameposition[i] = FRAME_POS1 ;</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> noff++ ;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> }</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> }</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span>(strstr(tag,RAW_REF) != NULL) </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> cfg->framelist[i]=cpl_strdup(cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> cfg->frametype[i] = FRAME_REF ;</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> found_ref=1;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="keywordflow">if</span> (sinfo_frame_is_dither(frame))</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> {</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> cfg->frameposition[i] = FRAME_POS2 ;</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> }</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> {</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> cfg->frameposition[i] = FRAME_POS1 ;</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> }</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> }</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span>(sinfo_is_dark(tag)) </div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> {</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> cfg->framelist[i]=cpl_strdup(cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> cfg->frametype[i] = FRAME_DRK ;</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> cfg->frameposition[i] = FRAME_POS1 ;</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> found_dark=1;</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> ndark++;</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> sinfo_msg(<span class="stringliteral">"Frame is sinfo_dark on\n"</span>);</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> }</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> {</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> cfg->framelist[i]=cpl_strdup(cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> cfg->frametype[i] = FRAME_ON ;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> found_ref=1;</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="keywordflow">if</span> (sinfo_frame_is_dither(frame))</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> {</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> cfg->frameposition[i] = FRAME_POS2 ;</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> found_dither=1;</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> nditherobj++;</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> }</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> {</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> cfg->frameposition[i] = FRAME_POS1 ;</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> nobj++;</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> }</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> }</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> }</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> {</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="comment">/* No type means an object */</span></div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> cfg->frametype[i] = FRAME_ON ;</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="comment">/* No type means position 1 */</span></div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> cfg->frameposition[i] = FRAME_POS1 ;</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> nobj ++ ;</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> }</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> }</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="comment">/* Store file name into framelist */</span></div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> }</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> sinfo_msg(<span class="stringliteral">"Noff= %d Nobj= %d Nditheroff= %d Nditherobj= %d"</span>,</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> noff,nobj,nditheroff,nditherobj);</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="comment">/* Copy relevant information into the blackboard */</span></div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> cfg->nframes = nraw ;</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> cfg->nobj = nobj ;</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> cfg->noff = noff ;</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> cfg->ndark = ndark ;</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> cfg->nditherobj = nditherobj ;</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> cfg->nditheroff = nditheroff ;</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> cfg->contains_sky = found_sky ;</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> cfg->contains_ref = found_ref ;</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> cfg->contains_dither = found_dither ;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> cfg->contains_dark = found_dark ;</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> frame = cpl_frameset_get_frame(*raw_set,0);</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> ck0_nomsg(sinfo_get_spatial_res(frame,spat_res));</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="keywordflow">if</span>(sinfo_frame_is_on(frame) == 1) {</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> strcpy(lamp_status,<span class="stringliteral">"on"</span>);</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> strcpy(lamp_status,<span class="stringliteral">"off"</span>);</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> }</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="keywordflow">switch</span>(sinfo_frame_is_on(frame)) </div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> {</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="keywordflow">case</span> 0: </div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> strcpy(lamp_status,<span class="stringliteral">"on"</span>);</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="keywordflow">case</span> 1: </div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> strcpy(lamp_status,<span class="stringliteral">"off"</span>);</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="keywordflow">case</span> -1:</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="keywordflow">default</span>: </div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> </div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> }</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> sinfo_get_band(frame,band);</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> sinfo_msg(<span class="stringliteral">"Spatial resolution: %s lamp status: %s band: %s"</span>,</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> spat_res, lamp_status, band);</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> sinfo_get_ins_set(band,&ins_set);</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> frame = cpl_frameset_get_frame(*raw_set,0);</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> tag=(<span class="keywordtype">char</span>*)cpl_frame_get_tag(frame);</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> </div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> </div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="comment">/* Update flatInd setting if we had changed the mflat switch */</span></div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="comment">/* take care of NS test special case */</span></div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="keywordflow">if</span>(fk->frm_switch==1) {</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="comment"> In this case we force certain values indipendently from the </span></div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="comment"> setting occurring during CPL parameters parsing </span></div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> </div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> cfg->maskInd = fk->mask_index;</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> cfg->indind = fk->ind_index;</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> cfg->flatInd = fk->flat_index;</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> cfg -> loReject = fk->low_rej;</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> cfg -> hiReject = fk->hig_rej;</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> cfg -> warpfixInd = fk->wfix_index;</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="comment"> sinfo_msg("Fake frame: reset parameter values: ");</span></div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="comment"> sinfo_msg("maskInd: %d", cfg->maskInd);</span></div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="comment"> sinfo_msg("indind: %d", cfg->indind);</span></div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="comment"> sinfo_msg("flatInd: %d", cfg->flatInd);</span></div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="comment"> sinfo_msg("loReject: %f", cfg->loReject);</span></div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="comment"> sinfo_msg("hiReject: %f", cfg->hiReject);</span></div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> }</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> </div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> </div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="keywordflow">if</span>(cfg -> flatInd) { </div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_MASTER_FLAT_LAMP)) {</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> frame = cpl_frameset_find(sof,PRO_MASTER_FLAT_LAMP);</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> strcpy(file,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> strcpy(cfg -> flatfield1, file);</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_MASTER_FLAT_LAMP1)) {</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> frame = cpl_frameset_find(sof,PRO_MASTER_FLAT_LAMP1);</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> strcpy(file,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> strcpy(cfg -> flatfield1, file);</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame %s not found!"</span>, PRO_MASTER_FLAT_LAMP);</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame %s not found!"</span>, PRO_MASTER_FLAT_LAMP1);</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> sinfo_stack_free_alloc(cfg); </div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> (*status)++;</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> }</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="keywordflow">if</span>(found_dither) {</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_MASTER_FLAT_LAMP2)) {</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> frame = cpl_frameset_find(sof,PRO_MASTER_FLAT_LAMP2);</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> strcpy(file,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> strcpy(cfg -> flatfield2, file);</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> sinfo_msg(<span class="stringliteral">"Frame %s not found!"</span>, PRO_MASTER_FLAT_LAMP2);</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> }</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> }</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> }</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> </div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="comment">/* bad pixel section */</span></div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="keywordflow">if</span>(cfg->maskInd != 0) {</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="keywordflow">if</span>(strstr(do_class,<span class="stringliteral">"FIBRE_NS"</span>) != NULL) {</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_BP_MAP_DI)) {</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> frame = cpl_frameset_find(sof,PRO_BP_MAP_DI);</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> strcpy(file,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> strcpy(cfg -> mask, file);</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame %s not found!"</span>, PRO_BP_MAP_DI);</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> sinfo_stack_free_alloc(cfg); </div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> (*status)++;</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> }</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> </div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> </div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_MASTER_BP_MAP)) {</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> frame = cpl_frameset_find(sof,PRO_MASTER_BP_MAP);</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> strcpy(file,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> strcpy(cfg -> mask, file);</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame %s not found!"</span>, PRO_MASTER_BP_MAP);</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> sinfo_stack_free_alloc(cfg); </div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> (*status)++;</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> }</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> </div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> }</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="keywordflow">if</span> (strcmp(do_class,RAW_STACKED_SLITPOS) == 0) {</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> cfg -> indind = 1;</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> }</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> </div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="keywordflow">if</span>(cfg -> indind == 0) { </div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_SLIT_POS)) {</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> frame = cpl_frameset_find(sof,PRO_SLIT_POS);</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> strcpy(file,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> strcpy(cfg -> slitposList, file);</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> sinfo_msg(<span class="stringliteral">"Using %s to interpolate bad pixels"</span>,</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> PRO_SLIT_POS);</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> cpl_error_reset();</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_SLIT_POS_GUESS)) {</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> frame = cpl_frameset_find(sof,PRO_SLIT_POS_GUESS);</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> strcpy(file,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> strcpy(cfg -> slitposList, file);</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> sinfo_msg(<span class="stringliteral">"Using %s to interpolated bad pixels"</span>,</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> PRO_SLIT_POS_GUESS);</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> cpl_error_reset();</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame %s nor %s found!"</span>, </div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> PRO_SLIT_POS,PRO_SLIT_POS_GUESS);</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> sinfo_stack_free_alloc(cfg); </div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> (*status)++;</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> }</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> </div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> </div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> }</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="keywordflow">if</span>(cfg -> maskInd == 2) {</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_INDEX_LIST)) {</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> frame = cpl_frameset_find(sof,PRO_INDEX_LIST);</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> strcpy(file,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> strcpy(cfg ->indexlist, file);</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame %s not found!"</span>, PRO_INDEX_LIST);</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> sinfo_stack_free_alloc(cfg); </div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> (*status)++;</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> }</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> </div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> }</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> }</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> </div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> cfg -> warpfixInd = fk->wfix_index;</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="keywordflow">if</span>(cfg->warpfixInd != 0) {</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_DISTORTION)) {</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> frame = cpl_frameset_find(sof,PRO_DISTORTION);</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> strcpy(file,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> strcpy(cfg -> polyFile, file);</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame %s not found!"</span>, PRO_DISTORTION);</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> sinfo_stack_free_alloc(cfg); </div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> (*status)++;</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> }</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> }</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> </div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(sof,PRO_MASTER_DARK)) {</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> frame = cpl_frameset_find(sof,PRO_MASTER_DARK);</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> strcpy(file,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> strcpy(cfg -> mdark, file);</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> cfg->mdark_ind=1;</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> </div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> sinfo_msg(<span class="stringliteral">"Frame %s not found"</span>, PRO_MASTER_DARK);</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> cfg->mdark_ind=0;</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> }</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> </div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> cleanup:</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> return ;</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> }</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> </div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> parse_section_cleanmean(stack_config_n * cfg,cpl_parameterlist* cpl_cfg)</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> {</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> </div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> p = cpl_parameterlist_find(cpl_cfg,<span class="stringliteral">"sinfoni.stacked.low_rejection"</span>);</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> cfg -> loReject = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> </div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> p = cpl_parameterlist_find(cpl_cfg,<span class="stringliteral">"sinfoni.stacked.high_rejection"</span>);</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> cfg -> hiReject = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> </div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> return ;</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> }</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> parse_section_flatfield(stack_config_n * cfg,cpl_parameterlist* cpl_cfg)</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> {</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> </div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> p = cpl_parameterlist_find(cpl_cfg,<span class="stringliteral">"sinfoni.stacked.flat_index"</span>);</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> cfg -> flatInd = cpl_parameter_get_bool(p);</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> </div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> }</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> parse_section_badpixel(stack_config_n * cfg,cpl_parameterlist* cpl_cfg)</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> {</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> </div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> </div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> p = cpl_parameterlist_find(cpl_cfg,<span class="stringliteral">"sinfoni.stacked.ind_index"</span>);</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> cfg -> indind = cpl_parameter_get_bool(p);</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> </div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> p = cpl_parameterlist_find(cpl_cfg,<span class="stringliteral">"sinfoni.stacked.mask_index"</span>);</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> cfg -> maskInd = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> </div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> p = cpl_parameterlist_find(cpl_cfg,<span class="stringliteral">"sinfoni.stacked.mask_rad"</span>);</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> cfg -> maxRad = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="comment"> p = cpl_parameterlist_find(cpl_cfg,"sinfoni.stacked.sigma_factor");</span></div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> cfg -> sigmaFactor = 3.;</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> </div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> }</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> parse_section_interleaving(stack_config_n * cfg)</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> {</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> cfg -> interInd = 0;</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> cfg -> noRows = 400;</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> </div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> }</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> parse_section_gaussconvolution(stack_config_n * cfg,cpl_parameterlist* cpl_cfg)</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> {</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> </div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> p = cpl_parameterlist_find(cpl_cfg,<span class="stringliteral">"sinfoni.stacked.gauss_index"</span>);</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> cfg -> gaussInd = cpl_parameter_get_bool(p);</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> </div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> p = cpl_parameterlist_find(cpl_cfg,<span class="stringliteral">"sinfoni.stacked.kernel_half_width"</span>);</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> cfg -> hw = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> </div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> }</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> parse_section_shiftframes(stack_config_n * cfg)</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> {</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="comment"> cpl_parameter* p;</span></div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> <span class="comment"> p = cpl_parameterlist_find(cpl_cfg,"sinfoni.stacked.shift_frame_index");</span></div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> <span class="comment"> cfg -> sfInd = cpl_parameter_get_bool(p);</span></div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="comment"></span></div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="comment"> p = cpl_parameterlist_find(cpl_cfg,"sinfoni.stacked.shift_frame_type");</span></div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <span class="comment"> cfg -> sfType = cpl_parameter_get_int(p);</span></div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <span class="comment"></span></div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="comment"> p = cpl_parameterlist_find(cpl_cfg,"sinfoni.stacked.shift_frame_order");</span></div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="comment"> cfg -> sfOrder = cpl_parameter_get_int(p);</span></div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> </div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> cfg -> sfInd = 0;</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> cfg -> sfType = 1;</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> cfg -> sfOrder = 2;</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> </div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> }</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> parse_section_warpfix(stack_config_n * cfg,cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> {</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> </div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> </div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.stacked.warpfix_ind"</span>);</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> cfg -> warpfixInd = cpl_parameter_get_bool(p);</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> </div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> </div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.stacked.warpfix_kernel"</span>);</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> strcpy(cfg -> kernel, cpl_parameter_get_string(p));</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> </div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> return ;</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> }</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> </div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> parse_section_qclog(stack_config_n * cfg,cpl_parameterlist * cpl_cfg)</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> {</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> </div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> </div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.stacked.qc_thresh_min"</span>);</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> cfg -> qc_thresh_min = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> </div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.stacked.qc_thresh_max"</span>);</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> cfg -> qc_thresh_max = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> </div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> return ;</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> }</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> sinfo_stack_free(stack_config_n ** cfg)</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> { </div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> <span class="keywordflow">if</span>(*cfg != NULL) {</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> sinfo_stack_free_alloc(*cfg);</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> sinfo_stack_cfg_destroy_n(*cfg);</div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> *cfg = NULL;</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> }</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> </div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> }</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> </div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> sinfo_stack_free_alloc(stack_config_n * cfg)</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> { </div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> <span class="keywordflow">for</span> (i=0; i< cfg->nframes; i++) {</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> <span class="keywordflow">if</span>(cfg->framelist[i] != NULL) {</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> cpl_free(cfg->framelist[i]);</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> cfg->framelist[i]=NULL;</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> }</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> }</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> <span class="keywordflow">if</span>(cfg->frametype != NULL) {</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> cpl_free(cfg->frametype); </div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> cfg->frametype=NULL;</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> }</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> <span class="keywordflow">if</span>(cfg->framelist != NULL) {</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> cpl_free(cfg->framelist); </div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> cfg->framelist=NULL;</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> }</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <span class="keywordflow">if</span>(cfg->frameposition != NULL) {</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> cpl_free(cfg->frameposition); </div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> cfg->frameposition=NULL;</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> }</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__stack__ini__by__cpl_8h_source.html b/html/sinfo__stack__ini__by__cpl_8h_source.html
deleted file mode 100644
index c7a1322..0000000
--- a/html/sinfo__stack__ini__by__cpl_8h_source.html
+++ /dev/null
@@ -1,104 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_stack_ini_by_cpl.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_stack_ini_by_cpl.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : stack_ini_by_cpl.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : May 23, 2004</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : preparing stack of frames cpl input handling for SPIFFI</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifndef SINFO_STACK_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_STACK_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_stack_cfg.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#define FRAME_OFF 0 </span><span class="comment">/* off frames, that means sky frames </span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> or calibration frames with lamp switched off */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor"></span><span class="preprocessor">#define FRAME_ON 1 </span><span class="comment">/* object frames */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor"></span><span class="preprocessor">#define FRAME_POS1 2 </span><span class="comment">/* frames exposed with grating position 1 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor"></span><span class="preprocessor">#define FRAME_POS2 3 </span><span class="comment">/* frames exposed with dithered grating position 2 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor"></span><span class="preprocessor">#define FRAME_REF 4 </span><span class="comment">/* reference frames */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"></span><span class="preprocessor">#define FRAME_DRK 5 </span><span class="comment">/* sinfo_dark frame*/</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor"></span><span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">/* generateStack_ini_file */</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> stack_config_n * </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> sinfo_parse_cpl_input_stack(cpl_parameterlist * cpl_cfg, </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> cpl_frameset** raw, </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> fake* fk) ;</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keywordtype">void</span> sinfo_stack_free(stack_config_n ** cfg);</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__stacked__hidden__config_8c_source.html b/html/sinfo__stacked__hidden__config_8c_source.html
deleted file mode 100644
index 251a003..0000000
--- a/html/sinfo__stacked__hidden__config_8c_source.html
+++ /dev/null
@@ -1,117 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_stacked_hidden_config.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_stacked_hidden_config.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_stacked_hidden_config.c,v 1.5 2012/03/03 10:18:26 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2012/03/03 10:18:26 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.5 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/**************************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Prepare_Stacked_Frames Frames Data Reduction Parameter Initialization *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> **************************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_stacked_hidden_config.h"</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> sinfo_stacked_hidden_config_add(cpl_parameterlist *list)</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> {</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> cpl_parameter *p;</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordflow">if</span> (!list) {</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> }</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> --------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> In/Out </span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> --------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">/* Output file name */</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">/* output name of resulting fits wavelength map */</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.stacked.output_filename"</span>,</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> CPL_TYPE_STRING,</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="stringliteral">"Output File Name: "</span>,</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="stringliteral">"sinfoni.stacked"</span>,</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="stringliteral">"out_stack.fits"</span>);</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"out-stack_filename"</span>);</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__stacked__hidden__config_8h_source.html b/html/sinfo__stacked__hidden__config_8h_source.html
deleted file mode 100644
index 5bce286..0000000
--- a/html/sinfo__stacked__hidden__config_8h_source.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_stacked_hidden_config.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_stacked_hidden_config.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_stacked_hidden_config.h,v 1.1 2006/10/20 08:06:33 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2006/10/20 08:06:33 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Prepare_Stacked_Frames Frames Data Reduction Parameter Initialization </span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include "cpl.h"</span> <span class="comment">/* defines parlist structure */</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> sinfo_stacked_hidden_config_add(cpl_parameterlist *list);</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__standard__star__config_8c_source.html b/html/sinfo__standard__star__config_8c_source.html
deleted file mode 100644
index c51289a..0000000
--- a/html/sinfo__standard__star__config_8c_source.html
+++ /dev/null
@@ -1,187 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_standard_star_config.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_standard_star_config.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_standard_star_config.c,v 1.7 2012/03/03 10:18:26 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2012/03/03 10:18:26 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.7 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Standard_Star Frames Data Reduction Parameter Initialization *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_standard_star_config.h"</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> sinfo_standard_star_config_add(cpl_parameterlist *list)</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> {</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> cpl_parameter *p;</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordflow">if</span> (!list) {</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> }</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> --------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> In/Out </span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> --------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">/* switch to generate the extracted spectrum */</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> p = cpl_parameter_new_value("sinfoni.std_star.qc_info",</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> CPL_TYPE_BOOL,</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> "Switch to activate extra QC information "</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> "together with the spectrum",</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> "sinfoni.std_star",</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> FALSE);</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"></span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,"std_star-qc_info");</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> cpl_parameterlist_append(list, p);</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.std_star.switch"</span>,</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="stringliteral">"Switch to activate spectrum extraction"</span>,</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="stringliteral">"sinfoni.std_star"</span>,</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> TRUE);</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"std_star-switch"</span>);</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">/* the fraction [0...1] of rejected low intensity pixels when taking </span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">the average of columns */</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.std_star.low_rejection"</span>,</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="stringliteral">"lower rejection"</span>,</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="stringliteral">"sinfoni.std_star"</span>,</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> 0.1);</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"std_star-lo_rej"</span>);</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment">/* the fraction [0...1] of rejected high intensity pixels when taking </span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment">the average of columns */</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.std_star.high_rejection"</span>,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="stringliteral">"high rejection"</span>,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="stringliteral">"sinfoni.std_star"</span>,</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> 0.1);</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"std_star-hi_rej"</span>);</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment">/* factor applied to the found fwhms of a 2D-Gaussian fit, defines the radius </span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment"> of the aperture inside which the spectral extraction is carried out.</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.std_star.fwhm_factor"</span>,</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="stringliteral">"Factor to find 2D-Gauss FWHM. "</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="stringliteral">"The extraction box is: "</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="stringliteral">"halfbox_x=halfbox_y="</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="stringliteral">"fwhm_factor*(fwhm_x+fwhm_y)*0.5"</span>,</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="stringliteral">"sinfoni.std_star"</span>,</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> 5.0);</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"std_star-fwhm_fct"</span>);</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment">/* indicator if the intensity conversion factor should be determined or not</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.std_star.conversion_index"</span>,</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="stringliteral">"Intensity Conversion Index: "</span>,</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="stringliteral">"sinfoni.std_star"</span>,</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> TRUE);</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"std_star-conv_ind"</span>);</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.std_star.compute_eff"</span>,</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="stringliteral">"Compute efficiency: TRUE/FALSE"</span>,</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="stringliteral">"sinfoni.std_star"</span>,</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> TRUE);</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"std_star-compute_eff"</span>);</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__standard__star__config_8h_source.html b/html/sinfo__standard__star__config_8h_source.html
deleted file mode 100644
index bd1e957..0000000
--- a/html/sinfo__standard__star__config_8h_source.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_standard_star_config.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_standard_star_config.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_standard_star_config.h,v 1.1 2006/10/20 08:06:33 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2006/10/20 08:06:33 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Standard_Star Frames Data Reduction Parameter Initialization *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include "cpl.h"</span> <span class="comment">/* defines parlist structure */</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> sinfo_standard_star_config_add(cpl_parameterlist *list);</div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__standstar__cfg_8c_source.html b/html/sinfo__standstar__cfg_8c_source.html
deleted file mode 100644
index d9393db..0000000
--- a/html/sinfo__standstar__cfg_8c_source.html
+++ /dev/null
@@ -1,123 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_standstar_cfg.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_standstar_cfg.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> File name : sinfo_standstar_cfg.c</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Created on : March 2002</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> Description : configuration handling tools for the </span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> standard star data reduction</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"></span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_standstar_cfg.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> @name sinfo_standstar_cfg_create()</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> @param void</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> @return pointer to allocated base standstar_config structure</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> @brief allocate memory for a standstar_config struct</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> @note only the main (base) structure is allocated</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> standstar_config * sinfo_standstar_cfg_create(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> {</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keywordflow">return</span> cpl_calloc(1, <span class="keyword">sizeof</span>(standstar_config));</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> }</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> @name sinfo_standstar_cfg_destroy()</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> @param cc standstar_config to deallocate</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> @return void</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> @brief deallocate all memory associated with a \</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> standstar_config data structure</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">void</span> sinfo_standstar_cfg_destroy(standstar_config * cc)</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> {</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keywordflow">if</span> (cc==NULL) return ;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">/* Free main struct */</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> cpl_free(cc);</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> return ;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> }</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__standstar__cfg_8h_source.html b/html/sinfo__standstar__cfg_8h_source.html
deleted file mode 100644
index f1eca63..0000000
--- a/html/sinfo__standstar__cfg_8h_source.html
+++ /dev/null
@@ -1,182 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_standstar_cfg.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_standstar_cfg.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> File name : sinfo_standstar_cfg.h</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Created on : March 2002</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> Description : standstar_ini definitions + handling prototypes</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"></span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifndef SINFO_STANDSTAR_CFG_H</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_STANDSTAR_CFG_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <stdlib.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> New types</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> standard star data reduction blackboard container</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> This structure holds all information related to the standard </span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> star data reduction</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> routine. It is used as a container for the flux of ancillary data,</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> computed values, and algorithm status. Pixel flux is separated from</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> the blackboard.</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>standstar_config {</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">/*-------General---------*/</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">char</span> inFile[FILE_NAME_SZ] ;<span class="comment">/* input file of reduced jittered </span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> data cubes of a standard star */</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">char</span> ** inFrameList ; <span class="comment">/* input list of cubes */</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keywordtype">int</span> nframes ; <span class="comment">/* number of input frames */</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">char</span> outName[FILE_NAME_SZ] ; <span class="comment">/* output name of resulting </span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> extracted spectrum stored </span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> as fits image */</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">/*------ spectral extraction and determination of conversion factor ------*/</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">/* the fraction [0...1] of rejected low intensity pixels when </span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> taking the average of jittered spectra */</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">float</span> lo_reject ;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">/* the fraction [0...1] of rejected high intensity pixels when </span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> taking the average of jittered spectra */</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">float</span> hi_reject ;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/* lower left sinfo_edge coordinates of fitting box for </span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> 2d Gaussian fit */</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">int</span> llx ;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">int</span> lly ;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">/* size of a box inside which the 2D-Gaussian fit is carried through */</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keywordtype">int</span> halfbox_x ;</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keywordtype">int</span> halfbox_y ;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">/* factor applied to the found fwhms of a 2D-Gaussian</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"> fit, defines the radius of the aperture from which the</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"> spectral extraction is carried out (default: 0.7). */</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">float</span> fwhm_factor ;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">/* (readnoise^2 + sinfo_dark current) needed to determine the </span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> noise variance of the background. Must be given in counts/sec. */</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordtype">float</span> backvariance ;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment">/* estimated sky counts/sec */</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">float</span> sky ;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment">/* gain: counts per electron */</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordtype">float</span> gain ;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment">/* indicator if an intensity conversion factor should be </span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"> determined or not */</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">int</span> convInd ; </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment">/* name of the ASCII file that stores the intensity conversion factor */</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">char</span> convName[FILE_NAME_SZ] ; </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">/* magnitude of the standard star */</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">float</span> mag ; </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> } standstar_config ;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"> Function prototypes</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"> Function : sinfo_standstar_cfg_create()</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment"> In : void</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment"> Out : pointer to allocated base standstar_config structure</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"> Job : allocate memory for a standstar_config struct</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment"> Notice : only the main (base) structure is allocated</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> standstar_config * sinfo_standstar_cfg_create(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment"> Function : sinfo_standstar_cfg_destroy()</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment"> In : standstar_config to deallocate</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment"> Out : void</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment"> Job : deallocate all memory associated with a </span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment"> standstar_config data structure</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment"> Notice : </span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordtype">void</span> sinfo_standstar_cfg_destroy(standstar_config * cc);</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__standstar__ini_8h_source.html b/html/sinfo__standstar__ini_8h_source.html
deleted file mode 100644
index 0b446df..0000000
--- a/html/sinfo__standstar__ini_8h_source.html
+++ /dev/null
@@ -1,109 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_standstar_ini.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_standstar_ini.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> File name : sinfo_standstar_ini.h</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Created on : Mar 25, 2002</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> Description : ini file handling for SINFONI data reduction </span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> of a standard star</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"></span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#ifndef SINFO_STANDSTAR_INI_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_STANDSTAR_INI_H</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "standstar_cfg.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keywordtype">int</span> generateStandstar_ini_file(</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">char</span> * ini_name,</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">char</span> * name_i,</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">char</span> * name_o</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> );</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> standstar_config * parse_standstar_ini_file(<span class="keywordtype">char</span> * ini_name) ;</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__standstar__ini__by__cpl_8c_source.html b/html/sinfo__standstar__ini__by__cpl_8c_source.html
deleted file mode 100644
index 7c3b792..0000000
--- a/html/sinfo__standstar__ini__by__cpl_8c_source.html
+++ /dev/null
@@ -1,279 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_standstar_ini_by_cpl.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_standstar_ini_by_cpl.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> File name : sinfo_standstar_ini_by_cpl.c</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Created on : May 23, 2004</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> Description : standard star reduction cpl input handling for SPIFFI</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"></span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_standstar_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_hidden.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_file_handling.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> Functions private to this module</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> parse_section_frames(standstar_config *,</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> cpl_frameset** raw, </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">int</span>* status);</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> parse_section_extraction(standstar_config *, cpl_parameterlist* cpl_cfg);</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> standstar_config * </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> sinfo_parse_cpl_input_standstar(cpl_parameterlist* cpl_cfg, </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> cpl_frameset** raw)</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> {</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> standstar_config * cfg = sinfo_standstar_cfg_create();</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">int</span> status=0;</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"> * Perform sanity checks, fill up the structure with what was</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"> * found in the ini file</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> parse_section_extraction (cfg, cpl_cfg);</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> parse_section_frames (cfg, sof, raw,&status);</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordflow">if</span> (status > 0) {</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"parsing cpl input"</span>);</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> sinfo_standstar_cfg_destroy(cfg);</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> cfg = NULL ;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> }</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordflow">return</span> cfg ;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> }</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> parse_section_frames(standstar_config * cfg,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> cpl_frameset* sof,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> cpl_frameset** raw,</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">int</span>* status)</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> {</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keywordtype">int</span> nval ;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> cpl_frame* frame=NULL;</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">char</span> spat_res[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keywordtype">char</span> lamp_status[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordtype">char</span> band[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">int</span> ins_set=0;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> cpl_frameset* tmp=NULL;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment">/* AMO BEWARE only STD frames should be here checked for */</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> sinfo_extract_frames_group_type(sof,&tmp,CPL_FRAME_GROUP_PRODUCT);</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> sinfo_extract_raw_frames_type(tmp,raw,PRO_COADD_STD);</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> cpl_frameset_delete(tmp);</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> nval = cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordflow">if</span> (nval < 1) {</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> sinfo_extract_raw_frames_type(sof,raw,PRO_OBS_STD);</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> }</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> nval = cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">if</span> (nval < 1) {</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> sinfo_extract_raw_frames_type(sof,raw,PRO_COADD_PSF);</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> }</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> nval = cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">if</span> (nval < 1) {</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> sinfo_extract_raw_frames_type(sof,raw,PRO_OBS_PSF);</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> }</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> nval = cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordflow">if</span> (nval < 1) {</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> sinfo_extract_raw_frames_type(sof,raw,PRO_COADD_OBJ);</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> }</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> nval = cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordflow">if</span> (nval < 1) {</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> sinfo_extract_raw_frames_type(sof,raw,PRO_OBS_OBJ);</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> }</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> nval = cpl_frameset_get_size(*raw);</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordflow">if</span> (nval < 1) {</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Too few (%d) raw frames "</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="stringliteral">"(%s or %s or %s or %s or %s or %s ) "</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="stringliteral">"present in frameset!Aborting..."</span>,nval,</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> PRO_COADD_STD,PRO_OBS_STD,</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> PRO_COADD_PSF,PRO_OBS_PSF,</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> PRO_COADD_OBJ,PRO_OBS_OBJ);</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> (*status)++;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> } </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment">/* Allocate structures to go into the blackboard */</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> cfg->inFrameList = cpl_malloc(nval * <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>*));</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment">/* Browse through the charmatrix to get names and file types */</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment">/* read input frames */</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">for</span> (i=0 ; i<nval ; i++) {</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> frame = cpl_frameset_get_frame(*raw,i);</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">if</span>(sinfo_file_exists((<span class="keywordtype">char</span>*) cpl_frame_get_filename(frame))==1) </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> {</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment">/* Store file name into framelist */</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> cfg->inFrameList[i]=cpl_strdup(cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> }</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> }</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment">/* Copy relevant information into the blackboard */</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> cfg->nframes = nval ;</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> strcpy(cfg -> outName, STDSTAR_OUT_FILENAME);</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> frame = cpl_frameset_get_frame(*raw,0);</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> sinfo_get_spatial_res(frame,spat_res);</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordflow">switch</span>(sinfo_frame_is_on(frame)) </div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> {</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordflow">case</span> 0: </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> strcpy(lamp_status,<span class="stringliteral">"on"</span>);</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keywordflow">case</span> 1: </div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> strcpy(lamp_status,<span class="stringliteral">"off"</span>);</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">case</span> -1:</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">default</span>: </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> strcpy(lamp_status,<span class="stringliteral">"undefined"</span>);</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> }</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> sinfo_get_band(frame,band);</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> sinfo_msg(<span class="stringliteral">"Spatial resolution: %s lamp_status: %s band: %s"</span>,</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> spat_res, lamp_status, band);</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> sinfo_get_ins_set(band,&ins_set);</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> return ;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> }</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> parse_section_extraction(standstar_config * cfg,cpl_parameterlist* cpl_cfg)</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> {</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.std_star.low_rejection"</span>);</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> cfg -> lo_reject = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.std_star.high_rejection"</span>);</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> cfg -> hi_reject = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> cfg -> llx = 8;</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> cfg -> lly = 8;</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> cfg -> halfbox_x = 16;</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> cfg -> halfbox_y = 16;</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.std_star.fwhm_factor"</span>);</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> cfg -> fwhm_factor = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> cfg -> backvariance = BKG_VARIANCE;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> cfg -> sky = SKY_FLUX;</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> cfg -> gain = GAIN ;</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.std_star.conversion_index"</span>);</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> cfg -> convInd = cpl_parameter_get_bool(p);</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> strcpy(cfg -> convName, STDSTAR_CONV_OUT_FILENAME);</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> cfg -> mag = 0;</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> return ;</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> }</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> sinfo_stdstar_free(standstar_config ** cfg)</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> {</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordflow">if</span>((*cfg) != NULL) {</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordflow">for</span> (i=0 ; i<(*cfg)->nframes ; i++) {</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keywordflow">if</span>((*cfg)->inFrameList[i] != NULL) {</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> cpl_free((*cfg)->inFrameList[i]);</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> (*cfg)->inFrameList[i]= NULL;</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> }</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> }</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> cpl_free((*cfg)->inFrameList);</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> (*cfg)->inFrameList=NULL;</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> sinfo_standstar_cfg_destroy (*cfg);</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> (*cfg) = NULL;</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> }</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__standstar__ini__by__cpl_8h_source.html b/html/sinfo__standstar__ini__by__cpl_8h_source.html
deleted file mode 100644
index b89d7f6..0000000
--- a/html/sinfo__standstar__ini__by__cpl_8h_source.html
+++ /dev/null
@@ -1,109 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_standstar_ini_by_cpl.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_standstar_ini_by_cpl.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> File name : sinfo_standstar_ini_by_cpl.h</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Created on : May 23, 2004</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> Description : cpl input handling for SINFONI data reduction </span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> of a standard star</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"></span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#ifndef SINFO_STANDSTAR_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_STANDSTAR_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_standstar_cfg.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/* generateStandstar_ini_file */</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> sinfo_stdstar_free(standstar_config ** cfg);</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> standstar_config * </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> sinfo_parse_cpl_input_standstar(cpl_parameterlist * cpl_cfg, </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> cpl_frameset** raw) ;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__star__index_8c_source.html b/html/sinfo__star__index_8c_source.html
deleted file mode 100644
index d504688..0000000
--- a/html/sinfo__star__index_8c_source.html
+++ /dev/null
@@ -1,369 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_star_index.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_star_index.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_star_index.c,v 1.9 2012/03/03 10:18:26 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the X-Shooter Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2012/03/03 10:18:26 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.9 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span> <span class="comment">/* allows the program compilation */</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">//#include "sinfo_pro_save.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">//#include "sinfo_pfits.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">//#include "sinfo_utilities_scired.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">//#include "sinfo_hidden.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">//#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">//#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include "sinfo_star_index.h"</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">struct </span>_star_index_</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> {</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> cpl_table* index_table;</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">char</span>* fits_file_name;</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">int</span> index_size;</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> cpl_table** cache;</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">int</span> cache_size;</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">int</span>* cache_index;</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> };</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">//typedef struct _star_index_ star_index;</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* COL_NAME_EXTID = <span class="stringliteral">"ext_id"</span>;</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* COL_NAME_NAME = <span class="stringliteral">"name"</span>;</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* COL_NAME_RA = <span class="stringliteral">"ra"</span>;</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* COL_NAME_DEC = <span class="stringliteral">"dec"</span>;</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keyword">static</span> star_index* star_index_construct(<span class="keyword">const</span> <span class="keywordtype">char</span>* fits_file);</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keyword">static</span> <span class="keywordtype">void</span> star_index_destruct(star_index* pindex);</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">// private functions</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keyword">static</span> star_index* star_index_construct(<span class="keyword">const</span> <span class="keywordtype">char</span>* fits_file)</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> {</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> star_index* pret = cpl_malloc(<span class="keyword">sizeof</span>(star_index));</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> pret->index_size = 0;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> pret->index_table = 0;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> pret->cache_size = 0;</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> pret->cache = 0;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> pret->cache_index = 0;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordflow">if</span> (fits_file)</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> {</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">size_t</span> bt = strlen(fits_file) * <span class="keyword">sizeof</span>(*fits_file)+1;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> pret->fits_file_name = cpl_malloc(bt);</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> strcpy(pret->fits_file_name, fits_file);</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> }</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> {</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> pret->fits_file_name = 0;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> }</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordflow">return</span> pret;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> }</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keyword">static</span> <span class="keywordtype">void</span> star_index_destruct(star_index* pindex)</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> {</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordflow">if</span>(pindex)</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> {</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">if</span> (pindex->cache)</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> {</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">int</span> i = 0;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordflow">for</span> ( i = 0; i < pindex->cache_size; i++)</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> {</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> cpl_table_delete(pindex->cache[i]);</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> }</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> cpl_free(pindex->cache);</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> pindex->cache = 0;</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> pindex->cache_size = 0;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> }</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> cpl_table_delete(pindex->index_table);</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordflow">if</span>(pindex->fits_file_name)</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> {</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> cpl_free(pindex->fits_file_name);</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> }</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> cpl_free(pindex->cache_index);</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> cpl_free(pindex);</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> }</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> }</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> star_index* star_index_create(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> {</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> star_index* pret = star_index_construct(0);</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment">// initialize table</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> check_nomsg(pret->index_table = cpl_table_new(pret->index_size));</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">// create columns ext_id, name, ra, dec</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> cpl_table_new_column(pret->index_table, COL_NAME_EXTID, CPL_TYPE_INT);</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> cpl_table_new_column(pret->index_table, COL_NAME_NAME, CPL_TYPE_STRING);</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> cpl_table_new_column(pret->index_table, COL_NAME_RA, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> cpl_table_new_column(pret->index_table, COL_NAME_DEC, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">return</span> pret;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> cleanup:</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> star_index_destruct(pret);</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> }</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> star_index* star_index_load(<span class="keyword">const</span> <span class="keywordtype">char</span>* fits_file)</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> {</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> star_index* pret = star_index_construct(fits_file);</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment">// load index table from the file</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> cpl_table* pindex = 0;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> check_nomsg(pindex = cpl_table_load(fits_file,1,0));</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment">// TODO check_nomsg the structure of the table</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> pret->index_table = pindex;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> check_nomsg(pret->index_size = cpl_table_get_nrow(pindex));</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordflow">return</span> pret;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> cleanup:</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> star_index_destruct(pret);</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> cpl_error_reset();</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> }</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordtype">void</span> star_index_delete(star_index* pindex)</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> {</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> star_index_destruct(pindex);</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> }</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keywordtype">int</span> star_index_add(star_index* pindex, <span class="keywordtype">double</span> RA, <span class="keywordtype">double</span> DEC, <span class="keyword">const</span> <span class="keywordtype">char</span>* star_name, cpl_table* ptable)</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> {</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordtype">int</span> retval = 0;</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">if</span> (pindex)</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> {</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment">// expand the index table</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> check_nomsg(cpl_table_insert_window(pindex->index_table, pindex->index_size++, 1));</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keywordflow">if</span> (!pindex->cache)</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> {</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> pindex->cache_size = 1;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> pindex->cache = cpl_malloc(<span class="keyword">sizeof</span>(cpl_table*) * pindex->cache_size);</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> pindex->cache_index = cpl_malloc(<span class="keyword">sizeof</span>(pindex->cache_index[0]) * pindex->cache_size);</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> }</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> {</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment">// add new entry</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> pindex->cache_size++;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> pindex->cache = cpl_realloc(pindex->cache, <span class="keyword">sizeof</span>(cpl_table*) * pindex->cache_size);</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> }</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> check_nomsg(pindex->cache[pindex->cache_size - 1] = cpl_table_duplicate(ptable));</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment">// fill the index table with values</span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> check_nomsg(cpl_table_set_string(pindex->index_table, COL_NAME_NAME, pindex->index_size - 1 ,star_name));</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> check_nomsg(cpl_table_set(pindex->index_table, COL_NAME_RA, pindex->index_size - 1 ,RA));</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> check_nomsg(cpl_table_set(pindex->index_table, COL_NAME_DEC, pindex->index_size - 1,DEC));</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> check_nomsg(cpl_table_set_int(pindex->index_table, COL_NAME_EXTID, pindex->index_size - 1 ,pindex->index_size + 1));</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> retval = pindex->index_size;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> }</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordflow">return</span> retval;</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> cleanup:</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment">//printf ("error: %s\n", cpl_error_get_message());</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> }</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordtype">int</span> start_index_get_size(star_index* pindex)</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> {</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">return</span> pindex ? pindex->index_size : 0;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> }</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordtype">int</span> star_index_remove_by_name(star_index* pindex, <span class="keyword">const</span> <span class="keywordtype">char</span>* starname)</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> {</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordtype">int</span> i = 0;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keywordtype">int</span> index_pos = -1;</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keywordflow">for</span> (i = 0; i < pindex->index_size; i++)</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> {</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* curr_star_name = 0;</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> check_nomsg(curr_star_name = cpl_table_get_string(pindex->index_table, COL_NAME_NAME, i));</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="keywordflow">if</span> (strcmp(curr_star_name, starname) == 0)</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> {</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> index_pos = i;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> }</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> }</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keywordflow">if</span> (index_pos >= 0)</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> {</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment">// star is found</span></div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment">// clear only the index table, real data would be cleaned during save operation</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> cpl_table_set_int(pindex->index_table, COL_NAME_EXTID, index_pos, -1);</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keywordflow">if</span> (index_pos - pindex->index_size + pindex->cache_size >= 0)</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> {</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="comment">// clear cache</span></div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordtype">int</span> cache_index = index_pos - pindex->index_size + pindex->cache_size;</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> cpl_table_delete(pindex->cache[cache_index]);</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> pindex->cache[cache_index] = 0;</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> }</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> }</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> cleanup:</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordflow">return</span> index_pos;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> }</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keywordtype">int</span> star_index_save(star_index* pindex, <span class="keyword">const</span> <span class="keywordtype">char</span>* fits_file)</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> {</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keywordtype">int</span> i = 0;</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keywordtype">int</span> inull = 0;</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> cpl_table* pnew_index = 0;</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordtype">int</span> nrows = 0;</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="comment">// firstly save the index table - deleted entries should be removed firstly</span></div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> check_nomsg(cpl_table_unselect_all(pindex->index_table));</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> check_nomsg(cpl_table_or_selected_int(pindex->index_table, COL_NAME_EXTID, CPL_EQUAL_TO, -1));</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment">// inverse selection</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> check_nomsg(cpl_table_not_selected(pindex->index_table));</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> check_nomsg(pnew_index = cpl_table_extract_selected(pindex->index_table));</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> nrows = cpl_table_get_nrow(pnew_index);</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="comment">// printf("rows to save[%d]\n", nrows);</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordflow">for</span> (i = 0; i < nrows; i++)</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> cpl_table_set_int(pnew_index, COL_NAME_EXTID, i, i+2); <span class="comment">// ext in fits starts from 1, and another 1 is used by index_table</span></div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> }</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="comment">// printf("writing index [%s]\n", fits_file);</span></div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> check_nomsg(cpl_table_save(pnew_index, NULL, NULL, fits_file, CPL_IO_CREATE));</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> cpl_table_delete(pnew_index);</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> pnew_index = 0;</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="comment">// save the data</span></div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="keywordflow">for</span> (i = 0;i < pindex->index_size; i++)</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> {</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="comment">// printf("saving ext [%d]\n", i);</span></div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="comment">// 2. save cache</span></div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keywordtype">int</span> saved_ext = cpl_table_get_int(pindex->index_table, COL_NAME_EXTID, i, &inull);</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="comment">// printf("saving 1\n");</span></div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="keywordflow">if</span> (saved_ext > 0) <span class="comment">// check_nomsg that was not removed</span></div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> {</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> cpl_table* ptable = 0;</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="comment">// printf("saving 2\n");</span></div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keywordflow">if</span> (i < pindex->index_size - pindex->cache_size)</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> {</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="comment">// printf("saving 3\n");</span></div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> check_nomsg(ptable = cpl_table_load(pindex->fits_file_name, saved_ext, 0));</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> }</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> {</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="comment">// printf("saving 4\n");</span></div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> ptable = cpl_table_duplicate(pindex->cache[i - pindex->index_size + pindex->cache_size ]);</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> }</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="comment">// printf("saving 5\n");</span></div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> check_nomsg(cpl_table_save(ptable, NULL, NULL, fits_file, CPL_IO_EXTEND));</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="comment">// printf("saving 6\n");</span></div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> cpl_table_delete(ptable);</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment">// printf("saving 7\n");</span></div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> }</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="comment">// printf("saving 8\n");</span></div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> }</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="comment">// printf("saving exit\n");</span></div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="keywordflow">return</span> nrows;</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> cleanup:</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="comment">// printf("error during save\n");</span></div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> }</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> cpl_table* star_index_get(star_index* pindex, <span class="keywordtype">double</span> RA, <span class="keywordtype">double</span> DEC, <span class="keywordtype">double</span> RA_EPS, <span class="keywordtype">double</span> DEC_EPS, <span class="keyword">const</span> <span class="keywordtype">char</span>** pstar_name)</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> {</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keywordtype">int</span> i = 0;</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> cpl_table* pret = 0;</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="keywordtype">int</span> inull = 0;</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="keywordflow">for</span> (i = 0; i < pindex->index_size; i++)</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> {</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="keywordtype">double</span> curr_ra = 0;</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="keywordtype">double</span> curr_dec = 0;</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="keywordtype">int</span> ext_id = 0;</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> check_nomsg(ext_id = cpl_table_get_int(pindex->index_table, COL_NAME_EXTID, i ,&inull));</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> check_nomsg(curr_ra = cpl_table_get(pindex->index_table, COL_NAME_RA, i,&inull));</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> check_nomsg(curr_dec = cpl_table_get(pindex->index_table, COL_NAME_DEC, i,&inull));</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="keywordflow">if</span> ((ext_id > 0) && (fabs(curr_ra - RA) < RA_EPS) && (fabs(curr_dec - DEC) < DEC_EPS))</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> {</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="comment">// found</span></div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="comment">// retrieve the data</span></div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="keywordflow">if</span> (i - pindex->index_size + pindex->cache_size >= 0)</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> {</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="comment">// data is in cache</span></div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> pret = cpl_table_duplicate(pindex->cache[i - pindex->index_size + pindex->cache_size ]);</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> }</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> {</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="comment">// data is on disk</span></div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> pret = cpl_table_load(pindex->fits_file_name, ext_id, 0);</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> }</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="keywordflow">if</span> (pret && pstar_name)</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> {</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> check_nomsg(*pstar_name = cpl_table_get_string(pindex->index_table, COL_NAME_NAME, i));</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> }</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> }</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> }</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> cleanup:</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="keywordflow">return</span> pret;</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> }</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> </div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="keywordtype">void</span> star_index_dump(star_index* pindex, FILE* pfile)</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> {</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> cpl_table_dump(pindex->index_table, 0, cpl_table_get_nrow(pindex->index_table), pfile);</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__star__index_8h_source.html b/html/sinfo__star__index_8h_source.html
deleted file mode 100644
index f1adb9e..0000000
--- a/html/sinfo__star__index_8h_source.html
+++ /dev/null
@@ -1,109 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_star_index.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_star_index.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004-2009 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * $Author: kmirny $</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Date: 2009/09/02 11:34:23 $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Revision: 1.4 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Log: sinfo_star_index.h,v $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * Revision 1.4 2009/09/02 11:34:23 kmirny</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * fixing compiler warning</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * Revision 1.3 2009/07/13 14:40:39 kmirny</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * fixing unit test failure in star catalog</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> * Revision 1.2 2009/06/19 14:37:58 kmirny</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> * star index implementation</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * Revision 1.1 2009/06/16 15:18:26 kmirny</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> * star catalog implementation for calculating efficiency</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#ifndef _SINFONI_SINFO_STAR_INDEX_H_</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor"></span><span class="preprocessor">#define _SINFONI_SINFO_STAR_INDEX_H_</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>_star_index_ star_index;</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/* Loading the index from the fits file</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> * */</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> star_index* star_index_load(<span class="keyword">const</span> <span class="keywordtype">char</span>* fits_file);</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/*Save the index to the fits file</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> * */</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> star_index* star_index_create(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/* Add a new start to the index. To save the changed index to the file star_index_save() should be called</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> * */</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">int</span> star_index_add(star_index* pindex, <span class="keywordtype">double</span> RA, <span class="keywordtype">double</span> DEC, <span class="keyword">const</span> <span class="keywordtype">char</span>* star_name, cpl_table* ptable);</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">int</span> star_index_remove_by_name(star_index* pindex, <span class="keyword">const</span> <span class="keywordtype">char</span>* starname);</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">int</span> start_index_get_size(star_index* pindex);</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">int</span> star_index_save(star_index* pindex, <span class="keyword">const</span> <span class="keywordtype">char</span>* fits_file_name);</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> cpl_table* star_index_get(star_index* pindex, <span class="keywordtype">double</span> RA, <span class="keywordtype">double</span> DEC, <span class="keywordtype">double</span> RA_EPS, <span class="keywordtype">double</span> DEC_EPS, <span class="keyword">const</span> <span class="keywordtype">char</span>** pstar_name);</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">void</span> star_index_delete(star_index* pindex);</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">void</span> star_index_dump(star_index* pindex, FILE* pfile);</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__step__distortion_8c_source.html b/html/sinfo__step__distortion_8c_source.html
deleted file mode 100644
index 64b61e1..0000000
--- a/html/sinfo__step__distortion_8c_source.html
+++ /dev/null
@@ -1,349 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_step_distortion.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_step_distortion.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_step_distortion.c,v 1.20 2008/02/12 14:56:50 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2008/02/12 14:56:50 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.20 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> * Distortion Frames Data Reduction *</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <strings.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <sinfo_key_names.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <sinfo_globals.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <sinfo_pro_types.h></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <sinfo_product_config.h></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <sinfo_prepare_stacked_frames_config.h></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include <sinfo_north_south_test_config.h></span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include <sinfo_new_prepare_stacked_frames.h></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include <sinfo_distortion_config.h></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#include <sinfo_new_find_distortions.h></span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include <sinfo_new_nst.h></span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include <sinfo_hidden.h></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include <sinfo_globals.h></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include <sinfo_functions.h></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">//Only for sinfo_propertylist_has</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#include <sinfo_dfs.h></span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">int</span> sinfo_step_distortion_create(cpl_plugin *plugin);</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">int</span> sinfo_step_distortion_exec(cpl_plugin *plugin);</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">int</span> sinfo_step_distortion_destroy(cpl_plugin *plugin);</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_step_distortion(cpl_parameterlist *config, cpl_frameset *<span class="keyword">set</span>);</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">void</span> sinfo_find_distortion_config_add(cpl_parameterlist *); </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"> * Create the recipe instance, i.e. setup the parameter list for this</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> * recipe and make it available to the application using the interface.</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> sinfo_step_distortion_create(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> {</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> * We have to provide the option we accept to the application.</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"> * We need to setup our parameter list and hook it into the recipe</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> * interface.</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> cpl_recipe *recipe = (cpl_recipe *)plugin;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> recipe->parameters = cpl_parameterlist_new();</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordflow">if</span>(recipe->parameters == NULL) {</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordflow">return</span> 1;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> }</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> cpl_error_reset();</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment"> * Fill the parameter list.</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> sinfo_product_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> sinfo_prepare_stacked_frames_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> sinfo_distortion_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> sinfo_north_south_test_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> }</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> sinfo_step_distortion_exec(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> {</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> cpl_recipe *recipe = (cpl_recipe *) plugin;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordflow">if</span>(recipe->parameters == NULL) {</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordflow">return</span> 1;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> }</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordflow">if</span>(recipe->frames == NULL) {</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">return</span> 1;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> }</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">return</span> sinfo_step_distortion(recipe->parameters, recipe->frames);</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> }</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> sinfo_step_distortion_destroy(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> {</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> cpl_recipe *recipe = (cpl_recipe *) plugin;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment"> * We just destroy what was created during the plugin initializzation phase</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment"> * i.e. the parameter list. The frame set is managed by the application which</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment"> * called us, so that we must not touch it.</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> cpl_parameterlist_delete(recipe->parameters);</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> }</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist *list)</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> {</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> cpl_recipe *recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe);</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> cpl_plugin *plugin = &recipe->interface;</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="stringliteral">"sinfo_step_distortion"</span>,</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="stringliteral">"Find Distortions in frames"</span>,</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="stringliteral">"TBD"</span>,</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="stringliteral">"A. Modigliani"</span>,</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="stringliteral">"amodigli at eso.org"</span>,</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="stringliteral">"No license"</span>,</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> sinfo_step_distortion_create,</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> sinfo_step_distortion_exec,</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> sinfo_step_distortion_destroy);</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> cpl_pluginlist_append(list, plugin);</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> }</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="comment"> * The actual recipe actually start here.</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> sinfo_step_distortion(cpl_parameterlist *config, cpl_frameset *<span class="keyword">set</span>)</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> {</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> cpl_frame* frame=NULL;</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordtype">char</span> file_name[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> cpl_image* ima=NULL;</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> fake* fk=NULL;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> ck0(sinfo_dfs_set_groups(<span class="keyword">set</span>),<span class="stringliteral">"Cannot indentify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment"> ---------------------------------------------------------</span></div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="comment"> DISTORTIONS </span></div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment"> ---------------------------------------------------------</span></div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> sinfo_msg(<span class="stringliteral">"COMPUTE DISTORTIONS"</span>) ; </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> ck0(sinfo_new_find_distortions(cpl_func,config,<span class="keyword">set</span>),</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="stringliteral">"COMPUTE DISTORTION FAILED"</span>);</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(<span class="keyword">set</span>,PRO_FIBRE_NS_STACKED)) {</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> frame = cpl_frameset_find(<span class="keyword">set</span>,PRO_FIBRE_NS_STACKED);</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> strcpy(file_name,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame %s not found!"</span>, PRO_FIBRE_NS_STACKED);</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> }</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> ima=cpl_image_load(file_name,CPL_TYPE_FLOAT,0,0);</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> cknull(plist = cpl_propertylist_load(file_name, 0),</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="stringliteral">"getting header from reference ima frame %s"</span>,file_name);</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_LAMP_HALO)) {</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> cpl_propertylist_set_bool(plist, KEY_NAME_LAMP_HALO, LAMP_ON);</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> cpl_propertylist_append_bool(plist, KEY_NAME_LAMP_HALO,LAMP_ON) ;</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> }</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> sinfo_free_image(&ima);</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> sinfo_msg(<span class="stringliteral">"SUCCESS: COMPUTED DISTORTIONS"</span>) ; </div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment"> ---------------------------------------------------------</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="comment"> 4th iteration: distort fake frame</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="comment"> ---------------------------------------------------------</span></div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> sinfo_msg(<span class="stringliteral">"DISTORT FAKE FRAME"</span>);</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> fk=sinfo_fake_new();</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> strcpy(fk->pro_class,PRO_FIBRE_NS_STACKED);</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> fk->frm_switch=1;</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> fk->mask_index=1;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> fk->ind_index=1;</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> fk->flat_index=0;</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> fk->wfix_index=1;</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> fk->low_rej=0.0;</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> fk->hig_rej=0.0;</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> ck0(sinfo_new_prepare_stacked_frames(cpl_func,config, <span class="keyword">set</span>, </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> PRO_FIBRE_NS_STACKED_DIST, 0,fk),</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="stringliteral">"FAILED STACKING FRAME"</span>) ;</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> sinfo_msg(<span class="stringliteral">"SUCCESS: DISTORTED FAKE FRAME\n"</span>) ; </div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> sinfo_fake_delete(&fk);</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keywordflow">if</span>(NULL != cpl_frameset_find(<span class="keyword">set</span>,PRO_FIBRE_NS_STACKED_DIST)) {</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> frame = cpl_frameset_find(<span class="keyword">set</span>,PRO_FIBRE_NS_STACKED_DIST);</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> strcpy(file_name,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame %s not found!"</span>, PRO_FIBRE_NS_STACKED_DIST);</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> }</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> ima=cpl_image_load(file_name,CPL_TYPE_FLOAT,0,0);</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> cknull(plist = cpl_propertylist_load(file_name, 0),</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="stringliteral">"getting header from reference ima frame %s"</span>,file_name);</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_LAMP_HALO)) {</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> cpl_propertylist_set_bool(plist, KEY_NAME_LAMP_HALO, LAMP_ON);</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> cpl_propertylist_append_bool(plist, KEY_NAME_LAMP_HALO,LAMP_ON) ;</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> }</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> sinfo_free_image(&ima);</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> sinfo_msg(<span class="stringliteral">"SUCCESS: COMPUTED DISTORTIONS\n"</span>) ; </div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="comment"> ---------------------------------------------------------</span></div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="comment"> NST </span></div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="comment"> ---------------------------------------------------------</span></div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> sinfo_msg(<span class="stringliteral">"RUN NORD SUD TEST"</span>) ; </div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> ck0(sinfo_new_nst(cpl_func,config, <span class="keyword">set</span> ),<span class="stringliteral">"NORTH SOUTH TEST FAILED"</span>) ;</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> sinfo_msg(<span class="stringliteral">"SUCCESS: RUNNED NORD SUD TEST"</span>) ; </div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> sinfo_msg(<span class="stringliteral">"SUCCESS: RECIPE\n"</span>) ;</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> cleanup:</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> </div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> sinfo_fake_delete(&fk);</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> sinfo_free_image(&ima);</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> }</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> }</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__step__jitter_8c_source.html b/html/sinfo__step__jitter_8c_source.html
deleted file mode 100644
index f596c74..0000000
--- a/html/sinfo__step__jitter_8c_source.html
+++ /dev/null
@@ -1,397 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_step_jitter.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_step_jitter.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_step_jitter.c,v 1.13 2007/10/08 13:26:50 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2007/10/08 13:26:50 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.13 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Object Data reduction *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span> <span class="comment">/* allows the program compilation */</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/* std */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <strings.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <libgen.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/* sinfoni */</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include <sinfo_pro_types.h></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include <sinfo_product_config.h></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include <sinfo_prepare_stacked_frames_config.h></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include <sinfo_objnod_config.h></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include <sinfo_standard_star_config.h></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include <sinfo_psf_config.h></span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#include <sinfo_skycor_config.h></span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#include <sinfo_new_objnod.h></span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#include <sinfo_new_stdstar.h></span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#include <sinfo_new_psf.h></span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#include <sinfo_new_prepare_stacked_frames.h></span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#include <sinfo_new_cubes_coadd.h></span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#include <sinfo_key_names.h></span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#include <sinfo_raw_types.h></span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#include <sinfo_functions.h></span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor">#include <sinfo_hidden.h></span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor">#include <sinfo_globals.h></span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor">#include <sinfo_rec_utils.h></span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_step_jitter_create(cpl_plugin *) ;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_step_jitter_exec(cpl_plugin *) ;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_step_jitter_destroy(cpl_plugin *) ;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_step_jitter(cpl_parameterlist *config, cpl_frameset *<span class="keyword">set</span>);</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_step_jitter_description1[] =</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="stringliteral">"This recipe performs science data reduction.\n"</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="stringliteral">"The input files are:\n"</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="stringliteral">"science object and sky frames with tags OBJECT_NODDING and SKY_NODDING or\n"</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="stringliteral">"Telluric standard star frames and sky frames with tags STD and SKY_STD or\n"</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="stringliteral">"PSF standard star and sky frames with tags \n"</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="stringliteral">"PSF_CALIBRATOR and SKY_PSF_CALIBRATOR\n"</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="stringliteral">"and Master calibration frames:\n"</span>;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_step_jitter_description2[] =</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="stringliteral">"A corresponding (band,preoptics) wavelength map image with tag WAVE_MAP\n"</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="stringliteral">"A corresponding (band,preoptics) master flat field with tag MASTER_FLAT_LAMP\n"</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="stringliteral">"A corresponding (band,preoptics) master bad pixel map with tag MASTER_BP_MAP\n"</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="stringliteral">"A corresponding (band,preoptics) slitlets position frame with tag SLIT_POS\n"</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="stringliteral">"A corresponding (band) distortion table with tag DISTORTION\n"</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="stringliteral">"A corresponding (band) slitlet distance table with tag SLITLETS_DISTANCE\n"</span>;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_step_jitter_description3[] =</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="stringliteral">"The output is an image resulting from the IMA1 op IMA2 where op indicates\n"</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="stringliteral">"A reference table with the position of the first "</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="stringliteral">"column with tag FIRST_COLUMN\n"</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="stringliteral">"Relevant outputs are:\n"</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="stringliteral">"combined cubes (PRO.CATG=x_OBS x=STD,OBJ,PSF)\n"</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="stringliteral">"reconstructed cube (PRO.CATG=COADD_x_OBS x=STD,OBJ,PSF)\n"</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="stringliteral">"An average along Z of the reconstructed cube \n"</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="stringliteral">"(PRO.CATG=MED_x_OBS x=STD,OBJ,PSF)\n"</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="stringliteral">"The bad pixel map associated to the cube \n"</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="stringliteral">"(PRO.CATG=BP_MAP_COADD_x_OBS x=STD,OBJ,PSF)\n"</span>;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_step_jitter_description4[] =</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="stringliteral">"Information on relevant parameters can be found with\n"</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="stringliteral">"esorex --params sinfo_step_jitter\n"</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="stringliteral">"esorex --help sinfo_step_jitter\n"</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_step_jitter_description[1400];</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist *list)</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> {</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> cpl_recipe *recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe);</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> cpl_plugin *plugin = &recipe->interface;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> strcpy(sinfo_step_jitter_description,sinfo_step_jitter_description1);</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> strcat(sinfo_step_jitter_description,sinfo_step_jitter_description2);</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> strcat(sinfo_step_jitter_description,sinfo_step_jitter_description3);</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> strcat(sinfo_step_jitter_description,sinfo_step_jitter_description4);</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="stringliteral">"sinfo_step_jitter"</span>,</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="stringliteral">"Object or STD star or PSF star data reduction"</span>,</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> sinfo_step_jitter_description,</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="stringliteral">"Andrea Modigliani"</span>,</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="stringliteral">"Andrea.Mdigliani at eso.org"</span>,</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> sinfo_step_jitter_create,</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> sinfo_step_jitter_exec,</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> sinfo_step_jitter_destroy);</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> cpl_pluginlist_append(list, plugin);</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> }</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_step_jitter_create(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> {</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment">/* Check that the plugin is part of a valid recipe */</span></div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> recipe->parameters = cpl_parameterlist_new() ; </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> cpl_error_reset();</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment"> * Fill the parameter list.</span></div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> sinfo_product_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> sinfo_prepare_stacked_frames_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> sinfo_objnod_config_add(recipe->parameters); </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> sinfo_skycor_config_add(recipe->parameters); </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> sinfo_standard_star_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> sinfo_psf_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> }</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_step_jitter_exec(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> {</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> cpl_recipe *recipe = (cpl_recipe *) plugin;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordflow">return</span> sinfo_step_jitter(recipe->parameters, recipe->frames);</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> }</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_step_jitter_destroy(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> {</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> cpl_parameterlist_delete(recipe->parameters);</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> }</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="comment"> * The actual recipe actually start here.</span></div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_step_jitter(cpl_parameterlist *config, cpl_frameset *<span class="keyword">set</span>)</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> {</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* pro_ctg_cube=NULL;</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="keywordtype">int</span> ind=0;</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> cpl_parameter* p=NULL;</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keywordtype">int</span> psf_sw=0;</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="keywordtype">int</span> std_sw=0;</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> cpl_frameset* obj_set=NULL;</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> cpl_frame* obj_frm=NULL;</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="keywordtype">char</span> tag[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> cpl_frameset* ref_set=NULL;</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> sinfo_msg(<span class="stringliteral">"ok1"</span>);</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="keywordflow">if</span>(sinfo_dfs_set_groups(<span class="keyword">set</span>)) {</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Cannot indentify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> }</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> </div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> sinfo_msg(<span class="stringliteral">"ok2"</span>);</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> check_nomsg(ref_set=cpl_frameset_duplicate(<span class="keyword">set</span>));</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> obj_set=cpl_frameset_new();</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> sinfo_extract_obj_products(<span class="keyword">set</span>,obj_set);</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="keywordflow">if</span>(NULL == (obj_frm = cpl_frameset_get_frame(obj_set,0))) {</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"No object frames in input set."</span>);</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> cpl_frameset_delete(obj_set);</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> }</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> sinfo_msg(<span class="stringliteral">"ok3"</span>);</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> strcpy(tag,cpl_frame_get_tag(obj_frm));</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="keywordflow">if</span>(NULL!=sinfo_new_set_obj_procatg(tag)){</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> pro_ctg_cube=sinfo_new_set_obj_procatg(tag);</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Frame tag %s not supported."</span>,tag);</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> cpl_frameset_delete(obj_set);</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> }</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> cpl_frameset_delete(obj_set);</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> sinfo_msg(<span class="stringliteral">"ok4"</span>);</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="comment">/* =============================================================== </span></div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="comment"> SCI OBJNOD </span></div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="comment"> =============================================================== */</span></div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="comment"> sinfo_msg("------------------------------") ; </span></div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="comment"> sinfo_msg("COADDING CUBES");</span></div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="comment"> sinfo_msg("------------------------------") ; </span></div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="comment"></span></div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="comment"> ck0(sinfo_new_cubes_coadd(cpl_func,config, set, pro_ctg_cube),</span></div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="comment"> "COADDING CUBES") ;</span></div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="comment"> sinfo_msg("------------------------------") ; </span></div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="comment"> sinfo_msg("COADDED CUBES");</span></div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="comment"> sinfo_msg("------------------------------") ; </span></div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> </div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="comment">/* =============================================================== </span></div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="comment"> PSF</span></div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="comment"> =============================================================== */</span></div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="comment"> if((strcmp(pro_ctg_cube,PRO_COADD_OBJ) == 0) ||</span></div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="comment"> (strcmp(pro_ctg_cube,PRO_COADD_PSF) == 0) ||</span></div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="comment"> (strcmp(pro_ctg_cube,PRO_COADD_STD) == 0) ||</span></div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="comment"> (strcmp(pro_ctg_cube,PRO_COADD_PUPIL) == 0) ) {</span></div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> sinfo_msg(<span class="stringliteral">"ok5"</span>);</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> p = cpl_parameterlist_find(config, <span class="stringliteral">"sinfoni.psf.switch"</span>);</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> psf_sw = cpl_parameter_get_bool(p);</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> sinfo_msg(<span class="stringliteral">"switch=%d"</span>,psf_sw);</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="keywordflow">if</span>(psf_sw) {</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> sinfo_msg(<span class="stringliteral">"REDUCE PSF STD STAR FRAMES"</span>);</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ; </div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="keywordflow">if</span> ( -1 == (ind = sinfo_new_psf(cpl_func,config,<span class="keyword">set</span>,ref_set) ) )</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> {</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> sinfo_msg(<span class="stringliteral">"no: %d\n"</span>, ind) ;</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> }</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> sinfo_msg(<span class="stringliteral">"SUCCESS REDUCE PSF STD STAR FRAMES"</span>) ;</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> }</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> </div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> sinfo_msg(<span class="stringliteral">"ok6"</span>);</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> p = cpl_parameterlist_find(config, <span class="stringliteral">"sinfoni.std_star.switch"</span>);</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> std_sw = cpl_parameter_get_bool(p);</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> sinfo_msg(<span class="stringliteral">"switch=%d"</span>,std_sw);</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="keywordflow">if</span>(std_sw) {</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> sinfo_msg(<span class="stringliteral">"STD STAR DATA REDUCTION"</span>);</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> </div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="keywordflow">if</span> ( -1 == (ind = sinfo_new_stdstar(cpl_func,config, <span class="keyword">set</span>,ref_set) ) )</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> {</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> sinfo_msg(<span class="stringliteral">"REDUCING STD STAR DATA No: %d"</span>,ind) ;</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> }</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> sinfo_msg(<span class="stringliteral">"STD STAR DATA REDUCTION SUCCESS"</span>) ;</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> }</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> sinfo_msg(<span class="stringliteral">"ok7"</span>);</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="comment">// } </span></div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> cleanup:</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> </div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> }</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__step__objnod_8c_source.html b/html/sinfo__step__objnod_8c_source.html
deleted file mode 100644
index 63ddf18..0000000
--- a/html/sinfo__step__objnod_8c_source.html
+++ /dev/null
@@ -1,214 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_step_objnod.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_step_objnod.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_step_objnod.c,v 1.9 2007/06/06 07:09:56 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2007/06/06 07:09:56 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.9 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Object Data reduction *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <strings.h></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"></span><span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <sinfo_pro_types.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <sinfo_general_config.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <sinfo_objnod_config.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <sinfo_skycor_config.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <sinfo_new_objnod.h></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <sinfo_globals.h></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_step_objnod(cpl_parameterlist *, cpl_frameset *);</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> sinfo_step_objnod_create(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> {</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> * We have to provide the option we accept to the application.</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> * We need to setup our parameter list and hook it into the recipe</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> * interface.</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> cpl_recipe *recipe = (cpl_recipe *)plugin;</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> recipe->parameters = cpl_parameterlist_new();</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordflow">if</span>(recipe->parameters == NULL) {</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordflow">return</span> 1;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> }</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> cpl_error_reset();</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> * Fill the parameter list.</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/* General parameters */</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> sinfo_general_config_add(recipe->parameters); </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> sinfo_objnod_config_add(recipe->parameters); </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> sinfo_skycor_config_add(recipe->parameters); </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> }</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> sinfo_step_objnod_exec(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> {</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> cpl_recipe *recipe = (cpl_recipe *) plugin;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordflow">if</span>(recipe->parameters == NULL) {</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">return</span> 1;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> }</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordflow">if</span>(recipe->frames == NULL) {</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordflow">return</span> 1;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> }</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordflow">return</span> sinfo_step_objnod(recipe->parameters, recipe->frames);</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> }</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> sinfo_step_objnod_destroy(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> {</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> cpl_recipe *recipe = (cpl_recipe *) plugin;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment"> * We just destroy what was created during the plugin initializzation phase</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment"> * i.e. the parameter list. The frame set is managed by the application which</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"> * called us, so that we must not touch it.</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> cpl_parameterlist_delete(recipe->parameters);</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> }</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist *list)</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> {</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> cpl_recipe *recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe);</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> cpl_plugin *plugin = &recipe->interface;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="stringliteral">"sinfo_step_objnod"</span>,</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="stringliteral">"Object data reduction"</span>,</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="stringliteral">"TBD"</span>,</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="stringliteral">"A. Modigliani"</span>,</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="stringliteral">"amodigli at eso.org"</span>,</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="stringliteral">"No license"</span>,</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> sinfo_step_objnod_create,</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> sinfo_step_objnod_exec,</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> sinfo_step_objnod_destroy);</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> cpl_pluginlist_append(list, plugin);</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> }</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment"> * The actual recipe actually start here.</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> sinfo_step_objnod(cpl_parameterlist *config, cpl_frameset *<span class="keyword">set</span>)</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> { </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordtype">int</span> ind =0;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> sinfo_msg(<span class="stringliteral">"NODDING SCIENCE FRAMES"</span>);</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ; </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keywordflow">if</span> ( -1 == (ind = sinfo_new_objnod(cpl_func,config,<span class="keyword">set</span>,PRO_COADD_OBJ))) {</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> sinfo_msg(<span class="stringliteral">"no: %d\n"</span>, ind) ;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> sinfo_msg(<span class="stringliteral">"success"</span>);</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> }</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> }</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__step__psf_8c_source.html b/html/sinfo__step__psf_8c_source.html
deleted file mode 100644
index cd5286a..0000000
--- a/html/sinfo__step__psf_8c_source.html
+++ /dev/null
@@ -1,228 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_step_psf.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_step_psf.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_step_psf.c,v 1.7 2007/06/06 07:09:56 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2007/06/06 07:09:56 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.7 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * _Step_Psf Frames Data Reduction *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <strings.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span> <span class="comment">/* allows the program compilation */</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor"></span><span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <sinfo_pro_types.h></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <sinfo_psf_config.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <sinfo_new_psf.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_step_psf(cpl_parameterlist *, cpl_frameset *);</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_step_psf_create(cpl_plugin* plugin );</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_step_psf_exec(cpl_plugin* plugin);</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_step_psf_destroy(cpl_plugin* plugin);</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_step_psf_description[] =<span class="stringliteral">"to debug\n"</span>;</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist *list)</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> {</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> cpl_recipe *recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe);</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> cpl_plugin *plugin = &recipe->interface;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="stringliteral">"sinfo_step_psf"</span>,</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="stringliteral">"PSF determination"</span>,</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> sinfo_step_psf_description,</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="stringliteral">"A. Modigliani"</span>,</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="stringliteral">"amodigli at eso.org"</span>,</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="stringliteral">"No license"</span>,</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> sinfo_step_psf_create,</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> sinfo_step_psf_exec,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> sinfo_step_psf_destroy);</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> cpl_pluginlist_append(list, plugin);</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> }</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> sinfo_step_psf_create(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> {</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">/* Check that the plugin is part of a valid recipe */</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> recipe->parameters = cpl_parameterlist_new() ; </div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment"> * Fill the parameter list.</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>(); </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> sinfo_psf_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> }</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> sinfo_step_psf_exec(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> {</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keywordflow">return</span> sinfo_step_psf(recipe->parameters, recipe->frames);</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> }</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> sinfo_step_psf_destroy(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> {</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> cpl_parameterlist_delete(recipe->parameters);</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> }</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment"> * The actual recipe actually start here.</span></div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> sinfo_step_psf(cpl_parameterlist *config, cpl_frameset *<span class="keyword">set</span>)</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> {</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keywordtype">int</span> ind =0;</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> {</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> sinfo_msg(<span class="stringliteral">"running"</span>) ; </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordflow">if</span> ( -1 == (ind = sinfo_new_psf(cpl_func,config,<span class="keyword">set</span>) ) )</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> {</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> sinfo_msg(<span class="stringliteral">"no: %d\n"</span>, ind) ;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> }</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> sinfo_msg (<span class="stringliteral">"success\n"</span>) ; </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> } </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__step__stdstar_8c_source.html b/html/sinfo__step__stdstar_8c_source.html
deleted file mode 100644
index 9a05057..0000000
--- a/html/sinfo__step__stdstar_8c_source.html
+++ /dev/null
@@ -1,313 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_step_stdstar.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_step_stdstar.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_step_stdstar.c,v 1.8 2008/06/11 13:41:24 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2008/06/11 13:41:24 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.8 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> * Standard_Star Frames Data Reduction *</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span> <span class="comment">/* allows the program compilation */</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/* std */</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <strings.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/* sinfoni */</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include <sinfo_pro_types.h></span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include <sinfo_prepare_stacked_frames_config.h></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include <sinfo_objnod_config.h></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include <sinfo_standard_star_config.h></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include <sinfo_skycor_config.h></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include <sinfo_new_prepare_stacked_frames.h></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include <sinfo_new_cubes_coadd.h></span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#include <sinfo_new_stdstar.h></span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#include <sinfo_functions.h></span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#include <sinfo_hidden.h></span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#include <sinfo_globals.h></span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#include <sinfo_rec_utils.h></span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_step_stdstar_create(cpl_plugin *) ;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_step_stdstar_exec(cpl_plugin *) ;</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_step_stdstar_destroy(cpl_plugin *) ;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_step_stdstar(cpl_parameterlist *, cpl_frameset *);</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_step_stdstar_description1[] =</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="stringliteral">"This recipe performs science data reduction.\n"</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="stringliteral">"The input files are science object and sky frames with tags\n"</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="stringliteral">"STD_NODDING and SKY_STD_NODDING\n"</span>;</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_step_stdstar_description2[] =</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="stringliteral">"Master calibration frames:\n"</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="stringliteral">"A corresponding (band,preoptics) wavelength map image with tag WAVE_MAP\n"</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="stringliteral">"A corresponding (band,preoptics) master flat field with tag MASTER_FLAT_LAMP\n"</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="stringliteral">"A corresponding (band,preoptics) master bad pixel map with tag MASTER_BP_MAP\n"</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="stringliteral">"A corresponding (band,preoptics) slitlets position frame with tag SLIT_POS\n"</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="stringliteral">"A corresponding (band) distortion table with tag DISTORTION\n"</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="stringliteral">"A corresponding (band) slitlet distance table with tag SLITLETS_DISTANCE\n"</span>;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_step_stdstar_description3[] =</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="stringliteral">"The output is an image resulting from the IMA1 op IMA2 where op indicates\n"</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="stringliteral">"A reference table with the position of the first column\n"</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="stringliteral">" with tag FIRST_COLUMN\n"</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="stringliteral">"Relevant outputs are:\n"</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="stringliteral">"combined cubes (PRO.CATG=x_OBS x=STD,OBJ,PSF)\n"</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="stringliteral">"reconstructed cube (PRO.CATG=COADD_x_OBS x=STD,OBJ,PSF)\n"</span>;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_step_stdstar_description4[] =</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="stringliteral">"An average along Z of the reconstructed cube \n"</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="stringliteral">"(PRO.CATG=MED_x_OBS x=STD,OBJ,PSF)\n"</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="stringliteral">"The bad pixel map associated to the cube \n"</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="stringliteral">"(PRO.CATG=BP_MAP_COADD_x_OBS x=STD,OBJ,PSF)\n"</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="stringliteral">"The std star spectrum image (PRO.CATG=STD_SPECTRUM)\n"</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="stringliteral">"The std start spectrum and efficiency spectrum table (PRO.CATG=STD_SPECTRA)\n"</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="stringliteral">"Information on relevant parameters can be found with\n"</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="stringliteral">"esorex --params sinfo_step_stdstar\n"</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="stringliteral">"esorex --help sinfo_step_stdstar\n"</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_step_stdstar_description[1300];</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist *list)</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> {</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> cpl_recipe *recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe);</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> cpl_plugin *plugin = &recipe->interface;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> strcpy(sinfo_step_stdstar_description,sinfo_step_stdstar_description1);</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> strcat(sinfo_step_stdstar_description,sinfo_step_stdstar_description2);</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> strcat(sinfo_step_stdstar_description,sinfo_step_stdstar_description3);</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> strcat(sinfo_step_stdstar_description,sinfo_step_stdstar_description4);</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="stringliteral">"sinfo_step_stdstar"</span>,</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="stringliteral">"Standard star data reduction"</span>,</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> sinfo_step_stdstar_description,</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="stringliteral">"Andrea Modigliani"</span>,</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="stringliteral">"Andrea.Modigliani at eso.org"</span>,</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> sinfo_step_stdstar_create,</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> sinfo_step_stdstar_exec,</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> sinfo_step_stdstar_destroy);</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> cpl_pluginlist_append(list, plugin);</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> }</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_step_stdstar_create(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> {</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment">/* Check that the plugin is part of a valid recipe */</span></div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> cpl_error_reset();</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> recipe->parameters = cpl_parameterlist_new() ; </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment"> * Fill the parameter list.</span></div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> sinfo_prepare_stacked_frames_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> sinfo_objnod_config_add(recipe->parameters); </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> sinfo_skycor_config_add(recipe->parameters); </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> sinfo_standard_star_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> }</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_step_stdstar_exec(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> {</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordflow">return</span> sinfo_step_stdstar(recipe->parameters, recipe->frames);</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> }</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_step_stdstar_destroy(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> {</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> cpl_parameterlist_delete(recipe->parameters);</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> }</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="comment"> * The actual recipe actually start here.</span></div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> sinfo_step_stdstar(cpl_parameterlist *config, cpl_frameset *<span class="keyword">set</span>)</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> {</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keywordflow">if</span>(sinfo_dfs_set_groups(<span class="keyword">set</span>)) {</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Cannot indentify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> }</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="comment">/* =============================================================== </span></div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="comment"> STDSTAR </span></div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="comment"> =============================================================== */</span></div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> sinfo_msg(<span class="stringliteral">"STD STAR DATA REDUCTION"</span>);</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ;</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> ck0(sinfo_new_stdstar(cpl_func,config, <span class="keyword">set</span>, <span class="keyword">set</span> ),<span class="stringliteral">"REDUCING STD STAR DATA"</span>) ;</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> sinfo_msg(<span class="stringliteral">"STD STAR DATA REDUCTION SUCCESS"</span>) ; </div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> </div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> cleanup:</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> }</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__svd_8c_source.html b/html/sinfo__svd_8c_source.html
deleted file mode 100644
index b70833c..0000000
--- a/html/sinfo__svd_8c_source.html
+++ /dev/null
@@ -1,472 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_svd.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_svd.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/**************************************************************************</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* schreib 16/04/03 created</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "sinfo_svd.h"</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keywordtype">void</span> sinfo_fpol(<span class="keywordtype">float</span> x, <span class="keywordtype">float</span> *p, <span class="keywordtype">int</span> np)</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> {</div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keywordtype">int</span> j ;</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> p[1] = 1.0 ;</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keywordflow">for</span> ( j = 2 ; j <= np ; j++ )</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> {</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> p[j] = p[j-1]*x ;</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> }</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> }</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> sinfo_svb_kas(<span class="keywordtype">float</span> **u, <span class="keywordtype">float</span> w[], <span class="keywordtype">float</span> **v, <span class="keywordtype">int</span> m, </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">int</span> n, <span class="keywordtype">float</span> b[],<span class="keywordtype">float</span> x[])</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> {</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">int</span> jj,j,i;</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">float</span> s,*tmp;</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> tmp=sinfo_vector(1,n);</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordflow">for</span> (j=1;j<=n;j++) {</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> s=0.0;</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordflow">if</span> (w[j]) {</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordflow">for</span> (i=1;i<=m;i++) s += u[i][j]*b[i];</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> s /= w[j];</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> }</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> tmp[j]=s;</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> }</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordflow">for</span> (j=1;j<=n;j++) {</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> s=0.0;</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordflow">for</span> (jj=1;jj<=n;jj++) s += v[j][jj]*tmp[jj];</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> x[j]=s;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> }</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> sinfo_free_vector(tmp,1<span class="comment">/*,n*/</span>);</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> }</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">void</span> sinfo_svd_variance(<span class="keywordtype">float</span> **v , <span class="keywordtype">int</span> ma , <span class="keywordtype">float</span> w[] , <span class="keywordtype">float</span> **cvm)</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> {</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">int</span> k,j,i;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">float</span> sum,*wti;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> wti=sinfo_vector(1,ma);</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keywordflow">for</span> (i=1;i<=ma;i++) {</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> wti[i]=0.0;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keywordflow">if</span> (w[i]) wti[i]=1.0/(w[i]*w[i]);</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> }</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordflow">for</span> (i=1;i<=ma;i++) {</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordflow">for</span> (j=1;j<=i;j++) {</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordflow">for</span> (sum=0.0,k=1;k<=ma;k++) sum += (v[i][k]*v[j][k]*wti[k]);</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> cvm[j][i]=cvm[i][j]=sum;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> }</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> }</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> sinfo_free_vector(wti,1<span class="comment">/*,ma*/</span>);</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> }</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor">#define TOL 1.0e-5</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordtype">void</span> sinfo_svd_fitting ( <span class="keywordtype">float</span> *x,</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">float</span> *y,</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">float</span> *sig,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">int</span> ndata,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">float</span> *a,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">int</span> ma,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">float</span> **u,</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">float</span> **v,</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordtype">float</span> *w,</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">float</span> **cvm,</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keywordtype">float</span> *chisq,</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">void</span> (*funcs)(<span class="keywordtype">float</span>,<span class="keywordtype">float</span> *,<span class="keywordtype">int</span>) )</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> {</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keywordtype">int</span> j,i;</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordtype">float</span> <span class="comment">/*sini,*/</span>wmax,tmp,thresh,sum,*b,*afunc;</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> b=sinfo_vector(1,ndata);</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> afunc=sinfo_vector(1,ma);</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordflow">for</span> (i=1;i<=ndata;i++) {</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> (*funcs)(x[i],afunc,ma);</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> tmp=1.0/sig[i];</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordflow">for</span> (j=1;j<=ma;j++) {</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> u[i][j]=afunc[j]*tmp;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> }</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> b[i]=y[i]*tmp;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> }</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> sinfo_svd_compare(u,ndata,ma,w,v);</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> wmax=0.0;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordflow">for</span> (j=1;j<=ma;j++)</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordflow">if</span> (w[j] > wmax) wmax=w[j];</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> thresh=TOL*wmax;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordflow">for</span> (j=1;j<=ma;j++) {</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keywordflow">if</span> (w[j] < thresh) {</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> w[j]=0.0;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"SVD_FITTING detected singular value in fit !"</span>);</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> }</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> }</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> sinfo_svb_kas(u,w,v,ndata,ma,b,a);</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> *chisq=0.0;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordflow">for</span> (i=1;i<=ndata;i++) {</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> (*funcs)(x[i],afunc,ma);</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordflow">for</span> (sum=0.0,j=1;j<=ma;j++) sum += a[j]*afunc[j];</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> *chisq += (tmp=(y[i]-sum)/sig[i],tmp*tmp);</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> }</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> sinfo_free_vector(afunc,1<span class="comment">/*,ma*/</span>);</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> sinfo_free_vector(b,1<span class="comment">/*,ndata*/</span>);</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> sinfo_svd_variance(v,ma,w,cvm);</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> }</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="preprocessor">#undef TOL</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keyword">static</span> <span class="keywordtype">float</span> at,bt,ct;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="preprocessor">#define SINFO_PYTHAG(a,b) ((at=fabs(a)) > (bt=fabs(b)) ? \</span></div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="preprocessor">(ct=bt/at,at*sqrt(1.0+ct*ct)) : (bt ? (ct=at/bt,bt*sqrt(1.0+ct*ct)): 0.0))</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keyword">static</span> <span class="keywordtype">float</span> maxarg1,maxarg2;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="preprocessor">#define SINFO_MAX(a,b) (maxarg1=(a),maxarg2=(b),(maxarg1) > (maxarg2) ?\</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="preprocessor"> (maxarg1) : (maxarg2))</span></div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_SIGN(a,b) ((b) >= 0.0 ? fabs(a) : -fabs(a))</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordtype">void</span> sinfo_svd_compare(<span class="keywordtype">float</span> **a,<span class="keywordtype">int</span> m,<span class="keywordtype">int</span> n,<span class="keywordtype">float</span> w[],<span class="keywordtype">float</span> **v)</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> {</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordtype">int</span> flag,i,its,j,jj,k,l=0,nm=0;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keywordtype">float</span> c,f,h,s,x,y,z;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordtype">float</span> anorm=0.0,g=0.0,scale=0.0;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keywordtype">float</span> *rv1;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordflow">if</span> (m < n) {</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"SVDCMP: You must augment A with extra zero rows"</span>);</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> }</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> rv1=sinfo_vector(1,n);</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordflow">for</span> (i=1;i<=n;i++) {</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> l=i+1;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> rv1[i]=scale*g;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> g=s=scale=0.0;</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keywordflow">if</span> (i <= m) {</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keywordflow">for</span> (k=i;k<=m;k++) scale += fabs(a[k][i]);</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keywordflow">if</span> (scale) {</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">for</span> (k=i;k<=m;k++) {</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> a[k][i] /= scale;</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> s += a[k][i]*a[k][i];</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> }</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> f=a[i][i];</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> g = -SINFO_SIGN(sqrt(s),f);</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> h=f*g-s;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> a[i][i]=f-g;</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordflow">if</span> (i != n) {</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordflow">for</span> (j=l;j<=n;j++) {</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keywordflow">for</span> (s=0.0,k=i;k<=m;k++) {</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> s += a[k][i]*a[k][j];</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> }</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> f=s/h;</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keywordflow">for</span> (k=i;k<=m;k++) {</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> a[k][j] += f*a[k][i];</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> }</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> }</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> }</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="keywordflow">for</span> (k=i;k<=m;k++) a[k][i] *= scale;</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> }</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> }</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> w[i]=scale*g;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> g=s=scale=0.0;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keywordflow">if</span> (i <= m && i != n) {</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keywordflow">for</span> (k=l;k<=n;k++) scale += fabs(a[i][k]);</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keywordflow">if</span> (scale) {</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keywordflow">for</span> (k=l;k<=n;k++) {</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> a[i][k] /= scale;</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> s += a[i][k]*a[i][k];</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> }</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> f=a[i][l];</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> g = -SINFO_SIGN(sqrt(s),f);</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> h=f*g-s;</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> a[i][l]=f-g;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keywordflow">for</span> (k=l;k<=n;k++) rv1[k]=a[i][k]/h;</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="keywordflow">if</span> (i != m) {</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keywordflow">for</span> (j=l;j<=m;j++) {</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keywordflow">for</span> (s=0.0,k=l;k<=n;k++) s += a[j][k]*a[i][k];</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keywordflow">for</span> (k=l;k<=n;k++) a[j][k] += s*rv1[k];</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> }</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> }</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordflow">for</span> (k=l;k<=n;k++) a[i][k] *= scale;</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> }</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> }</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> anorm=SINFO_MAX(anorm,(fabs(w[i])+fabs(rv1[i])));</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> }</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordflow">for</span> (i=n;i>=1;i--) {</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordflow">if</span> (i < n) {</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="keywordflow">if</span> (g) {</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordflow">for</span> (j=l;j<=n;j++)</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> v[j][i]=(a[i][j]/a[i][l])/g;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordflow">for</span> (j=l;j<=n;j++) {</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordflow">for</span> (s=0.0,k=l;k<=n;k++) s += a[i][k]*v[k][j];</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keywordflow">for</span> (k=l;k<=n;k++) v[k][j] += s*v[k][i];</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> }</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> }</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="keywordflow">for</span> (j=l;j<=n;j++) v[i][j]=v[j][i]=0.0;</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> }</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> v[i][i]=1.0;</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> g=rv1[i];</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> l=i;</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> }</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keywordflow">for</span> (i=n;i>=1;i--) {</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> l=i+1;</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> g=w[i];</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="keywordflow">if</span> (i < n)</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordflow">for</span> (j=l;j<=n;j++) a[i][j]=0.0;</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keywordflow">if</span> (g) {</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> g=1.0/g;</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keywordflow">if</span> (i != n) {</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keywordflow">for</span> (j=l;j<=n;j++) {</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keywordflow">for</span> (s=0.0,k=l;k<=m;k++) s += a[k][i]*a[k][j];</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> f=(s/a[i][i])*g;</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="keywordflow">for</span> (k=i;k<=m;k++) a[k][j] += f*a[k][i];</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> }</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> }</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keywordflow">for</span> (j=i;j<=m;j++) a[j][i] *= g;</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="keywordflow">for</span> (j=i;j<=m;j++) a[j][i]=0.0;</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> }</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> ++a[i][i];</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> }</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="keywordflow">for</span> (k=n;k>=1;k--) {</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="keywordflow">for</span> (its=1;its<=30;its++) {</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> flag=1;</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="keywordflow">for</span> (l=k;l>=1;l--) {</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> nm=l-1;</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="keywordflow">if</span> (fabs(rv1[l])+anorm == anorm) {</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> flag=0;</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> }</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="keywordflow">if</span> (fabs(w[nm])+anorm == anorm) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> }</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="keywordflow">if</span> (flag) {</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> c=0.0;</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> s=1.0;</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="keywordflow">for</span> (i=l;i<=k;i++) {</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> f=s*rv1[i];</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="keywordflow">if</span> (fabs(f)+anorm != anorm) {</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> g=w[i];</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> h=SINFO_PYTHAG(f,g);</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> w[i]=h;</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> h=1.0/h;</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> c=g*h;</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> s=(-f*h);</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="keywordflow">for</span> (j=1;j<=m;j++) {</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> y=a[j][nm];</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> z=a[j][i];</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> a[j][nm]=y*c+z*s;</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> a[j][i]=z*c-y*s;</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> }</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> }</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> }</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> }</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> z=w[k];</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="keywordflow">if</span> (l == k) {</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keywordflow">if</span> (z < 0.0) {</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> w[k] = -z;</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="keywordflow">for</span> (j=1;j<=n;j++) v[j][k]=(-v[j][k]);</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> }</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> }</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="keywordflow">if</span> (its == 30) {</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"No convergence in 30 "</span></div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="stringliteral">"SVDCMP iterations"</span>);</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> }</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> x=w[l];</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> nm=k-1;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> y=w[nm];</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> g=rv1[nm];</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> h=rv1[k];</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> f=((y-z)*(y+z)+(g-h)*(g+h))/(2.0*h*y);</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> </div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> g=SINFO_PYTHAG(f,1.0);</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> f=((x-z)*(x+z)+h*((y/(f+SINFO_SIGN(g,f)))-h))/x;</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> c=s=1.0;</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="keywordflow">for</span> (j=l;j<=nm;j++) {</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> i=j+1;</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> g=rv1[i];</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> y=w[i];</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> h=s*g;</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> g=c*g;</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> z=SINFO_PYTHAG(f,h);</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> rv1[j]=z;</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> c=f/z;</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> s=h/z;</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> f=x*c+g*s;</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> g=g*c-x*s;</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> h=y*s;</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> y=y*c;</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="keywordflow">for</span> (jj=1;jj<=n;jj++) {</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> x=v[jj][j];</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> z=v[jj][i];</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> v[jj][j]=x*c+z*s;</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> v[jj][i]=z*c-x*s;</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> }</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> </div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> z=SINFO_PYTHAG(f,h);</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> w[j]=z;</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="keywordflow">if</span> (z) {</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> z=1.0/z;</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> c=f*z;</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> s=h*z;</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> }</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> f=(c*g)+(s*y);</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> x=(c*y)-(s*g);</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="keywordflow">for</span> (jj=1;jj<=m;jj++) {</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> y=a[jj][j];</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> z=a[jj][i];</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> a[jj][j]=y*c+z*s;</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> a[jj][i]=z*c-y*s;</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> }</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> }</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> rv1[l]=0.0;</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> rv1[k]=f;</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> w[k]=x;</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> }</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> }</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> sinfo_free_vector(rv1,1<span class="comment">/*,n*/</span>);</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> }</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> </div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="preprocessor">#undef SINFO_SIGN</span></div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="preprocessor"></span><span class="preprocessor">#undef SINFO_MAX</span></div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="preprocessor"></span><span class="preprocessor">#undef SINFO_PYTHAG</span></div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="preprocessor">#define NR_END 1</span></div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="preprocessor"></span><span class="preprocessor">#define FREE_ARG char*</span></div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="keywordtype">void</span> sinfo_nerror(<span class="keyword">const</span> <span class="keywordtype">char</span> error_text[])</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> {</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> fprintf(stderr,<span class="stringliteral">"Runtime ERROR ...\n"</span>);</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> fprintf(stderr,<span class="stringliteral">"%s\n"</span>,error_text);</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> fprintf(stderr,<span class="stringliteral">"exiting system \n"</span>);</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> }</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="keywordtype">float</span> *sinfo_vector(<span class="keywordtype">long</span> nl, <span class="keywordtype">long</span> nh)</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> {</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="keywordtype">float</span> *v;</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> </div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> v=(<span class="keywordtype">float</span> *)cpl_malloc((<span class="keywordtype">size_t</span>) ((nh-nl+1+NR_END)*<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)));</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="keywordflow">if</span> (!v) {</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"allocation failure in sinfo_vector()"</span>);</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> }</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="keywordflow">return</span> v-nl+NR_END;</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> }</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> </div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="keywordtype">void</span> sinfo_free_vector(<span class="keywordtype">float</span> *v, <span class="keywordtype">long</span> nl<span class="comment">/* , long nh*/</span>)</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> </div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> {</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> cpl_free((FREE_ARG) (v+nl-NR_END));</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> }</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> </div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="keywordtype">float</span> **sinfo_matrix(<span class="keywordtype">long</span> nrl, <span class="keywordtype">long</span> nrh, <span class="keywordtype">long</span> ncl, <span class="keywordtype">long</span> nch)</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> {</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="keywordtype">long</span> i, nrow=nrh-nrl+1,ncol=nch-ncl+1;</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="keywordtype">float</span> **m;</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> </div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> m=(<span class="keywordtype">float</span> **) cpl_malloc((<span class="keywordtype">size_t</span>)((nrow+NR_END)*<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>*)));</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="keywordflow">if</span> (!m) {</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"aloccation failure 1 in sinfo_matrix()"</span>);</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> }</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> m += NR_END;</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> m -= nrl;</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> </div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> m[nrl]=(<span class="keywordtype">float</span> *)cpl_malloc((<span class="keywordtype">size_t</span>)((nrow*ncol+NR_END)*<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)));</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="keywordflow">if</span> (!m[nrl]) {</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"allocation failure 2 in sinfo_matrix()"</span>);</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> }</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> m[nrl] += NR_END;</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> m[nrl] -= ncl;</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> </div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="keywordflow">for</span>(i=nrl+1;i<=nrh;i++) m[i] = m[i-1]+ncol;</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="keywordflow">return</span> m;</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> }</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> </div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="keywordtype">void</span> sinfo_free_matrix(<span class="keywordtype">float</span> **m,<span class="keywordtype">long</span> nrl<span class="comment">/*, long nrh*/</span>, <span class="keywordtype">long</span> ncl<span class="comment">/*, long nch*/</span>)</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> {</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> cpl_free((FREE_ARG)(m[nrl]+ncl-NR_END));</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> cpl_free((FREE_ARG)(m+nrl-NR_END));</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> }</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__svd_8h_source.html b/html/sinfo__svd_8h_source.html
deleted file mode 100644
index 22b005a..0000000
--- a/html/sinfo__svd_8h_source.html
+++ /dev/null
@@ -1,131 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_svd.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_svd.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_SVD_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_SVD_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*******************************************************************************</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* "@(#) $Id: sinfo_svd.h,v 1.4 2007/06/06 07:10:45 amodigli Exp $"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* schreib 16/04/03 created</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * sinfo_svd.h</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * singular value decomposition fit routines</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> * Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keywordtype">void</span> sinfo_fpol(<span class="keywordtype">float</span> x, <span class="keywordtype">float</span> *p, <span class="keywordtype">int</span> np) ;</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> sinfo_svb_kas(<span class="keywordtype">float</span> **u, <span class="keywordtype">float</span> w[], <span class="keywordtype">float</span> **v, <span class="keywordtype">int</span> m, </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">int</span> n, <span class="keywordtype">float</span> b[],<span class="keywordtype">float</span> x[]) ;</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">void</span> sinfo_svd_variance(<span class="keywordtype">float</span> **v , <span class="keywordtype">int</span> ma , <span class="keywordtype">float</span> w[] , <span class="keywordtype">float</span> **cvm) ;</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">void</span> sinfo_svd_fitting ( <span class="keywordtype">float</span> *x,</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">float</span> *y,</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">float</span> *sig,</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">int</span> ndata,</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordtype">float</span> *a,</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">int</span> ma,</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">float</span> **u,</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">float</span> **v,</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">float</span> *w,</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">float</span> **cvm,</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">float</span> *chisq,</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keywordtype">void</span> (*funcs)(<span class="keywordtype">float</span>,<span class="keywordtype">float</span> *,<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">void</span> sinfo_svd_compare(<span class="keywordtype">float</span> **a,<span class="keywordtype">int</span> m,<span class="keywordtype">int</span> n,<span class="keywordtype">float</span> w[],<span class="keywordtype">float</span> **v) ;</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keywordtype">void</span> sinfo_nerror(<span class="keyword">const</span> <span class="keywordtype">char</span> error_text[]) ;</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">float</span> *sinfo_vector(<span class="keywordtype">long</span> nl, <span class="keywordtype">long</span> nh) ;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">void</span> sinfo_free_vector(<span class="keywordtype">float</span> *v, <span class="keywordtype">long</span> nl <span class="comment">/*, long nh*/</span>) ;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">float</span> **sinfo_matrix(<span class="keywordtype">long</span> nrl, <span class="keywordtype">long</span> nrh, <span class="keywordtype">long</span> ncl, <span class="keywordtype">long</span> nch) ;</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> sinfo_free_matrix(<span class="keywordtype">float</span> **m,<span class="keywordtype">long</span> nrl<span class="comment">/*, long nrh*/</span>, <span class="keywordtype">long</span> ncl<span class="comment">/*, long nch*/</span>) ;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="preprocessor">#endif </span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="preprocessor"></span><span class="comment">/*--------------------------------------------------------------------------*/</span><span class="preprocessor"></span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__tilt__cfg_8c_source.html b/html/sinfo__tilt__cfg_8c_source.html
deleted file mode 100644
index b0a3081..0000000
--- a/html/sinfo__tilt__cfg_8c_source.html
+++ /dev/null
@@ -1,122 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_tilt_cfg.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_tilt_cfg.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> File name : tilt_cfg.c</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Autor : Juergen Schreiber</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Created on : October 2001</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> Description : handles the data structure tilt_config</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"></span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_tilt_cfg.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> Function : sinfo_tilt_cfg_create()</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> In : void</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> Out : pointer to allocated base tilt_config structure</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> Job : allocate memory for a tilt_config struct</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> Notice : only the main (base) structure is allocated</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> tilt_config * sinfo_tilt_cfg_create(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> {</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordflow">return</span> cpl_calloc(1, <span class="keyword">sizeof</span>(tilt_config));</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> }</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> Function : sinfo_tilt_cfg_destroy()</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> In : tilt_config to deallocate</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> Out : void</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> Job : deallocate all memory associated with a </span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> tilt_config data structure</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> Notice : </span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keywordtype">void</span> sinfo_tilt_cfg_destroy(tilt_config * sc)</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> {</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keywordflow">if</span> (sc==NULL) return ;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">/* cpl_free(sc->frametype);*/</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">/* Free main struct */</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> cpl_free(sc);</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> return ;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> }</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__tilt__cfg_8h_source.html b/html/sinfo__tilt__cfg_8h_source.html
deleted file mode 100644
index 32234b4..0000000
--- a/html/sinfo__tilt__cfg_8h_source.html
+++ /dev/null
@@ -1,136 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_tilt_cfg.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_tilt_cfg.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> File name : sinfo_tilt_cfg.h</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Created on : October 2001</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Description : tilt_ini definitions + handling prototypes</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#ifndef SINFO_TILT_CFG_H</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_TILT_CFG_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <stdlib.h></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> New types</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> determination of spectral tilt blackboard container</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> This structure holds all information related to the determination </span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> of the spectral tilt routine. It is used as a container for the flux </span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> of ancillary data, computed values, and algorithm status. Pixel flux </span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> is separated from the blackboard.</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>tilt_config {</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/*-------General---------*/</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keywordtype">char</span> inFile[FILE_NAME_SZ] ; <span class="comment">/* file name of the file containing </span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> the list of all input frames */</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">char</span> outName[FILE_NAME_SZ] ; <span class="comment">/* output name of resulting fits </span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> wavelength map */</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">char</span> ** framelist ; <span class="comment">/* list of frames */</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">int</span> * frametype ; <span class="comment">/* list of frame types on or off */</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">int</span> nframes ; <span class="comment">/* number of frames in frame list */</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">int</span> nobj ; <span class="comment">/* number of object frames in frame list */</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">int</span> noff ; <span class="comment">/* number of off frames in frame list */</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">/*------ CleanMean ------*/</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/* percentage of rejected low intensity pixels */</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">float</span> loReject ;</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">/* percentage of rejected high intensity pixels */</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">float</span> hiReject ;</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">/* file name of the bad pixel mask fits file */</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">char</span> mask[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">/*------ Slope ------*/</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">/* width of a box along the slitlets within which the spectrum </span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> is fitted by a Gaussian */</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keywordtype">int</span> box_length ;</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">/* initial guess of the FWHM */</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">float</span> fwhm ;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">/* amplitude below which the fit is not carried through */</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">float</span> minDiff ;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> } tilt_config ;</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> Function prototypes</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> tilt_config * </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> sinfo_tilt_cfg_create(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> sinfo_tilt_cfg_destroy(tilt_config * sc);</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__tilt__ini_8h_source.html b/html/sinfo__tilt__ini_8h_source.html
deleted file mode 100644
index 5d35b29..0000000
--- a/html/sinfo__tilt__ini_8h_source.html
+++ /dev/null
@@ -1,99 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_tilt_ini.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_tilt_ini.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_tilt_ini.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : Oct 25, 2001</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : prepare handling of .ini file for the determination</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> of the spectral tilt</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifndef SINFO_TILT_INI_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_TILT_INI_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_tilt_cfg.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#define FRAME_ON 1 </span><span class="comment">/* object frames */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor"></span><span class="preprocessor">#define FRAME_OFF 0 </span><span class="comment">/* off frames */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor"></span><span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> generateTilt_ini_file(</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">char</span> * ini_name,</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordtype">char</span> * name_i,</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">char</span> * name_o</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> );</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> tilt_config * </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> parse_tilt_ini_file(<span class="keywordtype">char</span> * ini_name) ;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__time_8c_source.html b/html/sinfo__time_8c_source.html
deleted file mode 100644
index 6d5ddac..0000000
--- a/html/sinfo__time_8c_source.html
+++ /dev/null
@@ -1,232 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_time.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_time.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_time.c,v 1.5 2012/03/03 10:17:31 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the ESO QFITS Library</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2001-2004 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2012/03/03 10:17:31 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.5 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span><span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <stdlib.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <time.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <pwd.h></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <unistd.h></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <sys/time.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_time.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> Macros</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/* Get century from a date in long format */</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#define GET_CENTURY(d) (int) ( (d) / 1000000L)</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor"></span><span class="comment">/* Get century year from a date in long format */</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#define GET_CCYEAR(d) (int) ( (d) / 10000L)</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor"></span><span class="comment">/* Get year from a date in long format */</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#define GET_YEAR(d) (int) (((d) % 1000000L) / 10000L)</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor"></span><span class="comment">/* Get month from a date in long format */</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#define GET_MONTH(d) (int) (((d) % 10000L) / 100)</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor"></span><span class="comment">/* Get day from a date in long format */</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#define GET_DAY(d) (int) ( (d) % 100)</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">/* Get hours from a date in long format */</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#define GET_HOUR(t) (int) ( (t) / 1000000L)</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor"></span><span class="comment">/* Get minutes from a date in long format */</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#define GET_MINUTE(t) (int) (((t) % 1000000L) / 10000L)</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor"></span><span class="comment">/* Get seconds from a date in long format */</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#define GET_SECOND(t) (int) (((t) % 10000L) / 100)</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor"></span><span class="comment">/* Get centi-seconds from a date in long format */</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#define GET_CENTI(t) (int) ( (t) % 100)</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">/* Make date in long format from its components */</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor">#define MAKE_DATE(c,y,m,d) (long) (c) * 1000000L + \</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor"> (long) (y) * 10000L + \</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor"> (long) (m) * 100 + (d)</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor"></span><span class="comment">/* Make time in long format from its components */</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor">#define MAKE_TIME(h,m,s,c) (long) (h) * 1000000L + \</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor"> (long) (m) * 10000L + \</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor"> (long) (s) * 100 + (c)</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">/* Interval values, specified in centiseconds */</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="preprocessor">#define INTERVAL_CENTI 1</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="preprocessor"></span><span class="preprocessor">#define INTERVAL_SEC 100</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="preprocessor"></span><span class="preprocessor">#define INTERVAL_MIN 6000</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="preprocessor"></span><span class="preprocessor">#define INTERVAL_HOUR 360000L</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="preprocessor"></span><span class="preprocessor">#define INTERVAL_DAY 8640000L</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> Private to this module</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keyword">static</span> <span class="keywordtype">long</span> timer_to_date(time_t time_secs) ;</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keyword">static</span> <span class="keywordtype">long</span> timer_to_time(time_t time_secs) ;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">static</span> <span class="keywordtype">long</span> sinfo_time_now(<span class="keywordtype">void</span>) ;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keyword">static</span> <span class="keywordtype">long</span> sinfo_date_now (<span class="keywordtype">void</span>) ;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordtype">char</span> * sinfo_get_datetime_iso8601(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> {</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keyword">static</span> <span class="keywordtype">char</span> date_iso8601[MAX_NAME_SIZE] ;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">long</span> curdate ;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">long</span> curtime ;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> curdate = sinfo_date_now() ;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> curtime = sinfo_time_now() ;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> snprintf(date_iso8601, MAX_NAME_SIZE-1,</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="stringliteral">"%04d-%02d-%02dT%02d:%02d:%02d"</span>,</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> GET_CCYEAR(curdate),</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> GET_MONTH(curdate),</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> GET_DAY(curdate),</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> GET_HOUR(curtime),</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> GET_MINUTE(curtime),</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> GET_SECOND(curtime));</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">return</span> date_iso8601 ;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> }</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keyword">static</span> <span class="keywordtype">long</span> sinfo_date_now (<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> {</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">return</span> (timer_to_date (time (NULL)));</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> }</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keyword">static</span> <span class="keywordtype">long</span> sinfo_time_now(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> {</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keyword">struct </span>timeval time_struct;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> gettimeofday (&time_struct, 0);</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keywordflow">return</span> (timer_to_time (time_struct.tv_sec)</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> + time_struct.tv_usec / 10000);</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> }</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keyword">static</span> <span class="keywordtype">long</span> timer_to_date(time_t time_secs)</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> {</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keyword">struct </span>tm *time_struct;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keywordflow">if</span> (time_secs == 0) {</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment">/* Convert into a long value CCYYMMDD */</span></div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> time_struct = localtime (&time_secs);</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="keywordflow">if</span> (time_struct) {</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> time_struct-> tm_year += 1900;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keywordflow">return</span> (MAKE_DATE ( time_struct-> tm_year / 100,</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> time_struct-> tm_year % 100,</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> time_struct-> tm_mon + 1,</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> time_struct-> tm_mday));</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordflow">return</span> (19700101);</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> }</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> }</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> }</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keyword">static</span> <span class="keywordtype">long</span> timer_to_time(time_t time_secs)</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> {</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keyword">struct </span>tm *time_struct;</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keywordflow">if</span> (time_secs == 0) {</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment">/* Convert into a long value HHMMSS00 */</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> time_struct = localtime (&time_secs);</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordflow">if</span> (time_struct) {</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordflow">return</span> (MAKE_TIME (time_struct-> tm_hour,</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> time_struct-> tm_min,</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> time_struct-> tm_sec,</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> 0));</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> }</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> }</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> }</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__time_8h_source.html b/html/sinfo__time_8h_source.html
deleted file mode 100644
index f20e9b6..0000000
--- a/html/sinfo__time_8h_source.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_time.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_time.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_time.h,v 1.1 2006/11/11 14:13:03 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the ESO QFITS Library</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2001-2004 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2006/11/11 14:13:03 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef SINFO_TIME_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_TIME_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Function ANSI C prototypes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keywordtype">char</span> * sinfo_get_datetime_iso8601(<span class="keywordtype">void</span>) ;</div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__tpl__dfs_8c_source.html b/html/sinfo__tpl__dfs_8c_source.html
deleted file mode 100644
index 1a08e04..0000000
--- a/html/sinfo__tpl__dfs_8c_source.html
+++ /dev/null
@@ -1,273 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_tpl_dfs.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_tpl_dfs.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_tpl_dfs.c,v 1.13 2012/03/03 10:17:31 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2012/03/03 10:17:31 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.13 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_utilities.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_tpl_dfs.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_raw_types.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "sinfo_ref_types.h"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> sinfo_dfs_files_dont_exist(cpl_frameset *frameset)</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> {</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *func = <span class="stringliteral">"dfs_files_dont_exist"</span>;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> cpl_frame *frame;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordflow">if</span> (frameset == NULL) {</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> cpl_error_set(func, CPL_ERROR_NULL_INPUT);</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordflow">return</span> 1;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> }</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keywordflow">if</span> (cpl_frameset_is_empty(frameset)) {</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> }</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> frame = cpl_frameset_get_first(frameset);</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordflow">while</span> (frame) {</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordflow">if</span> (access(cpl_frame_get_filename(frame), F_OK)) {</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> cpl_msg_error(func, <span class="stringliteral">"File %s (%s) was not found"</span>,</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> cpl_frame_get_filename(frame),</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> cpl_frame_get_tag(frame));</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> cpl_error_set(func, CPL_ERROR_FILE_NOT_FOUND);</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> }</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> frame = cpl_frameset_get_next(frameset);</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> }</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordflow">if</span> (cpl_error_get_code())</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordflow">return</span> 1;</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> }</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">int</span> sinfo_dfs_set_groups(cpl_frameset * <span class="keyword">set</span>)</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> {</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> cpl_frame * cur_frame=NULL ;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * tag=NULL ;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordtype">int</span> nframes=0 ;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">int</span> i=0 ;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> sinfo_skip_if (cpl_error_get_code());</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">/* Check entries */</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordflow">if</span> (<span class="keyword">set</span> == NULL) <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment">/* Initialize */</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> nframes = cpl_frameset_get_size(<span class="keyword">set</span>) ;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment">/* Loop on frames */</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordflow">for</span> (i=0 ; i<nframes ; i++) {</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> cur_frame = cpl_frameset_get_frame(<span class="keyword">set</span>, i) ;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> tag = cpl_frame_get_tag(cur_frame) ;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordflow">if</span> (cpl_error_get_code()) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keywordflow">if</span> (tag == NULL) <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>( <span class="stringliteral">"Frame %d has no tag"</span>, i);</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">/* RAW frames */</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(tag, RAW_LINEARITY_LAMP) ||</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> !strcmp(tag, RAW_ON) ||</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> !strcmp(tag, RAW_OFF) ||</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> !strcmp(tag, RAW_DARK) ||</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> !strcmp(tag, RAW_FIBRE_NS) ||</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> !strcmp(tag, RAW_FIBRE_PSF) ||</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> !strcmp(tag, RAW_FIBRE_DARK) ||</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> !strcmp(tag, RAW_FLAT_NS) ||</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> !strcmp(tag, RAW_WAVE_NS) ||</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> !strcmp(tag, RAW_FLAT_LAMP) ||</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> !strcmp(tag, RAW_WAVE_LAMP) ||</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> !strcmp(tag, RAW_PSF_CALIBRATOR) ||</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> !strcmp(tag, RAW_SKY_PSF_CALIBRATOR) ||</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> !strcmp(tag, RAW_STD) ||</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> !strcmp(tag, RAW_SKY) ||</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> !strcmp(tag, RAW_SKY_STD) ||</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> !strcmp(tag, RAW_OBJECT_NODDING) ||</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> !strcmp(tag, RAW_SKY_NODDING) ||</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> !strcmp(tag, RAW_OBJECT_JITTER) ||</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> !strcmp(tag, RAW_SKY_JITTER) ||</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> !strcmp(tag, RAW_PUPIL_LAMP) ||</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> !strcmp(tag, RAW_IMAGE_PRE_OBJECT) ||</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> !strcmp(tag, RAW_IMAGE_PRE_SKY) ||</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> !strcmp(tag, RAW_OBJECT_SKYSPIDER))</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> cpl_frame_set_group(cur_frame, CPL_FRAME_GROUP_RAW) ;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment">/* CALIB frames */</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_BP_MAP_HP) ||</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> !strcmp(tag,SINFO_UTL_STDSTARS_RAW) ||</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> !strcmp(tag,SINFO_CALIB_STDSTARS) ||</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> !strcmp(tag,SINFO_CALIB_SED) ||</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> !strcmp(tag,PRO_BP_MAP_NL) ||</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> !strcmp(tag,PRO_BP_MAP_NO) ||</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> !strcmp(tag,PRO_BP_MAP_DI) ||</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> !strcmp(tag,PRO_BP_MAP_NL) ||</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> !strcmp(tag,PRO_BP_MAP_NO) ||</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> !strcmp(tag,PRO_BP_MAP) ||</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> !strcmp(tag,PRO_ILL_COR) ||</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> !strcmp(tag,PRO_MASTER_BP_MAP) ||</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> !strcmp(tag,PRO_MASTER_DARK) ||</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> !strcmp(tag,PRO_DISTORTION) ||</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> !strcmp(tag,PRO_SLITLETS_DISTANCE) ||</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> !strcmp(tag,PRO_MASTER_FLAT_LAMP) ||</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> !strcmp(tag,PRO_SLIT_POS) ||</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> !strcmp(tag,PRO_SLIT_POS_GUESS) ||</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> !strcmp(tag,PRO_FIRST_COL) ||</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> !strcmp(tag,PRO_WAVE_MAP ) ||</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> !strcmp(tag,REF_LINE_ARC ) ||</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> !strcmp(tag,DRS_SETUP_WAVE ) ||</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> !strcmp(tag,EXTCOEFF_TABLE ) ||</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> !strcmp(tag,FLUX_STD_TABLE ) ||</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> !strcmp(tag,FLUX_STD_CATALOG ) ||</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> !strcmp(tag,PRO_IMA ) ||</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> !strcmp(tag,PRO_CUBE ) ||</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> !strcmp(tag,REF_BP_MAP ) ||</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> !strcmp(tag,PRO_SKY_DUMMY ) ||</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> !strcmp(tag,PRO_REF_ATM_REF_CORR) ||</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> !strcmp(tag,PRO_SPECTRUM))</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> cpl_frame_set_group(cur_frame, CPL_FRAME_GROUP_CALIB) ;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(tag, PRO_OBS_OBJ) ||</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> !strcmp(tag,PRO_MED_OBS_OBJ) ||</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> !strcmp(tag,PRO_OBS_STD) ||</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> !strcmp(tag,PRO_MED_OBS_STD) ||</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> !strcmp(tag,PRO_OBS_PSF) ||</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> !strcmp(tag,PRO_MED_OBS_PSF) ||</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> !strcmp(tag,PRO_COADD_OBJ) ||</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> !strcmp(tag,PRO_COADD_STD) ||</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> !strcmp(tag,PRO_COADD_PSF) ||</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> !strcmp(tag,PRO_COADD_PUPIL) ||</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> !strcmp(tag,PRO_MED_COADD_OBJ) ||</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> !strcmp(tag,PRO_MED_COADD_STD) ||</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> !strcmp(tag,PRO_MED_COADD_PSF) ||</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> !strcmp(tag,PRO_MED_COADD_PUPIL) ||</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> !strcmp(tag,PRO_MASK_COADD_OBJ) ||</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> !strcmp(tag,PRO_MASK_COADD_STD) ||</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> !strcmp(tag,PRO_MASK_COADD_PSF) ||</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> !strcmp(tag,PRO_MASK_COADD_PUPIL) ||</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> !strcmp(tag,PRO_PSF_CALIBRATOR_STACKED) ||</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> !strcmp(tag,PRO_SKY_PSF_CALIBRATOR_STACKED) ||</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> !strcmp(tag,PRO_AO_PERFORMANCE) ||</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> !strcmp(tag,PRO_ENC_ENERGY) ||</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> !strcmp(tag,PRO_PSF) ||</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> !strcmp(tag,PRO_STD_STAR_SPECTRA) ||</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> !strcmp(tag,PRO_STD_STAR_SPECTRUM) ||</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> !strcmp(tag,PRO_MFLAT_CUBE) ||</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> !strcmp(tag,PRO_MFLAT_AVG) ||</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> !strcmp(tag,PRO_MFLAT_MED) ||</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> !strcmp(tag,PRO_STACK_MFLAT_DIST) ||</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> !strcmp(tag,PRO_WAVE_LAMP_STACKED ) ||</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> !strcmp(tag,PRO_FIBRE_NS_STACKED_OFF) ||</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> !strcmp(tag,PRO_FIBRE_NS_STACKED_ON) ||</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> !strcmp(tag,PRO_FIBRE_NS_STACKED) ||</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> !strcmp(tag,PRO_SLITLETS_POS_PREDIST) ||</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> !strcmp(tag,PRO_OBS_SKY) ||</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> !strcmp(tag,PRO_SKY_MED) ||</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> !strcmp(tag,PRO_FIBRE_NS_STACKED_DIST))</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> cpl_frame_set_group(cur_frame, CPL_FRAME_GROUP_PRODUCT) ;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordflow">else</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>( <span class="stringliteral">"Frame %d has unknown tag: %s"</span>, i, tag);</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> }</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> ck0_nomsg(sinfo_dfs_files_dont_exist(<span class="keyword">set</span>));</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> sinfo_skip_if (i != nframes);</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> sinfo_end_skip;</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordflow">if</span> (cpl_error_get_code())</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"Could not identify RAW and CALIB frames (in "</span></div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="stringliteral">"frame set of size %d)"</span>, nframes);</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> }</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__tpl__dfs_8h_source.html b/html/sinfo__tpl__dfs_8h_source.html
deleted file mode 100644
index e56e45c..0000000
--- a/html/sinfo__tpl__dfs_8h_source.html
+++ /dev/null
@@ -1,121 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_tpl_dfs.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_tpl_dfs.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_tpl_dfs.h,v 1.3 2008/07/09 09:53:23 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2008/07/09 09:53:23 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.3 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef SINFO_TPL_DFS_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_TPL_DFS_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Define</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/* Define here the PRO.CATG keywords */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#define SI_UTL_IMA_ARITH_PROIMA "PRO_IMA"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_RAW "RAW"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_CAL "CAL"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/* Define here the DO.CATG keywords */</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#define SI_UTL_IMA_ARITH_IMA1 "IMA1"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor"></span><span class="preprocessor">#define SI_UTL_IMA_ARITH_IMA2 "IMA2"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor"></span><span class="preprocessor">#define SI_UTL_CUBE2IMA_CUBE "CUBE"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"></span><span class="preprocessor">#define SI_UTL_CUBE2SPECTRUM_CUBE "CUBE"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor"></span><span class="preprocessor">#define SI_UTL_CUBE_ARITH_CUBE "CUBE"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor"></span><span class="preprocessor">#define SI_UTL_CUBE_ARITH_SPECTRUM "SPECTRUM"</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor"></span><span class="preprocessor">#define SI_UTL_CUBE2IMA_PROIMA "PRO_IMA"</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor"></span><span class="preprocessor">#define SI_UTL_CUBE2SPECTRUM_PROIMA "PRO_IMA"</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor"></span><span class="preprocessor">#define SI_UTL_CUBE_ARITH_PROCUBE "PRO_CUBE_COADD"</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor"></span><span class="preprocessor">#define SI_UTL_CUBE_COMBINE_PROCUBE "PRO_CUBE"</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor"></span><span class="preprocessor">#define SI_UTL_CUBE_COMBINE_PROMASK "PRO_BP_MAP_CUBE_COADD"</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"></span><span class="preprocessor">#define SI_UTL_SPECTRUM_ARITH_PROSPECTRUM "PRO_SPECTRUM"</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor"></span><span class="preprocessor">#define SI_UTL_SPECTRUM_ARITH_SPECTRUM "SPECTRUM"</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor"></span><span class="preprocessor">#define SI_UTL_SPECTRUM_WAVELENGTH_SHIFT_PROSPECTRUM "PRO_SPECTRUM"</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor"></span><span class="preprocessor">#define SI_UTL_SPECTRUM_WAVELENGTH_SHIFT_SPECTRUM "SPECTRUM"</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor"></span><span class="preprocessor">#define SI_UTL_SPECTRUM_DIVIDE_BY_BLACKBODY_PROSPECTRUM "PRO_SPECTRUM"</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor"></span><span class="preprocessor">#define SI_UTL_SPECTRUM_DIVIDE_BY_BLACKBODY_SPECTRUM "SPECTRUM"</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor"></span><span class="preprocessor">#define SI_UTL_GENLOOKUP_CUBE1 "CUBE1"</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor"></span><span class="preprocessor">#define SI_UTL_GENLOOKUP_CUBE2 "CUBE2"</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor"></span><span class="preprocessor">#define SI_UTL_GENLOOKUP_PROIMA1 "PRO_IMA1"</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor"></span><span class="preprocessor">#define SI_UTL_GENLOOKUP_PROIMA2 "PRO_IMA2"</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor"></span><span class="preprocessor">#define SI_UTL_GENLOOKUP_PROIMA3 "PRO_IMA3"</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor"></span><span class="preprocessor">#define SI_UTL_GENLOOKUP_PROIMA4 "PRO_IMA4"</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor"></span><span class="preprocessor">#define SI_SKYMAP_CUBE "PRO_CUBE"</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor"></span><span class="preprocessor">#define SI_SKYMAP_PROIMA "PRO_IMA"</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">int</span> sinfo_dfs_set_groups(cpl_frameset *) ;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__tpl__utils_8c_source.html b/html/sinfo__tpl__utils_8c_source.html
deleted file mode 100644
index a34ab22..0000000
--- a/html/sinfo__tpl__utils_8c_source.html
+++ /dev/null
@@ -1,192 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_tpl_utils.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_tpl_utils.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_tpl_utils.c,v 1.4 2013/07/15 08:13:35 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2013/07/15 08:13:35 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.4 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_tpl_utils.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_get_license(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> {</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfoni_license =</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="stringliteral">"This file is part of the SINFONI Instrument Pipeline\n"</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="stringliteral">"Copyright (C) 2002,2003 European Southern Observatory\n"</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="stringliteral">"\n"</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="stringliteral">"This program is free software; you can redistribute it and/or modify\n"</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="stringliteral">"it under the terms of the GNU General Public License as published by\n"</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="stringliteral">"the Free Software Foundation; either version 2 of the License, or\n"</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="stringliteral">"(at your option) any later version.\n"</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="stringliteral">"\n"</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="stringliteral">"This program is distributed in the hope that it will be useful,\n"</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="stringliteral">"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="stringliteral">"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="stringliteral">"GNU General Public License for more details.\n"</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="stringliteral">"\n"</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="stringliteral">"You should have received a copy of the GNU General Public License\n"</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="stringliteral">"along with this program; if not, write to the Free Software\n"</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="stringliteral">"Foundation, Inc., 59 Temple Place, Suite 330, Boston, \n"</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="stringliteral">"MA 02111-1307 USA"</span> ;</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordflow">return</span> sinfoni_license ;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> }</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> cpl_frameset * sinfo_extract_frameset(</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keyword">const</span> cpl_frameset * in,</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> {</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> cpl_frameset * out ;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keyword">const</span> cpl_frame * cur_frame ;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> cpl_frame * loc_frame ;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">int</span> nbframes, nbext ;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordflow">if</span> (in == NULL) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordflow">if</span> (tag == NULL) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">/* Initialise */</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> nbframes = cpl_frameset_get_size(in) ;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">/* Count the frames with the tag */</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordflow">if</span> ((nbext = cpl_frameset_count_tags(in, tag)) == 0) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">/* Create the output frameset */</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> out = cpl_frameset_new() ;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment">/* Loop on the requested frames and store them in out */</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> nbext = 0 ;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordflow">for</span> (i=0 ; i<nbframes ; i++) {</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> cur_frame = cpl_frameset_get_frame_const(in, i) ;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordflow">if</span> (!strcmp(cpl_frame_get_tag(cur_frame), tag)) {</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> loc_frame = cpl_frame_duplicate(cur_frame) ;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> cpl_frameset_insert(out, loc_frame) ;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> nbext ++ ;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> }</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> }</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordflow">return</span> out ;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> }</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_extract_filename(</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keyword">const</span> cpl_frameset * in,</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * tag)</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> {</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keyword">const</span> cpl_frame * cur_frame ;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment">/* Get the frame */</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordflow">if</span> ((cur_frame = cpl_frameset_find_const(in, tag)) == NULL) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordflow">return</span> cpl_frame_get_filename(cur_frame) ;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> }</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_std_band_name(sinfo_band band)</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> {</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">switch</span> (band) {</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordflow">case</span> SINFO_BAND_J: <span class="keywordflow">return</span> <span class="stringliteral">"J"</span> ;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">case</span> SINFO_BAND_JS: <span class="keywordflow">return</span> <span class="stringliteral">"Js"</span> ;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordflow">case</span> SINFO_BAND_JBLOCK: <span class="keywordflow">return</span> <span class="stringliteral">"J+Block"</span> ;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keywordflow">case</span> SINFO_BAND_H: <span class="keywordflow">return</span> <span class="stringliteral">"H"</span> ;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keywordflow">case</span> SINFO_BAND_K: <span class="keywordflow">return</span> <span class="stringliteral">"K"</span> ;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordflow">case</span> SINFO_BAND_KS: <span class="keywordflow">return</span> <span class="stringliteral">"Ks"</span> ;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordflow">case</span> SINFO_BAND_L: <span class="keywordflow">return</span> <span class="stringliteral">"L"</span> ;</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="keywordflow">case</span> SINFO_BAND_M: <span class="keywordflow">return</span> <span class="stringliteral">"M"</span> ;</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keywordflow">case</span> SINFO_BAND_LP: <span class="keywordflow">return</span> <span class="stringliteral">"Lp"</span> ;</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordflow">case</span> SINFO_BAND_MP: <span class="keywordflow">return</span> <span class="stringliteral">"Mp"</span> ;</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordflow">case</span> SINFO_BAND_Z: <span class="keywordflow">return</span> <span class="stringliteral">"Z"</span> ;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordflow">case</span> SINFO_BAND_SZ: <span class="keywordflow">return</span> <span class="stringliteral">"SZ"</span> ;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keywordflow">case</span> SINFO_BAND_SH: <span class="keywordflow">return</span> <span class="stringliteral">"SH"</span> ;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordflow">case</span> SINFO_BAND_SK: <span class="keywordflow">return</span> <span class="stringliteral">"SK"</span> ;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keywordflow">case</span> SINFO_BAND_SL: <span class="keywordflow">return</span> <span class="stringliteral">"SL"</span> ;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">default</span>: <span class="keywordflow">return</span> <span class="stringliteral">"Unknown"</span> ;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> } </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> }</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__tpl__utils_8h_source.html b/html/sinfo__tpl__utils_8h_source.html
deleted file mode 100644
index 700ef99..0000000
--- a/html/sinfo__tpl__utils_8h_source.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_tpl_utils.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_tpl_utils.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_tpl_utils.h,v 1.2 2007/08/20 10:03:49 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2007/08/20 10:03:49 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.2 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef SINFO_TPL_UTILS_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_TPL_UTILS_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">typedef</span> <span class="keyword">enum</span> _SINFO_BAND_ {</div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> SINFO_BAND_J,</div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> SINFO_BAND_JS,</div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> SINFO_BAND_JBLOCK,</div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> SINFO_BAND_H,</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> SINFO_BAND_K,</div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> SINFO_BAND_KS,</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> SINFO_BAND_L,</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> SINFO_BAND_M,</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> SINFO_BAND_LP,</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> SINFO_BAND_MP,</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> SINFO_BAND_Z,</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> SINFO_BAND_SZ,</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> SINFO_BAND_SH,</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> SINFO_BAND_SK,</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> SINFO_BAND_SL,</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> SINFO_BAND_UNKNOWN</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> } sinfo_band ;</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> Prototypes</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_get_license(<span class="keywordtype">void</span>) ;</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> cpl_frameset * sinfo_extract_frameset(<span class="keyword">const</span> cpl_frameset *, <span class="keyword">const</span> <span class="keywordtype">char</span> *) ;</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_extract_filename(<span class="keyword">const</span> cpl_frameset *, <span class="keyword">const</span> <span class="keywordtype">char</span> *) ;</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfo_std_band_name(sinfo_band) ;</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utilities_8c_source.html b/html/sinfo__utilities_8c_source.html
deleted file mode 100644
index a7b42cc..0000000
--- a/html/sinfo__utilities_8c_source.html
+++ /dev/null
@@ -1,1106 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utilities.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utilities.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor"></span><span class="preprocessor">#include "sinfo_utilities.h"</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include "sinfo_dfs.h"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#include "sinfo_function_1d.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> cpl_image*</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> sinfo_vector_to_image(<span class="keyword">const</span> cpl_vector* vector,cpl_type type)</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> {</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> cpl_image* image=NULL;</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">int</span> size=0;</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">const</span> <span class="keywordtype">double</span>* pv=NULL;</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">int</span>* pi=NULL;</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">float</span>* pf=NULL;</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">double</span>* pd=NULL;</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> size=cpl_vector_get_size(vector);</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> image=cpl_image_new(size,1,type);</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> pv=cpl_vector_get_data_const(vector);</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordflow">if</span>(type == CPL_TYPE_INT) {</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> pi=cpl_image_get_data_int(image);</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordflow">for</span>(i=0;i<size;i++) {</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> pi[i]=pv[i];</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> }</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (type == CPL_TYPE_FLOAT) {</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> pf=cpl_image_get_data_float(image);</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordflow">for</span>(i=0;i<size;i++) {</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> pf[i]=pv[i];</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> }</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (type == CPL_TYPE_DOUBLE) {</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> pd=cpl_image_get_data_double(image);</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keywordflow">for</span>(i=0;i<size;i++) {</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> pd[i]=pv[i];</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> }</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> assure( 0, CPL_ERROR_INVALID_TYPE,</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="stringliteral">"No CPL type to represent BITPIX = %d"</span>, type);</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> }</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> cleanup:</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE){</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> sinfo_free_image(&image);</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> }</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordflow">return</span> image;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> }</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> cpl_error_code</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> sinfo_ima_line_cor(cpl_parameterlist * parlist, cpl_frameset* in)</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> {</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">int</span> n=0;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordtype">int</span> kappa=18;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">int</span> filt_rad=3;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordtype">int</span> width=4;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> cpl_frame* frm=NULL;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name=NULL;</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* bname=NULL;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> cpl_image * ima=NULL ;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> cpl_image * ima_out=NULL ;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> cpl_parameter* p=NULL;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keywordtype">char</span>* tag=NULL;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">char</span> name_deb[80];</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> check_nomsg(p=cpl_parameterlist_find(parlist, <span class="stringliteral">"sinfoni.general.lc_kappa"</span>));</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> check_nomsg(kappa=cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> check_nomsg(p=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="stringliteral">"sinfoni.general.lc_filt_rad"</span>));</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> check_nomsg(filt_rad = cpl_parameter_get_int(p)) ;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> n=cpl_frameset_get_size(in);</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordflow">for</span>(i=0;i<n;i++) {</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> check_nomsg(frm=cpl_frameset_get_frame(in,i));</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> tag= (<span class="keywordtype">char</span>*) cpl_frame_get_tag(frm);</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordflow">if</span>(sinfo_frame_is_raw(tag) == 1) {</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> check_nomsg(name=cpl_frame_get_filename(frm));</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> bname=sinfo_new_get_basename(name);</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> check_nomsg(ima=cpl_image_load(name,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> check_nomsg(sinfo_image_line_corr(width,filt_rad,kappa,ima,&ima_out));</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> check_nomsg(plist=cpl_propertylist_load(name,0));</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment">//sprintf(name_deb,"dark_org_%d.fits",i);</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> sprintf(name_deb,<span class="stringliteral">"org_%2.2d_%s"</span>,i,bname);</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> check(cpl_image_save(ima,</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> name_deb,</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> CPL_BPP_IEEE_FLOAT,</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> plist,</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> CPL_IO_DEFAULT),</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="stringliteral">"Could not save product"</span>);</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> check(cpl_image_save(ima_out,</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> bname,</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> CPL_BPP_IEEE_FLOAT,</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> plist,</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> CPL_IO_DEFAULT),</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="stringliteral">"Could not save product"</span>);</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> cpl_frame_set_filename(frm,bname);</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> sinfo_free_image(&ima);</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> }</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> }</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> cleanup:</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> sinfo_free_image(&ima);</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> }</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> sinfo_table_column_dump(cpl_table* t, <span class="keyword">const</span> <span class="keywordtype">char</span>* name, cpl_type type)</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> {</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordtype">int</span> nrow=0;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keywordtype">int</span>* pi=NULL;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordtype">float</span>* pf=NULL;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keywordtype">double</span>* pd=NULL;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordtype">char</span>** ps=NULL;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> nrow=cpl_table_get_nrow(t);</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordflow">switch</span>(type) {</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">case</span> CPL_TYPE_INT:</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> pi=cpl_table_get_data_int(t,name);</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordflow">for</span>(i=0;i<nrow;i++) {</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> sinfo_msg(<span class="stringliteral">"val=%d"</span>,pi[i]);</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> }</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">case</span> CPL_TYPE_FLOAT:</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> pf=cpl_table_get_data_float(t,name);</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">for</span>(i=0;i<nrow;i++) {</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> sinfo_msg(<span class="stringliteral">"val=%g"</span>,pf[i]);</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> }</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">case</span> CPL_TYPE_DOUBLE:</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> pd=cpl_table_get_data_double(t,name);</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordflow">for</span>(i=0;i<nrow;i++) {</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> sinfo_msg(<span class="stringliteral">"val=%g"</span>,pd[i]);</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> }</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keywordflow">case</span> CPL_TYPE_STRING:</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> ps=cpl_table_get_data_string(t,name);</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keywordflow">for</span>(i=0;i<nrow;i++) {</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> sinfo_msg(<span class="stringliteral">"val=%s"</span>,ps[i]);</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> }</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Wrong column type"</span>);</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> cpl_error_set(cpl_func, CPL_ERROR_TYPE_MISMATCH);</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> }</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> }</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> cpl_table*</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> sinfo_table_shift_column_spline3(cpl_table* t,</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col,</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keyword">const</span> <span class="keywordtype">double</span> shift)</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> {</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> cpl_table* out=NULL;</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordtype">int</span> nrow=0;</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordtype">int</span> z=0;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordtype">float</span> sum=0;</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordtype">float</span> new_sum=0;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordtype">float</span>* pi=NULL;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="keywordtype">float</span>* po=NULL;</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordtype">float</span>* eval=NULL;</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordtype">float</span>* xnum=NULL;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordtype">float</span>* spec=NULL;</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordtype">float</span>* corrected_spec=NULL;</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> cknull(t,<span class="stringliteral">"null input table"</span>);</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> out=cpl_table_duplicate(t);</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> nrow=cpl_table_get_nrow(t);</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> check_nomsg(cpl_table_cast_column(t,col,<span class="stringliteral">"FINT"</span>,CPL_TYPE_FLOAT));</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> check_nomsg(cpl_table_cast_column(out,col,<span class="stringliteral">"FINT"</span>,CPL_TYPE_FLOAT));</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> pi=cpl_table_get_data_float(t,<span class="stringliteral">"FINT"</span>);</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> po=cpl_table_get_data_float(out,<span class="stringliteral">"FINT"</span>);</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> xnum=cpl_calloc(nrow,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="comment">/* fill the xa[] array for the spline function */</span></div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keywordflow">for</span> ( i = 0 ; i < nrow ; i++ ) {</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> xnum[i] = i ;</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> }</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> spec=cpl_calloc(nrow,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> corrected_spec=cpl_calloc(nrow,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> eval=cpl_calloc(nrow,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> sum = 0. ;</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keywordflow">for</span> ( z = 0 ; z < nrow ; z++ ) {</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> spec[z] = pi[z] ;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="keywordflow">if</span> (isnan(spec[z]) ) {</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="keywordflow">for</span> ( i = z-1 ; i <= z+1 ; i++ ) {</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="keywordflow">if</span> ( i < 0 ) continue ;</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="keywordflow">if</span> ( i >= nrow) continue ;</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> corrected_spec[i] = ZERO ;</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> }</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> spec[z] = 0. ;</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> }</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> sum += spec[z] ;</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> eval[z] = (float)shift+(<span class="keywordtype">float</span>)z ;</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> }</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="comment">/* now we do the spline interpolation*/</span></div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="keywordflow">if</span> ( -1 == sinfo_function1d_natural_spline(xnum,spec, nrow,</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> eval,corrected_spec, nrow))</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> {</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"error in spline interpolation!"</span>) ;</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> }</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> new_sum = 0. ;</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="keywordflow">for</span> ( z = 0 ; z < nrow ; z++ ) {</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="keywordflow">if</span> ( isnan(corrected_spec[z]) ) {</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> continue ;</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> }</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> new_sum += corrected_spec[z] ;</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> }</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="comment">/* fill output imagelist */</span></div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keywordflow">for</span> ( z = 0 ; z < nrow ; z++ ) {</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="keywordflow">if</span> ( new_sum == 0. ) new_sum =1. ;</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> {</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="keywordflow">if</span> ( isnan(corrected_spec[z]) ) {</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> po[z] = ZERO ;</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> corrected_spec[z] *= sum / new_sum ;</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> po[z] = corrected_spec[z] ;</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> }</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> }</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> }</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> sinfo_free_float(&xnum);</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> sinfo_free_float(&spec) ;</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> sinfo_free_float(&corrected_spec) ;</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> sinfo_free_float(&eval) ;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> check_nomsg(cpl_table_erase_column(t,<span class="stringliteral">"FINT"</span>));</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> check_nomsg(cpl_table_erase_column(out,col));</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> check_nomsg(cpl_table_cast_column(out,<span class="stringliteral">"FINT"</span>,col,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> check_nomsg(cpl_table_erase_column(out,<span class="stringliteral">"FINT"</span>));</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> cleanup:</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> sinfo_free_float(&xnum);</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> sinfo_free_float(&spec) ;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> sinfo_free_float(&corrected_spec) ;</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> sinfo_free_float(&eval) ;</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> sinfo_free_table(&out);</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> }</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> </div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> cpl_table*</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> sinfo_table_shift_column_int(<span class="keyword">const</span> cpl_table* t,</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col,</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="keyword">const</span> <span class="keywordtype">double</span> s,</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="keywordtype">double</span>* r)</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> {</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> cpl_table* out=NULL;</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="keywordtype">int</span> is=(int)s;</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="keywordtype">int</span> nrow=0;</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="keyword">const</span> <span class="keywordtype">double</span>* pi=NULL;</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="keywordtype">double</span>* po=NULL;</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> </div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> cknull(t,<span class="stringliteral">"null input table"</span>);</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> out=cpl_table_duplicate(t);</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> *r=s-is;</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> nrow=cpl_table_get_nrow(t);</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> pi=cpl_table_get_data_double_const(t,col);</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> po=cpl_table_get_data_double(out,col);</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="keywordflow">for</span>(i=0;i<nrow;i++) {</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="keywordflow">if</span>( ((i-is) >=0) && ((i-is) < nrow)) {</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> po[i-is]=pi[i];</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> }</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> }</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> cleanup:</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> sinfo_free_table(&out);</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> }</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> </div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> cpl_table*</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> sinfo_table_shift_column_poly(cpl_table* t,</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col,</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="keyword">const</span> <span class="keywordtype">double</span> shift,</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="keyword">const</span> <span class="keywordtype">int</span> order)</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> {</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> cpl_table* out=NULL;</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="keywordtype">int</span> nrow=0;</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="keywordtype">int</span> flag=0;</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="keywordtype">int</span> n_points=0;</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="keywordtype">int</span> firstpos=0;</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="keywordtype">int</span> z=0;</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="keywordtype">float</span> eval=0;</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="keywordtype">float</span> sum=0;</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="keywordtype">float</span> new_sum=0;</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="keywordtype">float</span>* pi=NULL;</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="keywordtype">float</span>* po=NULL;</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="keywordtype">float</span>* spec=NULL ;</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="keywordtype">float</span>* corrected_spec=NULL ;</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="keywordtype">float</span>* xnum=NULL ;</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="keywordtype">float</span>* tableptr=NULL;</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> </div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> cknull(t,<span class="stringliteral">"null input table"</span>);</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="keywordflow">if</span> ( order <= 0 ) {</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong order of interpolation polynom given!"</span>) ;</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> }</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> </div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> out=cpl_table_duplicate(t);</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> </div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> nrow=cpl_table_get_nrow(t);</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> cpl_table_cast_column(t,col,<span class="stringliteral">"FINT"</span>,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> cpl_table_cast_column(out,col,<span class="stringliteral">"FINT"</span>,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> pi=cpl_table_get_data_float(t,<span class="stringliteral">"FINT"</span>);</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> po=cpl_table_get_data_float(out,<span class="stringliteral">"FINT"</span>);</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> </div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> n_points = order + 1 ;</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="keywordflow">if</span> ( n_points % 2 == 0 ) {</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> firstpos = (int)(n_points/2) - 1 ;</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> firstpos = (int)(n_points/2) ;</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> }</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> spec=cpl_calloc(nrow,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> corrected_spec=cpl_calloc(nrow,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> xnum=cpl_calloc(order+1,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="comment">/* fill the xa[] array for the polint function */</span></div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_points ; i++ ) {</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> xnum[i] = i ;</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> }</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> </div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> </div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="keywordflow">for</span>(i=0;i<nrow;i++) {</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> corrected_spec[i] = 0. ;</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> }</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> </div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> sum = 0. ;</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <span class="keywordflow">for</span> ( z = 0 ; z < nrow ; z++ ) {</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> spec[z] = pi[z] ;</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="keywordflow">if</span> (isnan(spec[z]) ) {</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> spec[z] = 0. ;</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> </div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="keywordflow">for</span> ( i = z - firstpos ; i < z-firstpos+n_points ; i++ ) {</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="keywordflow">if</span> ( i < 0 ) continue ;</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="keywordflow">if</span> ( i >= nrow) continue ;</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> corrected_spec[i] = ZERO ;</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> }</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> }</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="keywordflow">if</span> ( z != 0 && z != nrow - 1 ) {</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> sum += spec[z] ;</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> }</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> }</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> </div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> new_sum = 0. ;</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="keywordflow">for</span> ( z = 0 ; z < nrow ; z++ ) {</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="comment">/* ---------------------------------------------------------------</span></div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="comment"> * now determine the arrays of size n_points with which the</span></div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="comment"> * polynom is determined and determine the position eval</span></div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <span class="comment"> * where the polynom is evaluated in polynomial interpolation.</span></div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="comment"> * Take care of the points near the row edges!</span></div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> <span class="keywordflow">if</span> (isnan(corrected_spec[z])) continue ;</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <span class="keywordflow">if</span> ( z - firstpos < 0 ) {</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> tableptr = &spec[0] ;</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> eval = shift + z ;</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( z - firstpos + n_points >= nrow ) {</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> tableptr = &spec[nrow - n_points] ;</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> eval = shift + z + n_points - nrow ;</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> tableptr = &spec[z-firstpos] ;</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> eval = shift + firstpos ;</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> }</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> </div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> flag=0;</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> corrected_spec[z]=sinfo_new_nev_ille(xnum,tableptr,order,eval,&flag);</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="keywordflow">if</span> ( z != 0 && z != nrow - 1 ) {</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> new_sum += corrected_spec[z] ;</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> }</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> }</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> </div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="comment">/* fill the output spectrum */</span></div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="keywordflow">for</span> (z = 0 ; z < nrow ; z++ ) {</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="keywordflow">if</span> ( new_sum == 0. ) {</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> new_sum = 1. ;</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> }</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="keywordflow">if</span> ( z == 0 ) {</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> po[z] = ZERO ;</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( z == nrow - 1 ) {</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> po[z] = ZERO ;</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( isnan(corrected_spec[z]) ) {</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> po[z] = ZERO ;</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> corrected_spec[z] *= sum / new_sum ;</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> po[z] = corrected_spec[z] ;</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> }</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> }</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> check_nomsg(cpl_table_erase_column(t,<span class="stringliteral">"FINT"</span>));</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> check_nomsg(cpl_table_erase_column(out,col));</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> check_nomsg(cpl_table_cast_column(out,<span class="stringliteral">"FINT"</span>,col,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> check_nomsg(cpl_table_erase_column(out,<span class="stringliteral">"FINT"</span>));</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> </div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> sinfo_free_float(&spec) ;</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> sinfo_free_float(&corrected_spec) ;</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> sinfo_free_float(&xnum) ;</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> </div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> cleanup:</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> </div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> </div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> sinfo_free_float(&spec) ;</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> sinfo_free_float(&corrected_spec) ;</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> sinfo_free_float(&xnum) ;</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> sinfo_free_table(&out);</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> </div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> </div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> }</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> </div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> </div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> </div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> </div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> <span class="keywordtype">void</span> sinfo_new_array_set_value( <span class="keywordtype">float</span> * array, <span class="keywordtype">float</span> value, <span class="keywordtype">int</span> i )</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> {</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> array[i] = value ;</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> }</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="keywordtype">float</span> sinfo_new_array_get_value( <span class="keywordtype">float</span> * array, <span class="keywordtype">int</span> i )</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> {</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> <span class="keywordflow">return</span> array[i] ;</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> }</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> </div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> </div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> </div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="keywordtype">void</span> sinfo_new_destroy_array(<span class="keywordtype">float</span> ** array)</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> {</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> <span class="keywordflow">if</span>(*array != NULL) {</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> cpl_free( *array ) ;</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> *array = NULL;</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> }</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> }</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> </div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> <span class="keywordtype">void</span> sinfo_new_destroy_stringarray(<span class="keywordtype">char</span> ** array, <span class="keywordtype">int</span> size_x)</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> {</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> </div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> <span class="keywordflow">for</span> ( i = 0 ; i < size_x ; i++ )</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> {</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> cpl_free( array[i] ) ;</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> }</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> cpl_free( array ) ;</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> }</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> </div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> <span class="keywordtype">void</span> sinfo_new_destroy_2Dintarray(<span class="keywordtype">int</span> *** array, <span class="keywordtype">int</span> size_x)</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> {</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> </div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> <span class="keywordflow">if</span>((*array) != NULL) {</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> <span class="keywordflow">for</span> ( i = 0 ; i < size_x ; i++ ) {</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> <span class="keywordflow">if</span>((*array)[i] != NULL) {</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> cpl_free( (*array)[i] );</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> (*array)[i]=NULL;</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> }</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> }</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> cpl_free( *array ) ;</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> *array=NULL;</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> }</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> </div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> }</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> </div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> </div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="keywordtype">void</span> sinfo_new_intarray_set_value( <span class="keywordtype">int</span> * array, <span class="keywordtype">int</span> value, <span class="keywordtype">int</span> i )</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> {</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> array[i] = value ;</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> }</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> <span class="keywordtype">float</span> sinfo_new_array2D_get_value( <span class="keywordtype">float</span> ** array, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y )</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> {</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="keywordflow">return</span> array[x][y] ;</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> }</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <span class="keywordtype">int</span> ** sinfo_new_2Dintarray( <span class="keywordtype">int</span> size_x, <span class="keywordtype">int</span> size_y)</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> {</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="keywordtype">int</span> ** retVal ;</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> </div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> retVal = (<span class="keywordtype">int</span> **) cpl_calloc( size_x, <span class="keyword">sizeof</span> (<span class="keywordtype">int</span>*) ) ;</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <span class="keywordflow">for</span> ( i = 0 ; i < size_x ; i++ )</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> {</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> retVal[i] = (<span class="keywordtype">int</span> *) cpl_calloc( size_y, <span class="keyword">sizeof</span> (<span class="keywordtype">int</span>)) ;</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> }</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> <span class="keywordflow">return</span> retVal ;</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> }</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> </div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> <span class="keywordtype">float</span> * sinfo_new_floatarray( <span class="keywordtype">int</span> size)</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> {</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> <span class="keywordflow">return</span> (<span class="keywordtype">float</span> *) cpl_calloc( size, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> }</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> </div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> </div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="keywordtype">void</span> sinfo_new_destroy_2Dfloatarray(<span class="keywordtype">float</span> *** array, <span class="keywordtype">int</span> size_x)</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> {</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> <span class="keywordflow">if</span>((*array) != NULL) {</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="keywordflow">for</span> ( i = 0 ; i < size_x ; i++ ) {</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> <span class="keywordflow">if</span>((*array)[i] != NULL) {</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> cpl_free( (*array)[i] );</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> (*array)[i]=NULL;</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> }</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> }</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> cpl_free( *array ) ;</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> *array=NULL;</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> }</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> }</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> </div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="keywordtype">void</span> sinfo_new_destroy_2Ddoublearray(<span class="keywordtype">double</span> *** array, <span class="keywordtype">int</span> size_x)</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> {</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> </div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="keywordflow">if</span>((*array) != NULL) {</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="keywordflow">for</span> ( i = 0 ; i < size_x ; i++ ) {</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="keywordflow">if</span>((*array)[i] != NULL) {</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> cpl_free( (*array)[i] );</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> (*array)[i]=NULL;</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> }</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> }</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> cpl_free( *array ) ;</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> *array=NULL;</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> }</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> </div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> }</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> </div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> </div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="keywordtype">void</span> sinfo_new_array2D_set_value(<span class="keywordtype">float</span> ** array,<span class="keywordtype">float</span> value,<span class="keywordtype">int</span> x,<span class="keywordtype">int</span> y)</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> {</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> array[x][y] = value ;</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> }</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> </div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> <span class="keywordtype">double</span> sinfo_new_doublearray_get_value( <span class="keywordtype">double</span> * array, <span class="keywordtype">int</span> i )</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> {</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> <span class="keywordflow">return</span> array[i] ;</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> }</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> <span class="keywordtype">void</span> sinfo_new_doublearray_set_value( <span class="keywordtype">double</span> * array, <span class="keywordtype">double</span> value, <span class="keywordtype">int</span> i )</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> {</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> array[i] = value ;</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> }</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> </div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> <span class="keywordtype">void</span> sinfo_new_destroy_doublearray(<span class="keywordtype">double</span> * array)</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> {</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> cpl_free( array ) ;</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> }</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> <span class="keywordtype">double</span> * sinfo_new_doublearray( <span class="keywordtype">int</span> size)</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> {</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> <span class="keywordflow">return</span> (<span class="keywordtype">double</span> *) cpl_calloc( size, <span class="keyword">sizeof</span> (<span class="keywordtype">double</span>) ) ;</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> }</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> </div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> <span class="keywordtype">double</span> ** sinfo_new_2Ddoublearray( <span class="keywordtype">int</span> size_x, <span class="keywordtype">int</span> size_y)</div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> {</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> <span class="keywordtype">double</span> ** retVal ;</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> </div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> retVal = (<span class="keywordtype">double</span> **) cpl_calloc( size_x, <span class="keyword">sizeof</span> (<span class="keywordtype">double</span>*) ) ;</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="keywordflow">for</span> ( i = 0 ; i < size_x ; i++ )</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> {</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> retVal[i] = (<span class="keywordtype">double</span> *) cpl_calloc( size_y, <span class="keyword">sizeof</span> (<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> }</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <span class="keywordflow">return</span> retVal ;</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> }</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> </div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> <span class="keywordtype">float</span> ** sinfo_new_2Dfloatarray( <span class="keywordtype">int</span> size_x, <span class="keywordtype">int</span> size_y)</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> {</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> <span class="keywordtype">float</span> ** retVal ;</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> </div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> retVal = (<span class="keywordtype">float</span> **) cpl_calloc( size_x, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>*) ) ;</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> <span class="keywordflow">for</span> ( i = 0 ; i < size_x ; i++ )</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> {</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> retVal[i] = (<span class="keywordtype">float</span> *) cpl_calloc( size_y, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> }</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> <span class="keywordflow">return</span> retVal ;</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> }</div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> </div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> </div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> <span class="keywordtype">int</span> * sinfo_new_intarray( <span class="keywordtype">int</span> size)</div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> {</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> <span class="keywordflow">return</span> (<span class="keywordtype">int</span> *) cpl_calloc( size, <span class="keyword">sizeof</span> (<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> }</div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> <span class="keywordtype">void</span> sinfo_new_destroy_intarray(<span class="keywordtype">int</span> ** array)</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> {</div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> cpl_free( *array ) ;</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> *array=NULL;</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> }</div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> </div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> <span class="keywordtype">int</span> sinfo_new_intarray_get_value( <span class="keywordtype">int</span> * array, <span class="keywordtype">int</span> i )</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> {</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> <span class="keywordflow">return</span> array[i] ;</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> }</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> </div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <span class="keywordtype">float</span> sinfo_new_Stats_get_cleanstdev(Stats * stats)</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> {</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> <span class="keywordflow">return</span> stats -> cleanstdev ;</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> }</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> <span class="keywordtype">float</span> sinfo_new_Stats_get_cleanmean(Stats * stats)</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> {</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> <span class="keywordflow">return</span> stats -> cleanmean ;</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> }</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> </div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> <span class="keywordtype">char</span> * sinfo_new_get_basename(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename)</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> {</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> <span class="keywordtype">char</span> *p ;</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> p = strrchr (filename, <span class="charliteral">'/'</span>);</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> <span class="keywordflow">return</span> p ? p + 1 : (<span class="keywordtype">char</span> *) filename;</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> }</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> </div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> </div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> </div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> <span class="keywordtype">char</span> * sinfo_new_get_rootname(<span class="keyword">const</span> <span class="keywordtype">char</span> * filename)</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> {</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> <span class="keyword">static</span> <span class="keywordtype">char</span> path[MAX_NAME_SIZE+1];</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> <span class="keywordtype">char</span> * lastdot ;</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> </div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> <span class="keywordflow">if</span> (strlen(filename)>MAX_NAME_SIZE) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> memset(path, MAX_NAME_SIZE, 0);</div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> strcpy(path, filename);</div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> lastdot = strrchr(path, <span class="charliteral">'.'</span>);</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> <span class="keywordflow">if</span> (lastdot == NULL) <span class="keywordflow">return</span> path ;</div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> <span class="keywordflow">if</span> ((!strcmp(lastdot, <span class="stringliteral">".fits"</span>)) || (!strcmp(lastdot, <span class="stringliteral">".FITS"</span>)) ||</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> (!strcmp(lastdot, <span class="stringliteral">".paf"</span>)) || (!strcmp(lastdot, <span class="stringliteral">".PAF"</span>)) ||</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> (!strcmp(lastdot, <span class="stringliteral">".dat"</span>)) || (!strcmp(lastdot, <span class="stringliteral">".DAT"</span>)) ||</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> (!strcmp(lastdot, <span class="stringliteral">".fits"</span>)) || (!strcmp(lastdot, <span class="stringliteral">".TFITS"</span>)) ||</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> (!strcmp(lastdot, <span class="stringliteral">".ascii"</span>)) || (!strcmp(lastdot, <span class="stringliteral">".ASCII"</span>)))</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> {</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> lastdot[0] = (char)0;</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> }</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> <span class="keywordflow">return</span> path ;</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> }</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> </div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> </div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> </div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> cpl_imagelist * sinfo_new_frameset_to_iset(cpl_frameset * fset)</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> {</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> cpl_imagelist * iset=NULL ;</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <span class="keywordtype">char</span> ** filenames ;</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="keywordtype">int</span> nfiles=0 ;</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> </div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="comment">/* Test entries */</span></div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="keywordflow">if</span> (fset == NULL) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> </div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> <span class="comment">/* Get the filenames */</span></div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> <span class="keywordflow">if</span> ((filenames = sinfo_new_frameset_to_filenames(fset, &nfiles)) == NULL) {</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"Cannot get the files names"</span>) ;</div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> }</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> <span class="comment">/* Load image set */</span></div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> <span class="keywordflow">if</span> ((iset = sinfo_new_imagelist_load_frameset(fset,</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> CPL_TYPE_FLOAT, 0, 0)) == NULL) {</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"Cannot load *** the image set"</span>) ;</div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"%s"</span>, (<span class="keywordtype">char</span>* ) cpl_error_get_message());</div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> </div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> cpl_free(filenames) ;</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> }</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> </div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> <span class="comment">/* Free and Return */</span></div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> cpl_free(filenames) ;</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> <span class="keywordflow">return</span> iset ;</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> }</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> <span class="preprocessor">#include "cpl_imagelist_io.h"</span></div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> </div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> cpl_imagelist *</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> sinfo_new_imagelist_load_frameset(<span class="keyword">const</span> cpl_frameset * frameset,</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> cpl_type type,</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> <span class="keywordtype">int</span> pnum,</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> <span class="keywordtype">int</span> extnum)</div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> {</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> cpl_image * image = NULL;</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> cpl_imagelist * imagelist = NULL;</div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> <span class="keyword">const</span> cpl_frame * frame = cpl_frameset_get_first_const(frameset);</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nz = cpl_frameset_get_size(frameset);</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> </div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> <span class="comment">/* Require imagelist to contain at least one image */</span></div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> cpl_ensure(nz > 0, CPL_ERROR_DATA_NOT_FOUND, NULL);</div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> </div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> <span class="keywordflow">for</span> (i = 0; frame != NULL;</div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> i++, frame = cpl_frameset_get_next_const(frameset)) {</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> </div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * name = cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> <span class="keywordflow">if</span> (name == NULL) <span class="keywordflow">break</span>; <span class="comment">/* Error check */</span></div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> </div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> </div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> image = cpl_image_load(name, type, pnum, extnum);</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> </div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> <span class="keywordflow">if</span> (image == NULL) <span class="keywordflow">break</span>; <span class="comment">/* Error check */</span></div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> </div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> <span class="keywordflow">if</span> (i == 0) {</div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nx = cpl_image_get_size_x(image);</div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ny = cpl_image_get_size_y(image);</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> </div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> <span class="keywordflow">if</span> (nx < 1 || ny < 1) <span class="keywordflow">break</span>; <span class="comment">/* Error check */</span></div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> imagelist = cpl_imagelist_new();</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> <span class="keywordflow">if</span> (imagelist == NULL) <span class="keywordflow">break</span>; <span class="comment">/* Error check */</span></div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> }</div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> </div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> <span class="keywordflow">if</span> (cpl_imagelist_set(imagelist, image, i)) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> image = NULL; <span class="comment">/* Image is now part of the imagelist */</span></div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> </div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> }</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> </div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> <span class="keywordflow">if</span> (i != nz) {</div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> <span class="comment">/* Error handling */</span></div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> cpl_image_delete(image);</div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> cpl_imagelist_delete(imagelist);</div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> imagelist = NULL;</div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> }</div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> <span class="keywordflow">return</span> imagelist;</div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> </div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> }</div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> </div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> <span class="keywordtype">char</span> ** sinfo_new_frameset_to_filenames(cpl_frameset *<span class="keyword">set</span>, <span class="keywordtype">int</span> *nfiles)</div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> {</div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> <span class="keywordtype">char</span> **filenames=NULL;</div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> </div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> <span class="keywordtype">int</span> nbframes=0;</div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> </div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> cpl_frame *curr_frame;</div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> </div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> <span class="keywordflow">if</span> (<span class="keyword">set</span> == NULL) {</div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> }</div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> </div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> nbframes = cpl_frameset_get_size(<span class="keyword">set</span>);</div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> </div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> <span class="keywordflow">if</span> (nbframes < 1) {</div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> }</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> <span class="comment"> * Create the list of filenames and fill it</span></div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> filenames = cpl_malloc(nbframes * <span class="keyword">sizeof</span>(<span class="keywordtype">char</span> *));</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> </div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> curr_frame = cpl_frameset_get_first(<span class="keyword">set</span>);</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> <span class="keywordflow">for</span> (i = 0; i < nbframes; i++) {</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> filenames[i]=(<span class="keywordtype">char</span>*) cpl_frame_get_filename(curr_frame);</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> curr_frame = cpl_frameset_get_next(<span class="keyword">set</span>);</div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> }</div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> </div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> </div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> <span class="comment"> * Set the number of files found</span></div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> *nfiles = nbframes;</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> </div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> <span class="keywordflow">return</span> filenames;</div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> </div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> }</div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> </div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> </div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> <span class="keywordtype">double</span> sinfo_spline_hermite(<span class="keywordtype">double</span> xp,</div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> <span class="keyword">const</span> <span class="keywordtype">double</span> *x,</div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> <span class="keyword">const</span> <span class="keywordtype">double</span> *y,</div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> <span class="keywordtype">int</span> n,</div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> <span class="keywordtype">int</span> *istart )</div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> {</div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> <span class="keywordtype">double</span> yp1, yp2, yp = 0;</div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> <span class="keywordtype">double</span> xpi, xpi1, l1, l2, lp1, lp2;</div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> </div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> <span class="keywordflow">if</span> ( x[0] <= x[n-1] && (xp < x[0] || xp > x[n-1]) ) <span class="keywordflow">return</span> 0.0;</div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> <span class="keywordflow">if</span> ( x[0] > x[n-1] && (xp > x[0] || xp < x[n-1]) ) <span class="keywordflow">return</span> 0.0;</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> </div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> <span class="keywordflow">if</span> ( x[0] <= x[n-1] )</div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> {</div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> <span class="keywordflow">for</span> ( i = (*istart)+1; i <= n && xp >= x[i-1]; i++ )</div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> ;</div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> }</div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> {</div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> <span class="keywordflow">for</span> ( i = (*istart)+1; i <= n && xp <= x[i-1]; i++ )</div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> ;</div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> }</div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> </div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> *istart = i;</div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> i--;</div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> </div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> lp1 = 1.0 / (x[i-1] - x[i]);</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> lp2 = -lp1;</div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> </div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> <span class="keywordflow">if</span> ( i == 1 )</div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> {</div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> yp1 = (y[1] - y[0]) / (x[1] - x[0]);</div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> }</div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> {</div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> yp1 = (y[i] - y[i-2]) / (x[i] - x[i-2]);</div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> }</div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> </div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> <span class="keywordflow">if</span> ( i >= n - 1 )</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> {</div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> yp2 = (y[n-1] - y[n-2]) / (x[n-1] - x[n-2]);</div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> }</div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> {</div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> yp2 = (y[i+1] - y[i-1]) / (x[i+1] - x[i-1]);</div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> }</div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> </div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> xpi1 = xp - x[i];</div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> xpi = xp - x[i-1];</div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> l1 = xpi1*lp1;</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> l2 = xpi*lp2;</div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> </div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> yp = y[i-1]*(1 - 2.0*lp1*xpi)*l1*l1 +</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> y[i]*(1 - 2.0*lp2*xpi1)*l2*l2 +</div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> yp1*xpi*l1*l1 + yp2*xpi1*l2*l2;</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> </div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> <span class="keywordflow">return</span> yp;</div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> }</div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> </div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> cpl_error_code update_bad_pixel_map(cpl_image* im)</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> {</div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> <span class="keywordtype">int</span> szx = cpl_image_get_size_x(im);</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> <span class="keywordtype">int</span> szy = cpl_image_get_size_y(im);</div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> <span class="keywordtype">int</span> x = 0;</div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> cpl_mask* bpm = cpl_image_get_bpm(im);</div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> </div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> <span class="keywordflow">for</span> (x = 1; x <=szx; x++)</div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> {</div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> <span class="keywordtype">int</span> y = 0;</div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> <span class="keywordflow">for</span>(y = 1; y <= szy; y++)</div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> {</div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> <span class="keywordtype">int</span> isnull = 0;</div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> <span class="keywordtype">double</span> value = cpl_image_get(im, x, y, &isnull);</div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> <span class="keywordflow">if</span> (isnan(value))</div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> {</div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> cpl_mask_set(bpm, x, y, CPL_BINARY_1);</div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> }</div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> }</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> }</div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> }</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> cpl_polynomial * sinfo_polynomial_fit_2d_create(cpl_bivector * xy_pos,</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> cpl_vector * values,</div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> cpl_size degree,</div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> <span class="keywordtype">double</span> * mse)</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> {</div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> <span class="keyword">typedef</span> <span class="keywordtype">double</span>* (*get_data)(cpl_bivector*);</div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> get_data data_extractor[2] = { &cpl_bivector_get_x_data, &cpl_bivector_get_y_data};</div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> <span class="comment">//samppos matrix must</span></div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> <span class="comment">// have two rows with copies of the two vectors in the x_pos bivector.</span></div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> </div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> <span class="keywordtype">double</span> rechisq = 0;</div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> <span class="keywordtype">int</span> i, j;</div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> cpl_vector * fitresidual = 0;</div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> cpl_matrix * samppos2d = 0;</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> cpl_polynomial * fit2d = cpl_polynomial_new(2);</div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> <span class="keywordtype">int</span> xy_size = cpl_bivector_get_size(xy_pos);</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> </div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> samppos2d = cpl_matrix_new(2, xy_size);</div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> <span class="keywordflow">for</span> (i = 0; i < 2; i++)</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> {</div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> <span class="keywordflow">for</span> (j = 0; j < xy_size; j++)</div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> {</div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> <span class="keywordtype">double</span> value = data_extractor[i](xy_pos)[j];</div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> cpl_matrix_set(samppos2d, i, j, value);</div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> }</div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> }</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> </div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> cpl_polynomial_fit(fit2d, samppos2d, NULL, values, NULL, CPL_FALSE,</div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> NULL, °ree);</div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> </div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> fitresidual = cpl_vector_new(xy_size);</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> cpl_vector_fill_polynomial_fit_residual(fitresidual, values, NULL, fit2d,</div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> samppos2d, &rechisq);</div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> <span class="keywordflow">if</span> (mse)</div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> {</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> *mse = cpl_vector_product(fitresidual, fitresidual)</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> / cpl_vector_get_size(fitresidual);</div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> }</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> cpl_matrix_delete(samppos2d);</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> cpl_vector_delete(fitresidual);</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> <span class="keywordflow">return</span> fit2d;</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> }</div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> </div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> cpl_polynomial * sinfo_polynomial_fit_1d_create(</div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> <span class="keyword">const</span> cpl_vector * x_pos,</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> <span class="keyword">const</span> cpl_vector * values,</div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> <span class="keywordtype">int</span> degree,</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> <span class="keywordtype">double</span> * mse</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> )</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> {</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> cpl_polynomial * fit1d = cpl_polynomial_new(1);</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> <span class="comment">// cpl_vector* x_copy = cpl_vector_duplicate(x_pos);</span></div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> <span class="comment">// cpl_vector* values_copy = cpl_vector_duplicate(values);</span></div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> <span class="keywordtype">int</span> x_size = cpl_vector_get_size(x_pos);</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> <span class="keywordtype">double</span> rechisq = 0;</div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> cpl_size loc_deg=(cpl_size)degree;</div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> cpl_matrix * samppos = cpl_matrix_wrap(1, x_size,</div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> (<span class="keywordtype">double</span>*)cpl_vector_get_data_const(x_pos));</div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> cpl_vector * fitresidual = cpl_vector_new(x_size);</div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> </div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> cpl_polynomial_fit(fit1d, samppos, NULL, values, NULL,</div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> CPL_FALSE, NULL, &loc_deg);</div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> cpl_ensure(!cpl_error_get_code(), cpl_error_get_code(), NULL);</div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> cpl_vector_fill_polynomial_fit_residual(fitresidual, values, NULL, fit1d,</div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> samppos, &rechisq);</div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> cpl_ensure(!cpl_error_get_code(), cpl_error_get_code(), NULL);</div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> <span class="keywordflow">if</span> (mse)</div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> {</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> *mse = cpl_vector_product(fitresidual, fitresidual)</div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> / cpl_vector_get_size(fitresidual);</div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> }</div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> cpl_matrix_unwrap(samppos);</div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> cpl_vector_delete(fitresidual);</div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> <span class="keywordflow">return</span> fit1d;</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> }</div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> </div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> <span class="comment">//cpl_image * sinfo_image_filter_</span></div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> <span class="keyword">static</span> cpl_image * sinfo_image_filter_wrapper(<span class="keyword">const</span> cpl_image *b, <span class="keyword">const</span> cpl_matrix *k, cpl_filter_mode mode)</div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> {</div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> <span class="keyword">const</span> <span class="keywordtype">double</span> EPSILON = 1E-5;</div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> <span class="keywordtype">int</span> nx = cpl_image_get_size_x(b);</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> <span class="keywordtype">int</span> ny = cpl_image_get_size_y(b);</div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> <span class="keywordtype">int</span> nrow = cpl_matrix_get_nrow(k);</div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> <span class="keywordtype">int</span> ncol = cpl_matrix_get_ncol(k);</div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> <span class="keywordtype">int</span> i, j;</div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> cpl_type type = cpl_image_get_type(b);</div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> cpl_image * a = cpl_image_new(nx, ny, type);</div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> <span class="comment">// where m is a cpl_mask with a CPL_BINARY_1 whereever k has a 1.0.</span></div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> cpl_mask* m = cpl_mask_new(ncol, nrow);</div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> cpl_msg_warning(cpl_func, <span class="stringliteral">"nx[%d], ny[%d], ncol[%d], nrow[%d]"</span>, nx, ny, ncol, nrow);</div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> <span class="keywordflow">for</span> (i = 0; i < ncol ; i++)</div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> {</div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> <span class="keywordflow">for</span> (j = 0; j < nrow ; j++)</div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> {</div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> <span class="keywordtype">double</span> value = cpl_matrix_get(k, j, i);</div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> <span class="keywordflow">if</span> (fabs(value - 1.0) < EPSILON)</div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> {</div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> cpl_mask_set(m, i + 1, j + 1, CPL_BINARY_1);</div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> }</div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> }</div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> }</div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> </div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> cpl_image_filter_mask(a, b, m, mode, CPL_BORDER_FILTER);</div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> cpl_mask_delete(m);</div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> <span class="keywordflow">return</span> a;</div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> }</div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> </div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> </div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> <span class="keyword">static</span> cpl_image*</div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> sinfo_image_filter_mode(<span class="keyword">const</span> cpl_image* b,</div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> <span class="keyword">const</span> cpl_matrix * ker,</div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> cpl_filter_mode filter)</div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> {</div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> <span class="keywordtype">int</span> nx = cpl_image_get_size_x(b);</div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> <span class="keywordtype">int</span> ny = cpl_image_get_size_y(b);</div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> <span class="keywordtype">int</span> type = cpl_image_get_type(b);</div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> cpl_image * a = cpl_image_new(nx, ny, type);</div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> </div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> <span class="keywordflow">switch</span>(filter) {</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> <span class="keywordflow">case</span> CPL_FILTER_MEDIAN:</div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> check_nomsg(cpl_image_filter(a, b, ker, CPL_FILTER_MEDIAN, CPL_BORDER_FILTER));</div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> <span class="keywordflow">case</span> CPL_FILTER_LINEAR:</div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> check_nomsg(cpl_image_filter(a, b, ker, CPL_FILTER_LINEAR, CPL_BORDER_FILTER));</div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> <span class="keywordflow">case</span> CPL_FILTER_STDEV:</div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> cpl_image_filter(a, b, ker, CPL_FILTER_STDEV, CPL_BORDER_FILTER);</div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> <span class="keywordflow">case</span> CPL_FILTER_MORPHO:</div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> cpl_image_filter(a, b, ker, CPL_FILTER_MORPHO, CPL_BORDER_FILTER);</div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Filter type not supported"</span>);</div>
-<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> }</div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> cleanup:</div>
-<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> </div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> <span class="keywordflow">return</span> a;</div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> </div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> }</div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> </div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> cpl_image * </div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> sinfo_image_filter_linear(<span class="keyword">const</span> cpl_image *img, <span class="keyword">const</span> cpl_matrix * mx)</div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> {</div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> <span class="keywordflow">return</span> sinfo_image_filter_mode(img, mx, CPL_FILTER_LINEAR);</div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> </div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> }</div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> </div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> cpl_image * sinfo_image_filter_linear2(<span class="keyword">const</span> cpl_image *img, <span class="keyword">const</span> cpl_matrix * mx)</div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> {</div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> <span class="keywordflow">return</span> sinfo_image_filter_wrapper(img, mx, CPL_FILTER_LINEAR);</div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> </div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> }</div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> </div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> </div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> cpl_image * sinfo_image_filter_median(<span class="keyword">const</span> cpl_image * img, <span class="keyword">const</span> cpl_matrix * mx)</div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> {</div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> <span class="keywordflow">return</span> sinfo_image_filter_wrapper(img, mx, CPL_FILTER_MEDIAN);</div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> }</div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> </div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utilities_8h_source.html b/html/sinfo__utilities_8h_source.html
deleted file mode 100644
index 1f0f7a4..0000000
--- a/html/sinfo__utilities_8h_source.html
+++ /dev/null
@@ -1,261 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utilities.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utilities.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utilities.h,v 1.13 2011/12/09 07:47:42 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2011/12/09 07:47:42 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.13 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifndef SINFO_UTILITIES_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_UTILITIES_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"></span><span class="preprocessor">#include <sinfo_cpl_size.h></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> This recipe implements error handling cleanly using a pair of macros called</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> sinfo_skip_if() and sinfo_end_skip.</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> sinfo_skip_if() takes one argument, which is a logical expression.</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> If the logical expression is false sinfo_skip_if() takes no action and</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> program execution continues.</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> If the logical expression is true this indicates an error. In this case</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> sinfo_skip_if() will set the location of the error to the point where it</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> was invoked in the recipe code (unless the error location is already in the</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> recipe code). If no error code had been set, then sinfo_skip_if() will set</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> one. Finally, sinfo_skip_if() causes program execution to skip to the</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> macro 'sinfo_end_skip'.</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> The macro sinfo_end_skip is located towards the end of the function, after</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> which all resource deallocation and the function return is located.</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> The use of sinfo_skip_if() assumes the following coding practice:</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> 1) Pointers used for dynamically allocated memory that they "own" shall</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> always</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> point to either NULL or to allocated memory (including CPL-objects).</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> 2) Such pointers may not be reused to point to memory whose deallocation</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> requires calls to different functions.</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> 3) Pointers of type FILE should be set NULL when not pointing to an open</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> stream and their closing calls (fclose(), freopen(), etc.) following the</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> 'sinfo_end_skip' should be guarded against such NULL pointers.</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"></span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> Error checking with sinfo_skip_if() is encouraged due to the following</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> advantages:</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> 1) It ensures that a CPL-error code is set.</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> 2) It ensures that the location of the error in the _recipe_ code is noted.</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> 3) The error checking may be confined to a single concise line.</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> 4) It is not necessary to replicate memory deallocation for every error</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> condition.</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> 5) If more extensive error reporting/handling is required it is not precluded</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> by the use of sinfo_skip_if().</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> 6) It allows for a single point of function return.</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> 7) It allows for optional, uniformly formatted debugging/tracing information</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> at each macro invocation.</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"></span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> The implementation of sinfo_skip_if() uses a goto/label construction.</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> According to Kerningham & Ritchie, The C Programming Language, 2nd edition,</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> Section 3.8:</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> "This organization is handy if the error-handling code is non-trivial,</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> and if errors can occur in several places."</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"></span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> The use of goto for any other purpose should be avoided.</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"></span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="preprocessor">#define sinfo_skip_if(CONDITION) \</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="preprocessor"> do if (CONDITION) { \</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="preprocessor"> if (cpl_error_get_code()) { \</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="preprocessor"> cpl_msg_debug("", "Skip in %s line %d due to '%s' with error '%s' " \</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="preprocessor"> "at %s", __FILE__, __LINE__, #CONDITION, \</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="preprocessor"> cpl_error_get_message(), cpl_error_get_where()); \</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="preprocessor"> if (strstr(cpl_error_get_where(), "visir") == NULL) \</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="preprocessor"> cpl_error_set_where(""); \</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="preprocessor"> } else { \</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="preprocessor"> cpl_msg_debug("", "Skip in %s line %d due to '%s'", \</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="preprocessor"> __FILE__, __LINE__, #CONDITION); \</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="preprocessor"> cpl_error_set("", CPL_ERROR_UNSPECIFIED); \</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="preprocessor"> } \</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor"> goto cleanup; \</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="preprocessor"> } else { \</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="preprocessor"> if (cpl_error_get_code()) \</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="preprocessor"> cpl_msg_debug("", "No skip in %s line %d due to '%s' with error '%s' " \</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="preprocessor"> "at %s", __FILE__, __LINE__, #CONDITION, \</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="preprocessor"> cpl_error_get_message(), cpl_error_get_where()); \</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="preprocessor"> else \</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="preprocessor"> cpl_msg_debug("", "No skip in %s line %d due to '%s'", \</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="preprocessor"> __FILE__, __LINE__, #CONDITION); \</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="preprocessor"> } while (0)</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="preprocessor">#define sinfo_end_skip \</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="preprocessor"> do { \</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="preprocessor"> cleanup: \</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="preprocessor"> if (cpl_error_get_code()) \</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="preprocessor"> cpl_msg_debug("", "Cleanup in %s line %d with error '%s' at %s", \</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="preprocessor"> __FILE__, __LINE__, \</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="preprocessor"> cpl_error_get_message(), cpl_error_get_where()); \</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="preprocessor"> else \</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="preprocessor"> cpl_msg_debug("", "Cleanup in %s line %d", \</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="preprocessor"> __FILE__, __LINE__); \</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="preprocessor"> } while (0)</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="preprocessor">#include <sinfo_image_ops.h></span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> CPL_BEGIN_DECLS</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> cpl_image*</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> sinfo_vector_to_image(<span class="keyword">const</span> cpl_vector* vector,cpl_type type);</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> sinfo_table_column_dump(cpl_table* t, <span class="keyword">const</span> <span class="keywordtype">char</span>* name, cpl_type type);</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> cpl_table*</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> sinfo_table_shift_column_spline3(cpl_table* t,</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col,</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keyword">const</span> <span class="keywordtype">double</span> s);</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> cpl_table*</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> sinfo_table_shift_column_poly(cpl_table* t,</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col,</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keyword">const</span> <span class="keywordtype">double</span> s,</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keyword">const</span> <span class="keywordtype">int</span> order);</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> cpl_table*</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> sinfo_table_shift_column_int(<span class="keyword">const</span> cpl_table* t,</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col,</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keyword">const</span> <span class="keywordtype">double</span> s,</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordtype">double</span>* r);</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> cpl_error_code</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> sinfo_ima_line_cor(cpl_parameterlist * parlist, cpl_frameset* in);</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordtype">void</span> sinfo_new_array_set_value( <span class="keywordtype">float</span> * array, <span class="keywordtype">float</span> value, <span class="keywordtype">int</span> i );</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordtype">float</span> sinfo_new_array_get_value( <span class="keywordtype">float</span> * array, <span class="keywordtype">int</span> i );</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordtype">void</span> sinfo_new_destroy_array(<span class="keywordtype">float</span> ** array);</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordtype">void</span> sinfo_new_destroy_stringarray(<span class="keywordtype">char</span> ** array, <span class="keywordtype">int</span> size_x);</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordtype">void</span> sinfo_new_intarray_set_value( <span class="keywordtype">int</span> * array, <span class="keywordtype">int</span> value, <span class="keywordtype">int</span> i );</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keywordtype">void</span> sinfo_new_array2D_set_value( <span class="keywordtype">float</span> ** array, <span class="keywordtype">float</span> value, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y );</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keywordtype">void</span> sinfo_new_destroy_2Dintarray(<span class="keywordtype">int</span> *** array, <span class="keywordtype">int</span> size_x);</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordtype">void</span> sinfo_new_destroy_2Dfloatarray(<span class="keywordtype">float</span> *** array, <span class="keywordtype">int</span> size_x);</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordtype">void</span> sinfo_new_destroy_2Ddoublearray(<span class="keywordtype">double</span> *** array, <span class="keywordtype">int</span> size_x);</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="keywordtype">void</span> sinfo_new_destroy_intarray(<span class="keywordtype">int</span> ** array);</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keywordtype">void</span> sinfo_new_destroy_doublearray(<span class="keywordtype">double</span> * array);</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordtype">void</span> sinfo_new_doublearray_set_value( <span class="keywordtype">double</span> * array, <span class="keywordtype">double</span> value, <span class="keywordtype">int</span> i );</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordtype">int</span> sinfo_new_intarray_get_value( <span class="keywordtype">int</span> * array, <span class="keywordtype">int</span> i );</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordtype">int</span> * sinfo_new_intarray( <span class="keywordtype">int</span> size);</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keywordtype">int</span> ** sinfo_new_2Dintarray( <span class="keywordtype">int</span> size_x, <span class="keywordtype">int</span> size_y);</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordtype">double</span> ** sinfo_new_2Ddoublearray( <span class="keywordtype">int</span> size_x, <span class="keywordtype">int</span> size_y);</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keywordtype">char</span> * sinfo_new_get_rootname(<span class="keyword">const</span> <span class="keywordtype">char</span> * filename);</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordtype">char</span> * sinfo_new_get_basename(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename);</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordtype">float</span> sinfo_new_Stats_get_cleanstdev(Stats * stats);</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keywordtype">float</span> sinfo_new_Stats_get_cleanmean(Stats * stats);</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordtype">float</span> sinfo_new_array2D_get_value( <span class="keywordtype">float</span> ** array, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y );</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordtype">float</span> * sinfo_new_floatarray( <span class="keywordtype">int</span> size);</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordtype">float</span> ** sinfo_new_2Dfloatarray( <span class="keywordtype">int</span> size_x, <span class="keywordtype">int</span> size_y);</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordtype">double</span> sinfo_new_doublearray_get_value( <span class="keywordtype">double</span> * array, <span class="keywordtype">int</span> i );</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordtype">double</span> * sinfo_new_doublearray( <span class="keywordtype">int</span> size);</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment">FitParams ** sinfo_new_fit_params( int n_params ) ;</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> cpl_imagelist * sinfo_new_frameset_to_iset(cpl_frameset *) ;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> cpl_imagelist *</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> sinfo_new_imagelist_load_frameset(<span class="keyword">const</span> cpl_frameset * frameset,cpl_type type,</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordtype">int</span> pnum,<span class="keywordtype">int</span> extnum);</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordtype">char</span> ** sinfo_new_frameset_to_filenames(cpl_frameset *<span class="keyword">set</span>, <span class="keywordtype">int</span> *nfiles);</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordtype">char</span> ** new_frameset_to_tags(cpl_frameset *<span class="keyword">set</span>, <span class="keywordtype">int</span> *ntags);</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keywordtype">double</span> sinfo_spline_hermite(<span class="keywordtype">double</span> xp,</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keyword">const</span> <span class="keywordtype">double</span> *x,</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keyword">const</span> <span class="keywordtype">double</span> *y,</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordtype">int</span> n,</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keywordtype">int</span> *istart );</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> cpl_error_code update_bad_pixel_map(cpl_image* im);</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment">/* replacement of deprecated functions */</span></div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> cpl_polynomial * sinfo_polynomial_fit_2d_create(cpl_bivector * xy_pos,</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> cpl_vector * values,</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> cpl_size degree,</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keywordtype">double</span> * mse);</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> cpl_polynomial * sinfo_polynomial_fit_1d_create(</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="keyword">const</span> cpl_vector * x_pos,</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keyword">const</span> cpl_vector * values,</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keywordtype">int</span> degree,</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordtype">double</span> * mse</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> );</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> cpl_image * sinfo_image_filter_median(<span class="keyword">const</span> cpl_image *, <span class="keyword">const</span> cpl_matrix *);</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> cpl_image * sinfo_image_filter_linear(<span class="keyword">const</span> cpl_image *, <span class="keyword">const</span> cpl_matrix *);</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> cpl_image * sinfo_image_filter_linear2(<span class="keyword">const</span> cpl_image *, <span class="keyword">const</span> cpl_matrix *);</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> CPL_END_DECLS</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utilities__scired_8c_source.html b/html/sinfo__utilities__scired_8c_source.html
deleted file mode 100644
index 58403be..0000000
--- a/html/sinfo__utilities__scired_8c_source.html
+++ /dev/null
@@ -1,1900 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utilities_scired.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utilities_scired.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor"></span><span class="preprocessor">#include <irplib_stdstar.h></span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> </div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">//Used only for sinfo_propertylist_has</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include "sinfo_dfs.h"</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">//Used only for sinfo_band</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include "sinfo_tpl_utils.h"</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include "sinfo_utilities_scired.h"</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "sinfo_pfits.h"</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_spiffi_types.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> sinfo_sess2deg(<span class="keyword">const</span> <span class="keywordtype">double</span> sess);</div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> sinfo_set_spect_coord1(cpl_propertylist** plist,</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keyword">const</span> <span class="keywordtype">int</span> crpix1,</div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keyword">const</span> <span class="keywordtype">double</span> crval1,</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cdelt1);</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> sinfo_set_spect_coord2(cpl_propertylist** plist,</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">const</span> <span class="keywordtype">int</span> crpix2,</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">const</span> <span class="keywordtype">double</span> crval2,</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cdelt2);</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> sinfo_set_coord1(cpl_propertylist** plist,</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keyword">const</span> <span class="keywordtype">double</span> crpix1,</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">const</span> <span class="keywordtype">double</span> crval1,</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cdelt1);</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> sinfo_set_coord2(cpl_propertylist** plist,</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">const</span> <span class="keywordtype">double</span> crpix2,</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">const</span> <span class="keywordtype">double</span> crval2,</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cdelt2);</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> sinfo_set_coord3(cpl_propertylist** plist,</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keyword">const</span> <span class="keywordtype">int</span> crpix3,</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keyword">const</span> <span class="keywordtype">double</span> crval3,</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cdelt3);</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> sinfo_set_cd_matrix2(cpl_propertylist** plist,</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cd1_1,</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cd1_2,</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cd2_1,</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cd2_2);</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> sinfo_set_cd_matrix3(cpl_propertylist** plist,</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cd1_3,</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cd2_3,</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cd3_1,</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cd3_2,</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cd3_3);</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> sinfo_new_change_plist_cube (cpl_propertylist * plist,</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordtype">float</span> cenLambda,</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">float</span> dispersion,</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">int</span> center_z,</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">float</span> center_x,</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordtype">float</span> center_y );</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> sinfo_new_change_plist_image (cpl_propertylist * plist,</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">float</span> center_x,</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordtype">float</span> center_y );</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> sinfo_new_change_plist_spectrum (cpl_propertylist * plist,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">double</span> cenLambda,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">double</span> dispersion,</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">int</span> cenpix);</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keyword">static</span> cpl_image *</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> sinfo_new_image_getvig(</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> cpl_image * image_in,</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">int</span> loleft_x,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keywordtype">int</span> loleft_y,</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordtype">int</span> upright_x,</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">int</span> upright_y);</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> sinfo_check_input_data(object_config* cfg)</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> {</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">if</span> (cfg == NULL)</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> {</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" could not parse cpl input!\n"</span>) ;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> }</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(cfg->wavemap) != 1) {</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Input file wavemap %s is not FITS"</span>,cfg->wavemap);</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> }</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordflow">if</span> (cfg->halocorrectInd == 1)</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> {</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordflow">if</span>(sinfo_is_fits_file(cfg->halospectrum) != 1) {</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Input file %s is not FITS"</span>,cfg->halospectrum);</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> }</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> }</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordflow">if</span> (cfg->northsouthInd == 0) {</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">if</span> (sinfo_is_fits_file(cfg->poslist) != 1)</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> {</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"File %s with tag %s is not FITS!"</span>,</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> cfg->poslist,PRO_SLIT_POS);</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> }</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordflow">if</span> (sinfo_is_fits_file(cfg->distlist) != 1)</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> {</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"File %s with tag %s is not FITS!"</span>,</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> cfg->distlist,PRO_SLITLETS_DISTANCE);</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> }</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> }</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> }</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> sinfo_hms2deg(<span class="keyword">const</span> <span class="keywordtype">double</span> hms)</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> {</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordtype">int</span> hrs=0;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordtype">int</span> min=0;</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keywordtype">double</span> sec=0;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordtype">double</span> deg=0;</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordtype">double</span> rest=hms;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordtype">int</span> sign=1;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment">//sinfo_msg("hms=%f",hms);</span></div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keywordflow">if</span>(hms<0) {</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> sign=-1;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> rest=-hms;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> }</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment">//sinfo_msg("rest=%f",rest);</span></div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment">//sinfo_msg("sign=%d",sign);</span></div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> hrs=(int)(rest/10000.);</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment">//sinfo_msg("hrs=%d",hrs);</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> rest=rest-(double)(hrs*10000.);</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> min=(int)(rest/100.);</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment">//sinfo_msg("min=%d",min);</span></div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> sec=rest-(double)(min*100.);</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="comment">//sinfo_msg("sec=%f",sec);</span></div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> deg=hrs*15+(double)(min/4.)+(double)(sec/240.);</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="comment">//sinfo_msg("deg=%f",deg);</span></div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> deg=sign*deg;</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="comment">//sinfo_msg("deg=%f",deg);</span></div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keywordflow">return</span> deg;</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> }</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> sinfo_sess2deg(<span class="keyword">const</span> <span class="keywordtype">double</span> sess)</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> {</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordtype">int</span> grad=0;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="keywordtype">int</span> min=0;</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordtype">double</span> sec=0;</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordtype">double</span> deg=0;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordtype">double</span> rest=sess;</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordtype">int</span> sign=1;</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="comment">//sinfo_msg("sess=%f",sess);</span></div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="keywordflow">if</span>(sess<0) {</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> sign=-1;</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> rest=-sess;</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> }</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="comment">//sinfo_msg("rest=%f",rest);</span></div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="comment">//sinfo_msg("sign=%d",sign);</span></div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> grad=(int)(rest/10000.);</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="comment">//sinfo_msg("grad=%d",grad);</span></div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> rest=rest-(double)(grad*10000.);</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> min=(int)(rest/100.);</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="comment">//sinfo_msg("min=%d",min);</span></div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> sec=rest-(double)(min*100.);</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="comment">//sinfo_msg("sec=%f",sec);</span></div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> deg=grad+(double)(min/60.)+(double)(sec/3600.);</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="comment">//sinfo_msg("deg=%f",deg);</span></div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> deg=sign*deg;</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="comment">//sinfo_msg("deg=%f",deg);</span></div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="keywordflow">return</span> deg;</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> }</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> sinfo_auto_size_cube(<span class="keywordtype">float</span>* offsetx,</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="keywordtype">float</span>* offsety,</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nframes,</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="keywordtype">float</span>* ref_offx,</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="keywordtype">float</span>* ref_offy,</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="keywordtype">int</span>* size_x,</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="keywordtype">int</span>* size_y)</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> {</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="keywordtype">int</span> n=0;</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="keywordtype">float</span> offx=0;</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="keywordtype">float</span> offy=0;</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="keywordtype">float</span> min_offx=0;</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="keywordtype">float</span> max_offx=0;</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="keywordtype">float</span> min_offy=0;</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="keywordtype">float</span> max_offy=0;</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> sinfo_msg (<span class="stringliteral">"Computation of output cube size"</span>) ;</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="keywordflow">for</span> ( n = 0 ; n < nframes ; n++ ) {</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> offx = offsetx[n]; <span class="comment">/* was - */</span></div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> offy = offsety[n]; <span class="comment">/* was - */</span></div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="comment">/* sinfo_msg("frame %d offx=%f offy=%f",n,offx,offy); */</span></div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="keywordflow">if</span>(n==0) {</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> min_offx=offx;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> min_offy=offy;</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> max_offx=offx;</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> max_offy=offy;</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="keywordflow">if</span>(offx > max_offx) max_offx=offx;</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="keywordflow">if</span>(offy > max_offy) max_offy=offy;</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="keywordflow">if</span>(offx < min_offx) min_offx=offx;</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keywordflow">if</span>(offy < min_offy) min_offy=offy;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> }</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> }</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="comment"> sinfo_msg("max_offx=%f max_offy=%f",max_offx,max_offy);</span></div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="comment"> sinfo_msg("min_offx=%f min_offy=%f",min_offx,min_offy);</span></div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> *ref_offx=(min_offx+max_offx)/2;</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> *ref_offy=(min_offy+max_offy)/2;</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> *size_x+=2*floor(max_offx-min_offx+0.5);</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> *size_y+=2*floor(max_offy-min_offy+0.5);</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> sinfo_msg(<span class="stringliteral">"Output cube size: %d x %d"</span>,*size_x,*size_y);</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> sinfo_msg(<span class="stringliteral">"Ref offset. x: %f y: %f"</span>,*ref_offx,*ref_offy);</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Max offset. x: %f y: %f"</span>,max_offx,max_offy);</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Min offset. x: %f y: %f"</span>,min_offx,min_offy);</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> </div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> }</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> sinfo_auto_size_cube5(object_config * cfg,</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="keywordtype">float</span>* ref_offx, <span class="keywordtype">float</span>* ref_offy,</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="keywordtype">float</span>* min_offx, <span class="keywordtype">float</span>* min_offy,</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="keywordtype">float</span>* max_offx, <span class="keywordtype">float</span>* max_offy)</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> {</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="keywordtype">char</span>* name =NULL;</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="keywordtype">int</span> n=0;</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="keywordtype">float</span> offx=0;</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="keywordtype">float</span> offy=0;</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> cpl_propertylist * plist=NULL;</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> sinfo_msg (<span class="stringliteral">"Automatic computation of output cube size"</span>) ;</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="keywordflow">for</span> ( n = 0 ; n < cfg->nframes ; n++ ) {</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> name = cfg->framelist[n] ;</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> plist=cpl_propertylist_load(name,0);</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> offx = sinfo_pfits_get_cumoffsetx(plist); <span class="comment">/* was - */</span></div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">" could not read fits header keyword cummoffsetx!"</span>);</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">" set it to 0"</span>);</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> offx = 0;</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> cpl_error_reset();</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="comment">/* return -1 ; */</span></div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> }</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> offy = sinfo_pfits_get_cumoffsety(plist); <span class="comment">/* was - */</span></div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">" could not read fits header keyword! cumoffsety"</span>) ;</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">" set it to 0"</span>);</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> offy = 0;</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> cpl_error_reset();</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="comment">/* return -1 ; */</span></div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> }</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="comment">//sinfo_msg("n=%d offx=%f offy=%f",n,offx,offy);</span></div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="keywordflow">if</span>(n==0) {</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> *min_offx=offx;</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> *min_offy=offy;</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> *max_offx=offx;</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> *max_offy=offy;</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="keywordflow">if</span>(offx > *max_offx) *max_offx=offx;</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="keywordflow">if</span>(offy > *max_offy) *max_offy=offy;</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="keywordflow">if</span>(offx < *min_offx) *min_offx=offx;</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="keywordflow">if</span>(offy < *min_offy) *min_offy=offy;</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> }</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> }</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> *ref_offx=(*min_offx+*max_offx)/2;</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> *ref_offy=(*min_offy+*max_offy)/2;</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> </div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="keywordflow">if</span>(cfg->size_x == 0) cfg->size_x=2*floor(*max_offx-*min_offx+0.5)+64 ;</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="comment">/* The formula above doesn't give always the right result (DSF07663)</span></div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="comment"> * for example, if diff in offset is 35.5, the formula gives 72 but 71 would be</span></div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="comment"> * enough, the following candidate is working fine:</span></div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="comment"> * if(cfg->size_x == 0)</span></div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="comment"> cfg->size_x=floor(2.0*(*max_offx-*min_offx + 0.5 - 0.00001))+64 ;</span></div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="comment"> Currently the ticket is suspended, because the formula above</span></div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="comment"> would change the scientific results for the previous data.</span></div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="comment"> The same is actual for Y axis.</span></div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="keywordflow">if</span>(cfg->size_y == 0) cfg->size_y=2*floor(*max_offy-*min_offy+0.5)+64 ;</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> </div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> sinfo_msg(<span class="stringliteral">"Output cube size: %d x %d"</span>,cfg->size_x,cfg->size_y);</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> sinfo_msg(<span class="stringliteral">"Ref offset. x: %f y: %f"</span>,*ref_offx,*ref_offy);</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> sinfo_msg(<span class="stringliteral">"Max offset. x: %f y: %f"</span>,*max_offx,*max_offy);</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> sinfo_msg(<span class="stringliteral">"Min offset. x: %f y: %f"</span>,*min_offx,*min_offy);</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> </div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> </div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> }</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> </div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="keywordtype">float</span>*</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> sinfo_read_distances(<span class="keyword">const</span> <span class="keywordtype">int</span> nslits, <span class="keyword">const</span> <span class="keywordtype">char</span>* distlist)</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> {</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="keywordtype">int</span>* status=NULL;</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="keywordtype">float</span> * distances = NULL;</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="keywordtype">float</span> tmp_float=0;</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="keywordtype">char</span> tbl_distances_name[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> cpl_table* tbl_distances = NULL;</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> </div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> sinfo_msg(<span class="stringliteral">"Read distances"</span>);</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> distances = (<span class="keywordtype">float</span>*) cpl_calloc (nslits - 1, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>));</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> </div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="keywordflow">if</span> ( NULL == distances )</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> {</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"could allocate memory!"</span>) ;</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> }</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> </div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="comment">/*READ TFITS TABLE*/</span></div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Before loading input table"</span>);</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"%s"</span>, (<span class="keywordtype">char</span>* ) cpl_error_get_message());</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> }</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> strcpy(tbl_distances_name,distlist);</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> tbl_distances = cpl_table_load(tbl_distances_name,1,0);</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"loading input table %s"</span>,tbl_distances_name);</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"%s"</span>, (<span class="keywordtype">char</span>* ) cpl_error_get_message());</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> }</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> </div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="keywordflow">for</span> (i =0 ; i< nslits-1; i++){</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> tmp_float=cpl_table_get_float(tbl_distances,<span class="stringliteral">"slitlet_distance"</span>,i,status);</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"reading col %s from table %s"</span>,<span class="stringliteral">"slitlet_distance"</span>,</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> tbl_distances_name);</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"%s"</span>, (<span class="keywordtype">char</span>* ) cpl_error_get_message());</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> }</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> sinfo_new_array_set_value(distances,tmp_float,i);</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> }</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> cpl_table_delete(tbl_distances);</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="keywordflow">return</span> distances;</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> </div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> }</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> </div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> </div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> </div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="keywordtype">float</span>**</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> sinfo_read_slitlets_edges(<span class="keyword">const</span> <span class="keywordtype">int</span> nslits, <span class="keyword">const</span> <span class="keywordtype">char</span>* poslist)</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> {</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> </div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> </div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="keywordtype">char</span> tbl_slitpos_name[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> cpl_table* tbl_slitpos=NULL;</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="keywordtype">int</span> n=0;</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="keywordtype">int</span>* status=NULL;</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="keywordtype">float</span> edge_x=0;</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="keywordtype">float</span> edge_y=0;</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="keywordtype">float</span> ** slit_edges = NULL;</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> </div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> slit_edges = sinfo_new_2Dfloatarray(nslits, 2) ;</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> </div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> strcpy(tbl_slitpos_name,poslist);</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> tbl_slitpos = cpl_table_load(tbl_slitpos_name,1,0);</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"error loading tbl %s"</span>,tbl_slitpos_name);</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"%s"</span>, (<span class="keywordtype">char</span>* ) cpl_error_get_message());</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> }</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> n = cpl_table_get_nrow(tbl_slitpos);</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="keywordflow">if</span> (n != nslits) {</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"No of slitlets in table is n = %d != %d !"</span>,n,nslits);</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> }</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> </div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="keywordflow">for</span> (i =0 ; i< nslits; i++){</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> edge_x=cpl_table_get_double(tbl_slitpos,<span class="stringliteral">"pos1"</span>,i,status);</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> edge_y=cpl_table_get_double(tbl_slitpos,<span class="stringliteral">"pos2"</span>,i,status);</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"error reading tbl %s row %d"</span>,tbl_slitpos_name,i);</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"%s"</span>, (<span class="keywordtype">char</span>* ) cpl_error_get_message());</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> }</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> sinfo_new_array2D_set_value(slit_edges,edge_x,i,0);</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> sinfo_new_array2D_set_value(slit_edges,edge_y,i,1);</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> }</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> cpl_table_delete(tbl_slitpos);</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"error reading tbl %s"</span>,tbl_slitpos_name);</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"%s"</span>, (<span class="keywordtype">char</span>* ) cpl_error_get_message());</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> }</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> </div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> <span class="keywordflow">return</span> slit_edges;</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> </div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> }</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> </div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> </div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> cpl_imagelist * sinfo_new_cube_getvig(</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> cpl_imagelist * cube_in,</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> <span class="keywordtype">int</span> loleft_x,</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="keywordtype">int</span> loleft_y,</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="keywordtype">int</span> upright_x,</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> <span class="keywordtype">int</span> upright_y)</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> {</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> cpl_imagelist * cube_out ;</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <span class="keywordtype">int</span> outlx,</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> outly ;</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> </div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> cpl_image* o_img=NULL;</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> </div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> <span class="keywordflow">if</span> (cube_in==NULL) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> </div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> ilx=cpl_image_get_size_x(cpl_imagelist_get(cube_in,0));</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> ily=cpl_image_get_size_y(cpl_imagelist_get(cube_in,0));</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> inp=cpl_imagelist_get_size(cube_in);</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> </div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="keywordflow">if</span> ((loleft_x>upright_x) ||</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> (loleft_y>upright_y)) {</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"ill-defined slit for extraction: aborting"</span>);</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> }</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> </div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> <span class="comment">/* Extraction coordinates include rectangular zone */</span></div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> outlx = upright_x - loleft_x + 1 ;</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> outly = upright_y - loleft_y + 1 ;</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> <span class="comment"> cube_out = sinfo_new_cube(outlx, outly, cube_in->np) ;</span></div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> cube_out = cpl_imagelist_new() ;</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> <span class="comment">/* Loop on all input planes */</span></div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> <span class="keywordflow">for</span> (i=0 ; i<cpl_imagelist_get_size(cube_in) ; i++) {</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> </div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> i_img=cpl_imagelist_get(cube_in,i);</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> <span class="comment">/* Extract a slit from this plane */</span></div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> o_img = sinfo_new_image_getvig(i_img,</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> loleft_x, loleft_y,</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> upright_x, upright_y) ;</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> cpl_imagelist_set(cube_out,o_img,i);</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> }</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> <span class="keywordflow">return</span> cube_out ;</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> }</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> </div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> <span class="keyword">static</span> cpl_image *</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> sinfo_new_image_getvig(</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> cpl_image * image_in,</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> <span class="keywordtype">int</span> loleft_x,</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> <span class="keywordtype">int</span> loleft_y,</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="keywordtype">int</span> upright_x,</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="keywordtype">int</span> upright_y)</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> {</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> cpl_image * slit_img ;</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> <span class="keywordtype">int</span> i, j ;</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> <span class="keyword">register</span></div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> pixelvalue * inpt,</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> * outpt ;</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> <span class="keywordtype">int</span> outlx, outly ;</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> </div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> </div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> <span class="keywordflow">if</span> (image_in==NULL) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> </div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> ilx=cpl_image_get_size_x(image_in);</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> ily=cpl_image_get_size_y(image_in);</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> pidata=cpl_image_get_data_float(image_in);</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> </div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <span class="keywordflow">if</span> ((loleft_x<1) || (loleft_x>ilx) ||</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> (loleft_y<1) || (loleft_y>ily) ||</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> (upright_x<1) || (upright_x>ilx) ||</div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> (upright_y<1) || (upright_y>ily) ||</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> (loleft_x>upright_x) || (loleft_y>upright_y)) {</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"extraction zone is [%d %d] [%d %d]\n"</span></div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> <span class="stringliteral">"cannot extract such zone: aborting slit extraction"</span>,</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> loleft_x, loleft_y, upright_x, upright_y) ;</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> }</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> </div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> outlx = upright_x - loleft_x + 1 ;</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> outly = upright_y - loleft_y + 1 ;</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> slit_img = cpl_image_new(outlx, outly,CPL_TYPE_FLOAT) ;</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> podata=cpl_image_get_data_float(slit_img);</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> </div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> <span class="keywordflow">for</span> (j=0 ; j<outly ; j++) {</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> inpt = pidata+loleft_x-1 + (j+loleft_y-1)*ilx ;</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> outpt = podata + j*outlx ;</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> <span class="keywordflow">for</span> (i=0 ; i<outlx ; i++) {</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> *outpt++ = *inpt++ ;</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> }</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> }</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> <span class="keywordflow">return</span> slit_img ;</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> }</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> </div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> sinfo_new_set_wcs_cube(cpl_imagelist* cub, <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">double</span> clambda,</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> <span class="keywordtype">double</span> dis, <span class="keywordtype">double</span> cpix, <span class="keywordtype">double</span> cx, <span class="keywordtype">double</span> cy)</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> {</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> </div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> <span class="keywordflow">if</span> ((cpl_error_code)((plist = cpl_propertylist_load(name, 0)) == NULL)) {</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from frame %s"</span>,name);</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> }</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> </div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> sinfo_new_change_plist_cube(plist, clambda, dis, cpix, cx, cy) ;</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> sinfo_plist_set_extra_keys(plist,<span class="stringliteral">"IMAGE"</span>,<span class="stringliteral">"DATA"</span>,<span class="stringliteral">"RMSE"</span>,</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> <span class="stringliteral">"DATA"</span>,<span class="stringliteral">"ERRS"</span>,<span class="stringliteral">"QUAL"</span>,0);</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> <span class="keywordflow">if</span> (cpl_imagelist_save(cub, name, CPL_BPP_IEEE_FLOAT,</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> plist,CPL_IO_DEFAULT)!=CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"Cannot save the product %s"</span>,name);</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> }</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> </div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> }</div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> sinfo_new_set_wcs_image(cpl_image* img,</div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name,</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> <span class="keywordtype">double</span> cx,</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> <span class="keywordtype">double</span> cy)</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> {</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> </div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> <span class="keywordflow">if</span> ((cpl_error_code)((plist = cpl_propertylist_load(name, 0)) == NULL)) {</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from frame %s"</span>,name);</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> }</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> sinfo_new_change_plist_image(plist, cx, cy) ;</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> </div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> <span class="keywordflow">if</span> (cpl_image_save(img, name, CPL_BPP_IEEE_FLOAT,</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> plist,CPL_IO_DEFAULT)!=CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"Cannot save the product %s"</span>,name);</div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> }</div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> </div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> }</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> </div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> </div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> sinfo_new_set_wcs_spectrum(cpl_image* img, <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">double</span> clambda,</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> <span class="keywordtype">double</span> dis, <span class="keywordtype">double</span> cpix)</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> {</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> </div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> <span class="keywordflow">if</span> ((cpl_error_code)((plist = cpl_propertylist_load(name, 0)) == NULL)) {</div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from frame %s"</span>,name);</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> }</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> sinfo_new_change_plist_spectrum(plist, clambda, dis,cpix) ;</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> </div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> <span class="keywordflow">if</span> (cpl_image_save(img, name, CPL_BPP_IEEE_FLOAT,</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> plist,CPL_IO_DEFAULT)!=CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"Cannot save the product %s"</span>,name);</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> }</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> </div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> }</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> sinfo_new_change_plist_cube (cpl_propertylist * plist,</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> <span class="keywordtype">float</span> cenLambda,</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> <span class="keywordtype">float</span> dispersion,</div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> <span class="keywordtype">int</span> center_z,</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> <span class="keywordtype">float</span> center_x,</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> <span class="keywordtype">float</span> center_y )</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> {</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> </div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> <span class="keywordtype">float</span> pixelscale ;</div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> <span class="keywordtype">double</span> ra ;</div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> <span class="keywordtype">double</span> dec ;</div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> <span class="keywordtype">double</span> angle ;</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> <span class="keywordtype">float</span> radangle ;</div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> <span class="keywordtype">double</span> cd1_1, cd1_2, cd2_1, cd2_2 ;</div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> <span class="keywordtype">int</span> sign_swap = -1;</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> <span class="keywordtype">char</span> firsttext[2*FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> </div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> <span class="keywordtype">double</span> cdelt1=0;</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> <span class="keywordtype">double</span> cdelt2=0;</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> <span class="keywordtype">double</span> cdelt3=dispersion;</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> </div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> <span class="keywordtype">double</span> crpix1=center_x;</div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> <span class="keywordtype">double</span> crpix2=center_y;</div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> <span class="keywordtype">int</span> crpix3=center_z;</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> </div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> <span class="keywordtype">double</span> crval1=0;</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> <span class="keywordtype">double</span> crval2=0;</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> <span class="keywordtype">double</span> crval3=cenLambda;</div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> </div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> </div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> strcpy(firsttext, <span class="stringliteral">"sinfo_rec_objnod -f \0"</span>) ;</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> </div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> pixelscale = sinfo_pfits_get_pixscale(plist)/2. ;</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> ra = sinfo_pfits_get_ra(plist) ;</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> dec = sinfo_pfits_get_DEC(plist) ;</div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> </div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> <span class="comment">//get better coordinate values</span></div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> ra=sinfo_pfits_get_targ_alpha(plist);</div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> dec=sinfo_pfits_get_targ_delta(plist);</div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> <span class="comment">//sinfo_msg("ra=%f",ra);</span></div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> <span class="comment">//sinfo_msg("dec=%f",dec);</span></div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> ra=sinfo_hms2deg(ra);</div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> dec=sinfo_sess2deg(dec);</div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> <span class="comment">//sinfo_msg("ra=%f",ra);</span></div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> <span class="comment">//sinfo_msg("dec=%f",dec);</span></div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> </div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> crval1=ra;</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> crval2=dec;</div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> </div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> angle = sinfo_pfits_get_posangle(plist) ;</div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> <span class="comment">/* in PUPIL data there is not posangle info: we reset the error */</span></div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> cpl_error_reset();</div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> }</div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> cdelt1=sign_swap*pixelscale / 3600.;</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> cdelt2= +pixelscale / 3600.;</div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> </div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> </div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> radangle = angle * PI_NUMB / 180. ;</div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> cd1_1 = +cdelt1*cos(radangle);</div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> cd1_2 = -cdelt2*sin(radangle);</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> cd2_1 = +cdelt1*sin(radangle);</div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> cd2_2 = +cdelt2*cos(radangle);</div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> </div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> </div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> sinfo_set_coord1(&plist,crpix1,crval1,cdelt1);</div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> sinfo_set_coord2(&plist,crpix2,crval2,cdelt2);</div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> sinfo_set_coord3(&plist,crpix3,crval3,cdelt3);</div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> sinfo_set_cd_matrix2(&plist,cd1_1,cd1_2,cd2_1,cd2_2);</div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> sinfo_set_cd_matrix3(&plist,0,0,0,0,dispersion);</div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> </div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> </div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> }</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> </div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> </div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> </div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> </div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> sinfo_set_coord1(cpl_propertylist** plist,</div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> <span class="keyword">const</span> <span class="keywordtype">double</span> crpix1,</div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> <span class="keyword">const</span> <span class="keywordtype">double</span> crval1,</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cdelt1)</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> {</div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CTYPE1"</span>,0);</div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> cpl_propertylist_insert_after_string(*plist,<span class="stringliteral">"EXPTIME"</span>,<span class="stringliteral">"CTYPE1"</span>,<span class="stringliteral">"RA---TAN"</span>);</div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> cpl_propertylist_set_comment(*plist, <span class="stringliteral">"CTYPE1"</span>, <span class="stringliteral">"Projected Rectascension"</span>);</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CRPIX1"</span>,0);</div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> cpl_propertylist_insert_after_double(*plist,<span class="stringliteral">"CTYPE1"</span>,<span class="stringliteral">"CRPIX1"</span>, crpix1) ;</div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> cpl_propertylist_set_comment(*plist, <span class="stringliteral">"CRPIX1"</span>,<span class="stringliteral">"Reference pixel in RA"</span> ) ;</div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> </div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CRVAL1"</span>,0);</div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> cpl_propertylist_insert_after_double(*plist, <span class="stringliteral">"CRPIX1"</span>, <span class="stringliteral">"CRVAL1"</span>, crval1 ) ;</div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> cpl_propertylist_set_comment(*plist, <span class="stringliteral">"CRVAL1"</span>,<span class="stringliteral">"Reference RA"</span> ) ;</div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> </div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CDELT1"</span>,0);</div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> cpl_propertylist_insert_after_double(*plist,<span class="stringliteral">"CRVAL1"</span>,<span class="stringliteral">"CDELT1"</span>,cdelt1 ) ;</div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> cpl_propertylist_set_comment(*plist, <span class="stringliteral">"CDELT1"</span>,<span class="stringliteral">"pixel scale"</span> ) ;</div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> </div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CUNIT1"</span>,0);</div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> cpl_propertylist_insert_after_string(*plist, <span class="stringliteral">"CDELT1"</span>, <span class="stringliteral">"CUNIT1"</span>, <span class="stringliteral">"deg"</span> ) ;</div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> cpl_propertylist_set_comment(*plist, <span class="stringliteral">"CUNIT1"</span>,<span class="stringliteral">"RA-UNIT"</span> ) ;</div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> </div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> }</div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> </div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> </div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> sinfo_set_coord2(cpl_propertylist** plist,</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> <span class="keyword">const</span> <span class="keywordtype">double</span> crpix2,</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> <span class="keyword">const</span> <span class="keywordtype">double</span> crval2,</div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cdelt2)</div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> {</div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CTYPE2"</span>,0);</div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> cpl_propertylist_insert_after_string(*plist,<span class="stringliteral">"CUNIT1"</span>,<span class="stringliteral">"CTYPE2"</span>,<span class="stringliteral">"DEC--TAN"</span>);</div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> cpl_propertylist_set_comment(*plist, <span class="stringliteral">"CTYPE2"</span>, <span class="stringliteral">"Projected Declination"</span>) ;</div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> </div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CRPIX2"</span>,0);</div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> cpl_propertylist_insert_after_double(*plist,<span class="stringliteral">"CTYPE2"</span>,<span class="stringliteral">"CRPIX2"</span>,crpix2 ) ;</div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> cpl_propertylist_set_comment(*plist, <span class="stringliteral">"CRPIX2"</span>, <span class="stringliteral">"Reference pixel in DEC"</span>) ;</div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> </div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> cpl_propertylist_erase_regexp(*plist,<span class="stringliteral">"^CRVAL2"</span>,0);</div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> cpl_propertylist_insert_after_double(*plist,<span class="stringliteral">"CRPIX2"</span>,<span class="stringliteral">"CRVAL2"</span>,crval2) ;</div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> cpl_propertylist_set_comment(*plist,<span class="stringliteral">"CRVAL2"</span>,<span class="stringliteral">"Reference DEC"</span>) ;</div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> </div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> cpl_propertylist_erase_regexp(*plist,<span class="stringliteral">"^CDELT2"</span>,0);</div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> cpl_propertylist_insert_after_double(*plist,<span class="stringliteral">"CRVAL2"</span>,<span class="stringliteral">"CDELT2"</span>,cdelt2 ) ;</div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> cpl_propertylist_set_comment(*plist,<span class="stringliteral">"CDELT2"</span>,<span class="stringliteral">"pixel scale"</span>) ;</div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> </div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> cpl_propertylist_erase_regexp(*plist,<span class="stringliteral">"^CUNIT2"</span>,0);</div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> cpl_propertylist_insert_after_string(*plist,<span class="stringliteral">"CDELT2"</span>,<span class="stringliteral">"CUNIT2"</span>, <span class="stringliteral">"deg"</span> ) ;</div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> cpl_propertylist_set_comment(*plist,<span class="stringliteral">"CUNIT2"</span>,<span class="stringliteral">"DEC-UNIT"</span>) ;</div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> </div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> </div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> }</div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> </div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> </div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> </div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> sinfo_set_coord3(cpl_propertylist** plist,</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> <span class="keyword">const</span> <span class="keywordtype">int</span> crpix3,</div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> <span class="keyword">const</span> <span class="keywordtype">double</span> crval3,</div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cdelt3)</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> {</div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CTYPE3"</span>,0);</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> cpl_propertylist_insert_after_string(*plist,<span class="stringliteral">"EXPTIME"</span>, <span class="stringliteral">"CTYPE3"</span>, <span class="stringliteral">"WAVE"</span> ) ;</div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> cpl_propertylist_set_comment(*plist,<span class="stringliteral">"CTYPE3"</span>,<span class="stringliteral">"wavelength axis in microns"</span>) ;</div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> </div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CRPIX3"</span>,0);</div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> cpl_propertylist_insert_after_double(*plist,<span class="stringliteral">"CTYPE3"</span>,<span class="stringliteral">"CRPIX3"</span>, (<span class="keywordtype">double</span>)crpix3 ) ;</div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> cpl_propertylist_set_comment(*plist, <span class="stringliteral">"CRPIX3"</span>, <span class="stringliteral">"Reference pixel in z"</span>) ;</div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> </div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CRVAL3"</span>,0);</div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> cpl_propertylist_insert_after_double(*plist,<span class="stringliteral">"CRPIX3"</span>, <span class="stringliteral">"CRVAL3"</span>, crval3) ;</div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> cpl_propertylist_set_comment(*plist, <span class="stringliteral">"CRVAL3"</span>, <span class="stringliteral">"central wavelength"</span>) ;</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> </div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CDELT3"</span>,0);</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> </div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> cpl_propertylist_insert_after_double(*plist,<span class="stringliteral">"CRVAL3"</span>,<span class="stringliteral">"CDELT3"</span>,cdelt3) ;</div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> cpl_propertylist_set_comment(*plist, <span class="stringliteral">"CDELT3"</span>, <span class="stringliteral">"microns per pixel"</span>) ;</div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> </div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CUNIT3"</span>,0);</div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> cpl_propertylist_insert_after_string(*plist,<span class="stringliteral">"CDELT3"</span>, <span class="stringliteral">"CUNIT3"</span>, <span class="stringliteral">"um"</span> ) ;</div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> cpl_propertylist_set_comment(*plist, <span class="stringliteral">"CUNIT3"</span>, <span class="stringliteral">"spectral unit"</span> ) ;</div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> </div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^SPECSYS"</span>,0);</div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> cpl_propertylist_insert_after_string(*plist,<span class="stringliteral">"CUNIT3"</span>, <span class="stringliteral">"SPECSYS"</span>, <span class="stringliteral">"TOPOCENT"</span> ) ;</div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> cpl_propertylist_set_comment(*plist, <span class="stringliteral">"SPECSYS"</span>, <span class="stringliteral">"Coordinate reference frame"</span> ) ;</div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> }</div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> </div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> </div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> sinfo_set_cd_matrix2(cpl_propertylist** plist,</div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cd1_1,</div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cd1_2,</div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cd2_1,</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cd2_2)</div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> {</div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> </div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> check_nomsg(cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CD1_1"</span>,0));</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> check_nomsg(cpl_propertylist_insert_after_double(*plist,<span class="stringliteral">"EXPTIME"</span>,</div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> <span class="stringliteral">"CD1_1"</span>, cd1_1 )) ;</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> check_nomsg(cpl_propertylist_set_comment(*plist, <span class="stringliteral">"CD1_1"</span>,</div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> <span class="stringliteral">"CD rotation matrix"</span> )) ;</div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> </div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> check_nomsg(cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CD1_2"</span>,0));</div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> check_nomsg(cpl_propertylist_insert_after_double(*plist, <span class="stringliteral">"CD1_1"</span>,</div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> <span class="stringliteral">"CD1_2"</span>, cd1_2 )) ;</div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> check_nomsg(cpl_propertylist_set_comment(*plist, <span class="stringliteral">"CD1_2"</span>,</div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> <span class="stringliteral">"CD rotation matrix"</span> )) ;</div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> </div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> check_nomsg(cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CD2_1"</span>,0));</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> check_nomsg(cpl_propertylist_insert_after_double(*plist, <span class="stringliteral">"CD1_2"</span>,</div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> <span class="stringliteral">"CD2_1"</span>, cd2_1 )) ;</div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> check_nomsg(cpl_propertylist_set_comment(*plist, <span class="stringliteral">"CD2_1"</span>,</div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> <span class="stringliteral">"CD rotation matrix"</span> )) ;</div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> </div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> check_nomsg(cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CD2_2"</span>,0));</div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> check_nomsg(cpl_propertylist_insert_after_double(*plist, <span class="stringliteral">"CD2_1"</span>,</div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> <span class="stringliteral">"CD2_2"</span>, cd2_2 )) ;</div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> check_nomsg(cpl_propertylist_set_comment(*plist, <span class="stringliteral">"CD2_2"</span>,</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> <span class="stringliteral">"CD rotation matrix"</span> )) ;</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> </div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> cleanup:</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> </div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> </div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> }</div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> </div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> </div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> sinfo_set_cd_matrix3(cpl_propertylist** plist,</div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cd1_3,</div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cd2_3,</div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cd3_1,</div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cd3_2,</div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cd3_3)</div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> {</div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> </div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> </div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> check_nomsg(cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CD1_3"</span>,0));</div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> check_nomsg(cpl_propertylist_insert_after_double(*plist,<span class="stringliteral">"EXPTIME"</span>,</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> <span class="stringliteral">"CD1_3"</span>, cd1_3 )) ;</div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> check_nomsg(cpl_propertylist_set_comment(*plist, <span class="stringliteral">"CD1_3"</span>,</div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> <span class="stringliteral">"CD rotation matrix"</span> )) ;</div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> </div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> </div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> check_nomsg(cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CD2_3"</span>,0));</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> check_nomsg(cpl_propertylist_insert_after_double(*plist,<span class="stringliteral">"CD1_3"</span>,</div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> <span class="stringliteral">"CD2_3"</span>, cd2_3 )) ;</div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> check_nomsg(cpl_propertylist_set_comment(*plist, <span class="stringliteral">"CD2_3"</span>,</div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> <span class="stringliteral">"CD rotation matrix"</span> )) ;</div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> </div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> </div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> </div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> check_nomsg(cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CD3_1"</span>,0));</div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> check_nomsg(cpl_propertylist_insert_after_double(*plist,<span class="stringliteral">"CD2_3"</span>,</div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> <span class="stringliteral">"CD3_1"</span>, cd3_1 )) ;</div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> check_nomsg(cpl_propertylist_set_comment(*plist, <span class="stringliteral">"CD3_1"</span>,</div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> <span class="stringliteral">"CD rotation matrix"</span> )) ;</div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> </div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> check_nomsg(cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CD3_2"</span>,0));</div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> check_nomsg(cpl_propertylist_insert_after_double(*plist, <span class="stringliteral">"CD3_1"</span>,</div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> <span class="stringliteral">"CD3_2"</span>, cd3_2 )) ;</div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> check_nomsg(cpl_propertylist_set_comment(*plist, <span class="stringliteral">"CD3_2"</span>,</div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> <span class="stringliteral">"CD rotation matrix"</span> )) ;</div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> </div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> check_nomsg(cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CD3_3"</span>,0));</div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> check_nomsg(cpl_propertylist_insert_after_double(*plist, <span class="stringliteral">"CD3_2"</span>,</div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> <span class="stringliteral">"CD3_3"</span>, cd3_3 )) ;</div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> check_nomsg(cpl_propertylist_set_comment(*plist, <span class="stringliteral">"CD3_3"</span>,</div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> <span class="stringliteral">"CD rotation matrix"</span> )) ;</div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> </div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> cleanup:</div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> </div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> </div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> }</div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> </div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> </div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> sinfo_set_spect_coord1(cpl_propertylist** plist,</div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> <span class="keyword">const</span> <span class="keywordtype">int</span> crpix1,</div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> <span class="keyword">const</span> <span class="keywordtype">double</span> crval1,</div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cdelt1)</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> {</div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> </div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CTYPE1"</span>,0);</div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> cpl_propertylist_insert_after_string(*plist,<span class="stringliteral">"EXPTIME"</span>, <span class="stringliteral">"CTYPE1"</span>, <span class="stringliteral">"PIXEL"</span>);</div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> cpl_propertylist_set_comment(*plist, <span class="stringliteral">"CTYPE1"</span>, <span class="stringliteral">"Pixel coordinate system."</span>);</div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> </div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CRPIX1"</span>,0);</div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> cpl_propertylist_insert_after_double(*plist, <span class="stringliteral">"CTYPE1"</span>, <span class="stringliteral">"CRPIX1"</span>, (<span class="keywordtype">double</span>)crpix1 ) ;</div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> cpl_propertylist_set_comment(*plist, <span class="stringliteral">"CRPIX1"</span>, <span class="stringliteral">"Reference pixel in x"</span>) ;</div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> </div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CRVAL1"</span>,0);</div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> cpl_propertylist_insert_after_double(*plist,<span class="stringliteral">"CRPIX1"</span>, <span class="stringliteral">"CRVAL1"</span>, crval1 ) ;</div>
-<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> cpl_propertylist_set_comment(*plist, <span class="stringliteral">"CRVAL1"</span>, <span class="stringliteral">"value of ref pixel."</span>) ;</div>
-<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span> </div>
-<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CDELT1"</span>,0);</div>
-<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> cpl_propertylist_insert_after_double(*plist,<span class="stringliteral">"CRVAL1"</span>, <span class="stringliteral">"CDELT1"</span>, cdelt1 ) ;</div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> cpl_propertylist_set_comment(*plist,<span class="stringliteral">"CDELT1"</span>, <span class="stringliteral">"pixel scale"</span>) ;</div>
-<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> </div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> </div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CUNIT1"</span>,0);</div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> cpl_propertylist_insert_after_string(*plist,<span class="stringliteral">"CDELT1"</span>, <span class="stringliteral">"CUNIT1"</span>, <span class="stringliteral">"Pixel"</span> );</div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> cpl_propertylist_set_comment(*plist, <span class="stringliteral">"CUNIT1"</span>, <span class="stringliteral">"spectral unit"</span> );</div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> </div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> }</div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> </div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> </div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> </div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> </div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> </div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> sinfo_set_spect_coord2(cpl_propertylist** plist,</div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> <span class="keyword">const</span> <span class="keywordtype">int</span> crpix2,</div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> <span class="keyword">const</span> <span class="keywordtype">double</span> crval2,</div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> <span class="keyword">const</span> <span class="keywordtype">double</span> cdelt2)</div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> {</div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> </div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CTYPE2"</span>,0);</div>
-<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> cpl_propertylist_insert_after_string(*plist, <span class="stringliteral">"EXPTIME"</span>,<span class="stringliteral">"CTYPE2"</span>,<span class="stringliteral">"WAVE"</span> );</div>
-<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> cpl_propertylist_set_comment(*plist,<span class="stringliteral">"CTYPE2"</span>,<span class="stringliteral">"wavelength axis in microns"</span>);</div>
-<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> </div>
-<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CRPIX2"</span>,0);</div>
-<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> cpl_propertylist_insert_after_double(*plist, <span class="stringliteral">"CTYPE2"</span>, <span class="stringliteral">"CRPIX2"</span>,(<span class="keywordtype">double</span>)crpix2 ) ;</div>
-<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> cpl_propertylist_set_comment(*plist, <span class="stringliteral">"CRPIX2"</span>, <span class="stringliteral">"Reference pixel in x"</span>) ;</div>
-<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> </div>
-<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CRVAL2"</span>,0);</div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> cpl_propertylist_insert_after_double(*plist, <span class="stringliteral">"CRPIX2"</span>,<span class="stringliteral">"CRVAL2"</span>,crval2 ) ;</div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> cpl_propertylist_set_comment(*plist,<span class="stringliteral">"CRVAL2"</span>, <span class="stringliteral">"central wavelength"</span>) ;</div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> </div>
-<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CDELT2"</span>,0);</div>
-<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> cpl_propertylist_insert_after_double(*plist, <span class="stringliteral">"CRVAL2"</span>, <span class="stringliteral">"CDELT2"</span>,cdelt2);</div>
-<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> cpl_propertylist_set_comment(*plist,<span class="stringliteral">"CDELT2"</span>, <span class="stringliteral">"microns per pixel"</span>);</div>
-<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> </div>
-<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> cpl_propertylist_erase_regexp(*plist, <span class="stringliteral">"^CUNIT2"</span>,0);</div>
-<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span> cpl_propertylist_insert_after_string(*plist,<span class="stringliteral">"CDELT2"</span>, <span class="stringliteral">"CUNIT2"</span>, <span class="stringliteral">"um"</span>);</div>
-<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span> cpl_propertylist_set_comment(*plist, <span class="stringliteral">"CUNIT2"</span>, <span class="stringliteral">"spectral unit"</span> );</div>
-<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> </div>
-<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> </div>
-<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> }</div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> sinfo_new_change_plist_spectrum (cpl_propertylist * plist,</div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> <span class="keywordtype">double</span> cenLambda,</div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> <span class="keywordtype">double</span> dispersion,</div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> <span class="keywordtype">int</span> cenpix)</div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> {</div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> </div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> <span class="keywordtype">int</span> crpix1=1;</div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> <span class="keywordtype">double</span> crval1=1;</div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> <span class="keywordtype">double</span> cdelt1=1;</div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> </div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> <span class="keywordtype">int</span> crpix2=cenpix;</div>
-<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> <span class="keywordtype">double</span> crval2=cenLambda;</div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> <span class="keywordtype">double</span> cdelt2=dispersion;</div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> </div>
-<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> </div>
-<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> </div>
-<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"^CTYPE3"</span>,0);</div>
-<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"^CRPIX3"</span>,0);</div>
-<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span> cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"^CRVAL3"</span>,0);</div>
-<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"^CDELT3"</span>,0);</div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"^CUNIT3"</span>,0);</div>
-<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> </div>
-<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"^CTYPE2"</span>,0);</div>
-<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"^CRPIX2"</span>,0);</div>
-<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"^CRVAL2"</span>,0);</div>
-<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"^CDELT2"</span>,0);</div>
-<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"^CUNIT2"</span>,0);</div>
-<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> </div>
-<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span> </div>
-<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"^CD1_1"</span>,0);</div>
-<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span> cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"^CD1_2"</span>,0);</div>
-<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"^CD2_1"</span>,0);</div>
-<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span> cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"^CD2_2"</span>,0);</div>
-<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span> </div>
-<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> </div>
-<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span> </div>
-<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span> </div>
-<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span> sinfo_set_spect_coord1(&plist,crpix1,crval1,cdelt1);</div>
-<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> sinfo_set_spect_coord2(&plist,crpix2,crval2,cdelt2);</div>
-<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span> </div>
-<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span> </div>
-<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> </div>
-<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span> }</div>
-<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span> sinfo_new_change_plist_image (cpl_propertylist * plist,</div>
-<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span> <span class="keywordtype">float</span> center_x,</div>
-<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span> <span class="keywordtype">float</span> center_y )</div>
-<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span> {</div>
-<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span> </div>
-<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span> <span class="keywordtype">float</span> pixelscale ;</div>
-<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span> <span class="keywordtype">double</span> ra ;</div>
-<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span> <span class="keywordtype">double</span> dec ;</div>
-<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span> <span class="keywordtype">double</span> angle ;</div>
-<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span> <span class="keywordtype">float</span> radangle ;</div>
-<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span> <span class="keywordtype">float</span> cd1_1, cd1_2, cd2_1, cd2_2 ;</div>
-<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span> <span class="keywordtype">char</span> firsttext[2*FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span> <span class="keywordtype">int</span> sign_swap = -1;</div>
-<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> </div>
-<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> </div>
-<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> <span class="keywordtype">double</span> cdelt1=0;</div>
-<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> <span class="keywordtype">double</span> cdelt2=0;</div>
-<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> </div>
-<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> <span class="keywordtype">double</span> crpix1=center_x;</div>
-<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> <span class="keywordtype">double</span> crpix2=center_y;</div>
-<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> </div>
-<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> <span class="keywordtype">double</span> crval1=0;</div>
-<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> <span class="keywordtype">double</span> crval2=0;</div>
-<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> </div>
-<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> </div>
-<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> </div>
-<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> </div>
-<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> strcpy(firsttext, <span class="stringliteral">"sinfo_rec_objnod -f \0"</span>) ;</div>
-<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> </div>
-<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> pixelscale = sinfo_pfits_get_pixscale(plist)/2. ;</div>
-<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> ra = sinfo_pfits_get_ra(plist) ;</div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> dec = sinfo_pfits_get_DEC(plist) ;</div>
-<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> </div>
-<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> </div>
-<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> </div>
-<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> <span class="comment">//get better coordinate values</span></div>
-<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span> ra=sinfo_pfits_get_targ_alpha(plist);</div>
-<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> dec=sinfo_pfits_get_targ_delta(plist);</div>
-<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> ra=sinfo_hms2deg(ra);</div>
-<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span> dec=sinfo_sess2deg(dec);</div>
-<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> </div>
-<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span> </div>
-<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span> </div>
-<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> crval1=ra;</div>
-<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> crval2=dec;</div>
-<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span> </div>
-<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span> angle = sinfo_pfits_get_posangle(plist) ;</div>
-<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span> <span class="comment">/* in PUPIL data there is not posangle info: we reset the error */</span></div>
-<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> cpl_error_reset();</div>
-<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span> }</div>
-<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span> </div>
-<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span> radangle = angle * PI_NUMB / 180. ;</div>
-<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> </div>
-<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span> cdelt1=sign_swap * pixelscale / 3600. ;</div>
-<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span> cdelt2= pixelscale / 3600. ;</div>
-<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span> </div>
-<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span> </div>
-<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> cd1_1 = +cdelt1*cos(radangle) ;</div>
-<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> cd1_2 = -cdelt2*sin(radangle) ;</div>
-<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span> cd2_1 = +cdelt1*sin(radangle) ;</div>
-<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> cd2_2 = +cdelt2*cos(radangle) ;</div>
-<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span> </div>
-<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> </div>
-<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span> </div>
-<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span> </div>
-<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> </div>
-<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span> check_nomsg(sinfo_set_coord1(&plist,crpix1,crval1,cdelt1));</div>
-<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> check_nomsg(sinfo_set_coord2(&plist,crpix2,crval2,cdelt2));</div>
-<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span> check_nomsg(sinfo_set_cd_matrix2(&plist,cd1_1,cd1_2,cd2_1,cd2_2));</div>
-<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span> </div>
-<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> </div>
-<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> cleanup:</div>
-<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span> }</div>
-<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> </div>
-<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span> cpl_imagelist**</div>
-<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span> sinfo_new_sinfoni_correct_median(cpl_imagelist** cubes, <span class="keyword">const</span> <span class="keywordtype">int</span> n_cubes)</div>
-<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span> {</div>
-<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span> cpl_imagelist** cubes_cor=NULL;</div>
-<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span> <span class="keywordtype">double</span> local_median=0;</div>
-<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> <span class="keywordtype">int</span> z=0;</div>
-<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span> cpl_image* o_img=NULL;</div>
-<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span> </div>
-<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span> </div>
-<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span> <span class="keywordflow">if</span> ( cubes == NULL ) {</div>
-<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no cube list given!"</span>) ;</div>
-<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span> }</div>
-<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span> <span class="keywordflow">if</span> ( n_cubes <= 0 ) {</div>
-<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"wrong number of data cubes in list!"</span>) ;</div>
-<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span> }</div>
-<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span> </div>
-<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span> cubes_cor = (cpl_imagelist**) cpl_calloc (n_cubes, <span class="keyword">sizeof</span> (cpl_imagelist*)) ;</div>
-<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span> </div>
-<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_cubes ; i++ ) {</div>
-<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span> cubes_cor[i] = cpl_imagelist_new();</div>
-<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span> <span class="keywordflow">for</span>(z=0;z< cpl_imagelist_get_size(cubes[i]); z++) {</div>
-<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span> i_img=cpl_imagelist_get(cubes[i],z);</div>
-<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> local_median=cpl_image_get_median(i_img);;</div>
-<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span> o_img=cpl_image_duplicate(i_img);</div>
-<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span> <span class="keywordflow">if</span>(!isnan(local_median)) {</div>
-<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> cpl_image_subtract_scalar(o_img,local_median);</div>
-<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span> }</div>
-<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> cpl_imagelist_set(cubes_cor[i],o_img,z);</div>
-<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span> }</div>
-<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span> }</div>
-<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span> </div>
-<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span> <span class="keywordflow">return</span> cubes_cor;</div>
-<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span> }</div>
-<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span> </div>
-<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span> <span class="keywordtype">int</span> sinfo_new_sinfoni_correct_median_it(cpl_imagelist** inp)</div>
-<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span> {</div>
-<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span> </div>
-<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span> <span class="keywordtype">double</span> local_median=0;</div>
-<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span> <span class="keywordtype">int</span> z=0;</div>
-<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span> cpl_image* img=NULL;</div>
-<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span> </div>
-<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span> <span class="keywordflow">for</span>(z=0;z< cpl_imagelist_get_size((*inp)); z++) {</div>
-<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span> img=cpl_imagelist_get((*inp),z);</div>
-<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span> local_median=sinfo_new_my_median_image(img);</div>
-<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span> <span class="keywordflow">if</span>(!isnan(local_median)) {</div>
-<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span> cpl_image_subtract_scalar(img,local_median);</div>
-<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"local_median is NAN"</span>);</div>
-<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span> }</div>
-<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span> cpl_imagelist_set((*inp),img,z);</div>
-<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span> }</div>
-<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span> </div>
-<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span> }</div>
-<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span> </div>
-<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span> cpl_imagelist** sinfo_new_sinfoni_correct_sky(cpl_imagelist** cubes,</div>
-<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nc,</div>
-<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span> cpl_imagelist* sky_cube)</div>
-<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span> </div>
-<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span> {</div>
-<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span> cpl_imagelist** cubes_sky=NULL;</div>
-<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span> <span class="keywordtype">int</span> x=0;</div>
-<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span> <span class="keywordtype">int</span> y=0;</div>
-<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span> <span class="keywordtype">int</span> z=0;</div>
-<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span> <span class="keywordtype">float</span> k=0.5;</div>
-<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span> <span class="keywordtype">int</span> ovr=0;</div>
-<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span> <span class="keywordtype">int</span> ks=0;</div>
-<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span> <span class="keywordtype">int</span> nclip=0;</div>
-<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span> <span class="keywordtype">double</span> med=0;</div>
-<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span> <span class="keywordtype">double</span> avg=0;</div>
-<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span> <span class="keywordtype">double</span> sig=0;</div>
-<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span> <span class="keywordtype">int</span> msk_sum=0;</div>
-<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span> <span class="keywordtype">double</span> val_msk_sum=0;</div>
-<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span> cpl_vector* val=NULL;</div>
-<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span> cpl_vector* msk=NULL;</div>
-<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span> </div>
-<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span> </div>
-<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span> <span class="keywordtype">int</span> sky_lx=0;</div>
-<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span> <span class="keywordtype">int</span> sky_ly=0;</div>
-<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span> </div>
-<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span> <span class="keywordtype">float</span>* p_sky_data=NULL;</div>
-<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span> cpl_image* i_img=NULL;</div>
-<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span> cpl_image* sky_img=NULL;</div>
-<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span> </div>
-<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span> </div>
-<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span> <span class="keywordflow">if</span> ( cubes == NULL ) {</div>
-<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no cube list given!"</span>) ;</div>
-<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span> }</div>
-<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span> ilx=cpl_image_get_size_x(cpl_imagelist_get(cubes[0],0));</div>
-<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span> ily=cpl_image_get_size_y(cpl_imagelist_get(cubes[0],0));</div>
-<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span> inp=cpl_imagelist_get_size(cubes[0]);</div>
-<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span> </div>
-<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span> </div>
-<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span> sky_lx=cpl_image_get_size_x(cpl_imagelist_get(sky_cube,0));</div>
-<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span> sky_ly=cpl_image_get_size_y(cpl_imagelist_get(sky_cube,0));</div>
-<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span> <span class="keywordflow">if</span> ( nc <= 0 ) {</div>
-<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"wrong number of data cubes in list!"</span>) ;</div>
-<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span> }</div>
-<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span> </div>
-<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span> cubes_sky = (cpl_imagelist**) cpl_calloc (nc, <span class="keyword">sizeof</span> (cpl_imagelist*)) ;</div>
-<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span> <span class="keywordflow">for</span>(z=0;z< inp; z++) {</div>
-<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span> sky_img=cpl_imagelist_get(sky_cube,z);</div>
-<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span> p_sky_data=cpl_image_get_data_float(sky_img);</div>
-<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span> <span class="keywordflow">for</span>(y=0;y< ily; y++) {</div>
-<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span> <span class="keywordflow">for</span>(x=0;x< ilx; x++) {</div>
-<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span> <span class="comment">/* here we start to do a k-s clipping */</span></div>
-<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span> msk=cpl_vector_new(nc);</div>
-<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span> <span class="keywordflow">for</span> (i=0;i<nc;i++) {</div>
-<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span> cpl_vector_set(msk,i,1);</div>
-<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span> }</div>
-<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span> nclip=0;</div>
-<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span> <span class="keywordflow">for</span> (ks=0;ks<nc;ks++) {</div>
-<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span> sig=0;</div>
-<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span> med=0;</div>
-<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span> ovr=0;</div>
-<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span> val=cpl_vector_new(nc-nclip);</div>
-<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span> </div>
-<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span> <span class="keywordflow">for</span> ( i = 0 ; i < nc ; i++ ) {</div>
-<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span> i_img=cpl_imagelist_get(cubes[i],z);</div>
-<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span> <span class="keywordflow">if</span> ((!isnan(pidata[x+y*ilx])) &&</div>
-<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span> (cpl_vector_get(msk,i) != 0) ) {</div>
-<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span> cpl_vector_set(val,ovr,(<span class="keywordtype">double</span>)pidata[x+y*ilx]);</div>
-<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span> ovr++;</div>
-<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span> }</div>
-<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span> }</div>
-<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span> </div>
-<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span> <span class="keywordflow">if</span>(ovr>0) {</div>
-<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span> avg=cpl_vector_get_mean(val);</div>
-<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span> med=cpl_vector_get_median_const(val);</div>
-<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span> <span class="keywordflow">if</span>(ovr>1) {</div>
-<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span> sig=cpl_vector_get_stdev(val);</div>
-<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span> sig=0;</div>
-<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span> }</div>
-<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span> avg=cpl_vector_get(val,0);</div>
-<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span> med=avg;</div>
-<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span> sig=0;</div>
-<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span> }</div>
-<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span> </div>
-<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span> cpl_vector_delete(val);</div>
-<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span> <span class="keywordflow">for</span> ( i = 0 ; i < nc ; i++ ) {</div>
-<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span> i_img=cpl_imagelist_get(cubes[i],z);</div>
-<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span> pidata=cpl_image_get_data_float(i_img);</div>
-<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span> <span class="comment">/* Do k-s clipping at each pixel */</span></div>
-<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span> <span class="keywordflow">if</span> ((!isnan(pidata[x+y*ilx])) &&</div>
-<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span> (cpl_vector_get(msk,i) != 0)) {</div>
-<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span> <span class="keywordflow">if</span>(abs((pidata[x+y*ilx]-med))> k*sig) {</div>
-<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span> cpl_vector_set(msk,i,0);</div>
-<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span> nclip++;</div>
-<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span> }</div>
-<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span> }</div>
-<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span> }</div>
-<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span> }<span class="comment">/* end of k-s clipping */</span></div>
-<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span> msk_sum=0;</div>
-<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span> val_msk_sum=0;</div>
-<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span> <span class="keywordflow">for</span> ( i = 0 ; i < nc ; i++ ) {</div>
-<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span> <span class="comment">/* computes sky at each point */</span></div>
-<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span> <span class="keywordflow">if</span> (!isnan(pidata[x+y*ilx])) {</div>
-<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span> msk_sum+=cpl_vector_get(msk,i);</div>
-<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span> val_msk_sum+=pidata[x+y*ilx]*</div>
-<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span> cpl_vector_get(msk,i);</div>
-<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span> }</div>
-<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span> }</div>
-<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span> p_sky_data[x+y*sky_lx]=val_msk_sum/msk_sum;</div>
-<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span> cpl_vector_delete(msk);</div>
-<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span> } <span class="comment">/* end loop over x */</span></div>
-<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span> } <span class="comment">/* end loop over y */</span></div>
-<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span> } <span class="comment">/* end loop over z */</span></div>
-<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span> <span class="keywordflow">for</span> ( i = 0 ; i < nc ; i++ ) {</div>
-<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span> cubes_sky[i]=cpl_imagelist_duplicate(cubes[i]);</div>
-<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span> <span class="comment">/* subtract the variable clean sky */</span></div>
-<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span> cpl_imagelist_subtract(cubes_sky[i],sky_cube);</div>
-<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span> </div>
-<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span> }</div>
-<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span> </div>
-<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span> </div>
-<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span> <span class="keywordflow">return</span> cubes_sky;</div>
-<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span> }</div>
-<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span> </div>
-<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span> cpl_imagelist** sinfo_new_sinfoni_correct_sky2(cpl_imagelist** cubes,</div>
-<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nc,</div>
-<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span> cpl_imagelist* sky_cube,</div>
-<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span> cpl_imagelist* med_cube,</div>
-<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span> cpl_imagelist* msk_cube,</div>
-<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span> cpl_imagelist* avg_cube,</div>
-<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span> cpl_imagelist* sig_cube,</div>
-<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span> cpl_imagelist* ovr_cube)</div>
-<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span> {</div>
-<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span> cpl_imagelist** cubes_sky=NULL;</div>
-<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span> <span class="keywordtype">int</span> x=0;</div>
-<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span> <span class="keywordtype">int</span> y=0;</div>
-<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span> <span class="keywordtype">int</span> z=0;</div>
-<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span> <span class="keywordtype">float</span> k=0.5;</div>
-<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span> <span class="keywordtype">int</span> ovr=0;</div>
-<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span> <span class="keywordtype">int</span> ks=0;</div>
-<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span> <span class="keywordtype">int</span> nclip=0;</div>
-<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span> <span class="keywordtype">double</span> med=0;</div>
-<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span> <span class="keywordtype">double</span> avg=0;</div>
-<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span> <span class="keywordtype">double</span> sig=0;</div>
-<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span> <span class="keywordtype">int</span> msk_sum=0;</div>
-<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span> <span class="keywordtype">double</span> val_msk_sum=0;</div>
-<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span> cpl_vector* val=NULL;</div>
-<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span> cpl_vector* msk=NULL;</div>
-<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span> </div>
-<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span> <span class="keywordtype">int</span> inp=0;</div>
-<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span> </div>
-<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span> <span class="keywordtype">int</span> ovr_lx=0;</div>
-<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span> <span class="keywordtype">int</span> msk_lx=0;</div>
-<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span> <span class="keywordtype">int</span> avg_lx=0;</div>
-<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span> <span class="keywordtype">int</span> sig_lx=0;</div>
-<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span> <span class="keywordtype">int</span> sky_lx=0;</div>
-<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span> <span class="keywordtype">int</span> med_lx=0;</div>
-<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span> </div>
-<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span> </div>
-<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span> <span class="keywordtype">float</span>* p_ovr_data=NULL;</div>
-<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span> <span class="keywordtype">float</span>* p_msk_data=NULL;</div>
-<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span> <span class="keywordtype">float</span>* p_avg_data=NULL;</div>
-<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span> <span class="keywordtype">float</span>* p_sig_data=NULL;</div>
-<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span> <span class="keywordtype">float</span>* p_sky_data=NULL;</div>
-<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span> <span class="keywordtype">float</span>* p_med_data=NULL;</div>
-<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span> </div>
-<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span> </div>
-<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span> <span class="keywordflow">if</span> ( cubes == NULL ) {</div>
-<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no cube list given!"</span>) ;</div>
-<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span> }</div>
-<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span> </div>
-<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span> ilx=cpl_image_get_size_x(cpl_imagelist_get(cubes[0],0));</div>
-<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span> ily=cpl_image_get_size_y(cpl_imagelist_get(cubes[0],0));</div>
-<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span> inp=cpl_imagelist_get_size(cubes[0]);</div>
-<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span> </div>
-<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span> <span class="keywordflow">if</span> ( nc <= 0 ) {</div>
-<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"wrong number of data cubes in list!"</span>) ;</div>
-<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span> }</div>
-<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span> </div>
-<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span> cubes_sky = (cpl_imagelist**) cpl_calloc (nc, <span class="keyword">sizeof</span> (cpl_imagelist*)) ;</div>
-<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span> </div>
-<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span> ovr_lx=ilx;</div>
-<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span> msk_lx=ilx;</div>
-<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span> avg_lx=ilx;</div>
-<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span> sig_lx=ilx;</div>
-<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span> sky_lx=ilx;</div>
-<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span> med_lx=ilx;</div>
-<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span> </div>
-<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span> <span class="keywordflow">for</span>(z=0;z< inp; z++) {</div>
-<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span> p_ovr_data=cpl_image_get_data_float(cpl_imagelist_get(ovr_cube,z));</div>
-<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span> p_msk_data=cpl_image_get_data_float(cpl_imagelist_get(msk_cube,z));</div>
-<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span> p_avg_data=cpl_image_get_data_float(cpl_imagelist_get(avg_cube,z));</div>
-<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span> p_sig_data=cpl_image_get_data_float(cpl_imagelist_get(sig_cube,z));</div>
-<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span> p_sky_data=cpl_image_get_data_float(cpl_imagelist_get(sky_cube,z));</div>
-<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span> p_med_data=cpl_image_get_data_float(cpl_imagelist_get(med_cube,z));</div>
-<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span> </div>
-<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span> </div>
-<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span> <span class="keywordflow">for</span>(y=0;y< ily; y++) {</div>
-<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span> <span class="keywordflow">for</span>(x=0;x< ilx; x++) {</div>
-<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span> <span class="comment">/* here we start to do a k-s clipping */</span></div>
-<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span> msk=cpl_vector_new(nc);</div>
-<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span> <span class="keywordflow">for</span> (i=0;i<nc;i++) {</div>
-<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span> cpl_vector_set(msk,i,1);</div>
-<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span> }</div>
-<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span> p_ovr_data[x+y*ovr_lx]=nc;</div>
-<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span> p_msk_data[x+y*msk_lx]=nc;</div>
-<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span> nclip=0;</div>
-<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span> <span class="keywordflow">for</span> (ks=0;ks<nc;ks++) {</div>
-<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span> sig=0;</div>
-<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span> med=0;</div>
-<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span> ovr=0;</div>
-<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span> val=cpl_vector_new(nc-nclip);</div>
-<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span> </div>
-<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span> <span class="keywordflow">for</span> ( i = 0 ; i < nc ; i++ ) {</div>
-<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span> pidata=cpl_image_get_data_float(cpl_imagelist_get(cubes[i],z));</div>
-<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span> <span class="keywordflow">if</span> ((!isnan(pidata[x+y*ilx])) &&</div>
-<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span> (cpl_vector_get(msk,i) != 0) ) {</div>
-<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span> cpl_vector_set(val,ovr,(<span class="keywordtype">double</span>)pidata[x+y*ilx]);</div>
-<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span> ovr++;</div>
-<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span> }</div>
-<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span> }</div>
-<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span> </div>
-<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span> <span class="keywordflow">if</span>(ovr>1) {</div>
-<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span> avg=cpl_vector_get_mean(val);</div>
-<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span> med=cpl_vector_get_median_const(val);</div>
-<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span> sig=cpl_vector_get_stdev(val);</div>
-<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span> avg=cpl_vector_get(val,0);</div>
-<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span> med=avg;</div>
-<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span> sig=0;</div>
-<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span> }</div>
-<div class="line"><a name="l01656"></a><span class="lineno"> 1656</span> </div>
-<div class="line"><a name="l01657"></a><span class="lineno"> 1657</span> p_med_data[x+y*med_lx]=med;</div>
-<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span> p_avg_data[x+y*avg_lx]=avg;</div>
-<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span> p_sig_data[x+y*sig_lx]=sig;</div>
-<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span> cpl_vector_delete(val);</div>
-<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span> <span class="keywordflow">for</span> ( i = 0 ; i < nc ; i++ ) {</div>
-<div class="line"><a name="l01662"></a><span class="lineno"> 1662</span> pidata=cpl_image_get_data_float(cpl_imagelist_get(cubes[i],z));</div>
-<div class="line"><a name="l01663"></a><span class="lineno"> 1663</span> <span class="comment">/* Do k-s clipping at each pixel */</span></div>
-<div class="line"><a name="l01664"></a><span class="lineno"> 1664</span> <span class="keywordflow">if</span> ((!isnan(pidata[x+y*ilx])) &&</div>
-<div class="line"><a name="l01665"></a><span class="lineno"> 1665</span> (cpl_vector_get(msk,i) != 0)) {</div>
-<div class="line"><a name="l01666"></a><span class="lineno"> 1666</span> <span class="keywordflow">if</span>(abs((pidata[x+y*ilx]-med))> k*sig) {</div>
-<div class="line"><a name="l01667"></a><span class="lineno"> 1667</span> <span class="comment">/* pidata[x+y*ilx]=0; */</span></div>
-<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span> p_msk_data[x+y*msk_lx]-=1;</div>
-<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span> cpl_vector_set(msk,i,0);</div>
-<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span> nclip++;</div>
-<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span> }</div>
-<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span> }</div>
-<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span> }</div>
-<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span> }<span class="comment">/* end of k-s clipping */</span></div>
-<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span> msk_sum=0;</div>
-<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span> val_msk_sum=0;</div>
-<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span> <span class="keywordflow">for</span> ( i = 0 ; i < nc ; i++ ) {</div>
-<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span> pidata=cpl_image_get_data_float(cpl_imagelist_get(cubes[i],z));</div>
-<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span> <span class="comment">/* computes sky at each point */</span></div>
-<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span> <span class="keywordflow">if</span> (!isnan(pidata[x+y*ilx])) {</div>
-<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span> <span class="comment"> msk_sum+=p_msk_data[x+y*msk_lx];</span></div>
-<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span> <span class="comment"> val_msk_sum+=pidata[x+y*cubes[i]->lx]*</span></div>
-<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span> <span class="comment"> p_msk_data[x+y*msk_lx];</span></div>
-<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span> msk_sum+=cpl_vector_get(msk,i);</div>
-<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span> val_msk_sum+=pidata[x+y*ilx]*</div>
-<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span> cpl_vector_get(msk,i);</div>
-<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span> }</div>
-<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span> }</div>
-<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span> p_sky_data[x+y*sky_lx]=val_msk_sum/msk_sum;</div>
-<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span> cpl_vector_delete(msk);</div>
-<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span> } <span class="comment">/* end loop over x */</span></div>
-<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span> } <span class="comment">/* end loop over y */</span></div>
-<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span> } <span class="comment">/* end loop over z */</span></div>
-<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span> <span class="keywordflow">for</span> ( i = 0 ; i < nc ; i++ ) {</div>
-<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span> cubes_sky[i]=cpl_imagelist_duplicate(cubes[i]);</div>
-<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span> <span class="comment">/* subtract the variable clean sky */</span></div>
-<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span> cpl_imagelist_subtract(cubes_sky[i],sky_cube);</div>
-<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span> }</div>
-<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span> </div>
-<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span> </div>
-<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span> <span class="keywordflow">return</span> cubes_sky;</div>
-<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span> }</div>
-<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span> </div>
-<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span> </div>
-<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span> sinfo_new_assign_offset(<span class="keyword">const</span> <span class="keywordtype">int</span> n,</div>
-<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name,</div>
-<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span> <span class="keywordtype">float</span>* offsetx,</div>
-<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span> <span class="keywordtype">float</span>* offsety,</div>
-<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span> <span class="keyword">const</span> <span class="keywordtype">float</span> ref_offx,</div>
-<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span> <span class="keyword">const</span> <span class="keywordtype">float</span> ref_offy)</div>
-<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span> {</div>
-<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span> </div>
-<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span> <span class="keywordtype">float</span> offx=0;</div>
-<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span> <span class="keywordtype">float</span> offy=0;</div>
-<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span> <span class="keywordtype">double</span> mjd_obs=0;</div>
-<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span> <span class="comment"> double pixelscale=0;</span></div>
-<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span> <span class="comment"> double angle=0;</span></div>
-<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span> <span class="comment"> double radangle=0;</span></div>
-<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span> <span class="comment"> double cd1_1=0;</span></div>
-<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span> <span class="comment"> double cd1_2=0;</span></div>
-<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span> <span class="comment"> double cd2_1=0;</span></div>
-<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span> <span class="comment"> double cd2_2=0;</span></div>
-<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span> <span class="comment"> double ra=0;</span></div>
-<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span> <span class="comment"> double dec=0;</span></div>
-<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span> </div>
-<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span> cpl_propertylist * plist=NULL;</div>
-<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Assign offsets"</span>);</div>
-<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span> </div>
-<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span> <span class="keywordflow">if</span> ((cpl_error_code)((plist = cpl_propertylist_load(name, 0)) == NULL)) {</div>
-<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from reference frame %s"</span>,name);</div>
-<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l01749"></a><span class="lineno"> 1749</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01750"></a><span class="lineno"> 1750</span> }</div>
-<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span> </div>
-<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span> offx = sinfo_pfits_get_cumoffsetx(plist) - ref_offx ; <span class="comment">/* was - */</span></div>
-<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">" could not read fits header keyword cummoffsetx!"</span>) ;</div>
-<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">" Set relative offset to 0 - %f!"</span>,ref_offx) ;</div>
-<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span> offx = - ref_offx;</div>
-<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span> cpl_error_reset();</div>
-<div class="line"><a name="l01758"></a><span class="lineno"> 1758</span> <span class="comment">/* return -1 ; */</span></div>
-<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span> }</div>
-<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span> </div>
-<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span> offy = sinfo_pfits_get_cumoffsety(plist) - ref_offy ; <span class="comment">/* was - */</span></div>
-<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">" could not read fits header keyword! cumoffsety"</span>) ;</div>
-<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">" Set relative offset to 0 - %f!"</span>,ref_offx) ;</div>
-<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span> offy = - ref_offy;</div>
-<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span> cpl_error_reset();</div>
-<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span> <span class="comment">/* return -1 ; */</span></div>
-<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span> }</div>
-<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"offx=%f offy=%f"</span>,offx,offy);</div>
-<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span> </div>
-<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_MJD_OBS)) {</div>
-<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span> mjd_obs=cpl_propertylist_get_double(plist, KEY_NAME_MJD_OBS);</div>
-<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01774"></a><span class="lineno"> 1774</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"keyword %s does not exist"</span>,KEY_NAME_MJD_OBS);</div>
-<div class="line"><a name="l01775"></a><span class="lineno"> 1775</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span> }</div>
-<div class="line"><a name="l01778"></a><span class="lineno"> 1778</span> </div>
-<div class="line"><a name="l01779"></a><span class="lineno"> 1779</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span> </div>
-<div class="line"><a name="l01781"></a><span class="lineno"> 1781</span> <span class="keywordflow">if</span> (mjd_obs > 53825. ) {</div>
-<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span> <span class="comment">/* April 1st 2006 */</span></div>
-<div class="line"><a name="l01783"></a><span class="lineno"> 1783</span> <span class="comment">//sinfo_msg("New cumoffset setting convention");</span></div>
-<div class="line"><a name="l01784"></a><span class="lineno"> 1784</span> sinfo_new_array_set_value(offsetx,2*offx,n);</div>
-<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span> sinfo_new_array_set_value(offsety,2*offy,n);</div>
-<div class="line"><a name="l01786"></a><span class="lineno"> 1786</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((mjd_obs > 53421.58210082 ) && (mjd_obs <= 53825.)){</div>
-<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span> <span class="comment">/* after detector's upgrade */</span></div>
-<div class="line"><a name="l01788"></a><span class="lineno"> 1788</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01789"></a><span class="lineno"> 1789</span> <span class="comment"> sinfo_new_array_set_value(offsetx,-offx*2,n);</span></div>
-<div class="line"><a name="l01790"></a><span class="lineno"> 1790</span> <span class="comment"> sinfo_new_array_set_value(offsety,+offy*2,n);</span></div>
-<div class="line"><a name="l01791"></a><span class="lineno"> 1791</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span> sinfo_new_array_set_value(offsetx,-2*offx,n);</div>
-<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span> sinfo_new_array_set_value(offsety,2*offy,n);</div>
-<div class="line"><a name="l01794"></a><span class="lineno"> 1794</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01795"></a><span class="lineno"> 1795</span> <span class="comment">/* before detector's upgrade */</span></div>
-<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span> <span class="comment"> sinfo_new_array_set_value(offsetx,+offx*2,n);</span></div>
-<div class="line"><a name="l01798"></a><span class="lineno"> 1798</span> <span class="comment"> sinfo_new_array_set_value(offsety,-offy*2,n);</span></div>
-<div class="line"><a name="l01799"></a><span class="lineno"> 1799</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span> sinfo_new_array_set_value(offsetx,2*offx,n);</div>
-<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span> sinfo_new_array_set_value(offsety,-2*offy,n);</div>
-<div class="line"><a name="l01802"></a><span class="lineno"> 1802</span> }</div>
-<div class="line"><a name="l01803"></a><span class="lineno"> 1803</span> </div>
-<div class="line"><a name="l01804"></a><span class="lineno"> 1804</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span> </div>
-<div class="line"><a name="l01806"></a><span class="lineno"> 1806</span> </div>
-<div class="line"><a name="l01807"></a><span class="lineno"> 1807</span> }</div>
-<div class="line"><a name="l01808"></a><span class="lineno"> 1808</span> </div>
-<div class="line"><a name="l01809"></a><span class="lineno"> 1809</span> </div>
-<div class="line"><a name="l01810"></a><span class="lineno"> 1810</span> </div>
-<div class="line"><a name="l01811"></a><span class="lineno"> 1811</span> </div>
-<div class="line"><a name="l01812"></a><span class="lineno"> 1812</span> </div>
-<div class="line"><a name="l01825"></a><span class="lineno"> 1825</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01826"></a><span class="lineno"> 1826</span> sinfo_new_assign_offset2(<span class="keyword">const</span> <span class="keywordtype">int</span> n,</div>
-<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name,</div>
-<div class="line"><a name="l01828"></a><span class="lineno"> 1828</span> <span class="keywordtype">float</span>* offsetx,</div>
-<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span> <span class="keywordtype">float</span>* offsety,</div>
-<div class="line"><a name="l01830"></a><span class="lineno"> 1830</span> <span class="keyword">const</span> <span class="keywordtype">float</span> ref_offx,</div>
-<div class="line"><a name="l01831"></a><span class="lineno"> 1831</span> <span class="keyword">const</span> <span class="keywordtype">float</span> ref_offy)</div>
-<div class="line"><a name="l01832"></a><span class="lineno"> 1832</span> {</div>
-<div class="line"><a name="l01833"></a><span class="lineno"> 1833</span> </div>
-<div class="line"><a name="l01834"></a><span class="lineno"> 1834</span> <span class="keywordtype">float</span> offx=0;</div>
-<div class="line"><a name="l01835"></a><span class="lineno"> 1835</span> <span class="keywordtype">float</span> offy=0;</div>
-<div class="line"><a name="l01836"></a><span class="lineno"> 1836</span> <span class="keywordtype">double</span> mjd_obs=0;</div>
-<div class="line"><a name="l01837"></a><span class="lineno"> 1837</span> </div>
-<div class="line"><a name="l01838"></a><span class="lineno"> 1838</span> cpl_propertylist * plist=NULL;</div>
-<div class="line"><a name="l01839"></a><span class="lineno"> 1839</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Assign offsets as set by user"</span>);</div>
-<div class="line"><a name="l01840"></a><span class="lineno"> 1840</span> offx = offsetx[n] - ref_offx ; <span class="comment">/* was - */</span></div>
-<div class="line"><a name="l01841"></a><span class="lineno"> 1841</span> offy = offsety[n] - ref_offy ; <span class="comment">/* was - */</span></div>
-<div class="line"><a name="l01842"></a><span class="lineno"> 1842</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"offx=%f offy=%f"</span>,offx,offy);</div>
-<div class="line"><a name="l01843"></a><span class="lineno"> 1843</span> </div>
-<div class="line"><a name="l01844"></a><span class="lineno"> 1844</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Assign offsets"</span>);</div>
-<div class="line"><a name="l01845"></a><span class="lineno"> 1845</span> </div>
-<div class="line"><a name="l01846"></a><span class="lineno"> 1846</span> <span class="keywordflow">if</span> ((cpl_error_code)((plist = cpl_propertylist_load(name, 0)) == NULL)) {</div>
-<div class="line"><a name="l01847"></a><span class="lineno"> 1847</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from reference frame %s"</span>,name);</div>
-<div class="line"><a name="l01848"></a><span class="lineno"> 1848</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l01849"></a><span class="lineno"> 1849</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01850"></a><span class="lineno"> 1850</span> }</div>
-<div class="line"><a name="l01851"></a><span class="lineno"> 1851</span> </div>
-<div class="line"><a name="l01852"></a><span class="lineno"> 1852</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_MJD_OBS)) {</div>
-<div class="line"><a name="l01853"></a><span class="lineno"> 1853</span> mjd_obs=cpl_propertylist_get_double(plist, KEY_NAME_MJD_OBS);</div>
-<div class="line"><a name="l01854"></a><span class="lineno"> 1854</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01855"></a><span class="lineno"> 1855</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"keyword %s does not exist"</span>,KEY_NAME_MJD_OBS);</div>
-<div class="line"><a name="l01856"></a><span class="lineno"> 1856</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l01857"></a><span class="lineno"> 1857</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l01858"></a><span class="lineno"> 1858</span> }</div>
-<div class="line"><a name="l01859"></a><span class="lineno"> 1859</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l01860"></a><span class="lineno"> 1860</span> </div>
-<div class="line"><a name="l01861"></a><span class="lineno"> 1861</span> <span class="comment">//sinfo_new_array_set_value(offsetx,-2*offx,n);</span></div>
-<div class="line"><a name="l01862"></a><span class="lineno"> 1862</span> <span class="comment">//sinfo_new_array_set_value(offsety,2*offy,n);</span></div>
-<div class="line"><a name="l01863"></a><span class="lineno"> 1863</span> </div>
-<div class="line"><a name="l01864"></a><span class="lineno"> 1864</span> <span class="keywordflow">if</span> (mjd_obs > 53825. ) {</div>
-<div class="line"><a name="l01865"></a><span class="lineno"> 1865</span> <span class="comment">/* April 1st 2006 */</span></div>
-<div class="line"><a name="l01866"></a><span class="lineno"> 1866</span> <span class="comment">//sinfo_msg("New cumoffset setting convention");</span></div>
-<div class="line"><a name="l01867"></a><span class="lineno"> 1867</span> sinfo_new_array_set_value(offsetx,2*offx,n);</div>
-<div class="line"><a name="l01868"></a><span class="lineno"> 1868</span> sinfo_new_array_set_value(offsety,2*offy,n);</div>
-<div class="line"><a name="l01869"></a><span class="lineno"> 1869</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((mjd_obs > 53421.58210082 ) && (mjd_obs <= 53825.)){</div>
-<div class="line"><a name="l01870"></a><span class="lineno"> 1870</span> <span class="comment">/* after detector's upgrade */</span></div>
-<div class="line"><a name="l01871"></a><span class="lineno"> 1871</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01872"></a><span class="lineno"> 1872</span> <span class="comment"> sinfo_new_array_set_value(offsetx,-offx*2,n);</span></div>
-<div class="line"><a name="l01873"></a><span class="lineno"> 1873</span> <span class="comment"> sinfo_new_array_set_value(offsety,+offy*2,n);</span></div>
-<div class="line"><a name="l01874"></a><span class="lineno"> 1874</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01875"></a><span class="lineno"> 1875</span> sinfo_new_array_set_value(offsetx,-2*offx,n);</div>
-<div class="line"><a name="l01876"></a><span class="lineno"> 1876</span> sinfo_new_array_set_value(offsety,2*offy,n);</div>
-<div class="line"><a name="l01877"></a><span class="lineno"> 1877</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01878"></a><span class="lineno"> 1878</span> <span class="comment">/* before detector's upgrade */</span></div>
-<div class="line"><a name="l01879"></a><span class="lineno"> 1879</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01880"></a><span class="lineno"> 1880</span> <span class="comment"> sinfo_new_array_set_value(offsetx,+offx*2,n);</span></div>
-<div class="line"><a name="l01881"></a><span class="lineno"> 1881</span> <span class="comment"> sinfo_new_array_set_value(offsety,-offy*2,n);</span></div>
-<div class="line"><a name="l01882"></a><span class="lineno"> 1882</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01883"></a><span class="lineno"> 1883</span> sinfo_new_array_set_value(offsetx,2*offx,n);</div>
-<div class="line"><a name="l01884"></a><span class="lineno"> 1884</span> sinfo_new_array_set_value(offsety,-2*offy,n);</div>
-<div class="line"><a name="l01885"></a><span class="lineno"> 1885</span> }</div>
-<div class="line"><a name="l01886"></a><span class="lineno"> 1886</span> </div>
-<div class="line"><a name="l01887"></a><span class="lineno"> 1887</span> </div>
-<div class="line"><a name="l01888"></a><span class="lineno"> 1888</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01889"></a><span class="lineno"> 1889</span> </div>
-<div class="line"><a name="l01890"></a><span class="lineno"> 1890</span> </div>
-<div class="line"><a name="l01891"></a><span class="lineno"> 1891</span> }</div>
-<div class="line"><a name="l01892"></a><span class="lineno"> 1892</span> </div>
-<div class="line"><a name="l01893"></a><span class="lineno"> 1893</span> </div>
-<div class="line"><a name="l01906"></a><span class="lineno"> 1906</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01907"></a><span class="lineno"> 1907</span> sinfo_new_object_assign_offset(<span class="keyword">const</span> <span class="keywordtype">char</span>* name,</div>
-<div class="line"><a name="l01908"></a><span class="lineno"> 1908</span> <span class="keyword">const</span> <span class="keywordtype">int</span> n,</div>
-<div class="line"><a name="l01909"></a><span class="lineno"> 1909</span> <span class="keywordtype">double</span>* ref_offx,</div>
-<div class="line"><a name="l01910"></a><span class="lineno"> 1910</span> <span class="keywordtype">double</span>* ref_offy,</div>
-<div class="line"><a name="l01911"></a><span class="lineno"> 1911</span> <span class="keywordtype">float</span>** offsetx,</div>
-<div class="line"><a name="l01912"></a><span class="lineno"> 1912</span> <span class="keywordtype">float</span>** offsety)</div>
-<div class="line"><a name="l01913"></a><span class="lineno"> 1913</span> {</div>
-<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span> </div>
-<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span> <span class="keywordtype">float</span> offx=0;</div>
-<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span> <span class="keywordtype">float</span> offy=0;</div>
-<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span> <span class="keywordtype">double</span> mjd_obs=0;</div>
-<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span> cpl_propertylist * plist=NULL;</div>
-<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Assign offsets"</span>);</div>
-<div class="line"><a name="l01920"></a><span class="lineno"> 1920</span> </div>
-<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span> <span class="keywordflow">if</span> ((cpl_error_code)((plist = cpl_propertylist_load(name, 0)) == NULL)) {</div>
-<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"getting header from reference frame %s"</span>,name);</div>
-<div class="line"><a name="l01923"></a><span class="lineno"> 1923</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l01924"></a><span class="lineno"> 1924</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span> }</div>
-<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span> <span class="keywordflow">if</span> ( n == 0 ) {</div>
-<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span> </div>
-<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span> *ref_offx = sinfo_pfits_get_cumoffsetx(plist) ;</div>
-<div class="line"><a name="l01929"></a><span class="lineno"> 1929</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" could not read fits header keyword cummoffsetx!"</span>) ;</div>
-<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span> <span class="comment">/* return -1 ; */</span></div>
-<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span> cpl_error_reset();</div>
-<div class="line"><a name="l01933"></a><span class="lineno"> 1933</span> }</div>
-<div class="line"><a name="l01934"></a><span class="lineno"> 1934</span> </div>
-<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span> *ref_offy = sinfo_pfits_get_cumoffsety(plist) ;</div>
-<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" could not read fits header keyword! cumoffsety"</span>) ;</div>
-<div class="line"><a name="l01938"></a><span class="lineno"> 1938</span> cpl_error_reset();</div>
-<div class="line"><a name="l01939"></a><span class="lineno"> 1939</span> <span class="comment">/* return -1 ; */</span></div>
-<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span> }</div>
-<div class="line"><a name="l01941"></a><span class="lineno"> 1941</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Reference offx=%f offy=%f"</span>,*ref_offx,*ref_offy);</div>
-<div class="line"><a name="l01942"></a><span class="lineno"> 1942</span> </div>
-<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span> offx = 0. ;</div>
-<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span> offy = 0. ;</div>
-<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span> </div>
-<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span> </div>
-<div class="line"><a name="l01948"></a><span class="lineno"> 1948</span> offx = sinfo_pfits_get_cumoffsetx(plist) - *ref_offx ; <span class="comment">/* was - */</span></div>
-<div class="line"><a name="l01949"></a><span class="lineno"> 1949</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l01950"></a><span class="lineno"> 1950</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" could not read fits header keyword cummoffsetx!"</span>) ;</div>
-<div class="line"><a name="l01951"></a><span class="lineno"> 1951</span> cpl_error_reset();</div>
-<div class="line"><a name="l01952"></a><span class="lineno"> 1952</span> <span class="comment">/* return -1 ; */</span></div>
-<div class="line"><a name="l01953"></a><span class="lineno"> 1953</span> }</div>
-<div class="line"><a name="l01954"></a><span class="lineno"> 1954</span> </div>
-<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span> offy = sinfo_pfits_get_cumoffsety(plist) - *ref_offy ; <span class="comment">/* was - */</span></div>
-<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l01957"></a><span class="lineno"> 1957</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" could not read fits header keyword! cumoffsety"</span>) ;</div>
-<div class="line"><a name="l01958"></a><span class="lineno"> 1958</span> <span class="comment">/* return -1 ; */</span></div>
-<div class="line"><a name="l01959"></a><span class="lineno"> 1959</span> cpl_error_reset();</div>
-<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span> }</div>
-<div class="line"><a name="l01961"></a><span class="lineno"> 1961</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"offx=%f offy=%f"</span>,offx,offy);</div>
-<div class="line"><a name="l01962"></a><span class="lineno"> 1962</span> }</div>
-<div class="line"><a name="l01963"></a><span class="lineno"> 1963</span> </div>
-<div class="line"><a name="l01964"></a><span class="lineno"> 1964</span> </div>
-<div class="line"><a name="l01965"></a><span class="lineno"> 1965</span> <span class="comment">/* rotate the coordinates</span></div>
-<div class="line"><a name="l01966"></a><span class="lineno"> 1966</span> <span class="comment"> offx_rot = cd1_1 * offx + cd2_1 * offy ;</span></div>
-<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span> <span class="comment"> offy_rot = cd1_2 * offx + cd2_2 * offy ;</span></div>
-<div class="line"><a name="l01968"></a><span class="lineno"> 1968</span> <span class="comment"> convert the coordinates to pixel units</span></div>
-<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span> <span class="comment"> offx_rot_pix = offx_rot / pixelscale ;</span></div>
-<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span> <span class="comment"> offy_rot_pix = offy_rot / pixelscale ;</span></div>
-<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span> <span class="comment"> offsetx[i] = offx_rot_pix ;</span></div>
-<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span> <span class="comment"> offsety[i] = offy_rot_pix ;</span></div>
-<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span> </div>
-<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span> </div>
-<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_MJD_OBS)) {</div>
-<div class="line"><a name="l01977"></a><span class="lineno"> 1977</span> mjd_obs=cpl_propertylist_get_double(plist, KEY_NAME_MJD_OBS);</div>
-<div class="line"><a name="l01978"></a><span class="lineno"> 1978</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01979"></a><span class="lineno"> 1979</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"keyword %s does not exist"</span>,KEY_NAME_MJD_OBS);</div>
-<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l01981"></a><span class="lineno"> 1981</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l01982"></a><span class="lineno"> 1982</span> }</div>
-<div class="line"><a name="l01983"></a><span class="lineno"> 1983</span> </div>
-<div class="line"><a name="l01984"></a><span class="lineno"> 1984</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l01985"></a><span class="lineno"> 1985</span> </div>
-<div class="line"><a name="l01986"></a><span class="lineno"> 1986</span> <span class="keywordflow">if</span> (mjd_obs > 53825. ) {</div>
-<div class="line"><a name="l01987"></a><span class="lineno"> 1987</span> <span class="comment">/* April 1st 2006 */</span></div>
-<div class="line"><a name="l01988"></a><span class="lineno"> 1988</span> <span class="comment">//sinfo_msg("New cumoffset setting convention");</span></div>
-<div class="line"><a name="l01989"></a><span class="lineno"> 1989</span> sinfo_new_array_set_value(*offsetx,2*offx,n);</div>
-<div class="line"><a name="l01990"></a><span class="lineno"> 1990</span> sinfo_new_array_set_value(*offsety,2*offy,n);</div>
-<div class="line"><a name="l01991"></a><span class="lineno"> 1991</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((mjd_obs > 53421.58210082 ) && (mjd_obs <= 53825.)){</div>
-<div class="line"><a name="l01992"></a><span class="lineno"> 1992</span> <span class="comment">/* after detector's upgrade */</span></div>
-<div class="line"><a name="l01993"></a><span class="lineno"> 1993</span> sinfo_new_array_set_value(*offsetx,-offx*2,n);</div>
-<div class="line"><a name="l01994"></a><span class="lineno"> 1994</span> sinfo_new_array_set_value(*offsety,+offy*2,n);</div>
-<div class="line"><a name="l01995"></a><span class="lineno"> 1995</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01996"></a><span class="lineno"> 1996</span> <span class="comment">/* before detector's upgrade */</span></div>
-<div class="line"><a name="l01997"></a><span class="lineno"> 1997</span> sinfo_new_array_set_value(*offsetx,+offx*2,n);</div>
-<div class="line"><a name="l01998"></a><span class="lineno"> 1998</span> sinfo_new_array_set_value(*offsety,-offy*2,n);</div>
-<div class="line"><a name="l01999"></a><span class="lineno"> 1999</span> }</div>
-<div class="line"><a name="l02000"></a><span class="lineno"> 2000</span> </div>
-<div class="line"><a name="l02001"></a><span class="lineno"> 2001</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02002"></a><span class="lineno"> 2002</span> }</div>
-<div class="line"><a name="l02003"></a><span class="lineno"> 2003</span> </div>
-<div class="line"><a name="l02015"></a><span class="lineno"> 2015</span> cpl_imagelist*</div>
-<div class="line"><a name="l02016"></a><span class="lineno"> 2016</span> sinfo_new_fine_tune(cpl_imagelist* cube,</div>
-<div class="line"><a name="l02017"></a><span class="lineno"> 2017</span> <span class="keywordtype">float</span>* correct_dist,</div>
-<div class="line"><a name="l02018"></a><span class="lineno"> 2018</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* method,</div>
-<div class="line"><a name="l02019"></a><span class="lineno"> 2019</span> <span class="keyword">const</span> <span class="keywordtype">int</span> order,</div>
-<div class="line"><a name="l02020"></a><span class="lineno"> 2020</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nslits) {</div>
-<div class="line"><a name="l02021"></a><span class="lineno"> 2021</span> <span class="keywordtype">int</span> i =0;</div>
-<div class="line"><a name="l02022"></a><span class="lineno"> 2022</span> cpl_imagelist* outcube2=NULL;</div>
-<div class="line"><a name="l02023"></a><span class="lineno"> 2023</span> <span class="keywordtype">float</span>* neg_dist=NULL;</div>
-<div class="line"><a name="l02024"></a><span class="lineno"> 2024</span> sinfo_msg(<span class="stringliteral">"Finetuning, method=%s"</span>,method);</div>
-<div class="line"><a name="l02025"></a><span class="lineno"> 2025</span> </div>
-<div class="line"><a name="l02026"></a><span class="lineno"> 2026</span> <span class="keywordflow">if</span> (strcmp(method,<span class="stringliteral">"P"</span>)==0)</div>
-<div class="line"><a name="l02027"></a><span class="lineno"> 2027</span> {</div>
-<div class="line"><a name="l02028"></a><span class="lineno"> 2028</span> outcube2 = sinfo_new_fine_tune_cube( cube, correct_dist, order ) ;</div>
-<div class="line"><a name="l02029"></a><span class="lineno"> 2029</span> <span class="keywordflow">if</span> (outcube2 == NULL)</div>
-<div class="line"><a name="l02030"></a><span class="lineno"> 2030</span> {</div>
-<div class="line"><a name="l02031"></a><span class="lineno"> 2031</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" could not fine tune the data cube\n"</span>) ;</div>
-<div class="line"><a name="l02032"></a><span class="lineno"> 2032</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02033"></a><span class="lineno"> 2033</span> }</div>
-<div class="line"><a name="l02034"></a><span class="lineno"> 2034</span> }</div>
-<div class="line"><a name="l02035"></a><span class="lineno"> 2035</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(method,<span class="stringliteral">"F"</span>)==0)</div>
-<div class="line"><a name="l02036"></a><span class="lineno"> 2036</span> {</div>
-<div class="line"><a name="l02037"></a><span class="lineno"> 2037</span> neg_dist=cpl_calloc(nslits,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>));</div>
-<div class="line"><a name="l02038"></a><span class="lineno"> 2038</span> <span class="keywordflow">for</span> ( i = 0 ; i < nslits ; i++ )</div>
-<div class="line"><a name="l02039"></a><span class="lineno"> 2039</span> {</div>
-<div class="line"><a name="l02040"></a><span class="lineno"> 2040</span> neg_dist[i] = -correct_dist[i] ;</div>
-<div class="line"><a name="l02041"></a><span class="lineno"> 2041</span> }</div>
-<div class="line"><a name="l02042"></a><span class="lineno"> 2042</span> outcube2 = sinfo_new_fine_tune_cube_by_FFT( cube, neg_dist ) ;</div>
-<div class="line"><a name="l02043"></a><span class="lineno"> 2043</span> cpl_free(neg_dist);</div>
-<div class="line"><a name="l02044"></a><span class="lineno"> 2044</span> <span class="keywordflow">if</span> ( outcube2 == NULL )</div>
-<div class="line"><a name="l02045"></a><span class="lineno"> 2045</span> {</div>
-<div class="line"><a name="l02046"></a><span class="lineno"> 2046</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" could not fine tune the data cube\n"</span>) ;</div>
-<div class="line"><a name="l02047"></a><span class="lineno"> 2047</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02048"></a><span class="lineno"> 2048</span> }</div>
-<div class="line"><a name="l02049"></a><span class="lineno"> 2049</span> }</div>
-<div class="line"><a name="l02050"></a><span class="lineno"> 2050</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(method,<span class="stringliteral">"S"</span>)==0)</div>
-<div class="line"><a name="l02051"></a><span class="lineno"> 2051</span> {</div>
-<div class="line"><a name="l02052"></a><span class="lineno"> 2052</span> outcube2 = sinfo_new_fine_tune_cube_by_spline( cube, correct_dist ) ;</div>
-<div class="line"><a name="l02053"></a><span class="lineno"> 2053</span> <span class="keywordflow">if</span> ( outcube2 == NULL )</div>
-<div class="line"><a name="l02054"></a><span class="lineno"> 2054</span> {</div>
-<div class="line"><a name="l02055"></a><span class="lineno"> 2055</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" could not fine tune the data cube\n"</span>) ;</div>
-<div class="line"><a name="l02056"></a><span class="lineno"> 2056</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02057"></a><span class="lineno"> 2057</span> }</div>
-<div class="line"><a name="l02058"></a><span class="lineno"> 2058</span> }</div>
-<div class="line"><a name="l02059"></a><span class="lineno"> 2059</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02060"></a><span class="lineno"> 2060</span> {</div>
-<div class="line"><a name="l02061"></a><span class="lineno"> 2061</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" wrong method indicator given!"</span>) ;</div>
-<div class="line"><a name="l02062"></a><span class="lineno"> 2062</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02063"></a><span class="lineno"> 2063</span> }</div>
-<div class="line"><a name="l02064"></a><span class="lineno"> 2064</span> </div>
-<div class="line"><a name="l02065"></a><span class="lineno"> 2065</span> </div>
-<div class="line"><a name="l02066"></a><span class="lineno"> 2066</span> </div>
-<div class="line"><a name="l02067"></a><span class="lineno"> 2067</span> <span class="keywordflow">return</span> outcube2;</div>
-<div class="line"><a name="l02068"></a><span class="lineno"> 2068</span> </div>
-<div class="line"><a name="l02069"></a><span class="lineno"> 2069</span> }</div>
-<div class="line"><a name="l02070"></a><span class="lineno"> 2070</span> </div>
-<div class="line"><a name="l02071"></a><span class="lineno"> 2071</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02077"></a><span class="lineno"> 2077</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02078"></a><span class="lineno"> 2078</span> sinfo_band sinfo_get_associated_filter(<span class="keyword">const</span> <span class="keywordtype">char</span> * f)</div>
-<div class="line"><a name="l02079"></a><span class="lineno"> 2079</span> {</div>
-<div class="line"><a name="l02080"></a><span class="lineno"> 2080</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"J"</span>)) <span class="keywordflow">return</span> SINFO_BAND_J ;</div>
-<div class="line"><a name="l02081"></a><span class="lineno"> 2081</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"Js"</span>)) <span class="keywordflow">return</span> SINFO_BAND_JS ;</div>
-<div class="line"><a name="l02082"></a><span class="lineno"> 2082</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"Z"</span>)) <span class="keywordflow">return</span> SINFO_BAND_Z ;</div>
-<div class="line"><a name="l02083"></a><span class="lineno"> 2083</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"SZ"</span>)) <span class="keywordflow">return</span> SINFO_BAND_SZ ;</div>
-<div class="line"><a name="l02084"></a><span class="lineno"> 2084</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"SH"</span>)) <span class="keywordflow">return</span> SINFO_BAND_SH ;</div>
-<div class="line"><a name="l02085"></a><span class="lineno"> 2085</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"H"</span>)) <span class="keywordflow">return</span> SINFO_BAND_H ;</div>
-<div class="line"><a name="l02086"></a><span class="lineno"> 2086</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"Ks"</span>)) <span class="keywordflow">return</span> SINFO_BAND_KS ;</div>
-<div class="line"><a name="l02087"></a><span class="lineno"> 2087</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"K"</span>)) <span class="keywordflow">return</span> SINFO_BAND_K ;</div>
-<div class="line"><a name="l02088"></a><span class="lineno"> 2088</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"SK"</span>)) <span class="keywordflow">return</span> SINFO_BAND_SK ;</div>
-<div class="line"><a name="l02089"></a><span class="lineno"> 2089</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"L"</span>)) <span class="keywordflow">return</span> SINFO_BAND_L ;</div>
-<div class="line"><a name="l02090"></a><span class="lineno"> 2090</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"SL"</span>)) <span class="keywordflow">return</span> SINFO_BAND_SL ;</div>
-<div class="line"><a name="l02091"></a><span class="lineno"> 2091</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"M"</span>)) <span class="keywordflow">return</span> SINFO_BAND_M ;</div>
-<div class="line"><a name="l02092"></a><span class="lineno"> 2092</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"M_NB"</span>)) <span class="keywordflow">return</span> SINFO_BAND_M ;</div>
-<div class="line"><a name="l02093"></a><span class="lineno"> 2093</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_1.06"</span>)) <span class="keywordflow">return</span> SINFO_BAND_J ;</div>
-<div class="line"><a name="l02094"></a><span class="lineno"> 2094</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_1.08"</span>)) <span class="keywordflow">return</span> SINFO_BAND_J ;</div>
-<div class="line"><a name="l02095"></a><span class="lineno"> 2095</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_1.19"</span>)) <span class="keywordflow">return</span> SINFO_BAND_J ;</div>
-<div class="line"><a name="l02096"></a><span class="lineno"> 2096</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_1.21"</span>)) <span class="keywordflow">return</span> SINFO_BAND_J ;</div>
-<div class="line"><a name="l02097"></a><span class="lineno"> 2097</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_1.26"</span>)) <span class="keywordflow">return</span> SINFO_BAND_J ;</div>
-<div class="line"><a name="l02098"></a><span class="lineno"> 2098</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_1.28"</span>)) <span class="keywordflow">return</span> SINFO_BAND_J ;</div>
-<div class="line"><a name="l02099"></a><span class="lineno"> 2099</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_1.64"</span>)) <span class="keywordflow">return</span> SINFO_BAND_H ;</div>
-<div class="line"><a name="l02100"></a><span class="lineno"> 2100</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_1.71"</span>)) <span class="keywordflow">return</span> SINFO_BAND_H ;</div>
-<div class="line"><a name="l02101"></a><span class="lineno"> 2101</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_2.07"</span>)) <span class="keywordflow">return</span> SINFO_BAND_KS ;</div>
-<div class="line"><a name="l02102"></a><span class="lineno"> 2102</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_2.09"</span>)) <span class="keywordflow">return</span> SINFO_BAND_KS ;</div>
-<div class="line"><a name="l02103"></a><span class="lineno"> 2103</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_2.13"</span>)) <span class="keywordflow">return</span> SINFO_BAND_KS ;</div>
-<div class="line"><a name="l02104"></a><span class="lineno"> 2104</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_2.17"</span>)) <span class="keywordflow">return</span> SINFO_BAND_KS ;</div>
-<div class="line"><a name="l02105"></a><span class="lineno"> 2105</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_2.19"</span>)) <span class="keywordflow">return</span> SINFO_BAND_KS ;</div>
-<div class="line"><a name="l02106"></a><span class="lineno"> 2106</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_2.25"</span>)) <span class="keywordflow">return</span> SINFO_BAND_KS ;</div>
-<div class="line"><a name="l02107"></a><span class="lineno"> 2107</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_2.29"</span>)) <span class="keywordflow">return</span> SINFO_BAND_KS ;</div>
-<div class="line"><a name="l02108"></a><span class="lineno"> 2108</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_2.34"</span>)) <span class="keywordflow">return</span> SINFO_BAND_KS ;</div>
-<div class="line"><a name="l02109"></a><span class="lineno"> 2109</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_3.21"</span>)) <span class="keywordflow">return</span> SINFO_BAND_L ;</div>
-<div class="line"><a name="l02110"></a><span class="lineno"> 2110</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_3.28"</span>)) <span class="keywordflow">return</span> SINFO_BAND_L ;</div>
-<div class="line"><a name="l02111"></a><span class="lineno"> 2111</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_3.80"</span>)) <span class="keywordflow">return</span> SINFO_BAND_L ;</div>
-<div class="line"><a name="l02112"></a><span class="lineno"> 2112</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_4.07"</span>)) <span class="keywordflow">return</span> SINFO_BAND_L ;</div>
-<div class="line"><a name="l02113"></a><span class="lineno"> 2113</span> <span class="keywordflow">return</span> SINFO_BAND_UNKNOWN ;</div>
-<div class="line"><a name="l02114"></a><span class="lineno"> 2114</span> }</div>
-<div class="line"><a name="l02115"></a><span class="lineno"> 2115</span> </div>
-<div class="line"><a name="l02116"></a><span class="lineno"> 2116</span> </div>
-<div class="line"><a name="l02117"></a><span class="lineno"> 2117</span> </div>
-<div class="line"><a name="l02118"></a><span class="lineno"> 2118</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02124"></a><span class="lineno"> 2124</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l02125"></a><span class="lineno"> 2125</span> sinfo_band sinfo_get_bbfilter(<span class="keyword">const</span> <span class="keywordtype">char</span> * f)</div>
-<div class="line"><a name="l02126"></a><span class="lineno"> 2126</span> {</div>
-<div class="line"><a name="l02127"></a><span class="lineno"> 2127</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"J"</span>)) <span class="keywordflow">return</span> SINFO_BAND_J ;</div>
-<div class="line"><a name="l02128"></a><span class="lineno"> 2128</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"J+Block"</span>)) <span class="keywordflow">return</span> SINFO_BAND_J ;</div>
-<div class="line"><a name="l02129"></a><span class="lineno"> 2129</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"Js"</span>)) <span class="keywordflow">return</span> SINFO_BAND_J ;</div>
-<div class="line"><a name="l02130"></a><span class="lineno"> 2130</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"Z"</span>)) <span class="keywordflow">return</span> SINFO_BAND_J ;</div>
-<div class="line"><a name="l02131"></a><span class="lineno"> 2131</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"SZ"</span>)) <span class="keywordflow">return</span> SINFO_BAND_J ;</div>
-<div class="line"><a name="l02132"></a><span class="lineno"> 2132</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"SH"</span>)) <span class="keywordflow">return</span> SINFO_BAND_H ;</div>
-<div class="line"><a name="l02133"></a><span class="lineno"> 2133</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"H"</span>)) <span class="keywordflow">return</span> SINFO_BAND_H ;</div>
-<div class="line"><a name="l02134"></a><span class="lineno"> 2134</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"Ks"</span>)) <span class="keywordflow">return</span> SINFO_BAND_KS ;</div>
-<div class="line"><a name="l02135"></a><span class="lineno"> 2135</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"K"</span>)) <span class="keywordflow">return</span> SINFO_BAND_K ;</div>
-<div class="line"><a name="l02136"></a><span class="lineno"> 2136</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"SK"</span>)) <span class="keywordflow">return</span> SINFO_BAND_K ;</div>
-<div class="line"><a name="l02137"></a><span class="lineno"> 2137</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"L"</span>)) <span class="keywordflow">return</span> SINFO_BAND_L ;</div>
-<div class="line"><a name="l02138"></a><span class="lineno"> 2138</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"SL"</span>)) <span class="keywordflow">return</span> SINFO_BAND_L ;</div>
-<div class="line"><a name="l02139"></a><span class="lineno"> 2139</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"M"</span>)) <span class="keywordflow">return</span> SINFO_BAND_M ;</div>
-<div class="line"><a name="l02140"></a><span class="lineno"> 2140</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"M_NB"</span>)) <span class="keywordflow">return</span> SINFO_BAND_M ;</div>
-<div class="line"><a name="l02141"></a><span class="lineno"> 2141</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_1.06"</span>)) <span class="keywordflow">return</span> SINFO_BAND_J ;</div>
-<div class="line"><a name="l02142"></a><span class="lineno"> 2142</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_1.08"</span>)) <span class="keywordflow">return</span> SINFO_BAND_J ;</div>
-<div class="line"><a name="l02143"></a><span class="lineno"> 2143</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_1.19"</span>)) <span class="keywordflow">return</span> SINFO_BAND_J ;</div>
-<div class="line"><a name="l02144"></a><span class="lineno"> 2144</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_1.21"</span>)) <span class="keywordflow">return</span> SINFO_BAND_J ;</div>
-<div class="line"><a name="l02145"></a><span class="lineno"> 2145</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_1.26"</span>)) <span class="keywordflow">return</span> SINFO_BAND_J ;</div>
-<div class="line"><a name="l02146"></a><span class="lineno"> 2146</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_1.28"</span>)) <span class="keywordflow">return</span> SINFO_BAND_J ;</div>
-<div class="line"><a name="l02147"></a><span class="lineno"> 2147</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_1.64"</span>)) <span class="keywordflow">return</span> SINFO_BAND_H ;</div>
-<div class="line"><a name="l02148"></a><span class="lineno"> 2148</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_1.71"</span>)) <span class="keywordflow">return</span> SINFO_BAND_H ;</div>
-<div class="line"><a name="l02149"></a><span class="lineno"> 2149</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_2.07"</span>)) <span class="keywordflow">return</span> SINFO_BAND_KS ;</div>
-<div class="line"><a name="l02150"></a><span class="lineno"> 2150</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_2.09"</span>)) <span class="keywordflow">return</span> SINFO_BAND_KS ;</div>
-<div class="line"><a name="l02151"></a><span class="lineno"> 2151</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_2.13"</span>)) <span class="keywordflow">return</span> SINFO_BAND_KS ;</div>
-<div class="line"><a name="l02152"></a><span class="lineno"> 2152</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_2.17"</span>)) <span class="keywordflow">return</span> SINFO_BAND_KS ;</div>
-<div class="line"><a name="l02153"></a><span class="lineno"> 2153</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_2.19"</span>)) <span class="keywordflow">return</span> SINFO_BAND_KS ;</div>
-<div class="line"><a name="l02154"></a><span class="lineno"> 2154</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_2.25"</span>)) <span class="keywordflow">return</span> SINFO_BAND_KS ;</div>
-<div class="line"><a name="l02155"></a><span class="lineno"> 2155</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_2.29"</span>)) <span class="keywordflow">return</span> SINFO_BAND_KS ;</div>
-<div class="line"><a name="l02156"></a><span class="lineno"> 2156</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_2.34"</span>)) <span class="keywordflow">return</span> SINFO_BAND_KS ;</div>
-<div class="line"><a name="l02157"></a><span class="lineno"> 2157</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_3.21"</span>)) <span class="keywordflow">return</span> SINFO_BAND_L ;</div>
-<div class="line"><a name="l02158"></a><span class="lineno"> 2158</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_3.28"</span>)) <span class="keywordflow">return</span> SINFO_BAND_L ;</div>
-<div class="line"><a name="l02159"></a><span class="lineno"> 2159</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_3.80"</span>)) <span class="keywordflow">return</span> SINFO_BAND_L ;</div>
-<div class="line"><a name="l02160"></a><span class="lineno"> 2160</span> <span class="keywordflow">if</span> (!strcmp(f, <span class="stringliteral">"NB_4.07"</span>)) <span class="keywordflow">return</span> SINFO_BAND_L ;</div>
-<div class="line"><a name="l02161"></a><span class="lineno"> 2161</span> <span class="keywordflow">return</span> SINFO_BAND_UNKNOWN ;</div>
-<div class="line"><a name="l02162"></a><span class="lineno"> 2162</span> }</div>
-<div class="line"><a name="l02163"></a><span class="lineno"> 2163</span> </div>
-<div class="line"><a name="l02164"></a><span class="lineno"> 2164</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utilities__scired_8h_source.html b/html/sinfo__utilities__scired_8h_source.html
deleted file mode 100644
index fa1d6ed..0000000
--- a/html/sinfo__utilities__scired_8h_source.html
+++ /dev/null
@@ -1,193 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utilities_scired.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utilities_scired.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_UTILITIES_SCIRED_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_UTILITIES_SCIRED_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include "sinfo_tpl_utils.h"</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include "sinfo_key_names.h"</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#include "sinfo_cube_construct.h"</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include "sinfo_utilities.h"</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include "sinfo_object_cfg.h"</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="keywordtype">float</span>*</div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> sinfo_read_distances(<span class="keyword">const</span> <span class="keywordtype">int</span> nslits, <span class="keyword">const</span> <span class="keywordtype">char</span>* distlist);</div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="keywordtype">float</span>** </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> sinfo_read_slitlets_edges(<span class="keyword">const</span> <span class="keywordtype">int</span> nslits, <span class="keyword">const</span> <span class="keywordtype">char</span>* poslist);</div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> sinfo_check_input_data(object_config* cfg); </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> sinfo_auto_size_cube(<span class="keywordtype">float</span>* offsetx, </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keywordtype">float</span>* offsety,</div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nframes, </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keywordtype">float</span>* ref_offx, </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keywordtype">float</span>* ref_offy,</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keywordtype">int</span>* size_x,</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keywordtype">int</span>* size_y);</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> sinfo_auto_size_cube4(<span class="keywordtype">float</span>* offsetx, </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">float</span>* offsety,</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nframes, </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">float</span>* ref_offx, </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">float</span>* ref_offy,</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">int</span>* size_x,</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">int</span>* size_y);</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> sinfo_auto_size_cube5(object_config * cfg, </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">float</span>* ref_offx, <span class="keywordtype">float</span>* ref_offy,</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">float</span>* min_offx, <span class="keywordtype">float</span>* min_offy,</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">float</span>* max_offx, <span class="keywordtype">float</span>* max_offy);</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> cpl_imagelist * </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> sinfo_new_cube_getvig(</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> cpl_imagelist * cube_in,</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">int</span> loleft_x,</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">int</span> loleft_y,</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keywordtype">int</span> upright_x,</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">int</span> upright_y);</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> sinfo_new_set_wcs_cube(cpl_imagelist* cub, <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">double</span> clambda, </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">double</span> dis, <span class="keywordtype">double</span> cpix, <span class="keywordtype">double</span> cx, <span class="keywordtype">double</span> cy);</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> sinfo_new_set_wcs_image(cpl_image* img, <span class="keyword">const</span> <span class="keywordtype">char</span>* name, </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">double</span> cx, <span class="keywordtype">double</span> cy);</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> sinfo_new_set_wcs_spectrum(cpl_image* img, <span class="keyword">const</span> <span class="keywordtype">char</span>* name, </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keywordtype">double</span> clambda, <span class="keywordtype">double</span> dis, <span class="keywordtype">double</span> cpix);</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> cpl_imagelist* </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> sinfo_new_fine_tune(cpl_imagelist* cube,<span class="keywordtype">float</span>* correct_dist, </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* method, <span class="keyword">const</span> <span class="keywordtype">int</span> order, <span class="keyword">const</span> <span class="keywordtype">int</span> nslits) ;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> sinfo_new_object_assign_offset(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keyword">const</span> <span class="keywordtype">int</span> n, <span class="keywordtype">double</span>* ref_offx, </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">double</span>* ref_offy, <span class="keywordtype">float</span>** offsetx, </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">float</span>** offsety);</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> sinfo_new_assign_offset2(<span class="keyword">const</span> <span class="keywordtype">int</span> n,</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name,</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">float</span>* offsetx,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">float</span>* offsety,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keyword">const</span> <span class="keywordtype">float</span> ref_offx,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keyword">const</span> <span class="keywordtype">float</span> ref_offy);</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> sinfo_new_assign_offset(<span class="keyword">const</span> <span class="keywordtype">int</span> n,<span class="keyword">const</span> <span class="keywordtype">char</span>* name,<span class="keywordtype">float</span>* offsetx,</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">float</span>* offsety,<span class="keyword">const</span> <span class="keywordtype">float</span> ref_offx,</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keyword">const</span> <span class="keywordtype">float</span> ref_offy);</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> cpl_imagelist** </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> sinfo_new_sinfoni_correct_median(cpl_imagelist** cubeobject, <span class="keyword">const</span> <span class="keywordtype">int</span> n_cubes);</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> cpl_imagelist** </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> sinfo_new_sinfoni_correct_sky2(cpl_imagelist** cubes,</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nc,</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> cpl_imagelist* sky_cube,</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> cpl_imagelist* med_cube,</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> cpl_imagelist* msk_cube,</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> cpl_imagelist* avg_cube,</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> cpl_imagelist* sig_cube,</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> cpl_imagelist* ovr_cube);</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> cpl_imagelist** </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> sinfo_new_sinfoni_correct_sky(cpl_imagelist** cubes,</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keyword">const</span> <span class="keywordtype">int</span> nc,</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> cpl_imagelist* sky_cube);</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> sinfo_new_sinfoni_correct_median_it(cpl_imagelist** inp);</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keywordtype">int</span> sinfo_calib_flux_std(</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * seds_file,</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * stdstars,</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * filter,</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> cpl_frame * frame,</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> cpl_table * tab,</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordtype">double</span> mag);</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> sinfo_band sinfo_get_associated_filter(<span class="keyword">const</span> <span class="keywordtype">char</span> * f);</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> sinfo_band sinfo_get_bbfilter(<span class="keyword">const</span> <span class="keywordtype">char</span> * f);</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utils_8c_source.html b/html/sinfo__utils_8c_source.html
deleted file mode 100644
index c3d9cdb..0000000
--- a/html/sinfo__utils_8c_source.html
+++ /dev/null
@@ -1,159 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utils.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utils.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* *</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory *</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This library is free software; you can redistribute it and/or modify *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or *</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version. *</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful, *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details. *</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA *</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Date: 2012/03/03 10:17:31 $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Revision: 1.7 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Log: sinfo_utils.c,v $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * Revision 1.7 2012/03/03 10:17:31 amodigli</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * fixed some doxygen warnings</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Revision 1.6 2010/09/30 14:00:03 kmirny</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> * moving function from wavecal to utils</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> * Revision 1.5 2007/05/25 06:28:35 amodigli</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * fixed plugintest warnings</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> * Revision 1.4 2006/11/07 07:13:25 amodigli</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> * added doxygen</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> * Revision 1.3 2006/11/04 15:28:36 amodigli</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * doxygen</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> * Revision 1.2 2006/10/17 07:02:24 amodigli</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> * shorten line length</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> * Revision 1.1 2006/08/09 12:26:36 amodigli</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> * added sinfo_utils.h sinfo_utils.c</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#include <sinfo_utils.h></span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> Implementation</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">long</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> sinfo_round_double(<span class="keywordtype">double</span> x)</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> {</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">return</span> (x >=0) ? (long)(x+0.5) : (long)(x-0.5);</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> }</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> sinfo_parameter_get_default_flag ( <span class="keyword">const</span> cpl_parameter* p )</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> {</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">int</span> flag_gasgano=0;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">int</span> flag_norm=0;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">int</span> flag=0;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> cpl_type type =0;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> flag_norm = ( cpl_parameter_get_default_flag ( p ) == 0 ) ? 1 : 0;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> type=cpl_parameter_get_type ( p );</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keywordflow">switch</span> ( type )</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> {</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordflow">case</span> CPL_TYPE_BOOL:</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> flag_gasgano = ( cpl_parameter_get_default_bool ( p ) ==</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> cpl_parameter_get_bool ( p ) ) ? 1:0;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordflow">case</span> CPL_TYPE_INT:</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> flag_gasgano = ( cpl_parameter_get_default_int ( p ) ==</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> cpl_parameter_get_int ( p ) ) ? 1:0;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordflow">case</span> CPL_TYPE_DOUBLE:</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> flag_gasgano = ( cpl_parameter_get_default_double ( p ) ==</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> cpl_parameter_get_double ( p ) ) ? 1:0;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordflow">case</span> CPL_TYPE_STRING:</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> flag_gasgano = ( cpl_parameter_get_default_string ( p ) ==</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> cpl_parameter_get_string ( p ) ) ? 1:0;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> cpl_msg_error (cpl_func, <span class="stringliteral">"type not supported"</span> );</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> }</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> flag = ( flag_gasgano && flag_norm ) ? 0 : 1;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordflow">return</span> flag;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utils_8h_source.html b/html/sinfo__utils_8h_source.html
deleted file mode 100644
index a445e70..0000000
--- a/html/sinfo__utils_8h_source.html
+++ /dev/null
@@ -1,146 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utils.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utils.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFO Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: kmirny $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2010/09/30 14:00:03 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.5 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifndef SINFO_UTILS_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_UTILS_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span><span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> * The purpose of this target is to</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> * decrease the amount of messages</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> * printed at the debug level.</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> * If set to non-zero, even more messages</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> * are printed at the debug level</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> * (sometimes 50 - 100 MB)</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#ifndef WANT_BIG_LOGFILE</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor"></span><span class="preprocessor">#define WANT_BIG_LOGFILE 0</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> * Set to 1 to show timing</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> * information on msg-level = info</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#ifndef WANT_TIME_MEASURE</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor"></span><span class="preprocessor">#define WANT_TIME_MEASURE 0</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#if WANT_TIME_MEASURE</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_TIME_START(what) sinfo_msg("Timing (%s, l%d) %s start", \</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor"> __FILE__, __LINE__, what)</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_TIME_END sinfo_msg("Timing (%s, l%d) end", \</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor"> __FILE__, __LINE__)</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor"></span><span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_TIME_START(what) sinfo_msg_debug("Timing (%s, l%d) %s start", \</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor"> __FILE__, __LINE__, what)</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_TIME_END sinfo_msg_debug("Timing (%s, l%d) end", \</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor"> __FILE__, __LINE__)</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor">#ifndef stringify</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="preprocessor"></span><span class="preprocessor">#ifndef make_str</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="preprocessor"></span><span class="preprocessor">#define stringify(X) #X</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="preprocessor"></span><span class="preprocessor">#define make_str(X) stringify(X)</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="preprocessor">#define TWOSQRT2LN2 2.35482004503095</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="preprocessor">#ifndef M_PI</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="preprocessor"></span><span class="preprocessor">#define M_PI 3.1415926535897932384626433832795</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="preprocessor">#define COS_DEG(x) cos(((x)/180)*M_PI)</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="preprocessor"></span><span class="preprocessor">#define SIN_DEG(x) sin(((x)/180)*M_PI)</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="preprocessor"></span><span class="preprocessor">#define ACOS_DEG(x) (acos(x)*180/M_PI)</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">long</span> sinfo_round_double(<span class="keywordtype">double</span> x);</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> sinfo_parameter_get_default_flag ( <span class="keyword">const</span> cpl_parameter* p );</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utils__wrappers_8c_source.html b/html/sinfo__utils__wrappers_8c_source.html
deleted file mode 100644
index b52e799..0000000
--- a/html/sinfo__utils__wrappers_8c_source.html
+++ /dev/null
@@ -1,366 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utils_wrappers.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utils_wrappers.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">/* *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the ESO SINFO Pipeline *</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or modify *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by *</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or *</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version. *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful, *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of *</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details. *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software *</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA *</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <sinfo_functions.h></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <sinfo_dump.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <sinfo_utils.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> cpl_error_code</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> sinfo_sort_table_1(cpl_table *t, <span class="keyword">const</span> <span class="keywordtype">char</span> *column, cpl_boolean reverse)</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> {</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> cpl_propertylist *plist = NULL;</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> assure(t != NULL, CPL_ERROR_NULL_INPUT, <span class="stringliteral">"Null table"</span>);</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> assure(cpl_table_has_column(t, column), CPL_ERROR_ILLEGAL_INPUT, </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="stringliteral">"No column '%s'"</span>, column);</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> check(( plist = cpl_propertylist_new(),</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> cpl_propertylist_append_bool(plist, column, reverse)),</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="stringliteral">"Could not create property list for sorting"</span>);</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> check( cpl_table_sort(t, plist), <span class="stringliteral">"Could not sort table"</span>);</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> cleanup:</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> }</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> cpl_error_code</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> sinfo_sort_table_2(cpl_table *t, <span class="keyword">const</span> <span class="keywordtype">char</span> *column1, <span class="keyword">const</span> <span class="keywordtype">char</span> *column2, </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> cpl_boolean reverse1, cpl_boolean reverse2)</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> {</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> cpl_propertylist *plist = NULL;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> assure(t != NULL, CPL_ERROR_NULL_INPUT, <span class="stringliteral">"Null table"</span>);</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> assure(cpl_table_has_column(t, column1), CPL_ERROR_ILLEGAL_INPUT, </div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="stringliteral">"No column '%s'"</span>, column1);</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> assure(cpl_table_has_column(t, column2), CPL_ERROR_ILLEGAL_INPUT,</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="stringliteral">"No column '%s'"</span>, column2);</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> check(( plist = cpl_propertylist_new(),</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> cpl_propertylist_append_bool(plist, column1, reverse1),</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> cpl_propertylist_append_bool(plist, column2, reverse2)),</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="stringliteral">"Could not create property list for sorting"</span>);</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> check( cpl_table_sort(t, plist), <span class="stringliteral">"Could not sort table"</span>);</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> cleanup:</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> }</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> cpl_table *</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> sinfo_extract_table_rows(<span class="keyword">const</span> cpl_table *t, <span class="keyword">const</span> <span class="keywordtype">char</span> *column,</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> cpl_table_select_operator <span class="keyword">operator</span>, <span class="keywordtype">double</span> value)</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> {</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> cpl_table *result = NULL;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> assure( t != NULL, CPL_ERROR_NULL_INPUT, <span class="stringliteral">"Null table"</span>);</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> assure( cpl_table_has_column(t, column), CPL_ERROR_INCOMPATIBLE_INPUT,</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="stringliteral">"No such column: %s"</span>, column);</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment">/* 1. Extract (duplicate) the entire table</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment"> 2. remove rows *not* satisfying the criterion */</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> check(result = cpl_table_duplicate(t),<span class="stringliteral">"selecting"</span>);</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> check(sinfo_select_table_rows(result, column, <span class="keyword">operator</span>, value),<span class="stringliteral">"select"</span>);</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> check(cpl_table_not_selected(result),<span class="stringliteral">"Inverses selection"</span>);</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> check(cpl_table_erase_selected(result),<span class="stringliteral">"erase selection"</span>);<span class="comment">//problems</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment"> check(( result = cpl_table_duplicate(t),</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment"> sinfo_select_table_rows(result, column, operator, value),</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment"> cpl_table_not_selected(result), // Inverses selection </span></div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment"> cpl_table_erase_selected(result)),</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment"> "Error extracting rows");</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> cleanup:</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE)</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> {</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> sinfo_free_table(&result);</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> }</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> }</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> sinfo_select_table_rows(cpl_table *t, <span class="keyword">const</span> <span class="keywordtype">char</span> *column, </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> cpl_table_select_operator <span class="keyword">operator</span>, <span class="keywordtype">double</span> value)</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> {</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordtype">int</span> result = 0;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> cpl_type type;</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> assure( t != NULL, CPL_ERROR_NULL_INPUT, <span class="stringliteral">"Null table"</span>);</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> assure( cpl_table_has_column(t, column), CPL_ERROR_INCOMPATIBLE_INPUT, </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="stringliteral">"No such column: %s"</span>, column);</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> type = cpl_table_get_column_type(t, column);</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> assure( type == CPL_TYPE_DOUBLE ||</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> type == CPL_TYPE_INT, CPL_ERROR_INVALID_TYPE,</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="stringliteral">"Column '%s' must be double or int. %s found"</span>, column, </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> sinfo_tostring_cpl_type(type));</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> check( cpl_table_select_all(t), <span class="stringliteral">"Error selecting rows"</span>);</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keywordflow">if</span> (type == CPL_TYPE_DOUBLE)</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> {</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> result = cpl_table_and_selected_double(t, column, <span class="keyword">operator</span>, value);</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> }</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (type == CPL_TYPE_INT)</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> {</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> result = cpl_table_and_selected_int (t, column, <span class="keyword">operator</span>, </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> sinfo_round_double(value));</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> }</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keywordflow">else</span> { <span class="comment">/*impossible*/</span> passure(CPL_FALSE, <span class="stringliteral">""</span>); }</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> cleanup:</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> }</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordtype">void</span> sinfo_free_parameter(cpl_parameter **p) </div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> {<span class="keywordflow">if</span>(p){cpl_parameter_delete(*p); *p = NULL;}}</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordtype">void</span> sinfo_free_apertures(cpl_apertures **a) </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> {<span class="keywordflow">if</span>(a){cpl_apertures_delete(*a); *a = NULL;}}</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keywordtype">void</span> sinfo_free_image(cpl_image **i) {<span class="keywordflow">if</span>(i){cpl_image_delete(*i); *i = NULL;}}</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keywordtype">void</span> sinfoni_free_vector(cpl_vector **v) {<span class="keywordflow">if</span>(v){cpl_vector_delete(*v); *v = NULL;}}</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="keywordtype">void</span> sinfo_free_array(cpl_array **i) {<span class="keywordflow">if</span>(i){cpl_array_delete(*i); *i = NULL;}}</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="keywordtype">void</span> sinfo_free_mask(cpl_mask **m) {<span class="keywordflow">if</span>(m){cpl_mask_delete(*m); *m = NULL;}}</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keywordtype">void</span> sinfo_free_imagelist(cpl_imagelist **i) </div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> {<span class="keywordflow">if</span>(i){cpl_imagelist_delete(*i); *i = NULL;}}</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="keywordtype">void</span> sinfo_free_table(cpl_table **t) {<span class="keywordflow">if</span>(t){cpl_table_delete(*t); *t = NULL;}}</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="keywordtype">void</span> sinfo_free_propertylist(cpl_propertylist **p) </div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> {<span class="keywordflow">if</span>(p){cpl_propertylist_delete(*p); *p = NULL;}}</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="keywordtype">void</span> sinfo_free_polynomial(cpl_polynomial **p) </div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> {<span class="keywordflow">if</span>(p){cpl_polynomial_delete(*p); *p = NULL;}}</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="comment">/* similar also present in svd.c */</span></div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="keywordtype">void</span> sinfoni_free_matrix(cpl_matrix **m) </div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> {<span class="keywordflow">if</span>(m){cpl_matrix_delete(*m); *m = NULL;}}</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="keywordtype">void</span> sinfo_free_parameterlist(cpl_parameterlist **p) </div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> {<span class="keywordflow">if</span>(p){cpl_parameterlist_delete(*p); *p = NULL;}}</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="keywordtype">void</span> sinfo_free_frameset(cpl_frameset **f) </div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> {<span class="keywordflow">if</span>(f){cpl_frameset_delete(*f); *f = NULL;}}</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="keywordtype">void</span> sinfo_free_frame(cpl_frame **f) </div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> {<span class="keywordflow">if</span>(f){cpl_frame_delete(*f); *f = NULL;}}</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="keywordtype">void</span> sinfo_free_int(<span class="keywordtype">int</span> **i) {<span class="keywordflow">if</span>(i){cpl_free(*i); *i = NULL;}}</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="keywordtype">void</span> sinfo_free_float(<span class="keywordtype">float</span> **f) {<span class="keywordflow">if</span>(f){cpl_free(*f); *f = NULL;}}</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> </div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> </div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> </div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="keywordtype">void</span> sinfo_free_double(<span class="keywordtype">double</span> **d) {<span class="keywordflow">if</span>(d){cpl_free(*d); *d = NULL;}}</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="keywordtype">void</span> sinfo_free_array_imagelist(cpl_imagelist ***a) </div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> {<span class="keywordflow">if</span>(*a){cpl_free(*a); *a = NULL;}}</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keywordtype">void</span> sinfo_free_array_image(cpl_image ***a) {<span class="keywordflow">if</span>(*a){cpl_free(*a); *a = NULL;}}</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> </div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> </div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="keywordtype">void</span> sinfo_free_image_array(cpl_image ***a, <span class="keyword">const</span> <span class="keywordtype">int</span> n) </div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> {</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="keywordflow">if</span>((*a) != NULL) {</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="keywordflow">for</span> (i=0; i < n; i++) {</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="keywordflow">if</span>((*a)[i] != NULL) {</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> sinfo_free_image(&(*a)[i]);</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> (*a)[i]=NULL;</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> }</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> }</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> sinfo_free_array_image(&(*a));</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> *a=NULL;</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> }</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> }</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> </div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="keywordtype">void</span> sinfo_free_float_array(<span class="keywordtype">float</span> ***a, <span class="keyword">const</span> <span class="keywordtype">int</span> n) </div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> {</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="keywordflow">if</span>((*a) != NULL) {</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="keywordflow">for</span> (i=0; i < n; i++) {</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="keywordflow">if</span>((*a)[i] != NULL) {</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> sinfo_free_float(&(*a)[i]);</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> (*a)[i]=NULL;</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> }</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> }</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> cpl_free(*a);</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> *a=NULL;</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> }</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> }</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> </div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> sinfo_free_my_vector(cpl_vector **v) {<span class="keywordflow">if</span>(v){cpl_vector_delete(*v);*v = NULL;}}</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> </div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> </div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> </div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> sinfo_free_bivector(cpl_bivector **bv) {</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="keywordflow">if</span>(bv){</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> cpl_bivector_delete(*bv);</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> *bv = NULL;</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> }</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> }</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> </div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="keywordtype">void</span> sinfo_free_stats(cpl_stats **s) {<span class="keywordflow">if</span>(s){cpl_stats_delete(*s); *s = NULL;}}</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> sinfo_unwrap_vector(cpl_vector **v) {<span class="keywordflow">if</span>(v){cpl_vector_unwrap(*v); *v = NULL;}}</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> </div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="keywordtype">void</span> sinfo_unwrap_matrix(cpl_matrix **m) </div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> {<span class="keywordflow">if</span>(m){cpl_matrix_unwrap(*m); *m = NULL;}}</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> </div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="keywordtype">void</span> sinfo_unwrap_bivector_vectors(cpl_bivector **b) </div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> {<span class="keywordflow">if</span>(b){cpl_bivector_unwrap_vectors(*b); *b = NULL;}}</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utils__wrappers_8h_source.html b/html/sinfo__utils__wrappers_8h_source.html
deleted file mode 100644
index 2bae2f1..0000000
--- a/html/sinfo__utils__wrappers_8h_source.html
+++ /dev/null
@@ -1,131 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utils_wrappers.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utils_wrappers.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#ifndef SINFO_UTILS_WRAPPERS_H</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_UTILS_WRAPPERS_H</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor"></span><span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> Prototypes</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keywordtype">void</span> sinfo_free_float_array(<span class="keywordtype">float</span> ***a, <span class="keyword">const</span> <span class="keywordtype">int</span> n) ;</div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> cpl_table *</div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> sinfo_extract_table_rows(<span class="keyword">const</span> cpl_table *t, <span class="keyword">const</span> <span class="keywordtype">char</span> *column,</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> cpl_table_select_operator <span class="keyword">operator</span>, <span class="keywordtype">double</span> value);</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> sinfo_select_table_rows(cpl_table *t, <span class="keyword">const</span> <span class="keywordtype">char</span> *column, </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> cpl_table_select_operator <span class="keyword">operator</span>, <span class="keywordtype">double</span> value);</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> cpl_error_code sinfo_sort_table_1(cpl_table *t, <span class="keyword">const</span> <span class="keywordtype">char</span> *column1,</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> cpl_boolean reverse1);</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> cpl_error_code sinfo_sort_table_2(cpl_table *t, <span class="keyword">const</span> <span class="keywordtype">char</span> *column1, </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *column2, cpl_boolean reverse1, </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> cpl_boolean reverse2);</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">void</span> sinfoni_free_vector(cpl_vector **v);</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">void</span> sinfo_free_array(cpl_array **i);</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">void</span> sinfo_free_apertures(cpl_apertures **a);</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">void</span> sinfo_free_parameter(cpl_parameter **p);</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">void</span> sinfo_free_image(cpl_image **i);</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordtype">void</span> sinfo_free_mask(cpl_mask **m);</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">void</span> sinfo_free_imagelist(cpl_imagelist **i);</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">void</span> sinfo_free_table(cpl_table **t);</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">void</span> sinfo_free_propertylist(cpl_propertylist **p);</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">void</span> sinfo_free_polynomial(cpl_polynomial **p);</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">void</span> sinfo_free_stats(cpl_stats **s);</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">void</span> sinfo_unwrap_matrix(cpl_matrix **m);</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keywordtype">void</span> sinfo_unwrap_vector(cpl_vector **v);</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">void</span> sinfo_unwrap_bivector_vectors(cpl_bivector **b);</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">void</span> sinfo_free_parameterlist(cpl_parameterlist **p);</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">void</span> sinfo_free_frameset(cpl_frameset **f);</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keywordtype">void</span> sinfo_free_frame(cpl_frame **f);</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">void</span> sinfo_free_int(<span class="keywordtype">int</span> **i);</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">void</span> sinfo_free_float(<span class="keywordtype">float</span> **i);</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">void</span> sinfo_free_double(<span class="keywordtype">double</span> **i);</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">void</span> sinfo_free_array_imagelist(cpl_imagelist ***a);</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">void</span> sinfo_free_array_image(cpl_image ***a);</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">void</span> sinfo_free_image_array(cpl_image ***a,<span class="keyword">const</span> <span class="keywordtype">int</span> n);</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">/* similar are also defined with same name in svd.h */</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">void</span> sinfoni_free_matrix(cpl_matrix **m);</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">void</span> sinfo_free_my_vector(cpl_vector **v);</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">void</span> sinfo_free_bivector(cpl_bivector **bv);</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utl__bp__mask__add_8c_source.html b/html/sinfo__utl__bp__mask__add_8c_source.html
deleted file mode 100644
index 025a730..0000000
--- a/html/sinfo__utl__bp__mask__add_8c_source.html
+++ /dev/null
@@ -1,283 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_bp_mask_add.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utl_bp_mask_add.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_bp_mask_add.c,v 1.18 2008/08/21 09:46:47 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2008/08/21 09:46:47 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.18 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Bad pixel search (normal method) *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/* --------------------------------------------------------------- </span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> INCLUDES</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> --------------------------------------------------------------- */</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/* std libraries */</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <strings.h></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">/* sinfoni */</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include <sinfo_general_config.h></span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include <sinfo_bp_norm_config.h></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include <sinfo_bp_lin_config.h></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#include <sinfo_bp_noise_config.h></span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include <sinfo_new_add_bp_map.h></span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">/* --------------------------------------------------------------- </span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> DEFINES</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> --------------------------------------------------------------- */</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">/* --------------------------------------------------------------- </span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> FUNCTIONS PROTOTYPES</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> --------------------------------------------------------------- */</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sinfoni_get_licence(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_bp_mask_add_create(cpl_plugin *plugin);</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_bp_mask_add_exec(cpl_plugin *plugin);</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_bp_mask_add_destroy(cpl_plugin *plugin);</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_bp_mask_add(cpl_parameterlist *, cpl_frameset *);</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">/* --------------------------------------------------------------- </span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> STATIC VARIABLES</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> --------------------------------------------------------------- */</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_bp_mask_add_description[] =</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="stringliteral">"This recipe performs bad pixel map coaddition.\n"</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="stringliteral">"The input files are several (at least 2) bad pixel masks in the sof file\n"</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="stringliteral">"Their tab should contain the string BP_MAP.\n"</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="stringliteral">"The output is an image resulting from the logical operator OR \n"</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="stringliteral">"applied to all the masks.\n"</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="stringliteral">"Information on relevant parameters can be found with\n"</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="stringliteral">"esorex --params sinfo_utl_bp_mask_add\n"</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="stringliteral">"esorex --help sinfo_utl_bp_mask_add\n"</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">/* --------------------------------------------------------------- </span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"> FUNCTIONS CODE</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"> --------------------------------------------------------------- */</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment">/* --------------------------------------------------------------- */</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist *list)</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> {</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> cpl_recipe *recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe);</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> cpl_plugin *plugin = &recipe->interface;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="stringliteral">"sinfo_utl_bp_mask_add"</span>,</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="stringliteral">"Add bad pixels masks"</span>,</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> sinfo_utl_bp_mask_add_description,</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="stringliteral">"Andrea Modigliani"</span>,</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="stringliteral">"Andrea.Modigliani at eso.org"</span>,</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> sinfo_utl_bp_mask_add_create,</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> sinfo_utl_bp_mask_add_exec,</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> sinfo_utl_bp_mask_add_destroy);</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> cpl_pluginlist_append(list, plugin);</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> }</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment">/* --------------------------------------------------------------- */</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> sinfo_utl_bp_mask_add_create(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> {</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment"> * We have to provide the option we accept to the application.</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment"> * We need to setup our parameter list and hook it into the recipe</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment"> * interface.</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> cpl_recipe *recipe = (cpl_recipe *)plugin;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> recipe->parameters = cpl_parameterlist_new();</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordflow">if</span>(recipe->parameters == NULL) {</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordflow">return</span> 1;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> }</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> cpl_error_reset();</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment"> * Fill the parameter list.</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> }</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment">/* --------------------------------------------------------------- */</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> sinfo_utl_bp_mask_add_exec(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> {</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> cpl_recipe *recipe = (cpl_recipe *) plugin;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> cpl_errorstate initial_errorstate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordtype">int</span> code=0;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordflow">if</span>(recipe->parameters == NULL ) {</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">return</span> 1;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> }</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordflow">if</span>(recipe->frames == NULL) {</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keywordflow">return</span> 1;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> }</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> check_nomsg(code=sinfo_utl_bp_mask_add(recipe->parameters, recipe->frames));</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(initial_errorstate)) { </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment">/* Dump the error history since recipe execution start. </span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment"> At this point the recipe cannot recover from the error */</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> cpl_errorstate_dump(initial_errorstate, CPL_FALSE, NULL); </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> } </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> cleanup:</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordflow">return</span> code;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> }</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment">/* --------------------------------------------------------------- */</span></div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> sinfo_utl_bp_mask_add_destroy(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> {</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> cpl_recipe *recipe = (cpl_recipe *) plugin;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment"> * We just destroy what was created during the plugin initializzation phase</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment"> * i.e. the parameter list. The frame set is managed by the application which</span></div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="comment"> * called us, so that we must not touch it.</span></div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> cpl_parameterlist_delete(recipe->parameters);</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> }</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="comment"> * The actual recipe actually start here.</span></div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment">/* --------------------------------------------------------------- */</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> sinfo_utl_bp_mask_add(cpl_parameterlist *config, cpl_frameset *sof)</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> {</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> cpl_frameset* ref_set=NULL;</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordtype">int</span> n=0;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> sinfo_msg(<span class="stringliteral">"Welcome to SINFONI Pipeline release %d.%d.%d"</span>,</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> SINFONI_MAJOR_VERSION,SINFONI_MINOR_VERSION,SINFONI_MICRO_VERSION);</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="keywordflow">if</span>(sinfo_dfs_set_groups(sof)) {</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Cannot indentify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> }</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> n=cpl_frameset_get_size(sof);</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="keywordflow">if</span>(n<1) {</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Empty input frame list!"</span>);</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordflow">goto</span> cleanup ;</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> }</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> check_nomsg(ref_set=cpl_frameset_duplicate(sof));</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> ck0_nomsg(sinfo_new_add_bp_map(cpl_func,config,sof,ref_set));</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> cleanup:</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> sinfo_free_frameset(&ref_set);</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> }</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utl__cube2ima_8h_source.html b/html/sinfo__utl__cube2ima_8h_source.html
deleted file mode 100644
index 258e09a..0000000
--- a/html/sinfo__utl__cube2ima_8h_source.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_cube2ima.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utl_cube2ima.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_cube2ima.h,v 1.1 2006/10/22 14:12:28 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the IIINSTRUMENT Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2006/10/22 14:12:28 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">-----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifndef SINFO_UTL_CUBE2IMA_H</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_UTL_CUBE2IMA_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span><span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_tpl_utils.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_pfits.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_tpl_dfs.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">-----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keywordtype">int</span> sinfo_utl_cube2ima(cpl_parameterlist *, cpl_frameset *) ;</div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utl__cube2spectrum_8h_source.html b/html/sinfo__utl__cube2spectrum_8h_source.html
deleted file mode 100644
index f9b771f..0000000
--- a/html/sinfo__utl__cube2spectrum_8h_source.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_cube2spectrum.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utl_cube2spectrum.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_cube2spectrum.h,v 1.1 2006/10/22 14:12:28 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the IIINSTRUMENT Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2006/10/22 14:12:28 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">-----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifndef SINFO_UTL_CUBE2SPECTRUM_H</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_UTL_CUBE2SPECTRUM_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_tpl_utils.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_pfits.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_tpl_dfs.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">-----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keywordtype">int</span> sinfo_utl_cube2spectrum(cpl_parameterlist *, cpl_frameset *, <span class="keyword">const</span> <span class="keywordtype">char</span>*) ;</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"></span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utl__cube__arith_8h_source.html b/html/sinfo__utl__cube__arith_8h_source.html
deleted file mode 100644
index c2fda78..0000000
--- a/html/sinfo__utl__cube__arith_8h_source.html
+++ /dev/null
@@ -1,90 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_cube_arith.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utl_cube_arith.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_cube_arith.h,v 1.1 2006/10/22 14:12:28 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the IIINSTRUMENT Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2006/10/22 14:12:28 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifndef SINFO_UTL_CUBE_ARITH_H</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_UTL_CUBE_ARITH_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_tpl_utils.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_pfits.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_tpl_dfs.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">-----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keywordtype">int</span> sinfo_utl_cube_arith(cpl_parameterlist *, cpl_frameset *) ;</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utl__cube__combine_8h_source.html b/html/sinfo__utl__cube__combine_8h_source.html
deleted file mode 100644
index b6a1329..0000000
--- a/html/sinfo__utl__cube__combine_8h_source.html
+++ /dev/null
@@ -1,90 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_cube_combine.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utl_cube_combine.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_cube_combine.h,v 1.1 2006/10/22 14:12:28 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the IIINSTRUMENT Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2006/10/22 14:12:28 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifndef SINFO_UTL_CUBE_COMBINE_H</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_UTL_CUBE_COMBINE_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_tpl_utils.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_pfits.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_tpl_dfs.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">-----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keywordtype">int</span> sinfo_utl_cube_combine(cpl_parameterlist *, cpl_frameset *) ;</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utl__cube__create_8c_source.html b/html/sinfo__utl__cube__create_8c_source.html
deleted file mode 100644
index bd8acbc..0000000
--- a/html/sinfo__utl__cube__create_8c_source.html
+++ /dev/null
@@ -1,682 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_cube_create.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utl_cube_create.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_cube_create.c,v 1.6 2013/08/15 11:40:17 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2013/08/15 11:40:17 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.6 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <sinfo_pfits.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include <sinfo_image_ops.h></span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include <sinfo_wave_calibration.h></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include <sinfo_pro_save.h></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#include <sinfo_raw_types.h></span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include <sinfo_pro_types.h></span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include <sinfo_coltilt.h></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include <sinfo_utilities_scired.h></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube_create_create(cpl_plugin *) ;</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube_create_exec(cpl_plugin *) ;</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube_create_destroy(cpl_plugin *) ;</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keyword">static</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> sinfo_cube_create(cpl_parameterlist * parameters, cpl_frameset * frames);</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_cube_create_description[] =</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="stringliteral">"This recipe perform cubes creation.\n"</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="stringliteral">"The input files are:\n"</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="stringliteral">"A raw frame on tagged as RAW_ON\n"</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="stringliteral">"[optional] A raw frame off RAW_OFF\n"</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="stringliteral">"A wavelength map, tagged as WAVE_MAP\n"</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="stringliteral">"A wavelength map, tagged as WAVE_MAP\n"</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="stringliteral">"A distortion table, tagged as DISTORTION\n"</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="stringliteral">"A slitlets position table, tagged as SLIT_POS\n"</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="stringliteral">"Information on relevant parameters can be found with\n"</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="stringliteral">"esorex --params sinfo_utl_cube_create\n"</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="stringliteral">"esorex --help sinfo_utl_cube_create\n"</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"><a class="code" href="group__sinfo__utl__cube__create.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693"> 104</a></span> <span class="keywordtype">int</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist * list)</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> {</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> cpl_recipe * recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe ) ;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> cpl_plugin * plugin = &recipe->interface ;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="stringliteral">"sinfo_utl_cube_create"</span>,</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="stringliteral">"Generate a cube"</span>,</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> sinfo_utl_cube_create_description,</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="stringliteral">"Andrea Modigliani"</span>,</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="stringliteral">"Andrea.Modigliani at eso.org"</span>,</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> sinfo_utl_cube_create_create,</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> sinfo_utl_cube_create_exec,</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> sinfo_utl_cube_create_destroy) ;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> cpl_pluginlist_append(list, plugin) ;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> }</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube_create_create(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> {</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> cpl_parameter * p ;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> cpl_parameterlist * list ;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> cpl_error_reset();</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> recipe->parameters = cpl_parameterlist_new() ; </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> list=recipe->parameters;</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment">/* jitter mode indicator: yes: Auto-Jitter, no: user defined jitter</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment"> The next three parameters are only used if jitterInd is set to yes, </span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment"> that means in auto-jittering mode!</span></div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objnod.jitter_index"</span>,</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="stringliteral">"jitter mode indicator: "</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="stringliteral">"TRUE: Auto-Jitter, "</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="stringliteral">"FALSE: user defined jitter. "</span></div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="stringliteral">"The size_x size_y kernel_type parameters "</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="stringliteral">"are only used if jitterInd is set to yes, "</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="stringliteral">"that means in auto-jittering mode."</span>,</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> TRUE);</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-jit_ind"</span>);</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment">/* Kernel Type */</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment">/* the name of the interpolation kernel to shift the single cubes to the </span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment"> correct places inside the big combined cube. That you want to generate </span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment"> using the eclipse routine sinfo_generate_interpolation_kernel()</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment"> Supported kernels are:</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment"></span></div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="comment"> NULL: default kernel, currently tanh</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment"> default: dito</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment"> tanh: Hyperbolic tangent</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment"> sinc2: Square sinc</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment"> lanczos: Lanczos2 kernel</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment"> hamming: Hamming kernel</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment"> hann: Hann kernel</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> p = cpl_parameter_new_enum(<span class="stringliteral">"sinfoni.objnod.kernel_type"</span>,</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> CPL_TYPE_STRING,</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="stringliteral">"Kernel Type:"</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="stringliteral">"the name of the interpolation kernel to shift "</span></div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="stringliteral">"the single cubes to the correct places inside "</span></div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="stringliteral">"the big combined cube"</span>,</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="stringliteral">"tanh"</span>,</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> 7,</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="stringliteral">"NULL"</span>,<span class="stringliteral">"default"</span>,<span class="stringliteral">"tanh"</span>,<span class="stringliteral">"sinc2"</span>,</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="stringliteral">"lanczos"</span>,<span class="stringliteral">"hamming"</span>,<span class="stringliteral">"hann"</span>);</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-kernel_typ"</span>);</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment">/*Resampling */</span></div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment">/* number of coefficients for the polynomial interpolation */</span></div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objnod.n_coeffs"</span>,</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="stringliteral">"number of coefficients for the polynomial "</span></div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="stringliteral">"interpolation "</span>,</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> 3);</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-no_coeffs"</span>);</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="comment">/* Cube Creation */</span></div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="comment">/*indicates if the slitlet distances are determined by a north-south-test </span></div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="comment"> (yes) or slitlet edge fits (no)</span></div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objnod.nord_south_index"</span>,</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="stringliteral">"Nord South Index Switch: "</span></div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="stringliteral">"indicates if the slitlet distances are "</span></div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="stringliteral">"determined by a north-south-test (TRUE) "</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="stringliteral">"or slitlet edge fits (FALSE)"</span>,</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> TRUE);</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-ns_ind"</span>);</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="comment">/* Cube Creation */</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="comment">/*indicates if the slitlet distances are determined by a north-south-test </span></div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="comment"> (yes) or slitlet edge fits (no)</span></div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objnod.flux_cor"</span>,</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="stringliteral">"Flux correction: "</span>,</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> FALSE);</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-flux_cor"</span>);</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="comment">/* Fine tuning */</span></div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="comment">/* Method */</span></div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> p = cpl_parameter_new_enum(<span class="stringliteral">"sinfoni.objnod.fine_tuning_method"</span>,</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> CPL_TYPE_STRING,</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="stringliteral">"Fine Tuning Method: "</span></div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="stringliteral">"indicator for the shifting method to use "</span></div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="stringliteral">"(P: polynomial interpolation, "</span></div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="comment">/* " F: FFT, " */</span></div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="stringliteral">" S: cubic spline interpolation)"</span>,</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="stringliteral">"P"</span>,</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> 2,</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="stringliteral">"P"</span>,<span class="stringliteral">"S"</span>);</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-fine_tune_mtd"</span>);</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objnod.order"</span>,</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="stringliteral">"Fine Tuning polynomial order: "</span> </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="stringliteral">"order of the polynomial if the polynomial "</span></div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="stringliteral">"interpolation shifting method is used."</span>,</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> 2);</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"objnod-order"</span>);</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="comment">/* Fill the parameters list */</span></div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="comment">/* --stropt */</span></div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> }</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube_create_exec(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> {</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="keywordtype">int</span> result=0; </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> cpl_errorstate initial_errorstate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> sinfo_msg(<span class="stringliteral">"Welcome to SINFONI Pipeline release %d.%d.%d"</span>,</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> SINFONI_MAJOR_VERSION,SINFONI_MINOR_VERSION,SINFONI_MICRO_VERSION);</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> result=sinfo_cube_create(recipe->parameters, recipe->frames) ;</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(initial_errorstate)) { </div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="comment">/* Dump the error history since recipe execution start. </span></div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="comment"> At this point the recipe cannot recover from the error */</span> </div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> cpl_errorstate_dump(initial_errorstate, CPL_FALSE, NULL); </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> } </div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> }</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube_create_destroy(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> {</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> </div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> cpl_parameterlist_delete(recipe->parameters) ; </div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> }</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="keyword">static</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> sinfo_cube_create(cpl_parameterlist * parameters, cpl_frameset * frames)</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> {</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> </div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> cpl_frame* frm_raw_on=NULL;</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> cpl_frame* frm_raw_off=NULL;</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> cpl_frame* frm_wav_map=NULL;</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> cpl_frame* frm_mflat=NULL;</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> cpl_frame* frm_distortion=NULL;</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> cpl_frame* frm_slit_pos=NULL;</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> cpl_frame* frm_slitlets_distance=NULL;</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> cpl_image* ima_raw_on=NULL;</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> cpl_image* ima_raw_off=NULL;</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> cpl_image* ima_wav_map=NULL;</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> cpl_image* ima_mflat=NULL;</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> cpl_image* ima_mflat_dist=NULL;</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> cpl_image* ima_obj_mflat=NULL;</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> cpl_image* ima_obj_dist=NULL;</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> cpl_image* ima_obj_res=NULL;</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> cpl_image* ima_wav_res=NULL;</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> cpl_image* ima_wav_dif=NULL;</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> cpl_imagelist* cube=NULL;</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> cpl_imagelist* outcube=NULL;</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> cpl_imagelist* outcube2=NULL;</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> </div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="comment">//cpl_table* tab_distortion=NULL;</span></div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="comment">//cpl_table* tab_slit_pos=NULL;</span></div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="keywordtype">float</span> mi=0;</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="keywordtype">float</span> ma=0;</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="keywordtype">double</span> dis=0 ;</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="keywordtype">double</span> cwav=0 ;</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="keywordtype">int</span> cpix=0 ;</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="keywordtype">int</span> nx=0;</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="keywordtype">int</span> ny=0;</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="keywordtype">float</span> fcol=0;</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="keywordtype">float</span>* pd=NULL;</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="keywordtype">float</span>* pw=NULL;</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="keywordtype">float</span>** slit_edges=NULL;</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="keywordtype">float</span>* distances=NULL;</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="keywordtype">float</span>* correct_dist=NULL;</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keywordtype">char</span> kernel[80];</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="keywordtype">char</span> poly_file[80];</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="keywordtype">char</span> pos_list[80];</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="keywordtype">char</span> dist_list[80];</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> </div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="keywordtype">int</span> ns_index=0;</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="keywordtype">int</span> n_coeffs=0;</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="keywordtype">int</span> nrows=0;</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> cpl_parameter* p=NULL;</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="keywordtype">int</span> nslits=32;</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="keywordtype">int</span> flux_cor=0;</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* fine_tuning_method=NULL;</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="keywordtype">int</span> fine_tuning_pol_order=0;</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="keywordtype">float</span> center_x=0;</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="keywordtype">float</span> center_y=0;</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> </div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="comment">/* Identify the RAW and CALIB frames in the input frameset */</span></div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> check(sinfo_dfs_set_groups(frames),</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="stringliteral">"Cannot identify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> </div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> check_nomsg(p=cpl_parameterlist_find(parameters,</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="stringliteral">"sinfoni.objnod.flux_cor"</span>));</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> check_nomsg(flux_cor=cpl_parameter_get_bool(p));</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> </div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> check_nomsg(p=cpl_parameterlist_find(parameters,</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="stringliteral">"sinfoni.objnod.kernel_type"</span>));</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> check_nomsg(strcpy(kernel,cpl_parameter_get_string(p)));</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> </div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> check_nomsg(p=cpl_parameterlist_find(parameters,<span class="stringliteral">"sinfoni.objnod.n_coeffs"</span>));</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> check_nomsg(n_coeffs=cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> </div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> </div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> check_nomsg(p=cpl_parameterlist_find(parameters,</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="stringliteral">"sinfoni.objnod.nord_south_index"</span>));</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> check_nomsg(ns_index=cpl_parameter_get_bool(p));</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> </div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> </div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> check_nomsg(p=cpl_parameterlist_find(parameters,</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="stringliteral">"sinfoni.objnod.fine_tuning_method"</span>));</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> check_nomsg(fine_tuning_method=cpl_parameter_get_string(p));</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> check_nomsg(p=cpl_parameterlist_find(parameters,</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="stringliteral">"sinfoni.objnod.order"</span>));</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> check_nomsg(fine_tuning_pol_order=cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> </div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> cknull(frm_raw_on=cpl_frameset_find(frames,RAW_ON),</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="stringliteral">"Missing required input %s"</span>,RAW_ON);</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> cknull(frm_raw_off=cpl_frameset_find(frames,RAW_OFF),</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> <span class="stringliteral">"Missing required input %s"</span>,RAW_OFF);</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> cknull(frm_wav_map=cpl_frameset_find(frames,PRO_WAVE_MAP),</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="stringliteral">"Missing required input %s"</span>,PRO_WAVE_MAP);</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> cknull(frm_mflat=cpl_frameset_find(frames,PRO_MASTER_FLAT_LAMP),</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="stringliteral">"Missing required input %s"</span>,PRO_WAVE_MAP);</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> </div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> check_nomsg(frm_distortion=cpl_frameset_find(frames,PRO_DISTORTION));</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> check_nomsg(frm_slit_pos=cpl_frameset_find(frames,PRO_SLIT_POS));</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> check_nomsg(frm_slitlets_distance=</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> cpl_frameset_find(frames,PRO_SLITLETS_DISTANCE));</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> strcpy(pos_list,cpl_frame_get_filename(frm_slit_pos));</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> strcpy(dist_list,cpl_frame_get_filename(frm_slitlets_distance));</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> strcpy(poly_file,cpl_frame_get_filename(frm_distortion));</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> </div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> </div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> check_nomsg(ima_raw_on=cpl_image_load(cpl_frame_get_filename(frm_raw_on),</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> </div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> check_nomsg(ima_raw_off=cpl_image_load(cpl_frame_get_filename(frm_raw_off),</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> </div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> </div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> check_nomsg(ima_wav_map=cpl_image_load(cpl_frame_get_filename(frm_wav_map),</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> </div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> check_nomsg(ima_mflat=cpl_image_load(cpl_frame_get_filename(frm_mflat),</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> </div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> </div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> check_nomsg(cpl_image_subtract(ima_raw_on,ima_raw_off));</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> cpl_image_save(ima_raw_on,<span class="stringliteral">"ima_sub.fits"</span>, CPL_BPP_IEEE_FLOAT, </div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> NULL,CPL_IO_DEFAULT);</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> </div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> cknull_nomsg(ima_obj_mflat=sinfo_new_div_images_robust(ima_raw_on,</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> ima_mflat));</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> cpl_image_save(ima_obj_mflat,<span class="stringliteral">"ima_obj_mflat.fits"</span>, CPL_BPP_IEEE_FLOAT, </div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> NULL,CPL_IO_DEFAULT);</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> </div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> </div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="comment">//The following is not needed</span></div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> cknull_nomsg(ima_mflat_dist=sinfo_new_image_warp_fits(ima_mflat,kernel,</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> poly_file));</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> </div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> cpl_image_save(ima_mflat_dist,<span class="stringliteral">"ima_mflat_dist.fits"</span>, CPL_BPP_IEEE_FLOAT, </div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> NULL,CPL_IO_DEFAULT);</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> </div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> cknull_nomsg(ima_obj_dist=sinfo_new_image_warp_fits(ima_obj_mflat, </div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> kernel, </div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> poly_file));</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> </div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> cpl_image_save(ima_obj_dist,<span class="stringliteral">"ima_obj_dist.fits"</span>, CPL_BPP_IEEE_FLOAT, </div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> NULL,CPL_IO_DEFAULT);</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> </div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> cknull(ima_obj_res = sinfo_new_defined_resampling(ima_obj_dist, </div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> ima_wav_map, </div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> n_coeffs,</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> &nrows,</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> &dis,</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> &mi,</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> &ma,</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> &cwav,</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> &cpix),</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="stringliteral">" sinfo_definedResampling() failed"</span> ) ;</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> </div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> </div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> </div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> cpl_image_save(ima_obj_res,<span class="stringliteral">"ima_obj_res.fits"</span>, CPL_BPP_IEEE_FLOAT, </div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> NULL,CPL_IO_DEFAULT);</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> </div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> </div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <span class="comment">//We create an image with the derivatives</span></div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> nx=cpl_image_get_size_x(ima_wav_map);</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> ny=cpl_image_get_size_y(ima_wav_map);</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> </div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> check_nomsg(ima_wav_dif=cpl_image_new(nx,ny,CPL_TYPE_FLOAT));</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> pw=cpl_image_get_data(ima_wav_map);</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> pd=cpl_image_get_data(ima_wav_dif);</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> </div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> </div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> <span class="keywordflow">for</span>(i=1;i<nx-1;i++) {</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="keywordflow">for</span>(j=1;j<ny-1;j++) {</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> <span class="keywordflow">if</span>(!isnan(pd[nx*j+i])) {</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> pd[nx*j+i]=2.0*dis/(pw[nx*(j+1)+i]-pw[nx*(j-1)+i]);</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> }</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> }</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="keywordflow">if</span>(!isnan(pd[i])) {</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> pd[i]=dis/(pw[nx+i]-pw[i]);</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> }</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <span class="keywordflow">if</span>(!isnan(pd[nx*(ny-1)+i])) {</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> pd[nx*(ny-1)+i]=dis/(pw[nx*(ny-1)+i]-pw[nx*(ny-2)+i]);</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> }</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> }</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> </div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> </div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> <span class="comment">//cpl_image_save(ima_wav_dif,"diff.fits", </span></div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="comment">//CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> </div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> </div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> </div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> cknull(ima_wav_res = sinfo_new_defined_resampling(ima_wav_dif, </div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> ima_wav_map, </div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> n_coeffs,</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> &nrows,</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> &dis,</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> &mi,</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> &ma,</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> &cwav,</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> &cpix),</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <span class="stringliteral">" sinfo_definedResampling() failed"</span> ) ;</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> </div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> <span class="keywordflow">if</span>(flux_cor) {</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> sinfo_msg(<span class="stringliteral">"Apply flux correction"</span>);</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> cpl_image_divide(ima_obj_res,ima_wav_res);</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> }</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> </div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> </div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> <span class="comment">//cpl_image_save(ima_wav_res,"res_diff.fits", </span></div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> <span class="comment">//CPL_BPP_IEEE_FLOAT,NULL,CPL_IO_DEFAULT);</span></div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> </div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> </div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> </div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> cpl_image_save(ima_wav_res,<span class="stringliteral">"ima_wav_res.fits"</span>, CPL_BPP_IEEE_FLOAT, </div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> NULL,CPL_IO_DEFAULT);</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> </div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> </div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <span class="comment">//To rescale in flux we divide the resampled image and </span></div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <span class="comment">//the resampled derivatives. At this point ima_obj_res should have same </span></div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> <span class="comment">//flux as input image (im.diff)</span></div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> </div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="comment">//ima_obj_res=cpl_image_duplicate(ima_wav_res);</span></div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <span class="comment">//sinfo_free_image(&ima_wav_res);</span></div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> <span class="keywordflow">if</span>(flux_cor) {</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> sinfo_msg(<span class="stringliteral">"Apply flux correction"</span>);</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> cpl_image_divide(ima_obj_res,ima_wav_res);</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> }</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> </div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> </div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> </div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> </div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="comment">/*---select north-south-test or fitting of slitlet edges--*/</span></div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="keywordflow">if</span> (ns_index == 0) {</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> sinfo_msg(<span class="stringliteral">"cfg->northsouthInd == 0"</span>);</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> cknull(slit_edges=sinfo_read_slitlets_edges(nslits,pos_list),</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <span class="stringliteral">"error reading slitlets edges"</span>);</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> sinfo_msg(<span class="stringliteral">"cfg->northsouthInd != 0"</span>);</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> cknull(distances = sinfo_read_distances(nslits,dist_list),</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> <span class="stringliteral">"error reading distances"</span>);</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> }</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> </div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> cknull(correct_dist = (<span class="keywordtype">float</span>*) cpl_calloc(nslits, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>)),</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="stringliteral">" could not allocate memory!"</span>) ;</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> </div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> sinfo_msg(<span class="stringliteral">"Create cube object"</span>);</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> <span class="keywordflow">if</span> (ns_index ==0 ) {</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> </div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> cknull(cube = sinfo_new_make_cube_spi(ima_obj_res,slit_edges,</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> correct_dist),</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <span class="stringliteral">"could not construct data cube!"</span>) ;</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> </div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> cknull(cube = sinfo_new_make_cube_dist(ima_obj_res,fcol,distances,</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> correct_dist),</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> <span class="stringliteral">"could not construct a data cube!"</span>) ;</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> }</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> sinfo_free_image(&ima_obj_res);</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> </div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> </div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> cknull(outcube2=sinfo_new_fine_tune(cube,</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> correct_dist,</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> fine_tuning_method,</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> fine_tuning_pol_order,</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> nslits),</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <span class="stringliteral">" could not fine tune the data cube"</span>) ;</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> </div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> sinfo_msg(<span class="stringliteral">"Stretch output cube along Y direction"</span>);</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> cknull(outcube = sinfo_new_bin_cube(outcube2,1,2,0,63,0,63),</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="stringliteral">"Error binning cube"</span>);</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> sinfo_free_imagelist(&cube);</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> </div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> ck0(sinfo_pro_save_ims(outcube,frames,frames,<span class="stringliteral">"out_cube.fits"</span>,<span class="stringliteral">"CUBE"</span>,NULL,</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> <span class="stringliteral">"sinfo_utl_cube_create"</span>,parameters),</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <span class="stringliteral">"cannot save cube %s"</span>, <span class="stringliteral">"out_cube.fits"</span>);</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> </div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> </div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> check_nomsg(center_x = cpl_image_get_size_x(</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> cpl_imagelist_get(outcube,0))/2.+0.5) ;</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> check_nomsg(center_y = cpl_image_get_size_y(</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> cpl_imagelist_get(outcube,0))/2.+0.5 );</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> </div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> sinfo_new_set_wcs_cube(outcube,<span class="stringliteral">"out_cube.fits"</span>, cwav, dis, </div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> cpix, center_x, center_y);</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> </div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> </div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> cleanup: </div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> </div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> <span class="keywordflow">if</span> (ns_index ==0 ) {</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> <span class="keywordflow">if</span>(slit_edges != NULL) {</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> sinfo_new_destroy_2Dfloatarray(&slit_edges,nslits);</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> }</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> <span class="keywordflow">if</span> (distances != NULL ) {</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> sinfo_new_destroy_array(&distances);</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> }</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> }</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> </div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> </div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> </div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> </div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> sinfo_free_float(&correct_dist) ;</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> sinfo_free_imagelist(&cube);</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> sinfo_free_imagelist(&outcube);</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> sinfo_free_imagelist(&outcube2);</div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> sinfo_free_image(&ima_raw_on);</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> sinfo_free_image(&ima_raw_off);</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> sinfo_free_image(&ima_wav_map);</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> sinfo_free_image(&ima_mflat);</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> sinfo_free_image(&ima_mflat_dist);</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> sinfo_free_image(&ima_obj_res);</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> sinfo_free_image(&ima_obj_mflat);</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> sinfo_free_image(&ima_obj_dist);</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> sinfo_free_image(&ima_obj_res);</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> sinfo_free_image(&ima_wav_res);</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> sinfo_free_image(&ima_wav_dif);</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> </div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> </div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> }</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> </div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utl__cube__test_8c_source.html b/html/sinfo__utl__cube__test_8c_source.html
deleted file mode 100644
index 8197f96..0000000
--- a/html/sinfo__utl__cube__test_8c_source.html
+++ /dev/null
@@ -1,288 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_cube_test.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utl_cube_test.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_cube_test.c,v 1.8 2008/02/12 09:11:10 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2008/02/12 09:11:10 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.8 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <sinfo_pfits.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <sinfo_utl_cube_test.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube_test_create(cpl_plugin *) ;</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube_test_exec(cpl_plugin *) ;</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube_test_destroy(cpl_plugin *) ;</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_cube_test_description[] =</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="stringliteral">"This recipe perform cubes combination.\n"</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="stringliteral">"The input files are several cubeses\n"</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="stringliteral">"their associated tags should be CUBE.\n"</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="stringliteral">"The output is a cube PRO_CUBE resulting from the input cubes\n"</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="stringliteral">"accurding to the value of op where op indicates the operation to be \n"</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="stringliteral">"performed specified by the parameter sinfoni.sinfo_utl_cube_test.op\n"</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="stringliteral">"Information on relevant parameters can be found with\n"</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="stringliteral">"esorex --params sinfo_utl_cube_test\n"</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="stringliteral">"esorex --help sinfo_utl_cube_test\n"</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"><a class="code" href="group__sinfo__utl__cube__test.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693"> 88</a></span> <span class="keywordtype">int</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist * list)</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> {</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> cpl_recipe * recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe ) ;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> cpl_plugin * plugin = &recipe->interface ;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="stringliteral">"sinfo_utl_cube_test"</span>,</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="stringliteral">"Combines a cube list in an output cube"</span>,</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> sinfo_utl_cube_test_description,</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="stringliteral">"Andrea Modigliani"</span>,</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="stringliteral">"Andrea.Modigliani at eso.org"</span>,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> sinfo_utl_cube_test_create,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> sinfo_utl_cube_test_exec,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> sinfo_utl_cube_test_destroy) ;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> cpl_pluginlist_append(list, plugin) ;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> }</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube_test_create(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> {</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> cpl_parameter * p ;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> cpl_error_reset();</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> recipe->parameters = cpl_parameterlist_new() ; </div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment">/* Fill the parameters list */</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment">/* --stropt */</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube_test.name_i"</span>, </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> CPL_TYPE_STRING, </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="stringliteral">"Output filename"</span>, </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube_test"</span>,</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="stringliteral">"input.list"</span>);</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"name_i"</span>) ;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube_test.method"</span>, </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> CPL_TYPE_STRING, </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="stringliteral">"Output filename"</span>, </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube_test"</span>,</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="stringliteral">"sinfo_clean_mean"</span>);</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"method"</span>) ;</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube_test.op"</span>, </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> CPL_TYPE_STRING, </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="stringliteral">"A possible operation"</span>, </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube_test"</span>,</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="stringliteral">"+"</span>);</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"op"</span>) ;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube_test.name_o"</span>, </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> CPL_TYPE_STRING, </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="stringliteral">"Output filename"</span>, </div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube_test"</span>,</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="stringliteral">"out_cube.fits"</span>);</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"name_o"</span>) ;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube_test.name_m"</span>, </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> CPL_TYPE_STRING, </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="stringliteral">"Output filename"</span>, </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube_test"</span>,</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="stringliteral">"out_maskcube.fits"</span>);</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"name_m"</span>) ;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment">/* --doubleopt */</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube_test.xsize"</span>, </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> CPL_TYPE_INT, </div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="stringliteral">"Output cube X size"</span>, </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube_test"</span>, </div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> 80) ;</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"xsize"</span>) ;</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube_test.ysize"</span>, </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> CPL_TYPE_INT, </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="stringliteral">"Output cube Y size"</span>, </div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube_test"</span>, </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> 80) ;</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"ysize"</span>) ;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_cube_test.sigma"</span>, </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> CPL_TYPE_DOUBLE, </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="stringliteral">"Output cube Y size"</span>, </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube_test"</span>, </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> 5.) ;</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"sigma"</span>) ;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.objnod.kappa"</span>,</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="stringliteral">"kappa value for kappa-sigma clipping "</span></div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="stringliteral">"of coadded cube"</span>,</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="stringliteral">"sinfoni.objnod"</span>,</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> 2.0);</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"sinfo_objnod-kappa"</span>);</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> cpl_parameterlist_append(recipe->parameters, p);</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> }</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube_test_exec(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> {</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> cpl_errorstate initial_errorstate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordtype">int</span> code=0;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> code=sinfo_utl_cube_test(recipe->parameters, recipe->frames) ;</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(initial_errorstate)) { </div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="comment">/* Dump the error history since recipe execution start. </span></div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="comment"> At this point the recipe cannot recover from the error */</span> </div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> cpl_errorstate_dump(initial_errorstate, CPL_FALSE, NULL); </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> } </div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="keywordflow">return</span> code;</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> }</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_cube_test_destroy(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> {</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> cpl_parameterlist_delete(recipe->parameters) ; </div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> }</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utl__eff_8c_source.html b/html/sinfo__utl__eff_8c_source.html
deleted file mode 100644
index d7395b7..0000000
--- a/html/sinfo__utl__eff_8c_source.html
+++ /dev/null
@@ -1,310 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_eff.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utl_eff.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_eff.c,v 1.7 2010/02/18 19:14:41 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2010/02/18 19:14:41 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.7 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Log: sinfo_utl_eff.c,v $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * Revision 1.7 2010/02/18 19:14:41 amodigli</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * some bug fixes</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> * Revision 1.6 2010/02/08 07:14:34 amodigli</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> * changed sinfo_utl_efficiency API</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * Revision 1.5 2009/12/15 15:07:32 kmirny</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * efficiency update</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> * Revision 1.4 2009/07/27 12:37:43 amodigli</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> * removed parlist from sinfo_utl_efficiency() API as not used</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * Revision 1.3 2009/07/14 14:45:03 kmirny</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> * new recipe parameters</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> * Revision 1.2 2009/06/12 14:20:20 kmirny</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> * updating SINFONI efficiency calculation</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> * Revision 1.1 2009/06/10 14:57:14 kmirny</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> * sinfoni efficiency utility recipe</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#include <sinfo_pfits.h></span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#include <sinfo_key_names.h></span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#include <sinfo_pro_types.h></span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">#include <sinfo_ref_types.h></span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor">#include <sinfo_functions.h></span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor">#include <sinfo_utl_efficiency.h></span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_eff_create(cpl_plugin *) ;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_eff_exec(cpl_plugin *) ;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_eff_destroy(cpl_plugin *) ;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_eff(cpl_parameterlist *, cpl_frameset *) ;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_eff_description[] =</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="stringliteral">"This recipe calculate a efficiency\n"</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="stringliteral">"esorex --params sinfo_utl_eff\n"</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="stringliteral">"esorex --help sinfo_utl_eff\n"</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"><a class="code" href="group__sinfo__utl__eff.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693"> 116</a></span> <span class="keywordtype">int</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist * list)</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> {</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> cpl_recipe * recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe ) ;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> cpl_plugin * plugin = &recipe->interface ;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="stringliteral">"sinfo_utl_eff"</span>,</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="stringliteral">"Produce a table with efficiency"</span>,</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> sinfo_utl_eff_description,</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="stringliteral">"Konstantin Mirny"</span>,</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="stringliteral">"kmirny at eso.org"</span>,</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> sinfo_utl_eff_create,</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> sinfo_utl_eff_exec,</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> sinfo_utl_eff_destroy) ;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> cpl_pluginlist_append(list, plugin) ;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> }</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_eff_create(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> {</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE)</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> cpl_error_reset();</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> recipe->parameters = cpl_parameterlist_new() ;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment">/* Fill the parameters list */</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> }</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_eff_exec(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> {</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keywordtype">int</span> code=0;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> cpl_errorstate initial_errorstate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE)</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> cpl_error_reset();</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> code = sinfo_utl_eff(recipe->parameters, recipe->frames) ;</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(initial_errorstate)) {</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment">/* Dump the error history since recipe execution start.</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment"> At this point the recipe cannot recover from the error */</span></div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> cpl_errorstate_dump(initial_errorstate, CPL_FALSE, NULL);</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> }</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keywordflow">return</span> code ;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> }</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_eff_destroy(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> {</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE)</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> cpl_parameterlist_delete(recipe->parameters) ;</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> }</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> sinfo_utl_eff( cpl_parameterlist * parlist,</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> cpl_frameset * framelist)</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> {</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * name_o = NULL ;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> cpl_frame* product_frame = 0;</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> cpl_propertylist * plist = NULL ;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordtype">int</span> pos = 0;</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordtype">int</span> npos = 0;</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> cpl_frame* frm_sci=NULL;</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> cpl_frame* frm_atm_ext=NULL;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> cpl_frame* frm_std_cat=NULL;</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> cpl_table* eff_tbl=NULL;</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> sinfo_msg(<span class="stringliteral">"Welcome to SINFONI Pipeline release %d.%d.%d"</span>,</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> SINFONI_MAJOR_VERSION,SINFONI_MINOR_VERSION,SINFONI_MICRO_VERSION);</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> ck0(sinfo_dfs_set_groups(framelist),<span class="stringliteral">"Cannot indentify RAW and CALIB frames"</span>);</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="comment">/* HOW TO GET THE VALUE OF A FITS KEYWORD */</span></div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> check(plist=cpl_propertylist_new(),<span class="stringliteral">"Cannot create a Property List"</span>);</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="comment">/* Now performing the data reduction */</span></div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> name_o = <span class="stringliteral">"eff_res.fits"</span> ;</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> check_nomsg(frm_sci=cpl_frameset_find (framelist, PRO_STD_STAR_SPECTRA));</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> check_nomsg(frm_std_cat=cpl_frameset_find (framelist, FLUX_STD_CATALOG));</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> check_nomsg(frm_atm_ext=cpl_frameset_find (framelist, EXTCOEFF_TABLE));</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> sinfo_msg(<span class="stringliteral">"frm_sci=%p frm_std=%p frm_atm_ext=%p"</span>,frm_sci,frm_std_cat,frm_atm_ext);</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> check_nomsg(eff_tbl=sinfo_efficiency_compute(frm_sci,frm_std_cat,frm_atm_ext));</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> npos = cpl_frameset_get_size(framelist);</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">for</span> (pos = 0; pos < npos; pos++)</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> {</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> cpl_frame* pframe = cpl_frameset_get_frame(framelist, pos);</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> cpl_frame_group group = cpl_frame_get_group(pframe);</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="keywordflow">if</span> (CPL_FRAME_GROUP_PRODUCT == group)</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> {</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> check_nomsg(cpl_frame_set_group (pframe, CPL_FRAME_GROUP_CALIB));</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> }</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> }</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="comment">/* Create product frame */</span></div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> check_nomsg(product_frame = cpl_frame_new());</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> check_nomsg(cpl_frame_set_filename(product_frame, name_o)) ;</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> check_nomsg(cpl_frame_set_tag(product_frame,<span class="stringliteral">"sinfo_efficiency"</span> )) ;</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> check_nomsg(cpl_frame_set_type(product_frame, CPL_FRAME_TYPE_TABLE)) ;</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> check_nomsg(cpl_frame_set_group(product_frame, CPL_FRAME_GROUP_PRODUCT)) ;</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> check(cpl_frame_set_level(product_frame, CPL_FRAME_LEVEL_FINAL),</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="stringliteral">"Error while initialising the product frame"</span>) ;</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="comment">/* Add DataFlow keywords */</span></div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> check_nomsg(cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"^ESO PRO CATG"</span>,0));</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="comment">/* Log the saved file in the input frameset */</span></div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> check_nomsg(cpl_frameset_insert(framelist, product_frame)) ;</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> check(cpl_dfs_setup_product_header(plist,</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> product_frame,</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> framelist,</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> parlist,</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="stringliteral">"sinfo_utl_eff"</span>,</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="stringliteral">"SINFONI"</span>,</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> KEY_VALUE_HPRO_DID,NULL),</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="stringliteral">"Problem in the product DFS-compliance"</span>) ;</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> </div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> cleanup:</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="keywordflow">return</span> (cpl_error_get_code()) ? -1 : 0;</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utl__efficiency_8c_source.html b/html/sinfo__utl__efficiency_8c_source.html
deleted file mode 100644
index 6a08566..0000000
--- a/html/sinfo__utl__efficiency_8c_source.html
+++ /dev/null
@@ -1,706 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_efficiency.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utl_efficiency.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004-2009 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Date: 2012/03/03 10:17:31 $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Revision: 1.17 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <sinfo_pfits.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <sinfo_dfs.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_utl_efficiency.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <sinfo_star_index.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#define PRO_STD_STAR_SPECTRA "STD_STAR_SPECTRA"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> COL_NAME_WAVELENGTH[] = <span class="stringliteral">"WAVELENGTH"</span>;</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> COL_NAME_WAVELENGTH_C[] = <span class="stringliteral">"WAVELENGTH"</span>;</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> COL_NAME_LAMBDA[] = <span class="stringliteral">"LAMBDA"</span>;</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> COL_NAME_LA_SILLA[] = <span class="stringliteral">"LA_SILLA"</span>;</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> COL_NAME_REF[] = <span class="stringliteral">"REF"</span>;</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> COL_NAME_COR[] = <span class="stringliteral">"COR"</span>;</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> COL_NAME_SRC_COR[] = <span class="stringliteral">"SRC_COR"</span>;</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> COL_NAME_COUNTS_BKG[] = <span class="stringliteral">"INT_OBJ"</span>;<span class="comment">//"counts_tot";</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> COL_NAME_FLUX[] = <span class="stringliteral">"FLUX"</span>;</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> COL_NAME_EPHOT[] = <span class="stringliteral">"EPHOT"</span>;</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> COL_NAME_EXT[] = <span class="stringliteral">"EXT"</span>;</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> COL_NAME_SRC_EFF[] = <span class="stringliteral">"EFF"</span>;</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> PAR_NAME_DIT[] = <span class="stringliteral">"ESO DET DIT"</span>;</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">static</span> <span class="keywordtype">char</span> FRM_RAW_IMA_SLIT[] = PRO_STD_STAR_SPECTRA;</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">static</span> <span class="keywordtype">char</span> FRM_FLUX_STD_TAB[] = FLUX_STD_TABLE;</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">static</span> <span class="keywordtype">char</span> FRM_FLUX_STD_CAT[] = FLUX_STD_CATALOG;</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">static</span> <span class="keywordtype">char</span> FRM_EXTCOEFF_TAB[] = EXTCOEFF_TABLE;</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keyword">static</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> sinfo_column_to_double(cpl_table* ptable, <span class="keyword">const</span> <span class="keywordtype">char</span>* column);</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keyword">static</span> <span class="keywordtype">double</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> sinfo_table_interpolate(cpl_table* tbl,</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">double</span> wav,</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* colx,</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* coly);</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">static</span> <span class="keywordtype">double</span>* </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> sinfo_create_column_double(cpl_table* tbl, <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name, <span class="keywordtype">int</span> nrow);</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> cpl_error_code</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> sinfo_get_std_obs_values(cpl_propertylist* plist,</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">double</span>* exptime,</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">double</span>* airmass,</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">double</span>* dRA,</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">double</span>* dDEC);</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> sinfo_load_ref_table(cpl_frameset* frames, </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">double</span> dRA, </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">double</span> dDEC, </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">double</span> EPSILON, </div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> cpl_table** pptable)</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> {</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name = NULL;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> cpl_frame* frm_ref = NULL;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment">/* REF STD frame */</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> frm_ref=cpl_frameset_find(frames,FRM_FLUX_STD_TAB);</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordflow">if</span> (!frm_ref)</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> {</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> sinfo_msg(<span class="stringliteral">"REF frame is not found, trying to get REF from the catalog"</span>);</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment">/* REF STD catalog frame */</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment">// get from catalog</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> check_nomsg(frm_ref=cpl_frameset_find(frames,FRM_FLUX_STD_CAT));</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordflow">if</span> (frm_ref)</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> {</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> check_nomsg(name=cpl_frame_get_filename(frm_ref));</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordflow">if</span> (name)</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> {</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> star_index* pstarindex = star_index_load(name);</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordflow">if</span> (pstarindex)</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> {</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* star_name = 0;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> sinfo_msg(<span class="stringliteral">"The catalog is loaded, looking for star in RA[%f] DEC[%f] tolerance[%f]"</span>, dRA, dDEC, EPSILON);</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> *pptable = star_index_get(pstarindex, dRA, dDEC, EPSILON, EPSILON, &star_name);</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordflow">if</span> (*pptable && star_name)</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> {</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> sinfo_msg(<span class="stringliteral">"REF table is found in the catalog, star name is [%s]"</span>, star_name);</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> }</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> {</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> sinfo_msg(<span class="stringliteral">"ERROR - REF table could not be found in the catalog"</span>);</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> }</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> }</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> {</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> sinfo_msg(<span class="stringliteral">"ERROR - could not load the catalog"</span>);</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> }</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> }</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> }</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> }</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> {</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> sinfo_msg(<span class="stringliteral">"REF frame is found"</span>);</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> check_nomsg(name=cpl_frame_get_filename(frm_ref));</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> check_nomsg(*pptable=cpl_table_load(name,1,0));</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> }</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> cleanup:</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> }</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> sinfo_parse_catalog_std_stars(cpl_frame* cat, </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordtype">double</span> dRA, </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keywordtype">double</span> dDEC, </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordtype">double</span> EPSILON, </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> cpl_table** pptable)</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> {</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name = NULL;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordflow">if</span> (cat) {</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> check_nomsg(name=cpl_frame_get_filename(cat));</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keywordflow">if</span> (name) {</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> star_index* pstarindex = star_index_load(name);</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">if</span> (pstarindex) {</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* star_name = 0;</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> sinfo_msg(<span class="stringliteral">"The catalog is loaded, looking for star in RA[%f] DEC[%f] tolerance[%f]"</span>, dRA, dDEC, EPSILON);</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> *pptable = star_index_get(pstarindex, dRA, dDEC, EPSILON, EPSILON, &star_name);</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="keywordflow">if</span> (*pptable && star_name) {</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> sinfo_msg(<span class="stringliteral">"REF table is found in the catalog, star name is [%s]"</span>, star_name);</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> }</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> sinfo_msg(<span class="stringliteral">"ERROR - REF table could not be found in the catalog"</span>);</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> }</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> }</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> sinfo_msg(<span class="stringliteral">"ERROR - could not load the catalog"</span>);</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> }</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> }</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> }</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> cleanup:</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> }</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> sinfo_data_interpolate(</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keywordtype">double</span> wav,</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keywordtype">int</span> nrow,</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keywordtype">double</span>* pw,</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keywordtype">double</span>* pe</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> )</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> {</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keywordtype">double</span> y = 0;</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordtype">double</span> w1=pw[0];</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keywordtype">double</span> w2=pw[nrow-1];</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordtype">double</span> y1_=pe[0]; <span class="comment">/*was changed from y1 to y1_ due a warning from compiler - shadowed variable*/</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordtype">double</span> y2=pe[nrow-1];</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordflow">if</span>(wav < pw[0])</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> {</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> w1=pw[0];</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> w2=pw[1];</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> y1_=pe[0];</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> y2=pe[1];</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> }</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (wav > pw[nrow - 1])</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> {</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> w1=pw[nrow - 2];</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> w2=pw[nrow - 1];</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> y1_=pe[nrow - 2];</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> y2=pe[nrow - 1];</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> }</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> {</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keywordtype">int</span> l = 0;</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keywordtype">int</span> h = nrow - 1;</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="keywordtype">int</span> curr_row = 0;</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> curr_row = (h-l) / 2;</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordflow">while</span>( h-l >1 )</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> {</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keywordflow">if</span>(wav < pw[curr_row])</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> {</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> h = curr_row;</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> }</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> {</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> l = curr_row;</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> }</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> curr_row = (h-l) / 2 + l;</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> }</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> w1=pw[curr_row];</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> w2=pw[curr_row + 1];</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> y1_=pe[curr_row];</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> y2=pe[curr_row + 1];</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> }</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> y=y1_+(y2-y1_)/(w2-w1)*(wav-w1);</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="keywordflow">return</span> y;</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> }</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> sinfo_table_interpolate(cpl_table* tbl,</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="keywordtype">double</span> wav,</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* colx,</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* coly)</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> {</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="keywordtype">double</span> y=0;</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="keywordtype">double</span>* pe=NULL;</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keywordtype">double</span>* pw=NULL;</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="keywordtype">int</span> nrow=0;</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> check_nomsg(pw=cpl_table_get_data_double(tbl,colx));</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> check_nomsg(pe=cpl_table_get_data_double(tbl,coly));</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> check_nomsg(nrow=cpl_table_get_nrow(tbl));</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> </div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> y = sinfo_data_interpolate(wav, nrow, pw, pe);</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> cleanup:</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keywordflow">return</span> y;</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> }</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="keyword">static</span> <span class="keywordtype">double</span>* </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> sinfo_create_column_double(cpl_table* tbl, <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name, <span class="keywordtype">int</span> nrow)</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> {</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="keywordtype">double</span>* retval = 0;</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> check_nomsg(cpl_table_new_column(tbl, col_name, CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> check_nomsg(cpl_table_fill_column_window_double(tbl, col_name, 0, nrow, -1));</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> check_nomsg(retval = cpl_table_get_data_double(tbl,col_name));</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="keywordflow">return</span> retval;</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> cleanup:</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keywordflow">return</span> retval;</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> }</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> </div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> </div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> cpl_error_code</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> sinfo_get_std_obs_values(cpl_propertylist* plist,</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="keywordtype">double</span>* exptime,</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="keywordtype">double</span>* airmass,</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="keywordtype">double</span>* dRA,</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="keywordtype">double</span>* dDEC)</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> {</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="keywordtype">double</span> airmass_start=0;</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="keywordtype">double</span> airmass_end=0;</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> </div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> check_nomsg(*exptime=sinfo_pfits_get_exp_time(plist));</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> airmass_start=sinfo_pfits_get_airmass_start(plist);</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> airmass_end=sinfo_pfits_get_airmass_end(plist);</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> *dRA=sinfo_pfits_get_ra(plist);</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> *dDEC=sinfo_pfits_get_dec(plist);</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> *airmass=0.5*(airmass_start+airmass_end);</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> cleanup:</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="keywordflow">return</span> cpl_error_get_code();</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> </div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> }</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> cpl_table*</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> sinfo_utl_efficiency(</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> cpl_frameset * frames,</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keywordtype">double</span> dGain,</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="keywordtype">double</span> dEpsilon,</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordtype">double</span> aimprim,</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name_atm_wave,</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name_atm_abs,</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name_ref_wave,</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name_ref_flux,</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name_ref_bin,</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name_obj_wave,</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name_obj_flux</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> )</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> {</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> cpl_frame* frm_sci = NULL;</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> cpl_frame* frm_atmext = NULL;</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> cpl_table* tbl_obj_spectrum = NULL; <span class="comment">// input table with spectrum</span></div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> cpl_table* tbl_atmext = NULL;</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="keywordtype">double</span> exptime = 600;</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> cpl_propertylist* plist = NULL;</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> cpl_table* tbl_ref = NULL;</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> cpl_table* tbl_result=NULL;</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name=NULL;</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="keywordtype">double</span> dRA = 0;</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keywordtype">double</span> dDEC = 0;</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> </div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="keywordtype">double</span> airmass=0;</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="keyword">const</span> <span class="keywordtype">double</span> mk2AA=1E4; <span class="comment">/* mkm/AA */</span></div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> </div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="comment">// read all input data and call the internal function</span></div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="comment">// read the input tables</span></div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="comment">// 1. observation</span></div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> check_nomsg(frm_sci=cpl_frameset_find(frames, FRM_RAW_IMA_SLIT));</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> check_nomsg(name=cpl_frame_get_filename(frm_sci));</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> sinfo_msg(<span class="stringliteral">"name=%s"</span>,name);</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> check_nomsg(tbl_obj_spectrum=cpl_table_load(name,1,0));</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> check_nomsg(plist=cpl_propertylist_load(name,0));</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> </div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> sinfo_get_std_obs_values(plist,&exptime,&airmass,&dRA,&dDEC);</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> </div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="comment">// 2. reference table</span></div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> sinfo_load_ref_table(frames, dRA, dDEC, dEpsilon, &tbl_ref);</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="keywordflow">if</span> (tbl_ref)</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> {</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="comment">// 3. atmext</span></div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> check_nomsg(frm_atmext=cpl_frameset_find(frames,FRM_EXTCOEFF_TAB));</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> check_nomsg(name=cpl_frame_get_filename(frm_atmext));</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> check_nomsg(tbl_atmext=cpl_table_load(name,1,0));</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> </div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> tbl_result = sinfo_utl_efficiency_internal(</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> tbl_obj_spectrum,</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> tbl_atmext,</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> tbl_ref,</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> exptime,</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> airmass,</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> aimprim,</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> dGain,</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> 1,</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> mk2AA,<span class="comment">//valid only for SINFONI</span></div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> col_name_atm_wave,</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> col_name_atm_abs,</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> col_name_ref_wave,</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> col_name_ref_flux,</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> col_name_ref_bin,</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> col_name_obj_wave,</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> col_name_obj_flux</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> );</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> }</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> </div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> cleanup:</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> sinfo_free_table(&tbl_atmext);</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> sinfo_free_table(&tbl_obj_spectrum);</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> sinfo_free_table(&tbl_ref);</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="keywordflow">return</span> tbl_result;</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> }</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="keyword">static</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> sinfo_column_to_double(cpl_table* ptable, <span class="keyword">const</span> <span class="keywordtype">char</span>* column)</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> {</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* TEMP = <span class="stringliteral">"_temp_"</span>;</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> check_nomsg(cpl_table_duplicate_column(ptable, TEMP, ptable, column));</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> check_nomsg(cpl_table_erase_column(ptable, column));</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> check_nomsg(cpl_table_cast_column(ptable, TEMP, column, CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> check_nomsg(cpl_table_erase_column(ptable, TEMP ));</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> cleanup:</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> sinfo_msg(<span class="stringliteral">" error column to double [%s]"</span>, column);</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> }</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> </div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> </div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> </div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> cpl_table* </div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> sinfo_utl_efficiency_internal(</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> cpl_table* tbl_obj_spectrum,</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> cpl_table* tbl_atmext,</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> cpl_table* tbl_ref,</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="keywordtype">double</span> exptime,</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="keywordtype">double</span> airmass,</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="keywordtype">double</span> aimprim,</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="keywordtype">double</span> gain,</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="keywordtype">int</span> biny,</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="keywordtype">double</span> src2ref_wave_sampling,</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name_atm_wave,</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name_atm_abs,</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name_ref_wave,</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name_ref_flux,</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name_ref_bin,</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name_obj_wave,</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name_obj_flux</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> )</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> {</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> </div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="keyword">const</span> <span class="keywordtype">double</span> TEL_AREA = 51.2e4; <span class="comment">/* collecting area in cm2 */</span></div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="keywordtype">double</span> cdelta1 = 0;</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="keywordtype">int</span> i = 0;</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> cpl_table* tbl_sel = NULL;</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> </div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="comment">/* structure of the input table</span></div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="comment"> * col type description</span></div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> <span class="comment"> * wavelength double</span></div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="comment"> * flux double</span></div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="comment"> * */</span></div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> cpl_table* tbl_result = NULL; <span class="comment">// output table</span></div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> </div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> <span class="comment"> * structure of the output table</span></div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> <span class="comment"> * col type description</span></div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="comment"> * wavelength double</span></div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <span class="comment"> * EFF double efficiency in range 0-1</span></div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> <span class="comment"> * */</span></div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> </div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> <span class="keywordtype">double</span>* pref = NULL;</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="keywordtype">double</span>* pext = NULL;</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> <span class="keywordtype">double</span>* pcor = NULL;</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> <span class="keywordtype">double</span>* peph = NULL;</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> </div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> <span class="keywordtype">double</span>* pw = NULL; <span class="comment">// wavelength of the input table</span></div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="keywordtype">double</span>* pf = NULL; <span class="comment">// flux of the input table</span></div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="keywordtype">int</span> nrow = 0;</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> <span class="keywordtype">double</span> ref_bin_size=0;</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> </div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> nrow = cpl_table_get_nrow(tbl_obj_spectrum);</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> sinfo_msg(<span class="stringliteral">"Starting efficiency calculation: exptime[%f] airmass[%f] nrow[%d]"</span>, </div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> exptime, airmass, nrow);</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> </div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> <span class="comment">//cpl_table_dump(tbl_obj_spectrum,0,3,stdout);</span></div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> <span class="comment">//sinfo_msg("col wave=%s col_flux=%s",col_name_obj_wave,col_name_obj_flux);</span></div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> </div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="comment">/* convert to double */</span></div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> sinfo_column_to_double(tbl_obj_spectrum,col_name_obj_wave);</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> sinfo_column_to_double(tbl_obj_spectrum,col_name_obj_flux);</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> </div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> check_nomsg(sinfo_column_to_double(tbl_atmext,col_name_atm_wave ));</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> check_nomsg(sinfo_column_to_double(tbl_atmext,col_name_atm_abs ));</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> check_nomsg(sinfo_column_to_double(tbl_ref,col_name_ref_wave ));</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> check_nomsg(sinfo_column_to_double(tbl_ref,col_name_ref_flux ));</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> check_nomsg(sinfo_column_to_double(tbl_ref,col_name_ref_bin ));</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> </div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="comment">/* get bin size of ref STD star spectrum */</span></div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> ref_bin_size=cpl_table_get_double(tbl_ref,col_name_ref_bin,0,NULL);</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> sinfo_msg(<span class="stringliteral">"ref_bin_size[AA]=%g"</span>,ref_bin_size);</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> <span class="comment"> sinfo_msg("Unit conversion factor src/ref STD spectrum=%g",</span></div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> <span class="comment"> src2ref_wave_sampling);</span></div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> </div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> <span class="comment">/* convert obj spectrum wave unit to the same of the reference one */</span></div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> check_nomsg(cpl_table_multiply_scalar(tbl_obj_spectrum,col_name_obj_wave,</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> src2ref_wave_sampling));</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> </div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> check_nomsg(cpl_table_save(tbl_ref,NULL,NULL,<span class="stringliteral">"ref2.fits"</span>,CPL_IO_DEFAULT));</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> check_nomsg(cpl_table_save(tbl_atmext,NULL,NULL,<span class="stringliteral">"atm2.fits"</span>,CPL_IO_DEFAULT));</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> check_nomsg(cpl_table_save(tbl_obj_spectrum,NULL,NULL,<span class="stringliteral">"sci2.fits"</span>,CPL_IO_DEFAULT));</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> sinfo_msg(<span class="stringliteral">"object 2 src std %g"</span>,src2ref_wave_sampling);</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> check_nomsg(pw=cpl_table_get_data_double(tbl_obj_spectrum,col_name_obj_wave));</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> check_nomsg(pf=cpl_table_get_data_double(tbl_obj_spectrum,col_name_obj_flux));</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> </div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <span class="comment">// prepare columns for the output data</span></div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> check_nomsg(tbl_result=cpl_table_new(nrow));</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> check_nomsg(pref=sinfo_create_column_double(tbl_result, COL_NAME_REF, nrow));</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> check_nomsg(pext=sinfo_create_column_double(tbl_result, COL_NAME_EXT, nrow));</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> check_nomsg(pcor=sinfo_create_column_double(tbl_result, COL_NAME_COR, nrow));</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> check_nomsg(peph=sinfo_create_column_double(tbl_result, COL_NAME_EPHOT, nrow));</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> sinfo_msg(<span class="stringliteral">"wave range: [%g,%g]"</span>,pw[0],pw[nrow-1]); </div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> sinfo_msg(<span class="stringliteral">"src_bin_size[AA]=%g"</span>,pw[1] - pw[0]);</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> </div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> cdelta1 = (pw[1] - pw[0]) / src2ref_wave_sampling ; <span class="comment">/* we want the delta in original units. As we rescaled to AA we need to correct for this */</span></div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="comment">//sinfo_msg("nrow=%d cdelta1=%g",nrow,cdelta1);</span></div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="keywordflow">for</span> (i = 0; i < nrow; i++)</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> {</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> check_nomsg(pext[i] = sinfo_table_interpolate(tbl_atmext, pw[i],col_name_atm_wave, col_name_atm_abs));</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> check_nomsg(pref[i] = sinfo_table_interpolate(tbl_ref, pw[i], col_name_ref_wave,col_name_ref_flux));</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> pcor[i] = pow(10,(0.4*pext[i] * (aimprim - airmass)));</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> peph[i] = 1.e7*1.986e-19/(pw[i]*1e-4);</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="comment">/* ph energy: 1.986*10^-19(J.ph^-1)/lam(um) ==> </span></div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <span class="comment"> in as pw is expressed in Angstrom units we need to multiply by 10-4 </span></div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> <span class="comment"> if(i< 2) {</span></div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> <span class="comment"> sinfo_msg("pw[i]=%g,pcor=%g peph=%g",pw[i],pcor[i],peph[i]);</span></div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> }</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> </div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> </div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> <span class="comment"> sinfo_msg("atm: %s, %s ref: %s, %s obj: %s, %s",</span></div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> <span class="comment"> col_name_atm_wave,col_name_atm_abs,</span></div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="comment"> col_name_ref_wave,col_name_ref_flux,</span></div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> <span class="comment"> col_name_obj_wave,col_name_obj_flux);</span></div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> check_nomsg(cpl_table_duplicate_column(tbl_result,COL_NAME_SRC_COR,</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> tbl_obj_spectrum, col_name_obj_flux));</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> check_nomsg(cpl_table_duplicate_column(tbl_result,col_name_obj_wave,</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> tbl_obj_spectrum,col_name_obj_wave));</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> <span class="comment">/* correct for atmospheric extintion */</span></div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> check_nomsg(cpl_table_multiply_columns(tbl_result,COL_NAME_SRC_COR,COL_NAME_COR));</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> </div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> <span class="comment">/* correct object flux by binning: </span></div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="comment"> divides by binsize in ref_wave_sampling (usually AA): </span></div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="comment"> cdelt1[src_sampling]*src2ref_wave_sampling */</span></div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> cpl_table_divide_scalar(tbl_result, COL_NAME_SRC_COR, src2ref_wave_sampling);</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> </div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> cpl_table_divide_scalar(tbl_result, COL_NAME_SRC_COR, cdelta1);</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="comment">/* correct for spatial bin size */</span></div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> </div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> cpl_table_divide_scalar(tbl_result,COL_NAME_SRC_COR,biny); </div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> </div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> </div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="comment">/*correct ref std star flux by binning: </span></div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="comment"> divides by the bin size in ref_wave_sampling (usually AA) */</span></div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> check_nomsg(cpl_table_divide_scalar(tbl_result,COL_NAME_REF,ref_bin_size));</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> </div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> check_nomsg(cpl_table_duplicate_column(tbl_result,COL_NAME_SRC_EFF,</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> tbl_result,COL_NAME_SRC_COR));</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> </div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> </div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> <span class="comment">/* correct for detector gain, exposure time, telescope area */</span></div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> check_nomsg(cpl_table_multiply_scalar(tbl_result,COL_NAME_SRC_EFF,</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> gain / (exptime * TEL_AREA)));</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> </div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="comment">/* correct for photon energy */</span></div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> check_nomsg(cpl_table_multiply_columns(tbl_result,COL_NAME_SRC_EFF,</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> COL_NAME_EPHOT));</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> </div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> </div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> check_nomsg(cpl_table_divide_columns(tbl_result,COL_NAME_SRC_EFF,COL_NAME_REF));</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> <span class="comment">/* apply factor 1.e16 as reference catalog has fluxes in units of 1e-16 */</span></div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> check_nomsg(cpl_table_multiply_scalar(tbl_result,COL_NAME_SRC_EFF,1.e16));</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> <span class="comment">//check_nomsg(cpl_table_save(tbl_result,NULL,NULL,"pippo.fits", CPL_IO_DEFAULT));</span></div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> <span class="comment">/* clean from outliers */</span></div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> cpl_table_and_selected_double(tbl_result,COL_NAME_SRC_EFF,</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> CPL_GREATER_THAN,1.e-5);</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> cpl_table_and_selected_double(tbl_result,COL_NAME_SRC_EFF,</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> CPL_LESS_THAN,100.);</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> tbl_sel=cpl_table_extract_selected(tbl_result);</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> check_nomsg(cpl_table_save(tbl_result,NULL,NULL,<span class="stringliteral">"result9.fits"</span>,CPL_IO_DEFAULT));</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> </div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> cleanup:</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> sinfo_free_table(&tbl_result);</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> <span class="keywordflow">return</span> tbl_sel;</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> }</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> </div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> </div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> cpl_table*</div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> sinfo_efficiency_compute(cpl_frame* frm_sci, </div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> cpl_frame* frm_cat,</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> cpl_frame* frm_atmext)</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> </div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> {</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> </div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> </div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> cpl_table* tbl_eff=NULL;</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> cpl_table* tbl_ref=NULL;</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> cpl_table* tbl_atmext=NULL;</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> cpl_table* tbl_sci=NULL;</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> </div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> <span class="keywordtype">double</span> exptime=600;</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> <span class="keywordtype">double</span> airmass=0;</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="keywordtype">double</span> airmass_start=0;</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> <span class="keywordtype">double</span> airmass_end=0;</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> <span class="keywordtype">double</span> dRA=0;</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> <span class="keywordtype">double</span> dDEC=0;</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> <span class="keywordtype">double</span> gain=0;</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> <span class="keywordtype">double</span> aimprim=0;</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> <span class="keywordtype">double</span> dEpsilon=0.1;</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> <span class="keywordtype">double</span> um2AA=1.e4;</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> </div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> <span class="keywordtype">int</span> nrow=0;</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> <span class="keywordtype">int</span> biny=1;</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> </div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name_sci=NULL;</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name_atm=NULL;</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> </div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> name_sci=cpl_frame_get_filename(frm_sci);</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> sinfo_msg(<span class="stringliteral">"name_sci=%s"</span>,name_sci); </div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> check_nomsg(plist=cpl_propertylist_load(name_sci,0));</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> check_nomsg(tbl_sci=cpl_table_load(name_sci,1,0));</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> check_nomsg(dRA=sinfo_pfits_get_ra(plist));</div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> dDEC=sinfo_pfits_get_dec(plist);</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> airmass_start=sinfo_pfits_get_airmass_end(plist);</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> airmass_end=sinfo_pfits_get_airmass_end(plist);</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> airmass=0.5*(airmass_start+airmass_end);</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> gain=2.42;</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> biny=1;</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> check_nomsg(exptime=sinfo_pfits_get_dit(plist));</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> sinfo_msg(<span class="stringliteral">"gain=%g airm=%g exptime=%g airmass=%g ra=%g dec=%g"</span>,</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> gain,airmass,exptime,airmass,dRA,dDEC);</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> </div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> sinfo_msg(<span class="stringliteral">"table sci spectra=%s"</span>,name_sci);</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> nrow=cpl_table_get_nrow(tbl_sci);</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> </div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> check_nomsg(name_atm=cpl_frame_get_filename(frm_atmext));</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> check_nomsg(tbl_atmext=cpl_table_load(name_atm,1,0));</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> </div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> check_nomsg(sinfo_parse_catalog_std_stars(frm_cat,dRA,dDEC,dEpsilon,&tbl_ref));</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> </div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> <span class="keywordflow">if</span>(tbl_ref == NULL) {</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Provide std sar catalog frame"</span>);</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> <span class="comment">//cpl_table_dump(tbl_ref,0,3,stdout);</span></div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> }</div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> </div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> check_nomsg(cpl_table_save(tbl_sci,NULL,NULL,<span class="stringliteral">"sci.fits"</span>,CPL_IO_DEFAULT));</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> check_nomsg(tbl_eff=sinfo_utl_efficiency_internal(tbl_sci,tbl_atmext,tbl_ref,</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> exptime,airmass,aimprim,gain,</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> biny,um2AA,</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> <span class="stringliteral">"LAMBDA"</span>,</div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> <span class="stringliteral">"LA_SILLA"</span>,</div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> <span class="stringliteral">"LAMBDA"</span>,</div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> <span class="stringliteral">"F_LAMBDA"</span>,</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> <span class="stringliteral">"BIN_WIDTH"</span>,</div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> <span class="stringliteral">"wavelength"</span>,</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> <span class="stringliteral">"counts_bkg"</span>));</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> </div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> cleanup:</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> sinfo_free_table(&tbl_ref);</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> sinfo_free_table(&tbl_atmext);</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> </div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> <span class="keywordflow">return</span> tbl_eff;</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> </div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utl__efficiency_8h_source.html b/html/sinfo__utl__efficiency_8h_source.html
deleted file mode 100644
index a03f844..0000000
--- a/html/sinfo__utl__efficiency_8h_source.html
+++ /dev/null
@@ -1,138 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_efficiency.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utl_efficiency.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004-2009 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Date: 2010/02/08 07:18:21 $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Revision: 1.9 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifndef SINFO_UTL_EFFICIENCY_H_</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_UTL_EFFICIENCY_H_</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> sinfo_load_ref_table(cpl_frameset* frames, </div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="keywordtype">double</span> dRA, </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="keywordtype">double</span> dDEC, </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keywordtype">double</span> EPSILON, </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> cpl_table** pptable);</div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> cpl_table*</div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> sinfo_utl_efficiency(</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> cpl_frameset * frames,</div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keywordtype">double</span> dGain,</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keywordtype">double</span> dEpsilon,</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keywordtype">double</span> aimprim,</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name_atm_wave,</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name_atm_abs,</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name_ref_wave,</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name_ref_flux,</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name_ref_bin,</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name_obj_wave,</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name_obj_flux</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> );</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> cpl_table* </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> sinfo_utl_efficiency_internal(</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> cpl_table* tbl_obj_spectrum,</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> cpl_table* tbl_atmext,</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> cpl_table* tbl_ref,</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordtype">double</span> exptime,</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">double</span> airmass,</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">double</span> aimprim,</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">double</span> gain,</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">int</span> biny,</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">double</span> src2ref_wave_sampling,</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name_atm_wave,</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name_atm_abs,</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name_ref_wave,</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name_ref_flux,</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name_ref_bin,</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name_obj_wave,</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col_name_obj_flux</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> );</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> sinfo_data_interpolate(</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">double</span> wav,</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">int</span> nrow,</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">double</span>* pw,</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">double</span>* pe</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> );</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> cpl_table*</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> sinfo_efficiency_compute(cpl_frame* frm_sci, </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> cpl_frame* frm_cat,</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> cpl_frame* frm_atmext);</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utl__illumcorr_8c_source.html b/html/sinfo__utl__illumcorr_8c_source.html
deleted file mode 100644
index 18bfe7a..0000000
--- a/html/sinfo__utl__illumcorr_8c_source.html
+++ /dev/null
@@ -1,1976 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_illumcorr.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utl_illumcorr.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_illumcorr.c,v 1.18 2012/03/03 10:38:03 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2012/03/03 10:38:03 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.18 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Object Data reduction *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span> <span class="comment">/* allows the program compilation */</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">-----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/* std */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <strings.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <libgen.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include <cpl.h></span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/* sinfoni */</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include <sinfo_pro_types.h></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include <sinfo_product_config.h></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include <sinfo_prepare_stacked_frames_config.h></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include <sinfo_objnod_config.h></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include <sinfo_new_objnod.h></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include <sinfo_new_prepare_stacked_frames.h></span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#include <sinfo_pro_save.h></span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#include <sinfo_raw_types.h></span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#include <sinfo_functions.h></span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#include <sinfo_hidden.h></span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#include <sinfo_globals.h></span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#include <sinfo_rec_utils.h></span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">//Only for sinfo_propertylist_has</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">#include <sinfo_dfs.h></span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> Function prototypes</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">-----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_illumcorr_create(cpl_plugin *plugin);</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_illumcorr_exec(cpl_plugin *plugin);</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_illumcorr_destroy(cpl_plugin *plugin);</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_illumcorr(cpl_parameterlist *config, cpl_frameset *<span class="keyword">set</span>);</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="preprocessor">#define SINFO_DOUBLE_SWAP(a,b) { register double t=(a);(a)=(b);(b)=t; }</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keyword">static</span> cpl_error_code </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> sinfo_tools_sort_double(</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keywordtype">double</span> * pix_arr,</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">int</span> n);</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keyword">static</span> cpl_frame* </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> sinfo_get_dummy_object(cpl_frameset* obj_set);</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> sinfo_illumcorr_config_add (cpl_parameterlist *list);</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keyword">static</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> create_illumcorr (<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id, </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> cpl_parameterlist *cpl_cfg, </div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> cpl_frameset* sof,</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *name_i);</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">static</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> sinfo_illumcorr_create_bins (cpl_imagelist *sky, </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">int</span> llx, <span class="keywordtype">int</span> lly, <span class="keywordtype">int</span> urx, <span class="keywordtype">int</span> ury,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">int</span> spec_bin, </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">double</span> min_flux,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">int</span> ** start,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">int</span> ** end,</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">int</span> z1, <span class="keywordtype">int</span> z2);</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keyword">static</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> sinfo_juha_function1d_natural_spline(<span class="keywordtype">double</span> *, <span class="keywordtype">double</span> *, <span class="keywordtype">int</span>, <span class="keywordtype">double</span> *, </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">double</span> *, <span class="keywordtype">int</span>);</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keyword">static</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> sinfo_function1d_search_value(<span class="keywordtype">double</span> *, <span class="keywordtype">int</span>, <span class="keywordtype">double</span>, <span class="keywordtype">int</span> *) ;</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keyword">static</span> cpl_vector * </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> sinfo_vector_filter_median_create(<span class="keyword">const</span> cpl_vector * v, <span class="keywordtype">int</span> hw);</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keyword">static</span> cpl_vector * </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> sinfo_juha_vector_filter_median_create(<span class="keyword">const</span> cpl_vector * v, <span class="keywordtype">int</span> hw);</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keyword">static</span> <span class="keywordtype">double</span> </div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> sinfo_image_get_median_window (<span class="keyword">const</span> cpl_image *image, </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">int</span> llx, <span class="keywordtype">int</span> lly, <span class="keywordtype">int</span> urx, <span class="keywordtype">int</span> ury);</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment">-----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_illumcorr_description1[] =</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="stringliteral">"This recipe calculates illumination correction based on sky emission.\n"</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="stringliteral">"The input files are sky (or object) frames tagged\n"</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="stringliteral">" SKY_NODDING (OBJECT_NODDING)\n"</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="stringliteral">"Master calibration frames:\n"</span>;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_illumcorr_description2[] =</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="stringliteral">"A corresponding (DIT) dark frame (tag=MASTER_DARK)"</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="stringliteral">"A corresponding (band,preoptics) wavelength map image (tag=WAVE_MAP)\n"</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="stringliteral">"A corresponding (band,preoptics) master flat field (tag=MASTER_FLAT_LAMP)\n"</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="stringliteral">"A corresponding (band,preoptics) master bad pixel map (tag=MASTER_BP_MAP)\n"</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="stringliteral">"A corresponding (band,preoptics) slitlets position frame (tag=SLIT_POS)\n"</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="stringliteral">"A corresponding (band) distortion table (tag=DISTORTION)\n"</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="stringliteral">"A corresponding (band) slitlet distance table (tag=SLITLETS_DISTANCE)\n"</span>;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_illumcorr_description3[] =</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="stringliteral">"The output is a cube resulting from the analysis of sky emission\n"</span>;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_illumcorr_description4[] =</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="stringliteral">"Information on relevant parameters can be found with\n"</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="stringliteral">"esorex --params sinfo_utl_illumcorr\n"</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="stringliteral">"esorex --help sinfo_utl_illumcorr\n"</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_illumcorr_description[1300];</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment">-----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> sinfo_utl_illumcorr_create(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> {</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment"> * We have to provide the option we accept to the application.</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment"> * We need to setup our parameter list and hook it into the recipe</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment"> * interface.</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> cpl_recipe *recipe = (cpl_recipe *)plugin;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> recipe->parameters = cpl_parameterlist_new();</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keywordflow">if</span>(recipe->parameters == NULL) {</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keywordflow">return</span> 1;</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> }</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> cpl_error_reset();</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment"> * Fill the parameter list.</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> sinfo_product_config_add (recipe->parameters);</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> sinfo_prepare_stacked_frames_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> sinfo_objnod_config_add(recipe->parameters); </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> sinfo_illumcorr_config_add (recipe->parameters);</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> }</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> sinfo_utl_illumcorr_exec(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> {</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> cpl_recipe *recipe = (cpl_recipe *) plugin;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keywordtype">int</span> code=0;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> cpl_errorstate initial_errorstate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordflow">if</span>(recipe->parameters == NULL) {</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keywordflow">return</span> 1;</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> }</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keywordflow">if</span>(recipe->frames == NULL) {</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keywordflow">return</span> 1;</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> }</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> code=sinfo_utl_illumcorr(recipe->parameters, recipe->frames);</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(initial_errorstate)) { </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment">/* Dump the error history since recipe execution start. </span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment"> At this point the recipe cannot recover from the error */</span> </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> cpl_errorstate_dump(initial_errorstate, CPL_FALSE, NULL); </div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> } </div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordflow">return</span> code;</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> }</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> sinfo_utl_illumcorr_destroy(cpl_plugin *plugin)</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> {</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> cpl_recipe *recipe = (cpl_recipe *) plugin;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="comment"> * We just destroy what was created during the plugin initializzation phase</span></div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="comment"> * i.e. the parameter list. The frame set is managed by the application which</span></div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="comment"> * called us, so that we must not touch it.</span></div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> cpl_parameterlist_delete(recipe->parameters);</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> }</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist *list)</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> {</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> cpl_recipe *recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe);</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> cpl_plugin *plugin = &recipe->interface;</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> strcpy(sinfo_utl_illumcorr_description,sinfo_utl_illumcorr_description1);</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> strcat(sinfo_utl_illumcorr_description,sinfo_utl_illumcorr_description2);</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> strcat(sinfo_utl_illumcorr_description,sinfo_utl_illumcorr_description3);</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> strcat(sinfo_utl_illumcorr_description,sinfo_utl_illumcorr_description4);</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="stringliteral">"sinfo_utl_illumcorr"</span>,</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="stringliteral">"Object data reduction"</span>,</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> sinfo_utl_illumcorr_description,</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="stringliteral">"Juha Reunanen"</span>,</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="stringliteral">"reunanen at strw.leidenuniv.nl"</span>,</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> sinfo_utl_illumcorr_create,</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> sinfo_utl_illumcorr_exec,</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> sinfo_utl_illumcorr_destroy);</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> </div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> cpl_pluginlist_append(list, plugin);</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> }</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="comment"> * The actual recipe actually start here.</span></div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> sinfo_utl_illumcorr(cpl_parameterlist *config, cpl_frameset *<span class="keyword">set</span>)</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> {</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="keywordtype">char</span> outname[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="keywordtype">int</span> ind=0;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="keywordtype">int</span> nsky=0;</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="keywordtype">int</span> nobj=0;</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="keywordtype">int</span> ncdb=0;</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keywordtype">int</span> nstk=0;</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> cpl_frameset * obj_set=NULL;</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> cpl_frameset * sky_set=NULL;</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> cpl_frameset * cdb_set=NULL;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> cpl_frameset * wrk_set=NULL;</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> cpl_frameset * stk_set=NULL;</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> cpl_frame * sky_frm=NULL;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> </div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> cpl_frame * dup_frm=NULL; </div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> cpl_frame * cdb_frm=NULL;</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> cpl_frame * wrk_frm=NULL;</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> cpl_frameset * ref_set=NULL;</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> cpl_frame * dark_frm=NULL;</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> fake* fk;</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> </div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> cpl_image * ima1=NULL ;</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> cpl_image * ima2=NULL ;</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> cpl_image * resima=NULL ;</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> cpl_propertylist * plist=NULL ;</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> cpl_frame * product_frame=NULL;</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *name_i=NULL;</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="comment">/* cpl_parameterlist_dump(config); */</span></div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> sinfo_msg(<span class="stringliteral">"Welcome to SINFONI Pipeline release %d.%d.%d"</span>,</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> SINFONI_MAJOR_VERSION,SINFONI_MINOR_VERSION,SINFONI_MICRO_VERSION);</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="keywordflow">if</span>(sinfo_dfs_set_groups(<span class="keyword">set</span>)) {</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Cannot identify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> }</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> </div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> dark_frm = cpl_frameset_find(<span class="keyword">set</span>,PRO_MASTER_DARK);</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="keywordflow">if</span> (dark_frm == NULL) {</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Cannot find dark frame"</span>) ;</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="keywordflow">return</span> (-1);</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> }</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> </div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> ref_set=cpl_frameset_duplicate(<span class="keyword">set</span>);</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> obj_set=cpl_frameset_new();</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> sky_set=cpl_frameset_new();</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> cdb_set=cpl_frameset_new();</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> fk = sinfo_fake_new();</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> sinfo_extract_obj_frames(<span class="keyword">set</span>,obj_set);</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> sinfo_extract_sky_frames(<span class="keyword">set</span>,sky_set);</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> sinfo_extract_mst_frames(<span class="keyword">set</span>,cdb_set);</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> </div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> nobj=cpl_frameset_get_size(obj_set);</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> nsky=cpl_frameset_get_size(sky_set);</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> ncdb=cpl_frameset_get_size(cdb_set);</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="keywordflow">if</span> ((nobj==0) && (nsky==0)) {</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Empty input set"</span>);</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> cpl_frameset_delete(obj_set);</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> cpl_frameset_delete(sky_set);</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> cpl_frameset_delete(cdb_set);</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> cpl_frameset_delete(ref_set);</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> sinfo_fake_delete(&fk);</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="keywordflow">return</span> (-1);</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> }</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="comment"> * Create median collapsed sky frame either from real SKY frames, </span></div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="comment"> * or from jittered OBJECT frames</span></div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="keywordflow">if</span> ( nsky != 0) {</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="keywordflow">if</span>( (sky_frm = sinfo_get_dummy_object(sky_set)) == NULL) {</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Problem to get dummy frame"</span>);</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> cpl_frameset_delete(obj_set);</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> cpl_frameset_delete(sky_set);</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> cpl_frameset_delete(cdb_set);</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> cpl_frameset_delete(ref_set);</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> sinfo_fake_delete(&fk);</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="keywordflow">return</span> (-1);</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> }</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> }</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="keywordflow">if</span>( (sky_frm = sinfo_get_dummy_object(obj_set)) == NULL) {</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Problem to get dummy frame"</span>);</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> cpl_frameset_delete(obj_set);</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> cpl_frameset_delete(sky_set);</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> cpl_frameset_delete(cdb_set);</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> cpl_frameset_delete(ref_set);</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> sinfo_fake_delete(&fk);</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="keywordflow">return</span> (-1);</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> }</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> }</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> </div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="comment"> * Seems it's not possible to use draks as sky (due to INS.GRAT1.ENC)</span></div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="comment"> * and stacking phase subtracts dark only in special circumstances...</span></div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> ima1 = cpl_image_load(cpl_frame_get_filename(sky_frm),CPL_TYPE_FLOAT,0,0);</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> ima2 = cpl_image_load(cpl_frame_get_filename(dark_frm),CPL_TYPE_FLOAT,0,0);</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> resima = cpl_image_subtract_create(ima1, ima2);</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> plist=cpl_propertylist_load(cpl_frame_get_filename(sky_frm), 0);</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> cpl_image_delete(ima1);</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> cpl_image_delete(ima2);</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> </div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> product_frame = cpl_frame_new();</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> cpl_frame_set_filename(product_frame, <span class="stringliteral">"out_fake_object2.fits"</span>) ;</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> cpl_frame_set_tag(product_frame, <span class="stringliteral">"OBJECT_NODDING"</span>) ;</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> cpl_frame_set_type(product_frame, CPL_FRAME_TYPE_IMAGE) ;</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> cpl_frame_set_group(product_frame, CPL_FRAME_GROUP_RAW) ;</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="comment">//cpl_frame_set_level(product_frame, CPL_FR) ;</span></div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"^ESO PRO CATG"</span>,0);</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> </div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> cpl_image_save(resima, <span class="stringliteral">"out_fake_object2.fits"</span>, CPL_BPP_IEEE_FLOAT, plist,</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> CPL_IO_DEFAULT) ;</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> cpl_image_delete(resima) ;</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> </div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="comment"> * Stack it - with some trickery...</span></div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="comment"> */</span> </div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> wrk_set=cpl_frameset_new();</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> dup_frm=cpl_frame_duplicate(product_frame);</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> cpl_frame_set_tag (dup_frm, <span class="stringliteral">"OBJECT_NODDING"</span>);</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> cpl_frame_set_group (dup_frm ,CPL_FRAME_GROUP_RAW);</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> cpl_frameset_insert(wrk_set,dup_frm);</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> </div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="comment">/* merge CDB frames to work set */</span></div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="keywordflow">for</span>(k=0;k<ncdb;k++) {</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> cdb_frm=cpl_frameset_get_frame(cdb_set,k);</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> dup_frm=cpl_frame_duplicate(cdb_frm);</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> cpl_frameset_insert(wrk_set,dup_frm);</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> }</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> </div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> </div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="comment">/* defines a new name for the output stacked frame */</span> </div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> sprintf(outname,<span class="stringliteral">"%s%d%s"</span>,<span class="stringliteral">"out_stack"</span>,i,<span class="stringliteral">".fits"</span>);</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="keywordflow">if</span>(-1 == sinfo_new_stack_frames(config,wrk_set,</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> PRO_OBJECT_NODDING_STACKED,i,fk,cpl_func)) {</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> </div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> cpl_frameset_delete(wrk_set);</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="comment">//cpl_frameset_delete(tot_set);</span></div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> cpl_frameset_delete(obj_set);</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> cpl_frameset_delete(sky_set);</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> cpl_frameset_delete(cdb_set);</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> cpl_frameset_delete(ref_set);</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> sinfo_fake_delete(&fk);</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> }</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> </div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> stk_set=cpl_frameset_new();</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> sinfo_contains_frames_kind(wrk_set,stk_set,PRO_STACKED);</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> nstk=cpl_frameset_get_size(stk_set);</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="keywordflow">for</span>(k=0;k<nstk;k++) {</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> wrk_frm=cpl_frameset_get_frame(stk_set,k);</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> dup_frm = cpl_frame_duplicate(wrk_frm);</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> cpl_frameset_insert(<span class="keyword">set</span>,dup_frm);</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> }</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> cpl_frameset_delete(stk_set);</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> cpl_frameset_delete(wrk_set);</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> </div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ; </div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> sinfo_msg(<span class="stringliteral">"CREATING SKY CUBE"</span>);</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ; </div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> </div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> </div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="keywordflow">if</span> ( -1 == (ind=sinfo_new_objnod(cpl_func,config, <span class="keyword">set</span>, PRO_COADD_OBJ ) ) ) {</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"NODDING SCIENCE FRAMES no. %d\n"</span>, ind) ;</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> cpl_frameset_delete(obj_set);</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> cpl_frameset_delete(sky_set);</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> cpl_frameset_delete(cdb_set);</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> cpl_frameset_delete(ref_set);</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> sinfo_fake_delete(&fk);</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> </div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="keywordflow">return</span> (-1);</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> }</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ; </div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> sinfo_msg(<span class="stringliteral">"CREATED SKY CUBE"</span>);</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> sinfo_msg(<span class="stringliteral">"------------------------------"</span>) ; </div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> </div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> </div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> stk_set=cpl_frameset_new();</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> sinfo_contains_frames_kind(<span class="keyword">set</span>, stk_set, PRO_OBS_OBJ);</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> nstk=cpl_frameset_get_size(stk_set);</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> </div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> wrk_frm=cpl_frameset_get_frame(stk_set,0); </div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> name_i = cpl_frame_get_filename(wrk_frm);</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> </div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> </div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="comment">//cpl_frameset_delete(wrk_set);</span></div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> cpl_frameset_delete(obj_set);</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> cpl_frameset_delete(sky_set);</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> cpl_frameset_delete(cdb_set);</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> cpl_frameset_delete(ref_set);</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> sinfo_fake_delete(&fk);</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> cpl_frame_delete(sky_frm);</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> create_illumcorr (cpl_func, config, <span class="keyword">set</span>, name_i);</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> </div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="keywordflow">return</span> (0);</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> </div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> }</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> </div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> </div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> <span class="keyword">static</span> cpl_frame*</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> sinfo_get_dummy_object(cpl_frameset* obj_set)</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> {</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> </div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> cpl_imagelist* obj_list=NULL;</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> cpl_image* fake_object=NULL;</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> <span class="keywordtype">char</span> filename[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> cpl_frame* frame=NULL;</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> cpl_frame* object_frame=NULL;</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> </div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> </div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> obj_list = cpl_imagelist_load_frameset(obj_set,CPL_TYPE_FLOAT,0,0);</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> fake_object = cpl_imagelist_collapse_median_create(obj_list);</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> </div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> frame = cpl_frameset_get_frame(obj_set,0);</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> strcpy(filename,cpl_frame_get_filename(frame));</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> </div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="keywordflow">if</span> ((cpl_error_code)((plist = cpl_propertylist_load(filename, 0)) == NULL)) {</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"getting header from reference ima frame %s"</span>,filename);</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> }</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> </div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> <span class="keywordflow">if</span> (sinfo_propertylist_has(plist, KEY_NAME_DPR_TYPE)) {</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> cpl_propertylist_set_string(plist, KEY_NAME_DPR_TYPE, <span class="stringliteral">"OBJECT"</span>);</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> cpl_propertylist_append_string(plist, KEY_NAME_DPR_TYPE,<span class="stringliteral">"OBJECT"</span>) ;</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> }</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> </div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <span class="keywordflow">if</span> (cpl_image_save(fake_object, <span class="stringliteral">"out_fake_object.fits"</span>, CPL_BPP_IEEE_FLOAT, </div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> plist,CPL_IO_DEFAULT)!=CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Cannot save the product %s"</span>,<span class="stringliteral">"out_fake_object.fits"</span>);</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> }</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> cpl_propertylist_delete(plist);</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> </div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> object_frame = cpl_frame_new() ;</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> cpl_frame_set_filename(object_frame, <span class="stringliteral">"out_fake_object.fits"</span>) ;</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> cpl_frame_set_tag(object_frame, <span class="stringliteral">"OBJECT"</span>) ;</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> cpl_frame_set_type(object_frame, CPL_FRAME_TYPE_IMAGE);</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="comment"> cpl_frame_set_group(object_frame, CPL_FRAME_GROUP_PRODUCT);</span></div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> cpl_frame_set_level(object_frame, CPL_FRAME_LEVEL_FINAL);</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> cpl_image_delete(fake_object);</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> cpl_imagelist_delete(obj_list);</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> </div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <span class="keywordflow">return</span> object_frame;</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> }</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> </div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> sinfo_illumcorr_config_add (cpl_parameterlist *list) </div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> {</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> cpl_parameter *p;</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> </div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> <span class="keywordflow">if</span> (!list) {</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> }</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> </div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.illumcorr.spec_bin"</span>,</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="stringliteral">"Number of spectral planes to be combined "</span>,</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <span class="stringliteral">"sinfoni.illumcorr"</span>,</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> 100, 1, 200);</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"illumcorr-spec_bin"</span>);</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> </div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.illumcorr.min_flux"</span>,</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> <span class="stringliteral">"Minimum flux in each spectral bin "</span>,</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> <span class="stringliteral">"sinfoni.illumcorr"</span>,</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> 0.0);</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"illumcorr-min_flux"</span>);</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> </div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.illumcorr.center_bins"</span>,</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="stringliteral">"Center the spectral bins at prominent "</span></div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> <span class="stringliteral">"emission features "</span>,</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <span class="stringliteral">"sinfoni.illumcorr"</span>,</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> FALSE);</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"illumcorr-center_bins"</span>);</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> </div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> p = cpl_parameter_new_enum(<span class="stringliteral">"sinfoni.illumcorr.order"</span>,</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> <span class="stringliteral">"The order of the polynomial to be fitted "</span></div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> <span class="stringliteral">"for each slitlet"</span>,</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="stringliteral">"sinfoni.illumcorr"</span>,</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> 0,</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> 2,0,1);</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"illumcorr-order"</span>);</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> </div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.illumcorr.sigma"</span>,</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="stringliteral">"Reject n-sigma deviant pixels on each slitlet "</span>,</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="stringliteral">"sinfoni.illumcorr"</span>,</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> 3.0);</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"illumcorr-sigma"</span>);</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> </div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.illumcorr.iterations"</span>,</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> <span class="stringliteral">"Number of sigma rejection iterations to run "</span>,</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> <span class="stringliteral">"sinfoni.illumcorr"</span>,</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> 3);</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"illumcorr-iter"</span>);</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> </div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.illumcorr.llx"</span>,</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> <span class="stringliteral">"Reference region coordinates "</span>,</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> <span class="stringliteral">"sinfoni.illumcorr"</span>,</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> 8, 0, 63);</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"illumcorr-llx"</span>);</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> </div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.illumcorr.lly"</span>,</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="stringliteral">"Reference region coordinates "</span>,</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> <span class="stringliteral">"sinfoni.illumcorr"</span>,</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> 33, 0, 63);</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"illumcorr-lly"</span>);</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> </div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.illumcorr.urx"</span>,</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> <span class="stringliteral">"Reference region coordinates "</span>,</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> <span class="stringliteral">"sinfoni.illumcorr"</span>,</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> 60, 0, 63);</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"illumcorr-urx"</span>);</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> </div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.illumcorr.ury"</span>,</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> <span class="stringliteral">"Reference region coordinates "</span>,</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> <span class="stringliteral">"sinfoni.illumcorr"</span>,</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> 36, 0, 63);</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"illumcorr-ury"</span>);</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> </div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> p = cpl_parameter_new_enum(<span class="stringliteral">"sinfoni.illumcorr.smooth0"</span>,</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> <span class="stringliteral">"Smooth zeroth order terms by fitting "</span></div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> <span class="stringliteral">"with polynomial (1),"</span></div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> <span class="stringliteral">"with median filter (2) or not (0) "</span>,</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> <span class="stringliteral">"sinfoni.illumcorr"</span>,</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> 0, </div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> 3, 0, 1, 2);</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"illumcorr-smooth0"</span>);</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> </div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.illumcorr.smooth0_order"</span>,</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> <span class="stringliteral">"Order of the smoothing polynomial for 0th term"</span>,</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> <span class="stringliteral">"sinfoni.illumcorr"</span>,</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> 2);</div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"illumcorr-smooth_order0"</span>);</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> </div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.illumcorr.smooth0_size"</span>,</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="stringliteral">"Size of the median filter for 0th "</span></div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> <span class="stringliteral">"order smoothing "</span>,</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> <span class="stringliteral">"sinfoni.illumcorr"</span>,</div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> 51,3, 301);</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"illumcorr-smooth0_size"</span>);</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> </div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.illumcorr.smooth1"</span>,</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> <span class="stringliteral">"Smooth higher (>0) order polynomials "</span>,</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> <span class="stringliteral">"sinfoni.illumcorr"</span>,</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> TRUE);</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"illumcorr-smooth"</span>);</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> </div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.illumcorr.smooth1_order"</span>,</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> <span class="stringliteral">"Smoothing order for higher terms "</span>,</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> <span class="stringliteral">"sinfoni.illumcorr"</span>,</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> 2);</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"illumcorr-smooth_order"</span>);</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> </div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.illumcorr.illumcorr_sigma"</span>,</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> <span class="stringliteral">"Reject all fits for which the rms is "</span></div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> <span class="stringliteral">"illumcorr-sigma times bigger than the "</span></div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> <span class="stringliteral">"median rms in each spectral bin"</span> ,</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> <span class="stringliteral">"sinfoni.illumcorr"</span>,</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> 5.0);</div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> cpl_parameter_set_alias(p,CPL_PARAMETER_MODE_CLI,</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> <span class="stringliteral">"illumcorr-illumcorr_sigma"</span>);</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> </div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> }</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> </div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> create_illumcorr (<span class="keyword">const</span> <span class="keywordtype">char</span>* plugin_id,</div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> cpl_parameterlist *cpl_cfg,</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> cpl_frameset* sof,</div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *name_i)</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> {</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> cpl_parameter *p=NULL;</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> <span class="keywordtype">double</span> min_flux=0;</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> <span class="keywordtype">double</span> sigma=0;</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> <span class="keywordtype">double</span> il_sigma=0;</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> <span class="keywordtype">int</span> spec_bin=0;</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> <span class="keywordtype">int</span> _order=0;</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> cpl_imagelist *sky=NULL;</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> cpl_imagelist *binnedsky=NULL;</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> cpl_imagelist *result=NULL;</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> cpl_image *temp_image=NULL;</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> cpl_image *temp_image2=NULL;</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> <span class="keywordtype">int</span> nplanes=0;</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> <span class="keywordtype">int</span> kk=0;</div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> <span class="keywordtype">int</span> n=0;</div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> <span class="keywordtype">int</span> slitlet=0;</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> <span class="keywordtype">int</span> bin=0;</div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> <span class="keywordtype">double</span> *median=NULL;</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> <span class="keywordtype">double</span> *pos=NULL;</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> <span class="keywordtype">double</span> temp=0;</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> <span class="keywordtype">double</span> temp2=0;</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <span class="keywordtype">double</span> *inter_pos=NULL;</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="keywordtype">double</span> *inter_val=NULL;</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> <span class="keywordtype">double</span> *plane_pos=NULL;</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="keywordtype">double</span> *plane_val=NULL;</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="keywordtype">int</span> llx=0;</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> <span class="keywordtype">int</span> lly=0;</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> <span class="keywordtype">int</span> urx=0;</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> <span class="keywordtype">int</span> ury=0;</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> <span class="keywordtype">int</span> smooth_order=0;</div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> <span class="keywordtype">int</span> iter=0;</div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> cpl_vector *row=NULL;</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> cpl_vector *model=NULL;</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> cpl_vector *xpos=NULL;</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> cpl_vector *tempvector=NULL;</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> cpl_vector *tempvector2=NULL;</div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> <span class="keywordtype">double</span> mse=0.0;</div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> <span class="keywordtype">double</span> stddev=0.0;</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> cpl_polynomial*poly=NULL;</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> cpl_polynomial *poly2=NULL;</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> <span class="keywordtype">double</span> *temparray=NULL;</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> <span class="keywordtype">double</span> *tempxarray=NULL;</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> <span class="keywordtype">double</span> * tempsarray=NULL;</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> cpl_polynomial**coeffs=NULL;</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> <span class="keywordtype">float</span> *data=NULL;</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> <span class="keywordtype">double</span> *rms_values=NULL;</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> <span class="keywordtype">double</span> rms_array[32];</div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> <span class="keywordtype">int</span> smooth=0;</div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> <span class="keywordtype">int</span> smooth0=0;</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> <span class="keywordtype">int</span> smooth_order0=0;</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> <span class="keywordtype">int</span> smooth_size0=0;</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> <span class="keywordtype">int</span> center_bins = 0;</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> </div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> <span class="keywordtype">int</span> *bin_start=NULL;</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> <span class="keywordtype">int</span> *bin_end=NULL;</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> <span class="keywordtype">int</span> z1=0;</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> <span class="keywordtype">int</span> z2=0;</div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> <span class="keywordtype">int</span> nbins=0;</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> </div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> FILE *dumpfile=NULL;</div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> </div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> <span class="keywordtype">int</span> order[32];</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> <span class="keywordtype">int</span> ok[64];</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> <span class="keywordtype">int</span> nbad=0;</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> </div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> </div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> <span class="comment"> * Get parameters</span></div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.illumcorr.spec_bin"</span>);</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> spec_bin = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.illumcorr.min_flux"</span>);</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> min_flux = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.illumcorr.order"</span>);</div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> _order = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.illumcorr.sigma"</span>);</div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> sigma = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.illumcorr.llx"</span>);</div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> llx = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.illumcorr.lly"</span>);</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> lly = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.illumcorr.urx"</span>);</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> urx = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.illumcorr.ury"</span>);</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> ury = cpl_parameter_get_int(p);</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.illumcorr.illumcorr_sigma"</span>);</div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> il_sigma = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> </div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.illumcorr.smooth0"</span>);</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> smooth0 = cpl_parameter_get_int (p);</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.illumcorr.smooth0_order"</span>);</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> smooth_order0 = cpl_parameter_get_int (p);</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.illumcorr.smooth0_size"</span>);</div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> smooth_size0 = cpl_parameter_get_int (p);</div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> </div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.illumcorr.smooth1"</span>);</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> smooth = cpl_parameter_get_bool (p);</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.illumcorr.smooth1_order"</span>);</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> smooth_order = cpl_parameter_get_int (p);</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> </div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.illumcorr.iterations"</span>);</div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> iter = cpl_parameter_get_int (p);</div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> </div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> p = cpl_parameterlist_find(cpl_cfg, <span class="stringliteral">"sinfoni.illumcorr.center_bins"</span>);</div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> center_bins = cpl_parameter_get_bool (p);</div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> </div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> <span class="comment">/* cpl_msg_set_level(CPL_MSG_DEBUG); */</span></div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> </div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> <span class="comment"> * Allocate resources</span></div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> sky = cpl_imagelist_load(name_i, CPL_TYPE_FLOAT, 0);</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> nplanes = cpl_imagelist_get_size(sky);</div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> </div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> <span class="comment">/* Determine the start and end points of data within the </span></div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> <span class="comment"> * reference region */</span> </div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> z1 = 0;</div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> z2=nplanes -1;</div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> <span class="keywordflow">while</span> (z1<nplanes </div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> && isnan(cpl_image_get_mean_window(cpl_imagelist_get(sky, z1),</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> llx, lly, urx, ury)))</div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> z1++;</div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> <span class="keywordflow">while</span> (z2>=0</div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> && isnan(cpl_image_get_mean_window(cpl_imagelist_get(sky, z2),</div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> llx, lly, urx, ury)))</div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> z2--;</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> z1 += 2;</div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> z2 -= 2;</div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> <span class="keywordflow">if</span> (z1>=nplanes || z2 <0 || z2<=z1) {</div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"Start z = %d, end z = %d"</span>, z1, z2);</div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> cpl_imagelist_delete (sky);</div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> <span class="keywordflow">return</span> (-1);</div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> }</div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> sinfo_msg (<span class="stringliteral">"Start z = %d, end z = %d"</span>, z1, z2);</div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> </div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> binnedsky = cpl_imagelist_new ();</div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> median = (<span class="keywordtype">double</span>*) cpl_calloc(nplanes/spec_bin, <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> pos = (<span class="keywordtype">double</span>*) cpl_calloc(nplanes/spec_bin, <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> temparray = (<span class="keywordtype">double</span>*) cpl_calloc(64, <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> tempxarray= (<span class="keywordtype">double</span>*) cpl_calloc(64, <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> tempsarray= (<span class="keywordtype">double</span>*) cpl_calloc (nplanes/spec_bin, <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> plane_pos = (<span class="keywordtype">double</span>*) cpl_calloc (nplanes/spec_bin, <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> plane_val = (<span class="keywordtype">double</span>*) cpl_calloc (nplanes/spec_bin, <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> coeffs = (cpl_polynomial**) cpl_calloc(32*(nplanes/spec_bin), </div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> <span class="keyword">sizeof</span>(cpl_polynomial*));</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> rms_values= (<span class="keywordtype">double</span>*) cpl_calloc (32*(nplanes/spec_bin), <span class="keyword">sizeof</span> (double));</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> inter_pos = (<span class="keywordtype">double</span>*) cpl_calloc (nplanes, <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> inter_val = (<span class="keywordtype">double</span>*) cpl_calloc (nplanes, <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> </div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> model = cpl_vector_new(64);</div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> xpos = cpl_vector_new(64);</div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> </div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> <span class="keywordflow">for</span> (i=0; i<64; i++)</div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> cpl_vector_set(xpos, i, (<span class="keywordtype">double</span>)(i)-((<span class="keywordtype">double</span>)urx-(<span class="keywordtype">double</span>)llx)/2.0);</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> <span class="keywordflow">for</span> (i=0; i<nplanes; i++)</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> inter_pos[i] = (<span class="keywordtype">double</span>)i;</div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> </div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> <span class="comment"> * This array could be given as input file for the recipe.</span></div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> <span class="comment"> * Generally, 0th order fitting is sufficient (and of course</span></div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> <span class="comment"> * more robust), but few slitlets might require 1st order.</span></div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> <span class="keywordflow">for</span> (i=0; i<32; i++)</div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> order[i] = _order;</div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> </div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> </div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> <span class="keywordflow">if</span> (center_bins == 1) {</div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> sinfo_msg(<span class="stringliteral">"Using centering on emission features\n"</span>);</div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> nbins = sinfo_illumcorr_create_bins (sky,llx, lly, urx, ury,</div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> spec_bin, min_flux,</div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> &bin_start, &bin_end,</div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> z1, z2);</div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> }</div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> sinfo_msg(<span class="stringliteral">"Using simple spectral binning - "</span></div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> <span class="stringliteral">"not centering on emission features\n"</span>);</div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> nbins = (z2-z1)/spec_bin;</div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> bin_start = (<span class="keywordtype">int</span>*)cpl_calloc(nbins+1, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>));</div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> bin_end = (<span class="keywordtype">int</span>*)cpl_calloc(nbins+1, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>));</div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> <span class="keywordflow">for</span> (i = 0; i<nbins; i++) {</div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> bin_start[i] = z1+i*spec_bin;</div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> bin_end[i] = z1+(i+1)*spec_bin - 1;</div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> }</div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> <span class="keywordflow">if</span> (bin_end[nbins-1]<z2-spec_bin/10) {</div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> bin_start[nbins] = bin_end[nbins-1]+1;</div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> bin_end[nbins] = z2;</div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> nbins++;</div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> }</div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> }</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> </div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> <span class="comment"> * - bin the cube in spectral direction</span></div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> <span class="comment"> * - calculate the median (=reference value) in region </span></div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> <span class="comment"> * (llx,lly) - (urx,ury)</span></div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> <span class="comment"> * - calculate the weighted position of the each spectral bin</span></div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> sinfo_msg(<span class="stringliteral">"Binning the cube and calculating statistics\n"</span>);</div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> <span class="keywordflow">for</span> (i=0; i<nbins; i++) {</div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> temp_image = cpl_image_duplicate(cpl_imagelist_get(sky, bin_start[i]));</div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> median[i] = sinfo_image_get_median_window (temp_image, llx, lly, urx, ury);</div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> pos[i] = median[i] * (double)bin_start[i];</div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> cpl_imagelist_set (binnedsky, temp_image, i);</div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> <span class="keywordflow">for</span> (j=bin_start[i]+1; j<bin_end[i]; j++) {</div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> temp_image2 = cpl_imagelist_get (sky, j);</div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> cpl_image_add (temp_image, temp_image2);</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> temp = sinfo_image_get_median_window (temp_image2, llx, lly, urx, ury);</div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> median[i] = median[i] + temp;</div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> pos[i] = pos[i] + temp*(double)j;</div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> }</div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> temp2 =(double)(bin_end[i]-bin_start[i]+1);</div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> cpl_image_divide_scalar (temp_image, temp2);</div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> pos[i] = pos[i]/median[i];</div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> median[i] = median[i] / temp2;</div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"median image=%g at %g"</span>,median[i], pos[i]); </div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> }</div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> </div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> sinfo_msg(<span class="stringliteral">"Fitting slitlets between x=%d - x=%d\n"</span>, llx, urx);</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> sinfo_msg(<span class="stringliteral">"Fitting order %d\n"</span>, _order); </div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> <span class="keywordflow">for</span> (k=0;k<nbins; k++) {</div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> <span class="keywordflow">if</span> (median[k]>min_flux) {</div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> <span class="keywordflow">for</span> (j=0; j<32; j++) {</div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> row=cpl_vector_new_from_image_row(cpl_imagelist_get(binnedsky,k),2*j+1);</div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> n = 0;</div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> <span class="keywordflow">for</span> (i=llx; i<=urx; i++) {</div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> <span class="keywordflow">if</span> (!isnan(cpl_vector_get(row, i))) {</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> ok[i] = 1;</div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> temparray[n] = cpl_vector_get(row, i);</div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> tempxarray[n] = cpl_vector_get(xpos, i);</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> n++;</div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> }</div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> ok[i] = 0;</div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> }</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> </div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> <span class="comment">/* The ends of cube are always filled with NaNs => n==0*/</span></div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> <span class="keywordflow">if</span> (n>20) {</div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> tempvector = cpl_vector_wrap (n, temparray);</div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> tempvector2= cpl_vector_wrap (n, tempxarray);</div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> poly = cpl_polynomial_fit_1d_create (tempvector2, tempvector, </div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> order[j], &mse);</div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> </div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> <span class="keywordflow">if</span> (poly == NULL)</div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> sinfo_msg(<span class="stringliteral">"Fitting failed (plane %d, row %d): %s"</span>,</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> k, j, (<span class="keywordtype">char</span>* ) cpl_error_get_message());</div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> <span class="keywordflow">if</span> (sigma>0 && iter>0) {</div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> <span class="keywordflow">for</span> (kk = 0; kk<iter; kk++) {</div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> cpl_vector_fill_polynomial (model, poly, 0.0, 1.0);</div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> cpl_vector_subtract (model, row);</div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> </div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> <span class="comment">/* Calculate stdev NaN-correctly */</span></div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> n = 0;</div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> <span class="keywordflow">for</span> (i=llx; i<=urx; i++) </div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> <span class="keywordflow">if</span> (ok[i] == 1) </div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> temparray[n++] = cpl_vector_get(model, i);</div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> stddev = cpl_vector_get_stdev(tempvector);</div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> </div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> <span class="keywordflow">for</span> (i=llx; i<=urx; i++) </div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> <span class="keywordflow">if</span> (ok[i] == 1) </div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> <span class="keywordflow">if</span> (fabs(cpl_vector_get(model, i))>(stddev*sigma))</div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> ok[i] = 0;</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> </div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> </div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> n = 0;</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> <span class="keywordflow">for</span> (i=llx; i<=urx; i++) {</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> <span class="keywordflow">if</span> (ok[i] == 1) {</div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> temparray[n] = cpl_vector_get(row, i);</div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> tempxarray[n] = cpl_vector_get(xpos, i);</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> n++;</div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> }</div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> }</div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> cpl_polynomial_delete(poly);</div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> <span class="keywordflow">if</span> (n>20) {</div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> cpl_vector_unwrap (tempvector);</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> cpl_vector_unwrap (tempvector2);</div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> tempvector = cpl_vector_wrap (n, temparray);</div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> tempvector2= cpl_vector_wrap (n, tempxarray);</div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> stddev = cpl_vector_get_stdev(tempvector);</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> </div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> poly = cpl_polynomial_fit_1d_create (tempvector2, </div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> tempvector, </div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> order[j], &mse);</div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> <span class="keywordflow">if</span> (poly == NULL)</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> }</div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> poly = NULL;</div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> }</div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> <span class="comment">/* printf ("%d %e ", n, stddev); */</span></div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> }</div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> }</div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> </div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> <span class="keywordflow">if</span> (poly!=NULL) {</div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> coeffs[j*nbins+k] = poly;</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> rms_values[j*nbins+k] = sqrt(mse);</div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> }</div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> coeffs[j*nbins+k] = NULL;</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> }</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> cpl_vector_unwrap (tempvector);</div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> cpl_vector_unwrap (tempvector2);</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> }</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> cpl_vector_delete(row);</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> }</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> }</div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> }</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> </div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> <span class="comment"> * These should (probably) be saved in a fits file...</span></div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> sinfo_msg(<span class="stringliteral">"Writing dat out_illum.dat\n"</span>);</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> dumpfile = fopen (<span class="stringliteral">"out_illum.dat"</span>,<span class="stringliteral">"w"</span>);</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> fprintf (dumpfile, <span class="stringliteral">"# slitlet, pos, median, rms, coeff0, coeff1...\n"</span>);</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> <span class="keywordflow">for</span> (slitlet = 0; slitlet<32; slitlet++)</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> <span class="keywordflow">for</span> (bin=0; bin<nbins; bin++) {</div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> poly = coeffs[slitlet*nbins+bin];</div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> <span class="keywordflow">if</span> (poly != NULL) {</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> fprintf (dumpfile, <span class="stringliteral">"%d %f %f %f "</span>,slitlet, pos[bin],</div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> median[bin],</div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> rms_values[slitlet*nbins+bin]);</div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> <span class="keywordflow">for</span> (i=0; i<(cpl_polynomial_get_degree(poly)+1); i++) {</div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> temp = cpl_polynomial_get_coeff (poly, &i);</div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> fprintf (dumpfile, <span class="stringliteral">"%f "</span>, temp);</div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> }</div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> fprintf (dumpfile, <span class="stringliteral">"\n"</span>);</div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> }</div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> }</div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> fclose (dumpfile);</div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> </div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> <span class="comment"> * Remove poor fits:</span></div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> <span class="comment"> * - calculate the median rms of all fits</span></div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> <span class="comment"> * - throw away the fits whose rms is il_sigma*median_rms</span></div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> sinfo_msg(<span class="stringliteral">"Removing poor fits - factor %f"</span>, il_sigma);</div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> n = 0;</div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> i = 0;</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> nbad=0;</div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> sinfo_msg(<span class="stringliteral">"max loop over bin =%d"</span>,nbins);</div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> <span class="keywordflow">for</span> (bin=0; bin<nbins; bin++) {</div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> k = 0;</div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> <span class="keywordflow">for</span> (slitlet=0; slitlet<32; slitlet++)</div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> <span class="keywordflow">if</span> (coeffs[slitlet*nbins+bin] != NULL)</div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> rms_array[k++] = rms_values[slitlet*nbins+bin];</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> <span class="keywordflow">if</span> (k>0) {</div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> <span class="comment">/* For some bizarre reason, cpl_tools_get_median_double returns </span></div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> <span class="comment"> * -1076245448.000000 (is that NaN?). On closer inspection,</span></div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> <span class="comment"> * it seems to have replaced one of the numbers in array with NaN...*/</span></div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> tempvector = cpl_vector_wrap (k, &rms_array[0]);</div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> temp = cpl_vector_get_median (tempvector);</div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> sinfo_msg(<span class="stringliteral">"median temp=%g"</span>,temp);</div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> cpl_vector_unwrap (tempvector);</div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> <span class="keywordflow">for</span> (slitlet=0; slitlet<32; slitlet++) </div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> <span class="keywordflow">if</span> (coeffs[slitlet*nbins+bin] != NULL) {</div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> i++;</div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> <span class="keywordflow">if</span> (rms_values[slitlet*nbins+bin]>(il_sigma*temp)) {</div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> cpl_polynomial_delete(coeffs[slitlet*nbins+bin]);</div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> coeffs[slitlet*nbins+bin] = NULL;</div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> n++;</div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> }</div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> nbad++;</div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> }</div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> </div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> }</div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> }</div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> sinfo_msg(<span class="stringliteral">"Removed %d poor fits out of %d. Bad coeffs=%d"</span>, n,i,nbad);</div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> </div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> <span class="keywordflow">if</span>(smooth0 == 1) {</div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> sinfo_msg(<span class="stringliteral">"Smoothing zeroth terms (order %d)"</span>, smooth_order0);</div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> <span class="comment"> * Since the new centering scheme will pro</span></div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> <span class="comment"> */</span> </div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> <span class="keywordflow">for</span> (slitlet = 0; slitlet<32; slitlet++) {</div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> k = 0;</div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> <span class="keywordflow">for</span> (bin=0; bin<nbins; bin++) {</div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> <span class="keywordflow">if</span> (coeffs[slitlet*nbins+bin] != NULL) {</div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> poly = coeffs[slitlet*nbins+bin];</div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> i = 0;</div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> temp = cpl_polynomial_get_coeff (poly, &i);</div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> plane_pos[k] = pos[bin];</div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> plane_val[k] = temp/median[bin];</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> k++;</div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> }</div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> }</div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> <span class="keywordflow">if</span> (k>0) {</div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> tempvector = cpl_vector_wrap (k, plane_pos);</div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> tempvector2= cpl_vector_wrap (k, plane_val);</div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> poly2 = cpl_polynomial_fit_1d_create (tempvector, tempvector2, </div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> smooth_order0, &mse);</div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> cpl_vector_unwrap (tempvector);</div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> cpl_vector_unwrap (tempvector2);</div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> <span class="keywordflow">for</span> (bin=0; bin<nbins; bin++) {</div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> <span class="keywordflow">if</span> (coeffs[slitlet*nbins+bin] != NULL) {</div>
-<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> poly = coeffs[slitlet*nbins+bin];</div>
-<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span> i = 0;</div>
-<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> temp2 = cpl_polynomial_eval_1d (poly2, pos[bin], NULL);</div>
-<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> cpl_polynomial_set_coeff (poly, &i, temp2*median[bin]);</div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> }</div>
-<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> }</div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> cpl_polynomial_delete(poly2); </div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> }</div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">"Not enough data points in slitlet %d"</span>, slitlet);</div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> }</div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> }</div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (smooth0 == 2) {</div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> sinfo_msg(<span class="stringliteral">"Smoothing zeroth terms (median filter size %d)"</span>, smooth_size0);</div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> smooth_size0 = smooth_size0/2;</div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> <span class="keywordflow">if</span> (smooth_size0 <= 0) smooth_size0 = 1;</div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> <span class="keywordflow">for</span> (slitlet = 0; slitlet<32; slitlet++) {</div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> k = 0;</div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> <span class="keywordflow">for</span> (bin=0; bin<nbins; bin++) {</div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> <span class="keywordflow">if</span> (coeffs[slitlet*nbins+bin] != NULL) {</div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> poly = coeffs[slitlet*nbins+bin];</div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> i = 0;</div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> temp = cpl_polynomial_get_coeff (poly, &i);</div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> <span class="comment">//plane_pos[k] = pos[bin];</span></div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> plane_val[k] = temp/median[bin];</div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> k++;</div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> }</div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> }</div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> <span class="keywordflow">if</span> (k>0) {</div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> tempvector = cpl_vector_wrap (k, plane_val);</div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> tempvector2= sinfo_juha_vector_filter_median_create (tempvector, </div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> smooth_size0);</div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> cpl_vector_unwrap (tempvector);</div>
-<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> kk = 0;</div>
-<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> <span class="keywordflow">for</span> (bin=0; bin<nbins; bin++) {</div>
-<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> <span class="keywordflow">if</span> (coeffs[slitlet*nbins+bin] != NULL) {</div>
-<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> poly = coeffs[slitlet*nbins+bin];</div>
-<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> i = 0;</div>
-<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> cpl_polynomial_set_coeff(poly, &i, cpl_vector_get(tempvector2, kk++)</div>
-<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> *median[bin]);</div>
-<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> }</div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> }</div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> cpl_vector_delete (tempvector2);</div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> }</div>
-<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> }</div>
-<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> }</div>
-<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> </div>
-<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> <span class="keywordflow">if</span>(smooth == 1) {</div>
-<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> sinfo_msg(<span class="stringliteral">"Smoothing higher terms (with order %d)"</span>, smooth_order);</div>
-<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span> <span class="keywordflow">for</span> (slitlet = 0; slitlet<32; slitlet++) {</div>
-<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span> <span class="keywordflow">if</span> (order[slitlet]>0) {</div>
-<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> <span class="keywordflow">for</span> (j=1; j<=order[slitlet]; j++) {</div>
-<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> k = 0;</div>
-<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> <span class="keywordflow">for</span> (bin=0; bin<nbins; bin++) {</div>
-<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> <span class="keywordflow">if</span> (coeffs[slitlet*nbins+bin] != NULL) {</div>
-<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> poly = coeffs[slitlet*nbins+bin];</div>
-<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span> i = 0;</div>
-<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> <span class="comment">/* temp = cpl_polynomial_get_coeff (poly, &i); */</span></div>
-<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span> temp2 = cpl_polynomial_get_coeff (poly, &j);</div>
-<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> plane_pos[k] = pos[bin];</div>
-<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> plane_val[k] = temp2/median[bin];</div>
-<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> k++;</div>
-<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> }</div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> }</div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> <span class="keywordflow">if</span> (k>0) {</div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> tempvector = cpl_vector_wrap (k, plane_pos);</div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> tempvector2= cpl_vector_wrap (k, plane_val);</div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> poly2 = cpl_polynomial_fit_1d_create (tempvector, tempvector2, </div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> smooth_order, &mse);</div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> cpl_vector_unwrap (tempvector);</div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> cpl_vector_unwrap (tempvector2);</div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> <span class="keywordflow">for</span> (bin=0; bin<nbins; bin++) {</div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> <span class="keywordflow">if</span> (coeffs[slitlet*nbins+bin] != NULL) {</div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> poly = coeffs[slitlet*nbins+bin];</div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> i = 0;</div>
-<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> <span class="comment">/* temp = cpl_polynomial_get_coeff (poly, &i); */</span></div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> temp2 = cpl_polynomial_eval_1d (poly2, pos[bin], NULL);</div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> cpl_polynomial_set_coeff (poly, &j, temp2*median[bin]);</div>
-<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> }</div>
-<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> }</div>
-<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> cpl_polynomial_delete(poly2); </div>
-<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> }</div>
-<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">"Not enough data points in slitlet %d\n"</span>, </div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> slitlet);</div>
-<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> }</div>
-<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> }</div>
-<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> }</div>
-<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> }</div>
-<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> </div>
-<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> sinfo_msg(<span class="stringliteral">"Creating cube for illumination correction\n"</span>);</div>
-<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> result = cpl_imagelist_new ();</div>
-<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span> <span class="keywordflow">for</span> (i=0; i<nplanes; i++) {</div>
-<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> temp_image = cpl_image_new (64, 64, CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span> cpl_imagelist_set (result, temp_image, i);</div>
-<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> }</div>
-<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span> </div>
-<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span> sinfo_msg(<span class="stringliteral">"nplanes=%d spec_bin=%d"</span>,nplanes,spec_bin);</div>
-<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> <span class="keywordflow">if</span> ( nbins>5) {</div>
-<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span> sinfo_msg(<span class="stringliteral">"Interpolating\n"</span>);</div>
-<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span> <span class="keywordflow">for</span> (slitlet = 0; slitlet<32; slitlet++) {</div>
-<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span> <span class="keywordflow">for</span> (i=0; i<64; i++) {</div>
-<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> k = 0;</div>
-<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span> <span class="keywordflow">for</span> (bin=0; bin<nbins; bin++) {</div>
-<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span> <span class="keywordflow">if</span> (coeffs[slitlet*nbins+bin] != NULL) {</div>
-<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> plane_pos[k] = pos[bin];</div>
-<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span> plane_val[k] = cpl_polynomial_eval_1d(coeffs[slitlet*nbins+bin], </div>
-<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span> cpl_vector_get(xpos, i),NULL)/</div>
-<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span> median[bin];</div>
-<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span> k++;</div>
-<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span> }</div>
-<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span> }</div>
-<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span> </div>
-<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span> <span class="keywordflow">if</span> (k>3) {</div>
-<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> sinfo_juha_function1d_natural_spline (plane_pos, plane_val, k,</div>
-<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span> &inter_pos[(<span class="keywordtype">int</span>)plane_pos[0]],</div>
-<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span> &inter_val[(<span class="keywordtype">int</span>)plane_pos[0]],</div>
-<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span> (<span class="keywordtype">int</span>)(plane_pos[k-1]-plane_pos[0]));</div>
-<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span> <span class="keywordflow">for</span> (j=0; j<=(int)plane_pos[0]; j++)</div>
-<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span> inter_val[j] = inter_val[(<span class="keywordtype">int</span>)plane_pos[0]+1];</div>
-<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span> <span class="keywordflow">for</span> (j=(<span class="keywordtype">int</span>)plane_pos[k-1]-1; j<nplanes; j++)</div>
-<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span> inter_val[j] = inter_val[(<span class="keywordtype">int</span>)plane_pos[k-1]-2];</div>
-<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span> <span class="keywordflow">for</span> (k=0; k<nplanes; k++) {</div>
-<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span> data = cpl_image_get_data_float(cpl_imagelist_get(result, k));</div>
-<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span> data[i + (2*slitlet)*64] = inter_val[k];</div>
-<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span> data[i + (2*slitlet+1)*64] = inter_val[k];</div>
-<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span> <span class="comment">/*sinfo_msg("inter_val=%g",inter_val[k]);*/</span></div>
-<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span> }</div>
-<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span> }</div>
-<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">"Too few points %d\n"</span>, slitlet);</div>
-<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> }</div>
-<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> }</div>
-<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> }</div>
-<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (nbins==1) {</div>
-<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> sinfo_msg(<span class="stringliteral">"Filling the illumination cube\n"</span>);</div>
-<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> <span class="keywordflow">for</span> (slitlet = 0; slitlet<32; slitlet++) {</div>
-<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> <span class="keywordflow">for</span> (i=0; i<64; i++) {</div>
-<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> <span class="keywordflow">if</span> (coeffs[slitlet] != NULL) {</div>
-<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> temp = cpl_polynomial_eval_1d(coeffs[slitlet], </div>
-<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> cpl_vector_get(xpos, i),NULL)/median[0];</div>
-<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> <span class="keywordflow">for</span> (k=0; k<nplanes; k++) {</div>
-<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> data = cpl_image_get_data_float(cpl_imagelist_get(result, k));</div>
-<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> data[i + (2*slitlet)*64] = temp;</div>
-<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> data[i + (2*slitlet+1)*64] = temp;</div>
-<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> sinfo_msg(<span class="stringliteral">"temp=%g"</span>,temp);</div>
-<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> }</div>
-<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> }</div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> }</div>
-<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> }</div>
-<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> </div>
-<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> }</div>
-<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span> </div>
-<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> </div>
-<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> sinfo_msg(<span class="stringliteral">"Writing ima out_illum.fits\n"</span>);</div>
-<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span> <span class="comment">/* pl = cpl_propertylist_load (name_i, 0); */</span></div>
-<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> <span class="comment">/* if (sinfo_propertylist_has(pl, KEY_NAME_PRO_CATG)) */</span></div>
-<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span> <span class="comment">/* cpl_propertylist_set_string (pl, KEY_NAME_PRO_CATG, PRO_ILL_COR); */</span></div>
-<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span> <span class="comment">/* else */</span></div>
-<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> <span class="comment">/* cpl_propertylist_append_string (pl, KEY_NAME_PRO_CATG, PRO_ILL_COR); */</span></div>
-<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> </div>
-<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span> <span class="comment">/* cpl_imagelist_save(result, "out_illum.fits", CPL_BPP_IEEE_FLOAT, pl, 0); */</span></div>
-<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span> </div>
-<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span> sinfo_pro_save_ims(result,sof,sof,<span class="stringliteral">"out_illum.fits"</span>, </div>
-<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span> PRO_ILL_COR,NULL,plugin_id, cpl_cfg); </div>
-<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> </div>
-<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span> <span class="comment"> * These should (probably) be saved in a fits file...</span></div>
-<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> sinfo_msg(<span class="stringliteral">"Writing dat out_illum2.dat\n"</span>);</div>
-<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span> dumpfile = fopen (<span class="stringliteral">"out_illum2.dat"</span>,<span class="stringliteral">"w"</span>);</div>
-<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span> fprintf (dumpfile, <span class="stringliteral">"# slitlet, pos, median, rms, coeff0, coeff1...\n"</span>);</div>
-<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span> <span class="keywordflow">for</span> (slitlet = 0; slitlet<32; slitlet++)</div>
-<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span> <span class="keywordflow">for</span> (bin=0; bin<nbins; bin++) {</div>
-<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> poly = coeffs[slitlet*nbins+bin];</div>
-<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> <span class="keywordflow">if</span> (poly != NULL) {</div>
-<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span> fprintf (dumpfile, <span class="stringliteral">"%d %f %f %f "</span>,slitlet, pos[bin],</div>
-<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> median[bin],</div>
-<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span> rms_values[slitlet*nbins+bin]);</div>
-<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> <span class="keywordflow">for</span> (i=0; i<(cpl_polynomial_get_degree(poly)+1); i++) {</div>
-<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span> temp = cpl_polynomial_get_coeff (poly, &i);</div>
-<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span> fprintf (dumpfile, <span class="stringliteral">"%f "</span>, temp);</div>
-<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> }</div>
-<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span> fprintf (dumpfile, <span class="stringliteral">"\n"</span>);</div>
-<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> }</div>
-<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span> }</div>
-<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span> fclose (dumpfile);</div>
-<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> </div>
-<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span> <span class="comment"> * Clean up...</span></div>
-<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> <span class="keywordflow">for</span> (i = 0; i<32*nbins; i++)</div>
-<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span> <span class="keywordflow">if</span> (coeffs[i] != NULL)</div>
-<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span> cpl_polynomial_delete(coeffs[i]);</div>
-<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span> cpl_imagelist_delete (sky);</div>
-<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span> cpl_imagelist_delete (binnedsky);</div>
-<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span> cpl_imagelist_delete (result);</div>
-<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span> cpl_free (pos);</div>
-<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span> cpl_free (median);</div>
-<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span> cpl_free (temparray);</div>
-<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span> cpl_free (tempxarray);</div>
-<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span> cpl_free (tempsarray);</div>
-<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> cpl_free (coeffs);</div>
-<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span> cpl_free (inter_pos);</div>
-<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span> cpl_free (inter_val);</div>
-<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> cpl_free (plane_pos);</div>
-<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> cpl_free (plane_val);</div>
-<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span> cpl_free (rms_values);</div>
-<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span> cpl_vector_delete (xpos);</div>
-<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span> cpl_vector_delete (model);</div>
-<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span> </div>
-<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span> cpl_free (bin_start);</div>
-<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span> cpl_free (bin_end);</div>
-<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span> </div>
-<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span> <span class="keywordflow">return</span> (1);</div>
-<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span> }</div>
-<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span> </div>
-<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span> <span class="comment"> * sinfo_illumcorr_create_bins:</span></div>
-<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span> <span class="comment"> * - searches for the sky emission lines</span></div>
-<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span> <span class="comment"> * - increases the size of the bin to include two or more emission</span></div>
-<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span> <span class="comment"> * lines if they are too close to each other</span></div>
-<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span> <span class="comment"> * - fills the space between emission lines with bins if</span></div>
-<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span> <span class="comment"> * thermal background has enough flux</span></div>
-<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span> <span class="comment"> * - copies the start and end points of bins to two arrays</span></div>
-<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> <span class="comment"> * (returned in **start and **end)</span></div>
-<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span> <span class="comment"> * Returns: the number bins created</span></div>
-<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span> <span class="comment"> * The arrays start and end must be deallocated with cpl_free()</span></div>
-<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span> sinfo_illumcorr_create_bins (cpl_imagelist *sky, </div>
-<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span> <span class="keywordtype">int</span> llx, <span class="keywordtype">int</span> lly, <span class="keywordtype">int</span> urx, <span class="keywordtype">int</span> ury,</div>
-<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span> <span class="keywordtype">int</span> spec_bin, </div>
-<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span> <span class="keywordtype">double</span> min_flux,</div>
-<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span> <span class="keywordtype">int</span> ** start,</div>
-<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span> <span class="keywordtype">int</span> ** end,</div>
-<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span> <span class="keywordtype">int</span> z1, <span class="keywordtype">int</span> z2)</div>
-<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span> {</div>
-<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span> <span class="keywordtype">int</span> temp_i=0;</div>
-<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span> <span class="keywordtype">double</span> testarray3[15];</div>
-<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span> <span class="keywordtype">double</span> temp_double=0;</div>
-<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span> <span class="keywordtype">int</span> i=0, j=0, k=0,kk=0,nplanes=0; </div>
-<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span> </div>
-<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span> <span class="keywordtype">int</span> norig = 0, nmerged = 0, ncont = 0, nline=0;</div>
-<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span> </div>
-<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span> <span class="keywordtype">int</span> *pos=NULL;</div>
-<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span> <span class="keywordtype">int</span> *x1=NULL;</div>
-<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span> <span class="keywordtype">int</span> *x2=NULL;</div>
-<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span> <span class="keywordtype">int</span> *x1b=NULL;</div>
-<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span> <span class="keywordtype">int</span> *x2b=NULL;</div>
-<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span> <span class="keywordtype">int</span> *s1=NULL;</div>
-<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span> <span class="keywordtype">int</span> *s2=NULL;</div>
-<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span> <span class="keywordtype">double</span> *flux=NULL;</div>
-<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span> <span class="keywordtype">double</span> *spec=NULL;</div>
-<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span> <span class="keywordtype">double</span> *spec_cont=NULL;</div>
-<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span> <span class="keywordtype">double</span> *spec_line=NULL;</div>
-<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span> </div>
-<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span> </div>
-<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span> cpl_image *temp_image=NULL;</div>
-<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span> </div>
-<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span> nplanes = cpl_imagelist_get_size(sky);</div>
-<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span> </div>
-<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span> spec = (<span class="keywordtype">double</span>*) cpl_calloc(nplanes, <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span> spec_line = (<span class="keywordtype">double</span>*) cpl_calloc(nplanes, <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span> spec_cont = (<span class="keywordtype">double</span>*) cpl_calloc(nplanes, <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span> </div>
-<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span> <span class="comment">/* there should be no way of actually needing this large arrays*/</span></div>
-<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span> pos = (<span class="keywordtype">int</span>*) cpl_calloc(nplanes, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>));</div>
-<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span> flux = (<span class="keywordtype">double</span>*) cpl_calloc(nplanes, <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span> x1 = (<span class="keywordtype">int</span>*) cpl_calloc(nplanes, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>));</div>
-<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span> x2 = (<span class="keywordtype">int</span>*) cpl_calloc(nplanes, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>));</div>
-<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span> x1b = (<span class="keywordtype">int</span>*) cpl_calloc(nplanes, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>));</div>
-<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span> x2b = (<span class="keywordtype">int</span>*) cpl_calloc(nplanes, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>));</div>
-<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span> </div>
-<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span> <span class="keywordflow">for</span> (i=z1; i<=z2; i++) {</div>
-<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span> temp_image = cpl_imagelist_get(sky, i);</div>
-<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span> spec[i] = sinfo_image_get_median_window (temp_image, llx, lly, urx, ury);</div>
-<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span> }</div>
-<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span> <span class="keywordflow">for</span> (i=z1+7; i<=z2-7; i++) {</div>
-<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span> k = 0;</div>
-<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span> <span class="keywordflow">for</span> (j=-7; j<=7; j++)</div>
-<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span> <span class="keywordflow">if</span> (!isnan(spec[i+j]))</div>
-<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span> testarray3[k++] = spec[i+j];</div>
-<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span> <span class="keywordflow">if</span> (k>0) {</div>
-<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span> sinfo_tools_sort_double (&testarray3[0], k);</div>
-<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span> spec_cont[i] = testarray3[1];</div>
-<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span> }</div>
-<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span> spec_cont[i] = 0./0.;</div>
-<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span> }</div>
-<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span> </div>
-<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Calculating pure line flux at pos: "</span></div>
-<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span> <span class="stringliteral">"original, continuum, line"</span>);</div>
-<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span> <span class="keywordflow">for</span> (i=z1; i<=z2; i++) {</div>
-<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span> spec_line[i] = spec[i] - spec_cont[i];</div>
-<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a>(<span class="stringliteral">"Flux at %i = %g %g %g"</span>,</div>
-<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span> i,spec[i],spec_cont[i], spec_line[i]); </div>
-<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span> }</div>
-<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span> </div>
-<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span> </div>
-<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span> <span class="comment"> * Search for peaks</span></div>
-<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span> <span class="comment"> */</span> </div>
-<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span> sinfo_msg (<span class="stringliteral">"Searching for peaks"</span>);</div>
-<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span> temp_double = -10000.0;</div>
-<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span> i = z1+2; </div>
-<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span> <span class="keywordflow">while</span> (i<=z2-2) {</div>
-<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span> <span class="keywordflow">if</span> (!isnan (spec_line[i])) {</div>
-<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span> <span class="keywordflow">if</span> (temp_double<spec_line[i]) {</div>
-<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span> temp_i = i;</div>
-<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span> temp_double = spec_line[i];</div>
-<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span> }</div>
-<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span> <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span> <span class="comment">/* Found a peak! */</span> </div>
-<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span> <span class="keywordflow">if</span> (temp_i == i-1 && spec_line[temp_i]>min_flux) {</div>
-<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span> k = 0;</div>
-<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span> <span class="keywordflow">for</span> (j=-spec_bin/2; j<=spec_bin/2; j++) </div>
-<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span> <span class="keywordflow">if</span> (j+i>=0 && i+j<nplanes && isnan(spec[i+j])) {</div>
-<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span> k = 1;</div>
-<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span> }</div>
-<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span> <span class="keywordflow">if</span> (k==0) {</div>
-<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span> pos[norig] = temp_i; <span class="comment">// - spec_bin/2;</span></div>
-<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span> flux[norig] = temp_double;</div>
-<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span> x1[norig] = temp_i;</div>
-<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span> x2[norig] = temp_i;</div>
-<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span> temp_double = -10000.0; </div>
-<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span> <span class="keywordflow">while</span> (spec_line[i]<spec_line[i-1])</div>
-<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span> i++;</div>
-<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span> i--;</div>
-<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span> norig++;</div>
-<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span> }</div>
-<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span> }</div>
-<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span> }</div>
-<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span> } </div>
-<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span> i++;</div>
-<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span> }</div>
-<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span> </div>
-<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span> <span class="comment"> * Merge the features which are too close to each other</span></div>
-<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span> sinfo_msg (<span class="stringliteral">"Merging emission features too close to each other"</span>);</div>
-<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span> i = 0;</div>
-<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span> <span class="keywordflow">while</span> (i<norig) {</div>
-<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span> <span class="keywordflow">if</span> (flux[i] > 0.0) {</div>
-<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span> j = i+1;</div>
-<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span> <span class="keywordflow">while</span> (j<norig </div>
-<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span> && (x1[j]-x2[i]) <=spec_bin </div>
-<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span> && flux[j]>0.0) {</div>
-<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span> flux[j] = -100.0;</div>
-<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span> x2[i] = x1[j];</div>
-<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span> j++;</div>
-<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span> nmerged++;</div>
-<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span> }</div>
-<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span> }</div>
-<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span> i++;</div>
-<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span> }</div>
-<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span> </div>
-<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span> nline = norig - nmerged;</div>
-<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span> </div>
-<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span> j = 0;</div>
-<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span> <span class="keywordflow">for</span> (i=0; i<norig; i++)</div>
-<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span> <span class="keywordflow">if</span> (flux[i]>0.0) {</div>
-<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span> x1b[j] = x1[i] - spec_bin/2;</div>
-<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span> x2b[j] = x2[i] + spec_bin/2;</div>
-<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span> j++;</div>
-<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span> <span class="comment">/* sinfo_msg ("Bin start: %i end %i", x1[i], x2[i]); */</span></div>
-<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span> }</div>
-<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span> </div>
-<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span> x1b[j] = nplanes+1;</div>
-<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span> </div>
-<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span> <span class="comment"> * Check whether there is enough continuum (thermal background)</span></div>
-<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span> <span class="comment"> * for binning</span></div>
-<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span> j=0;</div>
-<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span> i=z1;</div>
-<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span> <span class="keywordflow">while</span> (i<=z2) {</div>
-<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span> <span class="keywordflow">if</span> (!isnan (spec[i])) {</div>
-<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span> <span class="keywordflow">if</span> (x1b[j]-i < spec_bin) {</div>
-<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span> i = x2b[j]+1;</div>
-<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span> j++;</div>
-<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span> }</div>
-<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span> <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span> kk = 0;</div>
-<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span> <span class="keywordflow">for</span> (k=0; k<spec_bin; k++) </div>
-<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span> <span class="keywordflow">if</span> (spec[i+k]>min_flux)</div>
-<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span> kk++;</div>
-<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span> <span class="keywordflow">if</span> (kk==spec_bin) {</div>
-<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span> x1[ncont] = i;</div>
-<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span> x2[ncont] = i+spec_bin-1;</div>
-<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span> ncont++;</div>
-<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span> i = i+spec_bin;</div>
-<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span> }</div>
-<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span> i++;</div>
-<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span> }</div>
-<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span> }</div>
-<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span> i++;</div>
-<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span> }</div>
-<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span> </div>
-<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span> sinfo_msg (<span class="stringliteral">"Number of bins centered on emission features:"</span>);</div>
-<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span> sinfo_msg (<span class="stringliteral">" %i - %i (merged) = %i"</span>, norig, nmerged, nline);</div>
-<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span> sinfo_msg (<span class="stringliteral">" %i continuum bins"</span>, ncont);</div>
-<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span> </div>
-<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span> s1 = (<span class="keywordtype">int</span>*)cpl_calloc(norig-nmerged+ncont, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>));</div>
-<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span> s2 = (<span class="keywordtype">int</span>*)cpl_calloc(norig-nmerged+ncont, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>));</div>
-<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span> </div>
-<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span> </div>
-<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span> <span class="comment"> * Merge arrays sorted </span></div>
-<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span> i=0;</div>
-<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span> j=0;</div>
-<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span> k=0;</div>
-<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span> <span class="keywordflow">while</span> (k<norig-nmerged+ncont) {</div>
-<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span> <span class="keywordflow">if</span> (i<norig && j<ncont && x1b[i]<x1[j]) {</div>
-<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span> s1[k] = x1b[i];</div>
-<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span> s2[k] = x2b[i];</div>
-<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span> k++;</div>
-<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span> i++;</div>
-<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span> }</div>
-<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (i<norig && j<ncont && x1b[i]>x1[j]) {</div>
-<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span> s1[k] = x1[j];</div>
-<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span> s2[k] = x2[j];</div>
-<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span> k++;</div>
-<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span> j++;</div>
-<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span> }</div>
-<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (i == norig) {</div>
-<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span> s1[k] = x1[j];</div>
-<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span> s2[k] = x2[j];</div>
-<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span> k++;</div>
-<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span> j++;</div>
-<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span> }</div>
-<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (j == ncont) {</div>
-<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span> s1[k] = x1b[i];</div>
-<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span> s2[k] = x2b[i];</div>
-<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span> k++;</div>
-<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span> i++;</div>
-<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span> }</div>
-<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span> <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span> <span class="comment">/* Should never happen */</span></div>
-<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"Something went wrong when combining "</span></div>
-<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span> <span class="stringliteral">"the bins %i and %i"</span>, i,j);</div>
-<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span> }</div>
-<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span> }</div>
-<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span> </div>
-<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span> <span class="keywordflow">for</span> (i=0; i<nline+ncont; i++)</div>
-<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a> (<span class="stringliteral">"Bin start: %i end %i"</span>, s1[i], s2[i]);</div>
-<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span> </div>
-<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span> *start = s1;</div>
-<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span> *end = s2;</div>
-<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span> </div>
-<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span> cpl_free (pos);</div>
-<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span> cpl_free (x1);</div>
-<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span> cpl_free (x2);</div>
-<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span> cpl_free (x1b);</div>
-<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span> cpl_free (x2b);</div>
-<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span> cpl_free (flux);</div>
-<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span> cpl_free (spec);</div>
-<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span> cpl_free (spec_line);</div>
-<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span> cpl_free (spec_cont);</div>
-<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span> </div>
-<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span> <span class="keywordflow">return</span> (nline+ncont);</div>
-<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span> }</div>
-<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span> </div>
-<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span> </div>
-<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span> </div>
-<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span> sinfo_juha_function1d_natural_spline(</div>
-<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span> <span class="keywordtype">double</span> * x,</div>
-<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span> <span class="keywordtype">double</span> * y,</div>
-<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span> <span class="keywordtype">int</span> len,</div>
-<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span> <span class="keywordtype">double</span> * splX,</div>
-<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span> <span class="keywordtype">double</span> * splY,</div>
-<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span> <span class="keywordtype">int</span> splLen</div>
-<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span> )</div>
-<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span> {</div>
-<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span> <span class="keywordtype">int</span> end;</div>
-<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span> <span class="keywordtype">int</span> loc, found;</div>
-<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span> <span class="keyword">register</span> <span class="keywordtype">int</span> i, j, n;</div>
-<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span> <span class="keywordtype">double</span> * h; <span class="comment">/* vector of deltas in x */</span></div>
-<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span> <span class="keywordtype">double</span> * alpha;</div>
-<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span> <span class="keywordtype">double</span> * l,</div>
-<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span> * mu,</div>
-<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span> * z,</div>
-<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span> * a,</div>
-<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span> * b,</div>
-<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span> * c,</div>
-<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span> * d,</div>
-<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span> v;</div>
-<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span> </div>
-<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span> end = len - 1;</div>
-<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span> </div>
-<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span> a = cpl_malloc(<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>) * splLen * 9) ;</div>
-<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span> b = a + len;</div>
-<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span> c = b + len;</div>
-<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span> d = c + len;</div>
-<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span> h = d + len;</div>
-<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span> l = h + len;</div>
-<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span> z = l + len;</div>
-<div class="line"><a name="l01656"></a><span class="lineno"> 1656</span> mu = z + len;</div>
-<div class="line"><a name="l01657"></a><span class="lineno"> 1657</span> alpha = mu + len;</div>
-<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span> </div>
-<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span> <span class="keywordflow">for</span> (i = 0; i < len; i++) {</div>
-<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span> a[i] = (double)y[i];</div>
-<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span> }</div>
-<div class="line"><a name="l01662"></a><span class="lineno"> 1662</span> </div>
-<div class="line"><a name="l01663"></a><span class="lineno"> 1663</span> <span class="comment">/* Calculate vector of differences */</span></div>
-<div class="line"><a name="l01664"></a><span class="lineno"> 1664</span> <span class="keywordflow">for</span> (i = 0; i < end; i++) {</div>
-<div class="line"><a name="l01665"></a><span class="lineno"> 1665</span> h[i] = (double)x[i + 1] - (<span class="keywordtype">double</span>)x[i];</div>
-<div class="line"><a name="l01666"></a><span class="lineno"> 1666</span> <span class="keywordflow">if</span> (h[i] < 0.0) {</div>
-<div class="line"><a name="l01667"></a><span class="lineno"> 1667</span> cpl_free(a) ;</div>
-<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span> }</div>
-<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span> }</div>
-<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span> </div>
-<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span> <span class="comment">/* Calculate alpha vector */</span></div>
-<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span> <span class="keywordflow">for</span> (n = 0, i = 1; i < end; i++, n++) {</div>
-<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span> <span class="comment">/* n = i - 1 */</span></div>
-<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span> alpha[i] = 3.0 * ((a[i+1] / h[i]) - (a[i] / h[n]) - (a[i] / h[i]) +</div>
-<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span> (a[n] / h[n]));</div>
-<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span> }</div>
-<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span> </div>
-<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span> <span class="comment">/* Vectors to solve the tridiagonal matrix */</span></div>
-<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span> l[0] = l[end] = 1.0;</div>
-<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span> mu[0] = mu[end] = 0.0;</div>
-<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span> z[0] = z[end] = 0.0;</div>
-<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span> c[0] = c[end] = 0.0;</div>
-<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span> </div>
-<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span> <span class="comment">/* Calculate the intermediate results */</span></div>
-<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span> <span class="keywordflow">for</span> (n = 0, i = 1; i < end; i++, n++) {</div>
-<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span> <span class="comment">/* n = i-1 */</span></div>
-<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span> l[i] = 2 * (h[i] + h[n]) - h[n] * mu[n];</div>
-<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span> mu[i] = h[i] / l[i];</div>
-<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span> z[i] = (alpha[i] - h[n] * z[n]) / l[i];</div>
-<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span> }</div>
-<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span> <span class="keywordflow">for</span> (n = end, j = end - 1; j >= 0; j--, n--) {</div>
-<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span> <span class="comment">/* n = j + 1 */</span></div>
-<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span> c[j] = z[j] - mu[j] * c[n];</div>
-<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span> b[j] = (a[n] - a[j]) / h[j] - h[j] * (c[n] + 2.0 * c[j]) / 3.0;</div>
-<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span> d[j] = (c[n] - c[j]) / (3.0 * h[j]);</div>
-<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span> }</div>
-<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span> </div>
-<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span> <span class="comment">/* Now calculate the new values */</span></div>
-<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span> <span class="keywordflow">for</span> (j = 0; j < splLen; j++) {</div>
-<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span> v = (double)splX[j];</div>
-<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span> splY[j] = (float)0;</div>
-<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span> </div>
-<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span> <span class="comment">/* Is it outside the interval? */</span></div>
-<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span> <span class="keywordflow">if</span> ((v < (<span class="keywordtype">double</span>)x[0]) || (v > (<span class="keywordtype">double</span>)x[end])) {</div>
-<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span> <span class="keywordflow">continue</span>;</div>
-<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span> }</div>
-<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span> <span class="comment">/* Search for the interval containing v in the x vector */</span></div>
-<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span> loc = sinfo_function1d_search_value(x, len, (<span class="keywordtype">double</span>)v, &found);</div>
-<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span> <span class="keywordflow">if</span> (found) {</div>
-<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span> splY[j] = y[loc];</div>
-<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span> loc--;</div>
-<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span> v -= (double)x[loc];</div>
-<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span> splY[j] = (float)( a[loc] + v * (b[loc] + v * (c[loc] + v * d[loc])));</div>
-<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span> }</div>
-<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span> }</div>
-<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span> cpl_free(a) ;</div>
-<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span> }</div>
-<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span> </div>
-<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span> </div>
-<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span> sinfo_function1d_search_value(</div>
-<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span> <span class="keywordtype">double</span> * x,</div>
-<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span> <span class="keywordtype">int</span> len,</div>
-<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span> <span class="keywordtype">double</span> key,</div>
-<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span> <span class="keywordtype">int</span> * foundPtr</div>
-<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span> )</div>
-<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span> {</div>
-<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span> <span class="keywordtype">int</span> high,</div>
-<div class="line"><a name="l01749"></a><span class="lineno"> 1749</span> low,</div>
-<div class="line"><a name="l01750"></a><span class="lineno"> 1750</span> middle;</div>
-<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span> </div>
-<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span> low = 0;</div>
-<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span> high = len - 1;</div>
-<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span> </div>
-<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span> <span class="keywordflow">while</span> (high >= low) {</div>
-<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span> middle = (high + low) / 2;</div>
-<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span> <span class="keywordflow">if</span> (key > x[middle]) {</div>
-<div class="line"><a name="l01758"></a><span class="lineno"> 1758</span> low = middle + 1;</div>
-<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (key < x[middle]) {</div>
-<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span> high = middle - 1;</div>
-<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span> *foundPtr = 1;</div>
-<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span> <span class="keywordflow">return</span> (middle);</div>
-<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span> }</div>
-<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span> }</div>
-<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span> *foundPtr = 0;</div>
-<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span> <span class="keywordflow">return</span> (low);</div>
-<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span> }</div>
-<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span> </div>
-<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span> </div>
-<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span> <span class="comment">cpl_vector * sinfo_vector_filter_median_create(</span></div>
-<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span> <span class="comment"> const cpl_vector * v, </span></div>
-<div class="line"><a name="l01774"></a><span class="lineno"> 1774</span> <span class="comment"> int hw)</span></div>
-<div class="line"><a name="l01775"></a><span class="lineno"> 1775</span> <span class="comment">{</span></div>
-<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span> <span class="comment"> cpl_vector * filtered;</span></div>
-<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span> <span class="comment"> double * row;</span></div>
-<div class="line"><a name="l01778"></a><span class="lineno"> 1778</span> <span class="comment"> int i, j, k, size;</span></div>
-<div class="line"><a name="l01779"></a><span class="lineno"> 1779</span> <span class="comment"> double temp;</span></div>
-<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span> <span class="comment"> </span></div>
-<div class="line"><a name="l01781"></a><span class="lineno"> 1781</span> <span class="comment"> size = cpl_vector_get_size(v);</span></div>
-<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span> <span class="comment"> filtered = cpl_vector_new(size);</span></div>
-<div class="line"><a name="l01783"></a><span class="lineno"> 1783</span> <span class="comment"></span></div>
-<div class="line"><a name="l01784"></a><span class="lineno"> 1784</span> <span class="comment"> row = cpl_malloc((2*hw+1) * sizeof(double));</span></div>
-<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span> <span class="comment"> for (i=0; i<size; i++) {</span></div>
-<div class="line"><a name="l01786"></a><span class="lineno"> 1786</span> <span class="comment"> k = 0;</span></div>
-<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span> <span class="comment"> for (j=-hw; j<=hw; j++) </span></div>
-<div class="line"><a name="l01788"></a><span class="lineno"> 1788</span> <span class="comment"> if ( (i+j) >= 0 && (i+j) < size) {</span></div>
-<div class="line"><a name="l01789"></a><span class="lineno"> 1789</span> <span class="comment"> temp = cpl_vector_get (v, i+j);</span></div>
-<div class="line"><a name="l01790"></a><span class="lineno"> 1790</span> <span class="comment"> row[k] = temp;</span></div>
-<div class="line"><a name="l01791"></a><span class="lineno"> 1791</span> <span class="comment"> k++;</span></div>
-<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span> <span class="comment"> cpl_tools_sort_double (row, k);</span></div>
-<div class="line"><a name="l01794"></a><span class="lineno"> 1794</span> <span class="comment"> if (k%2 == 1)</span></div>
-<div class="line"><a name="l01795"></a><span class="lineno"> 1795</span> <span class="comment"> temp = row[k/2];</span></div>
-<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span> <span class="comment"> else</span></div>
-<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span> <span class="comment"> temp = row[k/2-1];</span></div>
-<div class="line"><a name="l01798"></a><span class="lineno"> 1798</span> <span class="comment"> cpl_vector_set (filtered, i, temp);</span></div>
-<div class="line"><a name="l01799"></a><span class="lineno"> 1799</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span> <span class="comment"> cpl_free(row);</span></div>
-<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span> <span class="comment"> return filtered;</span></div>
-<div class="line"><a name="l01802"></a><span class="lineno"> 1802</span> <span class="comment">}</span></div>
-<div class="line"><a name="l01803"></a><span class="lineno"> 1803</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l01804"></a><span class="lineno"> 1804</span> </div>
-<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span> <span class="keyword">static</span> cpl_vector * </div>
-<div class="line"><a name="l01806"></a><span class="lineno"> 1806</span> sinfo_juha_vector_filter_median_create(</div>
-<div class="line"><a name="l01807"></a><span class="lineno"> 1807</span> <span class="keyword">const</span> cpl_vector * v, </div>
-<div class="line"><a name="l01808"></a><span class="lineno"> 1808</span> <span class="keywordtype">int</span> hw)</div>
-<div class="line"><a name="l01809"></a><span class="lineno"> 1809</span> {</div>
-<div class="line"><a name="l01810"></a><span class="lineno"> 1810</span> cpl_vector * filtered=NULL;</div>
-<div class="line"><a name="l01811"></a><span class="lineno"> 1811</span> <span class="keywordtype">double</span> * row=NULL;</div>
-<div class="line"><a name="l01812"></a><span class="lineno"> 1812</span> <span class="keywordtype">int</span> i, j, k, size;</div>
-<div class="line"><a name="l01813"></a><span class="lineno"> 1813</span> <span class="keywordtype">double</span> temp;</div>
-<div class="line"><a name="l01814"></a><span class="lineno"> 1814</span> </div>
-<div class="line"><a name="l01815"></a><span class="lineno"> 1815</span> size = cpl_vector_get_size(v);</div>
-<div class="line"><a name="l01816"></a><span class="lineno"> 1816</span> filtered = cpl_vector_new(size);</div>
-<div class="line"><a name="l01817"></a><span class="lineno"> 1817</span> </div>
-<div class="line"><a name="l01818"></a><span class="lineno"> 1818</span> row = cpl_malloc((2*hw+1) * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l01819"></a><span class="lineno"> 1819</span> <span class="keywordflow">for</span> (i=0; i<size; i++) {</div>
-<div class="line"><a name="l01820"></a><span class="lineno"> 1820</span> k = 0;</div>
-<div class="line"><a name="l01821"></a><span class="lineno"> 1821</span> <span class="keywordflow">for</span> (j=-hw; j<=hw; j++) </div>
-<div class="line"><a name="l01822"></a><span class="lineno"> 1822</span> <span class="keywordflow">if</span> ( (i+j) >= 0 && (i+j) < size) {</div>
-<div class="line"><a name="l01823"></a><span class="lineno"> 1823</span> temp = cpl_vector_get (v, i+j);</div>
-<div class="line"><a name="l01824"></a><span class="lineno"> 1824</span> row[k] = temp;</div>
-<div class="line"><a name="l01825"></a><span class="lineno"> 1825</span> k++;</div>
-<div class="line"><a name="l01826"></a><span class="lineno"> 1826</span> }</div>
-<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span> sinfo_tools_sort_double (row, k);</div>
-<div class="line"><a name="l01828"></a><span class="lineno"> 1828</span> </div>
-<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span> <span class="keywordflow">if</span> (k%2 == 1)</div>
-<div class="line"><a name="l01830"></a><span class="lineno"> 1830</span> temp = row[k/2];</div>
-<div class="line"><a name="l01831"></a><span class="lineno"> 1831</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01832"></a><span class="lineno"> 1832</span> temp = row[k/2-1];</div>
-<div class="line"><a name="l01833"></a><span class="lineno"> 1833</span> cpl_vector_set (filtered, i, temp);</div>
-<div class="line"><a name="l01834"></a><span class="lineno"> 1834</span> }</div>
-<div class="line"><a name="l01835"></a><span class="lineno"> 1835</span> cpl_free(row);</div>
-<div class="line"><a name="l01836"></a><span class="lineno"> 1836</span> <span class="keywordflow">return</span> filtered;</div>
-<div class="line"><a name="l01837"></a><span class="lineno"> 1837</span> }</div>
-<div class="line"><a name="l01838"></a><span class="lineno"> 1838</span> </div>
-<div class="line"><a name="l01839"></a><span class="lineno"> 1839</span> <span class="preprocessor">#define CPL_PIX_STACK_SIZE 50</span></div>
-<div class="line"><a name="l01840"></a><span class="lineno"> 1840</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01851"></a><span class="lineno"> 1851</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01852"></a><span class="lineno"> 1852</span> <span class="keyword">static</span> cpl_error_code sinfo_tools_sort_double(</div>
-<div class="line"><a name="l01853"></a><span class="lineno"> 1853</span> <span class="keywordtype">double</span> * pix_arr,</div>
-<div class="line"><a name="l01854"></a><span class="lineno"> 1854</span> <span class="keywordtype">int</span> n)</div>
-<div class="line"><a name="l01855"></a><span class="lineno"> 1855</span> {</div>
-<div class="line"><a name="l01856"></a><span class="lineno"> 1856</span> <span class="keywordtype">int</span> i, ir, j, k, l;</div>
-<div class="line"><a name="l01857"></a><span class="lineno"> 1857</span> <span class="keywordtype">int</span> * i_stack ;</div>
-<div class="line"><a name="l01858"></a><span class="lineno"> 1858</span> <span class="keywordtype">int</span> j_stack ;</div>
-<div class="line"><a name="l01859"></a><span class="lineno"> 1859</span> <span class="keywordtype">double</span> a ;</div>
-<div class="line"><a name="l01860"></a><span class="lineno"> 1860</span> </div>
-<div class="line"><a name="l01861"></a><span class="lineno"> 1861</span> <span class="comment">/* Check entries */</span></div>
-<div class="line"><a name="l01862"></a><span class="lineno"> 1862</span> cpl_ensure(pix_arr, CPL_ERROR_NULL_INPUT, CPL_ERROR_NULL_INPUT) ;</div>
-<div class="line"><a name="l01863"></a><span class="lineno"> 1863</span> </div>
-<div class="line"><a name="l01864"></a><span class="lineno"> 1864</span> ir = n ;</div>
-<div class="line"><a name="l01865"></a><span class="lineno"> 1865</span> l = 1 ;</div>
-<div class="line"><a name="l01866"></a><span class="lineno"> 1866</span> j_stack = 0 ;</div>
-<div class="line"><a name="l01867"></a><span class="lineno"> 1867</span> i_stack = malloc(CPL_PIX_STACK_SIZE * <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l01868"></a><span class="lineno"> 1868</span> <span class="keywordflow">for</span> (;;) {</div>
-<div class="line"><a name="l01869"></a><span class="lineno"> 1869</span> <span class="keywordflow">if</span> (ir-l < 7) {</div>
-<div class="line"><a name="l01870"></a><span class="lineno"> 1870</span> <span class="keywordflow">for</span> (j=l+1 ; j<=ir ; j++) {</div>
-<div class="line"><a name="l01871"></a><span class="lineno"> 1871</span> a = pix_arr[j-1];</div>
-<div class="line"><a name="l01872"></a><span class="lineno"> 1872</span> <span class="keywordflow">for</span> (i=j-1 ; i>=1 ; i--) {</div>
-<div class="line"><a name="l01873"></a><span class="lineno"> 1873</span> <span class="keywordflow">if</span> (pix_arr[i-1] <= a) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01874"></a><span class="lineno"> 1874</span> pix_arr[i] = pix_arr[i-1];</div>
-<div class="line"><a name="l01875"></a><span class="lineno"> 1875</span> }</div>
-<div class="line"><a name="l01876"></a><span class="lineno"> 1876</span> pix_arr[i] = a;</div>
-<div class="line"><a name="l01877"></a><span class="lineno"> 1877</span> }</div>
-<div class="line"><a name="l01878"></a><span class="lineno"> 1878</span> <span class="keywordflow">if</span> (j_stack == 0) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01879"></a><span class="lineno"> 1879</span> ir = i_stack[j_stack-- -1];</div>
-<div class="line"><a name="l01880"></a><span class="lineno"> 1880</span> l = i_stack[j_stack-- -1];</div>
-<div class="line"><a name="l01881"></a><span class="lineno"> 1881</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01882"></a><span class="lineno"> 1882</span> k = (l+ir) >> 1;</div>
-<div class="line"><a name="l01883"></a><span class="lineno"> 1883</span> SINFO_DOUBLE_SWAP(pix_arr[k-1], pix_arr[l])</div>
-<div class="line"><a name="l01884"></a><span class="lineno"> 1884</span> <span class="keywordflow">if</span> (pix_arr[l] > pix_arr[ir-1]) {</div>
-<div class="line"><a name="l01885"></a><span class="lineno"> 1885</span> SINFO_DOUBLE_SWAP(pix_arr[l], pix_arr[ir-1])</div>
-<div class="line"><a name="l01886"></a><span class="lineno"> 1886</span> }</div>
-<div class="line"><a name="l01887"></a><span class="lineno"> 1887</span> <span class="keywordflow">if</span> (pix_arr[l-1] > pix_arr[ir-1]) {</div>
-<div class="line"><a name="l01888"></a><span class="lineno"> 1888</span> SINFO_DOUBLE_SWAP(pix_arr[l-1], pix_arr[ir-1])</div>
-<div class="line"><a name="l01889"></a><span class="lineno"> 1889</span> }</div>
-<div class="line"><a name="l01890"></a><span class="lineno"> 1890</span> <span class="keywordflow">if</span> (pix_arr[l] > pix_arr[l-1]) {</div>
-<div class="line"><a name="l01891"></a><span class="lineno"> 1891</span> SINFO_DOUBLE_SWAP(pix_arr[l], pix_arr[l-1])</div>
-<div class="line"><a name="l01892"></a><span class="lineno"> 1892</span> }</div>
-<div class="line"><a name="l01893"></a><span class="lineno"> 1893</span> i = l+1;</div>
-<div class="line"><a name="l01894"></a><span class="lineno"> 1894</span> j = ir;</div>
-<div class="line"><a name="l01895"></a><span class="lineno"> 1895</span> a = pix_arr[l-1];</div>
-<div class="line"><a name="l01896"></a><span class="lineno"> 1896</span> <span class="keywordflow">for</span> (;;) {</div>
-<div class="line"><a name="l01897"></a><span class="lineno"> 1897</span> <span class="keywordflow">do</span> i++; <span class="keywordflow">while</span> (pix_arr[i-1] < a);</div>
-<div class="line"><a name="l01898"></a><span class="lineno"> 1898</span> <span class="keywordflow">do</span> j--; <span class="keywordflow">while</span> (pix_arr[j-1] > a);</div>
-<div class="line"><a name="l01899"></a><span class="lineno"> 1899</span> <span class="keywordflow">if</span> (j < i) <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l01900"></a><span class="lineno"> 1900</span> SINFO_DOUBLE_SWAP(pix_arr[i-1], pix_arr[j-1]);</div>
-<div class="line"><a name="l01901"></a><span class="lineno"> 1901</span> } </div>
-<div class="line"><a name="l01902"></a><span class="lineno"> 1902</span> pix_arr[l-1] = pix_arr[j-1];</div>
-<div class="line"><a name="l01903"></a><span class="lineno"> 1903</span> pix_arr[j-1] = a; </div>
-<div class="line"><a name="l01904"></a><span class="lineno"> 1904</span> j_stack += 2; </div>
-<div class="line"><a name="l01905"></a><span class="lineno"> 1905</span> <span class="keywordflow">if</span> (j_stack > CPL_PIX_STACK_SIZE) {</div>
-<div class="line"><a name="l01906"></a><span class="lineno"> 1906</span> <span class="comment">/* Should never reach here */</span></div>
-<div class="line"><a name="l01907"></a><span class="lineno"> 1907</span> free(i_stack);</div>
-<div class="line"><a name="l01908"></a><span class="lineno"> 1908</span> <span class="keywordflow">return</span> CPL_ERROR_ILLEGAL_INPUT ; </div>
-<div class="line"><a name="l01909"></a><span class="lineno"> 1909</span> } </div>
-<div class="line"><a name="l01910"></a><span class="lineno"> 1910</span> <span class="keywordflow">if</span> (ir-i+1 >= j-l) {</div>
-<div class="line"><a name="l01911"></a><span class="lineno"> 1911</span> i_stack[j_stack-1] = ir;</div>
-<div class="line"><a name="l01912"></a><span class="lineno"> 1912</span> i_stack[j_stack-2] = i;</div>
-<div class="line"><a name="l01913"></a><span class="lineno"> 1913</span> ir = j-1;</div>
-<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span> i_stack[j_stack-1] = j-1;</div>
-<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span> i_stack[j_stack-2] = l;</div>
-<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span> l = i;</div>
-<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span> }</div>
-<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span> }</div>
-<div class="line"><a name="l01920"></a><span class="lineno"> 1920</span> }</div>
-<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span> free(i_stack) ;</div>
-<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span> <span class="keywordflow">return</span> CPL_ERROR_NONE ;</div>
-<div class="line"><a name="l01923"></a><span class="lineno"> 1923</span> }</div>
-<div class="line"><a name="l01924"></a><span class="lineno"> 1924</span> </div>
-<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span> <span class="keyword">static</span> cpl_vector * </div>
-<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span> sinfo_vector_filter_median_create(</div>
-<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span> <span class="keyword">const</span> cpl_vector * v, </div>
-<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span> <span class="keywordtype">int</span> hw)</div>
-<div class="line"><a name="l01929"></a><span class="lineno"> 1929</span> {</div>
-<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span> cpl_vector * filtered;</div>
-<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span> cpl_vector * row;</div>
-<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span> <span class="keywordtype">int</span> i, j, k, size;</div>
-<div class="line"><a name="l01933"></a><span class="lineno"> 1933</span> <span class="keywordtype">double</span> temp;</div>
-<div class="line"><a name="l01934"></a><span class="lineno"> 1934</span> </div>
-<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span> <span class="comment">/* Create the filtered vector */</span></div>
-<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span> size = cpl_vector_get_size(v);</div>
-<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span> filtered = cpl_vector_new(size);</div>
-<div class="line"><a name="l01938"></a><span class="lineno"> 1938</span> </div>
-<div class="line"><a name="l01939"></a><span class="lineno"> 1939</span> <span class="comment">/* median filter on all central items */</span></div>
-<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span> row = cpl_vector_new((2*hw+1));</div>
-<div class="line"><a name="l01941"></a><span class="lineno"> 1941</span> <span class="keywordflow">for</span> (i=0; i<size; i++) {</div>
-<div class="line"><a name="l01942"></a><span class="lineno"> 1942</span> k = 0;</div>
-<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span> <span class="keywordflow">for</span> (j=-hw; j<=hw; j++) </div>
-<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span> <span class="keywordflow">if</span> ( (i+j) >= 0 && (i+j) < size) {</div>
-<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span> temp = cpl_vector_get (v, i+j);</div>
-<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span> cpl_vector_set(row,k,temp);</div>
-<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span> k++;</div>
-<div class="line"><a name="l01948"></a><span class="lineno"> 1948</span> }</div>
-<div class="line"><a name="l01949"></a><span class="lineno"> 1949</span> <span class="comment">/* this returns ~2e8 when all the values are 1.0....*/</span></div>
-<div class="line"><a name="l01950"></a><span class="lineno"> 1950</span> <span class="comment">/* temp = cpl_tools_get_median_double(row, k); */</span></div>
-<div class="line"><a name="l01951"></a><span class="lineno"> 1951</span> cpl_vector_sort(row, +1);</div>
-<div class="line"><a name="l01952"></a><span class="lineno"> 1952</span> <span class="keywordflow">if</span> (k%2 == 1) {</div>
-<div class="line"><a name="l01953"></a><span class="lineno"> 1953</span> temp = cpl_vector_get(row,k/2);</div>
-<div class="line"><a name="l01954"></a><span class="lineno"> 1954</span> }</div>
-<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span> <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span> temp = cpl_vector_get(row,k/2-1);</div>
-<div class="line"><a name="l01957"></a><span class="lineno"> 1957</span> }</div>
-<div class="line"><a name="l01958"></a><span class="lineno"> 1958</span> </div>
-<div class="line"><a name="l01959"></a><span class="lineno"> 1959</span> sinfo_msg(<span class="stringliteral">"value = %g "</span>, temp);</div>
-<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span> cpl_vector_set (filtered, i, temp);</div>
-<div class="line"><a name="l01961"></a><span class="lineno"> 1961</span> }</div>
-<div class="line"><a name="l01962"></a><span class="lineno"> 1962</span> cpl_vector_delete(row);</div>
-<div class="line"><a name="l01963"></a><span class="lineno"> 1963</span> <span class="keywordflow">return</span> filtered;</div>
-<div class="line"><a name="l01964"></a><span class="lineno"> 1964</span> }</div>
-<div class="line"><a name="l01965"></a><span class="lineno"> 1965</span> </div>
-<div class="line"><a name="l01966"></a><span class="lineno"> 1966</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span> <span class="comment"> * A NaN safe version of cpl_image_get_median_window</span></div>
-<div class="line"><a name="l01968"></a><span class="lineno"> 1968</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span> <span class="keyword">static</span> <span class="keywordtype">double</span> </div>
-<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span> sinfo_image_get_median_window (<span class="keyword">const</span> cpl_image *image, </div>
-<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span> <span class="keywordtype">int</span> llx, <span class="keywordtype">int</span> lly, <span class="keywordtype">int</span> urx, <span class="keywordtype">int</span> ury)</div>
-<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span> {</div>
-<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span> cpl_image *window;</div>
-<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span> <span class="keywordtype">float</span> *data;</div>
-<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span> <span class="keywordtype">double</span> *array, median;</div>
-<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span> <span class="keywordtype">int</span> size, i,j;</div>
-<div class="line"><a name="l01977"></a><span class="lineno"> 1977</span> </div>
-<div class="line"><a name="l01978"></a><span class="lineno"> 1978</span> window = cpl_image_extract (image, llx, lly, urx, ury);</div>
-<div class="line"><a name="l01979"></a><span class="lineno"> 1979</span> size = (urx-llx+1)*(ury-lly+1);</div>
-<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span> data = cpl_image_get_data_float(window);</div>
-<div class="line"><a name="l01981"></a><span class="lineno"> 1981</span> </div>
-<div class="line"><a name="l01982"></a><span class="lineno"> 1982</span> array = (<span class="keywordtype">double</span>*)cpl_calloc ( size, <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l01983"></a><span class="lineno"> 1983</span> j = 0;</div>
-<div class="line"><a name="l01984"></a><span class="lineno"> 1984</span> <span class="keywordflow">for</span> (i=0; i<size; i++)</div>
-<div class="line"><a name="l01985"></a><span class="lineno"> 1985</span> <span class="keywordflow">if</span> (!isnan(data[i]))</div>
-<div class="line"><a name="l01986"></a><span class="lineno"> 1986</span> array[j++] = data[i];</div>
-<div class="line"><a name="l01987"></a><span class="lineno"> 1987</span> </div>
-<div class="line"><a name="l01988"></a><span class="lineno"> 1988</span> <span class="keywordflow">if</span> (j>0)</div>
-<div class="line"><a name="l01989"></a><span class="lineno"> 1989</span> sinfo_tools_sort_double (array, j);</div>
-<div class="line"><a name="l01990"></a><span class="lineno"> 1990</span> </div>
-<div class="line"><a name="l01991"></a><span class="lineno"> 1991</span> <span class="keywordflow">if</span> (j == 0 || 2*j<size)</div>
-<div class="line"><a name="l01992"></a><span class="lineno"> 1992</span> median = 0./0.;</div>
-<div class="line"><a name="l01993"></a><span class="lineno"> 1993</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (j%2 == 1) </div>
-<div class="line"><a name="l01994"></a><span class="lineno"> 1994</span> median = array[j/2];</div>
-<div class="line"><a name="l01995"></a><span class="lineno"> 1995</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l01996"></a><span class="lineno"> 1996</span> median = array[j/2-1];</div>
-<div class="line"><a name="l01997"></a><span class="lineno"> 1997</span> </div>
-<div class="line"><a name="l01998"></a><span class="lineno"> 1998</span> cpl_image_delete (window);</div>
-<div class="line"><a name="l01999"></a><span class="lineno"> 1999</span> cpl_free (array);</div>
-<div class="line"><a name="l02000"></a><span class="lineno"> 2000</span> </div>
-<div class="line"><a name="l02001"></a><span class="lineno"> 2001</span> <span class="keywordflow">return</span> (median);</div>
-<div class="line"><a name="l02002"></a><span class="lineno"> 2002</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utl__ima__arith_8c_source.html b/html/sinfo__utl__ima__arith_8c_source.html
deleted file mode 100644
index 6adf936..0000000
--- a/html/sinfo__utl__ima__arith_8c_source.html
+++ /dev/null
@@ -1,434 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_ima_arith.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utl_ima_arith.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_ima_arith.c,v 1.14 2009/01/30 14:56:12 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2009/01/30 14:56:12 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.14 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <sinfo_pfits.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <sinfo_key_names.h></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <sinfo_pro_types.h></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include <sinfo_functions.h></span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_ima_arith_create(cpl_plugin *) ;</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_ima_arith_exec(cpl_plugin *) ;</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_ima_arith_destroy(cpl_plugin *) ;</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_ima_arith(cpl_parameterlist *, cpl_frameset *) ;</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_ima_arith_description[] =</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="stringliteral">"This recipe performs image computation.\n"</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="stringliteral">"The input files are 2 images\n"</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="stringliteral">"their associated tags should be IMA.\n"</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="stringliteral">"The output is an image resulting from the IMA op IMA where op indicates\n"</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="stringliteral">"the operation to be performed specified by the parameter \n"</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="stringliteral">"sinfoni.sinfo_utl_ima_arith.op having alias 'op'\n"</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="stringliteral">"Information on relevant parameters can be found with\n"</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="stringliteral">"esorex --params sinfo_utl_ima_arith\n"</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="stringliteral">"esorex --help sinfo_utl_ima_arith\n"</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"><a class="code" href="group__sinfo__utl__ima__arith.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693"> 97</a></span> <span class="keywordtype">int</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist * list)</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> {</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> cpl_recipe * recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe ) ;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> cpl_plugin * plugin = &recipe->interface ;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="stringliteral">"sinfo_utl_ima_arith"</span>,</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="stringliteral">"Computes result of ima1 op ima2"</span>,</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> sinfo_utl_ima_arith_description,</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="stringliteral">"Andrea Modigliani"</span>,</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="stringliteral">"Andrea.Modigliani at eso.org"</span>,</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> sinfo_utl_ima_arith_create,</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> sinfo_utl_ima_arith_exec,</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> sinfo_utl_ima_arith_destroy) ;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> cpl_pluginlist_append(list, plugin) ;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> }</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_ima_arith_create(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> {</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> cpl_parameter * p ;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> cpl_error_reset();</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> recipe->parameters = cpl_parameterlist_new() ; </div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment">/* Fill the parameters list */</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment">/* --stropt */</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_ima_arith.op"</span>, </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> CPL_TYPE_STRING, </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="stringliteral">"A possible operation"</span>, </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="stringliteral">"sinfoni.sinfo_utl_ima_arith"</span>,<span class="stringliteral">"+"</span>);</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"op"</span>) ;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment">/* --doubleopt */</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_ima_arith.value"</span>, </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> CPL_TYPE_DOUBLE, <span class="stringliteral">"a value"</span>, <span class="stringliteral">"sinfoni.sinfo_utl_ima_arith"</span>, 9999.) ;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"value"</span>) ;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> }</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_ima_arith_exec(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> {</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordtype">int</span> code=0;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> cpl_errorstate initial_errorstate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> cpl_error_reset();</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> code = sinfo_utl_ima_arith(recipe->parameters, recipe->frames) ;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(initial_errorstate)) { </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment">/* Dump the error history since recipe execution start. </span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment"> At this point the recipe cannot recover from the error */</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> cpl_errorstate_dump(initial_errorstate, CPL_FALSE, NULL); </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> } </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordflow">return</span> code ;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> }</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_ima_arith_destroy(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> {</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> cpl_parameterlist_delete(recipe->parameters) ; </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> }</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keyword">static</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> sinfo_utl_ima_arith( cpl_parameterlist * parlist, </div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> cpl_frameset * framelist)</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> {</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> cpl_parameter * param= NULL ;</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * operation=NULL;</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordtype">double</span> value=1 ;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> cpl_frame * frm_ima1=NULL ;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> cpl_frame * frm_ima2=NULL ;</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> cpl_image * ima1=NULL ;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> cpl_image * ima2=NULL ;</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordtype">int</span> switch_ima2 = 0;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * name_o=NULL ;</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> cpl_propertylist * plist=NULL ;</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> cpl_image * image=NULL ;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> cpl_frame * product_frame=NULL;</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> cpl_frameset * raw_set=NULL;</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keywordtype">int</span> nraw=0;</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordtype">int</span> n=0;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> sinfo_msg(<span class="stringliteral">"Welcome to SINFONI Pipeline release %d.%d.%d"</span>,</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> SINFONI_MAJOR_VERSION,SINFONI_MINOR_VERSION,SINFONI_MICRO_VERSION);</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="comment">/* HOW TO RETRIEVE INPUT PARAMETERS */</span></div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="comment">/* --stropt */</span></div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> check_nomsg(param=cpl_parameterlist_find(parlist, </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="stringliteral">"sinfoni.sinfo_utl_ima_arith.op"</span>));</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> check_nomsg(operation=cpl_parameter_get_string(param));</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="comment">/* --boolopt */</span></div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="stringliteral">"sinfoni.sinfo_utl_ima_arith.value"</span>));</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> check_nomsg(value = cpl_parameter_get_double(param)) ;</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="comment">/* Identify the RAW and CALIB frames in the input frameset */</span></div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> check(sinfo_dfs_set_groups(framelist),</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="stringliteral">"Cannot identify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="comment">/* HOW TO ACCESS INPUT DATA */</span></div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> n=cpl_frameset_get_size(framelist);</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">if</span>(n<1) {</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Empty input frame list!"</span>);</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="keywordflow">goto</span> cleanup ;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> }</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="comment">/* HOW TO ACCESS INPUT DATA */</span></div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> check_nomsg(raw_set=cpl_frameset_new());</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> check(sinfo_contains_frames_kind(framelist,raw_set,PRO_IMA),</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="stringliteral">"Found no input frames with tag %s"</span>,PRO_IMA);</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> check_nomsg(nraw=cpl_frameset_get_size(raw_set));</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="keywordflow">if</span> (nraw<1) {</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Found no input frames with tag %s"</span>,PRO_IMA);</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> check_nomsg(frm_ima1=cpl_frameset_get_frame(framelist,0));</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> check_nomsg(ima1=cpl_image_load(cpl_frame_get_filename(frm_ima1),</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="keywordflow">if</span> (nraw>1) {</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> check_nomsg(frm_ima2=cpl_frameset_get_frame(framelist,1));</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> check_nomsg(ima2 = cpl_image_load(cpl_frame_get_filename(frm_ima2),</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> switch_ima2=1;</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (value == 9999.) {</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Found only one input frames with tag %s"</span>,PRO_IMA);</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="keywordflow">goto</span> cleanup; </div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> sinfo_msg(<span class="stringliteral">"Perform image arithmetics on frame %s"</span>,PRO_IMA);</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> }</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> }</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> sinfo_free_frameset(&raw_set);</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="comment">/* HOW TO GET THE VALUE OF A FITS KEYWORD */</span></div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> check(plist=cpl_propertylist_load(cpl_frame_get_filename(frm_ima1),0),</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="stringliteral">"Cannot read the FITS header"</span>) ;</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="comment">/* Now performing the data reduction */</span></div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="comment">/* Let's generate one image for the example */</span></div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keywordflow">if</span> (value == 9999.) {</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="keywordflow">if</span>(ima1 != NULL && ima2 != NULL) {</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> sinfo_msg(<span class="stringliteral">"ima1 %s ima2"</span>,operation);</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="keywordflow">if</span> (strcmp(operation,<span class="stringliteral">"+"</span>) == 0 ) {</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> check(image = cpl_image_add_create(ima1, ima2),</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="stringliteral">"Cannot generate the %s image"</span>,operation) ;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(operation,<span class="stringliteral">"-"</span>) == 0 ) {</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> check(image = cpl_image_subtract_create(ima1, ima2), </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="stringliteral">"Cannot generate the %s image"</span>,operation) ;</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(operation,<span class="stringliteral">"*"</span>) == 0 ) {</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> check(image = cpl_image_multiply_create(ima1, ima2),</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="stringliteral">"Cannot generate the %s image"</span>,operation) ;</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(operation,<span class="stringliteral">"/"</span>) == 0 ) {</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> check(image = cpl_image_divide_create(ima1, ima2),</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="stringliteral">"Cannot generate the %s image"</span>,operation) ;</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Operation %s not supported"</span>,operation);</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> }</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> sinfo_free_image(&ima1);</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> sinfo_free_image(&ima2);</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> }</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> sinfo_msg(<span class="stringliteral">"ima1 %s %f"</span>,operation,value);</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="keywordflow">if</span>(switch_ima2 == 1) {</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> sinfo_free_image(&ima2);</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> }</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="keywordflow">if</span> (strcmp(operation,<span class="stringliteral">"+"</span>) == 0 ) {</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> check(image = cpl_image_add_scalar_create(ima1, value),</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="stringliteral">"Cannot apply the %s operator"</span>,operation) ;</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(operation,<span class="stringliteral">"-"</span>) == 0 ) {</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> check(image = cpl_image_subtract_scalar_create(ima1, value),</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="stringliteral">"Cannot apply the %s operator"</span>,operation) ;</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(operation,<span class="stringliteral">"*"</span>) == 0 ) {</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> check(image = cpl_image_multiply_scalar_create(ima1, value),</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="stringliteral">"Cannot apply the %s operator"</span>,operation) ;</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(operation,<span class="stringliteral">"/"</span>) == 0 ) {</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> check(image = cpl_image_divide_scalar_create(ima1, value),</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="stringliteral">"Cannot apply the %s operator"</span>,operation) ;</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Operation %s not supported"</span>,operation);</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> }</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> </div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> sinfo_free_image(&ima1);</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> </div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> }</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="comment">/* HOW TO SAVE A PRODUCT ON DISK */</span></div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="comment">/* Set the file name */</span></div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> name_o = <span class="stringliteral">"ima_res.fits"</span> ;</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="comment">/* Create product frame */</span></div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> check_nomsg(product_frame = cpl_frame_new());</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> check_nomsg(cpl_frame_set_filename(product_frame, name_o)) ;</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> check_nomsg(cpl_frame_set_tag(product_frame, SI_UTL_IMA_ARITH_PROIMA)) ;</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> check_nomsg(cpl_frame_set_type(product_frame, CPL_FRAME_TYPE_IMAGE)) ;</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> check_nomsg(cpl_frame_set_group(product_frame, CPL_FRAME_GROUP_PRODUCT)) ;</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> check(cpl_frame_set_level(product_frame, CPL_FRAME_LEVEL_FINAL),</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="stringliteral">"Error while initialising the product frame"</span>) ;</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> </div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="comment">/* Add DataFlow keywords */</span></div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> check_nomsg(cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"^ESO PRO CATG"</span>,0));</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="preprocessor">#if defined CPL_VERSION_CODE && CPL_VERSION_CODE >= CPL_VERSION(4, 8, 0) </span></div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="preprocessor"></span> check(cpl_dfs_setup_product_header(plist, </div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> product_frame, </div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> framelist, </div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> parlist,</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="stringliteral">"sinfo_utl_ima_arith"</span>, </div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="stringliteral">"SINFONI"</span>, </div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> KEY_VALUE_HPRO_DID,NULL),</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="stringliteral">"Problem in the product DFS-compliance"</span>) ;</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="preprocessor"></span> check(cpl_dfs_setup_product_header(plist, </div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> product_frame, </div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> framelist, </div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> parlist,</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="stringliteral">"sinfo_utl_ima_arith"</span>, </div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="stringliteral">"SINFONI"</span>, </div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> KEY_VALUE_HPRO_DID),</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="stringliteral">"Problem in the product DFS-compliance"</span>) ;</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="comment">/* Save the file */</span></div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> check(cpl_image_save(image, </div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> name_o, </div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> CPL_BPP_IEEE_FLOAT, </div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> plist,</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> CPL_IO_DEFAULT),</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="stringliteral">"Could not save product"</span>);</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> sinfo_free_image(&image);</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> </div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="comment">/* Log the saved file in the input frameset */</span></div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> check_nomsg(cpl_frameset_insert(framelist, product_frame)) ;</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> </div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> </div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> cleanup:</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> </div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> sinfo_free_image(&ima1);</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> sinfo_free_image(&ima2);</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> sinfo_free_frameset(&raw_set);</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="comment">/* This is usually freed by esorex: but what about if errors occurs?</span></div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="comment"> sinfo_free_frame(&product_frame) ;</span></div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> sinfo_free_image(&image) ;</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> </div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="keywordflow">if</span> (cpl_error_get_code()) {</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> }</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> </div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utl__ima__cube__ks__test_8c_source.html b/html/sinfo__utl__ima__cube__ks__test_8c_source.html
deleted file mode 100644
index 25429bf..0000000
--- a/html/sinfo__utl__ima__cube__ks__test_8c_source.html
+++ /dev/null
@@ -1,906 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_ima_cube_ks_test.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utl_ima_cube_ks_test.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_ima_cube_ks_test.c,v 1.12 2012/05/04 08:11:55 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2012/05/04 08:11:55 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.12 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * $Log: sinfo_utl_ima_cube_ks_test.c,v $</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * Revision 1.12 2012/05/04 08:11:55 amodigli</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * fixed errors fromn cpptest</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> * Revision 1.11 2009/11/12 14:49:38 kmirny</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> * changing output message</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * Revision 1.10 2009/07/27 10:34:54 amodigli</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> * fixed typo in short description</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> * Revision 1.9 2009/06/03 14:59:31 kmirny</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> * rollback</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include <sinfo_globals.h></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include <sinfo_pfits.h></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include <sinfo_key_names.h></span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#include <sinfo_pro_types.h></span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#include <sinfo_pro_save.h></span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#include <sinfo_functions.h></span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#include <sinfo_new_cube_ops.h></span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_ima_cube_ks_test_create(cpl_plugin *) ;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_ima_cube_ks_test_exec(cpl_plugin *) ;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_ima_cube_ks_test_destroy(cpl_plugin *) ;</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_ima_cube_ks_test(cpl_parameterlist *, cpl_frameset *) ;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">static</span> cpl_imagelist* create_cube_shift(</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">int</span> iSizeX,</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">int</span> iSizeY,</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">int</span> iPlanesNumber,</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">int</span> iFWHMX,</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">int</span> iFWHMY,</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keywordtype">int</span> shiftX,</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keywordtype">int</span> shiftY,</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">double</span> dSignal,</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">double</span> dBkgSignal,</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">double</span> dNoiseLvl,</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordtype">double</span> dSignalDelta,</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">int</span> iDefectX,</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">int</span> iDefectY,</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">double</span> dDefectValue,</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordtype">int</span> type</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> );</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keyword">static</span> cpl_image* create_plane(</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordtype">int</span> iSizeX,</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">int</span> iSizeY,</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordtype">int</span> iFWHMX,</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">int</span> iFWHMY,</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">int</span> shiftX,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">int</span> shiftY,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">double</span> dSignal,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">double</span> dBkgSignal,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">double</span> dNoiseLvl</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> );</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keyword">static</span> cpl_image* create_square_plane(</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">int</span> iSizeX,</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keywordtype">int</span> iSizeY,</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">int</span> iHoleX,</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">int</span> iHoleY,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keywordtype">int</span> shiftX,</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordtype">int</span> shiftY,</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">double</span> dSignal,</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">double</span> dBkgSignal,</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">double</span> dNoiseLvl);</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keyword">static</span> <span class="keywordtype">int</span> put_defect(cpl_image *pPlane, <span class="keywordtype">int</span> iDefectX, <span class="keywordtype">int</span> iDefectY, <span class="keywordtype">double</span> dDefectValue);</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">void</span> putNAN(cpl_image *pPlane, <span class="keywordtype">int</span> iDefectX, <span class="keywordtype">int</span> iDefectY);</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_ima_cube_ks_test_description[] =</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="stringliteral">"This recipe produces a test for kappa-sigma clipping\n"</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="stringliteral">"Information on relevant parameters can be found with\n"</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="stringliteral">"esorex --params sinfo_utl_ima_cube_ks_test\n"</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="stringliteral">"esorex --help sinfo_utl_ima_cube_ks_test\n"</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keyword">static</span> <span class="keywordtype">char</span> PARAM_NAME_SIZE_X[] = <span class="stringliteral">"sinfoni.sinfo_utl_ima_cube_ks_test.size_x"</span>;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keyword">static</span> <span class="keywordtype">char</span> PARAM_NAME_SIZE_Y[] = <span class="stringliteral">"sinfoni.sinfo_utl_ima_cube_ks_test.size_y"</span>;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keyword">static</span> <span class="keywordtype">char</span> PARAM_NAME_FWHM_X[] = <span class="stringliteral">"sinfoni.sinfo_utl_ima_cube_ks_test.fwhm_x"</span>;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keyword">static</span> <span class="keywordtype">char</span> PARAM_NAME_FWHM_Y[] = <span class="stringliteral">"sinfoni.sinfo_utl_ima_cube_ks_test.fwhm_y"</span>;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keyword">static</span> <span class="keywordtype">char</span> PARAM_NAME_SIGNAL[] = <span class="stringliteral">"sinfoni.sinfo_utl_ima_cube_ks_test.total_signal"</span>;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keyword">static</span> <span class="keywordtype">char</span> PARAM_NAME_SIGNAL_DELTA[] = <span class="stringliteral">"sinfoni.sinfo_utl_ima_cube_ks_test.total_signal_delta"</span>;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keyword">static</span> <span class="keywordtype">char</span> PARAM_NAME_BKGSIG[] = <span class="stringliteral">"sinfoni.sinfo_utl_ima_cube_ks_test.bkg_signal"</span>;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keyword">static</span> <span class="keywordtype">char</span> PARAM_NAME_NOISEL[] = <span class="stringliteral">"sinfoni.sinfo_utl_ima_cube_ks_test.noise_level"</span>;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keyword">static</span> <span class="keywordtype">char</span> PARAM_NAME_DEFECT_X[] = <span class="stringliteral">"sinfoni.sinfo_utl_ima_cube_ks_test.defect_x"</span>;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keyword">static</span> <span class="keywordtype">char</span> PARAM_NAME_DEFECT_Y[] = <span class="stringliteral">"sinfoni.sinfo_utl_ima_cube_ks_test.defect_y"</span>;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keyword">static</span> <span class="keywordtype">char</span> PARAM_NAME_DEFECT_SIGNAL[] = <span class="stringliteral">"sinfoni.sinfo_utl_ima_cube_ks_test.defect_signal"</span>;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keyword">static</span> <span class="keywordtype">char</span> PARAM_NAME_DEFECT_NUMBER[] = <span class="stringliteral">"sinfoni.sinfo_utl_ima_cube_ks_test.defect_number"</span>;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keyword">static</span> <span class="keywordtype">char</span> PARAM_NAME_CUBES_NUMBER[] = <span class="stringliteral">"sinfoni.sinfo_utl_ima_cube_ks_test.cubes_number"</span>;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keyword">static</span> <span class="keywordtype">char</span> PARAM_NAME_PLANES_NUMBER[] = <span class="stringliteral">"sinfoni.sinfo_utl_ima_cube_ks_test.planes_number"</span>;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keyword">static</span> <span class="keywordtype">char</span> RECIPE_NAME[] = <span class="stringliteral">"sinfoni.sinfo_utl_ima_cube_ks_test"</span>;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"><a class="code" href="group__sinfo__utl__ima__cube__ks__test.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693"> 170</a></span> <span class="keywordtype">int</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist * list)</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> {</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> cpl_recipe * recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe ) ;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> cpl_plugin * plugin = &recipe->interface ;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="stringliteral">"sinfo_utl_ima_cube_ks_test"</span>,</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="stringliteral">"Test cube coaddition with kappa-sigma clip of ouliers"</span>,</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> sinfo_utl_ima_cube_ks_test_description,</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="stringliteral">"Konstantin Mirny"</span>,</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="stringliteral">"kmirny at eso.org"</span>,</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> sinfo_utl_ima_cube_ks_test_create,</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> sinfo_utl_ima_cube_ks_test_exec,</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> sinfo_utl_ima_cube_ks_test_destroy) ;</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> cpl_pluginlist_append(list, plugin) ;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> }</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_ima_cube_ks_test_create(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> {</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keyword">const</span> <span class="keywordtype">int</span> CUBES_NUMBER = 5;</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keyword">const</span> <span class="keywordtype">int</span> PLANES_NUMBER = 10;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keyword">const</span> <span class="keywordtype">int</span> SIZE_X_DEFAULT = 64;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keyword">const</span> <span class="keywordtype">int</span> SIZE_Y_DEFAULT = 64;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keyword">const</span> <span class="keywordtype">int</span> FWHM_X = 24;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keyword">const</span> <span class="keywordtype">int</span> FWHM_Y = 24;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keyword">const</span> <span class="keywordtype">double</span> TOTAL_SIGNAL = 1E6;</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keyword">const</span> <span class="keywordtype">double</span> SIGNAL_DELTA = 1E5;</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keyword">const</span> <span class="keywordtype">double</span> BKG_SIGNAL = 250.; <span class="comment">// 250</span></div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keyword">const</span> <span class="keywordtype">double</span> NOISE_VALUE = 100;</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="keyword">const</span> <span class="keywordtype">int</span> DEFECT_X = 42;</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keyword">const</span> <span class="keywordtype">int</span> DEFECT_Y = 42;</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keyword">const</span> <span class="keywordtype">double</span> DEFECT_SIGNAL = 400;</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keyword">const</span> <span class="keywordtype">int</span> DEFECT_NUMBER = 1;</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> cpl_parameter * p ;</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE)</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> cpl_error_reset();</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> recipe->parameters = cpl_parameterlist_new() ;</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="comment">/* Fill the parameters list */</span></div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="comment">/* --stropt */</span></div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="comment">/* p = cpl_parameter_new_value("sinfoni.sinfo_utl_ima_cube_ks_test.op",</span></div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="comment"> CPL_TYPE_STRING,</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="comment"> "A possible operation",</span></div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="comment"> "sinfoni.sinfo_utl_ima_cube_ks_test","+");</span></div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="comment"> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, "op") ;</span></div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="comment"> cpl_parameterlist_append(recipe->parameters, p) ;*/</span></div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="comment">/* --size_x */</span></div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> p = cpl_parameter_new_value(PARAM_NAME_SIZE_X,</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> CPL_TYPE_INT, <span class="stringliteral">"size X axis"</span>, RECIPE_NAME, SIZE_X_DEFAULT) ;</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"size_x"</span>) ;</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="comment">/* --size_y */</span></div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> p = cpl_parameter_new_value(PARAM_NAME_SIZE_Y,</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> CPL_TYPE_INT, <span class="stringliteral">"size Y axis"</span>, RECIPE_NAME, SIZE_Y_DEFAULT) ;</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"size_y"</span>) ;</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="comment">/* --fwhm_x */</span></div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> p = cpl_parameter_new_value(PARAM_NAME_FWHM_X,</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> CPL_TYPE_INT, <span class="stringliteral">"FWHM X axis"</span>, RECIPE_NAME, FWHM_X) ;</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"fwhm_x"</span>) ;</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="comment">/* --fwhm_y */</span></div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> p = cpl_parameter_new_value(PARAM_NAME_FWHM_Y,</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> CPL_TYPE_INT, <span class="stringliteral">"FWHM Y axis"</span>, RECIPE_NAME, FWHM_Y) ;</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"fwhm_y"</span>) ;</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="comment">/* --total_signal */</span></div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> p = cpl_parameter_new_value(PARAM_NAME_SIGNAL,</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> CPL_TYPE_DOUBLE, <span class="stringliteral">"Total signal value"</span>, RECIPE_NAME, TOTAL_SIGNAL) ;</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"total_signal"</span>) ;</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="comment">/* --bkg_signal */</span></div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> p = cpl_parameter_new_value(PARAM_NAME_BKGSIG,</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> CPL_TYPE_DOUBLE, <span class="stringliteral">"background signal level"</span>, RECIPE_NAME, BKG_SIGNAL) ;</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"bkg_signal"</span>) ;</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="comment">/* --noise_level */</span></div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> p = cpl_parameter_new_value(PARAM_NAME_NOISEL,</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> CPL_TYPE_DOUBLE, <span class="stringliteral">"Noise level"</span>, RECIPE_NAME, NOISE_VALUE) ;</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"noise_level"</span>) ;</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="comment">/* --cubes_number */</span></div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> p = cpl_parameter_new_value(PARAM_NAME_CUBES_NUMBER,</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> CPL_TYPE_INT, <span class="stringliteral">"Number of cubes"</span>, RECIPE_NAME, CUBES_NUMBER) ;</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"cubes_number"</span>) ;</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="comment">/* --planes_number */</span></div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> p = cpl_parameter_new_value(PARAM_NAME_PLANES_NUMBER,</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> CPL_TYPE_INT, <span class="stringliteral">"Number of images for each cube"</span>, RECIPE_NAME, PLANES_NUMBER) ;</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"planes_number"</span>) ;</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="comment">/* --signal_delta */</span></div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> p = cpl_parameter_new_value(PARAM_NAME_SIGNAL_DELTA,</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> CPL_TYPE_DOUBLE, <span class="stringliteral">"Change of the signal for the next plane inside a cube"</span>, RECIPE_NAME, SIGNAL_DELTA) ;</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"total_signal_delta"</span>) ;</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="comment">/* --defect_x */</span></div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> p = cpl_parameter_new_value(PARAM_NAME_DEFECT_X,</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> CPL_TYPE_INT, <span class="stringliteral">"X position of the bad pixel"</span>, RECIPE_NAME, DEFECT_X) ;</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"defect_x"</span>) ;</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> </div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="comment">/* --defect_x */</span></div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> p = cpl_parameter_new_value(PARAM_NAME_DEFECT_Y,</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> CPL_TYPE_INT, <span class="stringliteral">"Y position of the bad pixel"</span>, RECIPE_NAME, DEFECT_Y) ;</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"defect_y"</span>) ;</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="comment">/* --defect_signal */</span></div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> p = cpl_parameter_new_value(PARAM_NAME_DEFECT_SIGNAL,</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> CPL_TYPE_DOUBLE, <span class="stringliteral">"signal value of the bad pixel"</span>, RECIPE_NAME, DEFECT_SIGNAL) ;</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"defect_signal"</span>) ;</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> </div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="comment">/* --defect_number */</span></div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> p = cpl_parameter_new_value(PARAM_NAME_DEFECT_NUMBER,</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> CPL_TYPE_INT, <span class="stringliteral">"Number of planes in a cube with a bad pixel"</span>, RECIPE_NAME, DEFECT_NUMBER) ;</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"defect_number"</span>) ;</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> }</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> </div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_ima_cube_ks_test_exec(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> {</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="keywordtype">int</span> code=0;</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> cpl_errorstate initial_errorstate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE)</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> cpl_error_reset();</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> code = sinfo_utl_ima_cube_ks_test(recipe->parameters, recipe->frames) ;</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> </div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> </div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(initial_errorstate)) {</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="comment">/* Dump the error history since recipe execution start.</span></div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="comment"> At this point the recipe cannot recover from the error */</span></div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> cpl_errorstate_dump(initial_errorstate, CPL_FALSE, NULL);</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> }</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> </div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="keywordflow">return</span> code ;</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> }</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_ima_cube_ks_test_destroy(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> {</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE)</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> cpl_parameterlist_delete(recipe->parameters) ;</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> }</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> </div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> sinfo_utl_ima_cube_ks_test( cpl_parameterlist * parlist,</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> cpl_frameset * framelist)</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> {</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="comment">// parameters</span></div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="keywordtype">int</span> iSizeX = 0;</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="keywordtype">int</span> iSizeY = 0;</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="keywordtype">int</span> iFWHMX = 0;</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="keywordtype">int</span> iFWHMY = 0;</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="keywordtype">int</span> iGlobalSizeX = 0;</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="keywordtype">int</span> iGlobalSizeY = 0;</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="keywordtype">int</span> shiftMultX = 2;</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="keywordtype">int</span> shiftMultY = 2;</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="keywordtype">int</span>* pOffsetX = 0;</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="keywordtype">int</span>* pOffsetY = 0;</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="keywordtype">double</span> dSignal = 0;</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="keywordtype">double</span> dBkgSignal = 0;</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="keywordtype">double</span> dNoiseLvl = 0;</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> </div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="keywordtype">double</span> dSignalDelta = 0;</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="keywordtype">int</span> iDefectX = 0;</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="keywordtype">int</span> iDefectY = 0;</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="keywordtype">double</span> dDefectValue = 0;</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="keywordtype">int</span> iDefectNumber = 0;</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="keywordtype">int</span> iCubesNumber = 0;</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="keywordtype">int</span> iPlanesNumber = 0;</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="keywordtype">int</span> z = 0;</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="keywordtype">int</span> x = 0;</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="keywordtype">int</span> y = 0;</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="keyword">const</span> <span class="keywordtype">double</span> kappa = 3;</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * name_o = NULL ;</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> cpl_parameter * param = NULL ;</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> cpl_propertylist * plist = NULL ;</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> cpl_frame * product_frame = NULL;</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> cpl_imagelist ** ppCubes = NULL;</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> cpl_imagelist * pResult = NULL;</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="keywordtype">double</span> * exptimes = NULL;</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> cpl_imagelist * mask = NULL;</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> sinfo_msg(<span class="stringliteral">"Welcome to SINFONI Pipeline release %d.%d.%d"</span>,</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> SINFONI_MAJOR_VERSION,SINFONI_MINOR_VERSION,SINFONI_MICRO_VERSION);</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> ck0(sinfo_dfs_set_groups(framelist),<span class="stringliteral">"Cannot indentify RAW and CALIB frames"</span>);</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> </div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> </div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="comment">/* HOW TO RETRIEVE INPUT PARAMETERS */</span></div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="comment">/* --size_x */</span></div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> PARAM_NAME_SIZE_X));</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> check_nomsg(iSizeX=cpl_parameter_get_int(param));</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> </div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="comment">/* --size_y */</span></div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> PARAM_NAME_SIZE_Y));</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> check_nomsg(iSizeY=cpl_parameter_get_int(param));</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> </div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="comment">/* --fwhm_x */</span></div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> PARAM_NAME_FWHM_X));</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> check_nomsg(iFWHMX=cpl_parameter_get_int(param));</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="comment">/* --fwhm_y */</span></div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> PARAM_NAME_FWHM_Y));</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> check_nomsg(iFWHMY=cpl_parameter_get_int(param));</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> </div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="comment">/* --total_signal */</span></div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> PARAM_NAME_SIGNAL));</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> check_nomsg(dSignal=cpl_parameter_get_double(param));</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> </div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="comment">/* --bkg_signal */</span></div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> PARAM_NAME_BKGSIG));</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> check_nomsg(dBkgSignal=cpl_parameter_get_double(param));</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> </div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="comment">/* --noise_level */</span></div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> PARAM_NAME_NOISEL));</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> check_nomsg(dNoiseLvl=cpl_parameter_get_double(param));</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> </div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="comment">/* --cubes_number */</span></div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> PARAM_NAME_CUBES_NUMBER));</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> check_nomsg(iCubesNumber=cpl_parameter_get_int(param));</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> </div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="comment">/* --planes_number */</span></div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> PARAM_NAME_PLANES_NUMBER));</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> check_nomsg(iPlanesNumber=cpl_parameter_get_int(param));</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> </div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="comment">/* -signal_delta */</span></div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> PARAM_NAME_SIGNAL_DELTA));</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> check_nomsg(dSignalDelta=cpl_parameter_get_double(param));</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> </div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="comment">/* --defect_x */</span></div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> PARAM_NAME_DEFECT_X));</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> check_nomsg(iDefectX=cpl_parameter_get_int(param));</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> </div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="comment">/* --defect_y */</span></div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> PARAM_NAME_DEFECT_Y));</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> check_nomsg(iDefectY=cpl_parameter_get_int(param));</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> </div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="comment">/* --defect_value */</span></div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> PARAM_NAME_DEFECT_SIGNAL));</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> check_nomsg(dDefectValue=cpl_parameter_get_double(param));</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> </div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="comment">/* --defect_number */</span></div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> PARAM_NAME_DEFECT_NUMBER));</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> check_nomsg(iDefectNumber=cpl_parameter_get_int(param));</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> </div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> </div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="comment">/* HOW TO GET THE VALUE OF A FITS KEYWORD */</span></div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> check(plist=cpl_propertylist_new(),<span class="stringliteral">"Cannot create a Property List"</span>);</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> </div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="comment">/* Now performing the data reduction */</span></div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="comment">/* Let's generate one image for the example */</span></div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> </div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="comment">// 1. Create cubes</span></div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> ppCubes = (cpl_imagelist**)cpl_malloc(<span class="keyword">sizeof</span>(cpl_imagelist*) * (iCubesNumber + 2)); <span class="comment">// +1 for the result, +1 for the mask</span></div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> pOffsetX = cpl_malloc(<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) * iCubesNumber);</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> pOffsetY = cpl_malloc(<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) * iCubesNumber);</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="comment">// iGlobalSizeX = iSizeX + (iCubesNumber-1) * shiftMultX;// it's not a fair calculation - only for test</span></div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <span class="comment">// iGlobalSizeY = iSizeY + (iCubesNumber-1) * shiftMultY;</span></div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> sinfo_msg(<span class="stringliteral">"Creating cubes...."</span>);</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> <span class="keywordflow">for</span> (z = 0; z < iCubesNumber; z++)</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> {</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> pOffsetX[z] = shiftMultX*z;<span class="comment">// + ((z%3) - 3) * shiftMultX ;</span></div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> pOffsetY[z] = shiftMultY*z;<span class="comment">// + (((z-2)%3) - 1) * shiftMultY / 2;</span></div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> cpl_msg_warning(cpl_func, <span class="stringliteral">"cube [%d] offset[%d:%d]"</span>, z,pOffsetX[z], pOffsetY[z] );</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> cpl_imagelist* pCube =</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> create_cube_shift(</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> iSizeX,</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> iSizeY,</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> iPlanesNumber,</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> iFWHMX,</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> iFWHMY,</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> -pOffsetX[z],</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> -pOffsetY[z],</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> dSignal,</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> dBkgSignal,</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> dNoiseLvl,</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> dSignalDelta,</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> iDefectX,</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> iDefectY,</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> (z < iDefectNumber) ? dDefectValue : 0,</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> 0</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> );</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> ppCubes[z] = pCube;</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> </div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> <span class="comment">// fill NAN areas</span></div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> <span class="comment">/* cpl_image* pImage = cpl_imagelist_get(pCube, 0);</span></div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="comment"> switch(z)</span></div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <span class="comment"> case 0:</span></div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> <span class="comment"> for (x = 1; x <=iSizeX; x++)</span></div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> <span class="comment"> for (y = 1; y <= 16; y++)</span></div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <span class="comment"> check_nomsg(cpl_image_set(pImage, x, y, sqrt(-1)));</span></div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> <span class="comment"> check_nomsg(cpl_image_set(pImage, x, y+48, sqrt(-1)));</span></div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> <span class="comment"> break;</span></div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="comment"> case 1:</span></div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> <span class="comment"> for (x = 1; x <=iSizeX; x++)</span></div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <span class="comment"> for (y = 1; y <= 8; y++)</span></div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <span class="comment"> check_nomsg(cpl_image_set(pImage, x, y, sqrt(-1)));</span></div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> <span class="comment"> for (y = 24; y <= iSizeY; y++)</span></div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="comment"> check_nomsg(cpl_image_set(pImage, x, y, sqrt(-1)));</span></div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <span class="comment"></span></div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> <span class="comment"> break;</span></div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> }</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <span class="comment">// 2. make a kappa-sigma clipping</span></div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="comment">/* pResult = kappa_sigma(</span></div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="comment"> iSizeX,</span></div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <span class="comment"> iSizeY,</span></div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="comment"> iCubesNumber,</span></div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <span class="comment"> iPlanesNumber,</span></div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> <span class="comment"> kappa,</span></div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <span class="comment"> NULL,</span></div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> <span class="comment"> ppCubes);*/</span></div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> </div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> <span class="comment">// prepare offset arrays</span></div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> sinfo_msg(<span class="stringliteral">"Kappa-sigma...."</span>);</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> </div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="comment">// determine size of the coadded cube</span></div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> <span class="keyword">const</span> <span class="keywordtype">int</span> BIG_ENOUGH_INT = 65535;</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> <span class="keywordtype">int</span> xmax = -BIG_ENOUGH_INT;</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> <span class="keywordtype">int</span> ymax = -BIG_ENOUGH_INT;</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> <span class="keywordtype">int</span> xmin = BIG_ENOUGH_INT;</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="keywordtype">int</span> ymin = BIG_ENOUGH_INT;</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> <span class="keywordflow">for</span> (z = 0; z < iCubesNumber; z++)</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> {</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> </div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="keywordtype">int</span> localMaxX = iSizeX + pOffsetX[z];</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> <span class="keywordtype">int</span> localMaxY = iSizeY + pOffsetY[z];</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> <span class="keywordtype">int</span> localMinX = pOffsetX[z];</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> <span class="keywordtype">int</span> localMinY = pOffsetY[z];</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> </div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> <span class="keywordflow">if</span>(localMaxX > xmax) xmax = localMaxX;</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> <span class="keywordflow">if</span>(localMaxY > ymax) ymax = localMaxY;</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> </div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="keywordflow">if</span>(localMinX < xmin) xmin = localMinX;</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> <span class="keywordflow">if</span>(localMinY < ymin) ymin = localMinY;</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> }</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> </div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> iGlobalSizeX = xmax - xmin;</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> iGlobalSizeY = ymax - ymin;</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> cpl_msg_warning(cpl_func, <span class="stringliteral">"iGlobalSize[%d:%d] xmaxmin[%d:%d] ymaxmin[%d:%d]"</span>, iGlobalSizeX, iGlobalSizeY, xmin, xmax, ymin, ymax);</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> pResult = cpl_imagelist_new();</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> exptimes = cpl_malloc(<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>) * iCubesNumber);</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="keywordflow">for</span> (z = 0; z < iCubesNumber; z++)</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> {</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> exptimes[z] = 10.;</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> }</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> mask= cpl_imagelist_new();</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <span class="keywordflow">for</span> (z = 0; z < iPlanesNumber; z++)</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> {</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> cpl_image* imMask = cpl_image_new(iGlobalSizeX, iGlobalSizeY, CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> cpl_image* imResult = cpl_image_new(iGlobalSizeX, iGlobalSizeY, CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> <span class="keywordflow">for</span> (x = 1; x <= iGlobalSizeX; x++)</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> {</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> <span class="keywordflow">for</span> (y = 1; y <= iGlobalSizeY; y++)</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> {</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> cpl_image_set(imMask, x, y, 100);</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> }</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> }</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> cpl_imagelist_set(mask, imMask, z);</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> cpl_imagelist_set(pResult, imResult, z);</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> }</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> </div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> sinfo_coadd_with_ks_clip_optimized(</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> 0,</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> iPlanesNumber,</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> iSizeX,</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> iSizeY,</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> iCubesNumber,</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> kappa,</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> pOffsetX,</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> pOffsetY,</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> exptimes,</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> mask,</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> pResult,</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> ppCubes);</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <span class="comment">// pResult = kappa_sigma_offset(iGlobalSizeX, iGlobalSizeY, iCubesNumber, ppCubes, iCubesNumber, pOffsetY, kappa);</span></div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> </div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> </div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> </div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> sinfo_msg(<span class="stringliteral">"Saving results"</span>);</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> ppCubes[iCubesNumber] = pResult;</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> ppCubes[iCubesNumber + 1] = mask;</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> </div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="comment">/* HOW TO SAVE A PRODUCT ON DISK */</span></div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> <span class="comment">/* Set the file name */</span></div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> name_o = <span class="stringliteral">"ima_res_0000.fits"</span> ;</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> </div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <span class="comment">/* Create product frame */</span></div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> check_nomsg(product_frame = cpl_frame_new());</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> check_nomsg(cpl_frame_set_filename(product_frame, name_o)) ;</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> check_nomsg(cpl_frame_set_tag(product_frame,<span class="stringliteral">"image_gauss"</span> )) ;</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> check_nomsg(cpl_frame_set_type(product_frame, CPL_FRAME_TYPE_IMAGE)) ;</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> check_nomsg(cpl_frame_set_group(product_frame, CPL_FRAME_GROUP_PRODUCT)) ;</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> check(cpl_frame_set_level(product_frame, CPL_FRAME_LEVEL_FINAL),</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> <span class="stringliteral">"Error while initialising the product frame"</span>) ;</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> </div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> <span class="comment">/* Add DataFlow keywords */</span></div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> check_nomsg(cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"^ESO PRO CATG"</span>,0));</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> <span class="comment">// cpl_frameset_dump(framelist, stdout);</span></div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> check(cpl_dfs_setup_product_header(plist,</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> product_frame,</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> framelist,</div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> parlist,</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> <span class="stringliteral">"sinfo_utl_ima_cube_ks_test"</span>,</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> <span class="stringliteral">"SINFONI"</span>,</div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> KEY_VALUE_HPRO_DID,NULL),</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> <span class="stringliteral">"Problem in the product DFS-compliance"</span>) ;</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> </div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> <span class="comment">/* Save the input images file */</span></div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> </div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> <span class="keywordflow">for</span> (z = 0; z <= iCubesNumber + 1; z++) <span class="comment">// the last imagelist is result after kappa-sigma, the very last is the mask</span></div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> {</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> <span class="keywordtype">char</span> BUF[256];</div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> sprintf(BUF,<span class="stringliteral">"out_cube_%d.fits"</span>,z);</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> sinfo_msg(<span class="stringliteral">"Saving results cube[%d]"</span>,z);</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> check(cpl_imagelist_save(ppCubes[z],</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> BUF,</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> CPL_BPP_IEEE_FLOAT,</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> plist,</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> CPL_IO_DEFAULT),</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> <span class="stringliteral">"Could not save product"</span>);</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> </div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> ck0(sinfo_pro_save_ims(ppCubes[z],framelist,framelist,BUF,<span class="stringliteral">"CUBE"</span>,NULL,</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> <span class="stringliteral">"sinfo_utl_ima_cube_ks_ex"</span>,parlist),</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> <span class="stringliteral">"cannot save cube %s"</span>, BUF);</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> }</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> </div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> <span class="comment">/* Log the saved file in the input frameset */</span></div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> check_nomsg(cpl_frameset_insert(framelist, product_frame)) ;</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> </div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> </div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> cleanup:</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> </div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> <span class="comment">// sinfo_free_frameset(&raw_set);</span></div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> <span class="keywordflow">for</span> (z = 0; z <= iCubesNumber + 1; z++) <span class="comment">// the last imagelist is result after kappa-sigma, the very last is the mask</span></div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> {</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> cpl_imagelist_delete(ppCubes[z]);</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> }</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> cpl_free(ppCubes);</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> <span class="comment">/* This is usually freed by esorex: but what about if errors occurs?</span></div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> <span class="comment"> sinfo_free_frame(&product_frame) ;</span></div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> </div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> <span class="keywordflow">return</span> cpl_error_get_code() ? -1 : 0;</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> </div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> }</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> cpl_imagelist* create_cube_shift(</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> <span class="keywordtype">int</span> iSizeX,</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> <span class="keywordtype">int</span> iSizeY,</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> <span class="keywordtype">int</span> iPlanesNumber,</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> <span class="keywordtype">int</span> iFWHMX,</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> <span class="keywordtype">int</span> iFWHMY,</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> <span class="keywordtype">int</span> shiftX,</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> <span class="keywordtype">int</span> shiftY,</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> <span class="keywordtype">double</span> dSignal,</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> <span class="keywordtype">double</span> dBkgSignal,</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> <span class="keywordtype">double</span> dNoiseLvl,</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> <span class="keywordtype">double</span> dSignalDelta,</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> <span class="keywordtype">int</span> iDefectX,</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> <span class="keywordtype">int</span> iDefectY,</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> <span class="keywordtype">double</span> dDefectValue,</div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> <span class="keywordtype">int</span> type</div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> )</div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> {</div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> <span class="keywordtype">int</span> z = 0;</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> cpl_image* pPlane = NULL;</div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> cpl_imagelist* pRetval = NULL;</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> pRetval = cpl_imagelist_new();</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> </div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> <span class="keywordflow">for</span> (z = 0; z < iPlanesNumber; z++)</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> {</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="keywordtype">double</span> dSignalValue = dSignal + z * dSignalDelta;</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> <span class="keywordflow">switch</span> (type)</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> {</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="keywordflow">case</span> 0:</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> pPlane = create_plane(</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> iSizeX,</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> iSizeY,</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> iFWHMX,</div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> iFWHMY,</div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> shiftX,</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> shiftY,</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> dSignalValue,</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> dBkgSignal,</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> dNoiseLvl</div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> );</div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> <span class="keywordflow">case</span> 1:</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> pPlane = create_square_plane(</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> iSizeX,</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> iSizeY,</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> iFWHMX,</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> iFWHMY,</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> shiftX,</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> shiftY,</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> dSignalValue,</div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> dBkgSignal,</div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> dNoiseLvl</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> );</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> }</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> </div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> </div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> <span class="keywordflow">if</span> (dDefectValue)</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> {</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> put_defect(pPlane, iDefectX, iDefectY, dDefectValue);</div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> }</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> putNAN(pPlane, iDefectX + shiftX, iDefectY + shiftY);</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> cpl_imagelist_set(pRetval, pPlane, z);</div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> }</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> <span class="keywordflow">return</span> pRetval;</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> }</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> cpl_image* create_plane(</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> <span class="keywordtype">int</span> iSizeX,</div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> <span class="keywordtype">int</span> iSizeY,</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> <span class="keywordtype">int</span> iFWHMX,</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> <span class="keywordtype">int</span> iFWHMY,</div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> <span class="keywordtype">int</span> shiftX,</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> <span class="keywordtype">int</span> shiftY,</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> <span class="keywordtype">double</span> dSignal,</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> <span class="keywordtype">double</span> dBkgSignal,</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> <span class="keywordtype">double</span> dNoiseLvl</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> )</div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> {</div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> cpl_image* imNoise = NULL;</div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> cpl_image* imGauss = NULL;</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> cpl_image* imResult = NULL;</div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> <span class="keyword">const</span> <span class="keywordtype">double</span> K = 2.35482;<span class="comment">//1. / (2. * sqrt(2.* ln(2.)));</span></div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> </div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> imNoise = cpl_image_new(iSizeX, iSizeY, CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> cpl_image_fill_noise_uniform(imNoise, dBkgSignal - dNoiseLvl, dBkgSignal + dNoiseLvl);</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> imGauss = cpl_image_new(iSizeX, iSizeY, CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> sinfo_msg(<span class="stringliteral">"Generate Gaussian center[%d:%d] signal[%f], sigma[%f:%f]"</span>, iSizeX/2 + shiftX, iSizeY/2 + shiftY, dSignal, iFWHMX / K, iFWHMY / K);</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> cpl_image_fill_gaussian(imGauss, iSizeX/2 + shiftX, iSizeY/2 + shiftY, dSignal, iFWHMX / K, iFWHMY / K);</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> imResult = cpl_image_add_create(imGauss, imNoise);</div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> </div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> <span class="comment">// cleanup</span></div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> <span class="keywordflow">if</span> (imNoise)</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> {</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> cpl_image_delete(imNoise);</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> imNoise = 0;</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> }</div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> <span class="keywordflow">if</span> (imGauss)</div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> {</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> cpl_image_delete(imGauss);</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> imGauss = 0;</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> }</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> <span class="keywordflow">return</span> imResult;</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> }</div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> cpl_image* create_square_plane(</div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> <span class="keywordtype">int</span> iSizeX,</div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> <span class="keywordtype">int</span> iSizeY,</div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> <span class="keywordtype">int</span> iHoleX,</div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> <span class="keywordtype">int</span> iHoleY,</div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> <span class="keywordtype">int</span> shiftX,</div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> <span class="keywordtype">int</span> shiftY,</div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> <span class="keywordtype">double</span> dSignal,</div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> <span class="keywordtype">double</span> dBkgSignal,</div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> <span class="keywordtype">double</span> dNoiseLvl</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> )</div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> {</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> cpl_image* imNoise = NULL;</div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> cpl_image* imHole = NULL;</div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> cpl_image* imResult = NULL;</div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> <span class="keywordtype">int</span> x = 0;</div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> <span class="keywordtype">int</span> y = 0;</div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> <span class="keywordtype">int</span> xHoleInitial = 0;</div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> <span class="keywordtype">int</span> yHoleInitial = 0;</div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> imNoise = cpl_image_new(iSizeX, iSizeY, CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> cpl_image_fill_noise_uniform(imNoise, dBkgSignal - dNoiseLvl, dBkgSignal + dNoiseLvl);</div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> imHole = cpl_image_new(iSizeX, iSizeY, CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> xHoleInitial = iSizeX / 2 - iHoleX / 2;</div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> yHoleInitial = iSizeY / 2 - iHoleY / 2;</div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> <span class="keywordflow">for</span> (x = 0; x <= iHoleX; x++)</div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> {</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> <span class="keywordflow">for</span> (y = 0; y <= iHoleY; y++)</div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> {</div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> <span class="keywordtype">int</span> pX = x + xHoleInitial + shiftX ;</div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> <span class="keywordtype">int</span> pY = y + yHoleInitial + shiftY;</div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> <span class="keywordflow">if</span> ((pX <= iSizeX) &&(pY <= iSizeY))</div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> cpl_image_set(imHole, pX,pY, dSignal);</div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> }</div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> }</div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> <span class="comment">//cpl_image_fill_gaussian(imGauss, iSizeX/2 + shiftX, iSizeY/2 + shiftY, dSignal, iFWHMX / K, iFWHMY / K);</span></div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> imResult = cpl_image_add_create(imHole, imNoise);</div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> </div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> <span class="comment">// cleanup</span></div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> <span class="keywordflow">if</span> (imNoise)</div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> {</div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> cpl_image_delete(imNoise);</div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> imNoise = 0;</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> }</div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> <span class="keywordflow">if</span> (imHole)</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> {</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> cpl_image_delete(imHole);</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> imHole = 0;</div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> }</div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> <span class="keywordflow">return</span> imResult;</div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> }</div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> <span class="keywordtype">int</span> put_defect(cpl_image *pPlane, <span class="keywordtype">int</span> iDefectX, <span class="keywordtype">int</span> iDefectY, <span class="keywordtype">double</span> dDefectValue)</div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> {</div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> sinfo_msg(<span class="stringliteral">"Set bad pixel x[%d] y[%d] value[%f]"</span>, iDefectX, iDefectY, dDefectValue);</div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> <span class="keywordflow">if</span> (pPlane)</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> {</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> cpl_image_set(pPlane, iDefectX, iDefectY, dDefectValue);</div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> cpl_image_set(pPlane, iDefectX+1, iDefectY+1, dDefectValue);</div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> cpl_image_set(pPlane, iDefectX-1, iDefectY-1, dDefectValue);</div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> cpl_image_set(pPlane, iDefectX+1, iDefectY-1, dDefectValue);</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> cpl_image_set(pPlane, iDefectX-1, iDefectY+1, dDefectValue);</div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> }</div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> }</div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> </div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> <span class="keywordtype">void</span> putNAN(cpl_image *pPlane, <span class="keywordtype">int</span> iDefectX, <span class="keywordtype">int</span> iDefectY)</div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> {</div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> cpl_image_set(pPlane, iDefectX, iDefectY, ZERO);</div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> }</div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utl__ima__gauss_8c_source.html b/html/sinfo__utl__ima__gauss_8c_source.html
deleted file mode 100644
index a297926..0000000
--- a/html/sinfo__utl__ima__gauss_8c_source.html
+++ /dev/null
@@ -1,466 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_ima_gauss.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utl_ima_gauss.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_ima_gauss.c,v 1.1 2009/05/20 15:22:42 kmirny Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: kmirny $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2009/05/20 15:22:42 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <sinfo_pfits.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <sinfo_key_names.h></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <sinfo_pro_types.h></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include <sinfo_functions.h></span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_ima_gauss_create(cpl_plugin *) ;</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_ima_gauss_exec(cpl_plugin *) ;</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_ima_gauss_destroy(cpl_plugin *) ;</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_ima_gauss(cpl_parameterlist *, cpl_frameset *) ;</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_ima_gauss_description[] =</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="stringliteral">"This recipe produce an image,\n"</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="stringliteral">"containing a 2D Gaussian.\n"</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="stringliteral">"Information on relevant parameters can be found with\n"</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="stringliteral">"esorex --params sinfo_utl_ima_gauss\n"</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="stringliteral">"esorex --help sinfo_utl_ima_gauss\n"</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">static</span> <span class="keywordtype">char</span> PARAM_NAME_SIZE_X[] = <span class="stringliteral">"sinfoni.sinfo_utl_ima_gauss.size_x"</span>;</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">static</span> <span class="keywordtype">char</span> PARAM_NAME_SIZE_Y[] = <span class="stringliteral">"sinfoni.sinfo_utl_ima_gauss.size_y"</span>;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">static</span> <span class="keywordtype">char</span> PARAM_NAME_FWHM_X[] = <span class="stringliteral">"sinfoni.sinfo_utl_ima_gauss.fwhm_x"</span>;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">static</span> <span class="keywordtype">char</span> PARAM_NAME_FWHM_Y[] = <span class="stringliteral">"sinfoni.sinfo_utl_ima_gauss.fwhm_y"</span>;</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">static</span> <span class="keywordtype">char</span> PARAM_NAME_SIGNAL[] = <span class="stringliteral">"sinfoni.sinfo_utl_ima_gauss.total_signal"</span>;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keyword">static</span> <span class="keywordtype">char</span> PARAM_NAME_BKGSIG[] = <span class="stringliteral">"sinfoni.sinfo_utl_ima_gauss.bkg_signal"</span>;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">static</span> <span class="keywordtype">char</span> PARAM_NAME_NOISEL[] = <span class="stringliteral">"sinfoni.sinfo_utl_ima_gauss.noise_level"</span>;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keyword">static</span> <span class="keywordtype">char</span> RECIPE_NAME[] = <span class="stringliteral">"sinfoni.sinfo_utl_ima_gauss"</span>;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"><a class="code" href="group__sinfo__utl__ima__gauss.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693"> 103</a></span> <span class="keywordtype">int</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist * list)</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> {</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> cpl_recipe * recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe ) ;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> cpl_plugin * plugin = &recipe->interface ;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="stringliteral">"sinfo_utl_ima_gauss"</span>,</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="stringliteral">"Produce an image containing 2D Gaussian"</span>,</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> sinfo_utl_ima_gauss_description,</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="stringliteral">"Konstantin Mirny"</span>,</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="stringliteral">"kmirny at eso.org"</span>,</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> sinfo_utl_ima_gauss_create,</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> sinfo_utl_ima_gauss_exec,</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> sinfo_utl_ima_gauss_destroy) ;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> cpl_pluginlist_append(list, plugin) ;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> }</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_ima_gauss_create(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> {</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keyword">const</span> <span class="keywordtype">int</span> SIZE_X_DEFAULT = 1024;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keyword">const</span> <span class="keywordtype">int</span> SIZE_Y_DEFAULT = 1024;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keyword">const</span> <span class="keywordtype">int</span> FWHM_X = 100;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keyword">const</span> <span class="keywordtype">int</span> FWHM_Y = 100;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keyword">const</span> <span class="keywordtype">double</span> TOTAL_SIGNAL = 10E5;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keyword">const</span> <span class="keywordtype">double</span> BKG_SIGNAL = 400.;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keyword">const</span> <span class="keywordtype">double</span> NOISE_VALUE = 20.;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> cpl_parameter * p ;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE)</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> cpl_error_reset();</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> recipe->parameters = cpl_parameterlist_new() ;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment">/* Fill the parameters list */</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment">/* --stropt */</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment">/* p = cpl_parameter_new_value("sinfoni.sinfo_utl_ima_gauss.op",</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment"> CPL_TYPE_STRING,</span></div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment"> "A possible operation",</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment"> "sinfoni.sinfo_utl_ima_gauss","+");</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment"> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, "op") ;</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment"> cpl_parameterlist_append(recipe->parameters, p) ;*/</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment">/* --size_x */</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> p = cpl_parameter_new_value(PARAM_NAME_SIZE_X,</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> CPL_TYPE_INT, <span class="stringliteral">"size X axis"</span>, RECIPE_NAME, SIZE_X_DEFAULT) ;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"size_x"</span>) ;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment">/* --size_y */</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> p = cpl_parameter_new_value(PARAM_NAME_SIZE_Y,</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> CPL_TYPE_INT, <span class="stringliteral">"size Y axis"</span>, RECIPE_NAME, SIZE_Y_DEFAULT) ;</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"size_y"</span>) ;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment">/* --fwhm_x */</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> p = cpl_parameter_new_value(PARAM_NAME_FWHM_X,</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> CPL_TYPE_INT, <span class="stringliteral">"FWHM X axis"</span>, RECIPE_NAME, FWHM_X) ;</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"fwhm_x"</span>) ;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment">/* --fwhm_y */</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> p = cpl_parameter_new_value(PARAM_NAME_FWHM_Y,</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> CPL_TYPE_INT, <span class="stringliteral">"FWHM Y axis"</span>, RECIPE_NAME, FWHM_Y) ;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"fwhm_y"</span>) ;</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment">/* --total_signal */</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> p = cpl_parameter_new_value(PARAM_NAME_SIGNAL,</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> CPL_TYPE_DOUBLE, <span class="stringliteral">"Total signal value"</span>, RECIPE_NAME, TOTAL_SIGNAL) ;</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"total_signal"</span>) ;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="comment">/* --bkg_signal */</span></div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> p = cpl_parameter_new_value(PARAM_NAME_BKGSIG,</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> CPL_TYPE_DOUBLE, <span class="stringliteral">"background signal level"</span>, RECIPE_NAME, BKG_SIGNAL) ;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"bkg_signal"</span>) ;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment">/* --noise_level */</span></div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> p = cpl_parameter_new_value(PARAM_NAME_NOISEL,</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> CPL_TYPE_DOUBLE, <span class="stringliteral">"Noise level"</span>, RECIPE_NAME, NOISE_VALUE) ;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"noise_level"</span>) ;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> }</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_ima_gauss_exec(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> {</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keywordtype">int</span> code=0;</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> cpl_errorstate initial_errorstate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE)</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> cpl_error_reset();</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> code = sinfo_utl_ima_gauss(recipe->parameters, recipe->frames) ;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(initial_errorstate)) {</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="comment">/* Dump the error history since recipe execution start.</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="comment"> At this point the recipe cannot recover from the error */</span></div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> cpl_errorstate_dump(initial_errorstate, CPL_FALSE, NULL);</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> }</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordflow">return</span> code ;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> }</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_ima_gauss_destroy(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> {</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE)</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> cpl_parameterlist_delete(recipe->parameters) ;</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> }</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> sinfo_utl_ima_gauss( cpl_parameterlist * parlist,</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> cpl_frameset * framelist)</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> {</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="comment">// parameters</span></div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="keywordtype">int</span> iSizeX = 0;</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="keywordtype">int</span> iSizeY = 0;</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keywordtype">int</span> iFWHMX = 0;</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="keywordtype">int</span> iFWHMY = 0;</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="keywordtype">double</span> dSignal = 0;</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keywordtype">double</span> dBkgSignal = 0;</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="keywordtype">double</span> dNoiseLvl = 0;</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * name_o = NULL ;</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> cpl_parameter * param = NULL ;</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> </div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> cpl_propertylist * plist = NULL ;</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> cpl_image * imNoise = NULL ;</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> cpl_image * imGauss = NULL ;</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> cpl_image * imResult = NULL;</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> cpl_frame * product_frame = NULL;</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="keyword">const</span> <span class="keywordtype">double</span> K = 2.35482;<span class="comment">//1. / (2. * sqrt(2.* ln(2.)));</span></div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> sinfo_msg(<span class="stringliteral">"Welcome to SINFONI Pipeline release %d.%d.%d"</span>,</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> SINFONI_MAJOR_VERSION,SINFONI_MINOR_VERSION,SINFONI_MICRO_VERSION);</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> ck0(sinfo_dfs_set_groups(framelist),<span class="stringliteral">"Cannot indentify RAW and CALIB frames"</span>);</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="comment">/* HOW TO RETRIEVE INPUT PARAMETERS */</span></div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="comment">/* --size_x */</span></div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> PARAM_NAME_SIZE_X));</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> check_nomsg(iSizeX=cpl_parameter_get_int(param));</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="comment">/* --size_y */</span></div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> PARAM_NAME_SIZE_Y));</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> check_nomsg(iSizeY=cpl_parameter_get_int(param));</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="comment">/* --fwhm_x */</span></div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> PARAM_NAME_FWHM_X));</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> check_nomsg(iFWHMX=cpl_parameter_get_int(param));</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="comment">/* --fwhm_y */</span></div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> PARAM_NAME_FWHM_Y));</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> check_nomsg(iFWHMY=cpl_parameter_get_int(param));</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> </div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="comment">/* --total_signal */</span></div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> PARAM_NAME_SIGNAL));</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> check_nomsg(dSignal=cpl_parameter_get_double(param));</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="comment">/* --bkg_signal */</span></div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> PARAM_NAME_BKGSIG));</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> check_nomsg(dBkgSignal=cpl_parameter_get_double(param));</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="comment">/* --noise_level */</span></div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> PARAM_NAME_NOISEL));</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> check_nomsg(dNoiseLvl=cpl_parameter_get_double(param));</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> </div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="comment">/* Identify the RAW and CALIB frames in the input frameset */</span></div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="comment">// check(sinfo_dfs_set_groups(framelist),</span></div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="comment">// "Cannot identify RAW and CALIB frames") ;</span></div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> </div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="comment">/* HOW TO ACCESS INPUT DATA */</span></div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="comment">/* n=cpl_frameset_get_size(framelist);</span></div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="comment"> if(n<1) {</span></div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="comment"> sinfo_msg_error("Empty input frame list!");</span></div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="comment"> goto cleanup ;</span></div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="comment">/* HOW TO ACCESS INPUT DATA */</span></div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="comment">// check_nomsg(raw_set=cpl_frameset_new());</span></div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="comment"> check(sinfo_contains_frames_kind(framelist,raw_set,PRO_IMA),</span></div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="comment"> "Found no input frames with tag %s",PRO_IMA);</span></div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="comment"> check_nomsg(nraw=cpl_frameset_get_size(raw_set));</span></div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="comment"> if (nraw<1) {</span></div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="comment"> sinfo_msg_error("Found no input frames with tag %s",PRO_IMA);</span></div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="comment"> goto cleanup;</span></div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="comment"> } else {</span></div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="comment"> check_nomsg(frm_ima1=cpl_frameset_get_frame(framelist,0));</span></div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="comment"> check_nomsg(ima1=cpl_image_load(cpl_frame_get_filename(frm_ima1),</span></div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="comment"> CPL_TYPE_FLOAT,0,0));</span></div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="comment"> if (nraw>1) {</span></div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="comment"> check_nomsg(frm_ima2=cpl_frameset_get_frame(framelist,1));</span></div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="comment"> check_nomsg(ima2 = cpl_image_load(cpl_frame_get_filename(frm_ima2),</span></div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="comment"> CPL_TYPE_FLOAT,0,0));</span></div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="comment"> switch_ima2=1;</span></div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="comment"> } else if (value == 9999.) {</span></div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="comment"> sinfo_msg_error("Found only one input frames with tag %s",PRO_IMA);</span></div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="comment"> goto cleanup;</span></div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="comment"> } else {</span></div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="comment"> sinfo_msg("Produce an image %s",PRO_IMA);</span></div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="comment"></span></div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="comment"> sinfo_free_frameset(&raw_set);</span></div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="comment">/* HOW TO GET THE VALUE OF A FITS KEYWORD */</span></div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> check(plist=cpl_propertylist_new(),<span class="stringliteral">"Cannot create a Property List"</span>);</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="comment">/* Now performing the data reduction */</span></div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="comment">/* Let's generate one image for the example */</span></div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> </div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> check(imNoise = cpl_image_fill_test_create(iSizeX, iSizeY),</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="stringliteral">"Cannot generate the image"</span>) ;</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> check_nomsg(cpl_image_fill_noise_uniform(imNoise, dBkgSignal - dNoiseLvl, dBkgSignal + dNoiseLvl));</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> check(imGauss = cpl_image_fill_test_create(iSizeX, iSizeY),</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="stringliteral">"Cannot generate the image"</span>) ;</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="comment">// double dfwhm_x = iFWHMX;</span></div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="comment">// double dfwhm_y = iFWHMY;</span></div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="comment">// double xcen = 0;</span></div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="comment">// double ycen = 0;</span></div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="comment">// check_nomsg(cpl_image_fit_gaussian(imNoise, iSizeX/2, iSizeY/2, 5, &dSignal, &xcen, &ycen, 0, 0, &dfwhm_y, &dfwhm_y));</span></div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> check(imResult = cpl_image_fill_test_create(iSizeX, iSizeY),</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="stringliteral">"Cannot generate the image"</span>) ;</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> check_nomsg(cpl_image_fill_gaussian(imGauss, iSizeX/2, iSizeY/2, dSignal, iFWHMX / K, iFWHMY / K));</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> check(imResult = cpl_image_add_create(imGauss, imNoise), <span class="stringliteral">"Cannot generate the image"</span>);</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="comment">/* HOW TO SAVE A PRODUCT ON DISK */</span></div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="comment">/* Set the file name */</span></div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> name_o = <span class="stringliteral">"ima_res.fits"</span> ;</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> </div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="comment">/* Create product frame */</span></div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> check_nomsg(product_frame = cpl_frame_new());</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> check_nomsg(cpl_frame_set_filename(product_frame, name_o)) ;</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> check_nomsg(cpl_frame_set_tag(product_frame,<span class="stringliteral">"image_gauss"</span> )) ;</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> check_nomsg(cpl_frame_set_type(product_frame, CPL_FRAME_TYPE_IMAGE)) ;</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> check_nomsg(cpl_frame_set_group(product_frame, CPL_FRAME_GROUP_PRODUCT)) ;</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> check(cpl_frame_set_level(product_frame, CPL_FRAME_LEVEL_FINAL),</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="stringliteral">"Error while initialising the product frame"</span>) ;</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> </div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="comment">/* Add DataFlow keywords */</span></div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> check_nomsg(cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"^ESO PRO CATG"</span>,0));</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="comment">// cpl_frameset_dump(framelist, stdout);</span></div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> check(cpl_dfs_setup_product_header(plist,</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> product_frame,</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> framelist,</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> parlist,</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="stringliteral">"sinfo_utl_ima_gauss"</span>,</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="stringliteral">"SINFONI"</span>,</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> KEY_VALUE_HPRO_DID,NULL),</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="stringliteral">"Problem in the product DFS-compliance"</span>) ;</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> </div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> </div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="comment">/* Save the file */</span></div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> check(cpl_image_save(imResult,</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> name_o,</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> CPL_BPP_IEEE_FLOAT,</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> plist,</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> CPL_IO_DEFAULT),</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="stringliteral">"Could not save product"</span>);</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> </div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> sinfo_free_image(&imNoise);</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> sinfo_free_image(&imGauss);</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> sinfo_free_image(&imResult);</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="comment">/* Log the saved file in the input frameset */</span></div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> check_nomsg(cpl_frameset_insert(framelist, product_frame)) ;</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> </div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> </div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> cleanup:</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> </div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="comment">// sinfo_free_frameset(&raw_set);</span></div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="comment">/* This is usually freed by esorex: but what about if errors occurs?</span></div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="comment"> sinfo_free_frame(&product_frame) ;</span></div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> sinfo_free_image(&imNoise) ;</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> </div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="keywordflow">if</span> (cpl_error_get_code()) {</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> }</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> </div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utl__ima__line__corr_8c_source.html b/html/sinfo__utl__ima__line__corr_8c_source.html
deleted file mode 100644
index 2be84ef..0000000
--- a/html/sinfo__utl__ima__line__corr_8c_source.html
+++ /dev/null
@@ -1,352 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_ima_line_corr.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utl_ima_line_corr.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_ima_line_corr.c,v 1.3 2009/06/05 08:18:55 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2009/06/05 08:18:55 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.3 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <sinfo_pfits.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <sinfo_key_names.h></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <sinfo_pro_types.h></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include <sinfo_functions.h></span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include <sinfo_image_ops.h></span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_ima_line_corr_create(cpl_plugin *) ;</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_ima_line_corr_exec(cpl_plugin *) ;</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_ima_line_corr_destroy(cpl_plugin *) ;</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_ima_line_corr(cpl_parameterlist *, cpl_frameset *) ;</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_ima_line_corr_description[] =</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="stringliteral">"This recipe performs image computation.\n"</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="stringliteral">"The input files are images\n"</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="stringliteral">"their associated tags should be IMA.\n"</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="stringliteral">"The output are the images cleaned by the defect introduced by SINFONI sw\n"</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="stringliteral">"Information on relevant parameters can be found with\n"</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="stringliteral">"esorex --params sinfo_utl_ima_line_corr\n"</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="stringliteral">"esorex --help sinfo_utl_ima_line_corr\n"</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"><a class="code" href="group__sinfo__utl__ima__line__corr.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693"> 96</a></span> <span class="keywordtype">int</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist * list)</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> {</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> cpl_recipe * recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe ) ;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> cpl_plugin * plugin = &recipe->interface ;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="stringliteral">"sinfo_utl_ima_line_corr"</span>,</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="stringliteral">"Computes result of ima1 op ima2"</span>,</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> sinfo_utl_ima_line_corr_description,</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="stringliteral">"Andrea Modigliani"</span>,</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="stringliteral">"Andrea.Modigliani at eso.org"</span>,</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> sinfo_utl_ima_line_corr_create,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> sinfo_utl_ima_line_corr_exec,</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> sinfo_utl_ima_line_corr_destroy) ;</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> cpl_pluginlist_append(list, plugin) ;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> }</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_ima_line_corr_create(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> {</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> cpl_parameter * p ;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> cpl_error_reset();</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> recipe->parameters = cpl_parameterlist_new() ; </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment">/* Fill the parameters list */</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_ima_line_corr.kappa"</span>, </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> CPL_TYPE_INT, </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="stringliteral">"Kappa sigma value"</span>, </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="stringliteral">"sinfoni.sinfo_utl_ima_line_corr"</span>,18);</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"kappa"</span>) ;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_ima_line_corr.filt_rad"</span>, </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="stringliteral">"Filtering radii applied during median filter."</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="stringliteral">" Should be small"</span>, </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="stringliteral">"sinfoni.sinfo_utl_ima_line_corr"</span>,3) ;;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"filt_rad"</span>) ;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> }</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_ima_line_corr_exec(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> {</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordtype">int</span> code=0;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> cpl_errorstate initial_errorstate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> cpl_error_reset();</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> code = sinfo_utl_ima_line_corr(recipe->parameters, recipe->frames) ;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(initial_errorstate)) { </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment">/* Dump the error history since recipe execution start. </span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment"> At this point the recipe cannot recover from the error */</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> cpl_errorstate_dump(initial_errorstate, CPL_FALSE, NULL); </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> } </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordflow">return</span> code ;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> }</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_ima_line_corr_destroy(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> {</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> cpl_parameterlist_delete(recipe->parameters) ; </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> }</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keyword">static</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> sinfo_utl_ima_line_corr( cpl_parameterlist * parlist, </div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> cpl_frameset * framelist)</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> {</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> cpl_parameter * p= NULL ;</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keywordtype">int</span> kappa=18;</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordtype">int</span> filt_rad=3;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keywordtype">int</span> width=4;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> cpl_image * ima=NULL ;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> cpl_image * ima_out=NULL ;</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> cpl_propertylist * plist=NULL ;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> cpl_frame * product_frame=NULL;</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> cpl_frameset * raw_set=NULL;</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> cpl_frame * frm=NULL;</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordtype">char</span> name_o[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name=NULL;</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="keywordtype">int</span> n=0;</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> sinfo_msg(<span class="stringliteral">"Welcome to SINFONI Pipeline release %d.%d.%d"</span>,</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> SINFONI_MAJOR_VERSION,SINFONI_MINOR_VERSION,SINFONI_MICRO_VERSION);</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="comment">/* HOW TO RETRIEVE INPUT PARAMETERS */</span></div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="comment">/* --stropt */</span></div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> check_nomsg(p=cpl_parameterlist_find(parlist, </div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="stringliteral">"sinfoni.sinfo_utl_ima_line_corr.kappa"</span>));</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> check_nomsg(kappa=cpl_parameter_get_int(p));</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="comment">/* --boolopt */</span></div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> check_nomsg(p=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="stringliteral">"sinfoni.sinfo_utl_ima_line_corr.filt_rad"</span>));</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> check_nomsg(filt_rad = cpl_parameter_get_int(p)) ;</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="comment">/* Identify the RAW and CALIB frames in the input frameset */</span></div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> check(sinfo_dfs_set_groups(framelist),</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="stringliteral">"Cannot identify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="comment">/* HOW TO ACCESS INPUT DATA */</span></div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> n=cpl_frameset_get_size(framelist);</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keywordflow">if</span>(n<1) {</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Empty input frame list!"</span>);</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="keywordflow">goto</span> cleanup ;</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> }</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> raw_set=cpl_frameset_new();</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> ck0_nomsg(sinfo_extract_raw_frames(framelist, &raw_set));</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> n=cpl_frameset_get_size(raw_set);</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="keywordflow">if</span>(n<1) {</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"No raw data found in frame list!"</span>);</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="keywordflow">goto</span> cleanup ;</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> }</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keywordflow">for</span>(i=0;i<n;i++) {</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> check_nomsg(frm=cpl_frameset_get_frame(raw_set,0));</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> check_nomsg(name=cpl_frame_get_filename(frm));</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> check_nomsg(ima=cpl_image_load(name,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> check_nomsg(sinfo_image_line_corr(width,filt_rad,kappa,ima,&ima_out));</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> sprintf(name_o,<span class="stringliteral">"%s%d%s"</span>,<span class="stringliteral">"ima_cor"</span>,i,<span class="stringliteral">".fits"</span>) ;</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="comment">/* Create product frame */</span></div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> check_nomsg(product_frame = cpl_frame_new());</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> check_nomsg(cpl_frame_set_filename(product_frame, name_o));</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> check_nomsg(cpl_frame_set_tag(product_frame, <span class="stringliteral">"IMA_COR"</span>));</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> check_nomsg(cpl_frame_set_type(product_frame, CPL_FRAME_TYPE_IMAGE));</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> check_nomsg(cpl_frame_set_group(product_frame, CPL_FRAME_GROUP_PRODUCT));</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> check(cpl_frame_set_level(product_frame, CPL_FRAME_LEVEL_FINAL),</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="stringliteral">"Error while initialising the product frame"</span>) ;</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> </div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="comment">/* Add DataFlow keywords */</span></div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="comment"> check(cpl_dfs_setup_product_header(plist, </span></div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="comment"> product_frame, </span></div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="comment"> framelist, </span></div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="comment"> parlist,</span></div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="comment"> "sinfo_utl_ima_line_corr", </span></div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="comment"> "SINFONI", </span></div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="comment"> KEY_VALUE_HPRO_DID),</span></div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="comment"> "Problem in the product DFS-compliance") ;</span></div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="comment">/* Save the file */</span></div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> check(cpl_image_save(ima_out, </div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> name_o, </div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> CPL_BPP_IEEE_FLOAT, </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> plist,</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> CPL_IO_DEFAULT),</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="stringliteral">"Could not save product"</span>);</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> sinfo_free_image(&ima_out);</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> sinfo_free_image(&ima);</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="comment">/* Log the saved file in the input frameset */</span></div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> check_nomsg(cpl_frameset_insert(framelist, product_frame)) ;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> </div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> }</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> </div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> cleanup:</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> sinfo_free_image(&ima);</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> sinfo_free_image(&ima_out);</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="comment">//sinfo_free_frameset(&raw_set);</span></div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> </div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="comment">/* This is usually freed by esorex: but what about if errors occurs?</span></div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="comment"> sinfo_free_frame(&product_frame) ;</span></div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> </div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="keywordflow">if</span> (cpl_error_get_code()) {</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> }</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> </div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utl__line__oh__select_8c_source.html b/html/sinfo__utl__line__oh__select_8c_source.html
deleted file mode 100644
index e63a4ea..0000000
--- a/html/sinfo__utl__line__oh__select_8c_source.html
+++ /dev/null
@@ -1,308 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_line_oh_select.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utl_line_oh_select.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_line_oh_select.c,v 1.3 2013/07/15 08:14:38 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2013/07/15 08:14:38 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.3 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "irplib_utils.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_raw_types.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "sinfo_tpl_utils.h"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include "sinfo_tpl_dfs.h"</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_line_oh_select_create(cpl_plugin *) ;</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_line_oh_select_exec(cpl_plugin *) ;</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_line_oh_select_destroy(cpl_plugin *) ;</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_line_oh_select(cpl_parameterlist *, cpl_frameset *) ;</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_line_oh_select_description[] = </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="stringliteral">"sinfo_utl_line_oh_select -- SINFONI OH LINE table creation.\n"</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="stringliteral">"The files listed in the Set Of Frames (sof-file) must be tagged:\n"</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="stringliteral">"raw-file.fits REF_LINE_OH \n"</span> ;</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">int</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist * list)</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> {</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> cpl_recipe * recipe = cpl_calloc(1, <span class="keyword">sizeof</span>(*recipe)) ;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> cpl_plugin * plugin = &recipe->interface ;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="stringliteral">"sinfo_utl_line_oh_select"</span>,</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="stringliteral">"OH line table creation"</span>,</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> sinfo_utl_line_oh_select_description,</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="stringliteral">"Andrea Modigliani"</span>,</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="stringliteral">"amodigli at eso.org"</span>,</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> sinfo_utl_line_oh_select_create,</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> sinfo_utl_line_oh_select_exec,</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> sinfo_utl_line_oh_select_destroy) ;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> cpl_pluginlist_append(list, plugin) ;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> }</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_line_oh_select_create(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> {</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> cpl_parameter* p=NULL;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE)</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> recipe->parameters = cpl_parameterlist_new() ;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">/* --doubleopt */</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.sinfo_utl_line_oh_select.wmin"</span>, </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> CPL_TYPE_DOUBLE, <span class="stringliteral">"wmin"</span>, </div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="stringliteral">"sinfoni.sinfo_utl_line_oh_select"</span>, </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> 1040.,1000.,2500.) ;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"wmin"</span>) ;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.sinfo_utl_line_oh_select.wmax"</span>, </div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> CPL_TYPE_DOUBLE, <span class="stringliteral">"wmax"</span>, </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="stringliteral">"sinfoni.sinfo_utl_line_oh_select"</span>, </div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> 1880.,1000.,2500.) ;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"wmax"</span>) ;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_line_oh_select.intnorm"</span>, </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> CPL_TYPE_DOUBLE, <span class="stringliteral">"intnorm"</span>, </div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="stringliteral">"sinfoni.sinfo_utl_line_oh_select"</span>, </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> 4.) ;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"intnorm"</span>) ;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_line_oh_select.intlimit"</span>, </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> CPL_TYPE_DOUBLE, <span class="stringliteral">"intlimit"</span>, </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="stringliteral">"sinfoni.sinfo_utl_line_oh_select"</span>, </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> 50.) ;</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"intlimit"</span>) ;</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> }</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_line_oh_select_exec(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> {</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE)</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordflow">return</span> sinfo_utl_line_oh_select(recipe->parameters, recipe->frames) ;</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> }</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_line_oh_select_destroy(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> {</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE)</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> cpl_parameterlist_delete(recipe->parameters) ;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> }</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_line_oh_select(</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> cpl_parameterlist * parlist, </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> cpl_frameset * framelist)</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> {</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> cpl_parameter* p=NULL;</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> cpl_frame* frame=NULL;</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> cpl_frameset * rawframes ;</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keywordtype">int</span> nframes;</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> cpl_propertylist* phead=NULL;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> cpl_table * tab_in ;</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> cpl_table * tab_ou ;</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keywordtype">int</span> nm2AA=10.;</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordtype">double</span> wmin=0;</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordtype">double</span> wmax=0;</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keywordtype">double</span> intnorm=0;</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordtype">double</span> intlimit=0;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keywordtype">int</span> next=0;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordtype">int</span> nrow=0;</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="comment">/* Identify the RAW and CALIB frames in the input frameset */</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordflow">if</span> (sinfo_dfs_set_groups(framelist)) {</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> cpl_msg_error(__func__, <span class="stringliteral">"Cannot identify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> }</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="comment">/* Retrieve raw frames */</span></div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordflow">if</span> ((rawframes = sinfo_extract_frameset(framelist,</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="stringliteral">"REF_LINE_OH"</span>)) == NULL) {</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> cpl_msg_error(__func__, <span class="stringliteral">"Cannot find raw frames in the input list"</span>) ;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> }</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> p=cpl_parameterlist_find(parlist, <span class="stringliteral">"sinfoni.sinfo_utl_line_oh_select.wmin"</span>);</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> wmin = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> p=cpl_parameterlist_find(parlist, <span class="stringliteral">"sinfoni.sinfo_utl_line_oh_select.wmax"</span>);</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> wmax = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> p=cpl_parameterlist_find(parlist, <span class="stringliteral">"sinfoni.sinfo_utl_line_oh_select.intnorm"</span>);</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> intnorm = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> p=cpl_parameterlist_find(parlist, <span class="stringliteral">"sinfoni.sinfo_utl_line_oh_select.intlimit"</span>);</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> intlimit = cpl_parameter_get_double(p);</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> nframes = cpl_frameset_get_size(rawframes) ;</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="comment">/* Load */</span></div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="keywordflow">if</span>(nframes > 0) {</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> frame=cpl_frameset_get_frame(rawframes,0);</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> }</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> tab_in=cpl_table_load(cpl_frame_get_filename(frame),1,0);</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> nrow=cpl_table_get_nrow(tab_in);</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> cpl_table_divide_scalar(tab_in,<span class="stringliteral">"wave"</span>,nm2AA);</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> cpl_table_divide_scalar(tab_in,<span class="stringliteral">"int"</span>,intnorm);</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> sinfo_msg(<span class="stringliteral">"wmin=%g wmax=%g"</span>,wmin,wmax);</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> sinfo_msg(<span class="stringliteral">"nrow=%d"</span>,nrow);</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> cpl_table_dump(tab_in,1,2,stdout);</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> cpl_table_dump(tab_in,nrow-10,2,stdout);</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> next=cpl_table_and_selected_double(tab_in,<span class="stringliteral">"wave"</span>,CPL_GREATER_THAN,wmin);</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> sinfo_msg(<span class="stringliteral">"next=%d"</span>,next);</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> next=cpl_table_and_selected_double(tab_in,<span class="stringliteral">"wave"</span>,CPL_LESS_THAN,wmax);</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> sinfo_msg(<span class="stringliteral">"next=%d"</span>,next);</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> next=cpl_table_and_selected_double(tab_in,<span class="stringliteral">"int"</span>,CPL_GREATER_THAN,intlimit);</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> sinfo_msg(<span class="stringliteral">"next=%d"</span>,next);</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> tab_ou=cpl_table_extract_selected(tab_in);</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> cpl_table_save(tab_ou,phead,NULL,<span class="stringliteral">"oh_selected.fits"</span>,CPL_IO_DEFAULT);</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="comment">/* Free and return */</span></div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> sinfo_free_table(&tab_in);</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> sinfo_free_table(&tab_ou);</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> sinfo_free_propertylist(&phead);</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> }</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utl__remove__crh__single_8c_source.html b/html/sinfo__utl__remove__crh__single_8c_source.html
deleted file mode 100644
index f70b375..0000000
--- a/html/sinfo__utl__remove__crh__single_8c_source.html
+++ /dev/null
@@ -1,462 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_remove_crh_single.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utl_remove_crh_single.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_remove_crh_single.c,v 1.2 2009/01/30 14:56:12 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2009/01/30 14:56:12 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.2 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <sinfo_pfits.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <sinfo_key_names.h></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <sinfo_raw_types.h></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include <sinfo_pro_types.h></span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include <sinfo_functions.h></span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include <sinfo_remove_crh_single.h></span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_remove_crh_single_create(cpl_plugin *) ;</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_remove_crh_single_exec(cpl_plugin *) ;</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_remove_crh_single_destroy(cpl_plugin *) ;</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_remove_crh_single(cpl_parameterlist *, cpl_frameset *) ;</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_remove_crh_single_description[] =</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="stringliteral">"This recipe performs image computation.\n"</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="stringliteral">"The input files is one image\n"</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="stringliteral">"their associated tags should be IMA.\n"</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="stringliteral">"The output is the image cleaned from CRHs\n"</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="stringliteral">"Information on relevant parameters can be found with\n"</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="stringliteral">"esorex --params sinfo_utl_remove_crh_single\n"</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="stringliteral">"esorex --help sinfo_utl_remove_crh_single\n"</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"><a class="code" href="group__sinfo__utl__remove__crh__single.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693"> 97</a></span> <span class="keywordtype">int</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist * list)</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> {</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> cpl_recipe * recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe ) ;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> cpl_plugin * plugin = &recipe->interface ;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="stringliteral">"sinfo_utl_remove_crh_single"</span>,</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="stringliteral">"Remove CRHs from an image"</span>,</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> sinfo_utl_remove_crh_single_description,</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="stringliteral">"Andrea Modigliani"</span>,</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="stringliteral">"Andrea.Modigliani at eso.org"</span>,</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> sinfo_utl_remove_crh_single_create,</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> sinfo_utl_remove_crh_single_exec,</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> sinfo_utl_remove_crh_single_destroy) ;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> cpl_pluginlist_append(list, plugin) ;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> }</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_remove_crh_single_create(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> {</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> cpl_parameter * p ;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> cpl_error_reset();</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> recipe->parameters = cpl_parameterlist_new() ; </div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment">/* Fill the parameters list */</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment">/* --stropt */</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_remove_crh_single.crh_frac_max"</span>, </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> CPL_TYPE_DOUBLE, </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="stringliteral">"Maximum fraction of allowed CRHs"</span>, </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="stringliteral">"sinfoni.sinfo_utl_remove_crh_single"</span>,0.7);</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"crh_frac_max"</span>) ;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment">/* --doubleopt */</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_remove_crh_single.sigma_lim"</span>, </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> CPL_TYPE_DOUBLE, </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="stringliteral">"Maximum sigma in kappa-sigma clip"</span>,</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="stringliteral">"sinfoni.sinfo_utl_remove_crh_single"</span>, 25.) ;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"sigma_lim"</span>) ;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_remove_crh_single.f_lim"</span>, </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> CPL_TYPE_DOUBLE, </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="stringliteral">"Max fraction of bad pixels allowed"</span>,</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="stringliteral">"sinfoni.sinfo_utl_remove_crh_single"</span>, 0.7) ;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"f_lim"</span>) ;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_remove_crh_single.max_iter"</span>,</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> CPL_TYPE_INT, </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="stringliteral">"Max fraction of bad pixels allowed"</span>,</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="stringliteral">"sinfoni.sinfo_utl_remove_crh_single"</span>,5) ;</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"max_iter"</span>) ;</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_remove_crh_single.gain"</span>,</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> CPL_TYPE_DOUBLE, </div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="stringliteral">"Detector's gain"</span>,</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="stringliteral">"sinfoni.sinfo_utl_remove_crh_single"</span>,2.42) ;</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"gain"</span>) ;</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_remove_crh_single.ron"</span>,</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> CPL_TYPE_DOUBLE, </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="stringliteral">"Detector's ron"</span>,</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="stringliteral">"sinfoni.sinfo_utl_remove_crh_single"</span>,1.) ;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"ron"</span>) ;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> }</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_remove_crh_single_exec(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> {</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordtype">int</span> code=0;</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> cpl_errorstate initial_errorstate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> cpl_error_reset();</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> code = sinfo_utl_remove_crh_single(recipe->parameters, recipe->frames) ;</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(initial_errorstate)) { </div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="comment">/* Dump the error history since recipe execution start. </span></div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="comment"> At this point the recipe cannot recover from the error */</span> </div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> cpl_errorstate_dump(initial_errorstate, CPL_FALSE, NULL); </div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> } </div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordflow">return</span> code ;</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> }</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_remove_crh_single_destroy(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> {</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> cpl_parameterlist_delete(recipe->parameters) ; </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> }</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keyword">static</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> sinfo_utl_remove_crh_single( cpl_parameterlist * parlist, </div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> cpl_frameset * framelist)</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> {</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> cpl_parameter * param= NULL ;</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> cpl_frameset * raw_on=NULL;</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> cpl_frameset * raw_off=NULL;</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="keywordtype">double</span> crh_frac_max=0;</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="keywordtype">double</span> sigma_lim=0;</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="keywordtype">double</span> f_lim=0;</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="keywordtype">int</span> max_iter=0;</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="keywordtype">double</span> gain=0;</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="keywordtype">double</span> ron=0;</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="keywordtype">int</span> nraw=0;</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keywordtype">int</span> n=0;</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> cpl_image* ima_res=NULL;</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="keywordtype">char</span> name[256];</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> cpl_image* image=NULL;</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> cpl_image* img_on=NULL;</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> cpl_image* img_off=NULL;</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name_o=NULL;</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> cpl_frame* product_frame=NULL;</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> cpl_frame* frame_on=NULL;</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> cpl_frame* frame_off=NULL;</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> sinfo_msg(<span class="stringliteral">"Welcome to SINFONI Pipeline release %d.%d.%d"</span>,</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> SINFONI_MAJOR_VERSION,SINFONI_MINOR_VERSION,SINFONI_MICRO_VERSION);</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="comment">/* HOW TO RETRIEVE INPUT PARAMETERS */</span></div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> check_nomsg(param=cpl_parameterlist_find(parlist, </div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="stringliteral">"sinfoni.sinfo_utl_remove_crh_single.crh_frac_max"</span>));</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> check_nomsg(crh_frac_max=cpl_parameter_get_double(param));</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="stringliteral">"sinfoni.sinfo_utl_remove_crh_single.sigma_lim"</span>));</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> check_nomsg(sigma_lim = cpl_parameter_get_double(param)) ;</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="stringliteral">"sinfoni.sinfo_utl_remove_crh_single.f_lim"</span>));</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> check_nomsg(f_lim = cpl_parameter_get_double(param)) ;</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="stringliteral">"sinfoni.sinfo_utl_remove_crh_single.max_iter"</span>));</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> check_nomsg(max_iter = cpl_parameter_get_int(param)) ;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="stringliteral">"sinfoni.sinfo_utl_remove_crh_single.gain"</span>));</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> check_nomsg(gain = cpl_parameter_get_double(param)) ;</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="stringliteral">"sinfoni.sinfo_utl_remove_crh_single.ron"</span>));</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> check_nomsg(ron = cpl_parameter_get_double(param)) ;</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> </div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="comment">/* Identify the RAW and CALIB frames in the input frameset */</span></div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> check(sinfo_dfs_set_groups(framelist),</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="stringliteral">"Cannot identify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="comment">//cpl_frameset_dump(framelist,stdout);</span></div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="comment">/* HOW TO ACCESS INPUT DATA */</span></div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> n=cpl_frameset_get_size(framelist);</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="keywordflow">if</span>(n<1) {</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Empty input frame list!"</span>);</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="keywordflow">goto</span> cleanup ;</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> }</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> </div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="comment">/* HOW TO ACCESS INPUT DATA */</span></div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> check_nomsg(raw_on=cpl_frameset_new());</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> check(sinfo_contains_frames_kind(framelist,raw_on,RAW_ON),</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="stringliteral">"Found no input frames with tag %s"</span>,RAW_ON);</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> check_nomsg(nraw=cpl_frameset_get_size(raw_on));</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="keywordflow">if</span> (nraw<1) {</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Found no input frames with tag %s"</span>,RAW_ON);</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> }</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> check_nomsg(raw_off=cpl_frameset_new());</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> check(sinfo_contains_frames_kind(framelist,raw_off,RAW_OFF),</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="stringliteral">"Found no input frames with tag %s"</span>,RAW_OFF);</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> check_nomsg(nraw=cpl_frameset_get_size(raw_off));</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="keywordflow">if</span> (nraw<1) {</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Found no input frames with tag %s"</span>,RAW_OFF);</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> }</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> </div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> check_nomsg(frame_on=cpl_frameset_get_first(raw_on));</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> check_nomsg(strcpy(name,cpl_frame_get_filename(frame_on)));</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> check_nomsg(sinfo_free_frameset(&raw_on));</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> sinfo_msg(<span class="stringliteral">"name=%s"</span>,name);</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> check_nomsg(img_on=cpl_image_load(name,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> check(plist=cpl_propertylist_load(name,0),</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="stringliteral">"Cannot read the FITS header"</span>) ;</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> </div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> frame_off=cpl_frameset_get_first(raw_off);</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> strcpy(name,cpl_frame_get_filename(frame_off));</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> sinfo_free_frameset(&raw_off);</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> img_off=cpl_image_load(name,CPL_TYPE_FLOAT,0,0);</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> </div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> image=cpl_image_duplicate(img_on);</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> sinfo_free_image(&img_on);</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> cpl_image_subtract(image,img_off);</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> cpl_image_save(image,<span class="stringliteral">"image_with_crh.fits"</span>,CPL_BPP_IEEE_FLOAT,NULL,</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> CPL_IO_DEFAULT);</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> </div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> check(ima_res=sinfo_remove_crh_single(image,crh_frac_max,sigma_lim,f_lim,</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> max_iter,gain,ron),</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="stringliteral">"fail to remove CRHs"</span>);</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> sinfo_free_image(&image); </div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> </div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> </div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="comment">/* HOW TO SAVE A PRODUCT ON DISK */</span></div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="comment">/* Set the file name */</span></div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> name_o = <span class="stringliteral">"ima_res.fits"</span> ;</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> </div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="comment">/* Create product frame */</span></div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> check_nomsg(product_frame = cpl_frame_new());</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> check_nomsg(cpl_frame_set_filename(product_frame, name_o)) ;</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> check_nomsg(cpl_frame_set_tag(product_frame, SI_UTL_IMA_ARITH_PROIMA)) ;</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> check_nomsg(cpl_frame_set_type(product_frame, CPL_FRAME_TYPE_IMAGE)) ;</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> check_nomsg(cpl_frame_set_group(product_frame, CPL_FRAME_GROUP_PRODUCT)) ;</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> check(cpl_frame_set_level(product_frame, CPL_FRAME_LEVEL_FINAL),</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="stringliteral">"Error while initialising the product frame"</span>) ;</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> </div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="comment">/* Add DataFlow keywords */</span></div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> check_nomsg(cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"^ESO PRO CATG"</span>,0));</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="preprocessor">#if defined CPL_VERSION_CODE && CPL_VERSION_CODE >= CPL_VERSION(4, 8, 0) </span></div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="preprocessor"></span> check(cpl_dfs_setup_product_header(plist, </div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> product_frame, </div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> framelist, </div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> parlist,</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="stringliteral">"sinfo_utl_remove_crh_single"</span>, </div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="stringliteral">"SINFONI"</span>, </div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> KEY_VALUE_HPRO_DID,NULL),</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="stringliteral">"Problem in the product DFS-compliance"</span>) ;</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="preprocessor"></span> check(cpl_dfs_setup_product_header(plist, </div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> product_frame, </div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> framelist, </div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> parlist,</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="stringliteral">"sinfo_utl_remove_crh_single"</span>, </div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="stringliteral">"SINFONI"</span>, </div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> KEY_VALUE_HPRO_DID),</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="stringliteral">"Problem in the product DFS-compliance"</span>) ;</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="preprocessor"></span> <span class="comment">/* Save the file */</span></div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> check(cpl_image_save(ima_res, </div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> name_o, </div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> CPL_BPP_IEEE_FLOAT, </div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> plist,</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> CPL_IO_DEFAULT),</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="stringliteral">"Could not save product"</span>);</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> </div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> </div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="comment">/* Log the saved file in the input frameset */</span></div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> check_nomsg(cpl_frameset_insert(framelist, product_frame)) ;</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> </div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> cleanup:</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> </div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> sinfo_free_frameset(&raw_on);</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> sinfo_free_frameset(&raw_off);</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> sinfo_free_image(&img_on);</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> sinfo_free_image(&img_off);</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> <span class="comment">/* This is usually freed by esorex: but what about if errors occurs?</span></div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="comment"> sinfo_free_frame(&product_frame) ;</span></div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> sinfo_free_image(&image) ;</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> </div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="keywordflow">if</span> (cpl_error_get_code()) {</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> }</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utl__seds_8c_source.html b/html/sinfo__utl__seds_8c_source.html
deleted file mode 100644
index b25cf8f..0000000
--- a/html/sinfo__utl__seds_8c_source.html
+++ /dev/null
@@ -1,315 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_seds.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utl_seds.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_seds.c,v 1.1 2008/06/11 13:42:20 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2008/06/11 13:42:20 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "irplib_utils.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_raw_types.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_tpl_utils.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "sinfo_tpl_dfs.h"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">#include "isaac_utils.h"</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">#include "isaac_pfits.h"</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">#include "isaac_dfs.h"</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_seds_create(cpl_plugin *) ;</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_seds_exec(cpl_plugin *) ;</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_seds_destroy(cpl_plugin *) ;</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_seds(cpl_parameterlist *, cpl_frameset *) ;</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_seds_save(cpl_table *, cpl_parameterlist *, </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> cpl_frameset *) ;</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_seds_description[] = </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="stringliteral">"sinfo_utl_seds -- SINFONI SEDS table creation.\n"</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="stringliteral">"The files listed in the Set Of Frames (sof-file) must be tagged:\n"</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="stringliteral">"raw-file.fits "</span>SINFO_UTL_SEDS_RAW<span class="stringliteral">"\n"</span> ;</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">int</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist * list)</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> {</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> cpl_recipe * recipe = cpl_calloc(1, <span class="keyword">sizeof</span>(*recipe)) ;</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> cpl_plugin * plugin = &recipe->interface ;</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="stringliteral">"sinfo_utl_seds"</span>,</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="stringliteral">"SEDS table creation"</span>,</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> sinfo_utl_seds_description,</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="stringliteral">"Yves Jung"</span>,</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="stringliteral">"yjung at eso.org"</span>,</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> sinfo_utl_seds_create,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> sinfo_utl_seds_exec,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> sinfo_utl_seds_destroy) ;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> cpl_pluginlist_append(list, plugin) ;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> }</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_seds_create(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> {</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE)</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> recipe->parameters = cpl_parameterlist_new() ;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> }</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_seds_exec(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> {</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE)</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keywordflow">return</span> sinfo_utl_seds(recipe->parameters, recipe->frames) ;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> }</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_seds_destroy(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> {</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE)</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> cpl_parameterlist_delete(recipe->parameters) ;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> }</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_seds(</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> cpl_parameterlist * parlist, </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> cpl_frameset * framelist)</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> {</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> cpl_frame * cur_frame ;</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> cpl_frameset * rawframes ;</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordtype">int</span> nframes, nlines ;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> cpl_table * out ;</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> cpl_bivector ** seds ;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordtype">char</span> * name ;</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> cpl_vector * tmp_vec ;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordtype">int</span> i, j ;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment">/* Identify the RAW and CALIB frames in the input frameset */</span></div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">if</span> (sinfo_dfs_set_groups(framelist)) {</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> cpl_msg_error(__func__, <span class="stringliteral">"Cannot identify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> }</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment">/* Retrieve raw frames */</span></div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keywordflow">if</span> ((rawframes = sinfo_extract_frameset(framelist,</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> SINFO_UTL_SEDS_RAW)) == NULL) {</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> cpl_msg_error(__func__, <span class="stringliteral">"Cannot find raw frames in the input list"</span>) ;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> }</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> nframes = cpl_frameset_get_size(rawframes) ;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment">/* Load */</span></div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> seds = cpl_malloc(nframes * <span class="keyword">sizeof</span>(cpl_bivector*)) ;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keywordflow">for</span> (i=0 ; i<nframes ; i++) {</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> cur_frame = cpl_frameset_get_frame(rawframes, i) ;</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordflow">if</span> ((seds[i] = cpl_bivector_read(cpl_frame_get_filename(cur_frame))) </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> == NULL) {</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> cpl_msg_error(__func__, <span class="stringliteral">"Cannot load the sed %d"</span>, i+1) ;</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keywordflow">for</span> (j=0 ; j<i ; j++) cpl_bivector_delete(seds[j]) ;</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> cpl_free(seds) ;</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> cpl_frameset_delete(rawframes) ;</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> }</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> }</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment">/* Verify the length */</span></div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> nlines = cpl_bivector_get_size(seds[0]) ;</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keywordflow">for</span> (i=1 ; i<nframes ; i++) {</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordflow">if</span> (cpl_bivector_get_size(seds[i]) != nlines) {</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> cpl_msg_error(__func__, <span class="stringliteral">"Wrong SED size abort"</span>) ;</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keywordflow">for</span> (j=0 ; j<nframes ; j++) cpl_bivector_delete(seds[j]) ;</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> cpl_free(seds) ;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> cpl_frameset_delete(rawframes) ;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> }</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> }</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="comment">/* Create the out table */</span></div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> out = cpl_table_new(nlines) ;</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> tmp_vec = cpl_vector_duplicate(cpl_bivector_get_x(seds[0])) ;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> cpl_table_wrap_double(out, cpl_vector_get_data(tmp_vec), <span class="stringliteral">"Wavelength"</span>) ;</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> cpl_vector_unwrap(tmp_vec) ;</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="comment">/* Fill the table */</span></div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="keywordflow">for</span> (i=0 ; i<nframes ; i++) {</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="comment">/* Create the column */</span></div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> cur_frame = cpl_frameset_get_frame(rawframes, i) ;</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> name = cpl_strdup(cpl_frame_get_filename(cur_frame)) ;</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> name[3] = (char)0 ;</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> tmp_vec = cpl_vector_duplicate(cpl_bivector_get_y(seds[i])) ;</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> cpl_table_wrap_double(out, cpl_vector_get_data(tmp_vec), name) ;</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> cpl_vector_unwrap(tmp_vec) ;</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> cpl_free(name) ;</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> }</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> cpl_frameset_delete(rawframes) ;</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> cpl_free(seds) ;</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="comment">/* Save the table */</span></div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keywordflow">if</span> (sinfo_utl_seds_save(out, parlist, framelist) != 0) {</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> cpl_msg_error(__func__, <span class="stringliteral">"Cannot create product"</span>) ;</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> cpl_table_delete(out) ;</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> }</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="comment">/* Free and return */</span></div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> cpl_table_delete(out) ;</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> }</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_seds_save(</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> cpl_table * sed,</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> cpl_parameterlist * parlist,</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> cpl_frameset * <span class="keyword">set</span>)</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> {</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> cpl_propertylist * plist ;</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="comment">/* Some keywords */</span></div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> plist = cpl_propertylist_new() ;</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> cpl_propertylist_append_string(plist, <span class="stringliteral">"INSTRUME"</span>, <span class="stringliteral">"SINFO"</span>) ;</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="comment">/* Write the table */</span></div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> cpl_dfs_save_table(<span class="keyword">set</span>,</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> parlist,</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="keyword">set</span>,</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> sed,</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> NULL,</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="stringliteral">"sinfo_utl_seds"</span>,</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> SINFO_UTL_SEDS_RES,</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> plist,</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> NULL,</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> PACKAGE <span class="stringliteral">"/"</span> PACKAGE_VERSION,</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="stringliteral">"sinfo_utl_seds.fits"</span>) ;</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> cpl_propertylist_delete(plist) ;</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> }</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utl__skycor_8c_source.html b/html/sinfo__utl__skycor_8c_source.html
deleted file mode 100644
index 9c9d29c..0000000
--- a/html/sinfo__utl__skycor_8c_source.html
+++ /dev/null
@@ -1,370 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_skycor.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utl_skycor.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_skycor.c,v 1.14 2013/09/09 15:23:10 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2013/09/09 15:23:10 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.14 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <sinfo_skycor.h></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <sinfo_skycor_config.h></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <sinfo_pro_types.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <sinfo_pro_save.h></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <sinfo_globals.h></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">-----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_skycor_create(cpl_plugin *) ;</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_skycor_exec(cpl_plugin *) ;</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_skycor_destroy(cpl_plugin *) ;</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_skycor(cpl_parameterlist * config, cpl_frameset* <span class="keyword">set</span>);</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_skycor_description[] =</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="stringliteral">"This recipe perform a correction of possible sky line residuals in the \n"</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="stringliteral">"object cube after standard data reduction.\n"</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="stringliteral">"Input frames are cubes with target and sky observations.\n"</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="stringliteral">"Their tags can be respectively OBS_OBJ (or OBS_PSF or OBS_STD) and OBS_SKY.\n"</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="stringliteral">"The output is a cube with same tag as the corresponding input target frame.\n"</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"><a class="code" href="group__sinfo__utl__skycor.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693"> 91</a></span> <span class="keywordtype">int</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist * list)</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> {</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> cpl_recipe * recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe ) ;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> cpl_plugin * plugin = &recipe->interface ;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="stringliteral">"sinfo_utl_skycor"</span>,</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="stringliteral">"Sky lines residuals correction"</span>,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> sinfo_utl_skycor_description,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="stringliteral">"Andrea Modigliani"</span>,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="stringliteral">"Andrea.Modigliani at eso.org"</span>,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> sinfo_utl_skycor_create,</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> sinfo_utl_skycor_exec,</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> sinfo_utl_skycor_destroy) ;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> cpl_pluginlist_append(list, plugin) ;</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> }</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_skycor_create(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> {</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment">/* reset error handling */</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> recipe->parameters = cpl_parameterlist_new() ; </div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> sinfo_skycor_config_add(recipe->parameters);</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> }</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_skycor_exec(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> {</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keywordtype">int</span> code=0;</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> cpl_errorstate initial_errorstate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> code = sinfo_utl_skycor(recipe->parameters, recipe->frames) ;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(initial_errorstate)) { </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment">/* Dump the error history since recipe execution start. </span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment"> At this point the recipe cannot recover from the error */</span> </div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> cpl_errorstate_dump(initial_errorstate, CPL_FALSE, NULL); </div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> } </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keywordflow">return</span> code;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> }</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_skycor_destroy(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> {</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> cpl_parameterlist_delete(recipe->parameters) ; </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> }</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="keyword">static</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> sinfo_utl_skycor(cpl_parameterlist * config, cpl_frameset* <span class="keyword">set</span>)</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> {</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> cpl_frame* obj_frm=NULL;</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> cpl_frame* sky_frm=NULL;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> cpl_imagelist* obj_cor=NULL;</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * name_o=NULL ;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> cpl_frame* product_frame=NULL;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> sinfo_skycor_qc* sqc=NULL;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keywordtype">char</span> obj_tag[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> cpl_table* int_obj=NULL;</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> sinfo_msg(<span class="stringliteral">"Welcome to SINFONI Pipeline release %d.%d.%d"</span>,</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> SINFONI_MAJOR_VERSION,SINFONI_MINOR_VERSION,SINFONI_MICRO_VERSION);</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> ck0(sinfo_dfs_set_groups(<span class="keyword">set</span>),<span class="stringliteral">"Cannot indentify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment">// get input data </span></div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> obj_frm=cpl_frameset_find(<span class="keyword">set</span>,PRO_OBS_OBJ);</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keywordflow">if</span>(obj_frm == NULL) {</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> obj_frm=cpl_frameset_find(<span class="keyword">set</span>,PRO_OBS_PSF);</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> strcpy(obj_tag,PRO_OBS_PSF);</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> strcpy(obj_tag,PRO_OBS_OBJ);</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> }</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordflow">if</span>(obj_frm == NULL) {</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> obj_frm=cpl_frameset_find(<span class="keyword">set</span>,PRO_OBS_STD);</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> strcpy(obj_tag,PRO_OBS_STD);</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> }</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> cknull(obj_frm,<span class="stringliteral">"No %s or %s or %s frame found"</span>,</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> PRO_OBS_OBJ,PRO_OBS_PSF,PRO_OBS_STD);</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> check(sky_frm=cpl_frameset_find(<span class="keyword">set</span>,PRO_OBS_SKY),</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="stringliteral">"No %s found"</span>,PRO_OBS_SKY);</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> sqc=sinfo_skycor_qc_new();</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> check(plist=cpl_propertylist_load(cpl_frame_get_filename(obj_frm),0),</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="stringliteral">"Cannot read the FITS header"</span>) ;</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> ck0(sinfo_skycor(config, obj_frm,sky_frm,sqc,&obj_cor,&int_obj),</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="stringliteral">"determining sky residuals corrected object"</span>);</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> sinfo_msg(<span class="stringliteral">"Write out adjusted cube"</span>);</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="comment">/* Set the file name */</span></div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> cpl_frameset_erase(<span class="keyword">set</span>,obj_tag);</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> cpl_frameset_erase(<span class="keyword">set</span>,PRO_OBS_SKY);</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> name_o = <span class="stringliteral">"out_obj_cor.fits"</span> ;</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="comment">/* Create product frame */</span></div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> check_nomsg(product_frame = cpl_frame_new());</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> check_nomsg(cpl_frame_set_filename(product_frame, name_o)) ;</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> check_nomsg(cpl_frame_set_tag(product_frame, obj_tag)) ;</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> check_nomsg(cpl_frame_set_type(product_frame, CPL_FRAME_TYPE_IMAGE)) ;</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> check_nomsg(cpl_frame_set_group(product_frame, CPL_FRAME_GROUP_PRODUCT)) ;</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> check(cpl_frame_set_level(product_frame, CPL_FRAME_LEVEL_FINAL),</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="stringliteral">"Error while initialising the product frame"</span>) ;</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="comment">// Add DataFlow keywords </span></div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="comment"> check(plist=cpl_propertylist_load(name_o,0),</span></div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="comment"> "Cannot read the FITS header") ;</span></div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="comment"> check_nomsg(cpl_propertylist_erase_regexp(plist, "^ESO PRO CATG",0));</span></div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="comment"> check(cpl_dfs_setup_product_header(plist, </span></div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="comment"> product_frame, </span></div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment"> set, </span></div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="comment"> parlist,</span></div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="comment"> "sinfo_utl_skycor", </span></div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="comment"> "SINFONI", </span></div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="comment"> KEY_VALUE_HPRO_DID),</span></div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="comment"> "Problem in the product DFS-compliance") ;</span></div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="comment">//save the file </span></div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> check(cpl_imagelist_save(obj_cor, </div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> name_o,</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> CPL_BPP_IEEE_FLOAT, </div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> plist,</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> CPL_IO_DEFAULT),</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="stringliteral">"Could not save product"</span>);</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="comment">// Log the saved file in the input frameset </span></div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> check_nomsg(cpl_frameset_insert(<span class="keyword">set</span>,cpl_frame_duplicate(product_frame))) ;</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> sinfo_free_frame(&product_frame);</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="comment"> ck0(sinfo_pro_save_ims(obj_cor,set,set,"out_obj_cor.fits",</span></div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="comment"> PRO_OBS_OBJ,NULL,cpl_func,config),</span></div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="comment"> "cannot dump cube %s", "obj_cub.fits");</span></div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> sinfo_free_imagelist(&obj_cor);</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> name_o = <span class="stringliteral">"out_obj_int.fits"</span> ;</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="comment">/* Create product frame */</span></div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> check_nomsg(product_frame = cpl_frame_new());</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> check_nomsg(cpl_frame_set_filename(product_frame, name_o)) ;</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> check_nomsg(cpl_frame_set_tag(product_frame, PRO_SPECTRA_QC)) ;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> check_nomsg(cpl_frame_set_type(product_frame, CPL_FRAME_TYPE_TABLE)) ;</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> check_nomsg(cpl_frame_set_group(product_frame, CPL_FRAME_GROUP_PRODUCT)) ;</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> check(cpl_frame_set_level(product_frame, CPL_FRAME_LEVEL_FINAL),</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="stringliteral">"Error while initialising the product frame"</span>) ;</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> check_nomsg(cpl_propertylist_update_string(plist, <span class="stringliteral">"ESO PRO CATG"</span>,</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> PRO_SPECTRA_QC));</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="comment">/* Add DataFlow keywords */</span></div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="comment"> check(plist=cpl_propertylist_load(name_o,0),</span></div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="comment"> "Cannot read the FITS header") ;</span></div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="comment"></span></div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="comment"> check_nomsg(cpl_propertylist_erase_regexp(plist, "^ESO PRO CATG",0));</span></div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="comment"> check(cpl_dfs_setup_product_header(plist, </span></div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="comment"> product_frame, </span></div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="comment"> set, </span></div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="comment"> parlist,</span></div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="comment"> "sinfo_utl_skycor", </span></div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="comment"> "SINFONI", </span></div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="comment"> KEY_VALUE_HPRO_DID),</span></div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="comment"> "Problem in the product DFS-compliance") ;</span></div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> </div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="comment">/* Save the file */</span></div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> check(cpl_table_save(int_obj, plist, NULL, name_o,CPL_IO_DEFAULT),</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="stringliteral">"Could not save product"</span>);</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="comment">/* Log the saved file in the input frameset */</span></div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> check_nomsg(cpl_frameset_insert(<span class="keyword">set</span>, cpl_frame_duplicate(product_frame))) ;</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> sinfo_free_frame(&product_frame);</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> cleanup:</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> sinfo_free_imagelist(&obj_cor);</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> sinfo_free_table(&int_obj);</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> sinfo_skycor_qc_delete(&sqc);</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> sinfo_free_frame(&product_frame);</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> }</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> </div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utl__skymap_8c_source.html b/html/sinfo__utl__skymap_8c_source.html
deleted file mode 100644
index 6e06652..0000000
--- a/html/sinfo__utl__skymap_8c_source.html
+++ /dev/null
@@ -1,452 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_skymap.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utl_skymap.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_skymap.c,v 1.13 2009/01/30 14:56:12 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2009/01/30 14:56:12 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.13 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">/* sinfoni */</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <sinfo_pfits.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <sinfo_raw_types.h></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <sinfo_pro_types.h></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <sinfo_functions.h></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include <sinfo_key_names.h></span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_skymap_create(cpl_plugin *) ;</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_skymap_exec(cpl_plugin *) ;</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_skymap_destroy(cpl_plugin *) ;</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_skymap(cpl_parameterlist *, cpl_frameset *) ;</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_skymap_description[] =</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="stringliteral">"This recipe flags as bad pixels sky lines.\n"</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="stringliteral">"Input are sky frames with tag SKY\n"</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="stringliteral">"Output image is called out_skymap.fits\n"</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="stringliteral">"Information on relevant parameters can be found with\n"</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="stringliteral">"esorex --params sinfo_utl_skymap\n"</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="stringliteral">"esorex --help sinfo_utl_skymap\n"</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"><a class="code" href="group__sinfo__utl__skymap.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693"> 92</a></span> <span class="keywordtype">int</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist * list)</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> {</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> cpl_recipe * recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe ) ;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> cpl_plugin * plugin = &recipe->interface ;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="stringliteral">"sinfo_utl_skymap"</span>,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="stringliteral">"Flags sky lines as bad pixels, with map generation"</span>,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> sinfo_utl_skymap_description,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="stringliteral">"Andrea Modigliani"</span>,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="stringliteral">"Andrea.Modigliani at eso.org"</span>,</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> sinfo_utl_skymap_create,</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> sinfo_utl_skymap_exec,</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> sinfo_utl_skymap_destroy) ;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> cpl_pluginlist_append(list, plugin) ;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> }</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_skymap_create(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> {</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> cpl_parameter * p ;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> recipe->parameters = cpl_parameterlist_new() ; </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment">/* Fill the parameters list */</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment">/* --doubleopt */</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.sinfo_utl_skymap.xsize"</span>, </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> CPL_TYPE_INT, <span class="stringliteral">"X box size"</span>, <span class="stringliteral">"sinfoni.sinfo_utl_skymap"</span>, 1,1,2047) ;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"xsize"</span>) ;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment">/* --doubleopt */</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> p = cpl_parameter_new_range(<span class="stringliteral">"sinfoni.sinfo_utl_skymap.ysize"</span>, </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> CPL_TYPE_INT, <span class="stringliteral">"Y box size"</span>, <span class="stringliteral">"sinfoni.sinfo_utl_skymap"</span>, 30,1,2047) ;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"ysize"</span>) ;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment">/* --doubleopt */</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_skymap.threshold"</span>, </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> CPL_TYPE_DOUBLE, <span class="stringliteral">"Threshold"</span>, <span class="stringliteral">"sinfoni.sinfo_utl_skymap"</span>, 30.) ;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"thresh"</span>) ;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> }</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_skymap_exec(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> {</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordtype">int</span> code=0;</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> cpl_errorstate initial_errorstate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> cpl_error_reset();</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment">//irplib_reset();</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> check_nomsg(code = sinfo_utl_skymap(recipe->parameters, recipe->frames)) ;</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(initial_errorstate)) { </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment">/* Dump the error history since recipe execution start. </span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment"> At this point the recipe cannot recover from the error */</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> cpl_errorstate_dump(initial_errorstate, CPL_FALSE, NULL); </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> } </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> cleanup:</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordflow">return</span> code ;</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> }</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_skymap_destroy(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> {</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> cpl_parameterlist_delete(recipe->parameters) ; </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> }</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_skymap(</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> cpl_parameterlist * parlist, </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> cpl_frameset * framelist)</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> {</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> cpl_parameter * param =NULL;</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * name_i=NULL;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keywordtype">int</span> xsize=0;</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="keywordtype">int</span> ysize=0;</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> cpl_frame * sky_frm=NULL;</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * name_o=NULL ;</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> cpl_propertylist * plist =NULL;</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> cpl_frame * product_frame=NULL;</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> cpl_frameset * sky_set=NULL;</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> cpl_image * sky_ima=NULL;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> cpl_image * sky_map=NULL;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordtype">double</span> threshold=0;</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordtype">double</span> sinfo_median=0;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="keywordtype">float</span>* sky_ima_pix=NULL;</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordtype">float</span>* sky_map_pix=NULL;</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordtype">int</span> nx=0;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordtype">int</span> ny=0;</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordtype">int</span> n=0;</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="comment">/* HOW TO RETRIEVE INPUT PARAMETERS */</span></div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="comment">/* --stropt */</span></div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> sinfo_msg(<span class="stringliteral">"Welcome to SINFONI Pipeline release %d.%d.%d"</span>,</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> SINFONI_MAJOR_VERSION,SINFONI_MINOR_VERSION,SINFONI_MICRO_VERSION);</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> param = cpl_parameterlist_find(parlist, </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="stringliteral">"sinfoni.sinfo_utl_skymap.out_filename"</span>);</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> name_o = <span class="stringliteral">"out_skymap.fits"</span>;</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="comment">/* --intopt */</span></div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> param = cpl_parameterlist_find(parlist,<span class="stringliteral">"sinfoni.sinfo_utl_skymap.xsize"</span>);</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> xsize = cpl_parameter_get_int(param) ;</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="comment">/* --intopt */</span></div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> param = cpl_parameterlist_find(parlist,<span class="stringliteral">"sinfoni.sinfo_utl_skymap.ysize"</span>);</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> ysize = cpl_parameter_get_int(param) ;</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> param = cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="stringliteral">"sinfoni.sinfo_utl_skymap.threshold"</span>);</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> threshold = cpl_parameter_get_double(param) ;</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="comment">/* Identify the RAW and CALIB frames in the input frameset */</span></div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="keywordflow">if</span> (sinfo_dfs_set_groups(framelist)) {</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Cannot identify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> }</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="comment">/* HOW TO ACCESS INPUT DATA */</span></div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> n=cpl_frameset_get_size(framelist);</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="keywordflow">if</span>(n<1) {</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Empty input frame list!"</span>);</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> }</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> sky_set=cpl_frameset_new();</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> sinfo_extract_frames_type(framelist,sky_set,RAW_SKY);</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> n=cpl_frameset_get_size(framelist);</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keywordflow">if</span>(n<1) {</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"No sky frames in input list!"</span>);</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> sinfo_free_frameset(&sky_set);</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> }</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> check_nomsg(sky_frm = cpl_frameset_get_frame(sky_set,0));</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="keywordflow">if</span> ((plist=cpl_propertylist_load(cpl_frame_get_filename(sky_frm), </div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> 0)) == NULL) {</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Cannot read the FITS header"</span>) ;</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> }</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> </div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> name_i=cpl_frame_get_filename(sky_frm);</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> sky_ima = cpl_image_load(name_i,CPL_TYPE_FLOAT,0,0);</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> sky_map=cpl_image_duplicate(sky_ima);</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> sky_ima_pix=cpl_image_get_data(sky_ima);</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> sky_map_pix=cpl_image_get_data(sky_map);</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> nx = cpl_image_get_size_x(sky_ima);</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> ny = cpl_image_get_size_y(sky_ima);</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="keywordflow">if</span> (nx != SIZEX || ny != SIZEY) {</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"nx=%d ny=%d, expected nx=%d ny=%d"</span>,nx,ny,SIZEX,SIZEY);</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> }</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="keywordflow">for</span>(i=1;i<nx;i++) {</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="keywordflow">for</span>(j=ysize+1;j<ny-ysize;j++) {</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> sinfo_median=cpl_image_get_median_window(sky_ima,i,j-ysize,i,j+xsize);</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Exit"</span>);</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> sinfo_free_image(&sky_ima);</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> sinfo_free_image(&sky_map);</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> sinfo_free_frameset(&sky_set);</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> }</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="keywordflow">if</span>(sky_ima_pix[i+j*nx] > sinfo_median+threshold) {</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> sky_map_pix[i+j*nx]=0.;</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> sky_map_pix[i+j*nx]=1.;</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> }</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> }</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> }</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> </div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="keywordflow">for</span>(i=1;i<nx;i++) {</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="keywordflow">for</span>(j=0;j<ysize+1;j++) {</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> sky_map_pix[i+j*nx]=0.;</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> }</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> </div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="keywordflow">for</span>(j=ny-ysize+1;j<ny;j++) {</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> sky_map_pix[i+j*nx]=0.;</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> }</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> }</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> </div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> </div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="comment">/* Now performing the data reduction */</span></div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="comment">/* Let's generate one image for the example */</span></div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> </div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="comment">/* HOW TO SAVE A PRODUCT ON DISK */</span></div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="comment">/* Set the file name */</span></div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> name_o = <span class="stringliteral">"sky_map.fits"</span> ;</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> </div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="comment">/* Create product frame */</span></div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> product_frame = cpl_frame_new();</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> cpl_frame_set_filename(product_frame, name_o) ;</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> cpl_frame_set_tag(product_frame, PRO_SKY_DUMMY) ;</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> cpl_frame_set_type(product_frame, CPL_FRAME_TYPE_IMAGE) ;</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> cpl_frame_set_group(product_frame, CPL_FRAME_GROUP_PRODUCT) ;</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> cpl_frame_set_level(product_frame, CPL_FRAME_LEVEL_FINAL) ;</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordflow">if</span> (cpl_error_get_code()) {</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Error while initialising the product frame"</span>) ;</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> sinfo_free_frame(&product_frame) ;</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> }</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="comment">/* Add DataFlow keywords */</span></div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="preprocessor">#if defined CPL_VERSION_CODE && CPL_VERSION_CODE >= CPL_VERSION(4, 8, 0) </span></div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="preprocessor"></span> <span class="keywordflow">if</span> (cpl_dfs_setup_product_header(plist, product_frame, framelist, parlist,</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="stringliteral">"sinfo_utl_skymap"</span>, </div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="stringliteral">"SINFONI"</span>, KEY_VALUE_HPRO_DID,NULL) </div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Problem in the product DFS-compliance"</span>) ;</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> sinfo_free_frame(&product_frame) ;</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> sinfo_free_image(&sky_ima);</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> sinfo_free_image(&sky_map);</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> sinfo_free_frameset(&sky_set);</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> }</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="preprocessor"></span> <span class="keywordflow">if</span> (cpl_dfs_setup_product_header(plist, product_frame, framelist, parlist,</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="stringliteral">"sinfo_utl_skymap"</span>, </div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="stringliteral">"SINFONI"</span>, KEY_VALUE_HPRO_DID) </div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Problem in the product DFS-compliance"</span>) ;</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> sinfo_free_frame(&product_frame) ;</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> sinfo_free_image(&sky_ima);</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> sinfo_free_image(&sky_map);</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> sinfo_free_frameset(&sky_set);</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> }</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="preprocessor">#endif </span></div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> </div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="comment">/* Save the file */</span></div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="keywordflow">if</span> (cpl_image_save(sky_map, name_o, CPL_BPP_IEEE_FLOAT, plist,</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> CPL_IO_DEFAULT) != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Could not save product"</span>);</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> sinfo_free_frame(&product_frame) ;</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> sinfo_free_image(&sky_map) ;</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> }</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> sinfo_free_image(&sky_map) ;</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> sinfo_free_image(&sky_ima) ;</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> </div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="comment">/* Log the saved file in the input frameset */</span></div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> cpl_frameset_insert(framelist, product_frame) ;</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> sinfo_free_frameset(&sky_set);</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> </div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> </div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> </div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> cleanup:</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> sinfo_free_image(&sky_ima);</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> sinfo_free_image(&sky_map);</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> sinfo_free_frameset(&sky_set);</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> </div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="keywordflow">if</span>( cpl_error_get_code()!=CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> }</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utl__spectrum__divide__by__blackbody_8h_source.html b/html/sinfo__utl__spectrum__divide__by__blackbody_8h_source.html
deleted file mode 100644
index 2b284be..0000000
--- a/html/sinfo__utl__spectrum__divide__by__blackbody_8h_source.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_spectrum_divide_by_blackbody.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utl_spectrum_divide_by_blackbody.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_spectrum_divide_by_blackbody.h,v 1.1 2006/10/22 14:12:28 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the IIINSTRUMENT Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2006/10/22 14:12:28 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">-----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifndef SINFO_UTL_SPECTRUM_DIVIDE_BY_BLACKBODY_H</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_UTL_SPECTRUM_DIVIDE_BY_BLACKBODY_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "sinfo_tpl_utils.h"</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_pfits.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_tpl_dfs.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> sinfo_utl_spectrum_divide_by_blackbody(cpl_parameterlist *, cpl_frameset *) ;</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utl__spectrum__wavelength__shift_8h_source.html b/html/sinfo__utl__spectrum__wavelength__shift_8h_source.html
deleted file mode 100644
index 662702b..0000000
--- a/html/sinfo__utl__spectrum__wavelength__shift_8h_source.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_spectrum_wavelength_shift.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utl_spectrum_wavelength_shift.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_spectrum_wavelength_shift.h,v 1.1 2006/10/22 14:12:28 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the IIINSTRUMENT Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2006/10/22 14:12:28 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#ifndef SINFO_UTL_SPECTRUM_WAVELENGTH_SHIFT_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_UTL_SPECTRUM_WAVELENGTH_SHIFT_H</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_tpl_utils.h"</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_pfits.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_tpl_dfs.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">-----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keywordtype">int</span> sinfo_utl_spectrum_wavelength_shift(cpl_parameterlist *, cpl_frameset *) ;</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utl__stdstars_8c_source.html b/html/sinfo__utl__stdstars_8c_source.html
deleted file mode 100644
index 7bf4c7f..0000000
--- a/html/sinfo__utl__stdstars_8c_source.html
+++ /dev/null
@@ -1,314 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_stdstars.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utl_stdstars.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_stdstars.c,v 1.5 2012/05/04 08:12:07 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the ISAAC Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2012/05/04 08:12:07 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.5 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "irplib_utils.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "irplib_stdstar.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_raw_types.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_tpl_utils.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "sinfo_tpl_dfs.h"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">#include "isaac_utils.h"</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">#include "isaac_pfits.h"</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">#include "isaac_dfs.h"</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_stdstars_create(cpl_plugin *) ;</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_stdstars_exec(cpl_plugin *) ;</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_stdstars_destroy(cpl_plugin *) ;</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_stdstars(cpl_frameset *) ;</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">static</span> cpl_table * sinfo_utl_stdstars_convert(<span class="keyword">const</span> <span class="keywordtype">char</span> *) ; </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_stdstars_description[] = </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="stringliteral">"sinfo_utl_stdstars -- SINFONI standard stars catalog creation.\n"</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="stringliteral">"The files listed in the Set Of Frames (sof-file) must be tagged:\n"</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="stringliteral">"raw-file.fits "</span>SINFO_UTL_STDSTARS_RAW<span class="stringliteral">"\n"</span> ;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">int</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist * list)</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> {</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> cpl_recipe * recipe = cpl_calloc(1, <span class="keyword">sizeof</span>(*recipe)) ;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> cpl_plugin * plugin = &recipe->interface ;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="stringliteral">"sinfo_utl_stdstars"</span>,</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="stringliteral">"Standard stars catalog creation"</span>,</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> sinfo_utl_stdstars_description,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="stringliteral">"Andrea Modigliani"</span>,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="stringliteral">"amodigli at eso.org"</span>,</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> sinfo_utl_stdstars_create,</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> sinfo_utl_stdstars_exec,</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> sinfo_utl_stdstars_destroy) ;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> cpl_pluginlist_append(list, plugin) ;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> }</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_stdstars_create(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> {</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE)</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> recipe->parameters = cpl_parameterlist_new() ;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> }</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_stdstars_exec(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> {</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE)</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">return</span> sinfo_utl_stdstars(recipe->frames) ;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> }</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_stdstars_destroy(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> {</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE)</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> cpl_parameterlist_delete(recipe->parameters) ;</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> }</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_stdstars(</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> cpl_frameset * framelist)</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> {</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> cpl_frameset * rawframes ;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment">/* Identify the RAW and CALIB frames in the input frameset */</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordflow">if</span> (sinfo_dfs_set_groups(framelist)) {</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> cpl_msg_error(__func__, <span class="stringliteral">"Cannot identify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> }</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="comment">/* Retrieve raw frames */</span></div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="keywordflow">if</span> ((rawframes = sinfo_extract_frameset(framelist,</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> SINFO_UTL_STDSTARS_RAW)) == NULL) {</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> cpl_msg_error(__func__, <span class="stringliteral">"Cannot find raw frames in the input list"</span>) ;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> }</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment">/* Write the catalog */</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordflow">if</span> (<a class="code" href="group__irplib__stdstar.html#gac18c92be3d3c96ba57804b074a2abb7d" title="Write the ASCII catalogs as FITS files.">irplib_stdstar_write_catalogs</a>(framelist,</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> rawframes, </div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="stringliteral">"sinfo_utl_stdstars"</span>,</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> SINFO_UTL_STDSTARS_RES, NULL,</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> PACKAGE <span class="stringliteral">"/"</span> PACKAGE_VERSION,</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="stringliteral">"SINFONI"</span>,</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> sinfo_utl_stdstars_convert) == -1) {</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> cpl_msg_error(__func__, <span class="stringliteral">"Cannot write the catalogs"</span>) ;</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> cpl_frameset_delete(rawframes) ;</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> }</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> cpl_frameset_delete(rawframes) ;</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> }</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="keyword">static</span> cpl_table * sinfo_utl_stdstars_convert(<span class="keyword">const</span> <span class="keywordtype">char</span> * filename) </div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> {</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> cpl_table * out ;</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="keywordtype">int</span> nfilters ;</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * filters[8];</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="keywordtype">double</span> mags[8] ;</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keywordtype">int</span> nbentries ;</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> FILE * in ;</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="keywordtype">char</span> line[1024];</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="keywordtype">double</span> ra, dec ;</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordtype">char</span> sname[512];</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keywordtype">char</span> stype[512];</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="comment">/* Check entries */</span></div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keywordflow">if</span> (filename == NULL) <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="comment">/* Initialise */</span></div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> nfilters = 8 ;</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> filters[0] = <span class="stringliteral">"J"</span> ;</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> filters[1] = <span class="stringliteral">"H"</span> ;</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> filters[2] = <span class="stringliteral">"K"</span> ;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> filters[3] = <span class="stringliteral">"Ks"</span> ;</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> filters[4] = <span class="stringliteral">"L"</span> ;</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> filters[5] = <span class="stringliteral">"M"</span> ;</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> filters[6] = <span class="stringliteral">"Lp"</span> ;</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> filters[7] = <span class="stringliteral">"Mp"</span> ;</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="comment">/* Get the number of lines */</span></div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> nbentries = 0 ;</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="keywordflow">if</span> ((in = fopen(filename, <span class="stringliteral">"r"</span>)) == NULL) {</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> }</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keywordflow">while</span> (fgets(line, 1024, in) != NULL) {</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="keywordflow">if</span> (line[0] != <span class="charliteral">'#'</span>) nbentries ++ ;</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> }</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> fclose(in) ;</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="comment">/* Create the table */</span></div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> out = cpl_table_new(nbentries);</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> cpl_table_new_column(out, IRPLIB_STDSTAR_STAR_COL, CPL_TYPE_STRING);</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> cpl_table_new_column(out, IRPLIB_STDSTAR_TYPE_COL, CPL_TYPE_STRING);</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> cpl_table_new_column(out, IRPLIB_STDSTAR_RA_COL, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> cpl_table_new_column(out, IRPLIB_STDSTAR_DEC_COL, CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="keywordflow">for</span> (i=0 ; i<nfilters ; i++)</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> cpl_table_new_column(out, filters[i], CPL_TYPE_DOUBLE);</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="comment">/* Parse the file */</span></div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keywordflow">if</span> ((in = fopen(filename, <span class="stringliteral">"r"</span>)) == NULL) {</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> cpl_table_delete(out) ;</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> }</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> nbentries = 0 ;</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="keywordflow">while</span> (fgets(line, 1024, in) != NULL) {</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="keywordflow">if</span> (line[0] != <span class="charliteral">'#'</span>) {</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="keywordflow">if</span> (sscanf(line, <span class="stringliteral">"%s %lg %lg %s %lg %lg %lg %lg %lg %lg %lg %lg"</span>, </div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> sname, &ra, &dec, stype, &(mags[0]), &(mags[1]), </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> &(mags[2]), &(mags[3]), &(mags[4]), &(mags[5]), </div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> &(mags[6]), &(mags[7])) != 12) {</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> cpl_table_delete(out) ;</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> fclose(in) ;</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> }</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> cpl_table_set_string(out, IRPLIB_STDSTAR_STAR_COL,nbentries, sname);</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> cpl_table_set_string(out, IRPLIB_STDSTAR_TYPE_COL,nbentries, stype);</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> cpl_table_set_double(out, IRPLIB_STDSTAR_RA_COL, nbentries, ra);</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> cpl_table_set_double(out, IRPLIB_STDSTAR_DEC_COL, nbentries, dec);</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="keywordflow">for</span> (i=0 ; i<nfilters ; i++)</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> cpl_table_set_double(out, filters[i], nbentries, mags[i]);</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> nbentries ++ ;</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> }</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> }</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> fclose(in) ;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="keywordflow">return</span> out ;</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> }</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utl__table__ex_8c_source.html b/html/sinfo__utl__table__ex_8c_source.html
deleted file mode 100644
index 1439975..0000000
--- a/html/sinfo__utl__table__ex_8c_source.html
+++ /dev/null
@@ -1,362 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_table_ex.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utl_table_ex.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_table_ex.c,v 1.1 2009/05/20 15:22:42 kmirny Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: kmirny $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2009/05/20 15:22:42 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <sinfo_pfits.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <sinfo_key_names.h></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <sinfo_pro_types.h></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include <sinfo_functions.h></span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_table_ex_create(cpl_plugin *) ;</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_table_ex_exec(cpl_plugin *) ;</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_table_ex_destroy(cpl_plugin *) ;</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_table_ex(cpl_parameterlist *, cpl_frameset *) ;</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_table_ex_description[] =</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="stringliteral">"This recipe produce a table,\n"</span>;</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">/*static char PARAM_NAME_SIZE_X[] = "sinfoni.sinfo_utl_table_ex.size_x";</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">static char PARAM_NAME_SIZE_Y[] = "sinfoni.sinfo_utl_table_ex.size_y";</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">static char PARAM_NAME_FWHM_X[] = "sinfoni.sinfo_utl_table_ex.fwhm_x";</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">static char PARAM_NAME_FWHM_Y[] = "sinfoni.sinfo_utl_table_ex.fwhm_y";</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">static char PARAM_NAME_SIGNAL[] = "sinfoni.sinfo_utl_table_ex.total_signal";</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">static char PARAM_NAME_BKGSIG[] = "sinfoni.sinfo_utl_table_ex.bkg_signal";</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">static char PARAM_NAME_NOISEL[] = "sinfoni.sinfo_utl_table_ex.noise_level";</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">static</span> <span class="keywordtype">char</span> RECIPE_NAME[] = <span class="stringliteral">"sinfoni.sinfo_utl_table_ex"</span>;</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">static</span> <span class="keywordtype">char</span> CLMN_NAME_SPECTRUM[] = <span class="stringliteral">"spectrum"</span>;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keyword">static</span> <span class="keywordtype">char</span> CLMN_NAME_WAVELENGTH[] = <span class="stringliteral">"wavelength"</span>;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">static</span> <span class="keywordtype">char</span> CLMN_NAME_BKG_TOT[] = <span class="stringliteral">"bkg_tot"</span>;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">static</span> <span class="keywordtype">char</span> CLMN_NAME_COUNTS_BKG[] = <span class="stringliteral">"counts_bkg"</span>;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"><a class="code" href="group__sinfo__utl__table__ex.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693"> 101</a></span> <span class="keywordtype">int</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist * list)</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> {</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> cpl_recipe * recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe ) ;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> cpl_plugin * plugin = &recipe->interface ;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="stringliteral">"sinfo_utl_table_ex"</span>,</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="stringliteral">"Test example shows table manipulating utilities"</span>,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> sinfo_utl_table_ex_description,</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="stringliteral">"Konstantin Mirny"</span>,</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="stringliteral">"kmirny at eso.org"</span>,</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> sinfo_utl_table_ex_create,</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> sinfo_utl_table_ex_exec,</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> sinfo_utl_table_ex_destroy) ;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> cpl_pluginlist_append(list, plugin) ;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> }</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_table_ex_create(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> {</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment">// cpl_parameter * p ;</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE)</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> cpl_error_reset();</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> recipe->parameters = cpl_parameterlist_new() ;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment">/* Fill the parameters list */</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment">/* --stropt */</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment">/* p = cpl_parameter_new_value("sinfoni.sinfo_utl_table_ex.op",</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment"> CPL_TYPE_STRING,</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment"> "A possible operation",</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment"> "sinfoni.sinfo_utl_table_ex","+");</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment"> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, "op") ;</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment"> cpl_parameterlist_append(recipe->parameters, p) ;*/</span></div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment">/* --size_x */</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment">/* p = cpl_parameter_new_value(PARAM_NAME_SIZE_X,</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment"> CPL_TYPE_INT, "size X axis", RECIPE_NAME, SIZE_X_DEFAULT) ;</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment"> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, "size_x") ;</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment"> cpl_parameterlist_append(recipe->parameters, p) ;</span></div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> }</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_table_ex_exec(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> {</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordtype">int</span> code=0;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> cpl_errorstate initial_errorstate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE)</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> cpl_error_reset();</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> code = sinfo_utl_table_ex(recipe->parameters, recipe->frames) ;</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(initial_errorstate)) {</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment">/* Dump the error history since recipe execution start.</span></div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment"> At this point the recipe cannot recover from the error */</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> cpl_errorstate_dump(initial_errorstate, CPL_FALSE, NULL);</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> }</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">return</span> code ;</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> }</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_table_ex_destroy(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> {</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE)</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> cpl_parameterlist_delete(recipe->parameters) ;</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> }</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> sinfo_utl_table_ex( cpl_parameterlist * parlist,</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> cpl_frameset * framelist)</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> {</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment">// parameters</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordtype">double</span> range_min = 1.9;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordtype">double</span> range_max = 2.;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * name_o = NULL ;</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * sourceTableName = NULL;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="comment">// cpl_parameter * param = NULL ;</span></div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> cpl_propertylist * plist = NULL ;</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> cpl_frame * product_frame = NULL;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="keywordtype">int</span> nrow = 0; <span class="comment">// number of rows in the table</span></div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> cpl_table * tblSource = NULL; <span class="comment">// source table</span></div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> cpl_table * tblResult = NULL; <span class="comment">// result table</span></div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keywordtype">float</span> * pValues = NULL; <span class="comment">// source column</span></div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> sinfo_msg(<span class="stringliteral">"Welcome to SINFONI Pipeline release %d.%d.%d"</span>,</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> SINFONI_MAJOR_VERSION,SINFONI_MINOR_VERSION,SINFONI_MICRO_VERSION);</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> ck0(sinfo_dfs_set_groups(framelist),<span class="stringliteral">"Cannot indentify RAW and CALIB frames"</span>);</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="comment">/* HOW TO RETRIEVE INPUT PARAMETERS */</span></div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="comment">/* --size_x */</span></div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="comment">// check_nomsg(param=cpl_parameterlist_find(parlist,</span></div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="comment">// PARAM_NAME_SIZE_X));</span></div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="comment">// check_nomsg(iSizeX=cpl_parameter_get_int(param));</span></div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="comment">/* HOW TO GET THE VALUE OF A FITS KEYWORD */</span></div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> check(plist=cpl_propertylist_new(),<span class="stringliteral">"Cannot create a Property List"</span>);</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="comment">/* Now performing the data reduction */</span></div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="comment">/* Let's generate one image for the example */</span></div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="comment">// get the source table</span></div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> check(product_frame = cpl_frameset_get_first(framelist),<span class="stringliteral">"Cannot get product frame"</span>);</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> check(sourceTableName = cpl_frame_get_filename(product_frame),<span class="stringliteral">"Cannot get source table name"</span>);</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> check_nomsg(tblSource = cpl_table_load(sourceTableName, 1, 0));</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment">// generate result table</span></div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="comment">// 1. duplicate the table</span></div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> check(tblResult = cpl_table_duplicate(tblSource), <span class="stringliteral">"cannot duplicate table"</span>);</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="comment">// 2. Cycle through the table - select only predefined interval</span></div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> check_nomsg(nrow = cpl_table_get_nrow(tblResult));</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> sinfo_msg(<span class="stringliteral">"%d rows in the source table"</span>, nrow);</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keywordflow">if</span> (nrow)</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> {</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="keywordtype">int</span> i = 0;</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keywordtype">int</span> m = 0;</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> check_nomsg(pValues = cpl_table_get_data_float(tblResult, CLMN_NAME_WAVELENGTH));</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> sinfo_msg(<span class="stringliteral">"checking wavelenghts..."</span>);</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> check(cpl_table_unselect_all(tblResult),<span class="stringliteral">"cannot unselect all"</span>);</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="keywordflow">for</span> (i = 0; i < nrow; ++i)</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> {</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="keywordflow">if</span> ((*(pValues + i) < range_min) || (*(pValues + i) > range_max))</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> {</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="comment">// mark for removing</span></div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> check(cpl_table_select_row(tblResult, i), <span class="stringliteral">"Cannot select a row in a table"</span>);</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> ++m;</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> }</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> }</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> sinfo_msg(<span class="stringliteral">"%d row(s) would be removed from the result"</span>, m);</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="comment">// delete select rows from the table</span></div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> check(cpl_table_erase_selected(tblResult),<span class="stringliteral">"Cannot delete selected rows from a table"</span>);</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> }</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="comment">// 3. create a new column for the result table</span></div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="comment">// 4. Fill in the new column with values</span></div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> check(cpl_table_duplicate_column(tblResult,CLMN_NAME_SPECTRUM, tblResult, CLMN_NAME_BKG_TOT),<span class="stringliteral">"Unable to create new column in the table"</span>);</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> check(cpl_table_add_columns(tblResult, CLMN_NAME_SPECTRUM, CLMN_NAME_COUNTS_BKG), <span class="stringliteral">"Error during sum the columns"</span>);</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="comment">/* Set the file name */</span></div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> name_o = <span class="stringliteral">"ima_res.fits"</span> ;</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="comment">/* Create product frame */</span></div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> check_nomsg(product_frame = cpl_frame_new());</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> check_nomsg(cpl_frame_set_filename(product_frame, name_o)) ;</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> check_nomsg(cpl_frame_set_tag(product_frame,<span class="stringliteral">"table_example"</span> )) ;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> check_nomsg(cpl_frame_set_type(product_frame, CPL_FRAME_TYPE_TABLE)) ;</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> check_nomsg(cpl_frame_set_group(product_frame, CPL_FRAME_GROUP_PRODUCT)) ;</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> check(cpl_frame_set_level(product_frame, CPL_FRAME_LEVEL_FINAL),</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="stringliteral">"Error while initialising the product frame"</span>) ;</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="comment">/* Add DataFlow keywords */</span></div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> check_nomsg(cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"^ESO PRO CATG"</span>,0));</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="comment">// cpl_frameset_dump(framelist, stdout);</span></div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> check(cpl_dfs_setup_product_header(plist,</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> product_frame,</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> framelist,</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> parlist,</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="stringliteral">"sinfo_utl_table_ex"</span>,</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="stringliteral">"SINFONI"</span>,</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> KEY_VALUE_HPRO_DID,NULL),</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="stringliteral">"Problem in the product DFS-compliance"</span>) ;</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="comment">/* Save the file */</span></div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> cpl_table_dump(tblResult, 0, 3, stdout);</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> check(cpl_table_save(tblResult,</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> NULL, NULL,</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> name_o,</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> CPL_IO_DEFAULT), <span class="stringliteral">"Cannot save table"</span>);</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="comment">/* Log the saved file in the input frameset */</span></div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> check_nomsg(cpl_frameset_insert(framelist, product_frame)) ;</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> </div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> cleanup:</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> </div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> cpl_table_delete(tblSource);</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> cpl_table_delete(tblResult);</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="comment">/* This is usually freed by esorex: but what about if errors occurs?</span></div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="comment"> sinfo_free_frame(&product_frame) ;</span></div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> </div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="keywordflow">return</span> ((cpl_error_get_code()) ? -1 : 0 );</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> </div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__utl__table__test_8c_source.html b/html/sinfo__utl__table__test_8c_source.html
deleted file mode 100644
index 5f93e85..0000000
--- a/html/sinfo__utl__table__test_8c_source.html
+++ /dev/null
@@ -1,1164 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_table_test.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_b351cdfeb4656d7d168dc72b273024e7.html">recipes</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_utl_table_test.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_table_test.c,v 1.6 2012/03/03 10:38:03 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2012/03/03 10:38:03 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.6 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <stdlib.h></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/* cpl */</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/* irplib */</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <irplib_utils.h></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <sinfo_tpl_utils.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <sinfo_pfits.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <sinfo_tpl_dfs.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <sinfo_msg.h></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <sinfo_globals.h></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include <sinfo_recipes.h></span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include <sinfo_function_1d.h></span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include <sinfo_functions.h></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include <sinfo_fit.h></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_table_test_create(cpl_plugin *) ;</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_table_test_exec(cpl_plugin *) ;</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_table_test_destroy(cpl_plugin *) ;</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_table_test_shift(cpl_parameterlist *, cpl_frameset *) ;</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> sinfo_utl_table_test_amoeba_poly(cpl_parameterlist * parlist, </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> cpl_frameset * framelist);</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> sinfo_utl_table_test_amoeba_boltzmann(cpl_parameterlist * parlist, </div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> cpl_frameset * framelist);</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keyword">static</span> cpl_vector* sa_vx=NULL;</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keyword">static</span> cpl_vector* sa_vy=NULL;</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> sinfo_fit_boltzmann(<span class="keywordtype">double</span> p[]);</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">static</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> sinfo_fitbkg(<span class="keyword">const</span> <span class="keywordtype">double</span> x[], </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">const</span> <span class="keywordtype">double</span> a[], </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">double</span> *result);</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> sinfo_fac(<span class="keyword">const</span> <span class="keywordtype">double</span> x, <span class="keyword">const</span> <span class="keywordtype">double</span> t);</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> sinfo_fit_poly(<span class="keywordtype">double</span> p[]);;</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> sinfo_table_shift_column_spline3(cpl_table* t, </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col, </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keyword">const</span> <span class="keywordtype">double</span> s);</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> sinfo_table_shift_column_poly(cpl_table* t, </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col, </div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keyword">const</span> <span class="keywordtype">double</span> s,</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keyword">const</span> <span class="keywordtype">int</span> order);</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> sinfo_table_shift_column_int(<span class="keyword">const</span> cpl_table* t, </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col, </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keyword">const</span> <span class="keywordtype">double</span> s,</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">double</span>* r);</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> sinfo_table_shift_simple(cpl_table* inp, </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col, </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keyword">const</span> <span class="keywordtype">double</span> shift);</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="preprocessor">#define NPOINT 1000</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="preprocessor"></span><span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keyword">static</span> <span class="keywordtype">char</span> sinfo_utl_table_test_description[] =</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="stringliteral">"This recipe perform cubes combination.\n"</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="stringliteral">"The input files are several cubeses\n"</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="stringliteral">"their associated tags should be CUBE.\n"</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="stringliteral">"The output is a cube PRO_CUBE resulting from the input cubes\n"</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="stringliteral">"accurding to the value of op where op indicates the operation to be \n"</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="stringliteral">"performed specified by the parameter sinfoni.sinfo_utl_table_test.op\n"</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="stringliteral">"Information on relevant parameters can be found with\n"</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="stringliteral">"esorex --params sinfo_utl_table_test\n"</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="stringliteral">"esorex --help sinfo_utl_table_test\n"</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="stringliteral">"\n"</span>;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordtype">int</span> <a class="code" href="group__sinfo__rec__detlin.html#ga31d1fccd4cd15b1c1f3c5edc8cb18693" title="Build the list of available plugins, for this module.">cpl_plugin_get_info</a>(cpl_pluginlist * list)</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> {</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> cpl_recipe * recipe = cpl_calloc(1, <span class="keyword">sizeof</span> *recipe ) ;</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> cpl_plugin * plugin = &recipe->interface ;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> cpl_plugin_init(plugin,</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> CPL_PLUGIN_API,</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> SINFONI_BINARY_VERSION,</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> CPL_PLUGIN_TYPE_RECIPE,</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="stringliteral">"sinfo_utl_table_test"</span>,</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="stringliteral">"Combines a cube list in an output cube"</span>,</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> sinfo_utl_table_test_description,</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="stringliteral">"Andrea Modigliani"</span>,</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="stringliteral">"Andrea.Modigliani at eso.org"</span>,</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> sinfo_get_license(),</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> sinfo_utl_table_test_create,</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> sinfo_utl_table_test_exec,</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> sinfo_utl_table_test_destroy) ;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> cpl_pluginlist_append(list, plugin) ;</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> }</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_table_test_create(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> {</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> cpl_parameter * p ;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> cpl_error_reset();</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <a class="code" href="group__irplib__utils.html#gaf9d392144014e2363054bc3f83c8e47e" title="Reset IRPLIB state.">irplib_reset</a>();</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment">/* Create the parameters list in the cpl_recipe object */</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> recipe->parameters = cpl_parameterlist_new() ; </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment">/* Fill the parameters list */</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment">/* --stropt */</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_table_test.method"</span>, </div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> CPL_TYPE_STRING, </div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="stringliteral">"Output filename"</span>, </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="stringliteral">"sinfoni.sinfo_utl_table_test"</span>,</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="stringliteral">"sinfo_clean_mean"</span>);</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"method"</span>) ;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment">/* --doubleopt */</span></div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_table_test.wshift"</span>, </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> CPL_TYPE_DOUBLE, </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="stringliteral">"Shift"</span>, </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="stringliteral">"sinfoni.sinfo_utl_table_test"</span>, </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> 0.01) ;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"wshift"</span>) ;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="comment">/* --doubleopt */</span></div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_table_test.wstart"</span>, </div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> CPL_TYPE_DOUBLE, </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="stringliteral">"Shift"</span>, </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="stringliteral">"sinfoni.sinfo_utl_table_test"</span>, </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> 1.45) ;</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"wstart"</span>) ;</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="comment">/* --doubleopt */</span></div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.sinfo_utl_table_test.wend"</span>, </div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> CPL_TYPE_DOUBLE, </div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="stringliteral">"End Wavelength"</span>, </div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="stringliteral">"sinfoni.sinfo_utl_table_test"</span>, </div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> 2.45) ;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI, <span class="stringliteral">"wend"</span>) ;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> cpl_parameterlist_append(recipe->parameters, p) ;</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> }</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_table_test_exec(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> {</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keywordtype">int</span> status=0;</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> cpl_errorstate initial_errorstate = cpl_errorstate_get();</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> status+=sinfo_utl_table_test_shift(recipe->parameters, recipe->frames);</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> status+=sinfo_utl_table_test_amoeba_poly(recipe->parameters, </div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> recipe->frames);</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> status+=sinfo_utl_table_test_amoeba_boltzmann(recipe->parameters, </div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> recipe->frames);</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">if</span> (!cpl_errorstate_is_equal(initial_errorstate)) { </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="comment">/* Dump the error history since recipe execution start. </span></div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="comment"> At this point the recipe cannot recover from the error */</span> </div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> cpl_errorstate_dump(initial_errorstate, CPL_FALSE, NULL); </div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> } </div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="keywordflow">return</span> status ;</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> }</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sinfo_utl_table_test_destroy(cpl_plugin * plugin)</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> {</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> cpl_recipe * recipe ;</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="comment">/* Get the recipe out of the plugin */</span></div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keywordflow">if</span> (cpl_plugin_get_type(plugin) == CPL_PLUGIN_TYPE_RECIPE) </div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> recipe = (cpl_recipe *)plugin ;</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> cpl_parameterlist_delete(recipe->parameters) ; </div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> }</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> sinfo_utl_table_test_shift(cpl_parameterlist * parlist, </div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> cpl_frameset * framelist)</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> {</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> cpl_table* t=NULL;</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> cpl_table* t_shift=NULL;</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="keywordtype">int</span> np=NPOINT;</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> cpl_parameter* p=NULL;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* op=NULL;</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="keywordtype">double</span> ws=0;</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="keywordtype">double</span> we=0;</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keywordtype">double</span> wd=0;</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="keywordtype">double</span> wshift=0;</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="keywordtype">double</span> pshift=0;</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keywordtype">double</span>* pw=NULL;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="keywordtype">double</span>* pi=NULL;</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> </div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> </div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="keywordtype">double</span> ra=0;</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="keyword">const</span> <span class="keywordtype">double</span> pg=3.1415926535897932384626433832795;</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> check(sinfo_dfs_set_groups(framelist),</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="stringliteral">"Cannot identify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="comment">// read input parameters</span></div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> check_nomsg(p=cpl_parameterlist_find(parlist, </div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="stringliteral">"sinfoni.sinfo_utl_table_test.method"</span>));</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> check_nomsg(op=cpl_parameter_get_string(p));</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> </div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> check_nomsg(p=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="stringliteral">"sinfoni.sinfo_utl_table_test.wstart"</span>));</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> check_nomsg(ws=cpl_parameter_get_double(p)) ;</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> </div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> wd=(we-ws)/np;</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> check_nomsg(p=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="stringliteral">"sinfoni.sinfo_utl_table_test.wend"</span>));</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> check_nomsg(we=cpl_parameter_get_double(p)) ;</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> check_nomsg(p=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="stringliteral">"sinfoni.sinfo_utl_table_test.wshift"</span>));</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> check_nomsg(wshift=cpl_parameter_get_double(p)) ;</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> </div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> </div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="comment">// create the table</span></div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> check_nomsg(t=cpl_table_new(np));</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> check_nomsg(cpl_table_new_column(t,<span class="stringliteral">"WAVE"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> check_nomsg(cpl_table_new_column(t,<span class="stringliteral">"INT"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> check_nomsg(cpl_table_fill_column_window(t,<span class="stringliteral">"WAVE"</span>,0,np,0));</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> check_nomsg(cpl_table_fill_column_window(t,<span class="stringliteral">"INT"</span>,0,np,0));</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> </div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> check_nomsg(pw=cpl_table_get_data_double(t,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> check_nomsg(pi=cpl_table_get_data_double(t,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> </div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="keywordflow">for</span>(i=0;i<np;i++) {</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> pw[i]=ws+i*wd;</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> ra=(double)i/(<span class="keywordtype">double</span>)np*6.*pg;</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> pi[i]=cos(ra);</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> }</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> pshift=wshift/wd;</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> check_nomsg(cpl_table_save(t, NULL, NULL, <span class="stringliteral">"out_cosine.fits"</span>, 0));</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="comment"> sinfo_msg("shift1");</span></div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="comment"> cknull_nomsg(t_shift=sinfo_table_shift_column_int(t, "INT", pshift,&wrest));</span></div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="comment"> check_nomsg(cpl_table_save(t_shift,NULL,NULL,"out_cosine_shift1.fits", 0));</span></div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="comment"> sinfo_msg("shift2");</span></div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="comment"> sinfo_free_table(&t_shift);</span></div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="comment"> cknull_nomsg(t_shift=sinfo_table_shift_column_poly(t,"INT", pshift,2));</span></div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="comment"> check_nomsg(cpl_table_save(t_shift,NULL,NULL,"out_cosine_shift2.fits", 0));</span></div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="comment"> sinfo_msg("shift3");</span></div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="comment"> sinfo_free_table(&t_shift);</span></div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="comment"> cknull_nomsg(t_shift=sinfo_table_shift_column_spline3(t_shift,"INT",pshift));</span></div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="comment"></span></div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> check_nomsg(t_shift=sinfo_table_shift_simple(t,<span class="stringliteral">"INT"</span>,pshift));</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> check_nomsg(cpl_table_save(t_shift,NULL,NULL, <span class="stringliteral">"out_cosine_shift3.fits"</span>, 0));</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> sinfo_free_table(&t);</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> cleanup:</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> </div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> sinfo_free_table(&t);</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> </div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> </div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> }</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> </div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> </div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> sinfo_utl_table_test_amoeba_poly(cpl_parameterlist * parlist, </div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> cpl_frameset * framelist)</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> {</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> </div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> cpl_table* t=NULL;</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="keywordtype">int</span> np=NPOINT;</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> cpl_parameter* p=NULL;</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* op=NULL;</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="keywordtype">double</span> ws=0;</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="keywordtype">double</span> we=0;</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="keywordtype">double</span> wd=0;</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="keywordtype">double</span> wshift=0;</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> </div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="keywordtype">double</span>* pw=NULL;</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="keywordtype">double</span>* pi=NULL;</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="keywordtype">double</span>* pf=NULL;</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="keywordtype">double</span> a[3];</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="keywordtype">double</span> p0[3];</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> </div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> </div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="comment">// Amoeba fit:</span></div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="keyword">const</span> <span class="keywordtype">int</span> MP=4;</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="keyword">const</span> <span class="keywordtype">int</span> NP=3;</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="keywordtype">double</span> y[MP];</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="keywordtype">double</span>** ap=NULL;</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="keywordtype">double</span> FTOL=2e-6;</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="keywordtype">int</span> nfunc=0;</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> </div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> check(sinfo_dfs_set_groups(framelist),</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <span class="stringliteral">"Cannot identify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> </div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="comment">// read input parameters</span></div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> check_nomsg(p=cpl_parameterlist_find(parlist, </div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="stringliteral">"sinfoni.sinfo_utl_table_test.method"</span>));</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> check_nomsg(op=cpl_parameter_get_string(p));</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> </div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> </div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> check_nomsg(p=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="stringliteral">"sinfoni.sinfo_utl_table_test.wstart"</span>));</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> check_nomsg(ws=cpl_parameter_get_double(p)) ;</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> </div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> wd=(we-ws)/np;</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> check_nomsg(p=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="stringliteral">"sinfoni.sinfo_utl_table_test.wend"</span>));</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> check_nomsg(we=cpl_parameter_get_double(p)) ;</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> </div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> check_nomsg(p=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="stringliteral">"sinfoni.sinfo_utl_table_test.wshift"</span>));</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> check_nomsg(wshift=cpl_parameter_get_double(p)) ;</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> </div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> </div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> <span class="comment">//Prepare a template function (polynomial)</span></div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> check_nomsg(t=cpl_table_new(np));</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> check_nomsg(cpl_table_new_column(t,<span class="stringliteral">"WAVE"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> check_nomsg(cpl_table_new_column(t,<span class="stringliteral">"INT"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> check_nomsg(cpl_table_fill_column_window(t,<span class="stringliteral">"WAVE"</span>,0,np,0));</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> check_nomsg(cpl_table_fill_column_window(t,<span class="stringliteral">"INT"</span>,0,np,0));</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> check_nomsg(pw=cpl_table_get_data_double(t,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> check_nomsg(pi=cpl_table_get_data_double(t,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> ws=-2.;</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> we=+4.;</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> a[0]=+1.;</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> a[1]=-2.;</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> a[2]=1.;</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> wd=(we-ws)/np;</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="keywordflow">for</span>(i=0;i<np;i++) {</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> pw[i]=ws+i*wd;</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="comment">//pi[i]=(pw[i]-a[0])*(pw[i]-a[0])+1.*rand()/RAND_MAX;</span></div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> pi[i]=a[0]+a[1]*pw[i]+a[2]*pw[i]*pw[i]+1.*rand()/RAND_MAX;</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> }</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> </div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> </div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> sa_vx=cpl_vector_wrap(np,cpl_table_get_data_double(t,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> sa_vy=cpl_vector_wrap(np,cpl_table_get_data_double(t,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="comment">// Amoeba part</span></div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> ap=(<span class="keywordtype">double</span>**) cpl_calloc(MP,<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>*));</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="keywordflow">for</span>(i=0;i<MP;i++) {</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> ap[i]=cpl_calloc(NP,<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> }</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> </div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="keywordflow">for</span>(i=0;i<MP;i++) {</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="keywordflow">for</span>(j=0;j<NP;j++) {</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> ap[i][j]=0;</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> }</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> }</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="comment">//ap[0][0]=-5;</span></div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="comment">//ap[1][0]=-2;</span></div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> </div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> ap[0][0]=-3; ap[0][1]=-3; ap[0][2]=-3;</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> ap[1][0]=+3; ap[1][1]=-3; ap[1][2]=-3;</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> ap[2][0]=+3; ap[2][1]=+3; ap[2][2]=-3;</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> ap[3][0]=+3; ap[3][1]=-3; ap[3][2]=+3;</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> </div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> sinfo_msg(<span class="stringliteral">"Before amoeba fit"</span>);</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="keywordflow">for</span>(i=0;i<MP;i++) {</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="keywordflow">for</span>(j=0;j<NP;j++) {</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> sinfo_msg(<span class="stringliteral">"ap[%d][%d]=%g"</span>,i,j,ap[i][j]);</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> }</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> }</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> </div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <span class="keywordflow">for</span>(i=0;i<MP;i++) {</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> p0[0]=ap[i][0]; </div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> p0[1]=ap[i][1]; </div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> p0[2]=ap[i][2];</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> y[i]=sinfo_fit_poly(p0);</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> }</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> </div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> sinfo_fit_amoeba(ap,y,NP,FTOL,sinfo_fit_poly,&nfunc);</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> </div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> sinfo_msg(<span class="stringliteral">"After amoeba fit"</span>);</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="keywordflow">for</span>(i=0;i<MP;i++) {</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> <span class="keywordflow">for</span>(j=0;j<NP;j++) {</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> sinfo_msg(<span class="stringliteral">"ap[%d][%d]=%g"</span>,i,j,ap[i][j]);</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> }</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> }</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> </div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> check_nomsg(cpl_table_new_column(t,<span class="stringliteral">"FIT"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> check_nomsg(cpl_table_fill_column_window(t,<span class="stringliteral">"FIT"</span>,0,np,0));</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> check_nomsg(pf=cpl_table_get_data_double(t,<span class="stringliteral">"FIT"</span>));</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> </div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> wd=(we-ws)/np;</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> <span class="keywordflow">for</span>(i=0;i<np;i++) {</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> pw[i]=ws+i*wd;</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> pf[i]=ap[0][0]+ap[0][1]*pw[i]+ap[0][2]*pw[i]*pw[i];</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> }</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> </div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> check_nomsg(cpl_table_save(t,NULL,NULL, <span class="stringliteral">"out_amoeba_poly.fits"</span>, 0));</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> cpl_vector_unwrap(sa_vx);</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> cpl_vector_unwrap(sa_vy);</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> </div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> sinfo_free_table(&t);</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> cleanup:</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> cpl_vector_unwrap(sa_vx);</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> cpl_vector_unwrap(sa_vy);</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> </div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> sinfo_free_table(&t);</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> </div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> </div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> }</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> </div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> sinfo_utl_table_test_amoeba_boltzmann(cpl_parameterlist * parlist, </div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> cpl_frameset * framelist)</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> {</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> </div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> cpl_table* t=NULL;</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <span class="keywordtype">int</span> np=NPOINT;</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> cpl_parameter* p=NULL;</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* op=NULL;</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="keywordtype">double</span> ws=0;</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <span class="keywordtype">double</span> we=0;</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> <span class="keywordtype">double</span> wd=0;</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> <span class="keywordtype">double</span> wshift=0;</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> </div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> <span class="keywordtype">double</span>* pw=NULL;</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="keywordtype">double</span>* pi=NULL;</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="keywordtype">double</span>* pf=NULL;</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="keywordtype">double</span> a[3];</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="keywordtype">double</span> p0[3];</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> </div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> </div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <span class="comment">// Amoeba fit:</span></div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> <span class="keyword">const</span> <span class="keywordtype">int</span> MP=4;</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <span class="keyword">const</span> <span class="keywordtype">int</span> NP=3;</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> <span class="keywordtype">double</span> y[MP];</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> <span class="keywordtype">double</span>** ap=NULL;</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> <span class="keywordtype">double</span> FTOL=2e-6;</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> <span class="keywordtype">int</span> nfunc=0;</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> <span class="keywordtype">double</span> max=0;</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> </div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> <span class="keywordtype">double</span> bkg_min=0;</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> <span class="keywordtype">double</span> bkg_max=0;</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> <span class="keywordtype">double</span> p0_min=0;</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> <span class="keywordtype">double</span> p0_max=0;</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="keywordtype">double</span> p1_min=0;</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> <span class="keywordtype">double</span> p1_max=0;</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <span class="keywordtype">double</span> p2_min=0;</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> <span class="keywordtype">double</span> p2_max=0;</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> </div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> </div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> check(sinfo_dfs_set_groups(framelist),</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> <span class="stringliteral">"Cannot identify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> </div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> <span class="comment">// read input parameters</span></div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> check_nomsg(p=cpl_parameterlist_find(parlist, </div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="stringliteral">"sinfoni.sinfo_utl_table_test.method"</span>));</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> check_nomsg(op=cpl_parameter_get_string(p));</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> </div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> </div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> check_nomsg(p=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="stringliteral">"sinfoni.sinfo_utl_table_test.wstart"</span>));</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> check_nomsg(ws=cpl_parameter_get_double(p)) ;</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> </div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> </div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> wd=(we-ws)/np;</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> check_nomsg(p=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="stringliteral">"sinfoni.sinfo_utl_table_test.wend"</span>));</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> check_nomsg(we=cpl_parameter_get_double(p)) ;</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> </div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> check_nomsg(p=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <span class="stringliteral">"sinfoni.sinfo_utl_table_test.wshift"</span>));</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> check_nomsg(wshift=cpl_parameter_get_double(p)) ;</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> </div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> </div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> <span class="comment">//Prepare a template function (polynomial)</span></div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> check_nomsg(t=cpl_table_new(np));</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> check_nomsg(cpl_table_new_column(t,<span class="stringliteral">"WAVE"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> check_nomsg(cpl_table_new_column(t,<span class="stringliteral">"INT"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> check_nomsg(cpl_table_fill_column_window(t,<span class="stringliteral">"WAVE"</span>,0,np,0));</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> check_nomsg(cpl_table_fill_column_window(t,<span class="stringliteral">"INT"</span>,0,np,0));</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> </div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> check_nomsg(pw=cpl_table_get_data_double(t,<span class="stringliteral">"WAVE"</span>));</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> check_nomsg(pi=cpl_table_get_data_double(t,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> ws=1.4;</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> we=2.5;</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> wd=(we-ws)/np;</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> a[2]=280;</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> a[1]=55.817665;</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> a[0]=548.77802;</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> <span class="keywordflow">for</span>(i=0;i<np;i++) {</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> pw[i]=ws+i*wd;</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> pi[i]=sinfo_fac(pw[i],a[2])*(1.+0.1*rand()/RAND_MAX);</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> }</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> check_nomsg(max=cpl_table_get_column_max(t,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> check_nomsg(cpl_table_duplicate_column(t,<span class="stringliteral">"THERMAL"</span>,t,<span class="stringliteral">"INT"</span>));</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> check_nomsg(cpl_table_divide_scalar(t,<span class="stringliteral">"THERMAL"</span>,max));</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> check_nomsg(cpl_table_multiply_scalar(t,<span class="stringliteral">"THERMAL"</span>,a[1]));</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> check_nomsg(cpl_table_add_scalar(t,<span class="stringliteral">"THERMAL"</span>,a[0]));</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> </div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> check_nomsg(sa_vx=cpl_vector_wrap(np,cpl_table_get_data_double(t,<span class="stringliteral">"WAVE"</span>)));</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> check_nomsg(sa_vy=cpl_vector_wrap(np,cpl_table_get_data_double(t,<span class="stringliteral">"THERMAL"</span>)));</div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> <span class="comment">// Amoeba part</span></div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> ap=(<span class="keywordtype">double</span>**) cpl_calloc(MP,<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>*));</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> <span class="keywordflow">for</span>(i=0;i<MP;i++) {</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> ap[i]=cpl_calloc(NP,<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> }</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> </div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> <span class="keywordflow">for</span>(i=0;i<MP;i++) {</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> <span class="keywordflow">for</span>(j=0;j<NP;j++) {</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> ap[i][j]=0;</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> }</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> }</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> <span class="comment">//ap[0][0]=-5;</span></div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> <span class="comment">//ap[1][0]=-2;</span></div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> bkg_min=cpl_table_get_column_min(t,<span class="stringliteral">"THERMAL"</span>);</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> bkg_max=cpl_table_get_column_max(t,<span class="stringliteral">"THERMAL"</span>);</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> </div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> p0_min=bkg_min/2;</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> p0_max=bkg_min*2;</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> p1_min=bkg_min/2.;</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> p1_max=bkg_max*2;</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> p1_min=200;</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> p2_max=300;</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> </div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> ap[0][0]=p0_min; ap[0][1]=p1_min; ap[0][2]=p2_min;</div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> ap[1][0]=p0_max; ap[1][1]=p1_min; ap[1][2]=p2_min;</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> ap[2][0]=p0_min; ap[2][1]=p1_max; ap[2][2]=p2_min;</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> ap[3][0]=p0_min; ap[3][1]=p1_min; ap[3][2]=p2_max;</div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> </div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> sinfo_msg(<span class="stringliteral">"Before amoeba fit"</span>);</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="keywordflow">for</span>(i=0;i<MP;i++) {</div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> <span class="keywordflow">for</span>(j=0;j<NP;j++) {</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> sinfo_msg(<span class="stringliteral">"ap[%d][%d]=%g"</span>,i,j,ap[i][j]);</div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> }</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> }</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> </div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> <span class="keywordflow">for</span>(i=0;i<MP;i++) {</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> p0[0]=ap[i][0]; </div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> p0[1]=ap[i][1]; </div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> p0[2]=ap[i][2];</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> y[i]=sinfo_fit_boltzmann(p0);</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> }</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> </div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> sinfo_fit_amoeba(ap,y,NP,FTOL,sinfo_fit_boltzmann,&nfunc);</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> </div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> sinfo_msg(<span class="stringliteral">"After amoeba fit"</span>);</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> <span class="keywordflow">for</span>(i=0;i<MP;i++) {</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> <span class="keywordflow">for</span>(j=0;j<NP;j++) {</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> sinfo_msg(<span class="stringliteral">"ap[%d][%d]=%g"</span>,i,j,ap[i][j]);</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> }</div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> }</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> </div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> check_nomsg(cpl_table_new_column(t,<span class="stringliteral">"FIT"</span>,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> check_nomsg(cpl_table_fill_column_window(t,<span class="stringliteral">"FIT"</span>,0,np,0));</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> check_nomsg(pf=cpl_table_get_data_double(t,<span class="stringliteral">"FIT"</span>));</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> </div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> wd=(we-ws)/np;</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> <span class="keywordflow">for</span>(i=0;i<np;i++) {</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> pw[i]=ws+i*wd;</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> pf[i]=sinfo_fac(pw[i],ap[0][2]);</div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> }</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> check_nomsg(max=cpl_table_get_column_max(t,<span class="stringliteral">"FIT"</span>));</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> check_nomsg(cpl_table_divide_scalar(t,<span class="stringliteral">"FIT"</span>,max));</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> check_nomsg(cpl_table_multiply_scalar(t,<span class="stringliteral">"FIT"</span>,ap[0][1]));</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> check_nomsg(cpl_table_add_scalar(t,<span class="stringliteral">"FIT"</span>,ap[0][0]));</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> </div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> check_nomsg(cpl_table_save(t,NULL,NULL, <span class="stringliteral">"out_amoeba_boltzmann.fits"</span>, 0));</div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> </div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> </div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> cleanup:</div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> </div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> cpl_vector_unwrap(sa_vx);</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> cpl_vector_unwrap(sa_vy);</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> sinfo_free_table(&t);</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> </div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> <span class="keywordflow">if</span> (cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> }</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> </div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> </div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> </div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> }</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> </div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> </div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> sinfo_table_shift_column_int(<span class="keyword">const</span> cpl_table* t, </div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col, </div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> <span class="keyword">const</span> <span class="keywordtype">double</span> s, </div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> <span class="keywordtype">double</span>* r)</div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> {</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> cpl_table* out=NULL;</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> <span class="keywordtype">int</span> is=(int)s;</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> <span class="keywordtype">int</span> nrow=0;</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> </div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> <span class="keywordtype">double</span>* pi=NULL;</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="keywordtype">double</span>* po=NULL;</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> </div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> cknull(t,<span class="stringliteral">"null input table"</span>);</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> out=cpl_table_duplicate(t);</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> *r=s-is;</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> nrow=cpl_table_get_nrow(t);</div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> pi=cpl_table_get_data_double(t,col);</div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> po=cpl_table_get_data_double(out,col);</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> sinfo_msg(<span class="stringliteral">"shifting of %d pixels"</span>,is);</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> <span class="keywordflow">if</span>(is > 0 ) {</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> <span class="keywordflow">for</span>(i=0;i<nrow;i++) {</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> <span class="keywordflow">if</span>( ((i-is) >=0) && ((i-is) < nrow)) {</div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> po[i-is]=pi[i];</div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> }</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> }</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> <span class="keywordflow">for</span>(i=nrow-1;i>-1;i--) {</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> <span class="keywordflow">if</span>( ((i-is) >=0) && ((i-is) < nrow)) {</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> po[i-is]=pi[i];</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> }</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> }</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> }</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> cleanup:</div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> sinfo_free_table(&out);</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> </div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> }</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> </div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> </div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> </div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> sinfo_table_shift_column_poly(cpl_table* t, </div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col, </div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> <span class="keyword">const</span> <span class="keywordtype">double</span> shift,</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> <span class="keyword">const</span> <span class="keywordtype">int</span> order)</div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> {</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> cpl_table* out=NULL;</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> <span class="keywordtype">int</span> nrow=0;</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> <span class="keywordtype">int</span> flag=0;</div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> <span class="keywordtype">int</span> n_points=0;</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> <span class="keywordtype">int</span> firstpos=0;</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> <span class="keywordtype">int</span> z=0;</div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> <span class="keywordtype">float</span> eval=0;</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> <span class="keywordtype">float</span> sum=0;</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> <span class="keywordtype">float</span> new_sum=0;</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> <span class="keywordtype">float</span>* pi=NULL;</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> <span class="keywordtype">float</span>* po=NULL;</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> <span class="keywordtype">float</span>* spec=NULL ;</div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> <span class="keywordtype">float</span>* corrected_spec=NULL ;</div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> <span class="keywordtype">float</span>* xnum=NULL ;</div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> <span class="keywordtype">float</span>* tableptr=NULL;</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> </div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> cknull(t,<span class="stringliteral">"null input table"</span>);</div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> <span class="keywordflow">if</span> ( order <= 0 ) {</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong order of interpolation polynom given!"</span>) ;</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> }</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> </div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> out=cpl_table_duplicate(t);</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> </div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> nrow=cpl_table_get_nrow(t);</div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> cpl_table_cast_column(t,col,<span class="stringliteral">"FINT"</span>,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> cpl_table_cast_column(out,col,<span class="stringliteral">"FINT"</span>,CPL_TYPE_FLOAT);</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> pi=cpl_table_get_data_float(t,<span class="stringliteral">"FINT"</span>);</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> po=cpl_table_get_data_float(out,<span class="stringliteral">"FINT"</span>);</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> </div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> n_points = order + 1 ;</div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> <span class="keywordflow">if</span> ( n_points % 2 == 0 ) {</div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> firstpos = (int)(n_points/2) - 1 ;</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> firstpos = (int)(n_points/2) ;</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> }</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> spec=cpl_calloc(nrow,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> corrected_spec=cpl_calloc(nrow,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> xnum=cpl_calloc(order+1,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> <span class="comment">/* fill the xa[] array for the polint function */</span></div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_points ; i++ ) {</div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> xnum[i] = i ;</div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> }</div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> </div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> </div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> <span class="keywordflow">for</span>(i=0;i<nrow;i++) {</div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> corrected_spec[i] = 0. ;</div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> }</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> </div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> sum = 0. ;</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> <span class="keywordflow">for</span> ( z = 0 ; z < nrow ; z++ ) {</div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> spec[z] = pi[z] ;</div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> <span class="keywordflow">if</span> (isnan(spec[z]) ) {</div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> spec[z] = 0. ;</div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> </div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> <span class="keywordflow">for</span> ( i = z - firstpos ; i < z-firstpos+n_points ; i++ ) {</div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> <span class="keywordflow">if</span> ( i < 0 ) continue ;</div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> <span class="keywordflow">if</span> ( i >= nrow) continue ;</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> corrected_spec[i] = ZERO ;</div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> }</div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> }</div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> <span class="keywordflow">if</span> ( z != 0 && z != nrow - 1 ) {</div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> sum += spec[z] ;</div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> }</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> }</div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> </div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> new_sum = 0. ;</div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> <span class="keywordflow">for</span> ( z = 0 ; z < nrow ; z++ ) {</div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> <span class="comment">/* ---------------------------------------------------------------</span></div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> <span class="comment"> * now determine the arrays of size n_points with which the</span></div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> <span class="comment"> * polynom is determined and determine the position eval</span></div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> <span class="comment"> * where the polynom is evaluated in polynomial interpolation.</span></div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> <span class="comment"> * Take care of the points near the row edges!</span></div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> <span class="keywordflow">if</span> (isnan(corrected_spec[z])) continue ;</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> <span class="keywordflow">if</span> ( z - firstpos < 0 ) {</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> tableptr = &spec[0] ;</div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> eval = shift + z ;</div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( z - firstpos + n_points >= nrow ) {</div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> tableptr = &spec[nrow - n_points] ;</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> eval = shift + z + n_points - nrow ;</div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> tableptr = &spec[z-firstpos] ;</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> eval = shift + firstpos ;</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> }</div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> </div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> flag=0;</div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> corrected_spec[z]=sinfo_new_nev_ille(xnum,tableptr,order,eval,&flag);</div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> <span class="keywordflow">if</span> ( z != 0 && z != nrow - 1 ) {</div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> new_sum += corrected_spec[z] ;</div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> }</div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> }</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> </div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> <span class="comment">/* fill the output spectrum */</span></div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> <span class="keywordflow">for</span> (z = 0 ; z < nrow ; z++ ) {</div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> <span class="keywordflow">if</span> ( new_sum == 0. ) {</div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> new_sum = 1. ;</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> }</div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> <span class="keywordflow">if</span> ( z == 0 ) {</div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> po[z] = ZERO ;</div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( z == nrow - 1 ) {</div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> po[z] = ZERO ;</div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( isnan(corrected_spec[z]) ) {</div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> po[z] = ZERO ;</div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> corrected_spec[z] *= sum / new_sum ;</div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> po[z] = corrected_spec[z] ;</div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> }</div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> }</div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> check_nomsg(cpl_table_erase_column(t,<span class="stringliteral">"FINT"</span>));</div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> check_nomsg(cpl_table_erase_column(out,col));</div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> check_nomsg(cpl_table_cast_column(out,<span class="stringliteral">"FINT"</span>,col,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> check_nomsg(cpl_table_erase_column(out,<span class="stringliteral">"FINT"</span>));</div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> </div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> sinfo_free_float(&spec) ;</div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> sinfo_free_float(&corrected_spec) ;</div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> sinfo_free_float(&xnum) ;</div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> </div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> cleanup:</div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> </div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> </div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> sinfo_free_float(&spec) ;</div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> sinfo_free_float(&corrected_spec) ;</div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> sinfo_free_float(&xnum) ;</div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> sinfo_free_table(&out);</div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> </div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> </div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> }</div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> </div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> </div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> </div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> </div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> sinfo_table_shift_column_spline3(cpl_table* t, </div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col, </div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> <span class="keyword">const</span> <span class="keywordtype">double</span> shift)</div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> {</div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> cpl_table* out=NULL;</div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> <span class="keywordtype">int</span> nrow=0;</div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> <span class="keywordtype">int</span> z=0;</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> </div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> <span class="keywordtype">float</span> sum=0;</div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> <span class="keywordtype">float</span> new_sum=0;</div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> </div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> <span class="keywordtype">float</span>* pi=NULL;</div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> <span class="keywordtype">float</span>* po=NULL;</div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> <span class="keywordtype">float</span>* eval=NULL;</div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> <span class="keywordtype">float</span>* xnum=NULL;</div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> <span class="keywordtype">float</span>* spec=NULL;</div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> <span class="keywordtype">float</span>* corrected_spec=NULL;</div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> </div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> cknull(t,<span class="stringliteral">"null input table"</span>);</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> out=cpl_table_duplicate(t);</div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> </div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> nrow=cpl_table_get_nrow(t);</div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> check_nomsg(cpl_table_cast_column(t,col,<span class="stringliteral">"FINT"</span>,CPL_TYPE_FLOAT));</div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> check_nomsg(cpl_table_cast_column(out,col,<span class="stringliteral">"FINT"</span>,CPL_TYPE_FLOAT));</div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> pi=cpl_table_get_data_float(t,<span class="stringliteral">"FINT"</span>);</div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> po=cpl_table_get_data_float(out,<span class="stringliteral">"FINT"</span>);</div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> </div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> </div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> </div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> xnum=cpl_calloc(nrow,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> <span class="comment">/* fill the xa[] array for the spline function */</span></div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> <span class="keywordflow">for</span> ( i = 0 ; i < nrow ; i++ ) {</div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> xnum[i] = i ;</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> }</div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> </div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> spec=cpl_calloc(nrow,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> corrected_spec=cpl_calloc(nrow,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> eval=cpl_calloc(nrow,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> </div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> sum = 0. ;</div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> <span class="keywordflow">for</span> ( z = 0 ; z < nrow ; z++ ) {</div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> spec[z] = pi[z] ;</div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> <span class="keywordflow">if</span> (isnan(spec[z]) ) {</div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> <span class="keywordflow">for</span> ( i = z-1 ; i <= z+1 ; i++ ) {</div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> <span class="keywordflow">if</span> ( i < 0 ) continue ;</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> <span class="keywordflow">if</span> ( i >= nrow) continue ;</div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> corrected_spec[i] = ZERO ;</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> }</div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> spec[z] = 0. ;</div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> }</div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> sum += spec[z] ;</div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> eval[z] = (float)shift+(<span class="keywordtype">float</span>)z ;</div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> }</div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> <span class="comment">/* now we do the spline interpolation*/</span></div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> <span class="keywordflow">if</span> ( -1 == sinfo_function1d_natural_spline(xnum,spec, nrow, </div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> eval,corrected_spec, nrow))</div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> {</div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"error in spline interpolation!"</span>) ;</div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> }</div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> </div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> new_sum = 0. ;</div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> <span class="keywordflow">for</span> ( z = 0 ; z < nrow ; z++ ) {</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> <span class="keywordflow">if</span> ( isnan(corrected_spec[z]) ) {</div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> continue ;</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> }</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> new_sum += corrected_spec[z] ;</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> }</div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> <span class="comment">/* fill output imagelist */</span></div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> <span class="keywordflow">for</span> ( z = 0 ; z < nrow ; z++ ) {</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> <span class="keywordflow">if</span> ( new_sum == 0. ) new_sum =1. ; </div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> {</div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> <span class="keywordflow">if</span> ( isnan(corrected_spec[z]) ) {</div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> po[z] = ZERO ;</div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> corrected_spec[z] *= sum / new_sum ;</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> po[z] = corrected_spec[z] ;</div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> }</div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> }</div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> }</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> </div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> sinfo_free_float(&xnum);</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> sinfo_free_float(&spec) ;</div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> sinfo_free_float(&corrected_spec) ;</div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> sinfo_free_float(&eval) ;</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> </div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> check_nomsg(cpl_table_erase_column(t,<span class="stringliteral">"FINT"</span>));</div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> check_nomsg(cpl_table_erase_column(out,col));</div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> check_nomsg(cpl_table_cast_column(out,<span class="stringliteral">"FINT"</span>,col,CPL_TYPE_DOUBLE));</div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> check_nomsg(cpl_table_erase_column(out,<span class="stringliteral">"FINT"</span>));</div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> </div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> cleanup:</div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> </div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> sinfo_free_float(&xnum);</div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> sinfo_free_float(&spec) ;</div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> sinfo_free_float(&corrected_spec) ;</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> sinfo_free_float(&eval) ;</div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> sinfo_free_table(&out);</div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> </div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> </div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> }</div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> </div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> </div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> <span class="keyword">static</span> cpl_table*</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> sinfo_table_shift_simple(cpl_table* inp, </div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* col, </div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> <span class="keyword">const</span> <span class="keywordtype">double</span> shift)</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> {</div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> </div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> <span class="keywordtype">int</span> nrow=0;</div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> cpl_table* out=NULL;</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> <span class="keywordtype">int</span> is=(int)shift;</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> <span class="keywordtype">double</span> ds=shift-is;</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> <span class="keywordtype">double</span>* pi=NULL;</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> <span class="keywordtype">double</span>* po=NULL;</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> <span class="keywordtype">double</span> m=0;</div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> cknull(inp,<span class="stringliteral">"null input table"</span>);</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> </div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> check_nomsg(nrow=cpl_table_get_nrow(inp));</div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> check_nomsg(out=cpl_table_duplicate(inp));</div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> check_nomsg(cpl_table_fill_column_window(out,col,0,nrow,0));</div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> check_nomsg(pi=cpl_table_get_data_double(inp,col));</div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> check_nomsg(po=cpl_table_get_data_double(out,col));</div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> </div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> </div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> <span class="keywordflow">for</span>(i=0;i<nrow;i++) {</div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> <span class="keywordflow">if</span>((i+is)>0 && (i+is+1) < nrow) {</div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> m=pi[i+is+1]-pi[i+is];</div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> po[i]=pi[i+is]+m*ds;</div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> }</div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> }</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> cleanup:</div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> sinfo_free_table(&out);</div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> </div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> }</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> </div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> </div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> </div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> sinfo_fit_poly(<span class="keywordtype">double</span> p[])</div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> </div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> {</div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> </div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> <span class="keywordtype">double</span>* px=NULL;</div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> <span class="keywordtype">double</span>* py=NULL; </div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> </div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> <span class="keywordtype">int</span> np=0;</div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> </div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> <span class="keywordtype">double</span> fy=0; </div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> <span class="keywordtype">double</span> chi2=0;</div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> </div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> check_nomsg(px= cpl_vector_get_data(sa_vx));</div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> check_nomsg(py= cpl_vector_get_data(sa_vy));</div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> check_nomsg(np= cpl_vector_get_size(sa_vx));</div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> </div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> <span class="keywordflow">for</span>(i=0;i<np;i++) {</div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> <span class="comment">//fy=(px[i]-p[0])*(px[i]-p[0]);</span></div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> fy=p[0]+p[1]*px[i]+p[2]*px[i]*px[i];</div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> chi2+=(py[i]-fy)*(py[i]-fy);</div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> } </div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> </div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> <span class="keywordflow">return</span> chi2;</div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> cleanup:</div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> </div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> }</div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> </div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> sinfo_fit_boltzmann(<span class="keywordtype">double</span> p[])</div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> </div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> {</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> </div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> <span class="keywordtype">double</span>* px=NULL;</div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> <span class="keywordtype">double</span>* py=NULL; </div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> <span class="keywordtype">double</span>* pv=NULL; </div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> cpl_vector* vtmp=NULL;</div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> <span class="keywordtype">double</span> max=0;</div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> <span class="keywordtype">int</span> np=0;</div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> </div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> <span class="keywordtype">double</span> chi2=0;</div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> </div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> check_nomsg(px= cpl_vector_get_data(sa_vx));</div>
-<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> check_nomsg(py= cpl_vector_get_data(sa_vy));</div>
-<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span> check_nomsg(np= cpl_vector_get_size(sa_vx));</div>
-<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> check_nomsg(vtmp=cpl_vector_duplicate(sa_vy));</div>
-<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> check_nomsg(pv=cpl_vector_get_data(vtmp));</div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> </div>
-<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> <span class="keywordflow">for</span>(i=0;i<np;i++) {</div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> pv[i]=sinfo_fac(px[i],p[2]);</div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> <span class="comment">//sinfo_msg("x=%g p=%g",px[i],pv[i]);</span></div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> }</div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> check_nomsg(max=cpl_vector_get_max(vtmp));</div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> <span class="keywordflow">if</span>(max> 0) {</div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> check_nomsg(cpl_vector_divide_scalar(vtmp,max));</div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> check_nomsg(cpl_vector_multiply_scalar(vtmp,p[1]));</div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> check_nomsg(cpl_vector_add_scalar(vtmp,p[0]));</div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> }</div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> </div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> </div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> <span class="keywordflow">for</span>(i=0;i<np;i++) {</div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> chi2+=(py[i]-pv[i])*(py[i]-pv[i]);</div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> } </div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> </div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> <span class="keywordflow">return</span> chi2;</div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> cleanup:</div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> </div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> }</div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> </div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> <span class="keyword">static</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> sinfo_fitbkg(<span class="keyword">const</span> <span class="keywordtype">double</span> x[], </div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> <span class="keyword">const</span> <span class="keywordtype">double</span> a[], </div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> <span class="keywordtype">double</span> *result)</div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> {</div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> </div>
-<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> <span class="keywordtype">double</span> fac = sinfo_fac(x[0],a[2]);</div>
-<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> *result = a[0]+a[1]*fac;</div>
-<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> </div>
-<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> }</div>
-<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> </div>
-<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> <span class="keyword">static</span> <span class="keywordtype">double</span></div>
-<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> sinfo_fac(<span class="keyword">const</span> <span class="keywordtype">double</span> x, <span class="keyword">const</span> <span class="keywordtype">double</span> t)</div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> {</div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> </div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> <span class="keywordtype">double</span> c=14387.7;</div>
-<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> </div>
-<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> <span class="keywordflow">return</span> pow(x,-5.)/(exp(c/(x*fabs(t)))-1.);</div>
-<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> }</div>
-<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> </div>
-<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__vltPort_8h_source.html b/html/sinfo__vltPort_8h_source.html
deleted file mode 100644
index 36e0611..0000000
--- a/html/sinfo__vltPort_8h_source.html
+++ /dev/null
@@ -1,148 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_vltPort.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_vltPort.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*************************************************************************</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* "@(#) $Id: sinfo_vltPort.h,v 1.3 2006/10/25 06:46:09 amodigli Exp $" </span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* vltPort.h for Sun Solaris 2</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* gfilippi 22/05/96 created form vltPort.h</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">* gfilippi 23/05/96 define SUN_COMP added</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">* vltPort.h - Include file to mask differences between platforms.</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">* This file should be included in all source files.</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">* It relies on macro definitions preceeding the</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">* inclusion of this file.</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">* </span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">* REMARK: This file belongs to the "vltMake" module.</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#ifndef SINFO_VLTPORT_H</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_VLTPORT_H</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">* When it is used, vltPort.h MUST be the very first file included</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">* in ANSI ".c" files.</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">* Cause a syntax error if we detect that any other include file has been</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">* included before vltPort.h in an ANSI ".c" file.</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#if defined(__STDC__) && \</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor"> (defined(_H_STANDARDS) || \</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor"> defined(_SYS_STDSYMS_INCLUDED) || \</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor"> defined(_STANDARDS_H_))</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor"></span><span class="preprocessor"># error "vltPort.h MUST BE THE VERY FIRST FILE INCLUDED IN ANSI '.c' FILES"</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> * This file is used also by some VxWorks code.</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> * To be compatible with existing code, SUN_COMP is defined for both</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> * gcc and cc68k, but the following definitiond do not influence cc68k</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#define SUN_COMP</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> * at present, SELECT is defined in the code using it. It should be done here</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> * for all. May be in the next release.</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> * Adjust name-space information.</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor">#if defined(_ALL_SOURCE)</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor"></span><span class="preprocessor"># undef _POSIX_C_SOURCE</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="preprocessor">#if defined(_XOPEN_SOURCE)</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="preprocessor"></span><span class="preprocessor"># undef _POSIX_C_SOURCE</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="preprocessor">#ifndef MAKE_VXWORKS</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="preprocessor"></span><span class="preprocessor">#include <stddef.h></span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="preprocessor">#include <sys/types.h></span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="preprocessor">#include <sys/time.h></span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="preprocessor">#if !defined(timercmp)</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">AMO: 03/09/03 commented out for Linux</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"> struct timeval</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"> long tv_sec; </span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> long tv_usec; </span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> };</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor">#define crTIMEVAL_TIMEZONE_DEFINED</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* MAKE_VXWORKS */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="preprocessor">#endif </span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__wave__calibration_8c_source.html b/html/sinfo__wave__calibration_8c_source.html
deleted file mode 100644
index 1ee1c7a..0000000
--- a/html/sinfo__wave__calibration_8c_source.html
+++ /dev/null
@@ -1,2669 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_wave_calibration.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_wave_calibration.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*************************************************************************</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* </span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* schreib 13/07/00 created</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">* NAME</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">* sinfo_wave_calibration.c -</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">* routines needed for wavelength calibration</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">* SYNOPSIS</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">* </span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">* 1) FitParams ** sinfo_new_fit_params( int n_params )</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">* 2) void sinfo_new_destroy_fit_params ( FitParams ** params )</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">* 3) void sinfo_new_dump_fit_params_to_ascii(FitParams ** params,</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> const char * filename )</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">* 4) void sinfo_new_dump_ascii_to_fit_params ( FitParams ** params, </span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> char * filename )</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">* 5) int sinfo_new_find_lines(cpl_image * lineImage, </span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">* float * wave_position, </span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">* float * wave_intensity,</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">* int n_lines, </span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">* int ** row_clean,</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">* float ** wavelength_clean,</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">* float beginWave, </span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">* float dispersion,</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">* float mindiff, </span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">* int halfWidth,</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">* int * n_found_lines,</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">* float sigma,</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">* int * sum_lines )</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">* 6) int sinfo_new_read_list( char * listname, </span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> float * lineCenter, </span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> float * lineIntensity )</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">* 7) int sinfo_new_line_fit ( cpl_image * mergedImage, </span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">* FitParams * par,</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">* float fwhm,</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">* int lineInd,</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">* int column, </span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">* int halfWidth, </span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">* int lineRow,</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">* float min_amplitude )</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">* 8) int sinfo_new_fit_lines ( cpl_image * line_image, </span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">* FitParams ** allParams,</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">* float fwhm,</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">* int * n_lines, </span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">* int ** row,</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">* float ** wavelength, </span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">* int width,</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">* float min_amplitude ) </span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">* 9) float sinfo_new_polyfit( FitParams ** par, </span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">* int column,</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">* int n_lines,</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment">* int n_rows,</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">* float dispersion,</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment">* float max_residual,</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">* float * acoefs, </span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">* float * dacoefs, </span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">* int * n_reject,</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment">* int n_fitcoefs )</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment">* 10) float sinfo_new_coefs_cross_fit ( int n_columns,</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment">* float * acoefs,</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment">* float * dacoefs, </span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment">* float * bcoefs,</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment">* int n_fitcoefs,</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment">* float sigma_factor )</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment">* 11) cpl_image * sinfo_new_wave_map( cpl_image * lineImage,</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">* float ** bcoefs,</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment">* int n_a_fitcoefs,</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment">* int n_b_fitcoefs,</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment">* float * wavelength,</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">* float * intensity,</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment">* int n_lines,</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment">* int magFactor,</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">* int * bad_column_mask,</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment">* int n_bad_columns )</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">* 12) int sinfo_new_wavelength_calibration( cpl_image * image, </span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment">* FitParams ** par ,</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment">* float ** bcoefs,</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment">* float * wave,</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment">* int n_lines,</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment">* int ** row_clean,</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">* float ** wavelength_clean,</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment">* int * n_found_lines,</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment">* float dispersion,</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment">* int halfWidth,</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">* float minAmplitude,</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment">* float max_residual,</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment">* float fwhm,</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment">* int n_a_fitcoefs,</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">* int n_b_fitcoefs,</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment">* float sigmaFactor )</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment">* 13) cpl_image * sinfo_new_convolve_image_by_gauss( cpl_image * lineImage,</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment">* int hw )</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment">* 14) cpl_image * sinfo_new_defined_resampling( cpl_image * image,</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">* cpl_image * calimage,</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">* int n_params,</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment">* int n_rows,</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment">* double * dispersion,</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment">* float * minval,</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment">* float * maxval,</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment">* double * centralLambda,</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment">* int * centralpix )</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment">* DESCRIPTION</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment">* 1) allocates memory for a new sinfo_vector of </span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment">* FitParams data structures</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment">* 2) frees memory of a sinfo_vector of FitParams data structures</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment">* 3) dumps the fit parameters to an ASCII file</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment">* 4) dumps ASCII information to an allocated FitParams data structure</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment">* 5) determines the pixel shift between the line list </span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment">* and the real image by using the beginning wavelength</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment">* on the detector and the dispersion estimate.</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment">* 6) reads the line data of the calibration lamps</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment">* 7) fits a sinfo_gaussian to a 1-dimensional slice of an image, </span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment">* this routine uses the routine sinfo_new_lsqfit_c as a non-linear</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment">* least square fit method (Levenberg-Marquardt). </span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment">* 8) calculates and stores the fit parameters of the neon </span></div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment">* emission lines of a neon frame by using the sinfo_linefit </span></div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment">* routine.</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment">* 9) fits a second order polynom </span></div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment">* lambda[i] = a1 + a2*pos[i] + a3*pos[i]^2</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment">* to determine the connection between the listed wave-</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment">* length values and the gauss-fitted positions for each</span></div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment">* image column using the singular value decomposition </span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment">* method. </span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment">* 10) Fits the each single parameter of the three fit parameters </span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment">* acoefs from sinfo_polyfit through the image columns</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment">* 11) this routine determines a wavelength calibration map </span></div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment">* frame associating a wavelength value to each pixel</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="comment">* by using the fit coefficients determined before.</span></div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment">* 12) this routine takes an image from a calibration</span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment">* emission lamp and delivers the fit coefficients of </span></div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment">* a polynomial fit across the columns </span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment">* of the coefficients of the polynomial line position</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment">* fits as output. Furthermore it delivers an array of the fit parameters</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment">* as output. This routine expects Nyquist sampled spectra </span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment">* (either an interleaved image or an image convolved with an </span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment">* appropriate function in spectral direction)</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment">* 13) convolves an emission line image with a sinfo_gaussian</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="comment">* with user given integer half width by using the eclipse </span></div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment">* routine sinfo_function1d_filter_lowpass().</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment">* 14) Given a source image and a corresponding wavelength</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment">* calibration file this routine produces an image</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment">* in which elements in a given row are associated</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment">* with a single wavelength. It thus corrects for </span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment">* the wavelength shifts between adjacent elements</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment">* in the rows of the input image. The output image</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment">* is larger in the wavelength domain than the input</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment">* image with pixels in each column corresponding to </span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment">* undefined (blank, ZERO) values. The distribution</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="comment">* of these undefined values varies from column to</span></div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment">* column. The input image is resampled at discrete</span></div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment">* wavelength intervals using a polynomial interpolation</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment">* routine. </span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment">* The wavelength intervals (dispersion) and the </span></div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment">* central wavelength are defined and stable for each</span></div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment">* used grating. Thus, each row has a defined wavelength</span></div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment">* for each grating. Only the number of rows can be </span></div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="comment">* changed by the user. </span></div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment">* FILES</span></div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment">* ENVIRONMENT</span></div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment">* RETURN VALUES </span></div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="comment">* CAUTIONS </span></div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment">* EXAMPLES</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="comment">* SEE ALSO</span></div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="comment">* BUGS </span></div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="comment">*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="preprocessor"></span><span class="preprocessor">#include "sinfo_vltPort.h"</span></div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment"> * System Headers</span></div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="comment"> * Local Headers</span></div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="preprocessor">#include "sinfo_function_1d.h"</span></div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="preprocessor">#include "sinfo_wave_calibration.h"</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="preprocessor">#include "sinfo_solve_poly_root.h"</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="preprocessor">#include "sinfo_recipes.h"</span></div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="preprocessor">#include "sinfo_svd.h"</span></div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> FitParams ** sinfo_new_fit_params( <span class="keywordtype">int</span> n_params )</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> {</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> FitParams ** new_params =NULL;</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> FitParams * temp_params =NULL;</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keywordtype">float</span> * temp_fit_mem =NULL;</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="keywordtype">float</span> * temp_derv_mem=NULL;</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keywordflow">if</span> ( n_params <= 0 )</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> {</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" wrong number of lines to fit\n"</span>) ;</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> }</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="keywordflow">if</span> (NULL==(new_params=(FitParams **) cpl_calloc ( n_params , </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="keyword">sizeof</span> (FitParams*) ) ) )</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> {</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" could not allocate memory\n"</span>) ;</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> }</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="keywordflow">if</span> ( NULL == (temp_params = cpl_calloc ( n_params , <span class="keyword">sizeof</span> (FitParams) ) ) )</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> {</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" could not allocate memory\n"</span>) ;</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> }</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="keywordflow">if</span> ( NULL == (temp_fit_mem = (<span class="keywordtype">float</span> *) cpl_calloc( n_params*MAXPAR, </div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ) )</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> {</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" could not allocate memory\n"</span>) ;</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> }</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="keywordflow">if</span> ( NULL == (temp_derv_mem = </div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> (<span class="keywordtype">float</span> *) cpl_calloc( n_params*MAXPAR, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ) )</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> {</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" could not allocate memory\n"</span>) ;</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> }</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_params ; i ++ )</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> {</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> new_params[i] = temp_params+i;</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> new_params[i] -> fit_par = temp_fit_mem+i*MAXPAR;</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> new_params[i] -> derv_par = temp_derv_mem+i*MAXPAR;</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> new_params[i] -> column = 0 ;</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> new_params[i] -> line = 0 ;</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> new_params[i] -> wavelength = 0. ;</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> new_params[i] -> n_params = n_params ;</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> }</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="keywordflow">return</span> new_params ;</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> }</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="keywordtype">void</span> sinfo_new_destroy_fit_params ( FitParams *** params )</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> { </div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> </div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="keywordflow">if</span> ( *params == NULL )</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> {</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> return ;</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> }</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> cpl_free ( (*params)[0] -> fit_par ) ;</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> (*params)[0] -> fit_par=NULL;</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> cpl_free ( (*params)[0] -> derv_par ) ;</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> (*params)[0] -> derv_par=NULL;</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> cpl_free ( (*params)[0] ) ;</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> (*params)[0]=NULL;</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> cpl_free ( (*params) ) ;</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> (*params)=NULL;</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> }</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="keywordtype">void</span> sinfo_new_dump_fit_params_to_ascii ( FitParams ** params, <span class="keyword">const</span> <span class="keywordtype">char</span> * filename )</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> {</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> FILE * fp ;</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> </div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="keywordflow">if</span> ( NULL == params )</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> {</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no fit parameters available!\n"</span>) ;</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> return ;</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> }</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="keywordflow">if</span> ( NULL == filename )</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> {</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no filename available!\n"</span>) ;</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> return ;</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> }</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="keywordflow">if</span> ( NULL == (fp = fopen ( filename, <span class="stringliteral">"w"</span> ) ) )</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> {</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" cannot open %s\n"</span>, filename) ;</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> return ;</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> }</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> </div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="keywordflow">for</span> ( i = 0 ; i < params[0] -> n_params ; i++ )</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> {</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> fprintf(fp, <span class="stringliteral">"%d %d %d %f %f %f %f %f %f %f %f %f\n"</span>, </div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> params[i]->n_params, </div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> params[i]->column, </div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> params[i]->line, </div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> params[i]->wavelength, </div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> params[i]->fit_par[0], </div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> params[i]->fit_par[1], </div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> params[i]->fit_par[2], </div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> params[i]->fit_par[3],</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> params[i]->derv_par[0], </div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> params[i]->derv_par[1], </div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> params[i]->derv_par[2], </div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> params[i]->derv_par[3] ) ; </div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> }</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> fclose(fp) ;</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> }</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> sinfo_new_dump_ascii_to_fit_params ( FitParams ** params, <span class="keywordtype">char</span> * filename )</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> {</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> FILE * fp ;</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="keywordtype">int</span> i ;</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> </div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="keywordflow">if</span> ( NULL == params )</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> {</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no fit parameters available!\n"</span>) ;</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> return ;</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> }</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> </div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="keywordflow">if</span> ( NULL == filename )</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> {</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no filename available!\n"</span>) ;</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> return ;</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> }</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> </div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="keywordflow">if</span> ( NULL == (fp = fopen ( filename, <span class="stringliteral">"r"</span> ) ) )</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> {</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" cannot open %s\n"</span>, filename) ;</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> return ;</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> }</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> </div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="keywordflow">for</span> ( i = 0 ; i < params[0]->n_params ; i++ )</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> {</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> fscanf(fp, <span class="stringliteral">"%d %d %d %f %f %f %f %f %f %f %f %f\n"</span>, </div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> ¶ms[i]->n_params, </div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> ¶ms[i]->column, </div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> ¶ms[i]->line, </div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> ¶ms[i]->wavelength, </div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> ¶ms[i]->fit_par[0], </div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> ¶ms[i]->fit_par[1], </div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> ¶ms[i]->fit_par[2], </div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> ¶ms[i]->fit_par[3],</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> ¶ms[i]->derv_par[0], </div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> ¶ms[i]->derv_par[1], </div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> ¶ms[i]->derv_par[2], </div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> ¶ms[i]->derv_par[3] ) ; </div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> }</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> fclose(fp) ;</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> }</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="keywordtype">int</span> sinfo_new_find_lines(cpl_image * lineImage, </div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="keywordtype">float</span> * wave_position, </div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="keywordtype">float</span> * wave_intensity,</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="keywordtype">int</span> n_lines, </div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="keywordtype">int</span> ** row_clean,</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> <span class="keywordtype">float</span> ** wavelength_clean,</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="keywordtype">float</span> beginWave, </div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="keywordtype">float</span> dispersion1,</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="keywordtype">float</span> dispersion2,</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="keywordtype">float</span> mindiff, </div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="keywordtype">int</span> halfWidth,</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="keywordtype">int</span> * n_found_lines,</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="keywordtype">float</span> sigma,</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="keywordtype">int</span> * sum_lines )</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> {</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="keywordtype">int</span> ** row ;</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="keywordtype">float</span> ** wavelength ;</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="keywordtype">float</span> buf1, buf2 ;</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="keywordtype">float</span> meanval ;</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="keywordtype">float</span> colmedian ;</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="keywordtype">float</span> * column, * tempcol ;</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="keywordtype">float</span> * lines ;</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="keywordtype">float</span> * conv_lines ;</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="keywordtype">float</span> * wave_buffer ;</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <span class="keywordtype">float</span> * wave_mem;</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> <span class="keywordtype">int</span> * dummy_row ;</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="keywordtype">int</span> i, j, k, m ;</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="keywordtype">int</span> position ;</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="keywordtype">int</span> gmax, gmin ;</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="keywordtype">int</span> col ;</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="keywordtype">int</span> * row_mem;</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="keywordtype">float</span> sum ;</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="keywordtype">float</span> angst ;</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> </div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> <span class="keywordtype">int</span> lx=0;</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="keywordtype">int</span> ly=0;</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="keywordtype">float</span>* pdata=NULL;</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> </div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="keywordflow">if</span> ( NULL == lineImage )</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> {</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no image given\n"</span>) ;</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> }</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> </div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> lx=cpl_image_get_size_x(lineImage);</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> ly=cpl_image_get_size_y(lineImage);</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> pdata=cpl_image_get_data_float(lineImage);</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> </div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> <span class="keywordflow">if</span> ( n_lines <= 0 || NULL == wave_position ) </div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> {</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no line list given\n"</span>) ;</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> }</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="keywordflow">if</span> ( NULL == wave_intensity ) </div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> {</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no intensity list given\n"</span>) ;</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> }</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> </div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="keywordflow">if</span> ( dispersion1 == 0. )</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> {</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong dispersion given\n"</span>) ;</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> }</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> </div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> <span class="keywordflow">if</span> ( row_clean == NULL )</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> {</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" row_clean array is not allocated\n"</span>) ;</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> }</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> </div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> <span class="keywordflow">if</span> ( wavelength_clean == NULL )</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> {</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wavelength_clean array is not allocated\n"</span>) ;</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> }</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> </div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> <span class="keywordflow">if</span> ( beginWave <= 0. )</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> {</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" impossible beginWave given\n"</span>) ;</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> }</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> <span class="keywordflow">if</span> ( mindiff < -100. )</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> {</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" wrong mindiff value\n"</span>) ;</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> }</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> </div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> <span class="keywordflow">if</span> ( halfWidth <= 0 )</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> {</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong half width of fit box given\n"</span>) ;</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> }</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> </div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> <span class="keywordflow">if</span> ( n_found_lines == NULL )</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> {</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" n_found_lines not allocated\n"</span>) ;</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> }</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> </div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> <span class="keywordflow">if</span> ( sigma <= 0. || sigma >= ly / 2)</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> {</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong sigma given\n"</span>) ;</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> }</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> </div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> row = (<span class="keywordtype">int</span>**) cpl_calloc( lx, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>*)) ;</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> wavelength = (<span class="keywordtype">float</span>**) cpl_calloc( lx, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>*)) ;</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> row_mem = cpl_calloc( n_lines*lx, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> wave_mem = cpl_calloc( n_lines*lx, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> <span class="keywordflow">for</span> ( i = 0 ; i <lx ; i++ )</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> {</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> row[i] = row_mem + i*n_lines;</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> wavelength[i] = wave_mem + i*n_lines;</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> }</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> </div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> <span class="comment">/* find if the wavelength is given in microns, nanometers or Angstroem */</span></div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="keywordflow">if</span> ( wave_position[0] > 10000. )</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> {</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> <span class="comment">/* Angstroem */</span></div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> angst = 10000. ;</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> }</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( wave_position[0] > 1000. && wave_position[0] < 10000. )</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> {</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <span class="comment">/* nanometers */</span></div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> angst = 1000. ;</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> }</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> {</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> <span class="comment">/* microns */</span></div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> angst = 1. ;</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> }</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> </div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="comment">/*----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="comment"> * compute the mean and median intensity value in the given </span></div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> <span class="comment"> column and determine if there is enough intensity in the column to </span></div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> <span class="comment"> do the correlation</span></div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> tempcol = (<span class="keywordtype">float</span>*) cpl_calloc(ly, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> *sum_lines = 0 ;</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> buf1 = 0. ;</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> buf2 = 0. ;</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> column = (<span class="keywordtype">float</span>*) cpl_calloc(ly, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> lines = (<span class="keywordtype">float</span>*) cpl_calloc(ly, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> conv_lines = (<span class="keywordtype">float</span>*) cpl_calloc(ly, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> wave_buffer = (<span class="keywordtype">float</span>*) cpl_calloc(ly, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> dummy_row = (<span class="keywordtype">int</span>*) cpl_calloc(n_lines, <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)) ;</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> </div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> <span class="keywordflow">for</span> ( col = 0 ; col < lx ; col++ )</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> {</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> n_found_lines[col] = 0 ;</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> sum = 0. ;</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> <span class="keywordflow">for</span> ( i = 0 ; i < ly ; i++ )</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> {</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="keywordflow">if</span> (isnan(pdata[col + i*lx]) )</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> {</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> tempcol[i] = 0. ;</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> continue ;</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> }</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> </div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> sum = sum + pdata[col + i*lx] ;</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> tempcol[i] = pdata[col + i*lx];</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> }</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> meanval = sum / ly ;</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="comment">/* lets assume the sinfo_new_median is the background */</span></div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> colmedian = sinfo_new_median ( tempcol, ly);</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> </div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> <span class="keywordflow">if</span> ( meanval - colmedian < mindiff )</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> {</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">" sorry, not enough intensity "</span></div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> <span class="stringliteral">"(mean: %f, diff: %f) in image column: "</span></div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> <span class="stringliteral">"%d to correlate emission lines\n"</span>, </div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> meanval, meanval - colmedian,col) ;</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> continue ;</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> }</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> </div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> <span class="keywordflow">for</span> ( i = 0 ; i < ly ; i++ )</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> {</div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> conv_lines[i]=0;</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> wave_buffer[i]=0;</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> }</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_lines ; i++ )</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> {</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> dummy_row[i] = 0;</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> }</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> </div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> <span class="comment">/* go through the column with index col */</span></div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <span class="keywordflow">for</span> ( i = 0 ; i < ly ; i++ )</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> {</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> <span class="keywordflow">if</span> ( isnan(pdata[col+i*lx]) )</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> {</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> column[i] = 0. ;</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> }</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> {</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> column[i] = pdata[col + i*lx] ;</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> }</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> </div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> <span class="comment">/* determine the line position on the pixels */</span></div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> <span class="comment">/*lines[i] = (dispersion * (float) i + beginWave) * angst ;*/</span> </div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> lines[i] = (dispersion1 * (float) (i-ly/2) + </div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> dispersion2 * (float) (i-ly/2) * </div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> (float) (i-ly/2) + </div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> beginWave) * angst ; </div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> </div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> <span class="comment">/* ---------------------------------------------------------------</span></div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> <span class="comment"> * find the nearest line position for each wavelength in the list </span></div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="comment"> * and set this position to the given line intensity as weight </span></div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> <span class="keywordflow">for</span> ( j = 0 ; j < n_lines ; j ++ )</div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> {</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> buf1 = 0. ;</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> buf2 = 0. ;</div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> <span class="keywordflow">if</span> ( (wave_position[j] >= (lines[i] - </div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> fabs(dispersion1)/2.*angst)) && </div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> (wave_position[j] <= (lines[i] + </div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> fabs(dispersion1)/2.*angst)) ) </div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> {</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> buf1 = wave_intensity[j] ; <span class="comment">/* set the given line intensity </span></div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <span class="comment"> as weight */</span></div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> buf2 = wave_position[j] ;</div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> break ;</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> }</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> }</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> lines[i] = buf1 ;</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> wave_buffer[i] = buf2 ; <span class="comment">/* get the wavelength associated </span></div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> <span class="comment"> with the corresponding </span></div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> <span class="comment"> found emission line */</span></div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> </div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> <span class="comment">/* convolve the artificial spectrum by a Gaussian </span></div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> <span class="comment"> with given sigma value */</span></div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <span class="keywordflow">if</span> ( lines[i] != 0. )</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> {</div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> <span class="comment">/* consider only +- 2 sigma */</span></div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> gmin = sinfo_new_nint((<span class="keywordtype">float</span>) i - 2. * sigma) ;</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> gmax = sinfo_new_nint((<span class="keywordtype">float</span>) i + 2. * sigma) ;</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> </div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> <span class="comment">/* be aware of image margins */</span></div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> <span class="keywordflow">if</span> ( gmin < 0 )</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> {</div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> gmin = 0 ;</div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> }</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> <span class="keywordflow">if</span> ( gmax >= ly )</div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> {</div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> gmax = ly - 1 ;</div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> } </div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> <span class="keywordflow">for</span> ( j = gmin ; j <= gmax ; j++ )</div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> {</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> conv_lines[j] += </div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> lines[i] * exp( (<span class="keywordtype">double</span>)( -0.5*((j - i)*(j - i)))/</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> (<span class="keywordtype">double</span>) (sigma*sigma) ) ; </div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> }</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> }</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> }</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> </div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> <span class="comment">/* do the cross sinfo_new_correlitioation */</span></div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> position = INT32_MAX ;</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> position = sinfo_new_correlation(column+5, conv_lines+5, ly-10 ) ; </div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> <span class="keywordflow">if</span> ( abs (position) > ly / 4 )</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> {</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">" sorry, shift of artificial data relative to"</span></div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> <span class="stringliteral">" image (%d) seems to be too high in column: %d"</span>,</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> position, col) ;</div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> continue ;</div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> }</div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> </div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> <span class="comment">//AMO we initialize this to -999 and later check that it is not</span></div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> <span class="comment">//-999 to prevent an invalid read out due to the fact that not</span></div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> <span class="comment">//all elements of row are filled by the the loop below</span></div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> <span class="keywordflow">for</span> ( j = 0 ; j < n_lines ; j ++ ) {</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> row[col][j] = -999;</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> }</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> </div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="comment">//The following loop does not fill all elements</span></div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> j = 0 ;</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="keywordflow">for</span> ( i = 0 ; i < ly ; i ++ )</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> {</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> <span class="keywordflow">if</span> ( lines[i] != 0.0 )</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> {</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> <span class="keywordflow">if</span> ( (i - position) >= 0 && (i - position) < ly )</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> {</div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> row[col][j] = i - position ;</div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> <span class="comment">/* get the wavelength corresponding to </span></div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> <span class="comment"> found line row index */</span></div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> wavelength[col][j] = wave_buffer[i] / angst ;</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> j++ ;</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> }</div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> }</div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> }</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> </div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> </div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> <span class="comment">/* ------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> <span class="comment"> * determine the row_clean array, that means, take only the row </span></div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> <span class="comment"> values if the distance between adjacent lines is large enough </span></div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> <span class="comment"> for the fit</span></div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> <span class="comment">//sinfo_msg("lx=%d",lx);</span></div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> <span class="keywordflow">for</span> ( k = 1 ; k <= j && k<(lx-1); k ++ )</div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> {</div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> <span class="keywordflow">if</span> (dummy_row[k-1] != -1)</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> {</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> dummy_row[k-1] = row[col][k-1] ;</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> }</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> <span class="keywordflow">if</span> ( (row[col][k] - row[col][k-1]) <= 2*halfWidth )</div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> {</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> dummy_row[k-1] = -1 ;</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> <span class="keywordflow">if</span> (k<n_lines) {</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> dummy_row[k] = -1 ;</div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> }</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> }</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> <span class="comment">/* the following gives invalid read size 4: check that k+1<lx */</span></div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> </div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> <span class="comment">//sinfo_msg("col=%d k=%d row1=%d row2=%d",</span></div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> <span class="comment">// col,k,row[col][k+1],row[col][k]);</span></div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> <span class="keywordflow">if</span> ( (row[col][j] != -999) && </div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> (row[col][k+1] - row[col][k]) <= 2*halfWidth)</div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> {</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> <span class="keywordflow">if</span> (k<n_lines) {</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> dummy_row[k] = -1 ;</div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> }</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> <span class="keywordflow">if</span> (k+1<n_lines) {</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> dummy_row[k+1] = -1 ;</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> }</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> }</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> }</div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> </div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> m = 0 ;</div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> <span class="keywordflow">for</span> ( k = 0 ; k < j ; k ++ )</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> {</div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> <span class="keywordflow">if</span> ( dummy_row[k] != -1 && dummy_row[k] != 0 )</div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> {</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> row_clean[col][m] = dummy_row[k] ;</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> wavelength_clean[col][m] = wavelength[col][k] ;</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> m ++ ;</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> }</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> }</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> </div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> n_found_lines[col] = m ;</div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> </div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> *sum_lines += n_found_lines[col] ;</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> }</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> cpl_free (column) ;</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> cpl_free (lines) ;</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> cpl_free (conv_lines) ;</div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> cpl_free (dummy_row) ;</div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> cpl_free (wave_buffer) ;</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> cpl_free (row_mem) ;</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> cpl_free (wave_mem) ;</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> cpl_free (tempcol) ;</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> cpl_free (row) ;</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> cpl_free (wavelength) ;</div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> </div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> }</div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> </div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> sinfo_new_read_list( <span class="keywordtype">char</span> * listname, </div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> <span class="keywordtype">float</span> * lineCenter, </div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> <span class="keywordtype">float</span> * lineIntensity )</div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> {</div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> FILE * fp ;</div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> <span class="keywordtype">int</span> i, n_lines ;</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> </div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> <span class="keywordflow">if</span> ( NULL == lineCenter )</div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> {</div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" lineCenter array is not allocated\n"</span>) ;</div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> }</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> </div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> <span class="keywordflow">if</span> ( NULL == lineIntensity )</div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> {</div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" lineIntensity array is not allocated\n"</span>) ;</div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> }</div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> </div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> <span class="keywordflow">if</span> ( NULL == (fp = fopen ( listname, <span class="stringliteral">"r"</span> ) ) )</div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> {</div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" cannot open %s\n"</span>, listname) ;</div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> }</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> </div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> i = 0 ;</div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> <span class="keywordflow">while</span> ( fscanf( fp, <span class="stringliteral">"%f %f"</span>, &lineCenter[i], &lineIntensity[i] ) != EOF )</div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> {</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> i ++ ;</div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> }</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> n_lines = i ;</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> fclose(fp) ;</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> </div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> <span class="keywordflow">return</span> n_lines ;</div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> }</div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> </div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> </div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> <span class="keywordtype">int</span> sinfo_new_line_fit ( cpl_image * mergedImage, </div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> FitParams * par,</div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> <span class="keywordtype">float</span> fwhm,</div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> <span class="keywordtype">int</span> lineInd,</div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> <span class="keywordtype">int</span> column, </div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> <span class="keywordtype">int</span> halfWidth, </div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> <span class="keywordtype">int</span> lineRow,</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> <span class="keywordtype">float</span> min_amplitude,</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> Vector * line,</div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> <span class="keywordtype">int</span> * mpar,</div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> <span class="keywordtype">float</span> * xdat,</div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> <span class="keywordtype">float</span> * wdat )</div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> {</div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> <span class="keywordtype">int</span> i, j ;</div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> <span class="keywordtype">int</span> iters, xdim, ndat ;</div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> <span class="keywordtype">int</span> numpar, its ;</div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> <span class="keywordtype">int</span> position ;</div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> <span class="keywordtype">float</span> maxval, tol, lab ;</div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> <span class="keywordtype">int</span> lx=0;</div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> <span class="keywordtype">int</span> ly=0;</div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> <span class="keywordtype">float</span>* pdata=NULL;</div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> </div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> <span class="keywordflow">if</span> ( mergedImage == NULL )</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> {</div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no image given as input\n"</span>) ;</div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> <span class="keywordflow">return</span> -8 ;</div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> }</div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> lx=cpl_image_get_size_x(mergedImage);</div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> ly=cpl_image_get_size_y(mergedImage);</div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> pdata=cpl_image_get_data_float(mergedImage);</div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> </div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> </div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> <span class="keywordflow">if</span> ( par == NULL )</div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> {</div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" fit parameters not given\n"</span>) ;</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> <span class="keywordflow">return</span> -9 ;</div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> }</div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> <span class="keywordflow">if</span> ( column < 0 || column > lx )</div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> {</div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" wrong column number\n"</span>) ;</div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> <span class="keywordflow">return</span> -10 ;</div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> }</div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> <span class="keywordflow">if</span> ( halfWidth < 0 || halfWidth > ly )</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> {</div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" wrong width given\n"</span>) ;</div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> <span class="keywordflow">return</span> -11 ;</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> }</div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> <span class="keywordflow">if</span> ( lineRow < 0 || lineRow > ly )</div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> {</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" wrong number of row of the line given\n"</span>) ;</div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> <span class="keywordflow">return</span> -12 ;</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> }</div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> <span class="keywordflow">if</span> ( min_amplitude < 1. )</div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> {</div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" wrong minimum amplitude\n"</span>) ;</div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> <span class="keywordflow">return</span> -13 ;</div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> }</div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> </div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> <span class="comment">/* initialise the Vector */</span></div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> <span class="keywordflow">for</span> ( i = 0 ; i < line -> n_elements ; i++) </div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> {</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> line->data[i] = 0;</div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> }</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> </div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> par -> column = column ;</div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> par -> line = lineInd ;</div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> </div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> <span class="comment">/* determine the values of the spectral sinfo_vector given as input */</span></div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> <span class="comment">/* go through the chosen column */</span></div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> </div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> j = 0 ;</div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> <span class="keywordflow">for</span> ( i = lineRow-halfWidth ; i <= lineRow+halfWidth ; i++ ) </div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> {</div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> <span class="keywordflow">if</span> ( i < 0 || i >= ly )</div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> {</div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" wrong line position or width given\n"</span>) ;</div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> <span class="keywordflow">return</span> -15 ;</div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> }</div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> {</div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> line -> data[j] = pdata[column + i*lx] ;</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> j ++ ;</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> }</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> } </div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> </div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> <span class="comment">/*-------------------------------------------------------------------- </span></div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> <span class="comment"> * go through the spectral sinfo_vector </span></div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> <span class="comment"> * determine the maximum pixel value in the spectral sinfo_vector </span></div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> position = -INT32_MAX ;</div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> <span class="keywordflow">for</span> ( i = 0 ; i < line -> n_elements ; i++ )</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> {</div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> xdat[i] = i ;</div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> wdat[i] = 1.0 ;</div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> <span class="keywordflow">if</span> ( line -> data[i] >= maxval )</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> {</div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> maxval = line -> data[i] ;</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> position = i ;</div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> }</div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> }</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> </div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> <span class="comment">/* set initial values for the fitting routine */</span></div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> xdim = XDIM ;</div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> ndat = line -> n_elements ;</div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> numpar = MAXPAR ;</div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> tol = TOL ;</div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> lab = LAB ;</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> its = ITS ;</div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> par -> fit_par[1] = fwhm ;</div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> par -> fit_par[2] = (float) position ;</div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> par -> fit_par[3] = (float) (line -> data[0] + </div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> line -> data[line->n_elements - 1]) / 2.0 ;</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> par -> fit_par[0] = maxval - (par -> fit_par[3]) ;</div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> </div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> <span class="comment">/* exclude low signal cases */</span></div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> <span class="keywordflow">if</span> ( par->fit_par[0] < min_amplitude )</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> {</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> cpl_msg_debug (<span class="stringliteral">"sinfo_linefit:"</span>,</div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> <span class="stringliteral">" sorry, amplitude of line too low to fit: %f"</span>,</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> par->fit_par[0] ) ;</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> <span class="keywordflow">return</span> -16 ;</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> }</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> </div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> <span class="keywordflow">for</span> ( i = 0 ; i < MAXPAR ; i++ )</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> {</div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> par -> derv_par[i] = 0.0 ;</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> mpar[i] = 1 ;</div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> }</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> </div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> <span class="comment">/* finally, do the least square fit using a sinfo_gaussian */</span></div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> <span class="keywordflow">if</span> ( 0 > ( iters = sinfo_new_lsqfit_c( xdat, &xdim, </div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> line -> data, wdat, </div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> &ndat, par -> fit_par, </div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> par -> derv_par, mpar, </div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> &numpar, &tol, &its, &lab )) ) </div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> {</div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> cpl_msg_debug (<span class="stringliteral">"sinfo_linefit:"</span>,</div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> <span class="stringliteral">" sinfo_new_lsqfit_c: least squares fit failed,"</span></div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> <span class="stringliteral">" error no.: %d\n"</span>, iters) ; </div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> <span class="keywordflow">return</span> -17 ;</div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> }</div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> </div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> <span class="comment">/* correct the fitted position for the given row of the </span></div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> <span class="comment"> line in image coordinates */</span></div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> par -> fit_par[2] = (float) (lineRow - halfWidth) + par -> fit_par[2] ;</div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> </div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> <span class="comment">/* all was o.k. */</span></div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> <span class="keywordflow">return</span> iters ;</div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> }</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> </div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> <span class="keywordtype">int</span> sinfo_new_fit_lines ( cpl_image * line_image, </div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> FitParams ** allParams,</div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> <span class="keywordtype">float</span> fwhm,</div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> <span class="keywordtype">int</span> * n_lines, </div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> <span class="keywordtype">int</span> ** row,</div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> <span class="keywordtype">float</span> ** wavelength, </div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> <span class="keywordtype">int</span> width,</div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> <span class="keywordtype">float</span> min_amplitude ) </div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> {</div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> <span class="keywordtype">int</span> i, k, l ;</div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> <span class="keywordtype">int</span> result ;</div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> Vector * line;</div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> <span class="keywordtype">int</span> * mpar;</div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> <span class="keywordtype">float</span> * xdat, * wdat;</div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> <span class="keywordtype">int</span> lx=0;</div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> <span class="keywordtype">int</span> ly=0;</div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> <span class="keywordtype">float</span>* pdata=NULL;</div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> </div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> <span class="keywordflow">if</span> ( line_image == NULL )</div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> {</div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no image given\n"</span>) ;</div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> <span class="keywordflow">return</span> -18 ;</div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> }</div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> lx=cpl_image_get_size_x(line_image);</div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> ly=cpl_image_get_size_y(line_image);</div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> pdata=cpl_image_get_data_float(line_image);</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> </div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> <span class="keywordflow">if</span> ( n_lines == NULL )</div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> {</div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no counter of emission lines\n"</span>) ;</div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> <span class="keywordflow">return</span> -19 ;</div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> } </div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> <span class="keywordflow">if</span> ( row == NULL || width <= 0 )</div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> {</div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" row or width vectors are empty\n"</span>) ;</div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> <span class="keywordflow">return</span> -20 ;</div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> }</div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> <span class="keywordflow">if</span> ( wavelength == NULL )</div>
-<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> {</div>
-<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no wavelength array given\n"</span>) ;</div>
-<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> <span class="keywordflow">return</span> -21 ;</div>
-<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> }</div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> </div>
-<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> k = 0 ;</div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> </div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> <span class="comment">/* allocate memory for the spectral sinfo_vector */</span></div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> line = sinfo_new_vector (2*width + 1) ;</div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> xdat = (<span class="keywordtype">float</span> *) cpl_calloc( line -> n_elements, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> wdat = (<span class="keywordtype">float</span> *) cpl_calloc( line -> n_elements, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> mpar = (<span class="keywordtype">int</span> *) cpl_calloc( MAXPAR, <span class="keyword">sizeof</span> (<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> </div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> <span class="comment">/* go through the columns */</span></div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> <span class="keywordflow">for</span> ( i = 0 ; i < lx ; i++ )</div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> {</div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> <span class="keywordflow">if</span> ( n_lines[i] == 0 )</div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> {</div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> continue ;</div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> }</div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> <span class="comment">/* go through the emission lines in a column */</span></div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> <span class="keywordflow">for</span> ( l = 0 ; l < n_lines[i] ; l++ )</div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> {</div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> <span class="keywordflow">if</span> ( row[i][l] <= 0 )</div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> {</div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> continue ;</div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> }</div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> </div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> <span class="comment">/* --------------------------------------------------------------</span></div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> <span class="comment"> * fit the single lines using sinfo_linefit and store the </span></div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> <span class="comment"> parameters in</span></div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> <span class="comment"> * an array of the FitParams data structure allParams[].</span></div>
-<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> <span class="comment"> */</span> </div>
-<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> <span class="keywordflow">if</span> ( (result = sinfo_new_line_fit ( line_image, </div>
-<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> allParams[k], fwhm, l, i, </div>
-<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> width, row[i][l], </div>
-<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> min_amplitude,line,mpar,</div>
-<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> xdat,wdat ) ) < 0 )</div>
-<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> {</div>
-<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> cpl_msg_debug (<span class="stringliteral">"sinfo_fitLines:"</span>,</div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> <span class="stringliteral">" sinfo_linefit failed, error no.: %d,"</span></div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> <span class="stringliteral">" column: %d, row: %d, line: %d\n"</span>, </div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> result, i, row[i][l], l) ;</div>
-<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> continue ;</div>
-<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> }</div>
-<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> <span class="keywordflow">if</span> ( (allParams[k] -> fit_par[0] <= 0.) || </div>
-<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> (allParams[k] -> fit_par[1] <= 0.)</div>
-<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> || (allParams[k] -> fit_par[2] <= 0.) )</div>
-<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span> {</div>
-<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">" negative fit parameters in column: %d,"</span></div>
-<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> <span class="stringliteral">" line: %d\n"</span>, i, l) ;</div>
-<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> continue ;</div>
-<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> }</div>
-<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> allParams[k] -> wavelength = wavelength[i][l] ;</div>
-<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> k++ ;</div>
-<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span> }</div>
-<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> }</div>
-<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span> </div>
-<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> <span class="comment">/* free memory */</span></div>
-<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> sinfo_new_destroy_vector(line);</div>
-<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> cpl_free(xdat);</div>
-<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> cpl_free(wdat);</div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> cpl_free(mpar);</div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> </div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> <span class="comment">/* all is o.k. */</span></div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> <span class="keywordflow">return</span> k ;</div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> } </div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> </div>
-<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span> <span class="keywordtype">float</span> sinfo_new_polyfit( FitParams ** par,</div>
-<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span> <span class="keywordtype">int</span> column,</div>
-<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> <span class="keywordtype">int</span> n_lines,</div>
-<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span> <span class="keywordtype">int</span> n_rows,</div>
-<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span> <span class="keywordtype">float</span> dispersion,</div>
-<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span> <span class="keywordtype">float</span> max_residual,</div>
-<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> <span class="keywordtype">float</span> * acoefs,</div>
-<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span> <span class="keywordtype">float</span> * dacoefs,</div>
-<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span> <span class="keywordtype">int</span> * n_reject,</div>
-<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> <span class="keywordtype">int</span> n_fitcoefs )</div>
-<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span> {</div>
-<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span> <span class="keywordtype">float</span> ** ucoefs, ** vcoefs, ** covar ;</div>
-<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span> <span class="keywordtype">float</span> *mem;</div>
-<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span> <span class="keywordtype">float</span> * lambda, * posit ;</div>
-<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span> <span class="keywordtype">float</span> * weight, * resid ;</div>
-<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span> <span class="keywordtype">float</span> * newlam, * newpos, * newwet ;</div>
-<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span> <span class="keywordtype">float</span> * wcoefs=NULL ;</div>
-<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span> <span class="keywordtype">float</span> chisq, result ;</div>
-<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> <span class="keywordtype">float</span> offset ;</div>
-<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span> <span class="keywordtype">int</span> num, found ;</div>
-<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span> <span class="keywordtype">int</span> i, j, k, n ;</div>
-<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span> </div>
-<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span> <span class="comment">/* reset the fit coefficients and their errors */</span></div>
-<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_fitcoefs ; i++ )</div>
-<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span> {</div>
-<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span> acoefs[i] = 0. ;</div>
-<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span> dacoefs[i] = 0. ;</div>
-<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span> }</div>
-<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span> <span class="keywordflow">if</span> ( NULL == par )</div>
-<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span> {</div>
-<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no fit params given\n"</span>);</div>
-<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span> <span class="keywordflow">return</span> FLT_MAX ;</div>
-<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span> }</div>
-<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span> </div>
-<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> <span class="keywordflow">if</span> ( 0 >= n_lines )</div>
-<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> {</div>
-<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> <span class="comment"> sinfo_msg_warning (" sorry, number of lines is wrong") ;</span></div>
-<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> <span class="keywordflow">return</span> FLT_MAX ;</div>
-<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> }</div>
-<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> <span class="keywordflow">if</span> ( 0 >= n_rows )</div>
-<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> {</div>
-<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" sorry, number of rows is wrong"</span>) ;</div>
-<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> <span class="keywordflow">return</span> FLT_MAX ;</div>
-<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> }</div>
-<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> <span class="keywordflow">if</span> ( dispersion == 0. )</div>
-<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> {</div>
-<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" sorry, wrong dispersion given"</span>) ;</div>
-<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> <span class="keywordflow">return</span> FLT_MAX ;</div>
-<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> }</div>
-<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> </div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> offset = (float)(n_rows - 1)/2. ;</div>
-<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> </div>
-<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> </div>
-<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> mem = (<span class="keywordtype">float</span>*) cpl_calloc( n_lines*7, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span> lambda = mem;</div>
-<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> posit = mem + n_lines;</div>
-<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> weight = mem + n_lines*2;</div>
-<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span> resid = mem + n_lines*3;</div>
-<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> newlam = mem + n_lines*4;</div>
-<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span> newpos = mem + n_lines*5;</div>
-<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span> newwet = mem + n_lines*6;</div>
-<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> </div>
-<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> <span class="comment">/*lambda = (float*) cpl_calloc( n_lines, sizeof (float) ) ;</span></div>
-<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span> <span class="comment"> posit = (float*) cpl_calloc( n_lines, sizeof (float) ) ;</span></div>
-<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span> <span class="comment"> weight = (float*) cpl_calloc( n_lines, sizeof (float) ) ;</span></div>
-<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span> <span class="comment"> resid = (float*) cpl_calloc( n_lines, sizeof (float) ) ;</span></div>
-<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span> <span class="comment"> newlam = (float*) cpl_calloc( n_lines, sizeof (float) ) ;</span></div>
-<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> <span class="comment"> newpos = (float*) cpl_calloc( n_lines, sizeof (float) ) ;</span></div>
-<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span> <span class="comment"> newwet = (float*) cpl_calloc( n_lines, sizeof (float) ) ;*/</span></div>
-<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span> </div>
-<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span> <span class="comment">/* allocate coefficient matrices*/</span></div>
-<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> ucoefs = sinfo_matrix ( 1, n_lines, 1, n_fitcoefs ) ;</div>
-<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span> vcoefs = sinfo_matrix ( 1, n_lines, 1, n_fitcoefs ) ;</div>
-<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span> covar = sinfo_matrix ( 1, n_fitcoefs, 1, n_fitcoefs ) ;</div>
-<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span> wcoefs=cpl_calloc(n_fitcoefs,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span> </div>
-<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> <span class="comment">/* go through all fit parameters */</span></div>
-<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> n = 0 ;</div>
-<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span> <span class="keywordflow">for</span> ( i = 0 ; i < (par[0] -> n_params) ; i ++ )</div>
-<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> {</div>
-<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span> found = -1 ;</div>
-<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> <span class="comment">/* find the given column and go through the lines in that column */</span></div>
-<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span> <span class="keywordflow">for</span> ( j = 0 ; j < n_lines ; j ++ )</div>
-<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span> {</div>
-<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> <span class="keywordflow">if</span> ( (par[i] -> column == column) && (par[i] -> line == j) )</div>
-<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span> {</div>
-<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> found = i ;</div>
-<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span> }</div>
-<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> {</div>
-<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> continue ;</div>
-<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span> }</div>
-<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span> </div>
-<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> <span class="comment">/* store only fit params with reasonable values */</span></div>
-<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span> <span class="keywordflow">if</span> ( par[found] -> derv_par[2] != 0. && </div>
-<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span> par[found] -> fit_par[2] > 0. &&</div>
-<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span> par[found] -> wavelength > 0. && </div>
-<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span> par[found] -> fit_par[1] > 0. &&</div>
-<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span> par[found] -> fit_par[0] > 0. )</div>
-<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span> {</div>
-<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span> <span class="comment">/* ----------------------------------------------------------</span></div>
-<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span> <span class="comment"> * store the found position, error of the position as </span></div>
-<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span> <span class="comment"> weight and the associated</span></div>
-<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span> <span class="comment"> * wavelength values of the fitted lines</span></div>
-<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span> posit[n] = par[found] -> fit_par[2] ;</div>
-<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span> weight[n] = par[found] -> derv_par[2] ;</div>
-<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> lambda[n] = par[found] -> wavelength ;</div>
-<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> n ++ ;</div>
-<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span> }</div>
-<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span> {</div>
-<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span> continue ;</div>
-<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span> }</div>
-<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span> }</div>
-<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span> </div>
-<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span> }</div>
-<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span> </div>
-<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span> num = n ;</div>
-<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span> <span class="keywordflow">if</span> ( num < n_fitcoefs )</div>
-<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span> {</div>
-<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"not enough lines found in column %d to "</span></div>
-<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span> <span class="stringliteral">"determine the three coefficients.\n"</span>, column) ;</div>
-<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_fitcoefs ; i++ )</div>
-<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span> {</div>
-<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span> acoefs[i] = ZERO ;</div>
-<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span> dacoefs[i] = ZERO ;</div>
-<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> }</div>
-<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span> sinfo_free_matrix ( ucoefs, 1<span class="comment">/*, n_lines*/</span>, 1<span class="comment">/*, n_fitcoefs*/</span> ) ;</div>
-<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span> sinfo_free_matrix ( vcoefs, 1<span class="comment">/*, n_lines*/</span>, 1<span class="comment">/*, n_fitcoefs*/</span> ) ;</div>
-<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> sinfo_free_matrix ( covar, 1<span class="comment">/*, n_fitcoefs*/</span>, 1<span class="comment">/*, n_fitcoefs*/</span> ) ;</div>
-<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span> <span class="comment">/*cpl_free (lambda) ;</span></div>
-<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> <span class="comment"> cpl_free (posit) ;</span></div>
-<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span> <span class="comment"> cpl_free (weight) ;</span></div>
-<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span> <span class="comment"> cpl_free (resid) ;</span></div>
-<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span> <span class="comment"> cpl_free (newlam) ;</span></div>
-<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span> <span class="comment"> cpl_free (newpos) ;</span></div>
-<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span> <span class="comment"> cpl_free (newwet) ;*/</span></div>
-<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span> cpl_free (mem);</div>
-<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span> <span class="keywordflow">return</span> FLT_MAX ;</div>
-<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span> }</div>
-<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span> </div>
-<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span> <span class="comment">/*-------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span> <span class="comment"> * scale the pixel position values to smaller than 1 and transform </span></div>
-<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span> <span class="comment"> the weights to wavelength units </span></div>
-<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span> </div>
-<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span> <span class="keywordflow">for</span> ( i = 0 ; i < num ; i ++ )</div>
-<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span> {</div>
-<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span> posit[i] = (posit[i] - offset)/offset ;</div>
-<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span> weight[i] *= fabs(dispersion) ;</div>
-<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span> }</div>
-<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span> </div>
-<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span> <span class="comment">/* do the fit using the singular value decomposition method */</span></div>
-<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span> sinfo_svd_fitting( posit - 1, lambda - 1, </div>
-<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span> weight - 1, num, acoefs-1, n_fitcoefs,</div>
-<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span> ucoefs, vcoefs, wcoefs-1, covar, &chisq, sinfo_fpol ) ;</div>
-<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span> </div>
-<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span> <span class="comment">/* scale the linear and the quadratic coefficient */</span></div>
-<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span> <span class="keywordflow">for</span> ( i = 1 ; i < n_fitcoefs ; i++ )</div>
-<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span> {</div>
-<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span> acoefs[i] /= pow(offset, i) ;</div>
-<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span> }</div>
-<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span> </div>
-<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span> <span class="comment">/* now that we have determined the fit coefficients, find the residuals */</span></div>
-<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span> *n_reject = 0 ;</div>
-<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span> </div>
-<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span> j = 0 ;</div>
-<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span> <span class="keywordflow">for</span> ( i = 0 ; i < num ; i++ )</div>
-<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span> {</div>
-<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span> result = 0. ;</div>
-<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span> <span class="keywordflow">for</span> ( k = 0 ; k < n_fitcoefs ; k++ )</div>
-<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span> {</div>
-<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span> result += acoefs[k] * pow(posit[i], k) ;</div>
-<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span> }</div>
-<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span> </div>
-<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span> resid[i] = lambda[i] - result ;</div>
-<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span> </div>
-<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span> <span class="keywordflow">if</span> ( fabs( resid[i] ) > max_residual)</div>
-<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span> {</div>
-<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span> (*n_reject) ++ ;</div>
-<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span> }</div>
-<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span> {</div>
-<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span> newlam[j] = lambda[i] ;</div>
-<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span> newpos[j] = posit[i] ;</div>
-<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span> newwet[j] = weight[i] ;</div>
-<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span> j++ ;</div>
-<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span> }</div>
-<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span> }</div>
-<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span> </div>
-<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span> num = j ;</div>
-<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span> <span class="keywordflow">if</span> ( num >= n_fitcoefs )</div>
-<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span> {</div>
-<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span> sinfo_svd_fitting( newpos - 1, newlam - 1, </div>
-<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span> newwet - 1, num, acoefs-1, n_fitcoefs, ucoefs,</div>
-<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span> vcoefs, wcoefs-1, covar, &chisq, sinfo_fpol ) ;</div>
-<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span> </div>
-<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span> <span class="comment">/* scale the resulting coefficients */</span></div>
-<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_fitcoefs ; i++ )</div>
-<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span> {</div>
-<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span> acoefs[i] /= pow(offset, i) ;</div>
-<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span> dacoefs[i] = sqrt( (<span class="keywordtype">double</span>) covar[i+1][i+1] ) / pow(offset, i) ;</div>
-<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span> }</div>
-<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span> }</div>
-<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span> {</div>
-<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">" too many lines rejected (number: %d) "</span></div>
-<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span> <span class="stringliteral">"due to high residuals, fit coefficients are set "</span></div>
-<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span> <span class="stringliteral">"zero, in column: %d\n"</span>, *n_reject, column) ;</div>
-<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_fitcoefs ; i++ )</div>
-<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span> {</div>
-<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span> acoefs[i] = ZERO ;</div>
-<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span> dacoefs[i] = ZERO ;</div>
-<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span> }</div>
-<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span> }</div>
-<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span> </div>
-<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span> sinfo_free_matrix ( ucoefs, 1<span class="comment">/*, n_lines*/</span>, 1<span class="comment">/*, n_fitcoefs*/</span> ) ;</div>
-<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span> sinfo_free_matrix ( vcoefs, 1<span class="comment">/*, n_lines*/</span>, 1<span class="comment">/*, n_fitcoefs*/</span> ) ;</div>
-<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span> sinfo_free_matrix ( covar, 1<span class="comment">/*, n_fitcoefs*/</span>, 1<span class="comment">/*, n_fitcoefs*/</span> ) ;</div>
-<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span> <span class="comment">/*cpl_free (lambda) ;</span></div>
-<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span> <span class="comment"> cpl_free (posit) ;</span></div>
-<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span> <span class="comment"> cpl_free (weight) ;</span></div>
-<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span> <span class="comment"> cpl_free (resid) ;</span></div>
-<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span> <span class="comment"> cpl_free (newlam) ;</span></div>
-<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span> <span class="comment"> cpl_free (newpos) ;</span></div>
-<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span> <span class="comment"> cpl_free (newwet) ;*/</span></div>
-<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span> cpl_free (mem);</div>
-<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span> cpl_free(wcoefs) ;</div>
-<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span> </div>
-<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span> <span class="keywordflow">return</span> chisq ;</div>
-<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span> }</div>
-<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span> </div>
-<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span> <span class="keywordtype">float</span> sinfo_new_coefs_cross_fit ( <span class="keywordtype">int</span> n_columns,</div>
-<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span> <span class="keywordtype">float</span> * acoefs,</div>
-<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span> <span class="keywordtype">float</span> * dacoefs,</div>
-<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span> <span class="keywordtype">float</span> * bcoefs,</div>
-<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span> <span class="keywordtype">int</span> n_fitcoefs,</div>
-<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span> <span class="keywordtype">float</span> sigma_factor )</div>
-<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span> {</div>
-<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span> <span class="keywordtype">float</span> col_index;</div>
-<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span> <span class="keywordtype">float</span>* sub_col_index=NULL ;</div>
-<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span> <span class="keywordtype">float</span>* sub_acoefs=NULL ;</div>
-<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span> <span class="keywordtype">float</span>* sub_dacoefs=NULL ;</div>
-<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span> <span class="keywordtype">float</span>* wcoefs=NULL ;</div>
-<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span> <span class="keywordtype">float</span> ** ucoefs, **vcoefs, **covar ;</div>
-<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span> <span class="keywordtype">float</span> chisq ;</div>
-<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span> <span class="keywordtype">float</span> * acoefsclean ;</div>
-<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span> <span class="keywordtype">double</span> sum, sumq, mean ;</div>
-<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span> <span class="keywordtype">double</span> sigma ;</div>
-<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span> <span class="keywordtype">double</span> cliphi, cliplo ;</div>
-<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span> <span class="keywordtype">float</span> offset ;</div>
-<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span> <span class="keywordtype">int</span> i, n, num, ndata ;</div>
-<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span> <span class="keywordtype">int</span> nc ;</div>
-<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span> </div>
-<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span> </div>
-<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span> <span class="keywordflow">if</span> ( n_columns < 1 )</div>
-<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span> {</div>
-<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong number of image columns given\n"</span>) ;</div>
-<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span> <span class="keywordflow">return</span> FLT_MAX ;</div>
-<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span> }</div>
-<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span> <span class="keywordflow">if</span> ( acoefs == NULL || dacoefs == NULL )</div>
-<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span> {</div>
-<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" coeffs or errors of coefficients are not given\n"</span>) ;</div>
-<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span> <span class="keywordflow">return</span> FLT_MAX ;</div>
-<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span> }</div>
-<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span> <span class="keywordflow">if</span> ( bcoefs == NULL )</div>
-<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span> {</div>
-<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" coeffs are not allocated\n"</span>) ;</div>
-<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span> <span class="keywordflow">return</span> FLT_MAX ;</div>
-<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span> }</div>
-<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span> </div>
-<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span> <span class="keywordflow">if</span> ( n_fitcoefs < 1 )</div>
-<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span> {</div>
-<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong number of fit coefficients\n"</span>) ;</div>
-<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span> <span class="keywordflow">return</span> FLT_MAX ;</div>
-<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span> }</div>
-<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span> <span class="keywordflow">if</span> ( sigma_factor <= 0. )</div>
-<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span> {</div>
-<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" impossible sigma_factor given!\n"</span>) ;</div>
-<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span> <span class="keywordflow">return</span> FLT_MAX ;</div>
-<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span> }</div>
-<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span> </div>
-<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span> offset = (float)(n_columns - 1) / 2. ;</div>
-<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span> </div>
-<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span> <span class="comment">/* ----------------------------------------------------------</span></div>
-<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span> <span class="comment"> * determine the clean mean and sigma value of the coefficients,</span></div>
-<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span> <span class="comment"> * that means reject 10 % of the extreme low and high values</span></div>
-<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span> </div>
-<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span> wcoefs=cpl_calloc(n_fitcoefs,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span> </div>
-<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span> nc = 0 ;</div>
-<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_columns ; i++ )</div>
-<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span> {</div>
-<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span> <span class="keywordflow">if</span> ( isnan(acoefs[i]) || acoefs[i] == 0. || dacoefs[i] == 0. )</div>
-<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span> {</div>
-<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span> continue ;</div>
-<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span> }</div>
-<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span> {</div>
-<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span> nc++ ;</div>
-<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span> }</div>
-<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span> }</div>
-<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span> acoefsclean = (<span class="keywordtype">float</span>*) cpl_calloc(nc , <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span> nc = 0 ;</div>
-<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_columns ; i++ )</div>
-<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span> {</div>
-<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span> <span class="keywordflow">if</span> ( isnan(acoefs[i]) || acoefs[i] == 0. || dacoefs[i] == 0. )</div>
-<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span> {</div>
-<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span> continue ;</div>
-<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span> }</div>
-<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span> {</div>
-<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span> acoefsclean[nc] = acoefs[i] ;</div>
-<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span> nc++ ;</div>
-<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span> }</div>
-<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span> }</div>
-<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span> sinfo_pixel_qsort(acoefsclean, nc) ;</div>
-<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span> sum = 0. ;</div>
-<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span> sumq = 0. ;</div>
-<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span> mean = 0. ;</div>
-<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span> sigma = 0. ;</div>
-<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span> n = 0 ;</div>
-<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span> <span class="keywordflow">for</span> ( i = (<span class="keywordtype">int</span>)((<span class="keywordtype">float</span>)nc*LOW_REJECT) ; </div>
-<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span> i < (int)((<span class="keywordtype">float</span>)nc*HIGH_REJECT) ; i++ )</div>
-<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span> {</div>
-<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span> sum += (double)acoefsclean[i] ;</div>
-<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span> sumq += ((double)acoefsclean[i] * (<span class="keywordtype">double</span>)acoefsclean[i]) ;</div>
-<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span> n ++ ;</div>
-<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span> }</div>
-<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span> mean = sum/(double)n ;</div>
-<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span> sigma = sqrt( sumq/(<span class="keywordtype">double</span>)n - (mean * mean) ) ;</div>
-<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span> cliphi = mean + sigma * (double)sigma_factor ;</div>
-<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span> cliplo = mean - sigma * (double)sigma_factor ;</div>
-<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span> </div>
-<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span> sub_col_index=cpl_calloc(n_columns,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span> sub_acoefs=cpl_calloc(n_columns,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>));</div>
-<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span> sub_dacoefs=cpl_calloc(n_columns,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span> </div>
-<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span> <span class="comment">/* fit only the reasonnable values */</span></div>
-<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span> num = 0 ;</div>
-<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_columns ; i++ )</div>
-<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span> {</div>
-<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span> <span class="comment">/* associate the column indices to the corresponding array */</span></div>
-<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span> col_index = (float) i ;</div>
-<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span> </div>
-<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span> <span class="comment">/* take only the reasonnable coefficients */</span></div>
-<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span> <span class="keywordflow">if</span> ( !isnan(acoefs[i]) && </div>
-<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span> (acoefs[i] <= cliphi) && (acoefs[i] >= cliplo) &&</div>
-<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span> (dacoefs[i] != 0. ) && (acoefs[i] != 0.) )</div>
-<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span> {</div>
-<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span> sub_acoefs[num] = acoefs[i] ;</div>
-<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span> sub_dacoefs[num] = dacoefs[i] ;</div>
-<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span> sub_col_index[num] = col_index ;</div>
-<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span> num ++ ;</div>
-<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span> }</div>
-<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span> }</div>
-<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span> ndata = num ;</div>
-<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span> </div>
-<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span> <span class="keywordflow">if</span> ( ndata < n_fitcoefs )</div>
-<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span> {</div>
-<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"not enough data found to determine "</span></div>
-<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span> <span class="stringliteral">"the fit coefficients.\n"</span>) ;</div>
-<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span> </div>
-<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span> <span class="keywordflow">return</span> FLT_MAX ;</div>
-<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span> }</div>
-<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span> </div>
-<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span> <span class="comment">/* allocate coefficient matrices */</span></div>
-<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span> ucoefs = sinfo_matrix(1, ndata, 1, n_fitcoefs) ;</div>
-<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span> vcoefs = sinfo_matrix(1, ndata, 1, n_fitcoefs) ;</div>
-<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span> covar = sinfo_matrix ( 1, n_fitcoefs, 1, n_fitcoefs ) ;</div>
-<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span> </div>
-<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span> <span class="comment">/* scale the x-values for the fit */</span></div>
-<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span> <span class="keywordflow">for</span> ( i = 0 ; i < ndata ; i++ )</div>
-<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span> {</div>
-<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span> sub_col_index[i] = (sub_col_index[i] - offset) / offset ;</div>
-<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span> }</div>
-<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span> </div>
-<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span> <span class="comment">/* finally, do the singular value decomposition fit */</span></div>
-<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span> sinfo_svd_fitting ( sub_col_index-1, sub_acoefs-1, </div>
-<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span> sub_dacoefs-1, ndata, bcoefs-1,</div>
-<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span> n_fitcoefs, ucoefs, vcoefs, </div>
-<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span> wcoefs-1, covar, &chisq, sinfo_fpol ) ;</div>
-<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span> </div>
-<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span> <span class="comment">/* scale the found coefficients */</span></div>
-<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_fitcoefs ; i ++ )</div>
-<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span> {</div>
-<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span> bcoefs[i] /= pow(offset, i) ;</div>
-<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span> }</div>
-<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span> </div>
-<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span> <span class="comment">/* free memory */</span></div>
-<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span> cpl_free (acoefsclean) ;</div>
-<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span> sinfo_free_matrix( ucoefs, 1<span class="comment">/*, ndata*/</span>, 1<span class="comment">/*, n_fitcoefs */</span>) ;</div>
-<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span> sinfo_free_matrix( vcoefs, 1<span class="comment">/*, ndata*/</span>, 1<span class="comment">/*, n_fitcoefs */</span>) ;</div>
-<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span> sinfo_free_matrix ( covar, 1<span class="comment">/*, n_fitcoefs*/</span>, 1<span class="comment">/*, n_fitcoefs*/</span> ) ;</div>
-<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span> </div>
-<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span> cpl_free(sub_col_index) ;</div>
-<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span> cpl_free(sub_acoefs) ;</div>
-<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span> cpl_free(sub_dacoefs) ;</div>
-<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span> cpl_free(wcoefs) ;</div>
-<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span> </div>
-<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span> <span class="keywordflow">return</span> chisq ;</div>
-<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span> }</div>
-<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span> </div>
-<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span> </div>
-<div class="line"><a name="l01662"></a><span class="lineno"> 1662</span> cpl_image * sinfo_new_wave_map( cpl_image * lineImage,</div>
-<div class="line"><a name="l01663"></a><span class="lineno"> 1663</span> <span class="keywordtype">float</span> ** bcoefs,</div>
-<div class="line"><a name="l01664"></a><span class="lineno"> 1664</span> <span class="keywordtype">int</span> n_a_fitcoefs,</div>
-<div class="line"><a name="l01665"></a><span class="lineno"> 1665</span> <span class="keywordtype">int</span> n_b_fitcoefs,</div>
-<div class="line"><a name="l01666"></a><span class="lineno"> 1666</span> <span class="keywordtype">float</span> * wavelength,</div>
-<div class="line"><a name="l01667"></a><span class="lineno"> 1667</span> <span class="keywordtype">float</span> * intensity,</div>
-<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span> <span class="keywordtype">int</span> n_lines,</div>
-<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span> <span class="keywordtype">int</span> magFactor)</div>
-<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span> {</div>
-<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span> cpl_image * retImage ;</div>
-<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span> <span class="keywordtype">float</span> cenpos, cenpix ;</div>
-<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span> <span class="keywordtype">float</span> centreval, centrepix, wavelag ;</div>
-<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span> <span class="keywordtype">float</span> pixvalue ;</div>
-<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span> <span class="keywordtype">float</span> a_initial ;</div>
-<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span> <span class="keywordtype">int</span> i, j, k, l<span class="comment">/*, m*/</span>, line, col, row, found, sign ;</div>
-<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span> <span class="keywordtype">int</span> var, maxlag, cmin, cmax, offset ;</div>
-<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span> <span class="keywordtype">double</span> * result ;</div>
-<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span> <span class="keywordtype">float</span> col_off ;</div>
-<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span> <span class="keywordtype">float</span> angst ;</div>
-<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span> <span class="keywordtype">double</span> xcorr_max ;</div>
-<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span> <span class="keywordtype">int</span> delta ;</div>
-<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span> </div>
-<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span> <span class="keywordtype">double</span>* z=NULL ;</div>
-<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span> <span class="keywordtype">double</span>* a=NULL ;</div>
-<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span> <span class="keywordtype">double</span>* wave=NULL ;</div>
-<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span> <span class="keywordtype">float</span>* emline=NULL ;</div>
-<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span> <span class="keywordtype">float</span>* spec=NULL ;</div>
-<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span> <span class="keywordtype">int</span> olx=0;</div>
-<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span> <span class="keywordtype">int</span> oly=0;</div>
-<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span> </div>
-<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span> </div>
-<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span> gsl_poly_complex_workspace * w ;</div>
-<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span> </div>
-<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span> <span class="keywordflow">if</span> ( NULL == lineImage )</div>
-<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span> {</div>
-<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no image given\n"</span>) ;</div>
-<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span> }</div>
-<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span> ilx=cpl_image_get_size_x(lineImage);</div>
-<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span> ily=cpl_image_get_size_y(lineImage);</div>
-<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span> pidata=cpl_image_get_data_float(lineImage);</div>
-<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span> </div>
-<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span> <span class="keywordflow">if</span> ( NULL == wavelength || n_lines <= 0 )</div>
-<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span> {</div>
-<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no wavelength list given\n"</span>) ;</div>
-<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span> }</div>
-<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span> </div>
-<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span> <span class="keywordflow">if</span> ( NULL == intensity )</div>
-<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span> {</div>
-<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no intensity list given\n"</span>) ;</div>
-<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span> }</div>
-<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span> </div>
-<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span> <span class="keywordflow">if</span> ( NULL == bcoefs )</div>
-<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span> {</div>
-<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no coefficients given\n"</span>) ;</div>
-<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span> }</div>
-<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span> </div>
-<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span> <span class="keywordflow">if</span> ( magFactor <= 1 )</div>
-<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span> {</div>
-<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong magnifying factor given\n"</span>) ;</div>
-<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span> }</div>
-<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span> </div>
-<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span> <span class="keywordflow">if</span> ( NULL == ( retImage = cpl_image_new( ilx, ily,CPL_TYPE_FLOAT ) ))</div>
-<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span> {</div>
-<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot allocate a new image\n"</span>);</div>
-<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span> }</div>
-<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span> olx=cpl_image_get_size_x(retImage);</div>
-<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span> oly=cpl_image_get_size_y(retImage);</div>
-<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span> podata=cpl_image_get_data_float(retImage);</div>
-<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span> </div>
-<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span> </div>
-<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span> var = (magFactor - 1)*(magFactor - 1) ;</div>
-<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span> offset = ily * (magFactor/4 + 1) ;</div>
-<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span> </div>
-<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span> <span class="comment">/* find out if Angstroem or microns are used */</span></div>
-<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span> <span class="keywordflow">if</span> ( wavelength[0] > 10000. )</div>
-<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span> {</div>
-<div class="line"><a name="l01749"></a><span class="lineno"> 1749</span> <span class="comment">/* Angstroem */</span></div>
-<div class="line"><a name="l01750"></a><span class="lineno"> 1750</span> angst = 10000. ;</div>
-<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span> }</div>
-<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( wavelength[0] > 1000. && wavelength[0] < 10000. )</div>
-<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span> {</div>
-<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span> <span class="comment">/* nanometers */</span></div>
-<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span> angst = 1000. ;</div>
-<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span> }</div>
-<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01758"></a><span class="lineno"> 1758</span> {</div>
-<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span> <span class="comment">/* microns */</span></div>
-<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span> angst = 1. ;</div>
-<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span> }</div>
-<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span> </div>
-<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span> z=cpl_calloc(2*(n_a_fitcoefs - 1),<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span> a=cpl_calloc(n_a_fitcoefs,<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>));</div>
-<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span> wave=cpl_calloc(n_lines,<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span> emline=cpl_calloc(2*magFactor*ily,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>));</div>
-<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span> spec=cpl_calloc(2*magFactor*ily,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span> </div>
-<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span> <span class="comment">/* go through the image columns */</span></div>
-<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span> {</div>
-<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span> <span class="comment">/* initialize the emline array for each column */</span></div>
-<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span> <span class="keywordflow">for</span> ( i = 0 ; i < 2*magFactor*ily ; i++ )</div>
-<div class="line"><a name="l01774"></a><span class="lineno"> 1774</span> {</div>
-<div class="line"><a name="l01775"></a><span class="lineno"> 1775</span> emline[i] = 0. ;</div>
-<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span> }</div>
-<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span> col_off = (float)col - (<span class="keywordtype">float</span>)(ilx-1)/2. ;</div>
-<div class="line"><a name="l01778"></a><span class="lineno"> 1778</span> </div>
-<div class="line"><a name="l01779"></a><span class="lineno"> 1779</span> <span class="comment">/* determine the coefficients by using the given bcoefs */</span></div>
-<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_a_fitcoefs ; i++ ) </div>
-<div class="line"><a name="l01781"></a><span class="lineno"> 1781</span> {</div>
-<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span> <span class="comment">/* initialize coefficients and solution */</span></div>
-<div class="line"><a name="l01783"></a><span class="lineno"> 1783</span> a[i] = 0. ;</div>
-<div class="line"><a name="l01784"></a><span class="lineno"> 1784</span> <span class="keywordflow">if</span> (i < n_a_fitcoefs-1)</div>
-<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span> {</div>
-<div class="line"><a name="l01786"></a><span class="lineno"> 1786</span> z[2*i] = 0. ;</div>
-<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span> z[2*i+1] = 0. ;</div>
-<div class="line"><a name="l01788"></a><span class="lineno"> 1788</span> }</div>
-<div class="line"><a name="l01789"></a><span class="lineno"> 1789</span> <span class="keywordflow">for</span> ( j = 0 ; j < n_b_fitcoefs ; j++ )</div>
-<div class="line"><a name="l01790"></a><span class="lineno"> 1790</span> {</div>
-<div class="line"><a name="l01791"></a><span class="lineno"> 1791</span> a[i] += bcoefs[i][j] * pow(col_off, j) ;</div>
-<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span> }</div>
-<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span> }</div>
-<div class="line"><a name="l01794"></a><span class="lineno"> 1794</span> a_initial = a[0] ;</div>
-<div class="line"><a name="l01795"></a><span class="lineno"> 1795</span> </div>
-<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span> <span class="comment">/* go through the lines and generate an artificial spectrum */</span></div>
-<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span> <span class="keywordflow">for</span> ( line = 0 ; line < n_lines ; line++ )</div>
-<div class="line"><a name="l01798"></a><span class="lineno"> 1798</span> {</div>
-<div class="line"><a name="l01799"></a><span class="lineno"> 1799</span> <span class="comment">/* go from Angstroem to micron */</span></div>
-<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span> wave[line] = wavelength[line]/angst ;</div>
-<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span> </div>
-<div class="line"><a name="l01802"></a><span class="lineno"> 1802</span> <span class="comment">/* ---------------------------------------------------------------</span></div>
-<div class="line"><a name="l01803"></a><span class="lineno"> 1803</span> <span class="comment"> * solve the polynomial for the exact offset of the line that means</span></div>
-<div class="line"><a name="l01804"></a><span class="lineno"> 1804</span> <span class="comment"> * find the root of the polynomial of order n_fitcoefs - 1</span></div>
-<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01806"></a><span class="lineno"> 1806</span> a[0] = a_initial - wave[line] ;</div>
-<div class="line"><a name="l01807"></a><span class="lineno"> 1807</span> </div>
-<div class="line"><a name="l01808"></a><span class="lineno"> 1808</span> <span class="keywordflow">if</span>(NULL==(w=sinfo_gsl_poly_complex_workspace_alloc(n_a_fitcoefs)))</div>
-<div class="line"><a name="l01809"></a><span class="lineno"> 1809</span> {</div>
-<div class="line"><a name="l01810"></a><span class="lineno"> 1810</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not allocate complex workspace!"</span>) ;</div>
-<div class="line"><a name="l01811"></a><span class="lineno"> 1811</span> cpl_image_delete(retImage) ;</div>
-<div class="line"><a name="l01812"></a><span class="lineno"> 1812</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01813"></a><span class="lineno"> 1813</span> }</div>
-<div class="line"><a name="l01814"></a><span class="lineno"> 1814</span> <span class="keywordflow">if</span> (-1 == sinfo_gsl_poly_complex_solve(a, n_a_fitcoefs, w, z))</div>
-<div class="line"><a name="l01815"></a><span class="lineno"> 1815</span> {</div>
-<div class="line"><a name="l01816"></a><span class="lineno"> 1816</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"sinfo_gsl_poly_complex_solve did not work!"</span>) ;</div>
-<div class="line"><a name="l01817"></a><span class="lineno"> 1817</span> cpl_image_delete(retImage) ;</div>
-<div class="line"><a name="l01818"></a><span class="lineno"> 1818</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01819"></a><span class="lineno"> 1819</span> }</div>
-<div class="line"><a name="l01820"></a><span class="lineno"> 1820</span> sinfo_gsl_poly_complex_workspace_free(w) ;</div>
-<div class="line"><a name="l01821"></a><span class="lineno"> 1821</span> </div>
-<div class="line"><a name="l01822"></a><span class="lineno"> 1822</span> </div>
-<div class="line"><a name="l01823"></a><span class="lineno"> 1823</span> j = 0 ;</div>
-<div class="line"><a name="l01824"></a><span class="lineno"> 1824</span> found = -1 ;</div>
-<div class="line"><a name="l01825"></a><span class="lineno"> 1825</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_a_fitcoefs - 1 ; i++ )</div>
-<div class="line"><a name="l01826"></a><span class="lineno"> 1826</span> {</div>
-<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span> <span class="comment">/* test for appropriate solution */</span></div>
-<div class="line"><a name="l01828"></a><span class="lineno"> 1828</span> <span class="keywordflow">if</span>( z[2*i] > (-1.)*(<span class="keywordtype">float</span>) ily/2. && </div>
-<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span> z[2*i] < (<span class="keywordtype">float</span>)ily/2. && z[2*i+1] == 0. )</div>
-<div class="line"><a name="l01830"></a><span class="lineno"> 1830</span> {</div>
-<div class="line"><a name="l01831"></a><span class="lineno"> 1831</span> found = 2*i ;</div>
-<div class="line"><a name="l01832"></a><span class="lineno"> 1832</span> j ++ ;</div>
-<div class="line"><a name="l01833"></a><span class="lineno"> 1833</span> }</div>
-<div class="line"><a name="l01834"></a><span class="lineno"> 1834</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01835"></a><span class="lineno"> 1835</span> {</div>
-<div class="line"><a name="l01836"></a><span class="lineno"> 1836</span> continue ;</div>
-<div class="line"><a name="l01837"></a><span class="lineno"> 1837</span> } </div>
-<div class="line"><a name="l01838"></a><span class="lineno"> 1838</span> }</div>
-<div class="line"><a name="l01839"></a><span class="lineno"> 1839</span> <span class="keywordflow">if</span> ( j == 0 )</div>
-<div class="line"><a name="l01840"></a><span class="lineno"> 1840</span> {</div>
-<div class="line"><a name="l01841"></a><span class="lineno"> 1841</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"no offset solution found "</span></div>
-<div class="line"><a name="l01842"></a><span class="lineno"> 1842</span> <span class="stringliteral">"for line %d in column %d\n"</span>, line, col) ;</div>
-<div class="line"><a name="l01843"></a><span class="lineno"> 1843</span> continue ;</div>
-<div class="line"><a name="l01844"></a><span class="lineno"> 1844</span> } </div>
-<div class="line"><a name="l01845"></a><span class="lineno"> 1845</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( j == 1 )</div>
-<div class="line"><a name="l01846"></a><span class="lineno"> 1846</span> {</div>
-<div class="line"><a name="l01847"></a><span class="lineno"> 1847</span> cenpos = z[found] + (float) ily /2. ;</div>
-<div class="line"><a name="l01848"></a><span class="lineno"> 1848</span> }</div>
-<div class="line"><a name="l01849"></a><span class="lineno"> 1849</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01850"></a><span class="lineno"> 1850</span> {</div>
-<div class="line"><a name="l01851"></a><span class="lineno"> 1851</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"two or more offset solutions found "</span></div>
-<div class="line"><a name="l01852"></a><span class="lineno"> 1852</span> <span class="stringliteral">"for line %d in column %d\n"</span>, line, col) ;</div>
-<div class="line"><a name="l01853"></a><span class="lineno"> 1853</span> continue ;</div>
-<div class="line"><a name="l01854"></a><span class="lineno"> 1854</span> }</div>
-<div class="line"><a name="l01855"></a><span class="lineno"> 1855</span> </div>
-<div class="line"><a name="l01856"></a><span class="lineno"> 1856</span> <span class="comment">/*---------------------------------------------------------------</span></div>
-<div class="line"><a name="l01857"></a><span class="lineno"> 1857</span> <span class="comment"> * magnify image by the given factor add an additional offset </span></div>
-<div class="line"><a name="l01858"></a><span class="lineno"> 1858</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01859"></a><span class="lineno"> 1859</span> cenpix = cenpos * (float) magFactor + (<span class="keywordtype">float</span>) offset ; </div>
-<div class="line"><a name="l01860"></a><span class="lineno"> 1860</span> </div>
-<div class="line"><a name="l01861"></a><span class="lineno"> 1861</span> <span class="comment">/* determine max and min pixel limits over </span></div>
-<div class="line"><a name="l01862"></a><span class="lineno"> 1862</span> <span class="comment"> which line should be convolved */</span></div>
-<div class="line"><a name="l01863"></a><span class="lineno"> 1863</span> cmin = (sinfo_new_nint(cenpix) - (var-1)) > 0 ? </div>
-<div class="line"><a name="l01864"></a><span class="lineno"> 1864</span> sinfo_new_nint(cenpix) - (var-1) : 0 ;</div>
-<div class="line"><a name="l01865"></a><span class="lineno"> 1865</span> cmax = (sinfo_new_nint(cenpix) + (var-1)) < 2*magFactor * ily ? </div>
-<div class="line"><a name="l01866"></a><span class="lineno"> 1866</span> sinfo_new_nint(cenpix) + (var-1) : 2*magFactor * ily ;</div>
-<div class="line"><a name="l01867"></a><span class="lineno"> 1867</span> </div>
-<div class="line"><a name="l01868"></a><span class="lineno"> 1868</span> <span class="comment">/* convolve neon lines with Gaussian function */</span></div>
-<div class="line"><a name="l01869"></a><span class="lineno"> 1869</span> for ( j = cmin ; j < cmax ; j++ )</div>
-<div class="line"><a name="l01870"></a><span class="lineno"> 1870</span> {</div>
-<div class="line"><a name="l01871"></a><span class="lineno"> 1871</span> emline[j] += intensity[line] * </div>
-<div class="line"><a name="l01872"></a><span class="lineno"> 1872</span> exp((<span class="keywordtype">double</span>)(-0.5*(j-cenpix)*(j-cenpix))/(<span class="keywordtype">double</span>)var) ;</div>
-<div class="line"><a name="l01873"></a><span class="lineno"> 1873</span> }</div>
-<div class="line"><a name="l01874"></a><span class="lineno"> 1874</span> }</div>
-<div class="line"><a name="l01875"></a><span class="lineno"> 1875</span> </div>
-<div class="line"><a name="l01876"></a><span class="lineno"> 1876</span> <span class="comment">/*--------------------------------------------------------------------- </span></div>
-<div class="line"><a name="l01877"></a><span class="lineno"> 1877</span> <span class="comment"> * for each column, map the image data points onto an magFactor times </span></div>
-<div class="line"><a name="l01878"></a><span class="lineno"> 1878</span> <span class="comment"> bigger element grid for FFT in the cross sinfo_new_correlation, </span></div>
-<div class="line"><a name="l01879"></a><span class="lineno"> 1879</span> <span class="comment"> first initialize the two helping arrays for each new column.</span></div>
-<div class="line"><a name="l01880"></a><span class="lineno"> 1880</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01881"></a><span class="lineno"> 1881</span> <span class="keywordflow">for</span> ( k = 0 ; k < 2*magFactor * ily ; k++ )</div>
-<div class="line"><a name="l01882"></a><span class="lineno"> 1882</span> {</div>
-<div class="line"><a name="l01883"></a><span class="lineno"> 1883</span> spec[k] = 0. ;</div>
-<div class="line"><a name="l01884"></a><span class="lineno"> 1884</span> }</div>
-<div class="line"><a name="l01885"></a><span class="lineno"> 1885</span> </div>
-<div class="line"><a name="l01886"></a><span class="lineno"> 1886</span> <span class="comment">/* now take the image data points of the column and put them </span></div>
-<div class="line"><a name="l01887"></a><span class="lineno"> 1887</span> <span class="comment"> into the spec array */</span></div>
-<div class="line"><a name="l01888"></a><span class="lineno"> 1888</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ ) <span class="comment">/* go through the column */</span></div>
-<div class="line"><a name="l01889"></a><span class="lineno"> 1889</span> {</div>
-<div class="line"><a name="l01890"></a><span class="lineno"> 1890</span> <span class="comment">/* insert 8 values for each image row (magnification) and </span></div>
-<div class="line"><a name="l01891"></a><span class="lineno"> 1891</span> <span class="comment"> add same offset as for emline array */</span></div>
-<div class="line"><a name="l01892"></a><span class="lineno"> 1892</span> <span class="keywordflow">for</span> ( l = 0 ; l < magFactor ; l++ ) </div>
-<div class="line"><a name="l01893"></a><span class="lineno"> 1893</span> {</div>
-<div class="line"><a name="l01894"></a><span class="lineno"> 1894</span> <span class="comment">/* set bad pixels or negative values to zero */</span></div>
-<div class="line"><a name="l01895"></a><span class="lineno"> 1895</span> <span class="keywordflow">if</span> (!isnan(pidata[col + row * ilx]) &&</div>
-<div class="line"><a name="l01896"></a><span class="lineno"> 1896</span> (pidata[col + row * ilx] > 0.))</div>
-<div class="line"><a name="l01897"></a><span class="lineno"> 1897</span> {</div>
-<div class="line"><a name="l01898"></a><span class="lineno"> 1898</span> spec[offset + l + (row * magFactor)] = </div>
-<div class="line"><a name="l01899"></a><span class="lineno"> 1899</span> pidata[col + row * ilx] ; </div>
-<div class="line"><a name="l01900"></a><span class="lineno"> 1900</span> }</div>
-<div class="line"><a name="l01901"></a><span class="lineno"> 1901</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01902"></a><span class="lineno"> 1902</span> {</div>
-<div class="line"><a name="l01903"></a><span class="lineno"> 1903</span> spec[offset + l + (row * magFactor)] = 0. ;</div>
-<div class="line"><a name="l01904"></a><span class="lineno"> 1904</span> }</div>
-<div class="line"><a name="l01905"></a><span class="lineno"> 1905</span> }</div>
-<div class="line"><a name="l01906"></a><span class="lineno"> 1906</span> }</div>
-<div class="line"><a name="l01907"></a><span class="lineno"> 1907</span> </div>
-<div class="line"><a name="l01908"></a><span class="lineno"> 1908</span> <span class="comment">/* now call the cross sinfo_new_correlation routine */</span></div>
-<div class="line"><a name="l01909"></a><span class="lineno"> 1909</span> <span class="keywordflow">if</span> (NULL == (result = sinfo_new_xcorrel(spec, 2*magFactor * ily, </div>
-<div class="line"><a name="l01910"></a><span class="lineno"> 1910</span> emline, 2*magFactor * ily, </div>
-<div class="line"><a name="l01911"></a><span class="lineno"> 1911</span> magFactor * ily, &delta, </div>
-<div class="line"><a name="l01912"></a><span class="lineno"> 1912</span> &maxlag, &xcorr_max)) ) </div>
-<div class="line"><a name="l01913"></a><span class="lineno"> 1913</span> {</div>
-<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">"cross sinfo_new_correlation did not work,"</span></div>
-<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span> <span class="stringliteral">" col: %d is set ZERO\n"</span>, col) ;</div>
-<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span> {</div>
-<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span> podata[col + row * ilx] = ZERO ;</div>
-<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span> }</div>
-<div class="line"><a name="l01920"></a><span class="lineno"> 1920</span> continue ;</div>
-<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span> }</div>
-<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span> </div>
-<div class="line"><a name="l01923"></a><span class="lineno"> 1923</span> <span class="keywordflow">if</span> ( xcorr_max <= 0. )</div>
-<div class="line"><a name="l01924"></a><span class="lineno"> 1924</span> {</div>
-<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">"cross sinfo_new_correlation sum is negative,"</span></div>
-<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span> <span class="stringliteral">" col: %d is set ZERO\n"</span>, col) ;</div>
-<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span> {</div>
-<div class="line"><a name="l01929"></a><span class="lineno"> 1929</span> podata[col + row * ilx] = ZERO ;</div>
-<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span> }</div>
-<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span> cpl_free(result) ;</div>
-<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span> continue ;</div>
-<div class="line"><a name="l01933"></a><span class="lineno"> 1933</span> }</div>
-<div class="line"><a name="l01934"></a><span class="lineno"> 1934</span> </div>
-<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span> wavelag = (float) -delta / (<span class="keywordtype">float</span>) magFactor ;</div>
-<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span> <span class="keywordflow">if</span> ( fabs(wavelag) > (float)ily/20. )</div>
-<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span> {</div>
-<div class="line"><a name="l01938"></a><span class="lineno"> 1938</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"wave lag too big, col: %d is set ZERO\n"</span>, col) ;</div>
-<div class="line"><a name="l01939"></a><span class="lineno"> 1939</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span> {</div>
-<div class="line"><a name="l01941"></a><span class="lineno"> 1941</span> podata[col + row * ilx] = ZERO ;</div>
-<div class="line"><a name="l01942"></a><span class="lineno"> 1942</span> }</div>
-<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span> cpl_free(result) ;</div>
-<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span> continue ;</div>
-<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span> }</div>
-<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span> </div>
-<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span> <span class="comment">/*-------------------------------------------------------------------- </span></div>
-<div class="line"><a name="l01948"></a><span class="lineno"> 1948</span> <span class="comment"> * determine new zero order coefficient centreval, of which the </span></div>
-<div class="line"><a name="l01949"></a><span class="lineno"> 1949</span> <span class="comment"> formula is determined by setting equal a polynomial shifted by </span></div>
-<div class="line"><a name="l01950"></a><span class="lineno"> 1950</span> <span class="comment"> wavelag with the same higher order coefficients and set the new </span></div>
-<div class="line"><a name="l01951"></a><span class="lineno"> 1951</span> <span class="comment"> zero order coefficient to get both sides of the equation </span></div>
-<div class="line"><a name="l01952"></a><span class="lineno"> 1952</span> <span class="comment"> approximately equal.</span></div>
-<div class="line"><a name="l01953"></a><span class="lineno"> 1953</span> <span class="comment"> */</span> </div>
-<div class="line"><a name="l01954"></a><span class="lineno"> 1954</span> centreval = a_initial ;</div>
-<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span> <span class="keywordflow">for</span> ( i = 1 ; i < n_a_fitcoefs ; i++ )</div>
-<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span> {</div>
-<div class="line"><a name="l01957"></a><span class="lineno"> 1957</span> <span class="keywordflow">if</span> ( i%2 == 0 )</div>
-<div class="line"><a name="l01958"></a><span class="lineno"> 1958</span> {</div>
-<div class="line"><a name="l01959"></a><span class="lineno"> 1959</span> sign = -1 ;</div>
-<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span> }</div>
-<div class="line"><a name="l01961"></a><span class="lineno"> 1961</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01962"></a><span class="lineno"> 1962</span> {</div>
-<div class="line"><a name="l01963"></a><span class="lineno"> 1963</span> sign = 1 ;</div>
-<div class="line"><a name="l01964"></a><span class="lineno"> 1964</span> }</div>
-<div class="line"><a name="l01965"></a><span class="lineno"> 1965</span> centreval += (float)sign * a[i]*pow(wavelag, i) ;</div>
-<div class="line"><a name="l01966"></a><span class="lineno"> 1966</span> }</div>
-<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span> </div>
-<div class="line"><a name="l01968"></a><span class="lineno"> 1968</span> <span class="comment">/* prepare to write out wavelength as pixel values */</span></div>
-<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span> {</div>
-<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span> centrepix = (float)row - ((<span class="keywordtype">float</span>)ily - 1.)/2. ;</div>
-<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span> pixvalue = 0. ;</div>
-<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span> <span class="keywordflow">for</span> ( i = 1 ; i < n_a_fitcoefs ; i++ )</div>
-<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span> {</div>
-<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span> pixvalue += a[i]*pow(centrepix, i) ; </div>
-<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span> }</div>
-<div class="line"><a name="l01977"></a><span class="lineno"> 1977</span> podata[col + row * ilx] = centreval + pixvalue ; </div>
-<div class="line"><a name="l01978"></a><span class="lineno"> 1978</span> }</div>
-<div class="line"><a name="l01979"></a><span class="lineno"> 1979</span> cpl_free(result) ; </div>
-<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span> }</div>
-<div class="line"><a name="l01981"></a><span class="lineno"> 1981</span> </div>
-<div class="line"><a name="l01982"></a><span class="lineno"> 1982</span> </div>
-<div class="line"><a name="l01983"></a><span class="lineno"> 1983</span> </div>
-<div class="line"><a name="l01984"></a><span class="lineno"> 1984</span> cpl_free(z) ;</div>
-<div class="line"><a name="l01985"></a><span class="lineno"> 1985</span> cpl_free(a) ;</div>
-<div class="line"><a name="l01986"></a><span class="lineno"> 1986</span> cpl_free(wave) ;</div>
-<div class="line"><a name="l01987"></a><span class="lineno"> 1987</span> cpl_free(emline) ;</div>
-<div class="line"><a name="l01988"></a><span class="lineno"> 1988</span> cpl_free(spec) ;</div>
-<div class="line"><a name="l01989"></a><span class="lineno"> 1989</span> </div>
-<div class="line"><a name="l01990"></a><span class="lineno"> 1990</span> <span class="keywordflow">return</span> retImage ;</div>
-<div class="line"><a name="l01991"></a><span class="lineno"> 1991</span> } </div>
-<div class="line"><a name="l01992"></a><span class="lineno"> 1992</span> </div>
-<div class="line"><a name="l02037"></a><span class="lineno"> 2037</span> <span class="keywordtype">int</span> sinfo_new_wavelength_calibration( cpl_image * image,</div>
-<div class="line"><a name="l02038"></a><span class="lineno"> 2038</span> FitParams ** par ,</div>
-<div class="line"><a name="l02039"></a><span class="lineno"> 2039</span> <span class="keywordtype">float</span> ** bcoefs,</div>
-<div class="line"><a name="l02040"></a><span class="lineno"> 2040</span> <span class="keywordtype">float</span> * wave,</div>
-<div class="line"><a name="l02041"></a><span class="lineno"> 2041</span> <span class="keywordtype">int</span> n_lines,</div>
-<div class="line"><a name="l02042"></a><span class="lineno"> 2042</span> <span class="keywordtype">int</span> ** row_clean,</div>
-<div class="line"><a name="l02043"></a><span class="lineno"> 2043</span> <span class="keywordtype">float</span> ** wavelength_clean,</div>
-<div class="line"><a name="l02044"></a><span class="lineno"> 2044</span> <span class="keywordtype">int</span> * n_found_lines,</div>
-<div class="line"><a name="l02045"></a><span class="lineno"> 2045</span> <span class="keywordtype">float</span> dispersion,</div>
-<div class="line"><a name="l02046"></a><span class="lineno"> 2046</span> <span class="keywordtype">int</span> halfWidth,</div>
-<div class="line"><a name="l02047"></a><span class="lineno"> 2047</span> <span class="keywordtype">float</span> minAmplitude,</div>
-<div class="line"><a name="l02048"></a><span class="lineno"> 2048</span> <span class="keywordtype">float</span> max_residual,</div>
-<div class="line"><a name="l02049"></a><span class="lineno"> 2049</span> <span class="keywordtype">float</span> fwhm,</div>
-<div class="line"><a name="l02050"></a><span class="lineno"> 2050</span> <span class="keywordtype">int</span> n_a_fitcoefs,</div>
-<div class="line"><a name="l02051"></a><span class="lineno"> 2051</span> <span class="keywordtype">int</span> n_b_fitcoefs,</div>
-<div class="line"><a name="l02052"></a><span class="lineno"> 2052</span> <span class="keywordtype">float</span> sigmaFactor,</div>
-<div class="line"><a name="l02053"></a><span class="lineno"> 2053</span> <span class="keywordtype">float</span> pixel_tolerance )</div>
-<div class="line"><a name="l02054"></a><span class="lineno"> 2054</span> </div>
-<div class="line"><a name="l02055"></a><span class="lineno"> 2055</span> {</div>
-<div class="line"><a name="l02056"></a><span class="lineno"> 2056</span> <span class="keywordtype">int</span> i, j, k ;</div>
-<div class="line"><a name="l02057"></a><span class="lineno"> 2057</span> <span class="keywordtype">int</span> n_fit ;</div>
-<div class="line"><a name="l02058"></a><span class="lineno"> 2058</span> <span class="keywordtype">int</span> n_reject ;</div>
-<div class="line"><a name="l02059"></a><span class="lineno"> 2059</span> <span class="keywordtype">float</span> * acoefs ;</div>
-<div class="line"><a name="l02060"></a><span class="lineno"> 2060</span> <span class="keywordtype">float</span> * dacoefs ;</div>
-<div class="line"><a name="l02061"></a><span class="lineno"> 2061</span> <span class="keywordtype">float</span> ** abuf ;</div>
-<div class="line"><a name="l02062"></a><span class="lineno"> 2062</span> <span class="keywordtype">float</span> ** dabuf ;</div>
-<div class="line"><a name="l02063"></a><span class="lineno"> 2063</span> <span class="keywordtype">float</span> chisq_poly, chisq_cross ;</div>
-<div class="line"><a name="l02064"></a><span class="lineno"> 2064</span> <span class="keywordtype">int</span> zeroind ;</div>
-<div class="line"><a name="l02065"></a><span class="lineno"> 2065</span> <span class="comment">/*float * mem ;*/</span></div>
-<div class="line"><a name="l02066"></a><span class="lineno"> 2066</span> <span class="keywordtype">int</span> lx=0;</div>
-<div class="line"><a name="l02067"></a><span class="lineno"> 2067</span> <span class="keywordtype">int</span> ly=0;</div>
-<div class="line"><a name="l02068"></a><span class="lineno"> 2068</span> <span class="keywordtype">float</span>* pdata=NULL;</div>
-<div class="line"><a name="l02069"></a><span class="lineno"> 2069</span> </div>
-<div class="line"><a name="l02070"></a><span class="lineno"> 2070</span> <span class="keywordflow">if</span> ( NULL == image )</div>
-<div class="line"><a name="l02071"></a><span class="lineno"> 2071</span> {</div>
-<div class="line"><a name="l02072"></a><span class="lineno"> 2072</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no image given\n"</span>) ;</div>
-<div class="line"><a name="l02073"></a><span class="lineno"> 2073</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02074"></a><span class="lineno"> 2074</span> }</div>
-<div class="line"><a name="l02075"></a><span class="lineno"> 2075</span> lx=cpl_image_get_size_x(image);</div>
-<div class="line"><a name="l02076"></a><span class="lineno"> 2076</span> ly=cpl_image_get_size_y(image);</div>
-<div class="line"><a name="l02077"></a><span class="lineno"> 2077</span> pdata=cpl_image_get_data_float(image);</div>
-<div class="line"><a name="l02078"></a><span class="lineno"> 2078</span> </div>
-<div class="line"><a name="l02079"></a><span class="lineno"> 2079</span> <span class="keywordflow">if</span> ( par == NULL )</div>
-<div class="line"><a name="l02080"></a><span class="lineno"> 2080</span> {</div>
-<div class="line"><a name="l02081"></a><span class="lineno"> 2081</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no fit parameter data structure given\n"</span>) ;</div>
-<div class="line"><a name="l02082"></a><span class="lineno"> 2082</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02083"></a><span class="lineno"> 2083</span> }</div>
-<div class="line"><a name="l02084"></a><span class="lineno"> 2084</span> <span class="keywordflow">if</span> ( wave == NULL )</div>
-<div class="line"><a name="l02085"></a><span class="lineno"> 2085</span> {</div>
-<div class="line"><a name="l02086"></a><span class="lineno"> 2086</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no wavelength list given\n"</span>) ;</div>
-<div class="line"><a name="l02087"></a><span class="lineno"> 2087</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02088"></a><span class="lineno"> 2088</span> }</div>
-<div class="line"><a name="l02089"></a><span class="lineno"> 2089</span> <span class="keywordflow">if</span> ( n_lines <= 0 )</div>
-<div class="line"><a name="l02090"></a><span class="lineno"> 2090</span> {</div>
-<div class="line"><a name="l02091"></a><span class="lineno"> 2091</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"impossible number of lines in line list given\n"</span>) ;</div>
-<div class="line"><a name="l02092"></a><span class="lineno"> 2092</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02093"></a><span class="lineno"> 2093</span> }</div>
-<div class="line"><a name="l02094"></a><span class="lineno"> 2094</span> <span class="keywordflow">if</span> ( row_clean == NULL )</div>
-<div class="line"><a name="l02095"></a><span class="lineno"> 2095</span> {</div>
-<div class="line"><a name="l02096"></a><span class="lineno"> 2096</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no row_clean array given\n"</span>) ;</div>
-<div class="line"><a name="l02097"></a><span class="lineno"> 2097</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02098"></a><span class="lineno"> 2098</span> }</div>
-<div class="line"><a name="l02099"></a><span class="lineno"> 2099</span> <span class="keywordflow">if</span> ( wavelength_clean == NULL )</div>
-<div class="line"><a name="l02100"></a><span class="lineno"> 2100</span> {</div>
-<div class="line"><a name="l02101"></a><span class="lineno"> 2101</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no wavelength_clean array given\n"</span>) ;</div>
-<div class="line"><a name="l02102"></a><span class="lineno"> 2102</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02103"></a><span class="lineno"> 2103</span> }</div>
-<div class="line"><a name="l02104"></a><span class="lineno"> 2104</span> </div>
-<div class="line"><a name="l02105"></a><span class="lineno"> 2105</span> <span class="keywordflow">if</span> ( dispersion == 0. )</div>
-<div class="line"><a name="l02106"></a><span class="lineno"> 2106</span> {</div>
-<div class="line"><a name="l02107"></a><span class="lineno"> 2107</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"impossible dispersion given\n"</span>) ;</div>
-<div class="line"><a name="l02108"></a><span class="lineno"> 2108</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02109"></a><span class="lineno"> 2109</span> }</div>
-<div class="line"><a name="l02110"></a><span class="lineno"> 2110</span> </div>
-<div class="line"><a name="l02111"></a><span class="lineno"> 2111</span> <span class="keywordflow">if</span> ( halfWidth <= 0 || halfWidth > ly/2 )</div>
-<div class="line"><a name="l02112"></a><span class="lineno"> 2112</span> {</div>
-<div class="line"><a name="l02113"></a><span class="lineno"> 2113</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"impossible half width of the fitting box given\n"</span>) ;</div>
-<div class="line"><a name="l02114"></a><span class="lineno"> 2114</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02115"></a><span class="lineno"> 2115</span> }</div>
-<div class="line"><a name="l02116"></a><span class="lineno"> 2116</span> <span class="keywordflow">if</span> ( minAmplitude < 1. )</div>
-<div class="line"><a name="l02117"></a><span class="lineno"> 2117</span> {</div>
-<div class="line"><a name="l02118"></a><span class="lineno"> 2118</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"impossible minimal amplitude\n"</span>) ;</div>
-<div class="line"><a name="l02119"></a><span class="lineno"> 2119</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02120"></a><span class="lineno"> 2120</span> }</div>
-<div class="line"><a name="l02121"></a><span class="lineno"> 2121</span> </div>
-<div class="line"><a name="l02122"></a><span class="lineno"> 2122</span> <span class="keywordflow">if</span> ( max_residual <= 0. || max_residual > 1. )</div>
-<div class="line"><a name="l02123"></a><span class="lineno"> 2123</span> {</div>
-<div class="line"><a name="l02124"></a><span class="lineno"> 2124</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"impossible max_residual given\n"</span>) ;</div>
-<div class="line"><a name="l02125"></a><span class="lineno"> 2125</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02126"></a><span class="lineno"> 2126</span> }</div>
-<div class="line"><a name="l02127"></a><span class="lineno"> 2127</span> </div>
-<div class="line"><a name="l02128"></a><span class="lineno"> 2128</span> <span class="keywordflow">if</span> ( fwhm <= 0. || fwhm > 10. )</div>
-<div class="line"><a name="l02129"></a><span class="lineno"> 2129</span> {</div>
-<div class="line"><a name="l02130"></a><span class="lineno"> 2130</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"impossible fwhm given\n"</span>) ;</div>
-<div class="line"><a name="l02131"></a><span class="lineno"> 2131</span> </div>
-<div class="line"><a name="l02132"></a><span class="lineno"> 2132</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02133"></a><span class="lineno"> 2133</span> }</div>
-<div class="line"><a name="l02134"></a><span class="lineno"> 2134</span> </div>
-<div class="line"><a name="l02135"></a><span class="lineno"> 2135</span> <span class="keywordflow">if</span> ( n_a_fitcoefs <= 0 || n_a_fitcoefs > 9 )</div>
-<div class="line"><a name="l02136"></a><span class="lineno"> 2136</span> {</div>
-<div class="line"><a name="l02137"></a><span class="lineno"> 2137</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"unrealistic n_a_fitcoefs given\n"</span>) ;</div>
-<div class="line"><a name="l02138"></a><span class="lineno"> 2138</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02139"></a><span class="lineno"> 2139</span> }</div>
-<div class="line"><a name="l02140"></a><span class="lineno"> 2140</span> </div>
-<div class="line"><a name="l02141"></a><span class="lineno"> 2141</span> <span class="keywordflow">if</span> ( n_b_fitcoefs <= 0 || n_b_fitcoefs > 9 )</div>
-<div class="line"><a name="l02142"></a><span class="lineno"> 2142</span> {</div>
-<div class="line"><a name="l02143"></a><span class="lineno"> 2143</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" unrealistic n_b_fitcoefs given\n"</span>) ;</div>
-<div class="line"><a name="l02144"></a><span class="lineno"> 2144</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02145"></a><span class="lineno"> 2145</span> }</div>
-<div class="line"><a name="l02146"></a><span class="lineno"> 2146</span> <span class="keywordflow">if</span> ( sigmaFactor <= 0. )</div>
-<div class="line"><a name="l02147"></a><span class="lineno"> 2147</span> {</div>
-<div class="line"><a name="l02148"></a><span class="lineno"> 2148</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" impossible sigmaFactor given\n"</span>) ;</div>
-<div class="line"><a name="l02149"></a><span class="lineno"> 2149</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02150"></a><span class="lineno"> 2150</span> }</div>
-<div class="line"><a name="l02151"></a><span class="lineno"> 2151</span> </div>
-<div class="line"><a name="l02152"></a><span class="lineno"> 2152</span> <span class="comment">/* initialize the variables */</span></div>
-<div class="line"><a name="l02153"></a><span class="lineno"> 2153</span> n_reject = 0 ;</div>
-<div class="line"><a name="l02154"></a><span class="lineno"> 2154</span> n_fit = 0 ;</div>
-<div class="line"><a name="l02155"></a><span class="lineno"> 2155</span> </div>
-<div class="line"><a name="l02156"></a><span class="lineno"> 2156</span> <span class="comment">/* fit each found line by using a Gaussian function and determine the </span></div>
-<div class="line"><a name="l02157"></a><span class="lineno"> 2157</span> <span class="comment"> exact position */</span></div>
-<div class="line"><a name="l02158"></a><span class="lineno"> 2158</span> <span class="keywordflow">if</span> ( 0 > (n_fit = sinfo_new_fit_lines( image , par, fwhm, </div>
-<div class="line"><a name="l02159"></a><span class="lineno"> 2159</span> n_found_lines, row_clean, </div>
-<div class="line"><a name="l02160"></a><span class="lineno"> 2160</span> wavelength_clean,</div>
-<div class="line"><a name="l02161"></a><span class="lineno"> 2161</span> halfWidth, minAmplitude )) )</div>
-<div class="line"><a name="l02162"></a><span class="lineno"> 2162</span> {</div>
-<div class="line"><a name="l02163"></a><span class="lineno"> 2163</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" cannot fit the lines, "</span></div>
-<div class="line"><a name="l02164"></a><span class="lineno"> 2164</span> <span class="stringliteral">"error code of sinfo_fitLines: %d\n"</span>, n_fit) ;</div>
-<div class="line"><a name="l02165"></a><span class="lineno"> 2165</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02166"></a><span class="lineno"> 2166</span> }</div>
-<div class="line"><a name="l02167"></a><span class="lineno"> 2167</span> </div>
-<div class="line"><a name="l02168"></a><span class="lineno"> 2168</span> <span class="comment">/* first check for faked lines like bad pixels */</span></div>
-<div class="line"><a name="l02169"></a><span class="lineno"> 2169</span> <span class="keywordflow">if</span> ( -1 == sinfo_new_check_for_fake_lines (par, dispersion, </div>
-<div class="line"><a name="l02170"></a><span class="lineno"> 2170</span> wavelength_clean, row_clean, </div>
-<div class="line"><a name="l02171"></a><span class="lineno"> 2171</span> n_found_lines,</div>
-<div class="line"><a name="l02172"></a><span class="lineno"> 2172</span> lx, pixel_tolerance) )</div>
-<div class="line"><a name="l02173"></a><span class="lineno"> 2173</span> {</div>
-<div class="line"><a name="l02174"></a><span class="lineno"> 2174</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot fit the lines, "</span></div>
-<div class="line"><a name="l02175"></a><span class="lineno"> 2175</span> <span class="stringliteral">"error code of sinfo_fitLines: %d"</span>, n_fit) ;</div>
-<div class="line"><a name="l02176"></a><span class="lineno"> 2176</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02177"></a><span class="lineno"> 2177</span> }</div>
-<div class="line"><a name="l02178"></a><span class="lineno"> 2178</span> </div>
-<div class="line"><a name="l02179"></a><span class="lineno"> 2179</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l02180"></a><span class="lineno"> 2180</span> <span class="keywordflow">if</span> (NULL == (acoefs = (<span class="keywordtype">float</span>*) cpl_calloc (n_a_fitcoefs, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>*))) ||</div>
-<div class="line"><a name="l02181"></a><span class="lineno"> 2181</span> NULL == (dacoefs = (<span class="keywordtype">float</span>*)cpl_calloc (n_a_fitcoefs, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>*))) ||</div>
-<div class="line"><a name="l02182"></a><span class="lineno"> 2182</span> NULL == (abuf = (<span class="keywordtype">float</span>**) cpl_calloc (n_a_fitcoefs, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>*))) ||</div>
-<div class="line"><a name="l02183"></a><span class="lineno"> 2183</span> NULL == (dabuf = (<span class="keywordtype">float</span>**) cpl_calloc (n_a_fitcoefs, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>*))) )</div>
-<div class="line"><a name="l02184"></a><span class="lineno"> 2184</span> {</div>
-<div class="line"><a name="l02185"></a><span class="lineno"> 2185</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" cannot allocate memory\n"</span>) ;</div>
-<div class="line"><a name="l02186"></a><span class="lineno"> 2186</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02187"></a><span class="lineno"> 2187</span> }</div>
-<div class="line"><a name="l02188"></a><span class="lineno"> 2188</span> </div>
-<div class="line"><a name="l02189"></a><span class="lineno"> 2189</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_a_fitcoefs ; i++ )</div>
-<div class="line"><a name="l02190"></a><span class="lineno"> 2190</span> {</div>
-<div class="line"><a name="l02191"></a><span class="lineno"> 2191</span> <span class="keywordflow">if</span> ( NULL == (abuf[i] = (<span class="keywordtype">float</span>*) cpl_calloc(lx, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>))) ||</div>
-<div class="line"><a name="l02192"></a><span class="lineno"> 2192</span> NULL == (dabuf[i] = (<span class="keywordtype">float</span>*) cpl_calloc(lx, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>))) )</div>
-<div class="line"><a name="l02193"></a><span class="lineno"> 2193</span> {</div>
-<div class="line"><a name="l02194"></a><span class="lineno"> 2194</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" cannot allocate memory\n"</span>) ;</div>
-<div class="line"><a name="l02195"></a><span class="lineno"> 2195</span> cpl_free(abuf) ;</div>
-<div class="line"><a name="l02196"></a><span class="lineno"> 2196</span> cpl_free(dabuf) ;</div>
-<div class="line"><a name="l02197"></a><span class="lineno"> 2197</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02198"></a><span class="lineno"> 2198</span> }</div>
-<div class="line"><a name="l02199"></a><span class="lineno"> 2199</span> }</div>
-<div class="line"><a name="l02200"></a><span class="lineno"> 2200</span> </div>
-<div class="line"><a name="l02201"></a><span class="lineno"> 2201</span> <span class="comment">/* fit wavelengths to the corresponding found positions for each column */</span></div>
-<div class="line"><a name="l02202"></a><span class="lineno"> 2202</span> k = 0 ;</div>
-<div class="line"><a name="l02203"></a><span class="lineno"> 2203</span> </div>
-<div class="line"><a name="l02204"></a><span class="lineno"> 2204</span> <span class="keywordflow">for</span> ( i = 0 ; i < lx ; i++ )</div>
-<div class="line"><a name="l02205"></a><span class="lineno"> 2205</span> {</div>
-<div class="line"><a name="l02206"></a><span class="lineno"> 2206</span> zeroind = 0 ;</div>
-<div class="line"><a name="l02207"></a><span class="lineno"> 2207</span> <span class="keywordflow">if</span> ( FLT_MAX == (chisq_poly = sinfo_new_polyfit( par, i, </div>
-<div class="line"><a name="l02208"></a><span class="lineno"> 2208</span> n_found_lines[i], </div>
-<div class="line"><a name="l02209"></a><span class="lineno"> 2209</span> ly, dispersion,</div>
-<div class="line"><a name="l02210"></a><span class="lineno"> 2210</span> max_residual, acoefs, </div>
-<div class="line"><a name="l02211"></a><span class="lineno"> 2211</span> dacoefs, &n_reject, </div>
-<div class="line"><a name="l02212"></a><span class="lineno"> 2212</span> n_a_fitcoefs)) )</div>
-<div class="line"><a name="l02213"></a><span class="lineno"> 2213</span> {</div>
-<div class="line"><a name="l02214"></a><span class="lineno"> 2214</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l02215"></a><span class="lineno"> 2215</span> <span class="comment"> sinfo_msg_warning (" error in polyfitt in column: %d\n", i) ;</span></div>
-<div class="line"><a name="l02216"></a><span class="lineno"> 2216</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02217"></a><span class="lineno"> 2217</span> <span class="keywordflow">for</span> ( j = 0 ; j < n_a_fitcoefs ; j++ )</div>
-<div class="line"><a name="l02218"></a><span class="lineno"> 2218</span> {</div>
-<div class="line"><a name="l02219"></a><span class="lineno"> 2219</span> acoefs[j] = ZERO ;</div>
-<div class="line"><a name="l02220"></a><span class="lineno"> 2220</span> dacoefs[j] = ZERO ;</div>
-<div class="line"><a name="l02221"></a><span class="lineno"> 2221</span> }</div>
-<div class="line"><a name="l02222"></a><span class="lineno"> 2222</span> }</div>
-<div class="line"><a name="l02223"></a><span class="lineno"> 2223</span> </div>
-<div class="line"><a name="l02224"></a><span class="lineno"> 2224</span> <span class="keywordflow">for</span> ( j = 0 ; j < n_a_fitcoefs ; j++ )</div>
-<div class="line"><a name="l02225"></a><span class="lineno"> 2225</span> {</div>
-<div class="line"><a name="l02226"></a><span class="lineno"> 2226</span> <span class="keywordflow">if</span> ( acoefs[0] <= 0. || acoefs[1] ==0. ||</div>
-<div class="line"><a name="l02227"></a><span class="lineno"> 2227</span> dacoefs[j] == 0. || isnan(acoefs[j]) )</div>
-<div class="line"><a name="l02228"></a><span class="lineno"> 2228</span> {</div>
-<div class="line"><a name="l02229"></a><span class="lineno"> 2229</span> zeroind = 1 ;</div>
-<div class="line"><a name="l02230"></a><span class="lineno"> 2230</span> </div>
-<div class="line"><a name="l02231"></a><span class="lineno"> 2231</span> }</div>
-<div class="line"><a name="l02232"></a><span class="lineno"> 2232</span> }</div>
-<div class="line"><a name="l02233"></a><span class="lineno"> 2233</span> <span class="keywordflow">for</span> ( j = 0 ; j < n_a_fitcoefs ; j++ )</div>
-<div class="line"><a name="l02234"></a><span class="lineno"> 2234</span> {</div>
-<div class="line"><a name="l02235"></a><span class="lineno"> 2235</span> <span class="keywordflow">if</span> ( zeroind == 0 )</div>
-<div class="line"><a name="l02236"></a><span class="lineno"> 2236</span> {</div>
-<div class="line"><a name="l02237"></a><span class="lineno"> 2237</span> abuf[j][i] = acoefs[j] ;</div>
-<div class="line"><a name="l02238"></a><span class="lineno"> 2238</span> dabuf[j][i] = dacoefs[j] ;</div>
-<div class="line"><a name="l02239"></a><span class="lineno"> 2239</span> }</div>
-<div class="line"><a name="l02240"></a><span class="lineno"> 2240</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02241"></a><span class="lineno"> 2241</span> {</div>
-<div class="line"><a name="l02242"></a><span class="lineno"> 2242</span> abuf[j][i] = ZERO ;</div>
-<div class="line"><a name="l02243"></a><span class="lineno"> 2243</span> dabuf[j][i] = ZERO ;</div>
-<div class="line"><a name="l02244"></a><span class="lineno"> 2244</span> }</div>
-<div class="line"><a name="l02245"></a><span class="lineno"> 2245</span> }</div>
-<div class="line"><a name="l02246"></a><span class="lineno"> 2246</span> }</div>
-<div class="line"><a name="l02247"></a><span class="lineno"> 2247</span> </div>
-<div class="line"><a name="l02248"></a><span class="lineno"> 2248</span> <span class="comment">/* fit each acoefs across the columns to smooth the result */</span></div>
-<div class="line"><a name="l02249"></a><span class="lineno"> 2249</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_a_fitcoefs ; i++ )</div>
-<div class="line"><a name="l02250"></a><span class="lineno"> 2250</span> {</div>
-<div class="line"><a name="l02251"></a><span class="lineno"> 2251</span> <span class="keywordflow">if</span> ( FLT_MAX == (chisq_cross = sinfo_new_coefs_cross_fit(lx, </div>
-<div class="line"><a name="l02252"></a><span class="lineno"> 2252</span> abuf[i], </div>
-<div class="line"><a name="l02253"></a><span class="lineno"> 2253</span> dabuf[i],</div>
-<div class="line"><a name="l02254"></a><span class="lineno"> 2254</span> bcoefs[i],</div>
-<div class="line"><a name="l02255"></a><span class="lineno"> 2255</span> n_b_fitcoefs,</div>
-<div class="line"><a name="l02256"></a><span class="lineno"> 2256</span> sigmaFactor)))</div>
-<div class="line"><a name="l02257"></a><span class="lineno"> 2257</span> {</div>
-<div class="line"><a name="l02258"></a><span class="lineno"> 2258</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" cannot carry out the fitting of coefficients"</span></div>
-<div class="line"><a name="l02259"></a><span class="lineno"> 2259</span> <span class="stringliteral">" across the columns, for the coefficient with"</span></div>
-<div class="line"><a name="l02260"></a><span class="lineno"> 2260</span> <span class="stringliteral">" index: %d\n"</span>, i) ;</div>
-<div class="line"><a name="l02261"></a><span class="lineno"> 2261</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_a_fitcoefs ; i++ )</div>
-<div class="line"><a name="l02262"></a><span class="lineno"> 2262</span> {</div>
-<div class="line"><a name="l02263"></a><span class="lineno"> 2263</span> cpl_free (abuf[i]) ;</div>
-<div class="line"><a name="l02264"></a><span class="lineno"> 2264</span> cpl_free (dabuf[i]) ;</div>
-<div class="line"><a name="l02265"></a><span class="lineno"> 2265</span> }</div>
-<div class="line"><a name="l02266"></a><span class="lineno"> 2266</span> cpl_free ( acoefs ) ;</div>
-<div class="line"><a name="l02267"></a><span class="lineno"> 2267</span> cpl_free ( dacoefs ) ;</div>
-<div class="line"><a name="l02268"></a><span class="lineno"> 2268</span> cpl_free ( abuf ) ;</div>
-<div class="line"><a name="l02269"></a><span class="lineno"> 2269</span> cpl_free ( dabuf ) ;</div>
-<div class="line"><a name="l02270"></a><span class="lineno"> 2270</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l02271"></a><span class="lineno"> 2271</span> }</div>
-<div class="line"><a name="l02272"></a><span class="lineno"> 2272</span> }</div>
-<div class="line"><a name="l02273"></a><span class="lineno"> 2273</span> </div>
-<div class="line"><a name="l02274"></a><span class="lineno"> 2274</span> <span class="comment">/* free all allocated memory */</span></div>
-<div class="line"><a name="l02275"></a><span class="lineno"> 2275</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_a_fitcoefs ; i++ )</div>
-<div class="line"><a name="l02276"></a><span class="lineno"> 2276</span> {</div>
-<div class="line"><a name="l02277"></a><span class="lineno"> 2277</span> cpl_free (abuf[i]) ;</div>
-<div class="line"><a name="l02278"></a><span class="lineno"> 2278</span> cpl_free (dabuf[i]) ;</div>
-<div class="line"><a name="l02279"></a><span class="lineno"> 2279</span> }</div>
-<div class="line"><a name="l02280"></a><span class="lineno"> 2280</span> cpl_free ( acoefs ) ;</div>
-<div class="line"><a name="l02281"></a><span class="lineno"> 2281</span> cpl_free ( dacoefs ) ;</div>
-<div class="line"><a name="l02282"></a><span class="lineno"> 2282</span> cpl_free ( abuf ) ;</div>
-<div class="line"><a name="l02283"></a><span class="lineno"> 2283</span> cpl_free ( dabuf ) ;</div>
-<div class="line"><a name="l02284"></a><span class="lineno"> 2284</span> </div>
-<div class="line"><a name="l02285"></a><span class="lineno"> 2285</span> <span class="keywordflow">return</span> 0 ; </div>
-<div class="line"><a name="l02286"></a><span class="lineno"> 2286</span> }</div>
-<div class="line"><a name="l02287"></a><span class="lineno"> 2287</span> </div>
-<div class="line"><a name="l02288"></a><span class="lineno"> 2288</span> </div>
-<div class="line"><a name="l02300"></a><span class="lineno"> 2300</span> cpl_image * sinfo_new_convolve_image_by_gauss( cpl_image * lineImage,</div>
-<div class="line"><a name="l02301"></a><span class="lineno"> 2301</span> <span class="keywordtype">int</span> hw )</div>
-<div class="line"><a name="l02302"></a><span class="lineno"> 2302</span> {</div>
-<div class="line"><a name="l02303"></a><span class="lineno"> 2303</span> cpl_image * returnImage ;</div>
-<div class="line"><a name="l02304"></a><span class="lineno"> 2304</span> <span class="keywordtype">float</span>* column_buffer=NULL ;</div>
-<div class="line"><a name="l02305"></a><span class="lineno"> 2305</span> <span class="keywordtype">float</span> * filter ;</div>
-<div class="line"><a name="l02306"></a><span class="lineno"> 2306</span> <span class="keywordtype">int</span> col, row ;</div>
-<div class="line"><a name="l02307"></a><span class="lineno"> 2307</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l02308"></a><span class="lineno"> 2308</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l02309"></a><span class="lineno"> 2309</span> <span class="keywordtype">int</span> olx=0;</div>
-<div class="line"><a name="l02310"></a><span class="lineno"> 2310</span> <span class="keywordtype">int</span> oly=0;</div>
-<div class="line"><a name="l02311"></a><span class="lineno"> 2311</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l02312"></a><span class="lineno"> 2312</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l02313"></a><span class="lineno"> 2313</span> </div>
-<div class="line"><a name="l02314"></a><span class="lineno"> 2314</span> <span class="keywordflow">if</span> ( lineImage == NULL )</div>
-<div class="line"><a name="l02315"></a><span class="lineno"> 2315</span> {</div>
-<div class="line"><a name="l02316"></a><span class="lineno"> 2316</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no input image given!\n"</span>) ;</div>
-<div class="line"><a name="l02317"></a><span class="lineno"> 2317</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02318"></a><span class="lineno"> 2318</span> }</div>
-<div class="line"><a name="l02319"></a><span class="lineno"> 2319</span> ilx=cpl_image_get_size_x(lineImage);</div>
-<div class="line"><a name="l02320"></a><span class="lineno"> 2320</span> ily=cpl_image_get_size_y(lineImage);</div>
-<div class="line"><a name="l02321"></a><span class="lineno"> 2321</span> pidata=cpl_image_get_data_float(lineImage);</div>
-<div class="line"><a name="l02322"></a><span class="lineno"> 2322</span> </div>
-<div class="line"><a name="l02323"></a><span class="lineno"> 2323</span> <span class="keywordflow">if</span> ( hw < 1 )</div>
-<div class="line"><a name="l02324"></a><span class="lineno"> 2324</span> {</div>
-<div class="line"><a name="l02325"></a><span class="lineno"> 2325</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong half width given!\n"</span>) ;</div>
-<div class="line"><a name="l02326"></a><span class="lineno"> 2326</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02327"></a><span class="lineno"> 2327</span> }</div>
-<div class="line"><a name="l02328"></a><span class="lineno"> 2328</span> </div>
-<div class="line"><a name="l02329"></a><span class="lineno"> 2329</span> <span class="comment">/* allocate memory for returned image */</span></div>
-<div class="line"><a name="l02330"></a><span class="lineno"> 2330</span> <span class="keywordflow">if</span> ( NULL == ( returnImage = cpl_image_new(ilx,ily,CPL_TYPE_FLOAT ) ))</div>
-<div class="line"><a name="l02331"></a><span class="lineno"> 2331</span> {</div>
-<div class="line"><a name="l02332"></a><span class="lineno"> 2332</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" cannot allocate a new image\n"</span>);</div>
-<div class="line"><a name="l02333"></a><span class="lineno"> 2333</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02334"></a><span class="lineno"> 2334</span> }</div>
-<div class="line"><a name="l02335"></a><span class="lineno"> 2335</span> olx=cpl_image_get_size_x(returnImage);</div>
-<div class="line"><a name="l02336"></a><span class="lineno"> 2336</span> oly=cpl_image_get_size_y(returnImage);</div>
-<div class="line"><a name="l02337"></a><span class="lineno"> 2337</span> podata=cpl_image_get_data_float(returnImage);</div>
-<div class="line"><a name="l02338"></a><span class="lineno"> 2338</span> </div>
-<div class="line"><a name="l02339"></a><span class="lineno"> 2339</span> column_buffer=cpl_calloc(ily,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02340"></a><span class="lineno"> 2340</span> </div>
-<div class="line"><a name="l02341"></a><span class="lineno"> 2341</span> <span class="comment">/* go through the image columns and save them in a buffer */</span></div>
-<div class="line"><a name="l02342"></a><span class="lineno"> 2342</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l02343"></a><span class="lineno"> 2343</span> { </div>
-<div class="line"><a name="l02344"></a><span class="lineno"> 2344</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l02345"></a><span class="lineno"> 2345</span> {</div>
-<div class="line"><a name="l02346"></a><span class="lineno"> 2346</span> column_buffer[row] = pidata[col + row*ilx] ;</div>
-<div class="line"><a name="l02347"></a><span class="lineno"> 2347</span> }</div>
-<div class="line"><a name="l02348"></a><span class="lineno"> 2348</span> </div>
-<div class="line"><a name="l02349"></a><span class="lineno"> 2349</span> <span class="comment">/*--------------------------------------------------------------------- </span></div>
-<div class="line"><a name="l02350"></a><span class="lineno"> 2350</span> <span class="comment"> * now low pass filter the columns by the sinfo_gaussian and fill </span></div>
-<div class="line"><a name="l02351"></a><span class="lineno"> 2351</span> <span class="comment"> the return image.</span></div>
-<div class="line"><a name="l02352"></a><span class="lineno"> 2352</span> <span class="comment"> */</span> </div>
-<div class="line"><a name="l02353"></a><span class="lineno"> 2353</span> filter = sinfo_function1d_filter_lowpass( column_buffer,</div>
-<div class="line"><a name="l02354"></a><span class="lineno"> 2354</span> ily,</div>
-<div class="line"><a name="l02355"></a><span class="lineno"> 2355</span> LOW_PASS_GAUSSIAN,</div>
-<div class="line"><a name="l02356"></a><span class="lineno"> 2356</span> hw ) ;</div>
-<div class="line"><a name="l02357"></a><span class="lineno"> 2357</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l02358"></a><span class="lineno"> 2358</span> {</div>
-<div class="line"><a name="l02359"></a><span class="lineno"> 2359</span> podata[col + row*ilx] = filter[row] ;</div>
-<div class="line"><a name="l02360"></a><span class="lineno"> 2360</span> }</div>
-<div class="line"><a name="l02361"></a><span class="lineno"> 2361</span> sinfo_function1d_del(filter) ;</div>
-<div class="line"><a name="l02362"></a><span class="lineno"> 2362</span> }</div>
-<div class="line"><a name="l02363"></a><span class="lineno"> 2363</span> </div>
-<div class="line"><a name="l02364"></a><span class="lineno"> 2364</span> cpl_free(column_buffer);</div>
-<div class="line"><a name="l02365"></a><span class="lineno"> 2365</span> <span class="keywordflow">return</span> returnImage ;</div>
-<div class="line"><a name="l02366"></a><span class="lineno"> 2366</span> }</div>
-<div class="line"><a name="l02367"></a><span class="lineno"> 2367</span> </div>
-<div class="line"><a name="l02407"></a><span class="lineno"> 2407</span> cpl_image * sinfo_new_defined_resampling( cpl_image * image,</div>
-<div class="line"><a name="l02408"></a><span class="lineno"> 2408</span> cpl_image * calimage,</div>
-<div class="line"><a name="l02409"></a><span class="lineno"> 2409</span> <span class="keywordtype">int</span> n_params,</div>
-<div class="line"><a name="l02410"></a><span class="lineno"> 2410</span> <span class="keywordtype">int</span>* n_rows,</div>
-<div class="line"><a name="l02411"></a><span class="lineno"> 2411</span> <span class="keywordtype">double</span> * dispersion,</div>
-<div class="line"><a name="l02412"></a><span class="lineno"> 2412</span> <span class="keywordtype">float</span> * minval,</div>
-<div class="line"><a name="l02413"></a><span class="lineno"> 2413</span> <span class="keywordtype">float</span> * maxval,</div>
-<div class="line"><a name="l02414"></a><span class="lineno"> 2414</span> <span class="keywordtype">double</span> * centralLambda,</div>
-<div class="line"><a name="l02415"></a><span class="lineno"> 2415</span> <span class="keywordtype">int</span> * centralpix )</div>
-<div class="line"><a name="l02416"></a><span class="lineno"> 2416</span> {</div>
-<div class="line"><a name="l02417"></a><span class="lineno"> 2417</span> cpl_image * retImage ;</div>
-<div class="line"><a name="l02418"></a><span class="lineno"> 2418</span> cpl_image * tempCalImage ;</div>
-<div class="line"><a name="l02419"></a><span class="lineno"> 2419</span> cpl_image * tempImage ;</div>
-<div class="line"><a name="l02420"></a><span class="lineno"> 2420</span> <span class="keywordtype">float</span> lambda ;</div>
-<div class="line"><a name="l02421"></a><span class="lineno"> 2421</span> <span class="keywordtype">float</span> dif, lambda_renorm ;</div>
-<div class="line"><a name="l02422"></a><span class="lineno"> 2422</span> <span class="keywordtype">float</span> * retimagecol = NULL;<span class="comment">//[2560] ; /* retimagecol[n_rows] ; */</span></div>
-<div class="line"><a name="l02423"></a><span class="lineno"> 2423</span> </div>
-<div class="line"><a name="l02424"></a><span class="lineno"> 2424</span> <span class="keywordtype">float</span>* imagecol=NULL ;</div>
-<div class="line"><a name="l02425"></a><span class="lineno"> 2425</span> <span class="keywordtype">float</span>* calcol=NULL ;</div>
-<div class="line"><a name="l02426"></a><span class="lineno"> 2426</span> <span class="keywordtype">float</span>* x_renorm=NULL ;</div>
-<div class="line"><a name="l02427"></a><span class="lineno"> 2427</span> </div>
-<div class="line"><a name="l02428"></a><span class="lineno"> 2428</span> <span class="keywordtype">float</span> * imageptr ;</div>
-<div class="line"><a name="l02429"></a><span class="lineno"> 2429</span> <span class="keywordtype">float</span> sum, new_sum ;</div>
-<div class="line"><a name="l02430"></a><span class="lineno"> 2430</span> <span class="keywordtype">float</span> disp, mindisp ;</div>
-<div class="line"><a name="l02431"></a><span class="lineno"> 2431</span> <span class="keywordtype">int</span> *calcolpos=NULL;<span class="comment">//[2560];</span></div>
-<div class="line"><a name="l02432"></a><span class="lineno"> 2432</span> <span class="keywordtype">int</span> i<span class="comment">/*, j*/</span>, col, row, testrow ;</div>
-<div class="line"><a name="l02433"></a><span class="lineno"> 2433</span> <span class="keywordtype">int</span> half_width, firstpos ;</div>
-<div class="line"><a name="l02434"></a><span class="lineno"> 2434</span> <span class="keywordtype">int</span> dispInd ;</div>
-<div class="line"><a name="l02435"></a><span class="lineno"> 2435</span> <span class="keywordtype">int</span> n ;</div>
-<div class="line"><a name="l02436"></a><span class="lineno"> 2436</span> <span class="keywordtype">int</span> flag;</div>
-<div class="line"><a name="l02437"></a><span class="lineno"> 2437</span> <span class="keywordtype">float</span> temprow;</div>
-<div class="line"><a name="l02438"></a><span class="lineno"> 2438</span> <span class="keywordtype">float</span> minLambda = 0. ;</div>
-<div class="line"><a name="l02439"></a><span class="lineno"> 2439</span> <span class="comment">/*dpoint list[n_params] ;*/</span></div>
-<div class="line"><a name="l02440"></a><span class="lineno"> 2440</span> <span class="comment">/*double * polycoeffs ;*/</span></div>
-<div class="line"><a name="l02441"></a><span class="lineno"> 2441</span> <span class="keywordtype">double</span> poly ;</div>
-<div class="line"><a name="l02442"></a><span class="lineno"> 2442</span> <span class="comment">/*float error;*/</span></div>
-<div class="line"><a name="l02443"></a><span class="lineno"> 2443</span> <span class="keywordtype">int</span> zeroind ;</div>
-<div class="line"><a name="l02444"></a><span class="lineno"> 2444</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l02445"></a><span class="lineno"> 2445</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l02446"></a><span class="lineno"> 2446</span> <span class="keywordtype">int</span> clx=0;</div>
-<div class="line"><a name="l02447"></a><span class="lineno"> 2447</span> <span class="keywordtype">int</span> cly=0;</div>
-<div class="line"><a name="l02448"></a><span class="lineno"> 2448</span> <span class="keywordtype">int</span> olx=0;</div>
-<div class="line"><a name="l02449"></a><span class="lineno"> 2449</span> <span class="keywordtype">int</span> oly=0;</div>
-<div class="line"><a name="l02450"></a><span class="lineno"> 2450</span> </div>
-<div class="line"><a name="l02451"></a><span class="lineno"> 2451</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l02452"></a><span class="lineno"> 2452</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l02453"></a><span class="lineno"> 2453</span> <span class="keywordtype">float</span>* pcdata=NULL;</div>
-<div class="line"><a name="l02454"></a><span class="lineno"> 2454</span> <span class="keywordtype">float</span>* ptidata=NULL;</div>
-<div class="line"><a name="l02455"></a><span class="lineno"> 2455</span> <span class="keywordtype">float</span>* ptcdata=NULL;</div>
-<div class="line"><a name="l02456"></a><span class="lineno"> 2456</span> </div>
-<div class="line"><a name="l02457"></a><span class="lineno"> 2457</span> <span class="keywordflow">if</span> ( NULL == image )</div>
-<div class="line"><a name="l02458"></a><span class="lineno"> 2458</span> {</div>
-<div class="line"><a name="l02459"></a><span class="lineno"> 2459</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" source image not given\n"</span>) ;</div>
-<div class="line"><a name="l02460"></a><span class="lineno"> 2460</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02461"></a><span class="lineno"> 2461</span> }</div>
-<div class="line"><a name="l02462"></a><span class="lineno"> 2462</span> ilx=cpl_image_get_size_x(image);</div>
-<div class="line"><a name="l02463"></a><span class="lineno"> 2463</span> ily=cpl_image_get_size_y(image);</div>
-<div class="line"><a name="l02464"></a><span class="lineno"> 2464</span> pidata=cpl_image_get_data_float(image);</div>
-<div class="line"><a name="l02465"></a><span class="lineno"> 2465</span> </div>
-<div class="line"><a name="l02466"></a><span class="lineno"> 2466</span> </div>
-<div class="line"><a name="l02467"></a><span class="lineno"> 2467</span> <span class="keywordflow">if</span> ( NULL == calimage )</div>
-<div class="line"><a name="l02468"></a><span class="lineno"> 2468</span> {</div>
-<div class="line"><a name="l02469"></a><span class="lineno"> 2469</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wavelength map image not given\n"</span>) ;</div>
-<div class="line"><a name="l02470"></a><span class="lineno"> 2470</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02471"></a><span class="lineno"> 2471</span> }</div>
-<div class="line"><a name="l02472"></a><span class="lineno"> 2472</span> clx=cpl_image_get_size_x(calimage);</div>
-<div class="line"><a name="l02473"></a><span class="lineno"> 2473</span> cly=cpl_image_get_size_y(calimage);</div>
-<div class="line"><a name="l02474"></a><span class="lineno"> 2474</span> pcdata=cpl_image_get_data_float(calimage);</div>
-<div class="line"><a name="l02475"></a><span class="lineno"> 2475</span> <span class="keywordflow">if</span> ( ilx != clx ||</div>
-<div class="line"><a name="l02476"></a><span class="lineno"> 2476</span> ily != cly )</div>
-<div class="line"><a name="l02477"></a><span class="lineno"> 2477</span> {</div>
-<div class="line"><a name="l02478"></a><span class="lineno"> 2478</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"source image and wavelength map image "</span></div>
-<div class="line"><a name="l02479"></a><span class="lineno"> 2479</span> <span class="stringliteral">"are not compatible in size\n"</span>) ;</div>
-<div class="line"><a name="l02480"></a><span class="lineno"> 2480</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02481"></a><span class="lineno"> 2481</span> } </div>
-<div class="line"><a name="l02482"></a><span class="lineno"> 2482</span> </div>
-<div class="line"><a name="l02483"></a><span class="lineno"> 2483</span> <span class="keywordflow">if</span> ( n_params < 1 )</div>
-<div class="line"><a name="l02484"></a><span class="lineno"> 2484</span> {</div>
-<div class="line"><a name="l02485"></a><span class="lineno"> 2485</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" wrong number of fit parameters given\n"</span>) ;</div>
-<div class="line"><a name="l02486"></a><span class="lineno"> 2486</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02487"></a><span class="lineno"> 2487</span> }</div>
-<div class="line"><a name="l02488"></a><span class="lineno"> 2488</span> </div>
-<div class="line"><a name="l02489"></a><span class="lineno"> 2489</span> <span class="keywordflow">if</span> ( n_params > 4 )</div>
-<div class="line"><a name="l02490"></a><span class="lineno"> 2490</span> {</div>
-<div class="line"><a name="l02491"></a><span class="lineno"> 2491</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">" attention: very high number of fit "</span></div>
-<div class="line"><a name="l02492"></a><span class="lineno"> 2492</span> <span class="stringliteral">"parameters given, not tested !!!\n"</span>) ;</div>
-<div class="line"><a name="l02493"></a><span class="lineno"> 2493</span> }</div>
-<div class="line"><a name="l02494"></a><span class="lineno"> 2494</span> </div>
-<div class="line"><a name="l02495"></a><span class="lineno"> 2495</span> imagecol=cpl_calloc(ily,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02496"></a><span class="lineno"> 2496</span> calcol=cpl_calloc(cly,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02497"></a><span class="lineno"> 2497</span> x_renorm=cpl_calloc(n_params,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02498"></a><span class="lineno"> 2498</span> </div>
-<div class="line"><a name="l02499"></a><span class="lineno"> 2499</span> </div>
-<div class="line"><a name="l02500"></a><span class="lineno"> 2500</span> <span class="comment">/*if ( n_rows <= cly)</span></div>
-<div class="line"><a name="l02501"></a><span class="lineno"> 2501</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l02502"></a><span class="lineno"> 2502</span> <span class="comment"> sinfo_msg_error (" number of rows of resampled image will be "</span></div>
-<div class="line"><a name="l02503"></a><span class="lineno"> 2503</span> <span class="comment"> " smaller than in wavelength calibration map,"</span></div>
-<div class="line"><a name="l02504"></a><span class="lineno"> 2504</span> <span class="comment"> " information would get lost!") ;</span></div>
-<div class="line"><a name="l02505"></a><span class="lineno"> 2505</span> <span class="comment"> return NULL ;</span></div>
-<div class="line"><a name="l02506"></a><span class="lineno"> 2506</span> <span class="comment"> }*/</span></div>
-<div class="line"><a name="l02507"></a><span class="lineno"> 2507</span> </div>
-<div class="line"><a name="l02508"></a><span class="lineno"> 2508</span> dispInd = 0 ;</div>
-<div class="line"><a name="l02509"></a><span class="lineno"> 2509</span> </div>
-<div class="line"><a name="l02510"></a><span class="lineno"> 2510</span> <span class="comment">/* first determine the dispersion direction */</span></div>
-<div class="line"><a name="l02511"></a><span class="lineno"> 2511</span> <span class="keywordflow">for</span> ( col = 0 ; col < clx ; col++ )</div>
-<div class="line"><a name="l02512"></a><span class="lineno"> 2512</span> {</div>
-<div class="line"><a name="l02513"></a><span class="lineno"> 2513</span> <span class="keywordflow">if</span> ( isnan(pcdata[col]) || pcdata[col] <= 0. )</div>
-<div class="line"><a name="l02514"></a><span class="lineno"> 2514</span> {</div>
-<div class="line"><a name="l02515"></a><span class="lineno"> 2515</span> continue ;</div>
-<div class="line"><a name="l02516"></a><span class="lineno"> 2516</span> }</div>
-<div class="line"><a name="l02517"></a><span class="lineno"> 2517</span> <span class="keywordflow">if</span> ((pcdata[col] - pcdata[col+(clx)*(cly-1)]) > 0. )</div>
-<div class="line"><a name="l02518"></a><span class="lineno"> 2518</span> {</div>
-<div class="line"><a name="l02519"></a><span class="lineno"> 2519</span> dispInd-- ;</div>
-<div class="line"><a name="l02520"></a><span class="lineno"> 2520</span> }</div>
-<div class="line"><a name="l02521"></a><span class="lineno"> 2521</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((pcdata[col] - pcdata[col+(clx)*(cly-1)]) < 0. )</div>
-<div class="line"><a name="l02522"></a><span class="lineno"> 2522</span> {</div>
-<div class="line"><a name="l02523"></a><span class="lineno"> 2523</span> dispInd++ ;</div>
-<div class="line"><a name="l02524"></a><span class="lineno"> 2524</span> }</div>
-<div class="line"><a name="l02525"></a><span class="lineno"> 2525</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02526"></a><span class="lineno"> 2526</span> {</div>
-<div class="line"><a name="l02527"></a><span class="lineno"> 2527</span> continue ;</div>
-<div class="line"><a name="l02528"></a><span class="lineno"> 2528</span> }</div>
-<div class="line"><a name="l02529"></a><span class="lineno"> 2529</span> }</div>
-<div class="line"><a name="l02530"></a><span class="lineno"> 2530</span> </div>
-<div class="line"><a name="l02531"></a><span class="lineno"> 2531</span> <span class="keywordflow">if</span> ( dispInd == 0 )</div>
-<div class="line"><a name="l02532"></a><span class="lineno"> 2532</span> {</div>
-<div class="line"><a name="l02533"></a><span class="lineno"> 2533</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" zero dispersion?\n"</span>);</div>
-<div class="line"><a name="l02534"></a><span class="lineno"> 2534</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02535"></a><span class="lineno"> 2535</span> }</div>
-<div class="line"><a name="l02536"></a><span class="lineno"> 2536</span> </div>
-<div class="line"><a name="l02537"></a><span class="lineno"> 2537</span> <span class="comment">/* mirror the wavelength map and the raw image if </span></div>
-<div class="line"><a name="l02538"></a><span class="lineno"> 2538</span> <span class="comment"> the dispersion is negative */</span></div>
-<div class="line"><a name="l02539"></a><span class="lineno"> 2539</span> <span class="keywordflow">if</span> ( dispInd < 0 )</div>
-<div class="line"><a name="l02540"></a><span class="lineno"> 2540</span> {</div>
-<div class="line"><a name="l02541"></a><span class="lineno"> 2541</span> </div>
-<div class="line"><a name="l02542"></a><span class="lineno"> 2542</span> <span class="comment">/* allocate a temp image */</span></div>
-<div class="line"><a name="l02543"></a><span class="lineno"> 2543</span> <span class="keywordflow">if</span> ( NULL == ( tempCalImage = cpl_image_new(clx,cly,CPL_TYPE_FLOAT)))</div>
-<div class="line"><a name="l02544"></a><span class="lineno"> 2544</span> {</div>
-<div class="line"><a name="l02545"></a><span class="lineno"> 2545</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" cannot allocate a new image\n"</span>);</div>
-<div class="line"><a name="l02546"></a><span class="lineno"> 2546</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02547"></a><span class="lineno"> 2547</span> }</div>
-<div class="line"><a name="l02548"></a><span class="lineno"> 2548</span> ptcdata=cpl_image_get_data_float(tempCalImage);</div>
-<div class="line"><a name="l02549"></a><span class="lineno"> 2549</span> <span class="keywordflow">if</span> ( NULL == ( tempImage = cpl_image_new( ilx, ily,CPL_TYPE_FLOAT)))</div>
-<div class="line"><a name="l02550"></a><span class="lineno"> 2550</span> {</div>
-<div class="line"><a name="l02551"></a><span class="lineno"> 2551</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" cannot allocate a new image\n"</span>);</div>
-<div class="line"><a name="l02552"></a><span class="lineno"> 2552</span> cpl_image_delete(tempCalImage) ;</div>
-<div class="line"><a name="l02553"></a><span class="lineno"> 2553</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02554"></a><span class="lineno"> 2554</span> }</div>
-<div class="line"><a name="l02555"></a><span class="lineno"> 2555</span> ptidata=cpl_image_get_data_float(tempImage);</div>
-<div class="line"><a name="l02556"></a><span class="lineno"> 2556</span> </div>
-<div class="line"><a name="l02557"></a><span class="lineno"> 2557</span> <span class="keywordflow">for</span> ( col = 0 ; col < clx ; col++ )</div>
-<div class="line"><a name="l02558"></a><span class="lineno"> 2558</span> {</div>
-<div class="line"><a name="l02559"></a><span class="lineno"> 2559</span> n = cly - 1 ;</div>
-<div class="line"><a name="l02560"></a><span class="lineno"> 2560</span> <span class="keywordflow">for</span> ( row = 0 ; row < cly ; row++ )</div>
-<div class="line"><a name="l02561"></a><span class="lineno"> 2561</span> {</div>
-<div class="line"><a name="l02562"></a><span class="lineno"> 2562</span> ptcdata[col+row*clx] = pcdata[col+n*clx] ;</div>
-<div class="line"><a name="l02563"></a><span class="lineno"> 2563</span> ptidata[col+row*clx] = pidata[col+n*clx] ;</div>
-<div class="line"><a name="l02564"></a><span class="lineno"> 2564</span> n-- ;</div>
-<div class="line"><a name="l02565"></a><span class="lineno"> 2565</span> }</div>
-<div class="line"><a name="l02566"></a><span class="lineno"> 2566</span> }</div>
-<div class="line"><a name="l02567"></a><span class="lineno"> 2567</span> </div>
-<div class="line"><a name="l02568"></a><span class="lineno"> 2568</span> <span class="keywordflow">for</span> ( i = 0 ; i < (int) ilx*ily ; i++ )</div>
-<div class="line"><a name="l02569"></a><span class="lineno"> 2569</span> {</div>
-<div class="line"><a name="l02570"></a><span class="lineno"> 2570</span> pidata[i] = ptidata[i] ;</div>
-<div class="line"><a name="l02571"></a><span class="lineno"> 2571</span> pcdata[i] = ptcdata[i] ;</div>
-<div class="line"><a name="l02572"></a><span class="lineno"> 2572</span> }</div>
-<div class="line"><a name="l02573"></a><span class="lineno"> 2573</span> cpl_image_delete(tempCalImage) ;</div>
-<div class="line"><a name="l02574"></a><span class="lineno"> 2574</span> cpl_image_delete(tempImage) ;</div>
-<div class="line"><a name="l02575"></a><span class="lineno"> 2575</span> }</div>
-<div class="line"><a name="l02576"></a><span class="lineno"> 2576</span> </div>
-<div class="line"><a name="l02577"></a><span class="lineno"> 2577</span> <span class="comment">/* determine the max and min pixel value in the first and the last row */</span></div>
-<div class="line"><a name="l02578"></a><span class="lineno"> 2578</span> *maxval = -FLT_MAX ;</div>
-<div class="line"><a name="l02579"></a><span class="lineno"> 2579</span> *minval = FLT_MAX ;</div>
-<div class="line"><a name="l02580"></a><span class="lineno"> 2580</span> mindisp = FLT_MAX ;</div>
-<div class="line"><a name="l02581"></a><span class="lineno"> 2581</span> <span class="keywordflow">for</span> ( col = 0 ; col < clx ; col++ )</div>
-<div class="line"><a name="l02582"></a><span class="lineno"> 2582</span> {</div>
-<div class="line"><a name="l02583"></a><span class="lineno"> 2583</span> <span class="keywordflow">if</span> ( isnan(pcdata[col]) || pcdata[col] <= 0. )</div>
-<div class="line"><a name="l02584"></a><span class="lineno"> 2584</span> {</div>
-<div class="line"><a name="l02585"></a><span class="lineno"> 2585</span> continue ;</div>
-<div class="line"><a name="l02586"></a><span class="lineno"> 2586</span> }</div>
-<div class="line"><a name="l02587"></a><span class="lineno"> 2587</span> disp = (pcdata[col+(clx)*((cly)-1)]</div>
-<div class="line"><a name="l02588"></a><span class="lineno"> 2588</span> - pcdata[col]) / (float)cly ;</div>
-<div class="line"><a name="l02589"></a><span class="lineno"> 2589</span> <span class="keywordflow">if</span> ( mindisp > disp )</div>
-<div class="line"><a name="l02590"></a><span class="lineno"> 2590</span> {</div>
-<div class="line"><a name="l02591"></a><span class="lineno"> 2591</span> mindisp = disp ;</div>
-<div class="line"><a name="l02592"></a><span class="lineno"> 2592</span> }</div>
-<div class="line"><a name="l02593"></a><span class="lineno"> 2593</span> <span class="keywordflow">if</span> ( *minval >= pcdata[col] )</div>
-<div class="line"><a name="l02594"></a><span class="lineno"> 2594</span> {</div>
-<div class="line"><a name="l02595"></a><span class="lineno"> 2595</span> *minval = pcdata[col] ;</div>
-<div class="line"><a name="l02596"></a><span class="lineno"> 2596</span> }</div>
-<div class="line"><a name="l02597"></a><span class="lineno"> 2597</span> <span class="keywordflow">if</span> ( *maxval <= pcdata[col + (clx)*((cly)-1)] )</div>
-<div class="line"><a name="l02598"></a><span class="lineno"> 2598</span> {</div>
-<div class="line"><a name="l02599"></a><span class="lineno"> 2599</span> *maxval = pcdata[col + (clx)*((cly)-1)] ;</div>
-<div class="line"><a name="l02600"></a><span class="lineno"> 2600</span> }</div>
-<div class="line"><a name="l02601"></a><span class="lineno"> 2601</span> }</div>
-<div class="line"><a name="l02602"></a><span class="lineno"> 2602</span> </div>
-<div class="line"><a name="l02603"></a><span class="lineno"> 2603</span> <span class="comment">/* find the used grating and set the dispersion to the defined value */</span></div>
-<div class="line"><a name="l02604"></a><span class="lineno"> 2604</span> <span class="keywordflow">if</span> (*minval > 1.9 )</div>
-<div class="line"><a name="l02605"></a><span class="lineno"> 2605</span> {</div>
-<div class="line"><a name="l02606"></a><span class="lineno"> 2606</span> <span class="keywordflow">if</span> ( cly > 1024 && cly < 3000)</div>
-<div class="line"><a name="l02607"></a><span class="lineno"> 2607</span> {</div>
-<div class="line"><a name="l02608"></a><span class="lineno"> 2608</span> *dispersion = DISPERSION_K_DITH ;</div>
-<div class="line"><a name="l02609"></a><span class="lineno"> 2609</span> *centralLambda = CENTRALLAMBDA_K ;</div>
-<div class="line"><a name="l02610"></a><span class="lineno"> 2610</span> }</div>
-<div class="line"><a name="l02611"></a><span class="lineno"> 2611</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( cly < 2000)</div>
-<div class="line"><a name="l02612"></a><span class="lineno"> 2612</span> {</div>
-<div class="line"><a name="l02613"></a><span class="lineno"> 2613</span> *dispersion = DISPERSION_K ;</div>
-<div class="line"><a name="l02614"></a><span class="lineno"> 2614</span> *centralLambda = CENTRALLAMBDA_K ;</div>
-<div class="line"><a name="l02615"></a><span class="lineno"> 2615</span> }</div>
-<div class="line"><a name="l02616"></a><span class="lineno"> 2616</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02617"></a><span class="lineno"> 2617</span> {</div>
-<div class="line"><a name="l02618"></a><span class="lineno"> 2618</span> *dispersion = DISPERSION_K_DITH/2 ;</div>
-<div class="line"><a name="l02619"></a><span class="lineno"> 2619</span> *centralLambda = CENTRALLAMBDA_K ;</div>
-<div class="line"><a name="l02620"></a><span class="lineno"> 2620</span> }</div>
-<div class="line"><a name="l02621"></a><span class="lineno"> 2621</span> }</div>
-<div class="line"><a name="l02622"></a><span class="lineno"> 2622</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (*minval < 1.2 )</div>
-<div class="line"><a name="l02623"></a><span class="lineno"> 2623</span> {</div>
-<div class="line"><a name="l02624"></a><span class="lineno"> 2624</span> <span class="keywordflow">if</span> ( cly > 1024 )</div>
-<div class="line"><a name="l02625"></a><span class="lineno"> 2625</span> {</div>
-<div class="line"><a name="l02626"></a><span class="lineno"> 2626</span> *dispersion = DISPERSION_J_DITH ;</div>
-<div class="line"><a name="l02627"></a><span class="lineno"> 2627</span> *centralLambda = CENTRALLAMBDA_J ;</div>
-<div class="line"><a name="l02628"></a><span class="lineno"> 2628</span> }</div>
-<div class="line"><a name="l02629"></a><span class="lineno"> 2629</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02630"></a><span class="lineno"> 2630</span> {</div>
-<div class="line"><a name="l02631"></a><span class="lineno"> 2631</span> *dispersion = DISPERSION_J ;</div>
-<div class="line"><a name="l02632"></a><span class="lineno"> 2632</span> *centralLambda = CENTRALLAMBDA_J ;</div>
-<div class="line"><a name="l02633"></a><span class="lineno"> 2633</span> }</div>
-<div class="line"><a name="l02634"></a><span class="lineno"> 2634</span> }</div>
-<div class="line"><a name="l02635"></a><span class="lineno"> 2635</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l02636"></a><span class="lineno"> 2636</span> {</div>
-<div class="line"><a name="l02637"></a><span class="lineno"> 2637</span> <span class="keywordflow">if</span> ( *maxval > 2.3 )</div>
-<div class="line"><a name="l02638"></a><span class="lineno"> 2638</span> {</div>
-<div class="line"><a name="l02639"></a><span class="lineno"> 2639</span> <span class="keywordflow">if</span> ( cly > 1024 )</div>
-<div class="line"><a name="l02640"></a><span class="lineno"> 2640</span> {</div>
-<div class="line"><a name="l02641"></a><span class="lineno"> 2641</span> *dispersion = DISPERSION_HK_DITH ;</div>
-<div class="line"><a name="l02642"></a><span class="lineno"> 2642</span> *centralLambda = CENTRALLAMBDA_HK ;</div>
-<div class="line"><a name="l02643"></a><span class="lineno"> 2643</span> }</div>
-<div class="line"><a name="l02644"></a><span class="lineno"> 2644</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02645"></a><span class="lineno"> 2645</span> {</div>
-<div class="line"><a name="l02646"></a><span class="lineno"> 2646</span> *dispersion = DISPERSION_HK ;</div>
-<div class="line"><a name="l02647"></a><span class="lineno"> 2647</span> *centralLambda = CENTRALLAMBDA_HK ;</div>
-<div class="line"><a name="l02648"></a><span class="lineno"> 2648</span> }</div>
-<div class="line"><a name="l02649"></a><span class="lineno"> 2649</span> }</div>
-<div class="line"><a name="l02650"></a><span class="lineno"> 2650</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l02651"></a><span class="lineno"> 2651</span> {</div>
-<div class="line"><a name="l02652"></a><span class="lineno"> 2652</span> <span class="keywordflow">if</span> ( cly > 1024 )</div>
-<div class="line"><a name="l02653"></a><span class="lineno"> 2653</span> {</div>
-<div class="line"><a name="l02654"></a><span class="lineno"> 2654</span> *dispersion = DISPERSION_H_DITH ;</div>
-<div class="line"><a name="l02655"></a><span class="lineno"> 2655</span> *centralLambda = CENTRALLAMBDA_H ;</div>
-<div class="line"><a name="l02656"></a><span class="lineno"> 2656</span> }</div>
-<div class="line"><a name="l02657"></a><span class="lineno"> 2657</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02658"></a><span class="lineno"> 2658</span> {</div>
-<div class="line"><a name="l02659"></a><span class="lineno"> 2659</span> *dispersion = DISPERSION_H ;</div>
-<div class="line"><a name="l02660"></a><span class="lineno"> 2660</span> *centralLambda = CENTRALLAMBDA_H ;</div>
-<div class="line"><a name="l02661"></a><span class="lineno"> 2661</span> }</div>
-<div class="line"><a name="l02662"></a><span class="lineno"> 2662</span> }</div>
-<div class="line"><a name="l02663"></a><span class="lineno"> 2663</span> }</div>
-<div class="line"><a name="l02664"></a><span class="lineno"> 2664</span> </div>
-<div class="line"><a name="l02665"></a><span class="lineno"> 2665</span> <span class="comment">/*if ( *minval + (float)n_rows * *dispersion < *maxval ) </span></div>
-<div class="line"><a name="l02666"></a><span class="lineno"> 2666</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l02667"></a><span class="lineno"> 2667</span> <span class="comment"> sinfo_msg_error(" given number of rows too small!\n");</span></div>
-<div class="line"><a name="l02668"></a><span class="lineno"> 2668</span> <span class="comment"> return NULL ;</span></div>
-<div class="line"><a name="l02669"></a><span class="lineno"> 2669</span> <span class="comment"> }*/</span></div>
-<div class="line"><a name="l02670"></a><span class="lineno"> 2670</span> <span class="keywordflow">if</span> ( (*maxval - *minval) / *dispersion < (float)cly ) </div>
-<div class="line"><a name="l02671"></a><span class="lineno"> 2671</span> {</div>
-<div class="line"><a name="l02672"></a><span class="lineno"> 2672</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" must be something wrong with the wavelength map!\n"</span>);</div>
-<div class="line"><a name="l02673"></a><span class="lineno"> 2673</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02674"></a><span class="lineno"> 2674</span> }</div>
-<div class="line"><a name="l02675"></a><span class="lineno"> 2675</span> </div>
-<div class="line"><a name="l02676"></a><span class="lineno"> 2676</span> <span class="comment">/* determine the central pixel and the lambda in the first image row */</span></div>
-<div class="line"><a name="l02677"></a><span class="lineno"> 2677</span> *n_rows = floor(floor(0.5+(*maxval - *minval) / *dispersion)/2+0.5)*2;</div>
-<div class="line"><a name="l02678"></a><span class="lineno"> 2678</span> *centralpix = *n_rows / 2 ; </div>
-<div class="line"><a name="l02679"></a><span class="lineno"> 2679</span> minLambda = *centralLambda - *dispersion * (float)*centralpix ;</div>
-<div class="line"><a name="l02680"></a><span class="lineno"> 2680</span> <span class="comment">/*if ( (minLambda + *dispersion * n_rows) < *maxval ) </span></div>
-<div class="line"><a name="l02681"></a><span class="lineno"> 2681</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l02682"></a><span class="lineno"> 2682</span> <span class="comment"> sinfo_msg_error(" not enough rows defined \n");</span></div>
-<div class="line"><a name="l02683"></a><span class="lineno"> 2683</span> <span class="comment"> return NULL ;</span></div>
-<div class="line"><a name="l02684"></a><span class="lineno"> 2684</span> <span class="comment"> }</span></div>
-<div class="line"><a name="l02685"></a><span class="lineno"> 2685</span> <span class="comment"> if ( minLambda > *minval ) </span></div>
-<div class="line"><a name="l02686"></a><span class="lineno"> 2686</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l02687"></a><span class="lineno"> 2687</span> <span class="comment"> sinfo_msg_error(" not enough rows defined \n");</span></div>
-<div class="line"><a name="l02688"></a><span class="lineno"> 2688</span> <span class="comment"> return NULL ;</span></div>
-<div class="line"><a name="l02689"></a><span class="lineno"> 2689</span> <span class="comment"> }*/</span></div>
-<div class="line"><a name="l02690"></a><span class="lineno"> 2690</span> </div>
-<div class="line"><a name="l02691"></a><span class="lineno"> 2691</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l02692"></a><span class="lineno"> 2692</span> <span class="keywordflow">if</span> ( NULL == ( retImage = cpl_image_new( ilx, *n_rows,CPL_TYPE_FLOAT ) ))</div>
-<div class="line"><a name="l02693"></a><span class="lineno"> 2693</span> {</div>
-<div class="line"><a name="l02694"></a><span class="lineno"> 2694</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" cannot allocate a new image\n"</span>);</div>
-<div class="line"><a name="l02695"></a><span class="lineno"> 2695</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02696"></a><span class="lineno"> 2696</span> }</div>
-<div class="line"><a name="l02697"></a><span class="lineno"> 2697</span> podata=cpl_image_get_data_float(retImage);</div>
-<div class="line"><a name="l02698"></a><span class="lineno"> 2698</span> olx=cpl_image_get_size_x(retImage);</div>
-<div class="line"><a name="l02699"></a><span class="lineno"> 2699</span> oly=cpl_image_get_size_y(retImage);</div>
-<div class="line"><a name="l02700"></a><span class="lineno"> 2700</span> <span class="comment">/* now go through the columns */</span></div>
-<div class="line"><a name="l02701"></a><span class="lineno"> 2701</span> retimagecol = cpl_malloc(*n_rows * <span class="keyword">sizeof</span>(retimagecol[0]));</div>
-<div class="line"><a name="l02702"></a><span class="lineno"> 2702</span> calcolpos = cpl_malloc(*n_rows * <span class="keyword">sizeof</span>(calcolpos[0])); </div>
-<div class="line"><a name="l02703"></a><span class="lineno"> 2703</span> <span class="keywordflow">for</span> ( col = 0 ; col < olx ; col++ )</div>
-<div class="line"><a name="l02704"></a><span class="lineno"> 2704</span> {</div>
-<div class="line"><a name="l02705"></a><span class="lineno"> 2705</span> <span class="comment">/*------------------------------------------------------------------ </span></div>
-<div class="line"><a name="l02706"></a><span class="lineno"> 2706</span> <span class="comment"> * copy the columns of the source image and the wavemap image into</span></div>
-<div class="line"><a name="l02707"></a><span class="lineno"> 2707</span> <span class="comment"> * buffer arrays to speed things up</span></div>
-<div class="line"><a name="l02708"></a><span class="lineno"> 2708</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02709"></a><span class="lineno"> 2709</span> sum = 0. ;</div>
-<div class="line"><a name="l02710"></a><span class="lineno"> 2710</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l02711"></a><span class="lineno"> 2711</span> {</div>
-<div class="line"><a name="l02712"></a><span class="lineno"> 2712</span> imagecol[row] = pidata[col + row*ilx] ; </div>
-<div class="line"><a name="l02713"></a><span class="lineno"> 2713</span> <span class="keywordflow">if</span> (!isnan(imagecol[row]))</div>
-<div class="line"><a name="l02714"></a><span class="lineno"> 2714</span> {</div>
-<div class="line"><a name="l02715"></a><span class="lineno"> 2715</span> sum += imagecol[row] ;</div>
-<div class="line"><a name="l02716"></a><span class="lineno"> 2716</span> }</div>
-<div class="line"><a name="l02717"></a><span class="lineno"> 2717</span> calcol[row] = pcdata[col + row*clx] ; </div>
-<div class="line"><a name="l02718"></a><span class="lineno"> 2718</span> }</div>
-<div class="line"><a name="l02719"></a><span class="lineno"> 2719</span> </div>
-<div class="line"><a name="l02720"></a><span class="lineno"> 2720</span> <span class="keywordflow">for</span> ( row = 0 ; row < oly ; row++ )</div>
-<div class="line"><a name="l02721"></a><span class="lineno"> 2721</span> {</div>
-<div class="line"><a name="l02722"></a><span class="lineno"> 2722</span> retimagecol[row] = 0. ;</div>
-<div class="line"><a name="l02723"></a><span class="lineno"> 2723</span> calcolpos[row] = -1;</div>
-<div class="line"><a name="l02724"></a><span class="lineno"> 2724</span> }</div>
-<div class="line"><a name="l02725"></a><span class="lineno"> 2725</span> </div>
-<div class="line"><a name="l02726"></a><span class="lineno"> 2726</span> <span class="keywordflow">for</span> ( row=0 ; row < cly ; row++)</div>
-<div class="line"><a name="l02727"></a><span class="lineno"> 2727</span> {</div>
-<div class="line"><a name="l02728"></a><span class="lineno"> 2728</span> temprow = (calcol[row]- minLambda)/ *dispersion;</div>
-<div class="line"><a name="l02729"></a><span class="lineno"> 2729</span> <span class="keywordflow">if</span> (temprow >= 0 && temprow < oly)</div>
-<div class="line"><a name="l02730"></a><span class="lineno"> 2730</span> calcolpos[(int) temprow] = row;</div>
-<div class="line"><a name="l02731"></a><span class="lineno"> 2731</span> }</div>
-<div class="line"><a name="l02732"></a><span class="lineno"> 2732</span> </div>
-<div class="line"><a name="l02733"></a><span class="lineno"> 2733</span> zeroind = 0 ;</div>
-<div class="line"><a name="l02734"></a><span class="lineno"> 2734</span> </div>
-<div class="line"><a name="l02735"></a><span class="lineno"> 2735</span> </div>
-<div class="line"><a name="l02736"></a><span class="lineno"> 2736</span> <span class="keywordflow">for</span> ( row = 0 ; row < oly ; row++ )</div>
-<div class="line"><a name="l02737"></a><span class="lineno"> 2737</span> {</div>
-<div class="line"><a name="l02738"></a><span class="lineno"> 2738</span> lambda = minLambda + *dispersion * (float) row ;</div>
-<div class="line"><a name="l02739"></a><span class="lineno"> 2739</span> </div>
-<div class="line"><a name="l02740"></a><span class="lineno"> 2740</span> <span class="comment">/*--------------------------------------------------------------- </span></div>
-<div class="line"><a name="l02741"></a><span class="lineno"> 2741</span> <span class="comment"> * lambda must lie between the two available wavelength extremes</span></div>
-<div class="line"><a name="l02742"></a><span class="lineno"> 2742</span> <span class="comment"> * otherwise the image pixels are set to ZERO </span></div>
-<div class="line"><a name="l02743"></a><span class="lineno"> 2743</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02744"></a><span class="lineno"> 2744</span> <span class="keywordflow">if</span> ( row < cly )</div>
-<div class="line"><a name="l02745"></a><span class="lineno"> 2745</span> {</div>
-<div class="line"><a name="l02746"></a><span class="lineno"> 2746</span> <span class="keywordflow">if</span> ( isnan(calcol[row]) )</div>
-<div class="line"><a name="l02747"></a><span class="lineno"> 2747</span> {</div>
-<div class="line"><a name="l02748"></a><span class="lineno"> 2748</span> zeroind = 1 ;</div>
-<div class="line"><a name="l02749"></a><span class="lineno"> 2749</span> } </div>
-<div class="line"><a name="l02750"></a><span class="lineno"> 2750</span> }</div>
-<div class="line"><a name="l02751"></a><span class="lineno"> 2751</span> </div>
-<div class="line"><a name="l02752"></a><span class="lineno"> 2752</span> <span class="keywordflow">if</span> ( (lambda < calcol[0]) || </div>
-<div class="line"><a name="l02753"></a><span class="lineno"> 2753</span> (lambda > calcol[(cly)-1]) || zeroind == 1 )</div>
-<div class="line"><a name="l02754"></a><span class="lineno"> 2754</span> {</div>
-<div class="line"><a name="l02755"></a><span class="lineno"> 2755</span> retimagecol[row] = ZERO ;</div>
-<div class="line"><a name="l02756"></a><span class="lineno"> 2756</span> continue ;</div>
-<div class="line"><a name="l02757"></a><span class="lineno"> 2757</span> }</div>
-<div class="line"><a name="l02758"></a><span class="lineno"> 2758</span> <span class="comment">/*testrow = 0 ; </span></div>
-<div class="line"><a name="l02759"></a><span class="lineno"> 2759</span> <span class="comment"> while ( lambda > calcol[testrow] )</span></div>
-<div class="line"><a name="l02760"></a><span class="lineno"> 2760</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l02761"></a><span class="lineno"> 2761</span> <span class="comment"> testrow++ ;</span></div>
-<div class="line"><a name="l02762"></a><span class="lineno"> 2762</span> <span class="comment"> }*/</span></div>
-<div class="line"><a name="l02763"></a><span class="lineno"> 2763</span> <span class="keywordflow">if</span> (calcolpos[row]==-1) {</div>
-<div class="line"><a name="l02764"></a><span class="lineno"> 2764</span> <span class="keywordflow">if</span>(row>= (*n_rows-1)) calcolpos[row] = calcolpos[row-1];</div>
-<div class="line"><a name="l02765"></a><span class="lineno"> 2765</span> <span class="keywordflow">if</span>(row< (*n_rows-1)) calcolpos[row] = calcolpos[row+1];</div>
-<div class="line"><a name="l02766"></a><span class="lineno"> 2766</span> }</div>
-<div class="line"><a name="l02767"></a><span class="lineno"> 2767</span> <span class="keywordflow">if</span>(calcolpos[row]>0) {</div>
-<div class="line"><a name="l02768"></a><span class="lineno"> 2768</span> <span class="keywordflow">if</span> (lambda-calcol[calcolpos[row]-1]==0.) {</div>
-<div class="line"><a name="l02769"></a><span class="lineno"> 2769</span> calcolpos[row]=calcolpos[row]-1;</div>
-<div class="line"><a name="l02770"></a><span class="lineno"> 2770</span> }</div>
-<div class="line"><a name="l02771"></a><span class="lineno"> 2771</span> }</div>
-<div class="line"><a name="l02772"></a><span class="lineno"> 2772</span> testrow = calcolpos[row];</div>
-<div class="line"><a name="l02773"></a><span class="lineno"> 2773</span> </div>
-<div class="line"><a name="l02774"></a><span class="lineno"> 2774</span> <span class="comment">/*-----------------------------------------------------------------</span></div>
-<div class="line"><a name="l02775"></a><span class="lineno"> 2775</span> <span class="comment"> * at this point calcol[testrow-1] < lambda <= calcol[testrow] </span></div>
-<div class="line"><a name="l02776"></a><span class="lineno"> 2776</span> <span class="comment"> * now determine the box position in which the polint fit is </span></div>
-<div class="line"><a name="l02777"></a><span class="lineno"> 2777</span> <span class="comment"> carried through.</span></div>
-<div class="line"><a name="l02778"></a><span class="lineno"> 2778</span> <span class="comment"> * the half width of the box is half the number of fit parameters.</span></div>
-<div class="line"><a name="l02779"></a><span class="lineno"> 2779</span> <span class="comment"> * Now we determine the start position of the fitting box and treat</span></div>
-<div class="line"><a name="l02780"></a><span class="lineno"> 2780</span> <span class="comment"> * the special case of being near the sinfo_edge.</span></div>
-<div class="line"><a name="l02781"></a><span class="lineno"> 2781</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02782"></a><span class="lineno"> 2782</span> </div>
-<div class="line"><a name="l02783"></a><span class="lineno"> 2783</span> <span class="keywordflow">if</span> ( n_params % 2 == 0 )</div>
-<div class="line"><a name="l02784"></a><span class="lineno"> 2784</span> {</div>
-<div class="line"><a name="l02785"></a><span class="lineno"> 2785</span> half_width = (int)(n_params/2) - 1 ;</div>
-<div class="line"><a name="l02786"></a><span class="lineno"> 2786</span> }</div>
-<div class="line"><a name="l02787"></a><span class="lineno"> 2787</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02788"></a><span class="lineno"> 2788</span> {</div>
-<div class="line"><a name="l02789"></a><span class="lineno"> 2789</span> half_width = (int)(n_params/2) ;</div>
-<div class="line"><a name="l02790"></a><span class="lineno"> 2790</span> }</div>
-<div class="line"><a name="l02791"></a><span class="lineno"> 2791</span> </div>
-<div class="line"><a name="l02792"></a><span class="lineno"> 2792</span> </div>
-<div class="line"><a name="l02793"></a><span class="lineno"> 2793</span> <span class="keywordflow">if</span> ( isnan(imagecol[testrow]) )</div>
-<div class="line"><a name="l02794"></a><span class="lineno"> 2794</span> {</div>
-<div class="line"><a name="l02795"></a><span class="lineno"> 2795</span> <span class="keywordflow">for</span> ( i = row-half_width ; i < row-half_width+n_params ; i++ )</div>
-<div class="line"><a name="l02796"></a><span class="lineno"> 2796</span> { </div>
-<div class="line"><a name="l02797"></a><span class="lineno"> 2797</span> <span class="keywordflow">if</span> (i < 0) continue ;</div>
-<div class="line"><a name="l02798"></a><span class="lineno"> 2798</span> <span class="keywordflow">if</span> ( i >= oly ) continue ;</div>
-<div class="line"><a name="l02799"></a><span class="lineno"> 2799</span> retimagecol[i] = ZERO ;</div>
-<div class="line"><a name="l02800"></a><span class="lineno"> 2800</span> }</div>
-<div class="line"><a name="l02801"></a><span class="lineno"> 2801</span> imagecol[testrow] = 0. ;</div>
-<div class="line"><a name="l02802"></a><span class="lineno"> 2802</span> }</div>
-<div class="line"><a name="l02803"></a><span class="lineno"> 2803</span> </div>
-<div class="line"><a name="l02804"></a><span class="lineno"> 2804</span> }</div>
-<div class="line"><a name="l02805"></a><span class="lineno"> 2805</span> </div>
-<div class="line"><a name="l02806"></a><span class="lineno"> 2806</span> <span class="comment">/* now loop over the rows and establish the lambda for each row */</span></div>
-<div class="line"><a name="l02807"></a><span class="lineno"> 2807</span> new_sum = 0. ;</div>
-<div class="line"><a name="l02808"></a><span class="lineno"> 2808</span> <span class="keywordflow">for</span> ( row = 0 ; row < oly ; row++ )</div>
-<div class="line"><a name="l02809"></a><span class="lineno"> 2809</span> {</div>
-<div class="line"><a name="l02810"></a><span class="lineno"> 2810</span> <span class="keywordflow">if</span> ( isnan(retimagecol[row]) )</div>
-<div class="line"><a name="l02811"></a><span class="lineno"> 2811</span> {</div>
-<div class="line"><a name="l02812"></a><span class="lineno"> 2812</span> continue ;</div>
-<div class="line"><a name="l02813"></a><span class="lineno"> 2813</span> }</div>
-<div class="line"><a name="l02814"></a><span class="lineno"> 2814</span> lambda = minLambda + *dispersion * (float) row ;</div>
-<div class="line"><a name="l02815"></a><span class="lineno"> 2815</span> </div>
-<div class="line"><a name="l02816"></a><span class="lineno"> 2816</span> <span class="comment">/*--------------------------------------------------------------- </span></div>
-<div class="line"><a name="l02817"></a><span class="lineno"> 2817</span> <span class="comment"> * lambda must lie between the two available wavelength extremes</span></div>
-<div class="line"><a name="l02818"></a><span class="lineno"> 2818</span> <span class="comment"> * otherwise the image pixels are set to ZERO </span></div>
-<div class="line"><a name="l02819"></a><span class="lineno"> 2819</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02820"></a><span class="lineno"> 2820</span> <span class="keywordflow">if</span> ( (lambda < calcol[0]) || (lambda > calcol[(cly)-1]) ) </div>
-<div class="line"><a name="l02821"></a><span class="lineno"> 2821</span> {</div>
-<div class="line"><a name="l02822"></a><span class="lineno"> 2822</span> retimagecol[row] = ZERO ;</div>
-<div class="line"><a name="l02823"></a><span class="lineno"> 2823</span> continue ;</div>
-<div class="line"><a name="l02824"></a><span class="lineno"> 2824</span> }</div>
-<div class="line"><a name="l02825"></a><span class="lineno"> 2825</span> <span class="comment">/*testrow = 0 ; </span></div>
-<div class="line"><a name="l02826"></a><span class="lineno"> 2826</span> <span class="comment"> while ( lambda > calcol[testrow] )</span></div>
-<div class="line"><a name="l02827"></a><span class="lineno"> 2827</span> <span class="comment"> {</span></div>
-<div class="line"><a name="l02828"></a><span class="lineno"> 2828</span> <span class="comment"> testrow++ ;</span></div>
-<div class="line"><a name="l02829"></a><span class="lineno"> 2829</span> <span class="comment"> }*/</span></div>
-<div class="line"><a name="l02830"></a><span class="lineno"> 2830</span> <span class="keywordflow">if</span> (calcolpos[row]==-1) {</div>
-<div class="line"><a name="l02831"></a><span class="lineno"> 2831</span> <span class="keywordflow">if</span>(row >= (*n_rows-1)) calcolpos[row] = calcolpos[row-1];</div>
-<div class="line"><a name="l02832"></a><span class="lineno"> 2832</span> <span class="keywordflow">if</span>(row < (*n_rows-1)) calcolpos[row] = calcolpos[row+1];</div>
-<div class="line"><a name="l02833"></a><span class="lineno"> 2833</span> }</div>
-<div class="line"><a name="l02834"></a><span class="lineno"> 2834</span> </div>
-<div class="line"><a name="l02835"></a><span class="lineno"> 2835</span> testrow = calcolpos[row];</div>
-<div class="line"><a name="l02836"></a><span class="lineno"> 2836</span> </div>
-<div class="line"><a name="l02837"></a><span class="lineno"> 2837</span> <span class="comment">/*--------------------------------------------------------------</span></div>
-<div class="line"><a name="l02838"></a><span class="lineno"> 2838</span> <span class="comment"> * at this point calcol[testrow-1] < lambda <= calcol[testrow] </span></div>
-<div class="line"><a name="l02839"></a><span class="lineno"> 2839</span> <span class="comment"> * now determine the box position in which the polynomial </span></div>
-<div class="line"><a name="l02840"></a><span class="lineno"> 2840</span> <span class="comment"> interpolation is carried through.</span></div>
-<div class="line"><a name="l02841"></a><span class="lineno"> 2841</span> <span class="comment"> * the half width of the box is half the number of fit parameters.</span></div>
-<div class="line"><a name="l02842"></a><span class="lineno"> 2842</span> <span class="comment"> * Now we determine the start position of the fitting box and treat</span></div>
-<div class="line"><a name="l02843"></a><span class="lineno"> 2843</span> <span class="comment"> * the special case of being near the sinfo_edge.</span></div>
-<div class="line"><a name="l02844"></a><span class="lineno"> 2844</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02845"></a><span class="lineno"> 2845</span> </div>
-<div class="line"><a name="l02846"></a><span class="lineno"> 2846</span> <span class="keywordflow">if</span> ( n_params % 2 == 0 )</div>
-<div class="line"><a name="l02847"></a><span class="lineno"> 2847</span> {</div>
-<div class="line"><a name="l02848"></a><span class="lineno"> 2848</span> half_width = (int)(n_params/2) - 1 ;</div>
-<div class="line"><a name="l02849"></a><span class="lineno"> 2849</span> }</div>
-<div class="line"><a name="l02850"></a><span class="lineno"> 2850</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02851"></a><span class="lineno"> 2851</span> {</div>
-<div class="line"><a name="l02852"></a><span class="lineno"> 2852</span> half_width = (int)(n_params/2) ;</div>
-<div class="line"><a name="l02853"></a><span class="lineno"> 2853</span> }</div>
-<div class="line"><a name="l02854"></a><span class="lineno"> 2854</span> </div>
-<div class="line"><a name="l02855"></a><span class="lineno"> 2855</span> firstpos = testrow - half_width ;</div>
-<div class="line"><a name="l02856"></a><span class="lineno"> 2856</span> <span class="keywordflow">if</span> ( firstpos < 0 )</div>
-<div class="line"><a name="l02857"></a><span class="lineno"> 2857</span> {</div>
-<div class="line"><a name="l02858"></a><span class="lineno"> 2858</span> firstpos = 0 ;</div>
-<div class="line"><a name="l02859"></a><span class="lineno"> 2859</span> }</div>
-<div class="line"><a name="l02860"></a><span class="lineno"> 2860</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( firstpos > ((cly)-n_params) )</div>
-<div class="line"><a name="l02861"></a><span class="lineno"> 2861</span> {</div>
-<div class="line"><a name="l02862"></a><span class="lineno"> 2862</span> firstpos = cly - n_params ;</div>
-<div class="line"><a name="l02863"></a><span class="lineno"> 2863</span> }</div>
-<div class="line"><a name="l02864"></a><span class="lineno"> 2864</span> <span class="keywordflow">if</span> ( isnan(imagecol[firstpos]) )</div>
-<div class="line"><a name="l02865"></a><span class="lineno"> 2865</span> {</div>
-<div class="line"><a name="l02866"></a><span class="lineno"> 2866</span> retimagecol[row] = ZERO ;</div>
-<div class="line"><a name="l02867"></a><span class="lineno"> 2867</span> continue ;</div>
-<div class="line"><a name="l02868"></a><span class="lineno"> 2868</span> }</div>
-<div class="line"><a name="l02869"></a><span class="lineno"> 2869</span> </div>
-<div class="line"><a name="l02870"></a><span class="lineno"> 2870</span> </div>
-<div class="line"><a name="l02871"></a><span class="lineno"> 2871</span> <span class="comment">/* we must rescale the x-values (smaller than 1) </span></div>
-<div class="line"><a name="l02872"></a><span class="lineno"> 2872</span> <span class="comment"> for the fitting routine */</span></div>
-<div class="line"><a name="l02873"></a><span class="lineno"> 2873</span> dif = calcol[firstpos+n_params-1] - calcol[firstpos] ;</div>
-<div class="line"><a name="l02874"></a><span class="lineno"> 2874</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_params ; i++ )</div>
-<div class="line"><a name="l02875"></a><span class="lineno"> 2875</span> {</div>
-<div class="line"><a name="l02876"></a><span class="lineno"> 2876</span> x_renorm[i] = (calcol[firstpos + i] - calcol[firstpos]) / dif ;</div>
-<div class="line"><a name="l02877"></a><span class="lineno"> 2877</span> }</div>
-<div class="line"><a name="l02878"></a><span class="lineno"> 2878</span> </div>
-<div class="line"><a name="l02879"></a><span class="lineno"> 2879</span> </div>
-<div class="line"><a name="l02880"></a><span class="lineno"> 2880</span> lambda_renorm = ( lambda - calcol[firstpos] ) / dif ; </div>
-<div class="line"><a name="l02881"></a><span class="lineno"> 2881</span> </div>
-<div class="line"><a name="l02882"></a><span class="lineno"> 2882</span> imageptr = &imagecol[firstpos] ;</div>
-<div class="line"><a name="l02883"></a><span class="lineno"> 2883</span> </div>
-<div class="line"><a name="l02884"></a><span class="lineno"> 2884</span> flag = 0;</div>
-<div class="line"><a name="l02885"></a><span class="lineno"> 2885</span> poly=sinfo_new_nev_ille(x_renorm, imageptr, </div>
-<div class="line"><a name="l02886"></a><span class="lineno"> 2886</span> n_params-1, lambda_renorm, &flag);</div>
-<div class="line"><a name="l02887"></a><span class="lineno"> 2887</span> </div>
-<div class="line"><a name="l02888"></a><span class="lineno"> 2888</span> new_sum += poly ;</div>
-<div class="line"><a name="l02889"></a><span class="lineno"> 2889</span> retimagecol[row] = poly ; </div>
-<div class="line"><a name="l02890"></a><span class="lineno"> 2890</span> }</div>
-<div class="line"><a name="l02891"></a><span class="lineno"> 2891</span> </div>
-<div class="line"><a name="l02892"></a><span class="lineno"> 2892</span> <span class="comment">/* now renorm the total flux */</span></div>
-<div class="line"><a name="l02893"></a><span class="lineno"> 2893</span> <span class="keywordflow">for</span> ( row = 0 ; row < oly ; row++ )</div>
-<div class="line"><a name="l02894"></a><span class="lineno"> 2894</span> {</div>
-<div class="line"><a name="l02895"></a><span class="lineno"> 2895</span> <span class="keywordflow">if</span> ( new_sum == 0. ) new_sum = 1. ;</div>
-<div class="line"><a name="l02896"></a><span class="lineno"> 2896</span> <span class="keywordflow">if</span> ( isnan(retimagecol[row]) )</div>
-<div class="line"><a name="l02897"></a><span class="lineno"> 2897</span> {</div>
-<div class="line"><a name="l02898"></a><span class="lineno"> 2898</span> podata[col+row*olx] = ZERO ;</div>
-<div class="line"><a name="l02899"></a><span class="lineno"> 2899</span> }</div>
-<div class="line"><a name="l02900"></a><span class="lineno"> 2900</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02901"></a><span class="lineno"> 2901</span> {</div>
-<div class="line"><a name="l02902"></a><span class="lineno"> 2902</span> <span class="comment">/* rescaling is commented out because it delivers wrong results</span></div>
-<div class="line"><a name="l02903"></a><span class="lineno"> 2903</span> <span class="comment"> in case of appearance of blanks or bad pixels */</span></div>
-<div class="line"><a name="l02904"></a><span class="lineno"> 2904</span> podata[col+row*olx] = retimagecol[row] <span class="comment">/* * sum/new_sum*/</span> ;</div>
-<div class="line"><a name="l02905"></a><span class="lineno"> 2905</span> }</div>
-<div class="line"><a name="l02906"></a><span class="lineno"> 2906</span> }</div>
-<div class="line"><a name="l02907"></a><span class="lineno"> 2907</span> </div>
-<div class="line"><a name="l02908"></a><span class="lineno"> 2908</span> }</div>
-<div class="line"><a name="l02909"></a><span class="lineno"> 2909</span> cpl_free(retimagecol);</div>
-<div class="line"><a name="l02910"></a><span class="lineno"> 2910</span> cpl_free(calcolpos);</div>
-<div class="line"><a name="l02911"></a><span class="lineno"> 2911</span> cpl_free(imagecol) ;</div>
-<div class="line"><a name="l02912"></a><span class="lineno"> 2912</span> cpl_free(calcol) ;</div>
-<div class="line"><a name="l02913"></a><span class="lineno"> 2913</span> cpl_free(x_renorm) ;</div>
-<div class="line"><a name="l02914"></a><span class="lineno"> 2914</span> </div>
-<div class="line"><a name="l02915"></a><span class="lineno"> 2915</span> <span class="keywordflow">return</span> retImage ;</div>
-<div class="line"><a name="l02916"></a><span class="lineno"> 2916</span> }</div>
-<div class="line"><a name="l02917"></a><span class="lineno"> 2917</span> </div>
-<div class="line"><a name="l02919"></a><span class="lineno"> 2919</span> <span class="comment">/*___oOo___*/</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__wave__calibration_8h_source.html b/html/sinfo__wave__calibration_8h_source.html
deleted file mode 100644
index 536b47f..0000000
--- a/html/sinfo__wave__calibration_8h_source.html
+++ /dev/null
@@ -1,216 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_wave_calibration.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_wave_calibration.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_WAVE_CALIBRATION_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_WAVE_CALIBRATION_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*******************************************************************************</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* "@(#) $Id: sinfo_wave_calibration.h,v 1.5 2008/03/25 08:20:43 amodigli Exp $"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* schreib 13/07/00 created</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * wave_calibration.h</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * routines needed for wavelength calibration</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_wavecal.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> * function prototypes</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> FitParams ** </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> sinfo_new_fit_params( <span class="keywordtype">int</span> n_params ) ;</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> sinfo_new_destroy_fit_params ( FitParams *** params ) ;</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> sinfo_new_dump_fit_params_to_ascii ( FitParams ** params, <span class="keyword">const</span> <span class="keywordtype">char</span> * filename ) ;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> sinfo_new_dump_ascii_to_fit_params ( FitParams ** params, <span class="keywordtype">char</span> * filename ) ;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> sinfo_new_find_lines(cpl_image * lineImage,</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordtype">float</span> * wave_position,</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordtype">float</span> * wave_intensity,</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordtype">int</span> n_lines,</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keywordtype">int</span> ** row_clean,</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordtype">float</span> ** wavelength_clean,</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordtype">float</span> beginWave,</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordtype">float</span> dispersion1,</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keywordtype">float</span> dispersion2,</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordtype">float</span> mindiff,</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordtype">int</span> halfWidth,</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">int</span> * n_found_lines,</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordtype">float</span> sigma,</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordtype">int</span> * sum_lines ) ;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> sinfo_new_read_list( <span class="keywordtype">char</span> * listname, </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordtype">float</span> * lineCenter, </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordtype">float</span> * lineIntensity ) ;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> sinfo_new_line_fit (cpl_image * mergedImage,</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> FitParams * par,</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordtype">float</span> fwhm,</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keywordtype">int</span> lineInd,</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordtype">int</span> column,</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordtype">int</span> halfWidth,</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordtype">int</span> lineRow,</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keywordtype">float</span> min_amplitude,</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> Vector * line,</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keywordtype">int</span> * mpar,</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keywordtype">float</span> * xdat,</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keywordtype">float</span> * wdat ) ;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> sinfo_new_fit_lines (cpl_image * line_image,</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> FitParams ** allParams,</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordtype">float</span> fwhm,</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keywordtype">int</span> * n_lines,</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordtype">int</span> ** row,</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keywordtype">float</span> ** wavelength,</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordtype">int</span> width,</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordtype">float</span> min_amplitude ) ;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keywordtype">float</span> </div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> sinfo_new_polyfit( FitParams ** par,</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keywordtype">int</span> column,</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="keywordtype">int</span> n_lines,</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="keywordtype">int</span> n_rows,</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="keywordtype">float</span> dispersion,</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keywordtype">float</span> max_residual,</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keywordtype">float</span> * acoefs,</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="keywordtype">float</span> * dacoefs,</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="keywordtype">int</span> * n_reject,</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="keywordtype">int</span> n_fitcoefs ) ;</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="keywordtype">float</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> sinfo_new_coefs_cross_fit ( <span class="keywordtype">int</span> n_columns,</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="keywordtype">float</span> * acoefs,</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="keywordtype">float</span> * dacoefs,</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="keywordtype">float</span> * bcoefs,</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="keywordtype">int</span> n_fitcoefs,</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="keywordtype">float</span> sigma_factor ) ;</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> cpl_image * </div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> sinfo_new_wave_map(cpl_image * lineImage,</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="keywordtype">float</span> ** bcoefs,</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="keywordtype">int</span> n_a_fitcoefs,</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="keywordtype">int</span> n_b_fitcoefs,</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keywordtype">float</span> * wavelength,</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="keywordtype">float</span> * intensity,</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="keywordtype">int</span> n_lines,</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="keywordtype">int</span> magFactor) ;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> </div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> sinfo_new_wavelength_calibration(cpl_image * image,</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> FitParams ** par ,</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="keywordtype">float</span> ** bcoefs,</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="keywordtype">float</span> * wave,</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="keywordtype">int</span> n_lines,</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="keywordtype">int</span> ** row_clean,</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="keywordtype">float</span> ** wavelength_clean,</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="keywordtype">int</span> * n_found_lines,</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="keywordtype">float</span> dispersion,</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="keywordtype">int</span> halfWidth,</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="keywordtype">float</span> minAmplitude,</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="keywordtype">float</span> max_residual,</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="keywordtype">float</span> fwhm,</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="keywordtype">int</span> n_a_fitcoefs,</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="keywordtype">int</span> n_b_fitcoefs,</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="keywordtype">float</span> sigmaFactor,</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="keywordtype">float</span> pixel_tolerance ) ;</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> </div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> cpl_image * </div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> sinfo_new_convolve_image_by_gauss(cpl_image * lineImage,</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="keywordtype">int</span> hw ) ;</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> </div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> cpl_image * </div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> sinfo_new_defined_resampling(cpl_image * image,</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> cpl_image * calimage,</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="keywordtype">int</span> n_params,</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="keywordtype">int</span>* n_rows,</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="keywordtype">double</span> * dispersion,</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="keywordtype">float</span> * minval,</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="keywordtype">float</span> * maxval,</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="keywordtype">double</span> * centralLambda,</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="keywordtype">int</span> * centralpix ) ;</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> </div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="preprocessor">#endif </span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__wavecal_8c_source.html b/html/sinfo__wavecal_8c_source.html
deleted file mode 100644
index 8a274e2..0000000
--- a/html/sinfo__wavecal_8c_source.html
+++ /dev/null
@@ -1,3621 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_wavecal.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_wavecal.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*************************************************************************</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* </span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* schreib 22/01/02 created</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">* NAME</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">* sinfo_wavecal.c -</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">* routines needed for wavelength calibration with smoothing only</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">* within the slitlets</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">* SYNOPSIS</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">* 1) Bcoeffs * sinfo_new_b_coeffs( int n_slitlets,</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">* int n_acoeffs,</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">* int n_bcoeffs )</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">* 2) void sinfo_new_destroy_b_coeffs ( Bcoeffs * bco )</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">* 3) int sinfo_new_coeffs_cross_slit_fit ( int n_columns,</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">* float ** acoefs,</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">* float ** dacoefs,</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">* Bcoeffs* bco,</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">* float sigma_factor,</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">* float dispersion,</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">* float pixel_dist,</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">* float * chisq )</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">* 4) cpl_image * sinfo_new_wave_map_slit ( float ** acoefs,</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">* int n_acoefs,</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">* int n_rows,</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">* int n_columns )</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">* 5) cpl_image * sinfo_new_wave_cal( cpl_image * image, </span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">* FitParams ** par ,</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">* float ** abuf,</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">* int n_slitlets,</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">* int ** row_clean,</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">* float ** wavelength_clean,</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">* int * n_found_lines,</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">* float dispersion,</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">* int halfWidth,</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">* float minAmplitude,</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">* float max_residual,</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">* float fwhm,</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">* int n_a_fitcoefs,</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">* int n_b_fitcoefs,</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">* float sigmaFactor,</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">* float pixel_dist )</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment">* 6) int sinfo_new_check_for_fake_lines ( FitParams ** par,</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">* float dispersion,</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">* float ** wavelength_clean,</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">* int ** row_clean,</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">* int * n_found_lines,</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">* int n_columns,</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">* float pixel_tolerance )</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">* 7) cpl_image * sinfo_new_create_shifted_slit_wavemap ( cpl_image * lineIm,</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">* float ** coeffs,</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">* int n_fitcoeffs,</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">* float * wavelength,</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">* float * intensity,</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">* int n_lines,</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">* int magFactor )</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">* </span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">* DESCRIPTION</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">* 1) allocates memory for a new array of </span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">* Bcoeffs data structures</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment">* 2) frees memory of an array of Bcoeffs data structures</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">* 3) Fits each single polynomial coefficient acoefs resulting from </span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"> sinfo_polyfit </span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">* across the columns of each slitlet and use the result of this fit to</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">* smooth the acoefs.</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">* 4) builds a new wavelength calibration map as fits image</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment">* by using the fit coeficients.</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">* 5) this routine takes an image from a calibration</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment">* emission lamp and delivers the smoothed fit coefficients of </span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment">* a polynomial fit along the columns of the line positions as output. </span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment">* This routine expects Nyquist sampled spectra </span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment">* (either an interleaved image or an image convolved with an </span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment">* appropriate function in spectral direction)</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment">* 6) this routine searches for successfully fitted fake lines like</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment">* bad pixels by comparing the found line positons with </span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment">* estimated template positions. This routine should be</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment">* inserted in the wavelength calibration routine just after</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">* the sinfo_fitLines() routine.</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment">* 7) This routine cross-correlates a shifted emission line frames </span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment">* and determines the shift to the old one which is given by</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment">* its polynomial coefficients.</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">* Then the a0 coefficients is recalculated and afterwards</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment">* a new wavelength calibration map is generated using the </span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment">* already calculated smoothed polynomial coefficients.</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment">* FILES</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">* ENVIRONMENT</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment">* RETURN VALUES </span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment">* CAUTIONS </span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">* EXAMPLES</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment">* SEE ALSO</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">* BUGS </span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment">*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="preprocessor"></span><span class="preprocessor">#include "sinfo_vltPort.h"</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="preprocessor">#include <math.h></span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment"> * System Headers</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment">/* </span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment"> * Local Headers</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="preprocessor">#include "sinfo_function_1d.h"</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="preprocessor">#include "sinfo_recipes.h"</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="preprocessor">#include "sinfo_wavecal.h"</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="preprocessor">#include "sinfo_wave_calibration.h"</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="preprocessor">#include "sinfo_solve_poly_root.h"</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="preprocessor">#include "sinfo_svd.h"</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment"> * Private functions prototype</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keyword">static</span> Bcoeffs * </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> sinfo_new_b_coeffs( <span class="keywordtype">int</span> n_slitlets,</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordtype">int</span> n_acoeffs,</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordtype">int</span> n_bcoeffs ) ;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> sinfo_new_destroy_b_coeffs ( Bcoeffs * bco ) ;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keyword">static</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> sinfo_new_coeffs_cross_slit_fit ( <span class="keywordtype">int</span> n_columns,</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordtype">float</span> ** acoefs,</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="keywordtype">float</span> ** dacoefs,</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> Bcoeffs* bco,</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordtype">float</span> sigma_factor,</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordtype">float</span> dispersion,</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordtype">float</span> pixel_dist,</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keywordtype">float</span> * chisq ) ;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keyword">static</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> sinfo_new_spred_coeffs_cross_slit_fit ( <span class="keywordtype">int</span> n_columns,</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keywordtype">float</span> ** acoefs,</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordtype">float</span> ** dacoefs,</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> Bcoeffs* bco,</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordtype">float</span> sigma_factor,</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordtype">float</span> dispersion,</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordtype">float</span> pixel_dist,</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordtype">float</span> * chisq,</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keywordtype">float</span> ** sinfo_slit_pos) ;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment"> * function definitions</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="keyword">static</span> Bcoeffs * </div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> sinfo_new_b_coeffs( <span class="keywordtype">int</span> n_slitlets,</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keywordtype">int</span> n_acoeffs,</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keywordtype">int</span> n_bcoeffs )</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> {</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keywordtype">int</span> i, n ;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> Bcoeffs * returnbco ;</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keywordflow">if</span>(NULL == (returnbco=(Bcoeffs*) cpl_calloc(n_slitlets, <span class="keyword">sizeof</span>(Bcoeffs))) )</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> {</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"could not allocate memory"</span>) ;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> }</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> returnbco -> n_slitlets = n_slitlets ;</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> returnbco -> n_acoeffs = n_acoeffs ;</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> returnbco -> n_bcoeffs = n_bcoeffs ;</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_slitlets ; i++ )</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> {</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> returnbco[i].slitlet = i ;</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keywordflow">if</span> ( NULL == (returnbco[i].b = (<span class="keywordtype">float</span>**)cpl_calloc(n_acoeffs, </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>*)) ) ) </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> {</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"could not allocate memory"</span>) ;</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> }</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keywordflow">for</span> ( n = 0 ; n < n_acoeffs ; n++ )</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> {</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordflow">if</span> ( NULL == (returnbco[i].b[n] = (<span class="keywordtype">float</span>*)cpl_calloc(n_bcoeffs, </div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>))) )</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> {</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"could not allocate memory"</span>) ;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> }</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> } </div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> }</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordflow">return</span> returnbco ;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> }</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> sinfo_new_destroy_b_coeffs ( Bcoeffs * bco )</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> {</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="keywordtype">int</span> i, n ;</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keywordflow">for</span> ( i = 0 ; i < bco->n_slitlets ; i++ )</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> {</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="keywordflow">for</span> ( n = 0 ; n < bco->n_acoeffs ; n++ )</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> {</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> cpl_free (bco[i].b[n]) ;</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> }</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> cpl_free(bco[i].b) ;</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> }</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> cpl_free (bco) ; </div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> }</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="keyword">static</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> sinfo_new_coeffs_cross_slit_fit ( <span class="keywordtype">int</span> n_columns,</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="keywordtype">float</span> ** acoefs,</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="keywordtype">float</span> ** dacoefs,</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> Bcoeffs* bco,</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keywordtype">float</span> sigma_factor,</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keywordtype">float</span> dispersion,</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="keywordtype">float</span> pixel_dist,</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="keywordtype">float</span> * chisq )</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> {</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="keywordtype">float</span> col_index;</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="keywordtype">float</span> ** ucoefs, **vcoefs, **covar ;</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="keywordtype">float</span> * acoefsclean ;</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="keywordtype">double</span> sum, sumq, mean ;</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="keywordtype">double</span> sigma ;</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keywordtype">double</span> cliphi, cliplo ;</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="keywordtype">float</span> offset ;</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="keywordtype">float</span> threshold ;</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keywordtype">float</span>* sub_col_index=NULL ;</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="keywordtype">float</span>* sub_acoefs=NULL;</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="keywordtype">float</span>* sub_dacoefs=NULL ;</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="keywordtype">float</span>* wcoefs=NULL ;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="keywordtype">int</span>* edge=NULL ;</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="keywordtype">int</span> ed1, ed2 ;</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keywordtype">int</span> i, n, num, ndata ;</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="keywordtype">int</span> nc, ns ;</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="keywordtype">int</span> loc_index ;</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="keywordtype">int</span> last_i=PIXEL;</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="keywordflow">if</span> ( n_columns < 1 )</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> {</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong number of image columns given"</span>) ;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> }</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="keywordflow">if</span> ( acoefs == NULL || dacoefs == NULL )</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> {</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"acoeffs or errors of coefficients are not given"</span>) ;</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> }</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="keywordflow">if</span> ( bco == NULL )</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> {</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"bcoeffs are not allocated"</span>) ;</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> }</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="keywordflow">if</span> ( sigma_factor <= 0. )</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> {</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"impossible sigma_factor given!"</span>) ;</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> }</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="keywordflow">if</span> ( dispersion == 0. )</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> {</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"impossible dispersion given!"</span>) ;</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> }</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="comment">/*-------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="comment"> * search for the slitlet edges by comparing the a0 coefficients along </span></div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="comment"> the columns if a bigger deviation occurrs it is assumed that there </span></div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="comment"> is an edge.</span></div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> edge=cpl_calloc(bco->n_slitlets,<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)) ;</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> wcoefs=cpl_calloc(bco->n_bcoeffs,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> </div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> n = 0 ;</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> threshold = pixel_dist * fabs(dispersion) ;</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="keywordflow">for</span> ( i = PIXEL ; i < n_columns - PIXEL ; )</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> {</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="keywordflow">if</span> ( !isnan(acoefs[0][i+1]) && </div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> acoefs[0][i+1] != 0. && </div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> acoefs[0][i] != 0. &&</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> dacoefs[0][i+1] != 0.)</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> {</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="keywordflow">if</span> ( isnan(acoefs[0][i]) || acoefs[0][i] == 0. )</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> {</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="keywordflow">if</span> (fabs(acoefs[0][i+1] - acoefs[0][i-1]) >= threshold )</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> {</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keywordflow">if</span>( (i-last_i) < 60 && (i > 80) ) {</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"skip1 i=%d diff=%d\n"</span>,i,i-last_i);</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordflow">goto</span> skip;</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> } <span class="keywordflow">else</span> { </div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="comment"> sinfo_msg("diff1=%f i=%d threshold-%f size=%d\n", </span></div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="comment"> fabs(acoefs[0][i+1] - acoefs[0][i-1]),i,</span></div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="comment"> threshold,i-last_i);</span></div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> edge[n] = i+1 ;</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="comment">//sinfo_msg("1found edge: %d",edge[n]);</span></div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> n++ ;</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> last_i = i;</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> i += PIXEL ;</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> }</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> }</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> }</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> {</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="keywordflow">if</span> ((fabs(acoefs[0][i+1] - acoefs[0][i]) >= threshold) || </div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> (i-last_i) > 63 )</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> {</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="keywordflow">if</span>( (i-last_i) < 60 && ((i> 80) || (i<PIXEL+2))) {</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"skip2 i=%d diff=%d\n"</span>,i,i-last_i);</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keywordflow">goto</span> skip;</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> } <span class="keywordflow">else</span> { </div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> </div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="comment"> sinfo_msg_warning("diff2=%f i=%d threshold-%f size=%d",</span></div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="comment"> fabs(acoefs[0][i+1] - acoefs[0][i]),</span></div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="comment"> i,threshold,i-last_i); </span></div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> </div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> </div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> </div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> edge[n] = i+1 ;</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="comment">//sinfo_msg("2found edge: %d",edge[n]);</span></div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> n++ ;</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> last_i = i;</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> i += PIXEL ;</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> }</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> }</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> }</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="comment">/* sometimes a slitlet may be lost due to divergences in acoeffs[0]</span></div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="comment"> we try to recover it */</span></div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="keywordflow">if</span>( ( (i-last_i) > 63 ) && </div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> ( isnan(fabs(acoefs[0][i+1] - acoefs[0][i])) ||</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> isnan(fabs(acoefs[0][i+1] - acoefs[0][i-1])) ) ) </div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> {</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> edge[n] = i+1 ;</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="comment">//sinfo_msg("3found edge: %d",edge[n]);</span></div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> n++ ;</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> last_i = i;</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"recovered slitlet edge i=%d"</span>,i);</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> i += PIXEL ;</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> </div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> }</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> }</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> skip:</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> i++ ;</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> }</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="comment"> printf("X min %d max %d last %d\n", PIXEL, n_columns - PIXEL, i);</span></div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="comment"> printf("n=%d check=%d\n",n,bco->n_slitlets - 1);</span></div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="keywordflow">if</span> ( n != bco->n_slitlets - 1 )</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> {</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not find the right number "</span></div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="stringliteral">"of slitlets, found: %d"</span>,n+1) ;</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> }</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> </div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> sub_col_index=cpl_calloc(n_columns,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> sub_acoefs=cpl_calloc(n_columns,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>));</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> sub_dacoefs=cpl_calloc(n_columns,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> </div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="comment">/* go through the coefficents indices */</span></div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="keywordflow">for</span> ( loc_index = 0 ; loc_index < bco->n_acoeffs ; loc_index++ )</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> {</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="comment">/* go through the single slitlets */</span></div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="keywordflow">for</span> ( ns = 0 ; ns < bco->n_slitlets ; ns++ )</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> {</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="comment">/* determine the slitlet edges */</span></div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="keywordflow">if</span> ( ns == 0 )</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> {</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> ed1 = 0 ;</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> ed2 = edge[0] ;</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> }</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( ns == bco->n_slitlets - 1 )</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> {</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> ed1 = edge[bco->n_slitlets - 2] ;</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> ed2 = n_columns ;</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> }</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> {</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> ed1 = edge[ns-1] ;</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> ed2 = edge[ns] ;</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> }</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> </div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> nc = 0 ;</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="keywordflow">for</span> ( i = ed1 ; i < ed2 ; i++ )</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> {</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> <span class="keywordflow">if</span> ( isnan(acoefs[loc_index][i]) || </div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> acoefs[loc_index][i] == 0. || </div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> dacoefs[loc_index][i] == 0. )</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> {</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> continue ;</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> }</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> {</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> nc++ ;</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> }</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> }</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="keywordflow">if</span> (NULL==(acoefsclean = (<span class="keywordtype">float</span>*) cpl_calloc(nc , <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>))) )</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> {</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not allocate memory for acoefsclean!"</span>) ;</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> }</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> nc = 0 ;</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="keywordflow">for</span> ( i = ed1 ; i < ed2 ; i++ )</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> {</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="keywordflow">if</span> ( isnan(acoefs[loc_index][i]) || </div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> acoefs[loc_index][i] == 0. || </div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> dacoefs[loc_index][i] == 0. )</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> {</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> continue ;</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> }</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> {</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> acoefsclean[nc] = acoefs[loc_index][i] ;</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> nc++ ;</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> }</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> }</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> </div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> <span class="comment">/* ----------------------------------------------------------</span></div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="comment"> * determine the clean mean and sigma value of the coefficients,</span></div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="comment"> * that means reject 10 % of the extreme low and high values</span></div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> sinfo_pixel_qsort(acoefsclean, nc) ;</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> </div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> sum = 0. ;</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> sumq = 0. ;</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> mean = 0. ;</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> sigma = 0. ;</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> n = 0 ;</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="keywordflow">for</span> ( i = (<span class="keywordtype">int</span>)((<span class="keywordtype">float</span>)nc*LOW_REJECT) ; </div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> i < (int)((<span class="keywordtype">float</span>)nc*HIGH_REJECT) ; i++ )</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> {</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> sum += (double)acoefsclean[i] ;</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> sumq += ((double)acoefsclean[i] * (<span class="keywordtype">double</span>)acoefsclean[i]) ;</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> n ++ ;</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> }</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> mean = sum/(double)n ;</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> sigma = sqrt( sumq/(<span class="keywordtype">double</span>)n - (mean * mean) ) ;</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> cliphi = mean + sigma * (double)sigma_factor ;</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> cliplo = mean - sigma * (double)sigma_factor ;</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="comment">/* fit only the reasonnable values */</span></div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> num = 0 ;</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> col_index = 0 ;</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> <span class="comment"> printf("ed1=%d ed2=%d\n",ed1,ed2);</span></div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="keywordflow">for</span> ( i = ed1 ; i < ed2 ; i++ )</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> {</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <span class="comment">/* take only the reasonnable coefficients */</span></div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> <span class="comment"> printf("acoeffs=%f dacoefs=%f cliphi=%f cliplo=%f\n",</span></div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> <span class="comment"> acoefs[loc_index][i],dacoefs[loc_index][i],cliphi,cliplo);</span></div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> <span class="keywordflow">if</span> ( !isnan(acoefs[loc_index][i]) && </div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> (acoefs[loc_index][i] <= cliphi) && </div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> (acoefs[loc_index][i] >= cliplo) &&</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> (dacoefs[loc_index][i] != 0. ) && </div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> (acoefs[loc_index][i] != 0.) )</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> {</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> sub_acoefs[num] = acoefs[loc_index][i] ;</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> sub_dacoefs[num] = dacoefs[loc_index][i] ;</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> sub_col_index[num] = col_index ;</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> num ++ ;</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> }</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> col_index++ ;</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> }</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> ndata = num ;</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> offset = (float)(col_index-1) / 2. ;</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <span class="comment">/* printf("ndata=%d bco->n_bcoeffs=%d\n",ndata,bco->n_bcoeffs); */</span></div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> </div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> <span class="keywordflow">if</span> ( ndata < bco->n_bcoeffs )</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> {</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"not enough data found in slitlet %d to "</span></div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <span class="stringliteral">"determine the fit coefficients."</span>, ns) ;</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> cpl_free(acoefsclean) ;</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> }</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> </div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> <span class="comment">/* allocate coefficient matrices */</span></div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> ucoefs = sinfo_matrix(1, ndata, 1, bco->n_bcoeffs) ;</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> vcoefs = sinfo_matrix(1, ndata, 1, bco->n_bcoeffs) ;</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> covar = sinfo_matrix(1, bco->n_bcoeffs, 1, bco->n_bcoeffs) ;</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> </div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <span class="comment">/* scale the x-values for the fit */</span></div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="keywordflow">for</span> ( i = 0 ; i < ndata ; i++ )</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> {</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> sub_col_index[i] = (sub_col_index[i] - offset) / offset ;</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> }</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> </div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="comment">/* finally, do the singular value decomposition fit */</span></div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> sinfo_svd_fitting ( sub_col_index-1, sub_acoefs-1, </div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> sub_dacoefs-1, ndata, bco[ns].b[loc_index]-1,</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> bco->n_bcoeffs, ucoefs, vcoefs, </div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> wcoefs-1, covar, &chisq[ns], sinfo_fpol ) ;</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> </div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="comment">/* scale the found coefficients */</span></div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="keywordflow">for</span> ( i = 0 ; i < bco->n_bcoeffs ; i ++ )</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> {</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> bco[ns].b[loc_index][i] /= pow( offset, i ) ;</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> }</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> </div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <span class="comment">/* free memory */</span></div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> cpl_free (acoefsclean) ;</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> sinfo_free_matrix( ucoefs, 1<span class="comment">/*, ndata*/</span>, 1<span class="comment">/*, bco->n_bcoeffs */</span>) ;</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> sinfo_free_matrix( vcoefs, 1<span class="comment">/*, ndata*/</span>, 1<span class="comment">/*, bco->n_bcoeffs */</span>) ;</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> sinfo_free_matrix( covar, 1<span class="comment">/*, bco->n_bcoeffs*/</span>, </div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> 1<span class="comment">/*, bco->n_bcoeffs */</span>) ;</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> </div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> <span class="comment">/* now calculate the smoothed acoefs for each column */</span></div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> col_index = 0 ;</div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> <span class="keywordflow">for</span> ( i = ed1 ; i < ed2 ; i++ )</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> {</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> acoefs[loc_index][i] = 0. ;</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> <span class="keywordflow">for</span> ( n = 0 ; n < bco->n_bcoeffs ; n++ )</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> {</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> acoefs[loc_index][i] += bco[ns].b[loc_index][n] * </div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> pow(col_index - offset, n) ;</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> }</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> col_index++ ;</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> }</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> </div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> }</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> }</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> </div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> cpl_free(sub_col_index) ;</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> cpl_free(sub_acoefs) ;</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> cpl_free(sub_dacoefs) ;</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> </div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> </div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> cpl_free(edge) ;</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> cpl_free(wcoefs) ;</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> </div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> }</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> </div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> </div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> cpl_image * sinfo_new_wave_map_slit ( <span class="keywordtype">float</span> ** acoefs,</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="keywordtype">int</span> n_acoefs,</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="keywordtype">int</span> n_rows,</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> <span class="keywordtype">int</span> n_columns )</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> {</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> cpl_image * newIm=NULL ;</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> <span class="keywordtype">float</span> lambda=0 ;</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> <span class="keywordtype">float</span> offset=0 ;</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> <span class="keywordtype">int</span> col=0;</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> <span class="keywordtype">int</span> row=0 ;</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> <span class="keywordtype">int</span> i=0 ;</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="keywordtype">float</span> row_index=0 ;</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> <span class="keywordflow">if</span> ( NULL == acoefs )</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> {</div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no coefficient sinfo_matrix given!"</span>) ;</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> }</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> </div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> <span class="comment">/* allocate new image */</span></div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> <span class="keywordflow">if</span> ( NULL == (newIm = cpl_image_new(n_columns , n_rows,CPL_TYPE_FLOAT)) )</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> {</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"could not allocate new image!"</span>) ;</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> }</div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> podata=cpl_image_get_data_float(newIm);</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> </div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> <span class="comment">/* make the parabola symmetric to the image */</span></div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> offset = (float)(n_rows - 1) / 2. ; </div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> </div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="comment">/* go through the rows */</span></div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> <span class="keywordflow">for</span> ( col = 0 ; col < n_columns ; col++ )</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> {</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> <span class="comment">/* go through the columns */</span></div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <span class="keywordflow">for</span> ( row = 0 ; row < n_rows ; row++ )</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> {</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> lambda = 0. ;</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> row_index = (float)row - offset ;</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_acoefs ; i++ )</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> {</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> lambda += acoefs[i][col] * pow(row_index, i) ;</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> }</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> podata[col+row*n_columns] = lambda ;</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> }</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> }</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> <span class="keywordflow">return</span> newIm ;</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> }</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> </div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> </div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> cpl_image * sinfo_new_wave_cal( cpl_image * image,</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> FitParams ** par ,</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> <span class="keywordtype">float</span> ** abuf,</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> <span class="keywordtype">int</span> n_slitlets,</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> <span class="keywordtype">int</span> ** row_clean,</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> <span class="keywordtype">float</span> ** wavelength_clean,</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> <span class="keywordtype">int</span> * n_found_lines,</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> <span class="keywordtype">float</span> dispersion,</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> <span class="keywordtype">int</span> halfWidth,</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> <span class="keywordtype">float</span> minAmplitude,</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> <span class="keywordtype">float</span> max_residual,</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> <span class="keywordtype">float</span> fwhm,</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> <span class="keywordtype">int</span> n_a_fitcoefs,</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> <span class="keywordtype">int</span> n_b_fitcoefs,</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> <span class="keywordtype">float</span> sigmaFactor,</div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> <span class="keywordtype">float</span> pixel_dist,</div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> <span class="keywordtype">float</span> pixel_tolerance )</div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> </div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> {</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> <span class="keywordtype">int</span> i=0, j=0, k=0 ;</div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> <span class="keywordtype">int</span> n_fit=0 ;</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> <span class="keywordtype">int</span> n_reject=0 ;</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> <span class="keywordtype">float</span> * acoefs=NULL ;</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> <span class="keywordtype">float</span> * dacoefs=NULL ;</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <span class="keywordtype">float</span> ** dabuf=NULL ;</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="keywordtype">float</span> chisq_poly=0 ;</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> <span class="keywordtype">float</span> * chisq_cross=NULL ;</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="keywordtype">int</span> zeroind=0 ;</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="keywordtype">int</span> crossInd=0 ;</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> Bcoeffs * bco=NULL ;</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> cpl_image * wavemap=NULL ;</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> </div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> </div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> <span class="keywordflow">if</span> ( NULL == image )</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> {</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no image given"</span>) ;</div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> }</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> check_nomsg(ilx=cpl_image_get_size_x(image));</div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> check_nomsg(ily=cpl_image_get_size_y(image));</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> check_nomsg(pidata=cpl_image_get_data_float(image));</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> </div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> <span class="keywordflow">if</span> ( par == NULL )</div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> {</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no fit parameter data structure given"</span>) ;</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> }</div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> <span class="keywordflow">if</span> ( abuf == NULL )</div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> {</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no buffer for fit coefficients given"</span>) ;</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> }</div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> <span class="keywordflow">if</span> ( n_slitlets <= 0 )</div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> {</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"impossible number of slitlets given"</span>) ;</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> }</div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> <span class="keywordflow">if</span> ( row_clean == NULL )</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> {</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no row_clean array given"</span>) ;</div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> }</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> <span class="keywordflow">if</span> ( wavelength_clean == NULL )</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> {</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no wavelength_clean array given"</span>) ;</div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> }</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> </div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> <span class="keywordflow">if</span> ( dispersion == 0. )</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> {</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"impossible dispersion given"</span>) ;</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> }</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> </div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> <span class="keywordflow">if</span> ( halfWidth <= 0 || halfWidth > ily/2 )</div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> {</div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"impossible half width of the fitting box given"</span>) ;</div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> }</div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> <span class="keywordflow">if</span> ( minAmplitude < 1. )</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> {</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"impossible minimal amplitude"</span>) ;</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> }</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> </div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> <span class="keywordflow">if</span> ( max_residual <= 0. || max_residual > 1. )</div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> {</div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"impossible max_residual given"</span>) ;</div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> }</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> <span class="keywordflow">if</span> ( fwhm <= 0. || fwhm > 10. )</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> {</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"impossible fwhm given"</span>) ;</div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> }</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> </div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> <span class="keywordflow">if</span> ( n_a_fitcoefs <= 0 || n_a_fitcoefs > 9 )</div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> {</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"unrealistic n_a_fitcoefs given"</span>) ;</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> }</div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> </div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> <span class="keywordflow">if</span> ( n_b_fitcoefs <= 0 || n_b_fitcoefs > 9 )</div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> {</div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"unrealistic n_b_fitcoefs given"</span>) ;</div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> }</div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> <span class="keywordflow">if</span> ( sigmaFactor <= 0. )</div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> {</div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"impossible sigmaFactor given"</span>) ;</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> }</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> </div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> <span class="comment">/* initialize the variables */</span></div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> n_reject = 0 ;</div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> n_fit = 0 ;</div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> </div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> </div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> <span class="comment">/* fit each found line by using a Gaussian function and determine </span></div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> <span class="comment"> the exact position */</span></div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> <span class="keywordflow">if</span> ( 0 > (n_fit = sinfo_new_fit_lines( image , par, fwhm, n_found_lines, </div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> row_clean, wavelength_clean,</div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> halfWidth, minAmplitude )) )</div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> {</div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot fit the lines, error code of "</span></div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> <span class="stringliteral">"sinfo_fitLines: %d"</span>, n_fit) ;</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> }</div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> </div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> <span class="comment">/* first check for faked lines like bad pixels */</span></div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> <span class="keywordflow">if</span> ( -1 == sinfo_new_check_for_fake_lines (par, dispersion, </div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> wavelength_clean, </div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> row_clean, n_found_lines,</div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> ilx, pixel_tolerance) )</div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> {</div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot fit the lines, error code of "</span></div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> <span class="stringliteral">"sinfo_fitLines: %d"</span>, n_fit) ;</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> }</div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> </div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> <span class="keywordflow">if</span> (NULL == (acoefs = (<span class="keywordtype">float</span>*) cpl_calloc(n_a_fitcoefs, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>))) ||</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> NULL == (dacoefs = (<span class="keywordtype">float</span>*) cpl_calloc(n_a_fitcoefs, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>))) ||</div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> NULL == (dabuf = (<span class="keywordtype">float</span>**) cpl_calloc(n_a_fitcoefs, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>*))) ||</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> NULL == (chisq_cross = (<span class="keywordtype">float</span>*) cpl_calloc(n_slitlets, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>))))</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> {</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot allocate memory\n"</span>) ;</div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> }</div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_a_fitcoefs ; i++ )</div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> {</div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> <span class="keywordflow">if</span> ( NULL == (dabuf[i] = (<span class="keywordtype">float</span>*) cpl_calloc(ilx, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>))) )</div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> {</div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot allocate memory"</span>) ;</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> sinfo_free_float (&acoefs ) ;</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> sinfo_free_float ( &dacoefs ) ;</div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> sinfo_free_float ( &chisq_cross ) ;</div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> sinfo_free_float_array(&dabuf,n_a_fitcoefs) ;</div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> }</div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> }</div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> </div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> </div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> <span class="comment">/* fit wavelengths to the corresponding found positions for each column */</span></div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> k = 0 ;</div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> <span class="keywordflow">for</span> ( i = 0 ; i < ilx ; i++ )</div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> {</div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> zeroind = 0 ;</div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> <span class="keywordflow">if</span> ( FLT_MAX == (chisq_poly = sinfo_new_polyfit( par, i, </div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> n_found_lines[i], </div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> ily, dispersion,</div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> max_residual, acoefs, </div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> dacoefs, &n_reject, </div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> n_a_fitcoefs)) )</div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> {</div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> <span class="comment"> sinfo_msg_warning ("error in sinfo_polyfit in column: %d\n", i) ;</span></div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> <span class="keywordflow">for</span> ( j = 0 ; j < n_a_fitcoefs ; j++ )</div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> {</div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> acoefs[j] = ZERO ;</div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> dacoefs[j] = ZERO ;</div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> }</div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> }</div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> </div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> <span class="keywordflow">for</span> ( j = 0 ; j < n_a_fitcoefs ; j++ )</div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> {</div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> </div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> <span class="keywordflow">if</span> ( acoefs[0] <= 0. || acoefs[1] ==0. ||</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> dacoefs[j] == 0. || isnan(acoefs[j]) )</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> {</div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> zeroind = 1 ;</div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> }</div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> }</div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> <span class="keywordflow">for</span> ( j = 0 ; j < n_a_fitcoefs ; j++ )</div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> {</div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> <span class="keywordflow">if</span> ( zeroind == 0 )</div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> {</div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> abuf[j][i] = acoefs[j] ;</div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> dabuf[j][i] = dacoefs[j] ;</div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> }</div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> {</div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> abuf[j][i] = ZERO ;</div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> dabuf[j][i] = ZERO ;</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> }</div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> }</div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> }</div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> </div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> <span class="comment">/* allocate memory for the fitting coefficients */</span></div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> <span class="keywordflow">if</span> ( NULL == ( bco = sinfo_new_b_coeffs( n_slitlets, </div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span> n_a_fitcoefs, n_b_fitcoefs)) )</div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> {</div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate memory for the bcoeffs"</span>) ;</div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> sinfo_free_float_array(&dabuf,n_a_fitcoefs) ;</div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> sinfo_free_float (&acoefs ) ;</div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> sinfo_free_float (&dacoefs ) ;</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> sinfo_free_float (&chisq_cross ) ;</div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> }</div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> </div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> <span class="comment">/* fit each acoefs across the slitlets to smooth the result */</span></div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> <span class="keywordflow">if</span> ( -1 == ( crossInd = sinfo_new_coeffs_cross_slit_fit( ilx, </div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> abuf, </div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span> dabuf,</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> bco, </div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span> sigmaFactor, </div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span> dispersion, </div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> pixel_dist, </div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span> chisq_cross )) )</div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span> {</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot carry out the fitting of "</span></div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span> <span class="stringliteral">"coefficients across the columns"</span>) ;</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> sinfo_free_float_array(&dabuf,n_a_fitcoefs) ;</div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span> sinfo_free_float (&acoefs ) ;</div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span> sinfo_free_float (&dacoefs ) ;</div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> sinfo_free_float (&chisq_cross ) ;</div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> }</div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> </div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span> </div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span> <span class="keywordflow">if</span> ( NULL == (wavemap = sinfo_new_wave_map_slit (abuf, n_a_fitcoefs, </div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> ily, ilx)) )</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> {</div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot carry out wavemap creation"</span>) ;</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> sinfo_free_float_array(&dabuf,n_a_fitcoefs) ;</div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> sinfo_free_float (&acoefs ) ;</div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> sinfo_free_float (&dacoefs ) ;</div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> sinfo_free_float (&chisq_cross ) ;</div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span> sinfo_new_destroy_b_coeffs(bco) ;</div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> }</div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> </div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> <span class="comment">/* free all allocated memory */</span></div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span> sinfo_free_float_array(&dabuf,n_a_fitcoefs) ;</div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span> sinfo_free_float (&acoefs ) ;</div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> sinfo_free_float (&dacoefs ) ;</div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> sinfo_free_float (&chisq_cross ) ;</div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> sinfo_new_destroy_b_coeffs(bco) ;</div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> </div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> <span class="keywordflow">return</span> wavemap ;</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> cleanup:</div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> sinfo_free_float (&acoefs ) ;</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> sinfo_free_float ( &dacoefs ) ;</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> sinfo_free_float ( &chisq_cross ) ;</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span> sinfo_free_float_array(&dabuf,n_a_fitcoefs) ;</div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> sinfo_new_destroy_b_coeffs(bco) ;</div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> }</div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> </div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> </div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> </div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> <span class="keywordtype">int</span> sinfo_new_check_for_fake_lines ( FitParams ** par,</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> <span class="keywordtype">float</span> dispersion,</div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> <span class="keywordtype">float</span> ** wavelength_clean,</div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> <span class="keywordtype">int</span> ** row_clean,</div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> <span class="keywordtype">int</span> * n_found_lines,</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> <span class="keywordtype">int</span> n_columns,</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> <span class="keywordtype">float</span> pixel_tolerance )</div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> {</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> <span class="keywordtype">int</span> i, k ;</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> <span class="keywordtype">int</span> col ;</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> <span class="keywordtype">int</span> found ;</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> <span class="keywordtype">float</span> row ;</div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> <span class="keywordtype">float</span> * beginWave ;</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> <span class="keywordtype">float</span> firstWave ;</div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> </div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> <span class="keywordflow">if</span> ( par == NULL )</div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> {</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no fit parameter data structure given"</span>) ;</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> }</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> <span class="keywordflow">if</span> ( dispersion == 0. )</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> {</div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"dispersion zero given!"</span>) ;</div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> }</div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> <span class="keywordflow">if</span> ( wavelength_clean == NULL )</div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> {</div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no wavelength array given!"</span>) ;</div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> }</div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> <span class="keywordflow">if</span> ( row_clean == NULL )</div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> {</div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no row array given!"</span>) ;</div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> }</div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> <span class="keywordflow">if</span> ( n_found_lines == NULL )</div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> {</div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"no number of lines given!"</span>) ;</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> }</div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> <span class="keywordflow">if</span> ( n_columns < 200 )</div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> {</div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong number of columns given!"</span>) ;</div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> }</div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> </div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> <span class="comment">/* first determine the estimated beginning wavelength of the first row */</span></div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> <span class="keywordflow">for</span> ( col = 0 ; col < n_columns ; col++ )</div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> {</div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> <span class="keywordflow">if</span> ( n_found_lines[col] == 0 )</div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> {</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> continue ;</div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> } </div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> <span class="keywordflow">if</span> ( NULL == (beginWave = (<span class="keywordtype">float</span>*) cpl_calloc( n_found_lines[col], </div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>) ) ) )</div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> {</div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not allocate memory!"</span>) ;</div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> }</div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> <span class="keywordflow">for</span> ( k = 0 ; k < n_found_lines[col] ; k++ ) </div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> {</div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> beginWave[k] = wavelength_clean[col][k] - </div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> (float)row_clean[col][k] * dispersion ;</div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> }</div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> <span class="comment">/* determine the clean mean of the estimated </span></div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> <span class="comment"> beginning wavelengths of one column */</span></div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> <span class="keywordflow">if</span> ( FLT_MAX == (firstWave = sinfo_new_clean_mean (beginWave, </div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> n_found_lines[col], </div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> 10., 10.) ) )</div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> {</div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"clean mean did not work!"</span>) ;</div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> }</div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> </div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> cpl_free (beginWave) ;</div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> <span class="comment">/* go through the lines in that column and select the </span></div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> <span class="comment"> correct FitParam structure */</span></div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> <span class="keywordflow">for</span> ( k = 0 ; k < n_found_lines[col] ; k++ ) </div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> { </div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> <span class="comment">/* compute the estimated line position */</span></div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> row = ( wavelength_clean[col][k] - firstWave ) / dispersion ;</div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> </div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> <span class="comment">/* go through all fit parameters and find the corresponding one */</span></div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> found = -1 ;</div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> <span class="keywordflow">for</span> ( i = 0 ; i < (par[0] -> n_params) ; i ++ )</div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> { </div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> <span class="comment">/* find the given column and go through the </span></div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> <span class="comment"> lines in that column */</span></div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> <span class="keywordflow">if</span> ( (par[i] -> column == col) && (par[i] -> line == k) && </div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> (par[i] -> wavelength == wavelength_clean[col][k]) )</div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> {</div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> found = i ;</div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> break ;</div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> }</div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> }</div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> <span class="keywordflow">if</span> ( found != -1 )</div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> {</div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> <span class="comment">/* set fit params to zero where the fitted row </span></div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> <span class="comment"> position and the estimated </span></div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> <span class="comment"> row positions are outside the tolerance */</span></div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> <span class="keywordflow">if</span> ( fabs(row - par[found]->fit_par[2]) > pixel_tolerance ) </div>
-<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> {</div>
-<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"found bad line in col: "</span></div>
-<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> <span class="stringliteral">"%d line: %d in row: %f difference: %f"</span>, </div>
-<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> col, k, par[found]->fit_par[2],</div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> row - par[found]->fit_par[2]) ;</div>
-<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> par[found]->fit_par[2] = 0. ;</div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> }</div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> }</div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> {</div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"fit parameter of col %d and line "</span></div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> <span class="stringliteral">"no %d not found!\n"</span>, col, k ) ;</div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> }</div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> }</div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> }</div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> </div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> }</div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> </div>
-<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> cpl_image * </div>
-<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> sinfo_new_create_shifted_slit_wavemap ( cpl_image * lineIm,</div>
-<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> <span class="keywordtype">float</span> ** coeffs,</div>
-<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> <span class="keywordtype">int</span> n_fitcoeffs,</div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> <span class="keywordtype">float</span> * wavelength,</div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> <span class="keywordtype">float</span> * intensity,</div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> <span class="keywordtype">int</span> n_lines,</div>
-<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> <span class="keywordtype">int</span> magFactor )</div>
-<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> {</div>
-<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> cpl_image * wavemap ;</div>
-<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> <span class="keywordtype">float</span>* emline=NULL ;</div>
-<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> <span class="keywordtype">float</span>* spec=NULL ;</div>
-<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span> <span class="keywordtype">float</span>* wave=NULL ;</div>
-<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span> <span class="keywordtype">double</span>* a=NULL ;</div>
-<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> <span class="keywordtype">float</span>* par=NULL ;</div>
-<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> <span class="keywordtype">float</span>* derv_par=NULL ;</div>
-<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> <span class="keywordtype">double</span>* z=NULL ;</div>
-<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> </div>
-<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> <span class="keywordtype">double</span> * result ;</div>
-<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span> <span class="keywordtype">float</span> * filter_spec ;</div>
-<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> <span class="keywordtype">float</span> centreval ;</div>
-<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span> <span class="keywordtype">float</span> centrepix ;</div>
-<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> <span class="keywordtype">float</span> cenpos, cenpix ;</div>
-<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> <span class="keywordtype">float</span> pixvalue ;</div>
-<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> <span class="keywordtype">float</span> wavelag ;</div>
-<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> <span class="keywordtype">float</span> angst ;</div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> <span class="keywordtype">float</span> a_initial ;</div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> <span class="keywordtype">int</span> numpar, its ;</div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> <span class="keywordtype">int</span> * mpar ;</div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> <span class="keywordtype">float</span> tol, lab ;</div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> <span class="keywordtype">float</span> * xdat, * wdat ;</div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> Vector * peak;</div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> <span class="keywordtype">int</span> iters, xdim, ndat ;</div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> <span class="keywordtype">int</span> row , col ;</div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> <span class="keywordtype">int</span> i, j, k<span class="comment">/*, l, m*/</span> ;</div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> <span class="keywordtype">int</span> sign, found, line, width ;</div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> <span class="keywordtype">int</span> var, maxlag, cmin, cmax ;</div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> gsl_poly_complex_workspace * w ;</div>
-<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> <span class="keywordtype">double</span> xcorr_max ;</div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> <span class="keywordtype">int</span> delta ;</div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> <span class="keywordtype">int</span> olx=0;</div>
-<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> <span class="keywordtype">int</span> oly=0;</div>
-<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> </div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> </div>
-<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> <span class="keywordflow">if</span> ( lineIm == NULL )</div>
-<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> {</div>
-<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no input image given!"</span>) ;</div>
-<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> }</div>
-<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> ilx=cpl_image_get_size_x(lineIm);</div>
-<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> ily=cpl_image_get_size_y(lineIm);</div>
-<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span> pidata=cpl_image_get_data_float(lineIm);</div>
-<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> </div>
-<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span> <span class="keywordflow">if</span> ( coeffs == NULL )</div>
-<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> {</div>
-<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no coefficient sinfo_matrix given!"</span>) ;</div>
-<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> }</div>
-<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span> <span class="keywordflow">if</span> ( n_fitcoeffs < 2 )</div>
-<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span> {</div>
-<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"wrong number of polynomial coefficients given!"</span>) ;</div>
-<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span> }</div>
-<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span> <span class="keywordflow">if</span> ( wavelength == NULL || intensity == NULL )</div>
-<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> {</div>
-<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no input image given!"</span>) ;</div>
-<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span> }</div>
-<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span> <span class="keywordflow">if</span> ( n_lines < 1 )</div>
-<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span> {</div>
-<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no input image given!"</span>) ;</div>
-<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span> }</div>
-<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> </div>
-<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span> <span class="comment">/* find out if Angstroem or microns are used */</span></div>
-<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span> <span class="keywordflow">if</span> ( wavelength[0] > 10000. )</div>
-<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span> {</div>
-<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span> <span class="comment">/* Angstroem */</span></div>
-<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span> angst = 10000. ;</div>
-<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span> }</div>
-<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( wavelength[0] > 1000. && wavelength[0] < 10000. )</div>
-<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span> {</div>
-<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span> <span class="comment">/* nanometers */</span></div>
-<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span> angst = 1000. ;</div>
-<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span> }</div>
-<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span> {</div>
-<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span> <span class="comment">/* microns */</span></div>
-<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span> angst = 1. ;</div>
-<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> }</div>
-<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> </div>
-<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> <span class="keywordflow">if</span> ( NULL == (wavemap = cpl_image_new ( ilx, ily, CPL_TYPE_FLOAT)) )</div>
-<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> {</div>
-<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"could not allocate memory!"</span>) ;</div>
-<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> }</div>
-<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> olx=cpl_image_get_size_x(wavemap);</div>
-<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> oly=cpl_image_get_size_y(wavemap);</div>
-<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> podata=cpl_image_get_data_float(wavemap);</div>
-<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> </div>
-<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> var = (magFactor-1)*(magFactor-1) ;</div>
-<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> </div>
-<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> </div>
-<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> </div>
-<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> emline=cpl_calloc(ily,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> spec=cpl_calloc(ily,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> wave=cpl_calloc(n_lines,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> par=cpl_calloc(MAXPAR,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> derv_par=cpl_calloc(MAXPAR,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> </div>
-<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> a=cpl_calloc(n_fitcoeffs,<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span> z=cpl_calloc(2*(n_fitcoeffs - 1),<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> </div>
-<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> </div>
-<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span> <span class="comment">/* first store each spectrum in a buffer */</span></div>
-<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span> {</div>
-<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span> <span class="comment">/* initialize the emline array for each column */</span></div>
-<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> <span class="keywordflow">for</span> ( i = 0 ; i < ily ; i++ )</div>
-<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> {</div>
-<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span> emline[i] = 0. ;</div>
-<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span> }</div>
-<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span> <span class="comment">/* determine the coefficients by using the given bcoefs */</span></div>
-<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_fitcoeffs ; i++ )</div>
-<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> {</div>
-<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span> <span class="comment">/* initialize coefficients and solution */</span></div>
-<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span> <span class="keywordflow">if</span> (i < n_fitcoeffs-1)</div>
-<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span> {</div>
-<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> z[2*i] = 0. ;</div>
-<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span> z[2*i+1] = 0. ;</div>
-<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span> }</div>
-<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span> a[i] = coeffs[i][col] ;</div>
-<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span> }</div>
-<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> </div>
-<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> a_initial = coeffs[0][col] ;</div>
-<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span> <span class="comment">/* go through the lines and generate an artificial spectrum */</span></div>
-<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> <span class="keywordflow">for</span> ( line = 0 ; line < n_lines ; line++ )</div>
-<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span> {</div>
-<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> <span class="comment">/* go from Angstroem to micron */</span></div>
-<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span> wave[line] = wavelength[line]/angst ;</div>
-<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span> </div>
-<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> <span class="comment">/* -----------------------------------------------------------</span></div>
-<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span> <span class="comment"> * solve the polynomial for the exact offset of the line that means</span></div>
-<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> <span class="comment"> * find the root of the polynomial of order n_fitcoefs - 1</span></div>
-<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span> a[0] = a_initial - wave[line] ;</div>
-<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> </div>
-<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> <span class="keywordflow">if</span>(NULL==(w=sinfo_gsl_poly_complex_workspace_alloc(n_fitcoeffs))) </div>
-<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span> {</div>
-<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not allocate complex workspace!"</span>) ;</div>
-<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> cpl_image_delete(wavemap) ;</div>
-<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span> }</div>
-<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span> <span class="keywordflow">if</span> (-1 == sinfo_gsl_poly_complex_solve(a, n_fitcoeffs, w, z)) </div>
-<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span> {</div>
-<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"sinfo_gsl_poly_complex_solve did not work!"</span>) ;</div>
-<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span> cpl_image_delete(wavemap) ;</div>
-<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span> }</div>
-<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span> sinfo_gsl_poly_complex_workspace_free(w) ; </div>
-<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span> </div>
-<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> j = 0 ;</div>
-<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span> found = -1 ;</div>
-<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_fitcoeffs - 1 ; i++ )</div>
-<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> {</div>
-<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> <span class="comment">/* test for appropriate solution */</span></div>
-<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span> <span class="keywordflow">if</span>( (z[2*i] > (-1.)*(<span class="keywordtype">float</span>) ily/2. &&</div>
-<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span> z[2*i] < (<span class="keywordtype">float</span>)ily/2.) && z[2*i+1] == 0. )</div>
-<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span> {</div>
-<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span> found = 2*i ;</div>
-<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span> j ++ ;</div>
-<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span> }</div>
-<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span> {</div>
-<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span> continue ;</div>
-<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span> }</div>
-<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span> }</div>
-<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span> <span class="keywordflow">if</span> ( j == 0 )</div>
-<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span> {</div>
-<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"no offset solution found for line %d in "</span></div>
-<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span> <span class="stringliteral">"column %d"</span>, line, col) ;</div>
-<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span> continue ;</div>
-<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span> }</div>
-<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( j == 1 )</div>
-<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> {</div>
-<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span> cenpos = z[found] + (float) ily /2. ;</div>
-<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span> }</div>
-<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span> {</div>
-<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"two or more offset solutions found for "</span></div>
-<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span> <span class="stringliteral">"line %d in column %d"</span>, line, col) ;</div>
-<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span> continue ;</div>
-<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span> }</div>
-<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span> </div>
-<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span> <span class="comment">/*-----------------------------------------------------------------</span></div>
-<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span> <span class="comment"> * magnify image by the given factor add an additional offset</span></div>
-<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span> cenpix = cenpos ;</div>
-<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span> </div>
-<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span> <span class="comment">/* determine max and min pixel limits over </span></div>
-<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span> <span class="comment"> which line should be convolved */</span></div>
-<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span> cmin = (sinfo_new_nint(cenpix) - (var-1)) > 0 ? </div>
-<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span> sinfo_new_nint(cenpix) - (var-1) : 0 ;</div>
-<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span> cmax = (sinfo_new_nint(cenpix) + (var-1)) < ily ?</div>
-<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span> sinfo_new_nint(cenpix) + (var-1) : ily ;</div>
-<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span> </div>
-<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span> <span class="comment">/* convolve neon lines with Gaussian function */</span></div>
-<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span> <span class="keywordflow">for</span> ( j = cmin ; j < cmax ; j++ )</div>
-<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span> {</div>
-<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span> emline[j] += intensity[line] * </div>
-<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span> exp((<span class="keywordtype">double</span>)(-0.5*(j-cenpix)*(j-cenpix))/(<span class="keywordtype">double</span>)var) ;</div>
-<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span> }</div>
-<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span> }</div>
-<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span> </div>
-<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span> <span class="comment">/*-------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span> <span class="comment"> * for each column, map the image data points onto an magFactor times </span></div>
-<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span> <span class="comment"> bigger element grid for FFT in the cross sinfo_correlation, first </span></div>
-<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span> <span class="comment"> initialize the two helping arrays for each new column.</span></div>
-<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span> <span class="keywordflow">for</span> ( k = 0 ; k < ily ; k++ )</div>
-<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span> {</div>
-<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span> spec[k] = 0. ;</div>
-<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span> }</div>
-<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span> </div>
-<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span> <span class="comment">/* now take the image data points of the column and put </span></div>
-<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span> <span class="comment"> them into the spec array */</span></div>
-<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ ) <span class="comment">/* go through the column */</span></div>
-<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span> {</div>
-<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span> <span class="comment">/* set bad pixels or negative values to zero */</span></div>
-<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span> <span class="keywordflow">if</span> (!isnan(pidata[col + row*ilx]) &&</div>
-<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span> (pidata[col + row*ilx] > 0.))</div>
-<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span> {</div>
-<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span> spec[row] = pidata[col + row*ilx] ;</div>
-<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span> }</div>
-<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span> {</div>
-<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span> spec[row] = 0. ;</div>
-<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span> }</div>
-<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span> }</div>
-<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span> <span class="comment">/* convolve the spectrum by Gaussian */</span></div>
-<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span> filter_spec = sinfo_function1d_filter_lowpass(spec, ily, </div>
-<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span> LOW_PASS_GAUSSIAN, </div>
-<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span> magFactor) ; </div>
-<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span> </div>
-<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span> <span class="comment">/* now call the cross sinfo_correlation routine */</span></div>
-<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span> result = sinfo_new_xcorrel( filter_spec, ily, emline, ily,</div>
-<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span> ily/2, &delta, &maxlag, &xcorr_max) ;</div>
-<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span> </div>
-<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span> <span class="keywordflow">if</span> ( xcorr_max <= 0. )</div>
-<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span> {</div>
-<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"no positive cross correlation sum , "</span></div>
-<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span> <span class="stringliteral">"col %d set to ZERO \n"</span>, col) ;</div>
-<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span> {</div>
-<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span> podata[col + row*ilx] = ZERO ;</div>
-<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span> }</div>
-<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span> sinfo_function1d_del(filter_spec) ;</div>
-<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span> cpl_free(result) ;</div>
-<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span> continue ;</div>
-<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span> }</div>
-<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span> </div>
-<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span> <span class="comment">/* in this section, we fit the correlation function with a gauss, </span></div>
-<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span> <span class="comment"> and find its peak, thus getting subpixel-accuracy */</span></div>
-<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span> </div>
-<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span> i = maxlag; j = i+1;</div>
-<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span> <span class="keywordflow">while</span> (result[j] < result[i])</div>
-<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span> {</div>
-<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span> i++; j++;</div>
-<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span> }</div>
-<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span> i = maxlag; k = i-1;</div>
-<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span> <span class="keywordflow">while</span> (result[k] < result[i])</div>
-<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span> {</div>
-<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span> i--; k--;</div>
-<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span> }</div>
-<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span> width = j-k+1;</div>
-<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span> <span class="comment">/* allocate memory for the spectral sinfo_vector */</span></div>
-<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span> <span class="keywordflow">if</span> ( NULL == (peak = sinfo_new_vector (width)) )</div>
-<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span> {</div>
-<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"cannot allocate new Vector \n"</span>) ;</div>
-<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span> sinfo_function1d_del(filter_spec) ;</div>
-<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span> cpl_free(result) ;</div>
-<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span> }</div>
-<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span> </div>
-<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span> </div>
-<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span> xdat = (<span class="keywordtype">float</span> *) cpl_calloc( peak -> n_elements, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span> wdat = (<span class="keywordtype">float</span> *) cpl_calloc( peak -> n_elements, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span> mpar = (<span class="keywordtype">int</span> *) cpl_calloc( MAXPAR, <span class="keyword">sizeof</span> (<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span> </div>
-<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span> <span class="comment">/* determine the values of the spectral sinfo_vector given as input */</span></div>
-<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span> <span class="comment">/* go through the chosen column */</span></div>
-<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span> </div>
-<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span> <span class="keywordflow">for</span> ( i = 0 ; i < width ; i++ )</div>
-<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span> {</div>
-<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span> peak -> data[i] = result[k+i]/xcorr_max * 100. ;</div>
-<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span> xdat[i] = i;</div>
-<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span> wdat[i] = 1.0;</div>
-<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span> }</div>
-<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span> </div>
-<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span> <span class="comment">/* set initial values for the fitting routine */</span></div>
-<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span> xdim = XDIM;</div>
-<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span> ndat = peak -> n_elements ;</div>
-<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span> numpar = MAXPAR ;</div>
-<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span> tol = TOL ;</div>
-<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span> lab = LAB ;</div>
-<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span> its = ITS ;</div>
-<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span> par[1] = width/2.0 ;</div>
-<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span> par[2] = (float) (maxlag - k) ;</div>
-<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span> par[3] = (peak -> data[0] + peak -> data[peak->n_elements - 1]) / 2.0 ;</div>
-<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span> par[0] = result[maxlag]/xcorr_max * 100. - (par[3]) ;</div>
-<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span> </div>
-<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span> <span class="keywordflow">for</span> ( i = 0 ; i < MAXPAR ; i++ )</div>
-<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span> {</div>
-<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span> derv_par[i] = 0.0 ;</div>
-<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span> mpar[i] = 1 ;</div>
-<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span> }</div>
-<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span> </div>
-<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span> <span class="comment">/* finally, do the least square fit using a sinfo_gaussian */</span></div>
-<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span> <span class="keywordflow">if</span> ( 0 > ( iters = sinfo_new_lsqfit_c( xdat, &xdim, </div>
-<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span> peak -> data, wdat, </div>
-<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span> &ndat, par, derv_par, mpar,</div>
-<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span> &numpar, &tol, &its, &lab )) )</div>
-<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span> {</div>
-<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">"sinfo_new_lsqfit_c: least squares fit failed "</span></div>
-<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span> <span class="stringliteral">"in col: %d, error no.: %d"</span>, col, iters) ;</div>
-<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span> sinfo_new_destroy_vector ( peak ) ;</div>
-<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span> cpl_free ( xdat ) ;</div>
-<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span> cpl_free ( wdat ) ;</div>
-<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span> cpl_free ( mpar ) ;</div>
-<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span> sinfo_function1d_del(filter_spec) ;</div>
-<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span> cpl_free(result) ;</div>
-<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span> continue ;</div>
-<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span> }</div>
-<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span> </div>
-<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span> sinfo_new_destroy_vector ( peak ) ;</div>
-<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span> cpl_free (xdat) ;</div>
-<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span> cpl_free (wdat) ;</div>
-<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span> cpl_free (mpar) ;</div>
-<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span> sinfo_function1d_del(filter_spec) ;</div>
-<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span> cpl_free(result) ;</div>
-<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span> </div>
-<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span> wavelag =((float)ily/2 - (<span class="keywordtype">float</span>)k - par[2]) ;</div>
-<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span> </div>
-<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span> <span class="keywordflow">if</span> ( fabs(wavelag) > (float)ily/20. )</div>
-<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span> {</div>
-<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"wavelag very big , col %d set to ZERO"</span>, col) ;</div>
-<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span> {</div>
-<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span> podata[col + row*ilx] = ZERO ;</div>
-<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span> }</div>
-<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span> continue ;</div>
-<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span> }</div>
-<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span> </div>
-<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span> <span class="comment">/*--------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span> <span class="comment"> * determine new zero order coefficient centreval, of which the </span></div>
-<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span> <span class="comment"> * formula is determined by setting equal a polynomial shifted by </span></div>
-<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span> <span class="comment"> * wavelag with the same higher order coefficients and set the new </span></div>
-<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span> <span class="comment"> * zero order coefficient to</span></div>
-<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span> <span class="comment"> * get both sides of the equation approximately equal.</span></div>
-<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span> centreval = a_initial ;</div>
-<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span> <span class="keywordflow">for</span> ( i = 1 ; i < n_fitcoeffs ; i++ )</div>
-<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span> {</div>
-<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span> <span class="keywordflow">if</span> ( i%2 == 0 ) </div>
-<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span> {</div>
-<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span> sign = -1 ;</div>
-<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span> }</div>
-<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span> {</div>
-<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span> sign = 1 ;</div>
-<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span> }</div>
-<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span> centreval += (float)sign * coeffs[i][col]*pow(wavelag, i) ;</div>
-<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span> }</div>
-<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span> </div>
-<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span> <span class="comment">/* prepare to write out wavelength as pixel values */</span></div>
-<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span> <span class="keywordflow">for</span> ( row = 0 ; row < oly ; row++ )</div>
-<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span> {</div>
-<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span> centrepix = (float)row - ((<span class="keywordtype">float</span>)oly - 1.)/2. ;</div>
-<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span> pixvalue = 0. ;</div>
-<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span> <span class="keywordflow">for</span> ( i = 1 ; i < n_fitcoeffs ; i++ )</div>
-<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span> {</div>
-<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span> pixvalue += coeffs[i][col]*pow(centrepix, i) ;</div>
-<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span> }</div>
-<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span> podata[col+row*olx] = centreval + pixvalue ;</div>
-<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span> }</div>
-<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span> }</div>
-<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span> </div>
-<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span> </div>
-<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span> cpl_free(emline) ;</div>
-<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span> cpl_free(spec) ;</div>
-<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span> cpl_free(wave) ;</div>
-<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span> cpl_free(par) ;</div>
-<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span> cpl_free(derv_par) ;</div>
-<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span> </div>
-<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span> cpl_free(a) ;</div>
-<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span> cpl_free(z) ;</div>
-<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span> </div>
-<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span> </div>
-<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span> </div>
-<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span> <span class="keywordflow">return</span> wavemap ;</div>
-<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span> }</div>
-<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span> </div>
-<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span> cpl_image * sinfo_new_create_shifted_slit_wavemap2 ( cpl_image * lineIm,</div>
-<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span> <span class="keywordtype">float</span> ** coeffs,</div>
-<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span> <span class="keywordtype">int</span> n_fitcoeffs,</div>
-<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span> <span class="keywordtype">float</span> * wavelength,</div>
-<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span> <span class="keywordtype">float</span> * intensity,</div>
-<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span> <span class="keywordtype">int</span> n_lines,</div>
-<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span> <span class="keywordtype">int</span> magFactor,</div>
-<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span> <span class="keywordtype">float</span> dispersion,</div>
-<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span> <span class="keywordtype">float</span> pixel_dist )</div>
-<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span> {</div>
-<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span> cpl_image * wavemap ;</div>
-<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span> <span class="keywordtype">double</span> * result ;</div>
-<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span> <span class="keywordtype">float</span> * filter_spec ;</div>
-<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span> <span class="keywordtype">float</span> centreval ;</div>
-<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span> <span class="keywordtype">float</span> centrepix ;</div>
-<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span> <span class="keywordtype">float</span> cenpos, cenpix ;</div>
-<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span> <span class="keywordtype">float</span> pixvalue ;</div>
-<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span> <span class="keywordtype">float</span> wavelag ;</div>
-<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span> <span class="comment">/*float maxres ;*/</span></div>
-<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span> <span class="keywordtype">float</span> angst ;</div>
-<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span> <span class="comment">/*float temp ;*/</span></div>
-<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span> <span class="keywordtype">float</span> a_initial ;</div>
-<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span> <span class="keywordtype">int</span> numpar, its ;</div>
-<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span> <span class="keywordtype">int</span> * mpar ;</div>
-<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span> <span class="keywordtype">float</span> tol, lab ;</div>
-<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span> <span class="keywordtype">float</span> * xdat, * wdat ;</div>
-<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span> Vector * peak;</div>
-<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span> <span class="keywordtype">int</span> iters, xdim, ndat ;</div>
-<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span> <span class="keywordtype">int</span> row , col ;</div>
-<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span> <span class="keywordtype">int</span> i, j, k<span class="comment">/*, l, m*/</span>, n ;</div>
-<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span> <span class="keywordtype">int</span> sign, found, line, width ;</div>
-<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span> <span class="keywordtype">int</span> var, maxlag, cmin, cmax ;</div>
-<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span> <span class="keywordtype">float</span> offset2 ;</div>
-<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span> <span class="keywordtype">float</span> threshold ;</div>
-<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span> <span class="keywordtype">int</span> ed1, ed2 ;</div>
-<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span> </div>
-<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span> <span class="keywordtype">int</span> edge[N_SLITLETS] ;</div>
-<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span> <span class="keywordtype">float</span> par[MAXPAR] ;</div>
-<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span> <span class="keywordtype">float</span> derv_par[MAXPAR] ;</div>
-<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span> </div>
-<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span> <span class="keywordtype">float</span>* emline=NULL ;</div>
-<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span> <span class="keywordtype">float</span>* spec=NULL ;</div>
-<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span> <span class="keywordtype">float</span>* wave=NULL ;</div>
-<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span> <span class="keywordtype">float</span>* a0=NULL ;</div>
-<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span> <span class="keywordtype">float</span>* a0_clean=NULL ;</div>
-<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span> </div>
-<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span> </div>
-<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span> <span class="keywordtype">float</span>* sub_col_index=NULL ;</div>
-<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span> <span class="keywordtype">float</span>* sub_acoefs=NULL;</div>
-<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span> <span class="keywordtype">float</span>* sub_dacoefs=NULL ;</div>
-<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span> <span class="keywordtype">double</span>* z=NULL ;</div>
-<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span> <span class="keywordtype">double</span>* a=NULL ;</div>
-<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span> </div>
-<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span> <span class="keywordtype">float</span>** bcoef=NULL ;</div>
-<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span> <span class="keywordtype">float</span>* wcoefs=NULL ;</div>
-<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span> </div>
-<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span> </div>
-<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span> <span class="keywordtype">int</span> ns, nc ;</div>
-<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span> <span class="keywordtype">float</span> * acoefsclean ;</div>
-<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span> <span class="keywordtype">float</span> col_index;</div>
-<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span> </div>
-<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span> <span class="keywordtype">float</span> ** ucoefs, **vcoefs, **covar ;</div>
-<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span> <span class="keywordtype">double</span> sum, sumq, mean ;</div>
-<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span> <span class="keywordtype">double</span> sigma ;</div>
-<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span> <span class="keywordtype">double</span> cliphi, cliplo ;</div>
-<div class="line"><a name="l01656"></a><span class="lineno"> 1656</span> <span class="keywordtype">float</span> chisq ;</div>
-<div class="line"><a name="l01657"></a><span class="lineno"> 1657</span> <span class="keywordtype">int</span> num, ndata ;</div>
-<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span> gsl_poly_complex_workspace * w ;</div>
-<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span> <span class="keywordtype">double</span> xcorr_max ;</div>
-<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span> <span class="keywordtype">int</span> delta ;</div>
-<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l01662"></a><span class="lineno"> 1662</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l01663"></a><span class="lineno"> 1663</span> <span class="keywordtype">int</span> olx=0;</div>
-<div class="line"><a name="l01664"></a><span class="lineno"> 1664</span> <span class="keywordtype">int</span> oly=0;</div>
-<div class="line"><a name="l01665"></a><span class="lineno"> 1665</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l01666"></a><span class="lineno"> 1666</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l01667"></a><span class="lineno"> 1667</span> </div>
-<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span> </div>
-<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span> <span class="keywordflow">if</span> ( lineIm == NULL )</div>
-<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span> {</div>
-<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no input image given!\n"</span>) ;</div>
-<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span> }</div>
-<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span> </div>
-<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span> ilx=cpl_image_get_size_x(lineIm);</div>
-<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span> ily=cpl_image_get_size_y(lineIm);</div>
-<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span> pidata=cpl_image_get_data_float(lineIm);</div>
-<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span> </div>
-<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span> <span class="keywordflow">if</span> ( coeffs == NULL )</div>
-<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span> {</div>
-<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no coefficient sinfo_matrix given!\n"</span>) ;</div>
-<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span> }</div>
-<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span> <span class="keywordflow">if</span> ( n_fitcoeffs < 2 )</div>
-<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span> {</div>
-<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" wrong number of polynomial coefficients given!\n"</span>) ;</div>
-<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span> }</div>
-<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span> <span class="keywordflow">if</span> ( wavelength == NULL || intensity == NULL )</div>
-<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span> {</div>
-<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no input image given!\n"</span>) ;</div>
-<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span> }</div>
-<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span> <span class="keywordflow">if</span> ( n_lines < 1 || magFactor < 1 )</div>
-<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span> {</div>
-<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no input image given!\n"</span>) ;</div>
-<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span> }</div>
-<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span> var = (magFactor - 1)*(magFactor - 1) ;</div>
-<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span> <span class="comment">/* find out if Angstroem or microns are used */</span></div>
-<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span> <span class="keywordflow">if</span> ( wavelength[0] > 10000. )</div>
-<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span> {</div>
-<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span> <span class="comment">/* Angstroem */</span></div>
-<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span> angst = 10000. ;</div>
-<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span> }</div>
-<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( wavelength[0] > 1000. && wavelength[0] < 10000. )</div>
-<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span> {</div>
-<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span> <span class="comment">/* nanometers */</span></div>
-<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span> angst = 1000. ;</div>
-<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span> }</div>
-<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span> {</div>
-<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span> <span class="comment">/* microns */</span></div>
-<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span> angst = 1. ;</div>
-<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span> }</div>
-<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span> </div>
-<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span> bcoef=sinfo_new_2Dfloatarray(N_SLITLETS,n_fitcoeffs) ;</div>
-<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span> wcoefs=cpl_calloc(n_fitcoeffs,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span> </div>
-<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span> emline=cpl_calloc(ily,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span> spec=cpl_calloc(ily,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span> wave=cpl_calloc(n_lines,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span> a0=cpl_calloc(ilx,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span> a0_clean=cpl_calloc(ilx,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span> </div>
-<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span> </div>
-<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span> </div>
-<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span> sub_col_index=cpl_calloc(ilx,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span> sub_acoefs=cpl_calloc(ilx,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>));</div>
-<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span> sub_dacoefs=cpl_calloc(ilx,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span> </div>
-<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span> a=cpl_calloc(n_fitcoeffs,<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span> z=cpl_calloc(2*(n_fitcoeffs - 1),<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span> </div>
-<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span> <span class="comment">/* find the slitlet edges from the a0 coefficient */</span></div>
-<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span> n = 0 ;</div>
-<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span> threshold = pixel_dist * fabs(dispersion) ;</div>
-<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span> <span class="keywordflow">for</span> ( i = PIXEL ; i < ilx - PIXEL ; )</div>
-<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span> {</div>
-<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span> <span class="keywordflow">if</span> (fabs(coeffs[0][i+1] - coeffs[0][i]) >= threshold )</div>
-<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span> {</div>
-<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span> edge[n] = i+1 ;</div>
-<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span> n++ ;</div>
-<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span> i += PIXEL ;</div>
-<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span> }</div>
-<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span> i++ ;</div>
-<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span> }</div>
-<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span> </div>
-<div class="line"><a name="l01749"></a><span class="lineno"> 1749</span> </div>
-<div class="line"><a name="l01750"></a><span class="lineno"> 1750</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span> <span class="keywordflow">if</span> ( NULL == (wavemap = cpl_image_new ( ilx, ily, CPL_TYPE_FLOAT)) )</div>
-<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span> {</div>
-<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" could not allocate memory!\n"</span>) ;</div>
-<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span> }</div>
-<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span> olx=cpl_image_get_size_x(wavemap);</div>
-<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span> oly=cpl_image_get_size_y(wavemap);</div>
-<div class="line"><a name="l01758"></a><span class="lineno"> 1758</span> podata=cpl_image_get_data_float(wavemap);</div>
-<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span> </div>
-<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span> <span class="comment">/* first store each spectrum in a buffer */</span></div>
-<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span> {</div>
-<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span> <span class="comment">/* initialize the emline array for each column */</span></div>
-<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span> <span class="keywordflow">for</span> ( i = 0 ; i < ily ; i++ )</div>
-<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span> {</div>
-<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span> emline[i] = 0. ;</div>
-<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span> }</div>
-<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span> <span class="comment">/* determine the coefficients by using the given bcoefs */</span></div>
-<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_fitcoeffs ; i++ )</div>
-<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span> {</div>
-<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span> <span class="comment">/* initialize coefficients and solution */</span></div>
-<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span> <span class="keywordflow">if</span> (i < n_fitcoeffs-1)</div>
-<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span> {</div>
-<div class="line"><a name="l01774"></a><span class="lineno"> 1774</span> z[2*i] = 0. ;</div>
-<div class="line"><a name="l01775"></a><span class="lineno"> 1775</span> z[2*i+1] = 0. ;</div>
-<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span> }</div>
-<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span> a[i] = coeffs[i][col] ;</div>
-<div class="line"><a name="l01778"></a><span class="lineno"> 1778</span> }</div>
-<div class="line"><a name="l01779"></a><span class="lineno"> 1779</span> </div>
-<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span> a_initial = coeffs[0][col] ;</div>
-<div class="line"><a name="l01781"></a><span class="lineno"> 1781</span> <span class="comment">/* go through the lines and generate an artificial spectrum */</span></div>
-<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span> <span class="keywordflow">for</span> ( line = 0 ; line < n_lines ; line++ )</div>
-<div class="line"><a name="l01783"></a><span class="lineno"> 1783</span> {</div>
-<div class="line"><a name="l01784"></a><span class="lineno"> 1784</span> <span class="comment">/* go from Angstroem to micron */</span></div>
-<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span> wave[line] = wavelength[line]/angst ;</div>
-<div class="line"><a name="l01786"></a><span class="lineno"> 1786</span> </div>
-<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span> <span class="comment">/* ------------------------------------------------------------</span></div>
-<div class="line"><a name="l01788"></a><span class="lineno"> 1788</span> <span class="comment"> * solve the polynomial for the exact offset of the line that means</span></div>
-<div class="line"><a name="l01789"></a><span class="lineno"> 1789</span> <span class="comment"> * find the root of the polynomial of order n_fitcoefs - 1</span></div>
-<div class="line"><a name="l01790"></a><span class="lineno"> 1790</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01791"></a><span class="lineno"> 1791</span> a[0] = a_initial - wave[line] ;</div>
-<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span> </div>
-<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span> <span class="keywordflow">if</span> (NULL==(w=sinfo_gsl_poly_complex_workspace_alloc(n_fitcoeffs))) </div>
-<div class="line"><a name="l01794"></a><span class="lineno"> 1794</span> {</div>
-<div class="line"><a name="l01795"></a><span class="lineno"> 1795</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" could not allocate complex workspace!"</span>) ;</div>
-<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span> cpl_image_delete(wavemap) ;</div>
-<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01798"></a><span class="lineno"> 1798</span> }</div>
-<div class="line"><a name="l01799"></a><span class="lineno"> 1799</span> <span class="keywordflow">if</span> (-1 == sinfo_gsl_poly_complex_solve(a, n_fitcoeffs, w, z)) </div>
-<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span> {</div>
-<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" sinfo_gsl_poly_complex_solve did not work!"</span>) ;</div>
-<div class="line"><a name="l01802"></a><span class="lineno"> 1802</span> cpl_image_delete(wavemap) ;</div>
-<div class="line"><a name="l01803"></a><span class="lineno"> 1803</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01804"></a><span class="lineno"> 1804</span> }</div>
-<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span> sinfo_gsl_poly_complex_workspace_free(w) ; </div>
-<div class="line"><a name="l01806"></a><span class="lineno"> 1806</span> </div>
-<div class="line"><a name="l01807"></a><span class="lineno"> 1807</span> j = 0 ;</div>
-<div class="line"><a name="l01808"></a><span class="lineno"> 1808</span> found = -1 ;</div>
-<div class="line"><a name="l01809"></a><span class="lineno"> 1809</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_fitcoeffs - 1 ; i++ )</div>
-<div class="line"><a name="l01810"></a><span class="lineno"> 1810</span> {</div>
-<div class="line"><a name="l01811"></a><span class="lineno"> 1811</span> <span class="comment">/* test for appropriate solution */</span></div>
-<div class="line"><a name="l01812"></a><span class="lineno"> 1812</span> <span class="keywordflow">if</span>( (z[2*i] > (-1.)*(<span class="keywordtype">float</span>) ily/2. &&</div>
-<div class="line"><a name="l01813"></a><span class="lineno"> 1813</span> z[2*i] < (<span class="keywordtype">float</span>)ily/2.) && z[2*i+1] == 0. )</div>
-<div class="line"><a name="l01814"></a><span class="lineno"> 1814</span> {</div>
-<div class="line"><a name="l01815"></a><span class="lineno"> 1815</span> found = 2*i ;</div>
-<div class="line"><a name="l01816"></a><span class="lineno"> 1816</span> j ++ ;</div>
-<div class="line"><a name="l01817"></a><span class="lineno"> 1817</span> }</div>
-<div class="line"><a name="l01818"></a><span class="lineno"> 1818</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01819"></a><span class="lineno"> 1819</span> {</div>
-<div class="line"><a name="l01820"></a><span class="lineno"> 1820</span> continue ;</div>
-<div class="line"><a name="l01821"></a><span class="lineno"> 1821</span> }</div>
-<div class="line"><a name="l01822"></a><span class="lineno"> 1822</span> }</div>
-<div class="line"><a name="l01823"></a><span class="lineno"> 1823</span> <span class="keywordflow">if</span> ( j == 0 )</div>
-<div class="line"><a name="l01824"></a><span class="lineno"> 1824</span> {</div>
-<div class="line"><a name="l01825"></a><span class="lineno"> 1825</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">" no offset solution found for "</span></div>
-<div class="line"><a name="l01826"></a><span class="lineno"> 1826</span> <span class="stringliteral">"line %d in column %d\n"</span>, line, col) ;</div>
-<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span> continue ;</div>
-<div class="line"><a name="l01828"></a><span class="lineno"> 1828</span> }</div>
-<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( j == 1 )</div>
-<div class="line"><a name="l01830"></a><span class="lineno"> 1830</span> {</div>
-<div class="line"><a name="l01831"></a><span class="lineno"> 1831</span> cenpos = z[found] + (float) ily/2. ;</div>
-<div class="line"><a name="l01832"></a><span class="lineno"> 1832</span> }</div>
-<div class="line"><a name="l01833"></a><span class="lineno"> 1833</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01834"></a><span class="lineno"> 1834</span> {</div>
-<div class="line"><a name="l01835"></a><span class="lineno"> 1835</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">" two or more offset solutions found "</span></div>
-<div class="line"><a name="l01836"></a><span class="lineno"> 1836</span> <span class="stringliteral">"for line %d in column %d"</span>, line, col) ;</div>
-<div class="line"><a name="l01837"></a><span class="lineno"> 1837</span> continue ;</div>
-<div class="line"><a name="l01838"></a><span class="lineno"> 1838</span> }</div>
-<div class="line"><a name="l01839"></a><span class="lineno"> 1839</span> </div>
-<div class="line"><a name="l01840"></a><span class="lineno"> 1840</span> <span class="comment">/*----------------------------------------------------------------</span></div>
-<div class="line"><a name="l01841"></a><span class="lineno"> 1841</span> <span class="comment"> * magnify image by the given factor add an additional offset</span></div>
-<div class="line"><a name="l01842"></a><span class="lineno"> 1842</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01843"></a><span class="lineno"> 1843</span> cenpix = cenpos ;</div>
-<div class="line"><a name="l01844"></a><span class="lineno"> 1844</span> </div>
-<div class="line"><a name="l01845"></a><span class="lineno"> 1845</span> <span class="comment">/* determine max and min pixel limits over which line should </span></div>
-<div class="line"><a name="l01846"></a><span class="lineno"> 1846</span> <span class="comment"> be convolved */</span></div>
-<div class="line"><a name="l01847"></a><span class="lineno"> 1847</span> cmin = (sinfo_new_nint(cenpix) - (var-1)) > 0 ? </div>
-<div class="line"><a name="l01848"></a><span class="lineno"> 1848</span> sinfo_new_nint(cenpix) - (var-1) : 0 ;</div>
-<div class="line"><a name="l01849"></a><span class="lineno"> 1849</span> cmax = (sinfo_new_nint(cenpix) + (var-1)) < ily ?</div>
-<div class="line"><a name="l01850"></a><span class="lineno"> 1850</span> sinfo_new_nint(cenpix) + (var-1) : ily ;</div>
-<div class="line"><a name="l01851"></a><span class="lineno"> 1851</span> </div>
-<div class="line"><a name="l01852"></a><span class="lineno"> 1852</span> <span class="comment">/* convolve neon lines with Gaussian function */</span></div>
-<div class="line"><a name="l01853"></a><span class="lineno"> 1853</span> <span class="keywordflow">for</span> ( j = cmin ; j < cmax ; j++ )</div>
-<div class="line"><a name="l01854"></a><span class="lineno"> 1854</span> {</div>
-<div class="line"><a name="l01855"></a><span class="lineno"> 1855</span> emline[j] += intensity[line] * </div>
-<div class="line"><a name="l01856"></a><span class="lineno"> 1856</span> exp((<span class="keywordtype">double</span>)(-0.5*(j-cenpix)*(j-cenpix))/(<span class="keywordtype">double</span>)var) ;</div>
-<div class="line"><a name="l01857"></a><span class="lineno"> 1857</span> }</div>
-<div class="line"><a name="l01858"></a><span class="lineno"> 1858</span> }</div>
-<div class="line"><a name="l01859"></a><span class="lineno"> 1859</span> </div>
-<div class="line"><a name="l01860"></a><span class="lineno"> 1860</span> <span class="comment">/*--------------------------------------------------------------------</span></div>
-<div class="line"><a name="l01861"></a><span class="lineno"> 1861</span> <span class="comment"> * for each column, map the image data points onto an magFactor times </span></div>
-<div class="line"><a name="l01862"></a><span class="lineno"> 1862</span> <span class="comment"> bigger element grid for FFT in the cross sinfo_correlation, first </span></div>
-<div class="line"><a name="l01863"></a><span class="lineno"> 1863</span> <span class="comment"> initialize the two helping arrays for each new column.</span></div>
-<div class="line"><a name="l01864"></a><span class="lineno"> 1864</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l01865"></a><span class="lineno"> 1865</span> <span class="keywordflow">for</span> ( k = 0 ; k < ily ; k++ )</div>
-<div class="line"><a name="l01866"></a><span class="lineno"> 1866</span> {</div>
-<div class="line"><a name="l01867"></a><span class="lineno"> 1867</span> spec[k] = 0. ;</div>
-<div class="line"><a name="l01868"></a><span class="lineno"> 1868</span> }</div>
-<div class="line"><a name="l01869"></a><span class="lineno"> 1869</span> </div>
-<div class="line"><a name="l01870"></a><span class="lineno"> 1870</span> <span class="comment">/* now take the image data points of the column and put them into </span></div>
-<div class="line"><a name="l01871"></a><span class="lineno"> 1871</span> <span class="comment"> the spec array */</span></div>
-<div class="line"><a name="l01872"></a><span class="lineno"> 1872</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ ) <span class="comment">/* go through the column */</span></div>
-<div class="line"><a name="l01873"></a><span class="lineno"> 1873</span> {</div>
-<div class="line"><a name="l01874"></a><span class="lineno"> 1874</span> <span class="comment">/* set bad pixels or negative values to zero */</span></div>
-<div class="line"><a name="l01875"></a><span class="lineno"> 1875</span> <span class="keywordflow">if</span> (!isnan(pidata[col + row*ilx]) &&</div>
-<div class="line"><a name="l01876"></a><span class="lineno"> 1876</span> (pidata[col + row*ilx] > 0.))</div>
-<div class="line"><a name="l01877"></a><span class="lineno"> 1877</span> {</div>
-<div class="line"><a name="l01878"></a><span class="lineno"> 1878</span> spec[row] = pidata[col + row*ilx] ;</div>
-<div class="line"><a name="l01879"></a><span class="lineno"> 1879</span> }</div>
-<div class="line"><a name="l01880"></a><span class="lineno"> 1880</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l01881"></a><span class="lineno"> 1881</span> {</div>
-<div class="line"><a name="l01882"></a><span class="lineno"> 1882</span> spec[row] = 0. ;</div>
-<div class="line"><a name="l01883"></a><span class="lineno"> 1883</span> }</div>
-<div class="line"><a name="l01884"></a><span class="lineno"> 1884</span> }</div>
-<div class="line"><a name="l01885"></a><span class="lineno"> 1885</span> <span class="comment">/* convolve the spectrum by Gaussian */</span></div>
-<div class="line"><a name="l01886"></a><span class="lineno"> 1886</span> filter_spec = sinfo_function1d_filter_lowpass(spec,ily, </div>
-<div class="line"><a name="l01887"></a><span class="lineno"> 1887</span> LOW_PASS_GAUSSIAN, </div>
-<div class="line"><a name="l01888"></a><span class="lineno"> 1888</span> magFactor) ; </div>
-<div class="line"><a name="l01889"></a><span class="lineno"> 1889</span> </div>
-<div class="line"><a name="l01890"></a><span class="lineno"> 1890</span> <span class="comment">/* now call the cross sinfo_correlation routine */</span></div>
-<div class="line"><a name="l01891"></a><span class="lineno"> 1891</span> result = sinfo_new_xcorrel( filter_spec, ily, emline, ily,</div>
-<div class="line"><a name="l01892"></a><span class="lineno"> 1892</span> ily/2, &delta, &maxlag, &xcorr_max) ;</div>
-<div class="line"><a name="l01893"></a><span class="lineno"> 1893</span> </div>
-<div class="line"><a name="l01894"></a><span class="lineno"> 1894</span> <span class="keywordflow">if</span> ( xcorr_max <= 0. )</div>
-<div class="line"><a name="l01895"></a><span class="lineno"> 1895</span> {</div>
-<div class="line"><a name="l01896"></a><span class="lineno"> 1896</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"no positive cross sinfo_correlation "</span></div>
-<div class="line"><a name="l01897"></a><span class="lineno"> 1897</span> <span class="stringliteral">"sum , col %d set to ZERO \n"</span>, col) ;</div>
-<div class="line"><a name="l01898"></a><span class="lineno"> 1898</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l01899"></a><span class="lineno"> 1899</span> {</div>
-<div class="line"><a name="l01900"></a><span class="lineno"> 1900</span> podata[col + row*ilx] = ZERO ;</div>
-<div class="line"><a name="l01901"></a><span class="lineno"> 1901</span> }</div>
-<div class="line"><a name="l01902"></a><span class="lineno"> 1902</span> sinfo_function1d_del(filter_spec) ;</div>
-<div class="line"><a name="l01903"></a><span class="lineno"> 1903</span> cpl_free(result) ;</div>
-<div class="line"><a name="l01904"></a><span class="lineno"> 1904</span> continue ;</div>
-<div class="line"><a name="l01905"></a><span class="lineno"> 1905</span> }</div>
-<div class="line"><a name="l01906"></a><span class="lineno"> 1906</span> </div>
-<div class="line"><a name="l01907"></a><span class="lineno"> 1907</span> <span class="comment">/* in this section, we fit the sinfo_correlation function with a gauss, </span></div>
-<div class="line"><a name="l01908"></a><span class="lineno"> 1908</span> <span class="comment"> and find its peak, thus getting subpixel-accuracy */</span></div>
-<div class="line"><a name="l01909"></a><span class="lineno"> 1909</span> </div>
-<div class="line"><a name="l01910"></a><span class="lineno"> 1910</span> i = maxlag; j = i+1;</div>
-<div class="line"><a name="l01911"></a><span class="lineno"> 1911</span> <span class="keywordflow">while</span> (result[j] < result[i])</div>
-<div class="line"><a name="l01912"></a><span class="lineno"> 1912</span> {</div>
-<div class="line"><a name="l01913"></a><span class="lineno"> 1913</span> i++; j++;</div>
-<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span> }</div>
-<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span> i = maxlag; k = i-1;</div>
-<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span> <span class="keywordflow">while</span> (result[k] < result[i])</div>
-<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span> {</div>
-<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span> i--; k--;</div>
-<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span> }</div>
-<div class="line"><a name="l01920"></a><span class="lineno"> 1920</span> width = j-k+1;</div>
-<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span> <span class="comment">/* allocate memory for the spectral sinfo_vector */</span></div>
-<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span> <span class="keywordflow">if</span> ( NULL == (peak = sinfo_new_vector (width)) )</div>
-<div class="line"><a name="l01923"></a><span class="lineno"> 1923</span> {</div>
-<div class="line"><a name="l01924"></a><span class="lineno"> 1924</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" cannot allocate new Vector \n"</span>) ;</div>
-<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span> sinfo_function1d_del(filter_spec) ;</div>
-<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span> cpl_free(result) ;</div>
-<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span> }</div>
-<div class="line"><a name="l01929"></a><span class="lineno"> 1929</span> </div>
-<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span> </div>
-<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span> xdat = (<span class="keywordtype">float</span> *) cpl_calloc( peak -> n_elements, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l01933"></a><span class="lineno"> 1933</span> wdat = (<span class="keywordtype">float</span> *) cpl_calloc( peak -> n_elements, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l01934"></a><span class="lineno"> 1934</span> mpar = (<span class="keywordtype">int</span> *) cpl_calloc( MAXPAR, <span class="keyword">sizeof</span> (<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span> </div>
-<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span> <span class="comment">/* determine the values of the spectral sinfo_vector given as input */</span></div>
-<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span> <span class="comment">/* go through the chosen column */</span></div>
-<div class="line"><a name="l01938"></a><span class="lineno"> 1938</span> </div>
-<div class="line"><a name="l01939"></a><span class="lineno"> 1939</span> <span class="keywordflow">for</span> ( i = 0 ; i < width ; i++ )</div>
-<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span> {</div>
-<div class="line"><a name="l01941"></a><span class="lineno"> 1941</span> peak -> data[i] = result[k+i]/xcorr_max * 100. ;</div>
-<div class="line"><a name="l01942"></a><span class="lineno"> 1942</span> xdat[i] = i;</div>
-<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span> wdat[i] = 1.0;</div>
-<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span> }</div>
-<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span> </div>
-<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span> <span class="comment">/* set initial values for the fitting routine */</span></div>
-<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span> xdim = XDIM;</div>
-<div class="line"><a name="l01948"></a><span class="lineno"> 1948</span> ndat = peak -> n_elements ;</div>
-<div class="line"><a name="l01949"></a><span class="lineno"> 1949</span> numpar = MAXPAR ;</div>
-<div class="line"><a name="l01950"></a><span class="lineno"> 1950</span> tol = TOL ;</div>
-<div class="line"><a name="l01951"></a><span class="lineno"> 1951</span> lab = LAB ;</div>
-<div class="line"><a name="l01952"></a><span class="lineno"> 1952</span> its = ITS ;</div>
-<div class="line"><a name="l01953"></a><span class="lineno"> 1953</span> par[1] = width/2.0 ;</div>
-<div class="line"><a name="l01954"></a><span class="lineno"> 1954</span> par[2] = (float) (maxlag - k) ;</div>
-<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span> par[3] = (peak -> data[0] + peak -> data[peak->n_elements - 1]) / 2.0 ;</div>
-<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span> par[0] = result[maxlag]/xcorr_max * 100. - (par[3]) ;</div>
-<div class="line"><a name="l01957"></a><span class="lineno"> 1957</span> </div>
-<div class="line"><a name="l01958"></a><span class="lineno"> 1958</span> <span class="keywordflow">for</span> ( i = 0 ; i < MAXPAR ; i++ )</div>
-<div class="line"><a name="l01959"></a><span class="lineno"> 1959</span> {</div>
-<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span> derv_par[i] = 0.0 ;</div>
-<div class="line"><a name="l01961"></a><span class="lineno"> 1961</span> mpar[i] = 1 ;</div>
-<div class="line"><a name="l01962"></a><span class="lineno"> 1962</span> }</div>
-<div class="line"><a name="l01963"></a><span class="lineno"> 1963</span> </div>
-<div class="line"><a name="l01964"></a><span class="lineno"> 1964</span> <span class="comment">/* finally, do the least square fit using a sinfo_gaussian */</span></div>
-<div class="line"><a name="l01965"></a><span class="lineno"> 1965</span> <span class="keywordflow">if</span> ( 0 > ( iters = sinfo_new_lsqfit_c( xdat, &xdim, peak -> data, </div>
-<div class="line"><a name="l01966"></a><span class="lineno"> 1966</span> wdat, &ndat, par, </div>
-<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span> derv_par, mpar,</div>
-<div class="line"><a name="l01968"></a><span class="lineno"> 1968</span> &numpar, &tol, &its, &lab )) )</div>
-<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span> {</div>
-<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">" sinfo_new_lsqfit_c: least squares fit "</span></div>
-<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span> <span class="stringliteral">"failed in col: %d, error no.: %d"</span>, col, iters);</div>
-<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span> sinfo_new_destroy_vector ( peak ) ;</div>
-<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span> cpl_free ( xdat ) ;</div>
-<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span> cpl_free ( wdat ) ;</div>
-<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span> cpl_free ( mpar ) ;</div>
-<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span> sinfo_function1d_del(filter_spec) ;</div>
-<div class="line"><a name="l01977"></a><span class="lineno"> 1977</span> cpl_free(result) ;</div>
-<div class="line"><a name="l01978"></a><span class="lineno"> 1978</span> continue ;</div>
-<div class="line"><a name="l01979"></a><span class="lineno"> 1979</span> }</div>
-<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span> </div>
-<div class="line"><a name="l01981"></a><span class="lineno"> 1981</span> sinfo_new_destroy_vector ( peak ) ;</div>
-<div class="line"><a name="l01982"></a><span class="lineno"> 1982</span> cpl_free (xdat) ;</div>
-<div class="line"><a name="l01983"></a><span class="lineno"> 1983</span> cpl_free (wdat) ;</div>
-<div class="line"><a name="l01984"></a><span class="lineno"> 1984</span> cpl_free (mpar) ;</div>
-<div class="line"><a name="l01985"></a><span class="lineno"> 1985</span> sinfo_function1d_del(filter_spec) ;</div>
-<div class="line"><a name="l01986"></a><span class="lineno"> 1986</span> cpl_free(result) ;</div>
-<div class="line"><a name="l01987"></a><span class="lineno"> 1987</span> </div>
-<div class="line"><a name="l01988"></a><span class="lineno"> 1988</span> wavelag =((float)ily/2 - (<span class="keywordtype">float</span>)k - par[2]) ;</div>
-<div class="line"><a name="l01989"></a><span class="lineno"> 1989</span> </div>
-<div class="line"><a name="l01990"></a><span class="lineno"> 1990</span> <span class="keywordflow">if</span> ( fabs(wavelag) > (float)ily/20. )</div>
-<div class="line"><a name="l01991"></a><span class="lineno"> 1991</span> {</div>
-<div class="line"><a name="l01992"></a><span class="lineno"> 1992</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"wavelag very big , col %d set to ZERO "</span>, col) ;</div>
-<div class="line"><a name="l01993"></a><span class="lineno"> 1993</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l01994"></a><span class="lineno"> 1994</span> {</div>
-<div class="line"><a name="l01995"></a><span class="lineno"> 1995</span> podata[col + row*ilx] = ZERO ;</div>
-<div class="line"><a name="l01996"></a><span class="lineno"> 1996</span> }</div>
-<div class="line"><a name="l01997"></a><span class="lineno"> 1997</span> continue ;</div>
-<div class="line"><a name="l01998"></a><span class="lineno"> 1998</span> }</div>
-<div class="line"><a name="l01999"></a><span class="lineno"> 1999</span> </div>
-<div class="line"><a name="l02000"></a><span class="lineno"> 2000</span> <span class="comment">/*--------------------------------------------------------------------</span></div>
-<div class="line"><a name="l02001"></a><span class="lineno"> 2001</span> <span class="comment"> * determine new zero order coefficient centreval, of which the </span></div>
-<div class="line"><a name="l02002"></a><span class="lineno"> 2002</span> <span class="comment"> * formula is determined by setting equal a polynomial shifted by </span></div>
-<div class="line"><a name="l02003"></a><span class="lineno"> 2003</span> <span class="comment"> * wavelag with the same higher order coefficients and set the new </span></div>
-<div class="line"><a name="l02004"></a><span class="lineno"> 2004</span> <span class="comment"> * zero order coefficient to get both sides of the equation </span></div>
-<div class="line"><a name="l02005"></a><span class="lineno"> 2005</span> <span class="comment"> * approximately equal.</span></div>
-<div class="line"><a name="l02006"></a><span class="lineno"> 2006</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02007"></a><span class="lineno"> 2007</span> centreval = a_initial ;</div>
-<div class="line"><a name="l02008"></a><span class="lineno"> 2008</span> <span class="keywordflow">for</span> ( i = 1 ; i < n_fitcoeffs ; i++ )</div>
-<div class="line"><a name="l02009"></a><span class="lineno"> 2009</span> {</div>
-<div class="line"><a name="l02010"></a><span class="lineno"> 2010</span> <span class="keywordflow">if</span> ( i%2 == 0 )</div>
-<div class="line"><a name="l02011"></a><span class="lineno"> 2011</span> {</div>
-<div class="line"><a name="l02012"></a><span class="lineno"> 2012</span> sign = -1 ;</div>
-<div class="line"><a name="l02013"></a><span class="lineno"> 2013</span> }</div>
-<div class="line"><a name="l02014"></a><span class="lineno"> 2014</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02015"></a><span class="lineno"> 2015</span> {</div>
-<div class="line"><a name="l02016"></a><span class="lineno"> 2016</span> sign = 1 ;</div>
-<div class="line"><a name="l02017"></a><span class="lineno"> 2017</span> }</div>
-<div class="line"><a name="l02018"></a><span class="lineno"> 2018</span> centreval += (float)sign * coeffs[i][col]*pow(wavelag, i) ;</div>
-<div class="line"><a name="l02019"></a><span class="lineno"> 2019</span> }</div>
-<div class="line"><a name="l02020"></a><span class="lineno"> 2020</span> a0[col] = centreval ;</div>
-<div class="line"><a name="l02021"></a><span class="lineno"> 2021</span> }</div>
-<div class="line"><a name="l02022"></a><span class="lineno"> 2022</span> </div>
-<div class="line"><a name="l02023"></a><span class="lineno"> 2023</span> <span class="comment">/* go through the single slitlets */</span></div>
-<div class="line"><a name="l02024"></a><span class="lineno"> 2024</span> <span class="keywordflow">for</span> ( ns = 0 ; ns < N_SLITLETS ; ns++ )</div>
-<div class="line"><a name="l02025"></a><span class="lineno"> 2025</span> {</div>
-<div class="line"><a name="l02026"></a><span class="lineno"> 2026</span> <span class="comment">/* determine the slitlet edges */</span></div>
-<div class="line"><a name="l02027"></a><span class="lineno"> 2027</span> <span class="keywordflow">if</span> ( ns == 0 )</div>
-<div class="line"><a name="l02028"></a><span class="lineno"> 2028</span> {</div>
-<div class="line"><a name="l02029"></a><span class="lineno"> 2029</span> ed1 = 0 ;</div>
-<div class="line"><a name="l02030"></a><span class="lineno"> 2030</span> ed2 = edge[0] ;</div>
-<div class="line"><a name="l02031"></a><span class="lineno"> 2031</span> }</div>
-<div class="line"><a name="l02032"></a><span class="lineno"> 2032</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( ns == N_SLITLETS - 1 )</div>
-<div class="line"><a name="l02033"></a><span class="lineno"> 2033</span> {</div>
-<div class="line"><a name="l02034"></a><span class="lineno"> 2034</span> ed1 = edge[N_SLITLETS - 2] ;</div>
-<div class="line"><a name="l02035"></a><span class="lineno"> 2035</span> ed2 = ilx ;</div>
-<div class="line"><a name="l02036"></a><span class="lineno"> 2036</span> }</div>
-<div class="line"><a name="l02037"></a><span class="lineno"> 2037</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02038"></a><span class="lineno"> 2038</span> {</div>
-<div class="line"><a name="l02039"></a><span class="lineno"> 2039</span> ed1 = edge[ns-1] ;</div>
-<div class="line"><a name="l02040"></a><span class="lineno"> 2040</span> ed2 = edge[ns] ;</div>
-<div class="line"><a name="l02041"></a><span class="lineno"> 2041</span> }</div>
-<div class="line"><a name="l02042"></a><span class="lineno"> 2042</span> </div>
-<div class="line"><a name="l02043"></a><span class="lineno"> 2043</span> nc = 0 ;</div>
-<div class="line"><a name="l02044"></a><span class="lineno"> 2044</span> <span class="keywordflow">for</span> ( i = ed1 ; i < ed2 ; i++ )</div>
-<div class="line"><a name="l02045"></a><span class="lineno"> 2045</span> {</div>
-<div class="line"><a name="l02046"></a><span class="lineno"> 2046</span> <span class="keywordflow">if</span> ( isnan(a0[i]) || a0[i] == 0. )</div>
-<div class="line"><a name="l02047"></a><span class="lineno"> 2047</span> {</div>
-<div class="line"><a name="l02048"></a><span class="lineno"> 2048</span> continue ;</div>
-<div class="line"><a name="l02049"></a><span class="lineno"> 2049</span> }</div>
-<div class="line"><a name="l02050"></a><span class="lineno"> 2050</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02051"></a><span class="lineno"> 2051</span> {</div>
-<div class="line"><a name="l02052"></a><span class="lineno"> 2052</span> nc++ ;</div>
-<div class="line"><a name="l02053"></a><span class="lineno"> 2053</span> }</div>
-<div class="line"><a name="l02054"></a><span class="lineno"> 2054</span> }</div>
-<div class="line"><a name="l02055"></a><span class="lineno"> 2055</span> <span class="keywordflow">if</span> ( NULL == (acoefsclean = (<span class="keywordtype">float</span>*) cpl_calloc(nc , <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>))) )</div>
-<div class="line"><a name="l02056"></a><span class="lineno"> 2056</span> {</div>
-<div class="line"><a name="l02057"></a><span class="lineno"> 2057</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not allocate memory for acoefsclean!\n"</span>) ;</div>
-<div class="line"><a name="l02058"></a><span class="lineno"> 2058</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02059"></a><span class="lineno"> 2059</span> }</div>
-<div class="line"><a name="l02060"></a><span class="lineno"> 2060</span> nc = 0 ;</div>
-<div class="line"><a name="l02061"></a><span class="lineno"> 2061</span> <span class="keywordflow">for</span> ( i = ed1 ; i < ed2 ; i++ )</div>
-<div class="line"><a name="l02062"></a><span class="lineno"> 2062</span> {</div>
-<div class="line"><a name="l02063"></a><span class="lineno"> 2063</span> <span class="keywordflow">if</span> ( isnan(a0[i]) || a0[i] == 0. )</div>
-<div class="line"><a name="l02064"></a><span class="lineno"> 2064</span> {</div>
-<div class="line"><a name="l02065"></a><span class="lineno"> 2065</span> continue ;</div>
-<div class="line"><a name="l02066"></a><span class="lineno"> 2066</span> }</div>
-<div class="line"><a name="l02067"></a><span class="lineno"> 2067</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02068"></a><span class="lineno"> 2068</span> {</div>
-<div class="line"><a name="l02069"></a><span class="lineno"> 2069</span> acoefsclean[nc] = a0[i] ;</div>
-<div class="line"><a name="l02070"></a><span class="lineno"> 2070</span> nc++ ;</div>
-<div class="line"><a name="l02071"></a><span class="lineno"> 2071</span> }</div>
-<div class="line"><a name="l02072"></a><span class="lineno"> 2072</span> }</div>
-<div class="line"><a name="l02073"></a><span class="lineno"> 2073</span> </div>
-<div class="line"><a name="l02074"></a><span class="lineno"> 2074</span> <span class="comment">/* ----------------------------------------------------------</span></div>
-<div class="line"><a name="l02075"></a><span class="lineno"> 2075</span> <span class="comment"> * determine the clean mean and sigma value of the coefficients,</span></div>
-<div class="line"><a name="l02076"></a><span class="lineno"> 2076</span> <span class="comment"> * that means reject 10 % of the extreme low and high values</span></div>
-<div class="line"><a name="l02077"></a><span class="lineno"> 2077</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02078"></a><span class="lineno"> 2078</span> sinfo_pixel_qsort(acoefsclean, nc) ;</div>
-<div class="line"><a name="l02079"></a><span class="lineno"> 2079</span> sum = 0. ;</div>
-<div class="line"><a name="l02080"></a><span class="lineno"> 2080</span> sumq = 0. ;</div>
-<div class="line"><a name="l02081"></a><span class="lineno"> 2081</span> mean = 0. ;</div>
-<div class="line"><a name="l02082"></a><span class="lineno"> 2082</span> sigma = 0. ;</div>
-<div class="line"><a name="l02083"></a><span class="lineno"> 2083</span> n = 0 ;</div>
-<div class="line"><a name="l02084"></a><span class="lineno"> 2084</span> <span class="keywordflow">for</span> ( i = (<span class="keywordtype">int</span>)((<span class="keywordtype">float</span>)nc*LOW_REJECT) ; </div>
-<div class="line"><a name="l02085"></a><span class="lineno"> 2085</span> i < (int)((<span class="keywordtype">float</span>)nc*HIGH_REJECT) ; i++ )</div>
-<div class="line"><a name="l02086"></a><span class="lineno"> 2086</span> {</div>
-<div class="line"><a name="l02087"></a><span class="lineno"> 2087</span> sum += (double)acoefsclean[i] ;</div>
-<div class="line"><a name="l02088"></a><span class="lineno"> 2088</span> sumq += ((double)acoefsclean[i] * (<span class="keywordtype">double</span>)acoefsclean[i]) ;</div>
-<div class="line"><a name="l02089"></a><span class="lineno"> 2089</span> n ++ ;</div>
-<div class="line"><a name="l02090"></a><span class="lineno"> 2090</span> }</div>
-<div class="line"><a name="l02091"></a><span class="lineno"> 2091</span> mean = sum/(double)n ;</div>
-<div class="line"><a name="l02092"></a><span class="lineno"> 2092</span> sigma = sqrt( sumq/(<span class="keywordtype">double</span>)n - (mean * mean) ) ;</div>
-<div class="line"><a name="l02093"></a><span class="lineno"> 2093</span> cliphi = mean + sigma * (double)3. ;</div>
-<div class="line"><a name="l02094"></a><span class="lineno"> 2094</span> cliplo = mean - sigma * (double)3. ;</div>
-<div class="line"><a name="l02095"></a><span class="lineno"> 2095</span> <span class="comment">/* fit only the reasonnable values */</span></div>
-<div class="line"><a name="l02096"></a><span class="lineno"> 2096</span> num = 0 ;</div>
-<div class="line"><a name="l02097"></a><span class="lineno"> 2097</span> col_index = 0 ;</div>
-<div class="line"><a name="l02098"></a><span class="lineno"> 2098</span> <span class="keywordflow">for</span> ( i = ed1 ; i < ed2 ; i++ )</div>
-<div class="line"><a name="l02099"></a><span class="lineno"> 2099</span> {</div>
-<div class="line"><a name="l02100"></a><span class="lineno"> 2100</span> <span class="comment">/* take only the reasonnable coefficients */</span></div>
-<div class="line"><a name="l02101"></a><span class="lineno"> 2101</span> <span class="keywordflow">if</span> ( !isnan(a0[i]) && (a0[i] <= cliphi) && (a0[i] >= cliplo) &&</div>
-<div class="line"><a name="l02102"></a><span class="lineno"> 2102</span> (a0[i] != 0.) )</div>
-<div class="line"><a name="l02103"></a><span class="lineno"> 2103</span> {</div>
-<div class="line"><a name="l02104"></a><span class="lineno"> 2104</span> sub_acoefs[num] = a0[i] ;</div>
-<div class="line"><a name="l02105"></a><span class="lineno"> 2105</span> sub_dacoefs[num] = 0.0000005 ;</div>
-<div class="line"><a name="l02106"></a><span class="lineno"> 2106</span> sub_col_index[num] = col_index ;</div>
-<div class="line"><a name="l02107"></a><span class="lineno"> 2107</span> num ++ ;</div>
-<div class="line"><a name="l02108"></a><span class="lineno"> 2108</span> }</div>
-<div class="line"><a name="l02109"></a><span class="lineno"> 2109</span> col_index++ ;</div>
-<div class="line"><a name="l02110"></a><span class="lineno"> 2110</span> }</div>
-<div class="line"><a name="l02111"></a><span class="lineno"> 2111</span> ndata = num ;</div>
-<div class="line"><a name="l02112"></a><span class="lineno"> 2112</span> offset2 = (float)(col_index-1) / 2. ;</div>
-<div class="line"><a name="l02113"></a><span class="lineno"> 2113</span> </div>
-<div class="line"><a name="l02114"></a><span class="lineno"> 2114</span> <span class="keywordflow">if</span> ( ndata < n_fitcoeffs )</div>
-<div class="line"><a name="l02115"></a><span class="lineno"> 2115</span> {</div>
-<div class="line"><a name="l02116"></a><span class="lineno"> 2116</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" not enough data found in slitlet %d\</span></div>
-<div class="line"><a name="l02117"></a><span class="lineno"> 2117</span> <span class="stringliteral"> to determine the fit coefficients.\n"</span>, ns) ;</div>
-<div class="line"><a name="l02118"></a><span class="lineno"> 2118</span> cpl_free(acoefsclean) ;</div>
-<div class="line"><a name="l02119"></a><span class="lineno"> 2119</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02120"></a><span class="lineno"> 2120</span> }</div>
-<div class="line"><a name="l02121"></a><span class="lineno"> 2121</span> </div>
-<div class="line"><a name="l02122"></a><span class="lineno"> 2122</span> <span class="comment">/* allocate coefficient matrices, see numerical recipe function </span></div>
-<div class="line"><a name="l02123"></a><span class="lineno"> 2123</span> <span class="comment"> sinfo_matrix */</span></div>
-<div class="line"><a name="l02124"></a><span class="lineno"> 2124</span> ucoefs = sinfo_matrix(1, ndata, 1, n_fitcoeffs) ;</div>
-<div class="line"><a name="l02125"></a><span class="lineno"> 2125</span> vcoefs = sinfo_matrix(1, ndata, 1, n_fitcoeffs) ;</div>
-<div class="line"><a name="l02126"></a><span class="lineno"> 2126</span> covar = sinfo_matrix(1, n_fitcoeffs, 1, n_fitcoeffs) ;</div>
-<div class="line"><a name="l02127"></a><span class="lineno"> 2127</span> </div>
-<div class="line"><a name="l02128"></a><span class="lineno"> 2128</span> <span class="comment">/* scale the x-values for the fit */</span></div>
-<div class="line"><a name="l02129"></a><span class="lineno"> 2129</span> <span class="keywordflow">for</span> ( i = 0 ; i < ndata ; i++ )</div>
-<div class="line"><a name="l02130"></a><span class="lineno"> 2130</span> {</div>
-<div class="line"><a name="l02131"></a><span class="lineno"> 2131</span> sub_col_index[i] = (sub_col_index[i] - offset2) / offset2 ;</div>
-<div class="line"><a name="l02132"></a><span class="lineno"> 2132</span> }</div>
-<div class="line"><a name="l02133"></a><span class="lineno"> 2133</span> </div>
-<div class="line"><a name="l02134"></a><span class="lineno"> 2134</span> <span class="comment">/* finally, do the singular value decomposition fit */</span></div>
-<div class="line"><a name="l02135"></a><span class="lineno"> 2135</span> sinfo_svd_fitting ( sub_col_index-1, sub_acoefs-1, </div>
-<div class="line"><a name="l02136"></a><span class="lineno"> 2136</span> sub_dacoefs-1, ndata, bcoef[ns]-1,</div>
-<div class="line"><a name="l02137"></a><span class="lineno"> 2137</span> n_fitcoeffs, ucoefs, vcoefs, wcoefs-1, </div>
-<div class="line"><a name="l02138"></a><span class="lineno"> 2138</span> covar, &chisq, sinfo_fpol ) ;</div>
-<div class="line"><a name="l02139"></a><span class="lineno"> 2139</span> </div>
-<div class="line"><a name="l02140"></a><span class="lineno"> 2140</span> <span class="comment">/* scale the found coefficients */</span></div>
-<div class="line"><a name="l02141"></a><span class="lineno"> 2141</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_fitcoeffs ; i ++ )</div>
-<div class="line"><a name="l02142"></a><span class="lineno"> 2142</span> {</div>
-<div class="line"><a name="l02143"></a><span class="lineno"> 2143</span> bcoef[ns][i] /= pow( offset2, i ) ;</div>
-<div class="line"><a name="l02144"></a><span class="lineno"> 2144</span> }</div>
-<div class="line"><a name="l02145"></a><span class="lineno"> 2145</span> </div>
-<div class="line"><a name="l02146"></a><span class="lineno"> 2146</span> <span class="comment">/* free memory */</span></div>
-<div class="line"><a name="l02147"></a><span class="lineno"> 2147</span> cpl_free (acoefsclean) ;</div>
-<div class="line"><a name="l02148"></a><span class="lineno"> 2148</span> sinfo_free_matrix( ucoefs, 1<span class="comment">/*, ndata*/</span>, 1<span class="comment">/*, n_fitcoeffs */</span>) ;</div>
-<div class="line"><a name="l02149"></a><span class="lineno"> 2149</span> sinfo_free_matrix( vcoefs, 1<span class="comment">/*, ndata*/</span>, 1<span class="comment">/*, n_fitcoeffs */</span>) ;</div>
-<div class="line"><a name="l02150"></a><span class="lineno"> 2150</span> sinfo_free_matrix( covar, 1<span class="comment">/*, n_fitcoeffs*/</span>, 1<span class="comment">/*, n_fitcoeffs*/</span>) ;</div>
-<div class="line"><a name="l02151"></a><span class="lineno"> 2151</span> </div>
-<div class="line"><a name="l02152"></a><span class="lineno"> 2152</span> <span class="comment">/* now calculate the smoothed acoefs for each column */</span></div>
-<div class="line"><a name="l02153"></a><span class="lineno"> 2153</span> col_index = 0 ;</div>
-<div class="line"><a name="l02154"></a><span class="lineno"> 2154</span> <span class="keywordflow">for</span> ( i = ed1 ; i < ed2 ; i++ )</div>
-<div class="line"><a name="l02155"></a><span class="lineno"> 2155</span> {</div>
-<div class="line"><a name="l02156"></a><span class="lineno"> 2156</span> a0_clean[i] = 0. ;</div>
-<div class="line"><a name="l02157"></a><span class="lineno"> 2157</span> <span class="keywordflow">for</span> ( n = 0 ; n < n_fitcoeffs ; n++ )</div>
-<div class="line"><a name="l02158"></a><span class="lineno"> 2158</span> {</div>
-<div class="line"><a name="l02159"></a><span class="lineno"> 2159</span> a0_clean[i] += bcoef[ns][n] * </div>
-<div class="line"><a name="l02160"></a><span class="lineno"> 2160</span> pow((<span class="keywordtype">float</span>)col_index - offset2, n) ;</div>
-<div class="line"><a name="l02161"></a><span class="lineno"> 2161</span> }</div>
-<div class="line"><a name="l02162"></a><span class="lineno"> 2162</span> col_index++ ;</div>
-<div class="line"><a name="l02163"></a><span class="lineno"> 2163</span> }</div>
-<div class="line"><a name="l02164"></a><span class="lineno"> 2164</span> </div>
-<div class="line"><a name="l02165"></a><span class="lineno"> 2165</span> }</div>
-<div class="line"><a name="l02166"></a><span class="lineno"> 2166</span> </div>
-<div class="line"><a name="l02167"></a><span class="lineno"> 2167</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l02168"></a><span class="lineno"> 2168</span> {</div>
-<div class="line"><a name="l02169"></a><span class="lineno"> 2169</span> <span class="comment">/* prepare to write out wavelength as pixel values */</span></div>
-<div class="line"><a name="l02170"></a><span class="lineno"> 2170</span> <span class="keywordflow">for</span> ( row = 0 ; row < oly ; row++ )</div>
-<div class="line"><a name="l02171"></a><span class="lineno"> 2171</span> {</div>
-<div class="line"><a name="l02172"></a><span class="lineno"> 2172</span> centrepix = (float)row - ((<span class="keywordtype">float</span>)oly - 1.)/2. ;</div>
-<div class="line"><a name="l02173"></a><span class="lineno"> 2173</span> pixvalue = 0. ;</div>
-<div class="line"><a name="l02174"></a><span class="lineno"> 2174</span> <span class="keywordflow">for</span> ( i = 1 ; i < n_fitcoeffs ; i++ )</div>
-<div class="line"><a name="l02175"></a><span class="lineno"> 2175</span> {</div>
-<div class="line"><a name="l02176"></a><span class="lineno"> 2176</span> pixvalue += coeffs[i][col]*pow(centrepix, i) ;</div>
-<div class="line"><a name="l02177"></a><span class="lineno"> 2177</span> }</div>
-<div class="line"><a name="l02178"></a><span class="lineno"> 2178</span> podata[col+row*olx] = a0_clean[col] + pixvalue ;</div>
-<div class="line"><a name="l02179"></a><span class="lineno"> 2179</span> }</div>
-<div class="line"><a name="l02180"></a><span class="lineno"> 2180</span> }</div>
-<div class="line"><a name="l02181"></a><span class="lineno"> 2181</span> </div>
-<div class="line"><a name="l02182"></a><span class="lineno"> 2182</span> </div>
-<div class="line"><a name="l02183"></a><span class="lineno"> 2183</span> cpl_free(emline) ;</div>
-<div class="line"><a name="l02184"></a><span class="lineno"> 2184</span> cpl_free(spec) ;</div>
-<div class="line"><a name="l02185"></a><span class="lineno"> 2185</span> cpl_free(wave) ;</div>
-<div class="line"><a name="l02186"></a><span class="lineno"> 2186</span> cpl_free(a0) ;</div>
-<div class="line"><a name="l02187"></a><span class="lineno"> 2187</span> cpl_free(a0_clean) ;</div>
-<div class="line"><a name="l02188"></a><span class="lineno"> 2188</span> </div>
-<div class="line"><a name="l02189"></a><span class="lineno"> 2189</span> </div>
-<div class="line"><a name="l02190"></a><span class="lineno"> 2190</span> cpl_free(sub_col_index) ;</div>
-<div class="line"><a name="l02191"></a><span class="lineno"> 2191</span> cpl_free(sub_acoefs);</div>
-<div class="line"><a name="l02192"></a><span class="lineno"> 2192</span> cpl_free(sub_dacoefs) ;</div>
-<div class="line"><a name="l02193"></a><span class="lineno"> 2193</span> </div>
-<div class="line"><a name="l02194"></a><span class="lineno"> 2194</span> cpl_free(a) ;</div>
-<div class="line"><a name="l02195"></a><span class="lineno"> 2195</span> cpl_free(z) ;</div>
-<div class="line"><a name="l02196"></a><span class="lineno"> 2196</span> </div>
-<div class="line"><a name="l02197"></a><span class="lineno"> 2197</span> sinfo_new_destroy_2Dfloatarray(&bcoef,n_fitcoeffs) ;</div>
-<div class="line"><a name="l02198"></a><span class="lineno"> 2198</span> cpl_free(wcoefs) ;</div>
-<div class="line"><a name="l02199"></a><span class="lineno"> 2199</span> </div>
-<div class="line"><a name="l02200"></a><span class="lineno"> 2200</span> <span class="keywordflow">return</span> wavemap ;</div>
-<div class="line"><a name="l02201"></a><span class="lineno"> 2201</span> }</div>
-<div class="line"><a name="l02202"></a><span class="lineno"> 2202</span> </div>
-<div class="line"><a name="l02226"></a><span class="lineno"> 2226</span> cpl_image * sinfo_new_create_shifted_slit_wavemap3 ( cpl_image * lineIm,</div>
-<div class="line"><a name="l02227"></a><span class="lineno"> 2227</span> <span class="keywordtype">float</span> ** coeffs,</div>
-<div class="line"><a name="l02228"></a><span class="lineno"> 2228</span> <span class="keywordtype">int</span> n_fitcoeffs,</div>
-<div class="line"><a name="l02229"></a><span class="lineno"> 2229</span> <span class="keywordtype">float</span> * wavelength,</div>
-<div class="line"><a name="l02230"></a><span class="lineno"> 2230</span> <span class="keywordtype">float</span> * intensity,</div>
-<div class="line"><a name="l02231"></a><span class="lineno"> 2231</span> <span class="keywordtype">int</span> n_lines,</div>
-<div class="line"><a name="l02232"></a><span class="lineno"> 2232</span> <span class="keywordtype">int</span> magFactor )</div>
-<div class="line"><a name="l02233"></a><span class="lineno"> 2233</span> {</div>
-<div class="line"><a name="l02234"></a><span class="lineno"> 2234</span> </div>
-<div class="line"><a name="l02235"></a><span class="lineno"> 2235</span> cpl_image * wavemap ;</div>
-<div class="line"><a name="l02236"></a><span class="lineno"> 2236</span> <span class="keywordtype">double</span> * result ;</div>
-<div class="line"><a name="l02237"></a><span class="lineno"> 2237</span> <span class="keywordtype">float</span> * filter_spec ;</div>
-<div class="line"><a name="l02238"></a><span class="lineno"> 2238</span> <span class="keywordtype">float</span> centreval ;</div>
-<div class="line"><a name="l02239"></a><span class="lineno"> 2239</span> <span class="keywordtype">float</span> centrepix ;</div>
-<div class="line"><a name="l02240"></a><span class="lineno"> 2240</span> <span class="keywordtype">float</span> cenpos, cenpix ;</div>
-<div class="line"><a name="l02241"></a><span class="lineno"> 2241</span> <span class="keywordtype">float</span> pixvalue ;</div>
-<div class="line"><a name="l02242"></a><span class="lineno"> 2242</span> <span class="keywordtype">float</span> wavelag_mean ;</div>
-<div class="line"><a name="l02243"></a><span class="lineno"> 2243</span> <span class="comment">/*float maxres ;*/</span></div>
-<div class="line"><a name="l02244"></a><span class="lineno"> 2244</span> <span class="keywordtype">float</span> angst ;</div>
-<div class="line"><a name="l02245"></a><span class="lineno"> 2245</span> <span class="comment">/*float temp ;*/</span></div>
-<div class="line"><a name="l02246"></a><span class="lineno"> 2246</span> <span class="keywordtype">float</span> a_initial ;</div>
-<div class="line"><a name="l02247"></a><span class="lineno"> 2247</span> <span class="comment">/*float solution[n_fitcoeffs-1], im_solution[n_fitcoeffs-1] ;*/</span></div>
-<div class="line"><a name="l02248"></a><span class="lineno"> 2248</span> </div>
-<div class="line"><a name="l02249"></a><span class="lineno"> 2249</span> <span class="keywordtype">float</span> par[MAXPAR] ;</div>
-<div class="line"><a name="l02250"></a><span class="lineno"> 2250</span> <span class="keywordtype">float</span> derv_par[MAXPAR] ;</div>
-<div class="line"><a name="l02251"></a><span class="lineno"> 2251</span> <span class="keywordtype">int</span> numpar, its ;</div>
-<div class="line"><a name="l02252"></a><span class="lineno"> 2252</span> <span class="keywordtype">int</span> * mpar ;</div>
-<div class="line"><a name="l02253"></a><span class="lineno"> 2253</span> <span class="keywordtype">float</span> tol, lab ;</div>
-<div class="line"><a name="l02254"></a><span class="lineno"> 2254</span> <span class="keywordtype">float</span> * xdat, * wdat ;</div>
-<div class="line"><a name="l02255"></a><span class="lineno"> 2255</span> Vector * peak;</div>
-<div class="line"><a name="l02256"></a><span class="lineno"> 2256</span> <span class="keywordtype">int</span> iters, xdim, ndat ;</div>
-<div class="line"><a name="l02257"></a><span class="lineno"> 2257</span> <span class="keywordtype">int</span> row , col ;</div>
-<div class="line"><a name="l02258"></a><span class="lineno"> 2258</span> <span class="keywordtype">int</span> i, j, k<span class="comment">/*, l, m, n*/</span> ;</div>
-<div class="line"><a name="l02259"></a><span class="lineno"> 2259</span> <span class="keywordtype">int</span> sign, found, line, width ;</div>
-<div class="line"><a name="l02260"></a><span class="lineno"> 2260</span> <span class="keywordtype">int</span> var, maxlag, cmin, cmax ;</div>
-<div class="line"><a name="l02261"></a><span class="lineno"> 2261</span> </div>
-<div class="line"><a name="l02262"></a><span class="lineno"> 2262</span> <span class="keywordtype">float</span>* emline=NULL ;</div>
-<div class="line"><a name="l02263"></a><span class="lineno"> 2263</span> <span class="keywordtype">float</span>* spec=NULL ;</div>
-<div class="line"><a name="l02264"></a><span class="lineno"> 2264</span> <span class="keywordtype">float</span>* wavelag=NULL ;</div>
-<div class="line"><a name="l02265"></a><span class="lineno"> 2265</span> <span class="keywordtype">float</span>* wave=NULL ;</div>
-<div class="line"><a name="l02266"></a><span class="lineno"> 2266</span> <span class="keywordtype">double</span>* a=NULL ;</div>
-<div class="line"><a name="l02267"></a><span class="lineno"> 2267</span> <span class="keywordtype">double</span>* z=NULL ;</div>
-<div class="line"><a name="l02268"></a><span class="lineno"> 2268</span> </div>
-<div class="line"><a name="l02269"></a><span class="lineno"> 2269</span> gsl_poly_complex_workspace * w ;</div>
-<div class="line"><a name="l02270"></a><span class="lineno"> 2270</span> <span class="keywordtype">double</span> xcorr_max ;</div>
-<div class="line"><a name="l02271"></a><span class="lineno"> 2271</span> <span class="keywordtype">int</span> delta ;</div>
-<div class="line"><a name="l02272"></a><span class="lineno"> 2272</span> </div>
-<div class="line"><a name="l02273"></a><span class="lineno"> 2273</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l02274"></a><span class="lineno"> 2274</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l02275"></a><span class="lineno"> 2275</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l02276"></a><span class="lineno"> 2276</span> <span class="keywordtype">int</span> olx=0;</div>
-<div class="line"><a name="l02277"></a><span class="lineno"> 2277</span> <span class="keywordtype">int</span> oly=0;</div>
-<div class="line"><a name="l02278"></a><span class="lineno"> 2278</span> <span class="keywordtype">float</span>* podata=NULL;</div>
-<div class="line"><a name="l02279"></a><span class="lineno"> 2279</span> </div>
-<div class="line"><a name="l02280"></a><span class="lineno"> 2280</span> </div>
-<div class="line"><a name="l02281"></a><span class="lineno"> 2281</span> </div>
-<div class="line"><a name="l02282"></a><span class="lineno"> 2282</span> <span class="keywordflow">if</span> ( lineIm == NULL )</div>
-<div class="line"><a name="l02283"></a><span class="lineno"> 2283</span> {</div>
-<div class="line"><a name="l02284"></a><span class="lineno"> 2284</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no input image given!\n"</span>) ;</div>
-<div class="line"><a name="l02285"></a><span class="lineno"> 2285</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02286"></a><span class="lineno"> 2286</span> }</div>
-<div class="line"><a name="l02287"></a><span class="lineno"> 2287</span> ilx=cpl_image_get_size_x(lineIm);</div>
-<div class="line"><a name="l02288"></a><span class="lineno"> 2288</span> ily=cpl_image_get_size_y(lineIm);</div>
-<div class="line"><a name="l02289"></a><span class="lineno"> 2289</span> pidata=cpl_image_get_data_float(lineIm);</div>
-<div class="line"><a name="l02290"></a><span class="lineno"> 2290</span> </div>
-<div class="line"><a name="l02291"></a><span class="lineno"> 2291</span> <span class="keywordflow">if</span> ( coeffs == NULL )</div>
-<div class="line"><a name="l02292"></a><span class="lineno"> 2292</span> {</div>
-<div class="line"><a name="l02293"></a><span class="lineno"> 2293</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no coefficient sinfo_matrix given!\n"</span>) ;</div>
-<div class="line"><a name="l02294"></a><span class="lineno"> 2294</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02295"></a><span class="lineno"> 2295</span> }</div>
-<div class="line"><a name="l02296"></a><span class="lineno"> 2296</span> <span class="keywordflow">if</span> ( n_fitcoeffs < 2 )</div>
-<div class="line"><a name="l02297"></a><span class="lineno"> 2297</span> {</div>
-<div class="line"><a name="l02298"></a><span class="lineno"> 2298</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" wrong number of polynomial coefficients given!\n"</span>) ;</div>
-<div class="line"><a name="l02299"></a><span class="lineno"> 2299</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02300"></a><span class="lineno"> 2300</span> }</div>
-<div class="line"><a name="l02301"></a><span class="lineno"> 2301</span> </div>
-<div class="line"><a name="l02302"></a><span class="lineno"> 2302</span> <span class="keywordflow">if</span> ( wavelength == NULL || intensity == NULL )</div>
-<div class="line"><a name="l02303"></a><span class="lineno"> 2303</span> {</div>
-<div class="line"><a name="l02304"></a><span class="lineno"> 2304</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no wavelength list given!\n"</span>) ;</div>
-<div class="line"><a name="l02305"></a><span class="lineno"> 2305</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02306"></a><span class="lineno"> 2306</span> }</div>
-<div class="line"><a name="l02307"></a><span class="lineno"> 2307</span> <span class="keywordflow">if</span> ( n_lines < 1 || magFactor < 1 )</div>
-<div class="line"><a name="l02308"></a><span class="lineno"> 2308</span> {</div>
-<div class="line"><a name="l02309"></a><span class="lineno"> 2309</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" wrong n_lines or magFactor given!\n"</span>) ;</div>
-<div class="line"><a name="l02310"></a><span class="lineno"> 2310</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02311"></a><span class="lineno"> 2311</span> }</div>
-<div class="line"><a name="l02312"></a><span class="lineno"> 2312</span> </div>
-<div class="line"><a name="l02313"></a><span class="lineno"> 2313</span> var = (magFactor - 1)*(magFactor - 1) ;</div>
-<div class="line"><a name="l02314"></a><span class="lineno"> 2314</span> <span class="comment">/* find out if Angstroem or microns are used */</span></div>
-<div class="line"><a name="l02315"></a><span class="lineno"> 2315</span> <span class="keywordflow">if</span> ( wavelength[0] > 10000. )</div>
-<div class="line"><a name="l02316"></a><span class="lineno"> 2316</span> {</div>
-<div class="line"><a name="l02317"></a><span class="lineno"> 2317</span> <span class="comment">/* Angstroem */</span></div>
-<div class="line"><a name="l02318"></a><span class="lineno"> 2318</span> angst = 10000. ;</div>
-<div class="line"><a name="l02319"></a><span class="lineno"> 2319</span> }</div>
-<div class="line"><a name="l02320"></a><span class="lineno"> 2320</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( wavelength[0] > 1000. && wavelength[0] < 10000. )</div>
-<div class="line"><a name="l02321"></a><span class="lineno"> 2321</span> {</div>
-<div class="line"><a name="l02322"></a><span class="lineno"> 2322</span> <span class="comment">/* nanometers */</span></div>
-<div class="line"><a name="l02323"></a><span class="lineno"> 2323</span> angst = 1000. ;</div>
-<div class="line"><a name="l02324"></a><span class="lineno"> 2324</span> }</div>
-<div class="line"><a name="l02325"></a><span class="lineno"> 2325</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02326"></a><span class="lineno"> 2326</span> {</div>
-<div class="line"><a name="l02327"></a><span class="lineno"> 2327</span> <span class="comment">/* microns */</span></div>
-<div class="line"><a name="l02328"></a><span class="lineno"> 2328</span> angst = 1. ;</div>
-<div class="line"><a name="l02329"></a><span class="lineno"> 2329</span> }</div>
-<div class="line"><a name="l02330"></a><span class="lineno"> 2330</span> </div>
-<div class="line"><a name="l02331"></a><span class="lineno"> 2331</span> </div>
-<div class="line"><a name="l02332"></a><span class="lineno"> 2332</span> </div>
-<div class="line"><a name="l02333"></a><span class="lineno"> 2333</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l02334"></a><span class="lineno"> 2334</span> <span class="keywordflow">if</span> ( NULL == (wavemap = cpl_image_new ( ilx, ily,CPL_TYPE_FLOAT)) )</div>
-<div class="line"><a name="l02335"></a><span class="lineno"> 2335</span> {</div>
-<div class="line"><a name="l02336"></a><span class="lineno"> 2336</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" could not allocate memory!\n"</span>) ;</div>
-<div class="line"><a name="l02337"></a><span class="lineno"> 2337</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02338"></a><span class="lineno"> 2338</span> }</div>
-<div class="line"><a name="l02339"></a><span class="lineno"> 2339</span> podata=cpl_image_get_data_float(lineIm);</div>
-<div class="line"><a name="l02340"></a><span class="lineno"> 2340</span> olx=ilx;</div>
-<div class="line"><a name="l02341"></a><span class="lineno"> 2341</span> oly=ily;</div>
-<div class="line"><a name="l02342"></a><span class="lineno"> 2342</span> </div>
-<div class="line"><a name="l02343"></a><span class="lineno"> 2343</span> emline=cpl_calloc(ily,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02344"></a><span class="lineno"> 2344</span> spec=cpl_calloc(ily,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02345"></a><span class="lineno"> 2345</span> wavelag=cpl_calloc(ilx,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02346"></a><span class="lineno"> 2346</span> wave=cpl_calloc(n_lines,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02347"></a><span class="lineno"> 2347</span> a=cpl_calloc(n_fitcoeffs,<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l02348"></a><span class="lineno"> 2348</span> z=cpl_calloc(2*(n_fitcoeffs - 1),<span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ;</div>
-<div class="line"><a name="l02349"></a><span class="lineno"> 2349</span> </div>
-<div class="line"><a name="l02350"></a><span class="lineno"> 2350</span> </div>
-<div class="line"><a name="l02351"></a><span class="lineno"> 2351</span> <span class="comment">/* first store each spectrum in a buffer */</span></div>
-<div class="line"><a name="l02352"></a><span class="lineno"> 2352</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l02353"></a><span class="lineno"> 2353</span> {</div>
-<div class="line"><a name="l02354"></a><span class="lineno"> 2354</span> <span class="comment">/* initialize the emline array for each column */</span></div>
-<div class="line"><a name="l02355"></a><span class="lineno"> 2355</span> <span class="keywordflow">for</span> ( i = 0 ; i < ily ; i++ )</div>
-<div class="line"><a name="l02356"></a><span class="lineno"> 2356</span> {</div>
-<div class="line"><a name="l02357"></a><span class="lineno"> 2357</span> emline[i] = 0. ;</div>
-<div class="line"><a name="l02358"></a><span class="lineno"> 2358</span> }</div>
-<div class="line"><a name="l02359"></a><span class="lineno"> 2359</span> <span class="comment">/* determine the coefficients by using the given bcoefs */</span></div>
-<div class="line"><a name="l02360"></a><span class="lineno"> 2360</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_fitcoeffs ; i++ )</div>
-<div class="line"><a name="l02361"></a><span class="lineno"> 2361</span> {</div>
-<div class="line"><a name="l02362"></a><span class="lineno"> 2362</span> <span class="comment">/* initialize coefficients and solution */</span></div>
-<div class="line"><a name="l02363"></a><span class="lineno"> 2363</span> <span class="keywordflow">if</span> (i < n_fitcoeffs-1)</div>
-<div class="line"><a name="l02364"></a><span class="lineno"> 2364</span> {</div>
-<div class="line"><a name="l02365"></a><span class="lineno"> 2365</span> z[2*i] = 0. ;</div>
-<div class="line"><a name="l02366"></a><span class="lineno"> 2366</span> z[2*i+1] = 0. ;</div>
-<div class="line"><a name="l02367"></a><span class="lineno"> 2367</span> }</div>
-<div class="line"><a name="l02368"></a><span class="lineno"> 2368</span> a[i] = coeffs[i][col] ;</div>
-<div class="line"><a name="l02369"></a><span class="lineno"> 2369</span> }</div>
-<div class="line"><a name="l02370"></a><span class="lineno"> 2370</span> </div>
-<div class="line"><a name="l02371"></a><span class="lineno"> 2371</span> a_initial = coeffs[0][col] ;</div>
-<div class="line"><a name="l02372"></a><span class="lineno"> 2372</span> <span class="comment">/* go through the lines and generate an artificial spectrum */</span></div>
-<div class="line"><a name="l02373"></a><span class="lineno"> 2373</span> <span class="keywordflow">for</span> ( line = 0 ; line < n_lines ; line++ )</div>
-<div class="line"><a name="l02374"></a><span class="lineno"> 2374</span> {</div>
-<div class="line"><a name="l02375"></a><span class="lineno"> 2375</span> <span class="comment">/* go from Angstroem to micron */</span></div>
-<div class="line"><a name="l02376"></a><span class="lineno"> 2376</span> wave[line] = wavelength[line]/angst ;</div>
-<div class="line"><a name="l02377"></a><span class="lineno"> 2377</span> </div>
-<div class="line"><a name="l02378"></a><span class="lineno"> 2378</span> <span class="comment">/* ----------------------------------------------------------------</span></div>
-<div class="line"><a name="l02379"></a><span class="lineno"> 2379</span> <span class="comment"> * solve the polynomial for the exact offset of the line that means</span></div>
-<div class="line"><a name="l02380"></a><span class="lineno"> 2380</span> <span class="comment"> * find the root of the polynomial of order n_fitcoefs - 1</span></div>
-<div class="line"><a name="l02381"></a><span class="lineno"> 2381</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02382"></a><span class="lineno"> 2382</span> a[0] = a_initial - wave[line] ;</div>
-<div class="line"><a name="l02383"></a><span class="lineno"> 2383</span> </div>
-<div class="line"><a name="l02384"></a><span class="lineno"> 2384</span> <span class="keywordflow">if</span> (NULL==(w=sinfo_gsl_poly_complex_workspace_alloc(n_fitcoeffs))) </div>
-<div class="line"><a name="l02385"></a><span class="lineno"> 2385</span> {</div>
-<div class="line"><a name="l02386"></a><span class="lineno"> 2386</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" could not allocate complex workspace!"</span>) ;</div>
-<div class="line"><a name="l02387"></a><span class="lineno"> 2387</span> cpl_image_delete(wavemap) ;</div>
-<div class="line"><a name="l02388"></a><span class="lineno"> 2388</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02389"></a><span class="lineno"> 2389</span> }</div>
-<div class="line"><a name="l02390"></a><span class="lineno"> 2390</span> <span class="keywordflow">if</span> (-1 == sinfo_gsl_poly_complex_solve(a, n_fitcoeffs, w, z)) </div>
-<div class="line"><a name="l02391"></a><span class="lineno"> 2391</span> {</div>
-<div class="line"><a name="l02392"></a><span class="lineno"> 2392</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"sinfo_gsl_poly_complex_solve did not work!"</span>) ;</div>
-<div class="line"><a name="l02393"></a><span class="lineno"> 2393</span> cpl_image_delete(wavemap) ;</div>
-<div class="line"><a name="l02394"></a><span class="lineno"> 2394</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02395"></a><span class="lineno"> 2395</span> }</div>
-<div class="line"><a name="l02396"></a><span class="lineno"> 2396</span> sinfo_gsl_poly_complex_workspace_free(w) ; </div>
-<div class="line"><a name="l02397"></a><span class="lineno"> 2397</span> </div>
-<div class="line"><a name="l02398"></a><span class="lineno"> 2398</span> j = 0 ;</div>
-<div class="line"><a name="l02399"></a><span class="lineno"> 2399</span> found = -1 ;</div>
-<div class="line"><a name="l02400"></a><span class="lineno"> 2400</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_fitcoeffs - 1 ; i++ )</div>
-<div class="line"><a name="l02401"></a><span class="lineno"> 2401</span> {</div>
-<div class="line"><a name="l02402"></a><span class="lineno"> 2402</span> <span class="comment">/* test for appropriate solution */</span></div>
-<div class="line"><a name="l02403"></a><span class="lineno"> 2403</span> <span class="keywordflow">if</span>( (z[2*i] > (-1.)*(<span class="keywordtype">float</span>) ily/2. &&</div>
-<div class="line"><a name="l02404"></a><span class="lineno"> 2404</span> z[2*i] < (<span class="keywordtype">float</span>)ily/2.) && z[2*i+1] == 0. )</div>
-<div class="line"><a name="l02405"></a><span class="lineno"> 2405</span> {</div>
-<div class="line"><a name="l02406"></a><span class="lineno"> 2406</span> found = 2*i ;</div>
-<div class="line"><a name="l02407"></a><span class="lineno"> 2407</span> j ++ ;</div>
-<div class="line"><a name="l02408"></a><span class="lineno"> 2408</span> }</div>
-<div class="line"><a name="l02409"></a><span class="lineno"> 2409</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02410"></a><span class="lineno"> 2410</span> {</div>
-<div class="line"><a name="l02411"></a><span class="lineno"> 2411</span> continue ;</div>
-<div class="line"><a name="l02412"></a><span class="lineno"> 2412</span> }</div>
-<div class="line"><a name="l02413"></a><span class="lineno"> 2413</span> }</div>
-<div class="line"><a name="l02414"></a><span class="lineno"> 2414</span> <span class="keywordflow">if</span> ( j == 0 )</div>
-<div class="line"><a name="l02415"></a><span class="lineno"> 2415</span> {</div>
-<div class="line"><a name="l02416"></a><span class="lineno"> 2416</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"no offset solution found for line %d "</span></div>
-<div class="line"><a name="l02417"></a><span class="lineno"> 2417</span> <span class="stringliteral">"in column %d\n"</span>, line, col) ;</div>
-<div class="line"><a name="l02418"></a><span class="lineno"> 2418</span> continue ;</div>
-<div class="line"><a name="l02419"></a><span class="lineno"> 2419</span> }</div>
-<div class="line"><a name="l02420"></a><span class="lineno"> 2420</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( j == 1 )</div>
-<div class="line"><a name="l02421"></a><span class="lineno"> 2421</span> {</div>
-<div class="line"><a name="l02422"></a><span class="lineno"> 2422</span> cenpos = z[found] + (float) ily /2. ;</div>
-<div class="line"><a name="l02423"></a><span class="lineno"> 2423</span> }</div>
-<div class="line"><a name="l02424"></a><span class="lineno"> 2424</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02425"></a><span class="lineno"> 2425</span> {</div>
-<div class="line"><a name="l02426"></a><span class="lineno"> 2426</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"two or more offset solutions found for "</span></div>
-<div class="line"><a name="l02427"></a><span class="lineno"> 2427</span> <span class="stringliteral">"line %d in column %d\n"</span>, line, col) ;</div>
-<div class="line"><a name="l02428"></a><span class="lineno"> 2428</span> continue ;</div>
-<div class="line"><a name="l02429"></a><span class="lineno"> 2429</span> }</div>
-<div class="line"><a name="l02430"></a><span class="lineno"> 2430</span> </div>
-<div class="line"><a name="l02431"></a><span class="lineno"> 2431</span> <span class="comment">/*-----------------------------------------------------------------</span></div>
-<div class="line"><a name="l02432"></a><span class="lineno"> 2432</span> <span class="comment"> * magnify image by the given factor add an additional offset</span></div>
-<div class="line"><a name="l02433"></a><span class="lineno"> 2433</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02434"></a><span class="lineno"> 2434</span> cenpix = cenpos ;</div>
-<div class="line"><a name="l02435"></a><span class="lineno"> 2435</span> </div>
-<div class="line"><a name="l02436"></a><span class="lineno"> 2436</span> <span class="comment">/* determine max and min pixel limits over which </span></div>
-<div class="line"><a name="l02437"></a><span class="lineno"> 2437</span> <span class="comment"> line should be convolved */</span></div>
-<div class="line"><a name="l02438"></a><span class="lineno"> 2438</span> cmin = (sinfo_new_nint(cenpix) - (var-1)) > 0 ? </div>
-<div class="line"><a name="l02439"></a><span class="lineno"> 2439</span> sinfo_new_nint(cenpix) - (var-1) : 0 ;</div>
-<div class="line"><a name="l02440"></a><span class="lineno"> 2440</span> cmax = (sinfo_new_nint(cenpix) + (var-1)) < ily ?</div>
-<div class="line"><a name="l02441"></a><span class="lineno"> 2441</span> sinfo_new_nint(cenpix) + (var-1) : ily ;</div>
-<div class="line"><a name="l02442"></a><span class="lineno"> 2442</span> </div>
-<div class="line"><a name="l02443"></a><span class="lineno"> 2443</span> <span class="comment">/* convolve neon lines with Gaussian function */</span></div>
-<div class="line"><a name="l02444"></a><span class="lineno"> 2444</span> <span class="keywordflow">for</span> ( j = cmin ; j < cmax ; j++ )</div>
-<div class="line"><a name="l02445"></a><span class="lineno"> 2445</span> {</div>
-<div class="line"><a name="l02446"></a><span class="lineno"> 2446</span> emline[j] += intensity[line] * </div>
-<div class="line"><a name="l02447"></a><span class="lineno"> 2447</span> exp((<span class="keywordtype">double</span>)(-0.5*(j-cenpix)*(j-cenpix))/(<span class="keywordtype">double</span>)var) ;</div>
-<div class="line"><a name="l02448"></a><span class="lineno"> 2448</span> }</div>
-<div class="line"><a name="l02449"></a><span class="lineno"> 2449</span> }</div>
-<div class="line"><a name="l02450"></a><span class="lineno"> 2450</span> </div>
-<div class="line"><a name="l02451"></a><span class="lineno"> 2451</span> <span class="comment">/*--------------------------------------------------------------------</span></div>
-<div class="line"><a name="l02452"></a><span class="lineno"> 2452</span> <span class="comment"> * for each column, map the image data points onto an magFactor times </span></div>
-<div class="line"><a name="l02453"></a><span class="lineno"> 2453</span> <span class="comment"> bigger element grid for FFT in the cross sinfo_correlation, first </span></div>
-<div class="line"><a name="l02454"></a><span class="lineno"> 2454</span> <span class="comment"> initialize the two helping arrays for each new column.</span></div>
-<div class="line"><a name="l02455"></a><span class="lineno"> 2455</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02456"></a><span class="lineno"> 2456</span> <span class="keywordflow">for</span> ( k = 0 ; k < ily ; k++ )</div>
-<div class="line"><a name="l02457"></a><span class="lineno"> 2457</span> {</div>
-<div class="line"><a name="l02458"></a><span class="lineno"> 2458</span> spec[k] = 0. ;</div>
-<div class="line"><a name="l02459"></a><span class="lineno"> 2459</span> }</div>
-<div class="line"><a name="l02460"></a><span class="lineno"> 2460</span> </div>
-<div class="line"><a name="l02461"></a><span class="lineno"> 2461</span> <span class="comment">/* now take the image data points of the column and put them into </span></div>
-<div class="line"><a name="l02462"></a><span class="lineno"> 2462</span> <span class="comment"> the spec array */</span></div>
-<div class="line"><a name="l02463"></a><span class="lineno"> 2463</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ ) <span class="comment">/* go through the column */</span></div>
-<div class="line"><a name="l02464"></a><span class="lineno"> 2464</span> {</div>
-<div class="line"><a name="l02465"></a><span class="lineno"> 2465</span> <span class="comment">/* set bad pixels or negative values to zero */</span></div>
-<div class="line"><a name="l02466"></a><span class="lineno"> 2466</span> <span class="keywordflow">if</span> (!isnan(pidata[col + row*ilx]) &&</div>
-<div class="line"><a name="l02467"></a><span class="lineno"> 2467</span> (pidata[col + row*ilx] > 0.))</div>
-<div class="line"><a name="l02468"></a><span class="lineno"> 2468</span> {</div>
-<div class="line"><a name="l02469"></a><span class="lineno"> 2469</span> spec[row] = pidata[col + row*ilx] ;</div>
-<div class="line"><a name="l02470"></a><span class="lineno"> 2470</span> }</div>
-<div class="line"><a name="l02471"></a><span class="lineno"> 2471</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02472"></a><span class="lineno"> 2472</span> {</div>
-<div class="line"><a name="l02473"></a><span class="lineno"> 2473</span> spec[row] = 0. ;</div>
-<div class="line"><a name="l02474"></a><span class="lineno"> 2474</span> }</div>
-<div class="line"><a name="l02475"></a><span class="lineno"> 2475</span> }</div>
-<div class="line"><a name="l02476"></a><span class="lineno"> 2476</span> <span class="comment">/* convolve the spectrum by Gaussian */</span></div>
-<div class="line"><a name="l02477"></a><span class="lineno"> 2477</span> filter_spec = sinfo_function1d_filter_lowpass(spec, ily, </div>
-<div class="line"><a name="l02478"></a><span class="lineno"> 2478</span> LOW_PASS_GAUSSIAN, </div>
-<div class="line"><a name="l02479"></a><span class="lineno"> 2479</span> magFactor) ; </div>
-<div class="line"><a name="l02480"></a><span class="lineno"> 2480</span> </div>
-<div class="line"><a name="l02481"></a><span class="lineno"> 2481</span> <span class="comment">/* now call the cross sinfo_correlation routine */</span></div>
-<div class="line"><a name="l02482"></a><span class="lineno"> 2482</span> result = sinfo_new_xcorrel( filter_spec, ily, emline, ily,</div>
-<div class="line"><a name="l02483"></a><span class="lineno"> 2483</span> ily/2, &delta, &maxlag, &xcorr_max) ;</div>
-<div class="line"><a name="l02484"></a><span class="lineno"> 2484</span> </div>
-<div class="line"><a name="l02485"></a><span class="lineno"> 2485</span> <span class="keywordflow">if</span> ( xcorr_max <= 0. )</div>
-<div class="line"><a name="l02486"></a><span class="lineno"> 2486</span> {</div>
-<div class="line"><a name="l02487"></a><span class="lineno"> 2487</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"no positive cross correlation sum , "</span></div>
-<div class="line"><a name="l02488"></a><span class="lineno"> 2488</span> <span class="stringliteral">"col %d set to ZERO \n"</span>, col) ;</div>
-<div class="line"><a name="l02489"></a><span class="lineno"> 2489</span> <span class="keywordflow">for</span> ( row = 0 ; row < ily ; row++ )</div>
-<div class="line"><a name="l02490"></a><span class="lineno"> 2490</span> {</div>
-<div class="line"><a name="l02491"></a><span class="lineno"> 2491</span> podata[col + row*ilx] = ZERO ;</div>
-<div class="line"><a name="l02492"></a><span class="lineno"> 2492</span> }</div>
-<div class="line"><a name="l02493"></a><span class="lineno"> 2493</span> sinfo_function1d_del(filter_spec) ;</div>
-<div class="line"><a name="l02494"></a><span class="lineno"> 2494</span> cpl_free(result) ;</div>
-<div class="line"><a name="l02495"></a><span class="lineno"> 2495</span> continue ;</div>
-<div class="line"><a name="l02496"></a><span class="lineno"> 2496</span> }</div>
-<div class="line"><a name="l02497"></a><span class="lineno"> 2497</span> </div>
-<div class="line"><a name="l02498"></a><span class="lineno"> 2498</span> <span class="comment">/* in this section, we fit the sinfo_correlation function with a </span></div>
-<div class="line"><a name="l02499"></a><span class="lineno"> 2499</span> <span class="comment"> gauss, and find its peak, thus getting subpixel-accuracy */</span></div>
-<div class="line"><a name="l02500"></a><span class="lineno"> 2500</span> </div>
-<div class="line"><a name="l02501"></a><span class="lineno"> 2501</span> i = maxlag; j = i+1;</div>
-<div class="line"><a name="l02502"></a><span class="lineno"> 2502</span> <span class="keywordflow">while</span> (result[j] < result[i])</div>
-<div class="line"><a name="l02503"></a><span class="lineno"> 2503</span> {</div>
-<div class="line"><a name="l02504"></a><span class="lineno"> 2504</span> i++; j++;</div>
-<div class="line"><a name="l02505"></a><span class="lineno"> 2505</span> }</div>
-<div class="line"><a name="l02506"></a><span class="lineno"> 2506</span> i = maxlag; k = i-1;</div>
-<div class="line"><a name="l02507"></a><span class="lineno"> 2507</span> <span class="keywordflow">while</span> (result[k] < result[i])</div>
-<div class="line"><a name="l02508"></a><span class="lineno"> 2508</span> {</div>
-<div class="line"><a name="l02509"></a><span class="lineno"> 2509</span> i--; k--;</div>
-<div class="line"><a name="l02510"></a><span class="lineno"> 2510</span> }</div>
-<div class="line"><a name="l02511"></a><span class="lineno"> 2511</span> width = j-k+1;</div>
-<div class="line"><a name="l02512"></a><span class="lineno"> 2512</span> <span class="comment">/* allocate memory for the spectral sinfo_vector */</span></div>
-<div class="line"><a name="l02513"></a><span class="lineno"> 2513</span> <span class="keywordflow">if</span> ( NULL == (peak = sinfo_new_vector (width)) )</div>
-<div class="line"><a name="l02514"></a><span class="lineno"> 2514</span> {</div>
-<div class="line"><a name="l02515"></a><span class="lineno"> 2515</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" cannot allocate new Vector \n"</span>) ;</div>
-<div class="line"><a name="l02516"></a><span class="lineno"> 2516</span> sinfo_function1d_del(filter_spec) ;</div>
-<div class="line"><a name="l02517"></a><span class="lineno"> 2517</span> cpl_free(result) ;</div>
-<div class="line"><a name="l02518"></a><span class="lineno"> 2518</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02519"></a><span class="lineno"> 2519</span> }</div>
-<div class="line"><a name="l02520"></a><span class="lineno"> 2520</span> </div>
-<div class="line"><a name="l02521"></a><span class="lineno"> 2521</span> </div>
-<div class="line"><a name="l02522"></a><span class="lineno"> 2522</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l02523"></a><span class="lineno"> 2523</span> xdat = (<span class="keywordtype">float</span> *) cpl_calloc( peak -> n_elements, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l02524"></a><span class="lineno"> 2524</span> wdat = (<span class="keywordtype">float</span> *) cpl_calloc( peak -> n_elements, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l02525"></a><span class="lineno"> 2525</span> mpar = (<span class="keywordtype">int</span> *) cpl_calloc( MAXPAR, <span class="keyword">sizeof</span> (<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l02526"></a><span class="lineno"> 2526</span> </div>
-<div class="line"><a name="l02527"></a><span class="lineno"> 2527</span> <span class="comment">/* determine the values of the spectral sinfo_vector given as input */</span></div>
-<div class="line"><a name="l02528"></a><span class="lineno"> 2528</span> <span class="comment">/* go through the chosen column */</span></div>
-<div class="line"><a name="l02529"></a><span class="lineno"> 2529</span> </div>
-<div class="line"><a name="l02530"></a><span class="lineno"> 2530</span> <span class="keywordflow">for</span> ( i = 0 ; i < width ; i++ )</div>
-<div class="line"><a name="l02531"></a><span class="lineno"> 2531</span> {</div>
-<div class="line"><a name="l02532"></a><span class="lineno"> 2532</span> peak -> data[i] = result[k+i]/xcorr_max * 100. ;</div>
-<div class="line"><a name="l02533"></a><span class="lineno"> 2533</span> xdat[i] = i;</div>
-<div class="line"><a name="l02534"></a><span class="lineno"> 2534</span> wdat[i] = 1.0;</div>
-<div class="line"><a name="l02535"></a><span class="lineno"> 2535</span> }</div>
-<div class="line"><a name="l02536"></a><span class="lineno"> 2536</span> </div>
-<div class="line"><a name="l02537"></a><span class="lineno"> 2537</span> <span class="comment">/* set initial values for the fitting routine */</span></div>
-<div class="line"><a name="l02538"></a><span class="lineno"> 2538</span> xdim = XDIM;</div>
-<div class="line"><a name="l02539"></a><span class="lineno"> 2539</span> ndat = peak -> n_elements ;</div>
-<div class="line"><a name="l02540"></a><span class="lineno"> 2540</span> numpar = MAXPAR ;</div>
-<div class="line"><a name="l02541"></a><span class="lineno"> 2541</span> tol = TOL ;</div>
-<div class="line"><a name="l02542"></a><span class="lineno"> 2542</span> lab = LAB ;</div>
-<div class="line"><a name="l02543"></a><span class="lineno"> 2543</span> its = ITS ;</div>
-<div class="line"><a name="l02544"></a><span class="lineno"> 2544</span> par[1] = width/2.0 ;</div>
-<div class="line"><a name="l02545"></a><span class="lineno"> 2545</span> par[2] = (float) (maxlag - k) ;</div>
-<div class="line"><a name="l02546"></a><span class="lineno"> 2546</span> par[3] = (peak -> data[0] + peak -> data[peak->n_elements - 1]) / 2.0 ;</div>
-<div class="line"><a name="l02547"></a><span class="lineno"> 2547</span> par[0] = result[maxlag]/xcorr_max * 100. - (par[3]) ;</div>
-<div class="line"><a name="l02548"></a><span class="lineno"> 2548</span> </div>
-<div class="line"><a name="l02549"></a><span class="lineno"> 2549</span> <span class="keywordflow">for</span> ( i = 0 ; i < MAXPAR ; i++ )</div>
-<div class="line"><a name="l02550"></a><span class="lineno"> 2550</span> {</div>
-<div class="line"><a name="l02551"></a><span class="lineno"> 2551</span> derv_par[i] = 0.0 ;</div>
-<div class="line"><a name="l02552"></a><span class="lineno"> 2552</span> mpar[i] = 1 ;</div>
-<div class="line"><a name="l02553"></a><span class="lineno"> 2553</span> }</div>
-<div class="line"><a name="l02554"></a><span class="lineno"> 2554</span> </div>
-<div class="line"><a name="l02555"></a><span class="lineno"> 2555</span> <span class="comment">/* finally, do the least square fit using a sinfo_gaussian */</span></div>
-<div class="line"><a name="l02556"></a><span class="lineno"> 2556</span> <span class="keywordflow">if</span> ( 0 > ( iters = sinfo_new_lsqfit_c( xdat, &xdim, </div>
-<div class="line"><a name="l02557"></a><span class="lineno"> 2557</span> peak -> data, wdat, </div>
-<div class="line"><a name="l02558"></a><span class="lineno"> 2558</span> &ndat, par, derv_par, mpar,</div>
-<div class="line"><a name="l02559"></a><span class="lineno"> 2559</span> &numpar, &tol, &its, &lab )) )</div>
-<div class="line"><a name="l02560"></a><span class="lineno"> 2560</span> {</div>
-<div class="line"><a name="l02561"></a><span class="lineno"> 2561</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">" sinfo_new_lsqfit_c: least squares fit"</span></div>
-<div class="line"><a name="l02562"></a><span class="lineno"> 2562</span> <span class="stringliteral">" failed in col: %d, error no.: %d\n"</span>, </div>
-<div class="line"><a name="l02563"></a><span class="lineno"> 2563</span> col, iters) ;</div>
-<div class="line"><a name="l02564"></a><span class="lineno"> 2564</span> sinfo_new_destroy_vector ( peak ) ;</div>
-<div class="line"><a name="l02565"></a><span class="lineno"> 2565</span> cpl_free ( xdat ) ;</div>
-<div class="line"><a name="l02566"></a><span class="lineno"> 2566</span> cpl_free ( wdat ) ;</div>
-<div class="line"><a name="l02567"></a><span class="lineno"> 2567</span> cpl_free ( mpar ) ;</div>
-<div class="line"><a name="l02568"></a><span class="lineno"> 2568</span> sinfo_function1d_del(filter_spec) ;</div>
-<div class="line"><a name="l02569"></a><span class="lineno"> 2569</span> cpl_free(result) ;</div>
-<div class="line"><a name="l02570"></a><span class="lineno"> 2570</span> continue ;</div>
-<div class="line"><a name="l02571"></a><span class="lineno"> 2571</span> }</div>
-<div class="line"><a name="l02572"></a><span class="lineno"> 2572</span> </div>
-<div class="line"><a name="l02573"></a><span class="lineno"> 2573</span> sinfo_new_destroy_vector ( peak ) ;</div>
-<div class="line"><a name="l02574"></a><span class="lineno"> 2574</span> cpl_free (xdat) ;</div>
-<div class="line"><a name="l02575"></a><span class="lineno"> 2575</span> cpl_free (wdat) ;</div>
-<div class="line"><a name="l02576"></a><span class="lineno"> 2576</span> cpl_free (mpar) ;</div>
-<div class="line"><a name="l02577"></a><span class="lineno"> 2577</span> sinfo_function1d_del(filter_spec) ;</div>
-<div class="line"><a name="l02578"></a><span class="lineno"> 2578</span> cpl_free(result) ;</div>
-<div class="line"><a name="l02579"></a><span class="lineno"> 2579</span> </div>
-<div class="line"><a name="l02580"></a><span class="lineno"> 2580</span> wavelag[col] =((float)ily/2 - (<span class="keywordtype">float</span>)k - par[2]) ;</div>
-<div class="line"><a name="l02581"></a><span class="lineno"> 2581</span> </div>
-<div class="line"><a name="l02582"></a><span class="lineno"> 2582</span> }</div>
-<div class="line"><a name="l02583"></a><span class="lineno"> 2583</span> </div>
-<div class="line"><a name="l02584"></a><span class="lineno"> 2584</span> <span class="keywordflow">if</span> (FLT_MAX==(wavelag_mean=sinfo_new_clean_mean(wavelag, ilx, 10., 10.)) )</div>
-<div class="line"><a name="l02585"></a><span class="lineno"> 2585</span> {</div>
-<div class="line"><a name="l02586"></a><span class="lineno"> 2586</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" could not determine a mean offset\n"</span>) ;</div>
-<div class="line"><a name="l02587"></a><span class="lineno"> 2587</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02588"></a><span class="lineno"> 2588</span> }</div>
-<div class="line"><a name="l02589"></a><span class="lineno"> 2589</span> </div>
-<div class="line"><a name="l02590"></a><span class="lineno"> 2590</span> <span class="keywordflow">if</span> ( fabs(wavelag_mean) > (<span class="keywordtype">float</span>)ily/20. )</div>
-<div class="line"><a name="l02591"></a><span class="lineno"> 2591</span> {</div>
-<div class="line"><a name="l02592"></a><span class="lineno"> 2592</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wavelag too big \n"</span>) ;</div>
-<div class="line"><a name="l02593"></a><span class="lineno"> 2593</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l02594"></a><span class="lineno"> 2594</span> }</div>
-<div class="line"><a name="l02595"></a><span class="lineno"> 2595</span> </div>
-<div class="line"><a name="l02596"></a><span class="lineno"> 2596</span> </div>
-<div class="line"><a name="l02597"></a><span class="lineno"> 2597</span> </div>
-<div class="line"><a name="l02598"></a><span class="lineno"> 2598</span> <span class="keywordflow">for</span> ( col = 0 ; col < ilx ; col++ )</div>
-<div class="line"><a name="l02599"></a><span class="lineno"> 2599</span> {</div>
-<div class="line"><a name="l02600"></a><span class="lineno"> 2600</span> <span class="comment">/*--------------------------------------------------------------------</span></div>
-<div class="line"><a name="l02601"></a><span class="lineno"> 2601</span> <span class="comment"> * determine new zero order coefficient centreval, of which the </span></div>
-<div class="line"><a name="l02602"></a><span class="lineno"> 2602</span> <span class="comment"> * formula is determined by setting equal a polynomial shifted by </span></div>
-<div class="line"><a name="l02603"></a><span class="lineno"> 2603</span> <span class="comment"> * wavelag with the same higher order coefficients and set the new </span></div>
-<div class="line"><a name="l02604"></a><span class="lineno"> 2604</span> <span class="comment"> * zero order coefficient to get both sides of the equation </span></div>
-<div class="line"><a name="l02605"></a><span class="lineno"> 2605</span> <span class="comment"> * approximately equal.</span></div>
-<div class="line"><a name="l02606"></a><span class="lineno"> 2606</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l02607"></a><span class="lineno"> 2607</span> a_initial = coeffs[0][col] ;</div>
-<div class="line"><a name="l02608"></a><span class="lineno"> 2608</span> centreval = a_initial ;</div>
-<div class="line"><a name="l02609"></a><span class="lineno"> 2609</span> <span class="keywordflow">for</span> ( i = 1 ; i < n_fitcoeffs ; i++ )</div>
-<div class="line"><a name="l02610"></a><span class="lineno"> 2610</span> {</div>
-<div class="line"><a name="l02611"></a><span class="lineno"> 2611</span> <span class="keywordflow">if</span> ( i%2 == 0 )</div>
-<div class="line"><a name="l02612"></a><span class="lineno"> 2612</span> {</div>
-<div class="line"><a name="l02613"></a><span class="lineno"> 2613</span> sign = -1 ;</div>
-<div class="line"><a name="l02614"></a><span class="lineno"> 2614</span> }</div>
-<div class="line"><a name="l02615"></a><span class="lineno"> 2615</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02616"></a><span class="lineno"> 2616</span> {</div>
-<div class="line"><a name="l02617"></a><span class="lineno"> 2617</span> sign = 1 ;</div>
-<div class="line"><a name="l02618"></a><span class="lineno"> 2618</span> }</div>
-<div class="line"><a name="l02619"></a><span class="lineno"> 2619</span> centreval += (float)sign * coeffs[i][col]*pow(wavelag_mean, i) ;</div>
-<div class="line"><a name="l02620"></a><span class="lineno"> 2620</span> }</div>
-<div class="line"><a name="l02621"></a><span class="lineno"> 2621</span> </div>
-<div class="line"><a name="l02622"></a><span class="lineno"> 2622</span> </div>
-<div class="line"><a name="l02623"></a><span class="lineno"> 2623</span> <span class="comment">/* prepare to write out wavelength as pixel values */</span></div>
-<div class="line"><a name="l02624"></a><span class="lineno"> 2624</span> <span class="keywordflow">for</span> ( row = 0 ; row < oly ; row++ )</div>
-<div class="line"><a name="l02625"></a><span class="lineno"> 2625</span> {</div>
-<div class="line"><a name="l02626"></a><span class="lineno"> 2626</span> centrepix = (float)row - ((<span class="keywordtype">float</span>)oly - 1.)/2. ;</div>
-<div class="line"><a name="l02627"></a><span class="lineno"> 2627</span> pixvalue = 0. ;</div>
-<div class="line"><a name="l02628"></a><span class="lineno"> 2628</span> <span class="keywordflow">for</span> ( i = 1 ; i < n_fitcoeffs ; i++ )</div>
-<div class="line"><a name="l02629"></a><span class="lineno"> 2629</span> {</div>
-<div class="line"><a name="l02630"></a><span class="lineno"> 2630</span> pixvalue += coeffs[i][col]*pow(centrepix, i) ;</div>
-<div class="line"><a name="l02631"></a><span class="lineno"> 2631</span> }</div>
-<div class="line"><a name="l02632"></a><span class="lineno"> 2632</span> podata[col+row*olx] = centreval + pixvalue ;</div>
-<div class="line"><a name="l02633"></a><span class="lineno"> 2633</span> }</div>
-<div class="line"><a name="l02634"></a><span class="lineno"> 2634</span> }</div>
-<div class="line"><a name="l02635"></a><span class="lineno"> 2635</span> </div>
-<div class="line"><a name="l02636"></a><span class="lineno"> 2636</span> </div>
-<div class="line"><a name="l02637"></a><span class="lineno"> 2637</span> </div>
-<div class="line"><a name="l02638"></a><span class="lineno"> 2638</span> cpl_free(emline) ;</div>
-<div class="line"><a name="l02639"></a><span class="lineno"> 2639</span> cpl_free(spec) ;</div>
-<div class="line"><a name="l02640"></a><span class="lineno"> 2640</span> cpl_free(wavelag) ;</div>
-<div class="line"><a name="l02641"></a><span class="lineno"> 2641</span> cpl_free(wave) ;</div>
-<div class="line"><a name="l02642"></a><span class="lineno"> 2642</span> cpl_free(a) ;</div>
-<div class="line"><a name="l02643"></a><span class="lineno"> 2643</span> cpl_free(z) ;</div>
-<div class="line"><a name="l02644"></a><span class="lineno"> 2644</span> </div>
-<div class="line"><a name="l02645"></a><span class="lineno"> 2645</span> </div>
-<div class="line"><a name="l02646"></a><span class="lineno"> 2646</span> <span class="keywordflow">return</span> wavemap ;</div>
-<div class="line"><a name="l02647"></a><span class="lineno"> 2647</span> }</div>
-<div class="line"><a name="l02648"></a><span class="lineno"> 2648</span> </div>
-<div class="line"><a name="l02671"></a><span class="lineno"> 2671</span> <span class="keywordtype">float</span> sinfo_new_check_line_positions ( cpl_image * lineIm,</div>
-<div class="line"><a name="l02672"></a><span class="lineno"> 2672</span> <span class="keywordtype">float</span> ** coeffs,</div>
-<div class="line"><a name="l02673"></a><span class="lineno"> 2673</span> <span class="keywordtype">int</span> n_fitcoeffs,</div>
-<div class="line"><a name="l02674"></a><span class="lineno"> 2674</span> <span class="keywordtype">float</span> gdisp1,</div>
-<div class="line"><a name="l02675"></a><span class="lineno"> 2675</span> FitParams ** par )</div>
-<div class="line"><a name="l02676"></a><span class="lineno"> 2676</span> {</div>
-<div class="line"><a name="l02677"></a><span class="lineno"> 2677</span> <span class="keywordtype">float</span> wave_shift=0 ;</div>
-<div class="line"><a name="l02678"></a><span class="lineno"> 2678</span> <span class="keywordtype">float</span> amp[100] ;</div>
-<div class="line"><a name="l02679"></a><span class="lineno"> 2679</span> <span class="keywordtype">float</span> sort_amp[100] ;</div>
-<div class="line"><a name="l02680"></a><span class="lineno"> 2680</span> <span class="keywordtype">float</span> offset=0 ;</div>
-<div class="line"><a name="l02681"></a><span class="lineno"> 2681</span> <span class="keywordtype">float</span> shift=0 ;</div>
-<div class="line"><a name="l02682"></a><span class="lineno"> 2682</span> <span class="keywordtype">float</span> position=0;</div>
-<div class="line"><a name="l02683"></a><span class="lineno"> 2683</span> <span class="keywordtype">float</span> lambda=0;</div>
-<div class="line"><a name="l02684"></a><span class="lineno"> 2684</span> <span class="keywordtype">float</span> wave=0 ;</div>
-<div class="line"><a name="l02685"></a><span class="lineno"> 2685</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02686"></a><span class="lineno"> 2686</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l02687"></a><span class="lineno"> 2687</span> <span class="keywordtype">int</span> k=0;</div>
-<div class="line"><a name="l02688"></a><span class="lineno"> 2688</span> <span class="keywordtype">int</span> l=0;</div>
-<div class="line"><a name="l02689"></a><span class="lineno"> 2689</span> <span class="keywordtype">int</span> m=0;</div>
-<div class="line"><a name="l02690"></a><span class="lineno"> 2690</span> <span class="keywordtype">int</span> n=0;</div>
-<div class="line"><a name="l02691"></a><span class="lineno"> 2691</span> <span class="keywordtype">int</span> col=0;</div>
-<div class="line"><a name="l02692"></a><span class="lineno"> 2692</span> <span class="keywordtype">int</span> firstj=0;</div>
-<div class="line"><a name="l02693"></a><span class="lineno"> 2693</span> <span class="keywordtype">float</span>* shift_col=NULL ;</div>
-<div class="line"><a name="l02694"></a><span class="lineno"> 2694</span> <span class="keywordtype">int</span>* foundit=NULL ;</div>
-<div class="line"><a name="l02695"></a><span class="lineno"> 2695</span> <span class="keywordtype">int</span> n_lines=0;</div>
-<div class="line"><a name="l02696"></a><span class="lineno"> 2696</span> <span class="keywordtype">int</span> lin, found=0 ;</div>
-<div class="line"><a name="l02697"></a><span class="lineno"> 2697</span> <span class="keywordtype">int</span> lx=0;</div>
-<div class="line"><a name="l02698"></a><span class="lineno"> 2698</span> <span class="keywordtype">int</span> ly=0;</div>
-<div class="line"><a name="l02699"></a><span class="lineno"> 2699</span> <span class="keywordtype">float</span>* pdata=NULL;</div>
-<div class="line"><a name="l02700"></a><span class="lineno"> 2700</span> </div>
-<div class="line"><a name="l02701"></a><span class="lineno"> 2701</span> <span class="keywordflow">if</span> ( lineIm == NULL )</div>
-<div class="line"><a name="l02702"></a><span class="lineno"> 2702</span> {</div>
-<div class="line"><a name="l02703"></a><span class="lineno"> 2703</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no input image given!\n"</span>) ;</div>
-<div class="line"><a name="l02704"></a><span class="lineno"> 2704</span> <span class="keywordflow">return</span> FLAG ;</div>
-<div class="line"><a name="l02705"></a><span class="lineno"> 2705</span> }</div>
-<div class="line"><a name="l02706"></a><span class="lineno"> 2706</span> lx=cpl_image_get_size_x(lineIm);</div>
-<div class="line"><a name="l02707"></a><span class="lineno"> 2707</span> ly=cpl_image_get_size_y(lineIm);</div>
-<div class="line"><a name="l02708"></a><span class="lineno"> 2708</span> pdata=cpl_image_get_data_float(lineIm);</div>
-<div class="line"><a name="l02709"></a><span class="lineno"> 2709</span> </div>
-<div class="line"><a name="l02710"></a><span class="lineno"> 2710</span> <span class="keywordflow">if</span> ( coeffs == NULL )</div>
-<div class="line"><a name="l02711"></a><span class="lineno"> 2711</span> {</div>
-<div class="line"><a name="l02712"></a><span class="lineno"> 2712</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no coefficient sinfo_matrix given!\n"</span>) ;</div>
-<div class="line"><a name="l02713"></a><span class="lineno"> 2713</span> <span class="keywordflow">return</span> FLAG ;</div>
-<div class="line"><a name="l02714"></a><span class="lineno"> 2714</span> }</div>
-<div class="line"><a name="l02715"></a><span class="lineno"> 2715</span> <span class="keywordflow">if</span> ( par == NULL )</div>
-<div class="line"><a name="l02716"></a><span class="lineno"> 2716</span> {</div>
-<div class="line"><a name="l02717"></a><span class="lineno"> 2717</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no fit parameters given!\n"</span>) ;</div>
-<div class="line"><a name="l02718"></a><span class="lineno"> 2718</span> <span class="keywordflow">return</span> FLAG ;</div>
-<div class="line"><a name="l02719"></a><span class="lineno"> 2719</span> }</div>
-<div class="line"><a name="l02720"></a><span class="lineno"> 2720</span> <span class="keywordflow">if</span> ( n_fitcoeffs < 2 )</div>
-<div class="line"><a name="l02721"></a><span class="lineno"> 2721</span> {</div>
-<div class="line"><a name="l02722"></a><span class="lineno"> 2722</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" wrong number of polynomial coefficients given!\n"</span>) ;</div>
-<div class="line"><a name="l02723"></a><span class="lineno"> 2723</span> <span class="keywordflow">return</span> FLAG ;</div>
-<div class="line"><a name="l02724"></a><span class="lineno"> 2724</span> }</div>
-<div class="line"><a name="l02725"></a><span class="lineno"> 2725</span> </div>
-<div class="line"><a name="l02726"></a><span class="lineno"> 2726</span> offset = (float) (ly -1.) / 2. ;</div>
-<div class="line"><a name="l02727"></a><span class="lineno"> 2727</span> n_lines = par[0]->n_params/lx ;</div>
-<div class="line"><a name="l02728"></a><span class="lineno"> 2728</span> </div>
-<div class="line"><a name="l02729"></a><span class="lineno"> 2729</span> shift_col=cpl_calloc(lx,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02730"></a><span class="lineno"> 2730</span> foundit=cpl_calloc(par[0]->n_params,<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)) ;</div>
-<div class="line"><a name="l02731"></a><span class="lineno"> 2731</span> </div>
-<div class="line"><a name="l02732"></a><span class="lineno"> 2732</span> <span class="comment">/*search for the brightest 5 lines in each column and compute the </span></div>
-<div class="line"><a name="l02733"></a><span class="lineno"> 2733</span> <span class="comment"> wavelength difference*/</span></div>
-<div class="line"><a name="l02734"></a><span class="lineno"> 2734</span> <span class="keywordflow">for</span> ( col = 0 ; col < lx ; col++ )</div>
-<div class="line"><a name="l02735"></a><span class="lineno"> 2735</span> {</div>
-<div class="line"><a name="l02736"></a><span class="lineno"> 2736</span> n = 0 ;</div>
-<div class="line"><a name="l02737"></a><span class="lineno"> 2737</span> <span class="keywordflow">for</span> ( i = 0 ; i < par[0]->n_params ; i++ )</div>
-<div class="line"><a name="l02738"></a><span class="lineno"> 2738</span> {</div>
-<div class="line"><a name="l02739"></a><span class="lineno"> 2739</span> <span class="keywordflow">if</span> (par[i]->column == col && par[i]->fit_par[2] != 0. && </div>
-<div class="line"><a name="l02740"></a><span class="lineno"> 2740</span> par[i]->fit_par[1] > 1. && par[i]->fit_par[1] < 7. )</div>
-<div class="line"><a name="l02741"></a><span class="lineno"> 2741</span> {</div>
-<div class="line"><a name="l02742"></a><span class="lineno"> 2742</span> foundit[n] = i ;</div>
-<div class="line"><a name="l02743"></a><span class="lineno"> 2743</span> amp[n] = par[i]->fit_par[0] ;</div>
-<div class="line"><a name="l02744"></a><span class="lineno"> 2744</span> sort_amp[n] = amp[n] ;</div>
-<div class="line"><a name="l02745"></a><span class="lineno"> 2745</span> n++ ;</div>
-<div class="line"><a name="l02746"></a><span class="lineno"> 2746</span> }</div>
-<div class="line"><a name="l02747"></a><span class="lineno"> 2747</span> }</div>
-<div class="line"><a name="l02748"></a><span class="lineno"> 2748</span> sinfo_pixel_qsort(sort_amp, n) ;</div>
-<div class="line"><a name="l02749"></a><span class="lineno"> 2749</span> </div>
-<div class="line"><a name="l02750"></a><span class="lineno"> 2750</span> <span class="keywordflow">if</span> ( n > 5 )</div>
-<div class="line"><a name="l02751"></a><span class="lineno"> 2751</span> {</div>
-<div class="line"><a name="l02752"></a><span class="lineno"> 2752</span> firstj = n - 5 ;</div>
-<div class="line"><a name="l02753"></a><span class="lineno"> 2753</span> }</div>
-<div class="line"><a name="l02754"></a><span class="lineno"> 2754</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02755"></a><span class="lineno"> 2755</span> {</div>
-<div class="line"><a name="l02756"></a><span class="lineno"> 2756</span> firstj = 0 ;</div>
-<div class="line"><a name="l02757"></a><span class="lineno"> 2757</span> }</div>
-<div class="line"><a name="l02758"></a><span class="lineno"> 2758</span> l = 0 ; </div>
-<div class="line"><a name="l02759"></a><span class="lineno"> 2759</span> shift = 0 ;</div>
-<div class="line"><a name="l02760"></a><span class="lineno"> 2760</span> <span class="keywordflow">for</span> ( j = firstj ; j < n ; j++ )</div>
-<div class="line"><a name="l02761"></a><span class="lineno"> 2761</span> {</div>
-<div class="line"><a name="l02762"></a><span class="lineno"> 2762</span> <span class="keywordflow">for</span> ( m = 0 ; m < n ; m++ )</div>
-<div class="line"><a name="l02763"></a><span class="lineno"> 2763</span> {</div>
-<div class="line"><a name="l02764"></a><span class="lineno"> 2764</span> <span class="keywordflow">if</span> ( sort_amp[j] == amp[m] )</div>
-<div class="line"><a name="l02765"></a><span class="lineno"> 2765</span> {</div>
-<div class="line"><a name="l02766"></a><span class="lineno"> 2766</span> position = par[foundit[m]]->fit_par[2] ; </div>
-<div class="line"><a name="l02767"></a><span class="lineno"> 2767</span> lambda = par[foundit[m]]->wavelength ;</div>
-<div class="line"><a name="l02768"></a><span class="lineno"> 2768</span> wave = 0 ;</div>
-<div class="line"><a name="l02769"></a><span class="lineno"> 2769</span> <span class="keywordflow">for</span> ( k = 0 ; k < n_fitcoeffs ; k++ ) </div>
-<div class="line"><a name="l02770"></a><span class="lineno"> 2770</span> {</div>
-<div class="line"><a name="l02771"></a><span class="lineno"> 2771</span> wave += coeffs[k][col]*pow(position-offset, k) ;</div>
-<div class="line"><a name="l02772"></a><span class="lineno"> 2772</span> }</div>
-<div class="line"><a name="l02773"></a><span class="lineno"> 2773</span> shift += lambda - wave ;</div>
-<div class="line"><a name="l02774"></a><span class="lineno"> 2774</span> l++ ;</div>
-<div class="line"><a name="l02775"></a><span class="lineno"> 2775</span> }</div>
-<div class="line"><a name="l02776"></a><span class="lineno"> 2776</span> }</div>
-<div class="line"><a name="l02777"></a><span class="lineno"> 2777</span> }</div>
-<div class="line"><a name="l02778"></a><span class="lineno"> 2778</span> <span class="keywordflow">if</span> ( l == 0 ) continue ;</div>
-<div class="line"><a name="l02779"></a><span class="lineno"> 2779</span> shift_col[col] = shift/(float)l ; </div>
-<div class="line"><a name="l02780"></a><span class="lineno"> 2780</span> }</div>
-<div class="line"><a name="l02781"></a><span class="lineno"> 2781</span> wave_shift = sinfo_new_clean_mean(shift_col, lx, 10., 10.) ;</div>
-<div class="line"><a name="l02782"></a><span class="lineno"> 2782</span> sinfo_msg(<span class="stringliteral">"Overall positioning error: %3.2g [um] %3.2g [pix]"</span>, </div>
-<div class="line"><a name="l02783"></a><span class="lineno"> 2783</span> wave_shift,wave_shift/fabs(gdisp1)) ;</div>
-<div class="line"><a name="l02784"></a><span class="lineno"> 2784</span> </div>
-<div class="line"><a name="l02785"></a><span class="lineno"> 2785</span> </div>
-<div class="line"><a name="l02786"></a><span class="lineno"> 2786</span> <span class="comment">/* determine positioning error for each found line */</span></div>
-<div class="line"><a name="l02787"></a><span class="lineno"> 2787</span> <span class="keywordflow">for</span> ( lin = 0 ; lin < n_lines ; lin++ )</div>
-<div class="line"><a name="l02788"></a><span class="lineno"> 2788</span> {</div>
-<div class="line"><a name="l02789"></a><span class="lineno"> 2789</span> <span class="keywordflow">for</span> ( col = 0 ; col < lx ; col++ )</div>
-<div class="line"><a name="l02790"></a><span class="lineno"> 2790</span> {</div>
-<div class="line"><a name="l02791"></a><span class="lineno"> 2791</span> shift_col[col] = 0. ;</div>
-<div class="line"><a name="l02792"></a><span class="lineno"> 2792</span> found = -1 ;</div>
-<div class="line"><a name="l02793"></a><span class="lineno"> 2793</span> <span class="keywordflow">for</span> ( i = 0 ; i < par[0]->n_params ; i++ )</div>
-<div class="line"><a name="l02794"></a><span class="lineno"> 2794</span> {</div>
-<div class="line"><a name="l02795"></a><span class="lineno"> 2795</span> <span class="keywordflow">if</span> (par[i]->column == col && par[i]->fit_par[2] != 0. && </div>
-<div class="line"><a name="l02796"></a><span class="lineno"> 2796</span> par[i]->fit_par[1] > 1. && par[i]->fit_par[1] < 7. && </div>
-<div class="line"><a name="l02797"></a><span class="lineno"> 2797</span> par[i]->line == lin )</div>
-<div class="line"><a name="l02798"></a><span class="lineno"> 2798</span> {</div>
-<div class="line"><a name="l02799"></a><span class="lineno"> 2799</span> found = i ;</div>
-<div class="line"><a name="l02800"></a><span class="lineno"> 2800</span> }</div>
-<div class="line"><a name="l02801"></a><span class="lineno"> 2801</span> }</div>
-<div class="line"><a name="l02802"></a><span class="lineno"> 2802</span> <span class="keywordflow">if</span> (found == -1) break ;</div>
-<div class="line"><a name="l02803"></a><span class="lineno"> 2803</span> </div>
-<div class="line"><a name="l02804"></a><span class="lineno"> 2804</span> position = par[found]->fit_par[2] ; </div>
-<div class="line"><a name="l02805"></a><span class="lineno"> 2805</span> lambda = par[found]->wavelength ;</div>
-<div class="line"><a name="l02806"></a><span class="lineno"> 2806</span> wave = 0 ;</div>
-<div class="line"><a name="l02807"></a><span class="lineno"> 2807</span> <span class="keywordflow">for</span> ( k = 0 ; k < n_fitcoeffs ; k++ ) </div>
-<div class="line"><a name="l02808"></a><span class="lineno"> 2808</span> {</div>
-<div class="line"><a name="l02809"></a><span class="lineno"> 2809</span> wave += coeffs[k][col]*pow(position-offset, k) ;</div>
-<div class="line"><a name="l02810"></a><span class="lineno"> 2810</span> }</div>
-<div class="line"><a name="l02811"></a><span class="lineno"> 2811</span> shift_col[col] = lambda - wave ;</div>
-<div class="line"><a name="l02812"></a><span class="lineno"> 2812</span> }</div>
-<div class="line"><a name="l02813"></a><span class="lineno"> 2813</span> <span class="keywordflow">if</span> (found != -1 )</div>
-<div class="line"><a name="l02814"></a><span class="lineno"> 2814</span> {</div>
-<div class="line"><a name="l02815"></a><span class="lineno"> 2815</span> sinfo_msg(<span class="stringliteral">"shift: %3.2g [um] %3.2g (pix) at: %4.3f [um]"</span>,</div>
-<div class="line"><a name="l02816"></a><span class="lineno"> 2816</span> sinfo_new_clean_mean(shift_col,lx, 10., 10.),</div>
-<div class="line"><a name="l02817"></a><span class="lineno"> 2817</span> sinfo_new_clean_mean(shift_col,lx, 10., 10.)/fabs(gdisp1),</div>
-<div class="line"><a name="l02818"></a><span class="lineno"> 2818</span> lambda) ;</div>
-<div class="line"><a name="l02819"></a><span class="lineno"> 2819</span> }</div>
-<div class="line"><a name="l02820"></a><span class="lineno"> 2820</span> }</div>
-<div class="line"><a name="l02821"></a><span class="lineno"> 2821</span> cpl_free(shift_col) ;</div>
-<div class="line"><a name="l02822"></a><span class="lineno"> 2822</span> cpl_free(foundit) ;</div>
-<div class="line"><a name="l02823"></a><span class="lineno"> 2823</span> </div>
-<div class="line"><a name="l02824"></a><span class="lineno"> 2824</span> <span class="keywordflow">return</span> wave_shift ;</div>
-<div class="line"><a name="l02825"></a><span class="lineno"> 2825</span> }</div>
-<div class="line"><a name="l02826"></a><span class="lineno"> 2826</span> </div>
-<div class="line"><a name="l02827"></a><span class="lineno"> 2827</span> </div>
-<div class="line"><a name="l02856"></a><span class="lineno"> 2856</span> <span class="keywordtype">float</span> sinfo_new_check_correlated_line_positions ( cpl_image * lineIm,</div>
-<div class="line"><a name="l02857"></a><span class="lineno"> 2857</span> <span class="keywordtype">float</span> ** coeffs,</div>
-<div class="line"><a name="l02858"></a><span class="lineno"> 2858</span> <span class="keywordtype">int</span> n_fitcoeffs,</div>
-<div class="line"><a name="l02859"></a><span class="lineno"> 2859</span> <span class="keywordtype">float</span> * wavelength,</div>
-<div class="line"><a name="l02860"></a><span class="lineno"> 2860</span> <span class="keywordtype">float</span> * intensity,</div>
-<div class="line"><a name="l02861"></a><span class="lineno"> 2861</span> <span class="keywordtype">int</span> n_lines,</div>
-<div class="line"><a name="l02862"></a><span class="lineno"> 2862</span> <span class="keywordtype">float</span> fwhm, </div>
-<div class="line"><a name="l02863"></a><span class="lineno"> 2863</span> <span class="keywordtype">float</span> width,</div>
-<div class="line"><a name="l02864"></a><span class="lineno"> 2864</span> <span class="keywordtype">float</span> min_amplitude,</div>
-<div class="line"><a name="l02865"></a><span class="lineno"> 2865</span> <span class="keywordtype">float</span> dispersion,</div>
-<div class="line"><a name="l02866"></a><span class="lineno"> 2866</span> FitParams ** par )</div>
-<div class="line"><a name="l02867"></a><span class="lineno"> 2867</span> {</div>
-<div class="line"><a name="l02868"></a><span class="lineno"> 2868</span> <span class="keywordtype">float</span> wave_shift=0 ;</div>
-<div class="line"><a name="l02869"></a><span class="lineno"> 2869</span> <span class="keywordtype">float</span> offset=0;</div>
-<div class="line"><a name="l02870"></a><span class="lineno"> 2870</span> <span class="keywordtype">float</span> shift=0;</div>
-<div class="line"><a name="l02871"></a><span class="lineno"> 2871</span> <span class="keywordtype">float</span> position=0;</div>
-<div class="line"><a name="l02872"></a><span class="lineno"> 2872</span> <span class="keywordtype">float</span> lambda=0;</div>
-<div class="line"><a name="l02873"></a><span class="lineno"> 2873</span> <span class="keywordtype">float</span> wave=0;</div>
-<div class="line"><a name="l02874"></a><span class="lineno"> 2874</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l02875"></a><span class="lineno"> 2875</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l02876"></a><span class="lineno"> 2876</span> <span class="keywordtype">int</span> k=0; <span class="comment">/*, l, m*/</span></div>
-<div class="line"><a name="l02877"></a><span class="lineno"> 2877</span> <span class="keywordtype">int</span> n=0;</div>
-<div class="line"><a name="l02878"></a><span class="lineno"> 2878</span> <span class="keywordtype">int</span> c=0;</div>
-<div class="line"><a name="l02879"></a><span class="lineno"> 2879</span> <span class="keywordtype">int</span> z=0;</div>
-<div class="line"><a name="l02880"></a><span class="lineno"> 2880</span> <span class="keywordtype">int</span> col=0;<span class="comment">/*, firstj*/</span></div>
-<div class="line"><a name="l02881"></a><span class="lineno"> 2881</span> <span class="keywordtype">int</span> found=0;<span class="comment">/*lin,*/</span></div>
-<div class="line"><a name="l02882"></a><span class="lineno"> 2882</span> <span class="keywordtype">int</span> line=0;</div>
-<div class="line"><a name="l02883"></a><span class="lineno"> 2883</span> <span class="keywordtype">int</span> result=0;</div>
-<div class="line"><a name="l02884"></a><span class="lineno"> 2884</span> <span class="keywordtype">float</span> cenpos=0;</div>
-<div class="line"><a name="l02885"></a><span class="lineno"> 2885</span> <span class="keywordtype">float</span> angst=0;</div>
-<div class="line"><a name="l02886"></a><span class="lineno"> 2886</span> <span class="keywordtype">float</span> a_initial=0;</div>
-<div class="line"><a name="l02887"></a><span class="lineno"> 2887</span> </div>
-<div class="line"><a name="l02888"></a><span class="lineno"> 2888</span> <span class="keywordtype">int</span>* foundit=NULL ;</div>
-<div class="line"><a name="l02889"></a><span class="lineno"> 2889</span> <span class="keywordtype">float</span>* shift_col=NULL ;</div>
-<div class="line"><a name="l02890"></a><span class="lineno"> 2890</span> <span class="keywordtype">float</span>* wave_cor=NULL ;</div>
-<div class="line"><a name="l02891"></a><span class="lineno"> 2891</span> <span class="keywordtype">double</span>* a=NULL ;</div>
-<div class="line"><a name="l02892"></a><span class="lineno"> 2892</span> <span class="keywordtype">double</span>* zroot=NULL ;</div>
-<div class="line"><a name="l02893"></a><span class="lineno"> 2893</span> </div>
-<div class="line"><a name="l02894"></a><span class="lineno"> 2894</span> gsl_poly_complex_workspace * w=NULL ;</div>
-<div class="line"><a name="l02895"></a><span class="lineno"> 2895</span> Vector * vline=NULL;</div>
-<div class="line"><a name="l02896"></a><span class="lineno"> 2896</span> <span class="keywordtype">int</span> * mpar=NULL;</div>
-<div class="line"><a name="l02897"></a><span class="lineno"> 2897</span> <span class="keywordtype">float</span> * xdat=NULL;</div>
-<div class="line"><a name="l02898"></a><span class="lineno"> 2898</span> <span class="keywordtype">float</span> * wdat=NULL;</div>
-<div class="line"><a name="l02899"></a><span class="lineno"> 2899</span> <span class="keywordtype">int</span> lx=0;</div>
-<div class="line"><a name="l02900"></a><span class="lineno"> 2900</span> <span class="keywordtype">int</span> ly=0;</div>
-<div class="line"><a name="l02901"></a><span class="lineno"> 2901</span> <span class="keywordtype">float</span>* pdata=NULL;</div>
-<div class="line"><a name="l02902"></a><span class="lineno"> 2902</span> </div>
-<div class="line"><a name="l02903"></a><span class="lineno"> 2903</span> <span class="keywordflow">if</span> ( lineIm == NULL )</div>
-<div class="line"><a name="l02904"></a><span class="lineno"> 2904</span> {</div>
-<div class="line"><a name="l02905"></a><span class="lineno"> 2905</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no input image given!\n"</span>) ;</div>
-<div class="line"><a name="l02906"></a><span class="lineno"> 2906</span> <span class="keywordflow">return</span> FLAG ;</div>
-<div class="line"><a name="l02907"></a><span class="lineno"> 2907</span> }</div>
-<div class="line"><a name="l02908"></a><span class="lineno"> 2908</span> lx=cpl_image_get_size_x(lineIm);</div>
-<div class="line"><a name="l02909"></a><span class="lineno"> 2909</span> ly=cpl_image_get_size_y(lineIm);</div>
-<div class="line"><a name="l02910"></a><span class="lineno"> 2910</span> pdata=cpl_image_get_data_float(lineIm);</div>
-<div class="line"><a name="l02911"></a><span class="lineno"> 2911</span> </div>
-<div class="line"><a name="l02912"></a><span class="lineno"> 2912</span> </div>
-<div class="line"><a name="l02913"></a><span class="lineno"> 2913</span> <span class="keywordflow">if</span> ( coeffs == NULL )</div>
-<div class="line"><a name="l02914"></a><span class="lineno"> 2914</span> {</div>
-<div class="line"><a name="l02915"></a><span class="lineno"> 2915</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no coefficient sinfo_matrix given!\n"</span>) ;</div>
-<div class="line"><a name="l02916"></a><span class="lineno"> 2916</span> <span class="keywordflow">return</span> FLAG ;</div>
-<div class="line"><a name="l02917"></a><span class="lineno"> 2917</span> }</div>
-<div class="line"><a name="l02918"></a><span class="lineno"> 2918</span> <span class="keywordflow">if</span> ( par == NULL )</div>
-<div class="line"><a name="l02919"></a><span class="lineno"> 2919</span> {</div>
-<div class="line"><a name="l02920"></a><span class="lineno"> 2920</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no fit parameters given!\n"</span>) ;</div>
-<div class="line"><a name="l02921"></a><span class="lineno"> 2921</span> <span class="keywordflow">return</span> FLAG ;</div>
-<div class="line"><a name="l02922"></a><span class="lineno"> 2922</span> }</div>
-<div class="line"><a name="l02923"></a><span class="lineno"> 2923</span> <span class="keywordflow">if</span> ( n_fitcoeffs < 2 )</div>
-<div class="line"><a name="l02924"></a><span class="lineno"> 2924</span> {</div>
-<div class="line"><a name="l02925"></a><span class="lineno"> 2925</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" wrong number of polynomial coefficients given!\n"</span>) ;</div>
-<div class="line"><a name="l02926"></a><span class="lineno"> 2926</span> <span class="keywordflow">return</span> FLAG ;</div>
-<div class="line"><a name="l02927"></a><span class="lineno"> 2927</span> }</div>
-<div class="line"><a name="l02928"></a><span class="lineno"> 2928</span> <span class="keywordflow">if</span> ( wavelength == NULL || intensity == NULL )</div>
-<div class="line"><a name="l02929"></a><span class="lineno"> 2929</span> {</div>
-<div class="line"><a name="l02930"></a><span class="lineno"> 2930</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" no line list given!\n"</span>) ;</div>
-<div class="line"><a name="l02931"></a><span class="lineno"> 2931</span> <span class="keywordflow">return</span> FLAG ;</div>
-<div class="line"><a name="l02932"></a><span class="lineno"> 2932</span> }</div>
-<div class="line"><a name="l02933"></a><span class="lineno"> 2933</span> <span class="keywordflow">if</span> ( fwhm <= 0 )</div>
-<div class="line"><a name="l02934"></a><span class="lineno"> 2934</span> {</div>
-<div class="line"><a name="l02935"></a><span class="lineno"> 2935</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" wrong guess fwhm given!\n"</span>) ;</div>
-<div class="line"><a name="l02936"></a><span class="lineno"> 2936</span> <span class="keywordflow">return</span> FLAG ;</div>
-<div class="line"><a name="l02937"></a><span class="lineno"> 2937</span> }</div>
-<div class="line"><a name="l02938"></a><span class="lineno"> 2938</span> <span class="keywordflow">if</span> ( width <= 0 )</div>
-<div class="line"><a name="l02939"></a><span class="lineno"> 2939</span> {</div>
-<div class="line"><a name="l02940"></a><span class="lineno"> 2940</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" wrong half width given!\n"</span>) ;</div>
-<div class="line"><a name="l02941"></a><span class="lineno"> 2941</span> <span class="keywordflow">return</span> FLAG ;</div>
-<div class="line"><a name="l02942"></a><span class="lineno"> 2942</span> } </div>
-<div class="line"><a name="l02943"></a><span class="lineno"> 2943</span> <span class="keywordflow">if</span> ( min_amplitude <= 0 )</div>
-<div class="line"><a name="l02944"></a><span class="lineno"> 2944</span> {</div>
-<div class="line"><a name="l02945"></a><span class="lineno"> 2945</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" wrong guess amplitude given!\n"</span>) ;</div>
-<div class="line"><a name="l02946"></a><span class="lineno"> 2946</span> <span class="keywordflow">return</span> FLAG ;</div>
-<div class="line"><a name="l02947"></a><span class="lineno"> 2947</span> } </div>
-<div class="line"><a name="l02948"></a><span class="lineno"> 2948</span> </div>
-<div class="line"><a name="l02949"></a><span class="lineno"> 2949</span> <span class="comment">/* allocate memory for the spectral sinfo_vector */</span></div>
-<div class="line"><a name="l02950"></a><span class="lineno"> 2950</span> <span class="keywordflow">if</span> ( NULL == (vline = sinfo_new_vector (2*width + 1)) )</div>
-<div class="line"><a name="l02951"></a><span class="lineno"> 2951</span> {</div>
-<div class="line"><a name="l02952"></a><span class="lineno"> 2952</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" cannot allocate new Vector \n"</span>) ;</div>
-<div class="line"><a name="l02953"></a><span class="lineno"> 2953</span> <span class="keywordflow">return</span> -14 ;</div>
-<div class="line"><a name="l02954"></a><span class="lineno"> 2954</span> }</div>
-<div class="line"><a name="l02955"></a><span class="lineno"> 2955</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l02956"></a><span class="lineno"> 2956</span> xdat = (<span class="keywordtype">float</span> *) cpl_calloc( vline -> n_elements, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l02957"></a><span class="lineno"> 2957</span> wdat = (<span class="keywordtype">float</span> *) cpl_calloc( vline -> n_elements, <span class="keyword">sizeof</span> (<span class="keywordtype">float</span>) ) ;</div>
-<div class="line"><a name="l02958"></a><span class="lineno"> 2958</span> mpar = (<span class="keywordtype">int</span> *) cpl_calloc( MAXPAR, <span class="keyword">sizeof</span> (<span class="keywordtype">int</span>) ) ;</div>
-<div class="line"><a name="l02959"></a><span class="lineno"> 2959</span> </div>
-<div class="line"><a name="l02960"></a><span class="lineno"> 2960</span> </div>
-<div class="line"><a name="l02961"></a><span class="lineno"> 2961</span> foundit=cpl_calloc(par[0]->n_params,<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)) ;</div>
-<div class="line"><a name="l02962"></a><span class="lineno"> 2962</span> shift_col=cpl_calloc(lx,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02963"></a><span class="lineno"> 2963</span> wave_cor=cpl_calloc(n_lines,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02964"></a><span class="lineno"> 2964</span> a=cpl_calloc(n_fitcoeffs,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02965"></a><span class="lineno"> 2965</span> zroot=cpl_calloc(2*(n_fitcoeffs - 1),<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l02966"></a><span class="lineno"> 2966</span> </div>
-<div class="line"><a name="l02967"></a><span class="lineno"> 2967</span> </div>
-<div class="line"><a name="l02968"></a><span class="lineno"> 2968</span> </div>
-<div class="line"><a name="l02969"></a><span class="lineno"> 2969</span> <span class="comment">/* determine the approximate line positions using the line list and the </span></div>
-<div class="line"><a name="l02970"></a><span class="lineno"> 2970</span> <span class="comment"> coefficients */</span></div>
-<div class="line"><a name="l02971"></a><span class="lineno"> 2971</span> <span class="comment">/* find out if Angstroem or microns are used */</span></div>
-<div class="line"><a name="l02972"></a><span class="lineno"> 2972</span> <span class="keywordflow">if</span> ( wavelength[0] > 10000. )</div>
-<div class="line"><a name="l02973"></a><span class="lineno"> 2973</span> {</div>
-<div class="line"><a name="l02974"></a><span class="lineno"> 2974</span> <span class="comment">/* Angstroem */</span></div>
-<div class="line"><a name="l02975"></a><span class="lineno"> 2975</span> angst = 10000. ;</div>
-<div class="line"><a name="l02976"></a><span class="lineno"> 2976</span> }</div>
-<div class="line"><a name="l02977"></a><span class="lineno"> 2977</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( wavelength[0] > 1000. && wavelength[0] < 10000. )</div>
-<div class="line"><a name="l02978"></a><span class="lineno"> 2978</span> {</div>
-<div class="line"><a name="l02979"></a><span class="lineno"> 2979</span> <span class="comment">/* nanometers */</span></div>
-<div class="line"><a name="l02980"></a><span class="lineno"> 2980</span> angst = 1000. ;</div>
-<div class="line"><a name="l02981"></a><span class="lineno"> 2981</span> }</div>
-<div class="line"><a name="l02982"></a><span class="lineno"> 2982</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02983"></a><span class="lineno"> 2983</span> {</div>
-<div class="line"><a name="l02984"></a><span class="lineno"> 2984</span> <span class="comment">/* microns */</span></div>
-<div class="line"><a name="l02985"></a><span class="lineno"> 2985</span> angst = 1. ;</div>
-<div class="line"><a name="l02986"></a><span class="lineno"> 2986</span> }</div>
-<div class="line"><a name="l02987"></a><span class="lineno"> 2987</span> offset = ((float) ly -1.) / 2. ;</div>
-<div class="line"><a name="l02988"></a><span class="lineno"> 2988</span> </div>
-<div class="line"><a name="l02989"></a><span class="lineno"> 2989</span> k = 0 ;</div>
-<div class="line"><a name="l02990"></a><span class="lineno"> 2990</span> <span class="keywordflow">for</span> ( col = 10 ; col < 25 ; col++ )</div>
-<div class="line"><a name="l02991"></a><span class="lineno"> 2991</span> {</div>
-<div class="line"><a name="l02992"></a><span class="lineno"> 2992</span> <span class="comment">/* determine the coefficients by using the given bcoefs */</span></div>
-<div class="line"><a name="l02993"></a><span class="lineno"> 2993</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_fitcoeffs ; i++ )</div>
-<div class="line"><a name="l02994"></a><span class="lineno"> 2994</span> {</div>
-<div class="line"><a name="l02995"></a><span class="lineno"> 2995</span> <span class="comment">/* initialize coefficients and solution */</span></div>
-<div class="line"><a name="l02996"></a><span class="lineno"> 2996</span> <span class="keywordflow">if</span> (i < n_fitcoeffs-1)</div>
-<div class="line"><a name="l02997"></a><span class="lineno"> 2997</span> {</div>
-<div class="line"><a name="l02998"></a><span class="lineno"> 2998</span> zroot[2*i] = 0. ;</div>
-<div class="line"><a name="l02999"></a><span class="lineno"> 2999</span> zroot[2*i+1] = 0. ;</div>
-<div class="line"><a name="l03000"></a><span class="lineno"> 3000</span> }</div>
-<div class="line"><a name="l03001"></a><span class="lineno"> 3001</span> a[i] = coeffs[i][col] ;</div>
-<div class="line"><a name="l03002"></a><span class="lineno"> 3002</span> }</div>
-<div class="line"><a name="l03003"></a><span class="lineno"> 3003</span> a_initial = a[0] ;</div>
-<div class="line"><a name="l03004"></a><span class="lineno"> 3004</span> </div>
-<div class="line"><a name="l03005"></a><span class="lineno"> 3005</span> <span class="comment">/* go through the lines */</span></div>
-<div class="line"><a name="l03006"></a><span class="lineno"> 3006</span> <span class="keywordflow">for</span> ( line = 0 ; line < n_lines ; line++ )</div>
-<div class="line"><a name="l03007"></a><span class="lineno"> 3007</span> {</div>
-<div class="line"><a name="l03008"></a><span class="lineno"> 3008</span> <span class="comment">/* go from Angstroem to micron */</span></div>
-<div class="line"><a name="l03009"></a><span class="lineno"> 3009</span> wave_cor[line] = wavelength[line]/angst ;</div>
-<div class="line"><a name="l03010"></a><span class="lineno"> 3010</span> <span class="keywordflow">if</span> (line > 0 && line < n_lines-1)</div>
-<div class="line"><a name="l03011"></a><span class="lineno"> 3011</span> {</div>
-<div class="line"><a name="l03012"></a><span class="lineno"> 3012</span> <span class="keywordflow">if</span> (fabs((wave_cor[line] - wave_cor[line-1]) / </div>
-<div class="line"><a name="l03013"></a><span class="lineno"> 3013</span> dispersion ) < 2*width ||</div>
-<div class="line"><a name="l03014"></a><span class="lineno"> 3014</span> fabs((wave_cor[line] - wave_cor[line+1]) / </div>
-<div class="line"><a name="l03015"></a><span class="lineno"> 3015</span> dispersion ) < 2*width )</div>
-<div class="line"><a name="l03016"></a><span class="lineno"> 3016</span> {</div>
-<div class="line"><a name="l03017"></a><span class="lineno"> 3017</span> continue ;</div>
-<div class="line"><a name="l03018"></a><span class="lineno"> 3018</span> }</div>
-<div class="line"><a name="l03019"></a><span class="lineno"> 3019</span> }</div>
-<div class="line"><a name="l03020"></a><span class="lineno"> 3020</span> </div>
-<div class="line"><a name="l03021"></a><span class="lineno"> 3021</span> a[0] = a_initial - wave_cor[line] ;</div>
-<div class="line"><a name="l03022"></a><span class="lineno"> 3022</span> </div>
-<div class="line"><a name="l03023"></a><span class="lineno"> 3023</span> <span class="keywordflow">if</span> (NULL==(w=sinfo_gsl_poly_complex_workspace_alloc(n_fitcoeffs)))</div>
-<div class="line"><a name="l03024"></a><span class="lineno"> 3024</span> {</div>
-<div class="line"><a name="l03025"></a><span class="lineno"> 3025</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" could not allocate complex workspace!"</span>) ;</div>
-<div class="line"><a name="l03026"></a><span class="lineno"> 3026</span> <span class="keywordflow">return</span> FLAG ;</div>
-<div class="line"><a name="l03027"></a><span class="lineno"> 3027</span> }</div>
-<div class="line"><a name="l03028"></a><span class="lineno"> 3028</span> <span class="keywordflow">if</span> (-1 == sinfo_gsl_poly_complex_solve(a, n_fitcoeffs, w, zroot))</div>
-<div class="line"><a name="l03029"></a><span class="lineno"> 3029</span> {</div>
-<div class="line"><a name="l03030"></a><span class="lineno"> 3030</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" sinfo_gsl_poly_complex_solve did not work!"</span>) ;</div>
-<div class="line"><a name="l03031"></a><span class="lineno"> 3031</span> <span class="keywordflow">return</span> FLAG ;</div>
-<div class="line"><a name="l03032"></a><span class="lineno"> 3032</span> }</div>
-<div class="line"><a name="l03033"></a><span class="lineno"> 3033</span> sinfo_gsl_poly_complex_workspace_free(w) ;</div>
-<div class="line"><a name="l03034"></a><span class="lineno"> 3034</span> </div>
-<div class="line"><a name="l03035"></a><span class="lineno"> 3035</span> j = 0 ;</div>
-<div class="line"><a name="l03036"></a><span class="lineno"> 3036</span> found = -1 ;</div>
-<div class="line"><a name="l03037"></a><span class="lineno"> 3037</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_fitcoeffs - 1 ; i++ )</div>
-<div class="line"><a name="l03038"></a><span class="lineno"> 3038</span> {</div>
-<div class="line"><a name="l03039"></a><span class="lineno"> 3039</span> <span class="comment">/* test for appropriate solution */</span></div>
-<div class="line"><a name="l03040"></a><span class="lineno"> 3040</span> <span class="keywordflow">if</span>( (zroot[2*i] > (-1.)*(<span class="keywordtype">float</span>) ly/2. &&</div>
-<div class="line"><a name="l03041"></a><span class="lineno"> 3041</span> zroot[2*i] < (<span class="keywordtype">float</span>)ly/2.) && zroot[2*i+1] == 0. )</div>
-<div class="line"><a name="l03042"></a><span class="lineno"> 3042</span> {</div>
-<div class="line"><a name="l03043"></a><span class="lineno"> 3043</span> found = 2*i ;</div>
-<div class="line"><a name="l03044"></a><span class="lineno"> 3044</span> j ++ ;</div>
-<div class="line"><a name="l03045"></a><span class="lineno"> 3045</span> }</div>
-<div class="line"><a name="l03046"></a><span class="lineno"> 3046</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03047"></a><span class="lineno"> 3047</span> {</div>
-<div class="line"><a name="l03048"></a><span class="lineno"> 3048</span> continue ;</div>
-<div class="line"><a name="l03049"></a><span class="lineno"> 3049</span> }</div>
-<div class="line"><a name="l03050"></a><span class="lineno"> 3050</span> }</div>
-<div class="line"><a name="l03051"></a><span class="lineno"> 3051</span> </div>
-<div class="line"><a name="l03052"></a><span class="lineno"> 3052</span> <span class="keywordflow">if</span> ( j == 0 )</div>
-<div class="line"><a name="l03053"></a><span class="lineno"> 3053</span> {</div>
-<div class="line"><a name="l03054"></a><span class="lineno"> 3054</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">" no offset solution found for line %d "</span></div>
-<div class="line"><a name="l03055"></a><span class="lineno"> 3055</span> <span class="stringliteral">"in column %d\n"</span>, line, col) ;</div>
-<div class="line"><a name="l03056"></a><span class="lineno"> 3056</span> continue ;</div>
-<div class="line"><a name="l03057"></a><span class="lineno"> 3057</span> }</div>
-<div class="line"><a name="l03058"></a><span class="lineno"> 3058</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( j == 1 )</div>
-<div class="line"><a name="l03059"></a><span class="lineno"> 3059</span> {</div>
-<div class="line"><a name="l03060"></a><span class="lineno"> 3060</span> cenpos = zroot[found] + (float)ly / 2. ; ;</div>
-<div class="line"><a name="l03061"></a><span class="lineno"> 3061</span> }</div>
-<div class="line"><a name="l03062"></a><span class="lineno"> 3062</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03063"></a><span class="lineno"> 3063</span> {</div>
-<div class="line"><a name="l03064"></a><span class="lineno"> 3064</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">" two or more offset solutions found for \</span></div>
-<div class="line"><a name="l03065"></a><span class="lineno"> 3065</span> <span class="stringliteral"> line %d in column %d\n"</span>, line, col) ;</div>
-<div class="line"><a name="l03066"></a><span class="lineno"> 3066</span> continue ;</div>
-<div class="line"><a name="l03067"></a><span class="lineno"> 3067</span> }</div>
-<div class="line"><a name="l03068"></a><span class="lineno"> 3068</span> </div>
-<div class="line"><a name="l03069"></a><span class="lineno"> 3069</span> <span class="keywordflow">if</span> ( cenpos <= 0 )</div>
-<div class="line"><a name="l03070"></a><span class="lineno"> 3070</span> {</div>
-<div class="line"><a name="l03071"></a><span class="lineno"> 3071</span> continue ;</div>
-<div class="line"><a name="l03072"></a><span class="lineno"> 3072</span> }</div>
-<div class="line"><a name="l03073"></a><span class="lineno"> 3073</span> </div>
-<div class="line"><a name="l03074"></a><span class="lineno"> 3074</span> <span class="comment">/* --------------------------------------------------------------</span></div>
-<div class="line"><a name="l03075"></a><span class="lineno"> 3075</span> <span class="comment"> * fit the single lines using sinfo_linefit and store the </span></div>
-<div class="line"><a name="l03076"></a><span class="lineno"> 3076</span> <span class="comment"> * parameters in</span></div>
-<div class="line"><a name="l03077"></a><span class="lineno"> 3077</span> <span class="comment"> * an array of the FitParams data structure allParams[].</span></div>
-<div class="line"><a name="l03078"></a><span class="lineno"> 3078</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03079"></a><span class="lineno"> 3079</span> <span class="keywordflow">if</span> ( (result = sinfo_new_line_fit ( lineIm, par[k], </div>
-<div class="line"><a name="l03080"></a><span class="lineno"> 3080</span> fwhm, line, col,</div>
-<div class="line"><a name="l03081"></a><span class="lineno"> 3081</span> width, cenpos, min_amplitude, vline,</div>
-<div class="line"><a name="l03082"></a><span class="lineno"> 3082</span> mpar, xdat, wdat ) ) < 0 )</div>
-<div class="line"><a name="l03083"></a><span class="lineno"> 3083</span> {</div>
-<div class="line"><a name="l03084"></a><span class="lineno"> 3084</span> <a class="code" href="group__sinfo__msg.html#ga5011f548e1cbc15d52154469a63343c8" title="Print a debug message.">sinfo_msg_debug</a> (<span class="stringliteral">"sinfo_linefit failed, error no.: %d, "</span></div>
-<div class="line"><a name="l03085"></a><span class="lineno"> 3085</span> <span class="stringliteral">"column: %d, row: %f, line: %d\n"</span>, </div>
-<div class="line"><a name="l03086"></a><span class="lineno"> 3086</span> result, col, cenpos, line) ;</div>
-<div class="line"><a name="l03087"></a><span class="lineno"> 3087</span> continue ;</div>
-<div class="line"><a name="l03088"></a><span class="lineno"> 3088</span> }</div>
-<div class="line"><a name="l03089"></a><span class="lineno"> 3089</span> <span class="keywordflow">if</span> ( (par[k] -> fit_par[0] <= 0.) || (par[k] -> fit_par[1] <= 0.)</div>
-<div class="line"><a name="l03090"></a><span class="lineno"> 3090</span> || (par[k] -> fit_par[2] <= 0.) )</div>
-<div class="line"><a name="l03091"></a><span class="lineno"> 3091</span> {</div>
-<div class="line"><a name="l03092"></a><span class="lineno"> 3092</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">"negative fit parameters in column: %d, "</span></div>
-<div class="line"><a name="l03093"></a><span class="lineno"> 3093</span> <span class="stringliteral">"line: %d\n"</span>, col, line) ;</div>
-<div class="line"><a name="l03094"></a><span class="lineno"> 3094</span> continue ;</div>
-<div class="line"><a name="l03095"></a><span class="lineno"> 3095</span> }</div>
-<div class="line"><a name="l03096"></a><span class="lineno"> 3096</span> par[k] -> wavelength = wavelength[line] ;</div>
-<div class="line"><a name="l03097"></a><span class="lineno"> 3097</span> k++ ;</div>
-<div class="line"><a name="l03098"></a><span class="lineno"> 3098</span> }</div>
-<div class="line"><a name="l03099"></a><span class="lineno"> 3099</span> </div>
-<div class="line"><a name="l03100"></a><span class="lineno"> 3100</span> }</div>
-<div class="line"><a name="l03101"></a><span class="lineno"> 3101</span> </div>
-<div class="line"><a name="l03102"></a><span class="lineno"> 3102</span> <span class="comment">/* free memory */</span></div>
-<div class="line"><a name="l03103"></a><span class="lineno"> 3103</span> sinfo_new_destroy_vector(vline);</div>
-<div class="line"><a name="l03104"></a><span class="lineno"> 3104</span> cpl_free(xdat);</div>
-<div class="line"><a name="l03105"></a><span class="lineno"> 3105</span> cpl_free(wdat);</div>
-<div class="line"><a name="l03106"></a><span class="lineno"> 3106</span> cpl_free(mpar);</div>
-<div class="line"><a name="l03107"></a><span class="lineno"> 3107</span> </div>
-<div class="line"><a name="l03108"></a><span class="lineno"> 3108</span> </div>
-<div class="line"><a name="l03109"></a><span class="lineno"> 3109</span> c = 0 ;</div>
-<div class="line"><a name="l03110"></a><span class="lineno"> 3110</span> <span class="keywordflow">for</span> ( col = 10 ; col < 25 ; col++ )</div>
-<div class="line"><a name="l03111"></a><span class="lineno"> 3111</span> {</div>
-<div class="line"><a name="l03112"></a><span class="lineno"> 3112</span> n = 0 ;</div>
-<div class="line"><a name="l03113"></a><span class="lineno"> 3113</span> <span class="keywordflow">for</span> ( i = 0 ; i < k ; i++ )</div>
-<div class="line"><a name="l03114"></a><span class="lineno"> 3114</span> {</div>
-<div class="line"><a name="l03115"></a><span class="lineno"> 3115</span> <span class="keywordflow">if</span> (par[i]->column == col && par[i]->fit_par[2] != 0. && </div>
-<div class="line"><a name="l03116"></a><span class="lineno"> 3116</span> par[i]->fit_par[1] > 1. && par[i]->fit_par[1] < 7. )</div>
-<div class="line"><a name="l03117"></a><span class="lineno"> 3117</span> {</div>
-<div class="line"><a name="l03118"></a><span class="lineno"> 3118</span> foundit[n] = i ;</div>
-<div class="line"><a name="l03119"></a><span class="lineno"> 3119</span> n++ ;</div>
-<div class="line"><a name="l03120"></a><span class="lineno"> 3120</span> }</div>
-<div class="line"><a name="l03121"></a><span class="lineno"> 3121</span> }</div>
-<div class="line"><a name="l03122"></a><span class="lineno"> 3122</span> <span class="keywordflow">if</span> ( n == 0 ) continue ;</div>
-<div class="line"><a name="l03123"></a><span class="lineno"> 3123</span> </div>
-<div class="line"><a name="l03124"></a><span class="lineno"> 3124</span> shift = 0 ;</div>
-<div class="line"><a name="l03125"></a><span class="lineno"> 3125</span> z = 0 ;</div>
-<div class="line"><a name="l03126"></a><span class="lineno"> 3126</span> <span class="keywordflow">for</span> ( j = 0 ; j < n ; j++ )</div>
-<div class="line"><a name="l03127"></a><span class="lineno"> 3127</span> {</div>
-<div class="line"><a name="l03128"></a><span class="lineno"> 3128</span> position = par[foundit[j]]->fit_par[2] ; </div>
-<div class="line"><a name="l03129"></a><span class="lineno"> 3129</span> lambda = par[foundit[j]]->wavelength ;</div>
-<div class="line"><a name="l03130"></a><span class="lineno"> 3130</span> line = par[foundit[j]]->line ;</div>
-<div class="line"><a name="l03131"></a><span class="lineno"> 3131</span> <span class="keywordflow">if</span> (line > 0 && line < n_lines-1)</div>
-<div class="line"><a name="l03132"></a><span class="lineno"> 3132</span> {</div>
-<div class="line"><a name="l03133"></a><span class="lineno"> 3133</span> <span class="keywordflow">if</span> (fabs((wave_cor[line] - wave_cor[line-1]) / </div>
-<div class="line"><a name="l03134"></a><span class="lineno"> 3134</span> dispersion ) < 2*width ||</div>
-<div class="line"><a name="l03135"></a><span class="lineno"> 3135</span> fabs((wave_cor[line] - wave_cor[line+1]) / </div>
-<div class="line"><a name="l03136"></a><span class="lineno"> 3136</span> dispersion ) < 2*width )</div>
-<div class="line"><a name="l03137"></a><span class="lineno"> 3137</span> {</div>
-<div class="line"><a name="l03138"></a><span class="lineno"> 3138</span> continue ;</div>
-<div class="line"><a name="l03139"></a><span class="lineno"> 3139</span> }</div>
-<div class="line"><a name="l03140"></a><span class="lineno"> 3140</span> }</div>
-<div class="line"><a name="l03141"></a><span class="lineno"> 3141</span> wave = 0 ;</div>
-<div class="line"><a name="l03142"></a><span class="lineno"> 3142</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_fitcoeffs ; i++ ) </div>
-<div class="line"><a name="l03143"></a><span class="lineno"> 3143</span> {</div>
-<div class="line"><a name="l03144"></a><span class="lineno"> 3144</span> wave += coeffs[i][col]*pow(position-offset, i) ;</div>
-<div class="line"><a name="l03145"></a><span class="lineno"> 3145</span> }</div>
-<div class="line"><a name="l03146"></a><span class="lineno"> 3146</span> shift += lambda - wave ;</div>
-<div class="line"><a name="l03147"></a><span class="lineno"> 3147</span> z++ ;</div>
-<div class="line"><a name="l03148"></a><span class="lineno"> 3148</span> }</div>
-<div class="line"><a name="l03149"></a><span class="lineno"> 3149</span> shift_col[c] = shift/(float)z ; </div>
-<div class="line"><a name="l03150"></a><span class="lineno"> 3150</span> c++ ;</div>
-<div class="line"><a name="l03151"></a><span class="lineno"> 3151</span> }</div>
-<div class="line"><a name="l03152"></a><span class="lineno"> 3152</span> <span class="keywordflow">if</span> ( c > 0 )</div>
-<div class="line"><a name="l03153"></a><span class="lineno"> 3153</span> {</div>
-<div class="line"><a name="l03154"></a><span class="lineno"> 3154</span> wave_shift = sinfo_new_clean_mean(shift_col, c, 10., 10.) ;</div>
-<div class="line"><a name="l03155"></a><span class="lineno"> 3155</span> sinfo_msg(<span class="stringliteral">"overall positioning error in microns: %g"</span>, wave_shift) ;</div>
-<div class="line"><a name="l03156"></a><span class="lineno"> 3156</span> }</div>
-<div class="line"><a name="l03157"></a><span class="lineno"> 3157</span> </div>
-<div class="line"><a name="l03158"></a><span class="lineno"> 3158</span> <span class="comment">/* determine positioning error for each found line */</span></div>
-<div class="line"><a name="l03159"></a><span class="lineno"> 3159</span> <span class="keywordflow">for</span> ( line = 0 ; line < n_lines ; line++ )</div>
-<div class="line"><a name="l03160"></a><span class="lineno"> 3160</span> {</div>
-<div class="line"><a name="l03161"></a><span class="lineno"> 3161</span> <span class="keywordflow">if</span> (line > 0 && line < n_lines-1)</div>
-<div class="line"><a name="l03162"></a><span class="lineno"> 3162</span> {</div>
-<div class="line"><a name="l03163"></a><span class="lineno"> 3163</span> <span class="keywordflow">if</span> (fabs((wave_cor[line] - wave_cor[line-1]) / dispersion ) < </div>
-<div class="line"><a name="l03164"></a><span class="lineno"> 3164</span> 2*width ||</div>
-<div class="line"><a name="l03165"></a><span class="lineno"> 3165</span> fabs((wave_cor[line] - wave_cor[line+1]) / dispersion ) < </div>
-<div class="line"><a name="l03166"></a><span class="lineno"> 3166</span> 2*width )</div>
-<div class="line"><a name="l03167"></a><span class="lineno"> 3167</span> {</div>
-<div class="line"><a name="l03168"></a><span class="lineno"> 3168</span> continue ;</div>
-<div class="line"><a name="l03169"></a><span class="lineno"> 3169</span> }</div>
-<div class="line"><a name="l03170"></a><span class="lineno"> 3170</span> }</div>
-<div class="line"><a name="l03171"></a><span class="lineno"> 3171</span> </div>
-<div class="line"><a name="l03172"></a><span class="lineno"> 3172</span> c = 0 ;</div>
-<div class="line"><a name="l03173"></a><span class="lineno"> 3173</span> <span class="keywordflow">for</span> ( col = 10 ; col < 25 ; col++ )</div>
-<div class="line"><a name="l03174"></a><span class="lineno"> 3174</span> {</div>
-<div class="line"><a name="l03175"></a><span class="lineno"> 3175</span> shift_col[c] = 0. ;</div>
-<div class="line"><a name="l03176"></a><span class="lineno"> 3176</span> found = -1 ;</div>
-<div class="line"><a name="l03177"></a><span class="lineno"> 3177</span> <span class="keywordflow">for</span> ( i = 0 ; i < k ; i++ )</div>
-<div class="line"><a name="l03178"></a><span class="lineno"> 3178</span> {</div>
-<div class="line"><a name="l03179"></a><span class="lineno"> 3179</span> <span class="keywordflow">if</span> (par[i]->column == col && par[i]->fit_par[2] != 0. && </div>
-<div class="line"><a name="l03180"></a><span class="lineno"> 3180</span> par[i]->fit_par[1] > 1. && par[i]->fit_par[1] < 7. && </div>
-<div class="line"><a name="l03181"></a><span class="lineno"> 3181</span> par[i]->line == line )</div>
-<div class="line"><a name="l03182"></a><span class="lineno"> 3182</span> {</div>
-<div class="line"><a name="l03183"></a><span class="lineno"> 3183</span> found = i ;</div>
-<div class="line"><a name="l03184"></a><span class="lineno"> 3184</span> }</div>
-<div class="line"><a name="l03185"></a><span class="lineno"> 3185</span> }</div>
-<div class="line"><a name="l03186"></a><span class="lineno"> 3186</span> <span class="keywordflow">if</span> (found == -1) break ;</div>
-<div class="line"><a name="l03187"></a><span class="lineno"> 3187</span> </div>
-<div class="line"><a name="l03188"></a><span class="lineno"> 3188</span> position = par[found]->fit_par[2] ; </div>
-<div class="line"><a name="l03189"></a><span class="lineno"> 3189</span> lambda = par[found]->wavelength ;</div>
-<div class="line"><a name="l03190"></a><span class="lineno"> 3190</span> wave = 0 ;</div>
-<div class="line"><a name="l03191"></a><span class="lineno"> 3191</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_fitcoeffs ; i++ ) </div>
-<div class="line"><a name="l03192"></a><span class="lineno"> 3192</span> {</div>
-<div class="line"><a name="l03193"></a><span class="lineno"> 3193</span> wave += coeffs[i][col]*pow(position-offset, i) ;</div>
-<div class="line"><a name="l03194"></a><span class="lineno"> 3194</span> }</div>
-<div class="line"><a name="l03195"></a><span class="lineno"> 3195</span> shift_col[c] = lambda - wave ;</div>
-<div class="line"><a name="l03196"></a><span class="lineno"> 3196</span> c++ ;</div>
-<div class="line"><a name="l03197"></a><span class="lineno"> 3197</span> }</div>
-<div class="line"><a name="l03198"></a><span class="lineno"> 3198</span> <span class="keywordflow">if</span> (found != -1 && c > 0 )</div>
-<div class="line"><a name="l03199"></a><span class="lineno"> 3199</span> {</div>
-<div class="line"><a name="l03200"></a><span class="lineno"> 3200</span> sinfo_msg(<span class="stringliteral">"shift in microns: %g at wavelength: %f\n"</span>, </div>
-<div class="line"><a name="l03201"></a><span class="lineno"> 3201</span> sinfo_new_clean_mean(shift_col, c, 20., 20.), lambda) ;</div>
-<div class="line"><a name="l03202"></a><span class="lineno"> 3202</span> }</div>
-<div class="line"><a name="l03203"></a><span class="lineno"> 3203</span> }</div>
-<div class="line"><a name="l03204"></a><span class="lineno"> 3204</span> </div>
-<div class="line"><a name="l03205"></a><span class="lineno"> 3205</span> </div>
-<div class="line"><a name="l03206"></a><span class="lineno"> 3206</span> </div>
-<div class="line"><a name="l03207"></a><span class="lineno"> 3207</span> cpl_free(foundit) ;</div>
-<div class="line"><a name="l03208"></a><span class="lineno"> 3208</span> cpl_free(shift_col) ;</div>
-<div class="line"><a name="l03209"></a><span class="lineno"> 3209</span> cpl_free(wave_cor) ;</div>
-<div class="line"><a name="l03210"></a><span class="lineno"> 3210</span> cpl_free(a) ;</div>
-<div class="line"><a name="l03211"></a><span class="lineno"> 3211</span> cpl_free(zroot) ;</div>
-<div class="line"><a name="l03212"></a><span class="lineno"> 3212</span> </div>
-<div class="line"><a name="l03213"></a><span class="lineno"> 3213</span> <span class="keywordflow">return</span> wave_shift ;</div>
-<div class="line"><a name="l03214"></a><span class="lineno"> 3214</span> }</div>
-<div class="line"><a name="l03215"></a><span class="lineno"> 3215</span> </div>
-<div class="line"><a name="l03216"></a><span class="lineno"> 3216</span> </div>
-<div class="line"><a name="l03217"></a><span class="lineno"> 3217</span> </div>
-<div class="line"><a name="l03242"></a><span class="lineno"> 3242</span> <span class="keyword">static</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l03243"></a><span class="lineno"> 3243</span> sinfo_new_spred_coeffs_cross_slit_fit ( <span class="keywordtype">int</span> n_columns,</div>
-<div class="line"><a name="l03244"></a><span class="lineno"> 3244</span> <span class="keywordtype">float</span> ** acoefs,</div>
-<div class="line"><a name="l03245"></a><span class="lineno"> 3245</span> <span class="keywordtype">float</span> ** dacoefs,</div>
-<div class="line"><a name="l03246"></a><span class="lineno"> 3246</span> Bcoeffs* bco,</div>
-<div class="line"><a name="l03247"></a><span class="lineno"> 3247</span> <span class="keywordtype">float</span> sigma_factor,</div>
-<div class="line"><a name="l03248"></a><span class="lineno"> 3248</span> <span class="keywordtype">float</span> dispersion,</div>
-<div class="line"><a name="l03249"></a><span class="lineno"> 3249</span> <span class="keywordtype">float</span> pixel_dist,</div>
-<div class="line"><a name="l03250"></a><span class="lineno"> 3250</span> <span class="keywordtype">float</span> * chisq,</div>
-<div class="line"><a name="l03251"></a><span class="lineno"> 3251</span> <span class="keywordtype">float</span> ** sinfo_slit_pos )</div>
-<div class="line"><a name="l03252"></a><span class="lineno"> 3252</span> {</div>
-<div class="line"><a name="l03253"></a><span class="lineno"> 3253</span> <span class="keywordtype">float</span> col_index;</div>
-<div class="line"><a name="l03254"></a><span class="lineno"> 3254</span> </div>
-<div class="line"><a name="l03255"></a><span class="lineno"> 3255</span> </div>
-<div class="line"><a name="l03256"></a><span class="lineno"> 3256</span> <span class="keywordtype">float</span> ** ucoefs, **vcoefs, **covar ;</div>
-<div class="line"><a name="l03257"></a><span class="lineno"> 3257</span> <span class="keywordtype">float</span> * acoefsclean ;</div>
-<div class="line"><a name="l03258"></a><span class="lineno"> 3258</span> <span class="keywordtype">double</span> sum, sumq, mean ;</div>
-<div class="line"><a name="l03259"></a><span class="lineno"> 3259</span> <span class="keywordtype">double</span> sigma ;</div>
-<div class="line"><a name="l03260"></a><span class="lineno"> 3260</span> <span class="keywordtype">double</span> cliphi, cliplo ;</div>
-<div class="line"><a name="l03261"></a><span class="lineno"> 3261</span> <span class="keywordtype">float</span> offset ;</div>
-<div class="line"><a name="l03262"></a><span class="lineno"> 3262</span> <span class="keywordtype">float</span> threshold ;</div>
-<div class="line"><a name="l03263"></a><span class="lineno"> 3263</span> </div>
-<div class="line"><a name="l03264"></a><span class="lineno"> 3264</span> <span class="keywordtype">int</span>* edge=NULL ;</div>
-<div class="line"><a name="l03265"></a><span class="lineno"> 3265</span> <span class="keywordtype">float</span>* sub_col_index=NULL ;</div>
-<div class="line"><a name="l03266"></a><span class="lineno"> 3266</span> <span class="keywordtype">float</span>* sub_acoefs=NULL;</div>
-<div class="line"><a name="l03267"></a><span class="lineno"> 3267</span> <span class="keywordtype">float</span>* sub_dacoefs=NULL ;</div>
-<div class="line"><a name="l03268"></a><span class="lineno"> 3268</span> <span class="keywordtype">float</span>* wcoefs=NULL ;</div>
-<div class="line"><a name="l03269"></a><span class="lineno"> 3269</span> </div>
-<div class="line"><a name="l03270"></a><span class="lineno"> 3270</span> </div>
-<div class="line"><a name="l03271"></a><span class="lineno"> 3271</span> <span class="keywordtype">int</span> ed1, ed2 ;</div>
-<div class="line"><a name="l03272"></a><span class="lineno"> 3272</span> <span class="keywordtype">int</span> i, n, num, ndata ;</div>
-<div class="line"><a name="l03273"></a><span class="lineno"> 3273</span> <span class="keywordtype">int</span> nc, ns ;</div>
-<div class="line"><a name="l03274"></a><span class="lineno"> 3274</span> <span class="keywordtype">int</span> loc_index ;</div>
-<div class="line"><a name="l03275"></a><span class="lineno"> 3275</span> <span class="keywordtype">int</span> sl_index;</div>
-<div class="line"><a name="l03276"></a><span class="lineno"> 3276</span> <span class="keywordtype">int</span> last_i=PIXEL;</div>
-<div class="line"><a name="l03277"></a><span class="lineno"> 3277</span> </div>
-<div class="line"><a name="l03278"></a><span class="lineno"> 3278</span> <span class="keywordflow">if</span> ( n_columns < 1 )</div>
-<div class="line"><a name="l03279"></a><span class="lineno"> 3279</span> {</div>
-<div class="line"><a name="l03280"></a><span class="lineno"> 3280</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" wrong number of image columns given\n"</span>) ;</div>
-<div class="line"><a name="l03281"></a><span class="lineno"> 3281</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03282"></a><span class="lineno"> 3282</span> }</div>
-<div class="line"><a name="l03283"></a><span class="lineno"> 3283</span> <span class="keywordflow">if</span> ( acoefs == NULL || dacoefs == NULL )</div>
-<div class="line"><a name="l03284"></a><span class="lineno"> 3284</span> {</div>
-<div class="line"><a name="l03285"></a><span class="lineno"> 3285</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" acoeffs or errors of coefficients are not given"</span>) ;</div>
-<div class="line"><a name="l03286"></a><span class="lineno"> 3286</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03287"></a><span class="lineno"> 3287</span> }</div>
-<div class="line"><a name="l03288"></a><span class="lineno"> 3288</span> <span class="keywordflow">if</span> ( bco == NULL )</div>
-<div class="line"><a name="l03289"></a><span class="lineno"> 3289</span> {</div>
-<div class="line"><a name="l03290"></a><span class="lineno"> 3290</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" bcoeffs are not allocated\n"</span>) ;</div>
-<div class="line"><a name="l03291"></a><span class="lineno"> 3291</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03292"></a><span class="lineno"> 3292</span> }</div>
-<div class="line"><a name="l03293"></a><span class="lineno"> 3293</span> <span class="keywordflow">if</span> ( sigma_factor <= 0. )</div>
-<div class="line"><a name="l03294"></a><span class="lineno"> 3294</span> {</div>
-<div class="line"><a name="l03295"></a><span class="lineno"> 3295</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" impossible sigma_factor given!\n"</span>) ;</div>
-<div class="line"><a name="l03296"></a><span class="lineno"> 3296</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03297"></a><span class="lineno"> 3297</span> }</div>
-<div class="line"><a name="l03298"></a><span class="lineno"> 3298</span> <span class="keywordflow">if</span> ( dispersion == 0. )</div>
-<div class="line"><a name="l03299"></a><span class="lineno"> 3299</span> {</div>
-<div class="line"><a name="l03300"></a><span class="lineno"> 3300</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" impossible dispersion given!\n"</span>) ;</div>
-<div class="line"><a name="l03301"></a><span class="lineno"> 3301</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03302"></a><span class="lineno"> 3302</span> }</div>
-<div class="line"><a name="l03303"></a><span class="lineno"> 3303</span> </div>
-<div class="line"><a name="l03304"></a><span class="lineno"> 3304</span> </div>
-<div class="line"><a name="l03305"></a><span class="lineno"> 3305</span> edge=cpl_calloc(bco->n_slitlets,<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)) ;</div>
-<div class="line"><a name="l03306"></a><span class="lineno"> 3306</span> sub_col_index=cpl_calloc(n_columns,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l03307"></a><span class="lineno"> 3307</span> sub_acoefs=cpl_calloc(n_columns,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>));</div>
-<div class="line"><a name="l03308"></a><span class="lineno"> 3308</span> sub_dacoefs=cpl_calloc(n_columns,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l03309"></a><span class="lineno"> 3309</span> </div>
-<div class="line"><a name="l03310"></a><span class="lineno"> 3310</span> wcoefs=cpl_calloc(bco->n_bcoeffs,<span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)) ;</div>
-<div class="line"><a name="l03311"></a><span class="lineno"> 3311</span> </div>
-<div class="line"><a name="l03312"></a><span class="lineno"> 3312</span> <span class="comment">/*------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l03313"></a><span class="lineno"> 3313</span> <span class="comment"> * search for the slitlet edges by comparing the a0 coefficients along i</span></div>
-<div class="line"><a name="l03314"></a><span class="lineno"> 3314</span> <span class="comment"> * the columns</span></div>
-<div class="line"><a name="l03315"></a><span class="lineno"> 3315</span> <span class="comment"> * if a bigger deviation occurrs it is assumed that there is an edge.</span></div>
-<div class="line"><a name="l03316"></a><span class="lineno"> 3316</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03317"></a><span class="lineno"> 3317</span> n = 0 ;</div>
-<div class="line"><a name="l03318"></a><span class="lineno"> 3318</span> threshold = pixel_dist * fabs(dispersion) ;</div>
-<div class="line"><a name="l03319"></a><span class="lineno"> 3319</span> sinfo_slit_pos[0][0]=0 ;</div>
-<div class="line"><a name="l03320"></a><span class="lineno"> 3320</span> sl_index = 0;</div>
-<div class="line"><a name="l03321"></a><span class="lineno"> 3321</span> <span class="comment">/* it was for ( i = PIXEL ; i < n_columns - PIXEL ; ) */</span></div>
-<div class="line"><a name="l03322"></a><span class="lineno"> 3322</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_columns - PIXEL ; )</div>
-<div class="line"><a name="l03323"></a><span class="lineno"> 3323</span> {</div>
-<div class="line"><a name="l03324"></a><span class="lineno"> 3324</span> <span class="keywordflow">if</span> ( !isnan(acoefs[0][i+1]) && </div>
-<div class="line"><a name="l03325"></a><span class="lineno"> 3325</span> acoefs[0][i+1] != 0. && </div>
-<div class="line"><a name="l03326"></a><span class="lineno"> 3326</span> acoefs[0][i] != 0.</div>
-<div class="line"><a name="l03327"></a><span class="lineno"> 3327</span> && dacoefs[0][i+1] != 0.)</div>
-<div class="line"><a name="l03328"></a><span class="lineno"> 3328</span> {</div>
-<div class="line"><a name="l03329"></a><span class="lineno"> 3329</span> <span class="keywordflow">if</span> ( isnan(acoefs[0][i]) || acoefs[0][i] == 0. )</div>
-<div class="line"><a name="l03330"></a><span class="lineno"> 3330</span> {</div>
-<div class="line"><a name="l03331"></a><span class="lineno"> 3331</span> <span class="keywordflow">if</span> (fabs(acoefs[0][i+1] - acoefs[0][i-1]) >= threshold )</div>
-<div class="line"><a name="l03332"></a><span class="lineno"> 3332</span> {</div>
-<div class="line"><a name="l03333"></a><span class="lineno"> 3333</span> <span class="comment">/* printf("case a pos1 %d pos2 %d \n",i,i+1); */</span></div>
-<div class="line"><a name="l03334"></a><span class="lineno"> 3334</span> edge[n] = i+1 ;</div>
-<div class="line"><a name="l03335"></a><span class="lineno"> 3335</span> sinfo_slit_pos[sl_index][1] = i ;</div>
-<div class="line"><a name="l03336"></a><span class="lineno"> 3336</span> sinfo_slit_pos[sl_index+1][0] = i + 1 ;</div>
-<div class="line"><a name="l03337"></a><span class="lineno"> 3337</span> sl_index++;</div>
-<div class="line"><a name="l03338"></a><span class="lineno"> 3338</span> n++ ;</div>
-<div class="line"><a name="l03339"></a><span class="lineno"> 3339</span> last_i = i;</div>
-<div class="line"><a name="l03340"></a><span class="lineno"> 3340</span> i += PIXEL ;</div>
-<div class="line"><a name="l03341"></a><span class="lineno"> 3341</span> }</div>
-<div class="line"><a name="l03342"></a><span class="lineno"> 3342</span> }</div>
-<div class="line"><a name="l03343"></a><span class="lineno"> 3343</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03344"></a><span class="lineno"> 3344</span> {</div>
-<div class="line"><a name="l03345"></a><span class="lineno"> 3345</span> <span class="keywordflow">if</span> (fabs(acoefs[0][i+1] - acoefs[0][i]) >= threshold )</div>
-<div class="line"><a name="l03346"></a><span class="lineno"> 3346</span> {</div>
-<div class="line"><a name="l03347"></a><span class="lineno"> 3347</span> <span class="comment">/* printf("case b pos1 %d pos2 %d \n",i,i+1); */</span></div>
-<div class="line"><a name="l03348"></a><span class="lineno"> 3348</span> edge[n] = i+1 ;</div>
-<div class="line"><a name="l03349"></a><span class="lineno"> 3349</span> sinfo_slit_pos[sl_index][1] = i ;</div>
-<div class="line"><a name="l03350"></a><span class="lineno"> 3350</span> sinfo_slit_pos[sl_index+1][0] = i + 1 ;</div>
-<div class="line"><a name="l03351"></a><span class="lineno"> 3351</span> sl_index++;</div>
-<div class="line"><a name="l03352"></a><span class="lineno"> 3352</span> n++ ;</div>
-<div class="line"><a name="l03353"></a><span class="lineno"> 3353</span> last_i = i;</div>
-<div class="line"><a name="l03354"></a><span class="lineno"> 3354</span> i += PIXEL ;</div>
-<div class="line"><a name="l03355"></a><span class="lineno"> 3355</span> }</div>
-<div class="line"><a name="l03356"></a><span class="lineno"> 3356</span> }</div>
-<div class="line"><a name="l03357"></a><span class="lineno"> 3357</span> </div>
-<div class="line"><a name="l03358"></a><span class="lineno"> 3358</span> </div>
-<div class="line"><a name="l03359"></a><span class="lineno"> 3359</span> <span class="comment">/* sometimes a slitlet may be lost due to divergences in </span></div>
-<div class="line"><a name="l03360"></a><span class="lineno"> 3360</span> <span class="comment"> acoeffs[0] we try to recover it */</span></div>
-<div class="line"><a name="l03361"></a><span class="lineno"> 3361</span> <span class="keywordflow">if</span>( ( (i-last_i) > 63 ) && </div>
-<div class="line"><a name="l03362"></a><span class="lineno"> 3362</span> ( isnan(fabs(acoefs[0][i+1] - acoefs[0][i])) ||</div>
-<div class="line"><a name="l03363"></a><span class="lineno"> 3363</span> isnan(fabs(acoefs[0][i+1] - acoefs[0][i-1])) ) ) </div>
-<div class="line"><a name="l03364"></a><span class="lineno"> 3364</span> {</div>
-<div class="line"><a name="l03365"></a><span class="lineno"> 3365</span> edge[n] = i+1 ;</div>
-<div class="line"><a name="l03366"></a><span class="lineno"> 3366</span> sinfo_slit_pos[sl_index][1] = i ;</div>
-<div class="line"><a name="l03367"></a><span class="lineno"> 3367</span> sinfo_slit_pos[sl_index+1][0] = i + 1 ;</div>
-<div class="line"><a name="l03368"></a><span class="lineno"> 3368</span> sl_index++;</div>
-<div class="line"><a name="l03369"></a><span class="lineno"> 3369</span> n++ ;</div>
-<div class="line"><a name="l03370"></a><span class="lineno"> 3370</span> </div>
-<div class="line"><a name="l03371"></a><span class="lineno"> 3371</span> last_i = i;</div>
-<div class="line"><a name="l03372"></a><span class="lineno"> 3372</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"2 recovered slitlet edge i=%d"</span>,i);</div>
-<div class="line"><a name="l03373"></a><span class="lineno"> 3373</span> i += PIXEL ;</div>
-<div class="line"><a name="l03374"></a><span class="lineno"> 3374</span> </div>
-<div class="line"><a name="l03375"></a><span class="lineno"> 3375</span> }</div>
-<div class="line"><a name="l03376"></a><span class="lineno"> 3376</span> }</div>
-<div class="line"><a name="l03377"></a><span class="lineno"> 3377</span> i++ ;</div>
-<div class="line"><a name="l03378"></a><span class="lineno"> 3378</span> }</div>
-<div class="line"><a name="l03379"></a><span class="lineno"> 3379</span> sinfo_slit_pos[sl_index][1] = 2047;</div>
-<div class="line"><a name="l03380"></a><span class="lineno"> 3380</span> <span class="comment">/* printf("2 Found n slitlest: %d check %d\n", n,bco->n_slitlets - 1); */</span></div>
-<div class="line"><a name="l03381"></a><span class="lineno"> 3381</span> <span class="keywordflow">if</span> ( n != bco->n_slitlets - 1 )</div>
-<div class="line"><a name="l03382"></a><span class="lineno"> 3382</span> {</div>
-<div class="line"><a name="l03383"></a><span class="lineno"> 3383</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not find the right number of "</span></div>
-<div class="line"><a name="l03384"></a><span class="lineno"> 3384</span> <span class="stringliteral">"slitlets, found: %d\n"</span>,n+1) ;</div>
-<div class="line"><a name="l03385"></a><span class="lineno"> 3385</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03386"></a><span class="lineno"> 3386</span> }</div>
-<div class="line"><a name="l03387"></a><span class="lineno"> 3387</span> </div>
-<div class="line"><a name="l03388"></a><span class="lineno"> 3388</span> <span class="comment">/* go through the coefficents indices */</span></div>
-<div class="line"><a name="l03389"></a><span class="lineno"> 3389</span> <span class="keywordflow">for</span> ( loc_index = 0 ; loc_index < bco->n_acoeffs ; loc_index++ )</div>
-<div class="line"><a name="l03390"></a><span class="lineno"> 3390</span> {</div>
-<div class="line"><a name="l03391"></a><span class="lineno"> 3391</span> <span class="comment">/* go through the single slitlets */</span></div>
-<div class="line"><a name="l03392"></a><span class="lineno"> 3392</span> <span class="keywordflow">for</span> ( ns = 0 ; ns < bco->n_slitlets ; ns++ )</div>
-<div class="line"><a name="l03393"></a><span class="lineno"> 3393</span> {</div>
-<div class="line"><a name="l03394"></a><span class="lineno"> 3394</span> <span class="comment">/* determine the slitlet edges */</span></div>
-<div class="line"><a name="l03395"></a><span class="lineno"> 3395</span> <span class="keywordflow">if</span> ( ns == 0 )</div>
-<div class="line"><a name="l03396"></a><span class="lineno"> 3396</span> {</div>
-<div class="line"><a name="l03397"></a><span class="lineno"> 3397</span> ed1 = 0 ;</div>
-<div class="line"><a name="l03398"></a><span class="lineno"> 3398</span> ed2 = edge[0] ;</div>
-<div class="line"><a name="l03399"></a><span class="lineno"> 3399</span> }</div>
-<div class="line"><a name="l03400"></a><span class="lineno"> 3400</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( ns == bco->n_slitlets - 1 )</div>
-<div class="line"><a name="l03401"></a><span class="lineno"> 3401</span> {</div>
-<div class="line"><a name="l03402"></a><span class="lineno"> 3402</span> ed1 = edge[bco->n_slitlets - 2] ;</div>
-<div class="line"><a name="l03403"></a><span class="lineno"> 3403</span> ed2 = n_columns ;</div>
-<div class="line"><a name="l03404"></a><span class="lineno"> 3404</span> }</div>
-<div class="line"><a name="l03405"></a><span class="lineno"> 3405</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03406"></a><span class="lineno"> 3406</span> {</div>
-<div class="line"><a name="l03407"></a><span class="lineno"> 3407</span> ed1 = edge[ns-1] ;</div>
-<div class="line"><a name="l03408"></a><span class="lineno"> 3408</span> ed2 = edge[ns] ;</div>
-<div class="line"><a name="l03409"></a><span class="lineno"> 3409</span> }</div>
-<div class="line"><a name="l03410"></a><span class="lineno"> 3410</span> </div>
-<div class="line"><a name="l03411"></a><span class="lineno"> 3411</span> nc = 0 ;</div>
-<div class="line"><a name="l03412"></a><span class="lineno"> 3412</span> <span class="keywordflow">for</span> ( i = ed1 ; i < ed2 ; i++ )</div>
-<div class="line"><a name="l03413"></a><span class="lineno"> 3413</span> {</div>
-<div class="line"><a name="l03414"></a><span class="lineno"> 3414</span> <span class="keywordflow">if</span> ( isnan(acoefs[loc_index][i]) || </div>
-<div class="line"><a name="l03415"></a><span class="lineno"> 3415</span> acoefs[loc_index][i] == 0. || </div>
-<div class="line"><a name="l03416"></a><span class="lineno"> 3416</span> dacoefs[loc_index][i] == 0. )</div>
-<div class="line"><a name="l03417"></a><span class="lineno"> 3417</span> {</div>
-<div class="line"><a name="l03418"></a><span class="lineno"> 3418</span> continue ;</div>
-<div class="line"><a name="l03419"></a><span class="lineno"> 3419</span> }</div>
-<div class="line"><a name="l03420"></a><span class="lineno"> 3420</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03421"></a><span class="lineno"> 3421</span> {</div>
-<div class="line"><a name="l03422"></a><span class="lineno"> 3422</span> nc++ ;</div>
-<div class="line"><a name="l03423"></a><span class="lineno"> 3423</span> }</div>
-<div class="line"><a name="l03424"></a><span class="lineno"> 3424</span> }</div>
-<div class="line"><a name="l03425"></a><span class="lineno"> 3425</span> <span class="keywordflow">if</span> (NULL==(acoefsclean=(<span class="keywordtype">float</span>*) cpl_calloc(nc , <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>))) )</div>
-<div class="line"><a name="l03426"></a><span class="lineno"> 3426</span> {</div>
-<div class="line"><a name="l03427"></a><span class="lineno"> 3427</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"could not allocate memory for acoefsclean!"</span>);</div>
-<div class="line"><a name="l03428"></a><span class="lineno"> 3428</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03429"></a><span class="lineno"> 3429</span> }</div>
-<div class="line"><a name="l03430"></a><span class="lineno"> 3430</span> nc = 0 ;</div>
-<div class="line"><a name="l03431"></a><span class="lineno"> 3431</span> <span class="keywordflow">for</span> ( i = ed1 ; i < ed2 ; i++ )</div>
-<div class="line"><a name="l03432"></a><span class="lineno"> 3432</span> {</div>
-<div class="line"><a name="l03433"></a><span class="lineno"> 3433</span> <span class="keywordflow">if</span> ( isnan(acoefs[loc_index][i]) || </div>
-<div class="line"><a name="l03434"></a><span class="lineno"> 3434</span> acoefs[loc_index][i] == 0. || </div>
-<div class="line"><a name="l03435"></a><span class="lineno"> 3435</span> dacoefs[loc_index][i] == 0. )</div>
-<div class="line"><a name="l03436"></a><span class="lineno"> 3436</span> {</div>
-<div class="line"><a name="l03437"></a><span class="lineno"> 3437</span> continue ;</div>
-<div class="line"><a name="l03438"></a><span class="lineno"> 3438</span> }</div>
-<div class="line"><a name="l03439"></a><span class="lineno"> 3439</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03440"></a><span class="lineno"> 3440</span> {</div>
-<div class="line"><a name="l03441"></a><span class="lineno"> 3441</span> acoefsclean[nc] = acoefs[loc_index][i] ;</div>
-<div class="line"><a name="l03442"></a><span class="lineno"> 3442</span> nc++ ;</div>
-<div class="line"><a name="l03443"></a><span class="lineno"> 3443</span> }</div>
-<div class="line"><a name="l03444"></a><span class="lineno"> 3444</span> }</div>
-<div class="line"><a name="l03445"></a><span class="lineno"> 3445</span> </div>
-<div class="line"><a name="l03446"></a><span class="lineno"> 3446</span> <span class="comment">/* ----------------------------------------------------------</span></div>
-<div class="line"><a name="l03447"></a><span class="lineno"> 3447</span> <span class="comment"> * determine the clean mean and sigma value of the coefficients,</span></div>
-<div class="line"><a name="l03448"></a><span class="lineno"> 3448</span> <span class="comment"> * that means reject 10 % of the extreme low and high values</span></div>
-<div class="line"><a name="l03449"></a><span class="lineno"> 3449</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l03450"></a><span class="lineno"> 3450</span> sinfo_pixel_qsort(acoefsclean, nc) ;</div>
-<div class="line"><a name="l03451"></a><span class="lineno"> 3451</span> </div>
-<div class="line"><a name="l03452"></a><span class="lineno"> 3452</span> sum = 0. ;</div>
-<div class="line"><a name="l03453"></a><span class="lineno"> 3453</span> sumq = 0. ;</div>
-<div class="line"><a name="l03454"></a><span class="lineno"> 3454</span> mean = 0. ;</div>
-<div class="line"><a name="l03455"></a><span class="lineno"> 3455</span> sigma = 0. ;</div>
-<div class="line"><a name="l03456"></a><span class="lineno"> 3456</span> n = 0 ;</div>
-<div class="line"><a name="l03457"></a><span class="lineno"> 3457</span> <span class="keywordflow">for</span> ( i = (<span class="keywordtype">int</span>)((<span class="keywordtype">float</span>)nc*LOW_REJECT) ; </div>
-<div class="line"><a name="l03458"></a><span class="lineno"> 3458</span> i < (int)((<span class="keywordtype">float</span>)nc*HIGH_REJECT) ; i++ )</div>
-<div class="line"><a name="l03459"></a><span class="lineno"> 3459</span> {</div>
-<div class="line"><a name="l03460"></a><span class="lineno"> 3460</span> sum += (double)acoefsclean[i] ;</div>
-<div class="line"><a name="l03461"></a><span class="lineno"> 3461</span> sumq += ((double)acoefsclean[i] * (<span class="keywordtype">double</span>)acoefsclean[i]) ;</div>
-<div class="line"><a name="l03462"></a><span class="lineno"> 3462</span> n ++ ;</div>
-<div class="line"><a name="l03463"></a><span class="lineno"> 3463</span> }</div>
-<div class="line"><a name="l03464"></a><span class="lineno"> 3464</span> mean = sum/(double)n ;</div>
-<div class="line"><a name="l03465"></a><span class="lineno"> 3465</span> sigma = sqrt( sumq/(<span class="keywordtype">double</span>)n - (mean * mean) ) ;</div>
-<div class="line"><a name="l03466"></a><span class="lineno"> 3466</span> cliphi = mean + sigma * (double)sigma_factor ;</div>
-<div class="line"><a name="l03467"></a><span class="lineno"> 3467</span> cliplo = mean - sigma * (double)sigma_factor ;</div>
-<div class="line"><a name="l03468"></a><span class="lineno"> 3468</span> <span class="comment">/* fit only the reasonnable values */</span></div>
-<div class="line"><a name="l03469"></a><span class="lineno"> 3469</span> num = 0 ;</div>
-<div class="line"><a name="l03470"></a><span class="lineno"> 3470</span> col_index = 0 ;</div>
-<div class="line"><a name="l03471"></a><span class="lineno"> 3471</span> <span class="keywordflow">for</span> ( i = ed1 ; i < ed2 ; i++ )</div>
-<div class="line"><a name="l03472"></a><span class="lineno"> 3472</span> {</div>
-<div class="line"><a name="l03473"></a><span class="lineno"> 3473</span> <span class="comment">/* take only the reasonnable coefficients */</span></div>
-<div class="line"><a name="l03474"></a><span class="lineno"> 3474</span> <span class="keywordflow">if</span> ( !isnan(acoefs[loc_index][i]) && </div>
-<div class="line"><a name="l03475"></a><span class="lineno"> 3475</span> (acoefs[loc_index][i] <= cliphi) && </div>
-<div class="line"><a name="l03476"></a><span class="lineno"> 3476</span> (acoefs[loc_index][i] >= cliplo) &&</div>
-<div class="line"><a name="l03477"></a><span class="lineno"> 3477</span> (dacoefs[loc_index][i] != 0. ) && </div>
-<div class="line"><a name="l03478"></a><span class="lineno"> 3478</span> (acoefs[loc_index][i] != 0.) )</div>
-<div class="line"><a name="l03479"></a><span class="lineno"> 3479</span> {</div>
-<div class="line"><a name="l03480"></a><span class="lineno"> 3480</span> sub_acoefs[num] = acoefs[loc_index][i] ;</div>
-<div class="line"><a name="l03481"></a><span class="lineno"> 3481</span> sub_dacoefs[num] = dacoefs[loc_index][i] ;</div>
-<div class="line"><a name="l03482"></a><span class="lineno"> 3482</span> sub_col_index[num] = col_index ;</div>
-<div class="line"><a name="l03483"></a><span class="lineno"> 3483</span> num ++ ;</div>
-<div class="line"><a name="l03484"></a><span class="lineno"> 3484</span> }</div>
-<div class="line"><a name="l03485"></a><span class="lineno"> 3485</span> col_index++ ;</div>
-<div class="line"><a name="l03486"></a><span class="lineno"> 3486</span> }</div>
-<div class="line"><a name="l03487"></a><span class="lineno"> 3487</span> ndata = num ;</div>
-<div class="line"><a name="l03488"></a><span class="lineno"> 3488</span> offset = (float)(col_index-1) / 2. ;</div>
-<div class="line"><a name="l03489"></a><span class="lineno"> 3489</span> </div>
-<div class="line"><a name="l03490"></a><span class="lineno"> 3490</span> <span class="keywordflow">if</span> ( ndata < bco->n_bcoeffs )</div>
-<div class="line"><a name="l03491"></a><span class="lineno"> 3491</span> {</div>
-<div class="line"><a name="l03492"></a><span class="lineno"> 3492</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" not enough data found in slitlet %da"</span></div>
-<div class="line"><a name="l03493"></a><span class="lineno"> 3493</span> <span class="stringliteral">" to determine the fit coefficients.\n"</span>, ns) ;</div>
-<div class="line"><a name="l03494"></a><span class="lineno"> 3494</span> cpl_free(acoefsclean) ;</div>
-<div class="line"><a name="l03495"></a><span class="lineno"> 3495</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l03496"></a><span class="lineno"> 3496</span> }</div>
-<div class="line"><a name="l03497"></a><span class="lineno"> 3497</span> </div>
-<div class="line"><a name="l03498"></a><span class="lineno"> 3498</span> <span class="comment">/* allocate coefficient matrices */</span></div>
-<div class="line"><a name="l03499"></a><span class="lineno"> 3499</span> ucoefs = sinfo_matrix(1, ndata, 1, bco->n_bcoeffs) ;</div>
-<div class="line"><a name="l03500"></a><span class="lineno"> 3500</span> vcoefs = sinfo_matrix(1, ndata, 1, bco->n_bcoeffs) ;</div>
-<div class="line"><a name="l03501"></a><span class="lineno"> 3501</span> covar = sinfo_matrix(1, bco->n_bcoeffs, 1, bco->n_bcoeffs) ;</div>
-<div class="line"><a name="l03502"></a><span class="lineno"> 3502</span> </div>
-<div class="line"><a name="l03503"></a><span class="lineno"> 3503</span> <span class="comment">/* scale the x-values for the fit */</span></div>
-<div class="line"><a name="l03504"></a><span class="lineno"> 3504</span> <span class="keywordflow">for</span> ( i = 0 ; i < ndata ; i++ )</div>
-<div class="line"><a name="l03505"></a><span class="lineno"> 3505</span> {</div>
-<div class="line"><a name="l03506"></a><span class="lineno"> 3506</span> sub_col_index[i] = (sub_col_index[i] - offset) / offset ;</div>
-<div class="line"><a name="l03507"></a><span class="lineno"> 3507</span> }</div>
-<div class="line"><a name="l03508"></a><span class="lineno"> 3508</span> </div>
-<div class="line"><a name="l03509"></a><span class="lineno"> 3509</span> <span class="comment">/* finally, do the singular value decomposition fit */</span></div>
-<div class="line"><a name="l03510"></a><span class="lineno"> 3510</span> sinfo_svd_fitting ( sub_col_index-1, sub_acoefs-1, </div>
-<div class="line"><a name="l03511"></a><span class="lineno"> 3511</span> sub_dacoefs-1, ndata, bco[ns].b[loc_index]-1,</div>
-<div class="line"><a name="l03512"></a><span class="lineno"> 3512</span> bco->n_bcoeffs, ucoefs, vcoefs, wcoefs-1, </div>
-<div class="line"><a name="l03513"></a><span class="lineno"> 3513</span> covar, &chisq[ns], sinfo_fpol ) ;</div>
-<div class="line"><a name="l03514"></a><span class="lineno"> 3514</span> </div>
-<div class="line"><a name="l03515"></a><span class="lineno"> 3515</span> <span class="comment">/* scale the found coefficients */</span></div>
-<div class="line"><a name="l03516"></a><span class="lineno"> 3516</span> <span class="keywordflow">for</span> ( i = 0 ; i < bco->n_bcoeffs ; i ++ )</div>
-<div class="line"><a name="l03517"></a><span class="lineno"> 3517</span> {</div>
-<div class="line"><a name="l03518"></a><span class="lineno"> 3518</span> bco[ns].b[loc_index][i] /= pow( offset, i ) ;</div>
-<div class="line"><a name="l03519"></a><span class="lineno"> 3519</span> }</div>
-<div class="line"><a name="l03520"></a><span class="lineno"> 3520</span> </div>
-<div class="line"><a name="l03521"></a><span class="lineno"> 3521</span> <span class="comment">/* free memory */</span></div>
-<div class="line"><a name="l03522"></a><span class="lineno"> 3522</span> cpl_free (acoefsclean) ;</div>
-<div class="line"><a name="l03523"></a><span class="lineno"> 3523</span> sinfo_free_matrix( ucoefs, 1<span class="comment">/*, ndata*/</span>, 1<span class="comment">/*, bco->n_bcoeffs */</span>) ;</div>
-<div class="line"><a name="l03524"></a><span class="lineno"> 3524</span> sinfo_free_matrix( vcoefs, 1<span class="comment">/*, ndata*/</span>, 1<span class="comment">/*, bco->n_bcoeffs */</span>) ;</div>
-<div class="line"><a name="l03525"></a><span class="lineno"> 3525</span> sinfo_free_matrix( covar, 1<span class="comment">/*, bco->n_bcoeffs*/</span>, </div>
-<div class="line"><a name="l03526"></a><span class="lineno"> 3526</span> 1<span class="comment">/*, bco->n_bcoeffs */</span>) ;</div>
-<div class="line"><a name="l03527"></a><span class="lineno"> 3527</span> </div>
-<div class="line"><a name="l03528"></a><span class="lineno"> 3528</span> <span class="comment">/* now calculate the smoothed acoefs for each column */</span></div>
-<div class="line"><a name="l03529"></a><span class="lineno"> 3529</span> col_index = 0 ;</div>
-<div class="line"><a name="l03530"></a><span class="lineno"> 3530</span> <span class="keywordflow">for</span> ( i = ed1 ; i < ed2 ; i++ )</div>
-<div class="line"><a name="l03531"></a><span class="lineno"> 3531</span> {</div>
-<div class="line"><a name="l03532"></a><span class="lineno"> 3532</span> acoefs[loc_index][i] = 0. ;</div>
-<div class="line"><a name="l03533"></a><span class="lineno"> 3533</span> <span class="keywordflow">for</span> ( n = 0 ; n < bco->n_bcoeffs ; n++ )</div>
-<div class="line"><a name="l03534"></a><span class="lineno"> 3534</span> {</div>
-<div class="line"><a name="l03535"></a><span class="lineno"> 3535</span> acoefs[loc_index][i] += bco[ns].b[loc_index][n] * </div>
-<div class="line"><a name="l03536"></a><span class="lineno"> 3536</span> pow(col_index - offset, n) ;</div>
-<div class="line"><a name="l03537"></a><span class="lineno"> 3537</span> }</div>
-<div class="line"><a name="l03538"></a><span class="lineno"> 3538</span> col_index++ ;</div>
-<div class="line"><a name="l03539"></a><span class="lineno"> 3539</span> }</div>
-<div class="line"><a name="l03540"></a><span class="lineno"> 3540</span> </div>
-<div class="line"><a name="l03541"></a><span class="lineno"> 3541</span> }</div>
-<div class="line"><a name="l03542"></a><span class="lineno"> 3542</span> }</div>
-<div class="line"><a name="l03543"></a><span class="lineno"> 3543</span> </div>
-<div class="line"><a name="l03544"></a><span class="lineno"> 3544</span> </div>
-<div class="line"><a name="l03545"></a><span class="lineno"> 3545</span> cpl_free(edge) ;</div>
-<div class="line"><a name="l03546"></a><span class="lineno"> 3546</span> cpl_free(sub_col_index) ;</div>
-<div class="line"><a name="l03547"></a><span class="lineno"> 3547</span> cpl_free(sub_acoefs);</div>
-<div class="line"><a name="l03548"></a><span class="lineno"> 3548</span> cpl_free(sub_dacoefs) ;</div>
-<div class="line"><a name="l03549"></a><span class="lineno"> 3549</span> cpl_free(wcoefs) ;</div>
-<div class="line"><a name="l03550"></a><span class="lineno"> 3550</span> </div>
-<div class="line"><a name="l03551"></a><span class="lineno"> 3551</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l03552"></a><span class="lineno"> 3552</span> }</div>
-<div class="line"><a name="l03553"></a><span class="lineno"> 3553</span> </div>
-<div class="line"><a name="l03554"></a><span class="lineno"> 3554</span> </div>
-<div class="line"><a name="l03603"></a><span class="lineno"> 3603</span> cpl_image * sinfo_new_spred_wave_cal( cpl_image * image,</div>
-<div class="line"><a name="l03604"></a><span class="lineno"> 3604</span> FitParams ** par ,</div>
-<div class="line"><a name="l03605"></a><span class="lineno"> 3605</span> <span class="keywordtype">float</span> ** abuf,</div>
-<div class="line"><a name="l03606"></a><span class="lineno"> 3606</span> <span class="keywordtype">int</span> n_slitlets,</div>
-<div class="line"><a name="l03607"></a><span class="lineno"> 3607</span> <span class="keywordtype">int</span> ** row_clean,</div>
-<div class="line"><a name="l03608"></a><span class="lineno"> 3608</span> <span class="keywordtype">float</span> ** wavelength_clean,</div>
-<div class="line"><a name="l03609"></a><span class="lineno"> 3609</span> <span class="keywordtype">int</span> * n_found_lines,</div>
-<div class="line"><a name="l03610"></a><span class="lineno"> 3610</span> <span class="keywordtype">float</span> dispersion,</div>
-<div class="line"><a name="l03611"></a><span class="lineno"> 3611</span> <span class="keywordtype">int</span> halfWidth,</div>
-<div class="line"><a name="l03612"></a><span class="lineno"> 3612</span> <span class="keywordtype">float</span> minAmplitude,</div>
-<div class="line"><a name="l03613"></a><span class="lineno"> 3613</span> <span class="keywordtype">float</span> max_residual,</div>
-<div class="line"><a name="l03614"></a><span class="lineno"> 3614</span> <span class="keywordtype">float</span> fwhm,</div>
-<div class="line"><a name="l03615"></a><span class="lineno"> 3615</span> <span class="keywordtype">int</span> n_a_fitcoefs,</div>
-<div class="line"><a name="l03616"></a><span class="lineno"> 3616</span> <span class="keywordtype">int</span> n_b_fitcoefs,</div>
-<div class="line"><a name="l03617"></a><span class="lineno"> 3617</span> <span class="keywordtype">float</span> sigmaFactor,</div>
-<div class="line"><a name="l03618"></a><span class="lineno"> 3618</span> <span class="keywordtype">float</span> pixel_dist,</div>
-<div class="line"><a name="l03619"></a><span class="lineno"> 3619</span> <span class="keywordtype">float</span> pixel_tolerance,</div>
-<div class="line"><a name="l03620"></a><span class="lineno"> 3620</span> <span class="keywordtype">float</span> ** sinfo_slit_pos)</div>
-<div class="line"><a name="l03621"></a><span class="lineno"> 3621</span> </div>
-<div class="line"><a name="l03622"></a><span class="lineno"> 3622</span> </div>
-<div class="line"><a name="l03623"></a><span class="lineno"> 3623</span> {</div>
-<div class="line"><a name="l03624"></a><span class="lineno"> 3624</span> <span class="keywordtype">int</span> i, j, k ;</div>
-<div class="line"><a name="l03625"></a><span class="lineno"> 3625</span> <span class="keywordtype">int</span> n_fit ;</div>
-<div class="line"><a name="l03626"></a><span class="lineno"> 3626</span> <span class="keywordtype">int</span> n_reject ;</div>
-<div class="line"><a name="l03627"></a><span class="lineno"> 3627</span> <span class="keywordtype">float</span> * acoefs ;</div>
-<div class="line"><a name="l03628"></a><span class="lineno"> 3628</span> <span class="keywordtype">float</span> * dacoefs ;</div>
-<div class="line"><a name="l03629"></a><span class="lineno"> 3629</span> <span class="keywordtype">float</span> ** dabuf ;</div>
-<div class="line"><a name="l03630"></a><span class="lineno"> 3630</span> <span class="keywordtype">float</span> chisq_poly ;</div>
-<div class="line"><a name="l03631"></a><span class="lineno"> 3631</span> <span class="keywordtype">float</span> * chisq_cross ;</div>
-<div class="line"><a name="l03632"></a><span class="lineno"> 3632</span> <span class="keywordtype">int</span> zeroind ;</div>
-<div class="line"><a name="l03633"></a><span class="lineno"> 3633</span> <span class="keywordtype">int</span> crossInd ;</div>
-<div class="line"><a name="l03634"></a><span class="lineno"> 3634</span> Bcoeffs * bco ;</div>
-<div class="line"><a name="l03635"></a><span class="lineno"> 3635</span> cpl_image * wavemap ;</div>
-<div class="line"><a name="l03636"></a><span class="lineno"> 3636</span> <span class="keywordtype">int</span> ilx=0;</div>
-<div class="line"><a name="l03637"></a><span class="lineno"> 3637</span> <span class="keywordtype">int</span> ily=0;</div>
-<div class="line"><a name="l03638"></a><span class="lineno"> 3638</span> <span class="keywordtype">float</span>* pidata=NULL;</div>
-<div class="line"><a name="l03639"></a><span class="lineno"> 3639</span> </div>
-<div class="line"><a name="l03640"></a><span class="lineno"> 3640</span> </div>
-<div class="line"><a name="l03641"></a><span class="lineno"> 3641</span> <span class="keywordflow">if</span> ( NULL == image )</div>
-<div class="line"><a name="l03642"></a><span class="lineno"> 3642</span> {</div>
-<div class="line"><a name="l03643"></a><span class="lineno"> 3643</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no image given\n"</span>) ;</div>
-<div class="line"><a name="l03644"></a><span class="lineno"> 3644</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03645"></a><span class="lineno"> 3645</span> }</div>
-<div class="line"><a name="l03646"></a><span class="lineno"> 3646</span> ilx=cpl_image_get_size_x(image);</div>
-<div class="line"><a name="l03647"></a><span class="lineno"> 3647</span> ily=cpl_image_get_size_y(image);</div>
-<div class="line"><a name="l03648"></a><span class="lineno"> 3648</span> pidata=cpl_image_get_data_float(image);</div>
-<div class="line"><a name="l03649"></a><span class="lineno"> 3649</span> </div>
-<div class="line"><a name="l03650"></a><span class="lineno"> 3650</span> <span class="keywordflow">if</span> ( par == NULL )</div>
-<div class="line"><a name="l03651"></a><span class="lineno"> 3651</span> {</div>
-<div class="line"><a name="l03652"></a><span class="lineno"> 3652</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no fit parameter data structure given\n"</span>) ;</div>
-<div class="line"><a name="l03653"></a><span class="lineno"> 3653</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03654"></a><span class="lineno"> 3654</span> }</div>
-<div class="line"><a name="l03655"></a><span class="lineno"> 3655</span> <span class="keywordflow">if</span> ( abuf == NULL )</div>
-<div class="line"><a name="l03656"></a><span class="lineno"> 3656</span> {</div>
-<div class="line"><a name="l03657"></a><span class="lineno"> 3657</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no buffer for fit coefficients given\n"</span>) ;</div>
-<div class="line"><a name="l03658"></a><span class="lineno"> 3658</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03659"></a><span class="lineno"> 3659</span> }</div>
-<div class="line"><a name="l03660"></a><span class="lineno"> 3660</span> <span class="keywordflow">if</span> ( n_slitlets <= 0 )</div>
-<div class="line"><a name="l03661"></a><span class="lineno"> 3661</span> {</div>
-<div class="line"><a name="l03662"></a><span class="lineno"> 3662</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" impossible number of slitlets given\n"</span>) ;</div>
-<div class="line"><a name="l03663"></a><span class="lineno"> 3663</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03664"></a><span class="lineno"> 3664</span> }</div>
-<div class="line"><a name="l03665"></a><span class="lineno"> 3665</span> <span class="keywordflow">if</span> ( row_clean == NULL )</div>
-<div class="line"><a name="l03666"></a><span class="lineno"> 3666</span> {</div>
-<div class="line"><a name="l03667"></a><span class="lineno"> 3667</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no row_clean array given\n"</span>) ;</div>
-<div class="line"><a name="l03668"></a><span class="lineno"> 3668</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03669"></a><span class="lineno"> 3669</span> }</div>
-<div class="line"><a name="l03670"></a><span class="lineno"> 3670</span> <span class="keywordflow">if</span> ( wavelength_clean == NULL )</div>
-<div class="line"><a name="l03671"></a><span class="lineno"> 3671</span> {</div>
-<div class="line"><a name="l03672"></a><span class="lineno"> 3672</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" no wavelength_clean array given\n"</span>) ;</div>
-<div class="line"><a name="l03673"></a><span class="lineno"> 3673</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03674"></a><span class="lineno"> 3674</span> }</div>
-<div class="line"><a name="l03675"></a><span class="lineno"> 3675</span> </div>
-<div class="line"><a name="l03676"></a><span class="lineno"> 3676</span> <span class="keywordflow">if</span> ( dispersion == 0. )</div>
-<div class="line"><a name="l03677"></a><span class="lineno"> 3677</span> {</div>
-<div class="line"><a name="l03678"></a><span class="lineno"> 3678</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" impossible dispersion given\n"</span>) ;</div>
-<div class="line"><a name="l03679"></a><span class="lineno"> 3679</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03680"></a><span class="lineno"> 3680</span> }</div>
-<div class="line"><a name="l03681"></a><span class="lineno"> 3681</span> </div>
-<div class="line"><a name="l03682"></a><span class="lineno"> 3682</span> <span class="keywordflow">if</span> ( halfWidth <= 0 || halfWidth > ily/2 )</div>
-<div class="line"><a name="l03683"></a><span class="lineno"> 3683</span> {</div>
-<div class="line"><a name="l03684"></a><span class="lineno"> 3684</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" impossible half width of the fitting box given\n"</span>) ;</div>
-<div class="line"><a name="l03685"></a><span class="lineno"> 3685</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03686"></a><span class="lineno"> 3686</span> }</div>
-<div class="line"><a name="l03687"></a><span class="lineno"> 3687</span> <span class="keywordflow">if</span> ( minAmplitude < 1. )</div>
-<div class="line"><a name="l03688"></a><span class="lineno"> 3688</span> {</div>
-<div class="line"><a name="l03689"></a><span class="lineno"> 3689</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" impossible minimal amplitude\n"</span>) ;</div>
-<div class="line"><a name="l03690"></a><span class="lineno"> 3690</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03691"></a><span class="lineno"> 3691</span> }</div>
-<div class="line"><a name="l03692"></a><span class="lineno"> 3692</span> </div>
-<div class="line"><a name="l03693"></a><span class="lineno"> 3693</span> <span class="keywordflow">if</span> ( max_residual <= 0. || max_residual > 1. )</div>
-<div class="line"><a name="l03694"></a><span class="lineno"> 3694</span> {</div>
-<div class="line"><a name="l03695"></a><span class="lineno"> 3695</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" impossible max_residual given\n"</span>) ;</div>
-<div class="line"><a name="l03696"></a><span class="lineno"> 3696</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03697"></a><span class="lineno"> 3697</span> }</div>
-<div class="line"><a name="l03698"></a><span class="lineno"> 3698</span> <span class="keywordflow">if</span> ( fwhm <= 0. || fwhm > 10. )</div>
-<div class="line"><a name="l03699"></a><span class="lineno"> 3699</span> {</div>
-<div class="line"><a name="l03700"></a><span class="lineno"> 3700</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" impossible fwhm given\n"</span>) ;</div>
-<div class="line"><a name="l03701"></a><span class="lineno"> 3701</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03702"></a><span class="lineno"> 3702</span> }</div>
-<div class="line"><a name="l03703"></a><span class="lineno"> 3703</span> </div>
-<div class="line"><a name="l03704"></a><span class="lineno"> 3704</span> <span class="keywordflow">if</span> ( n_a_fitcoefs <= 0 || n_a_fitcoefs > 9 )</div>
-<div class="line"><a name="l03705"></a><span class="lineno"> 3705</span> {</div>
-<div class="line"><a name="l03706"></a><span class="lineno"> 3706</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" unrealistic n_a_fitcoefs given\n"</span>) ;</div>
-<div class="line"><a name="l03707"></a><span class="lineno"> 3707</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03708"></a><span class="lineno"> 3708</span> }</div>
-<div class="line"><a name="l03709"></a><span class="lineno"> 3709</span> </div>
-<div class="line"><a name="l03710"></a><span class="lineno"> 3710</span> <span class="keywordflow">if</span> ( n_b_fitcoefs <= 0 || n_b_fitcoefs > 9 )</div>
-<div class="line"><a name="l03711"></a><span class="lineno"> 3711</span> {</div>
-<div class="line"><a name="l03712"></a><span class="lineno"> 3712</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" unrealistic n_b_fitcoefs given\n"</span>) ;</div>
-<div class="line"><a name="l03713"></a><span class="lineno"> 3713</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03714"></a><span class="lineno"> 3714</span> }</div>
-<div class="line"><a name="l03715"></a><span class="lineno"> 3715</span> <span class="keywordflow">if</span> ( sigmaFactor <= 0. )</div>
-<div class="line"><a name="l03716"></a><span class="lineno"> 3716</span> {</div>
-<div class="line"><a name="l03717"></a><span class="lineno"> 3717</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" impossible sigmaFactor given\n"</span>) ;</div>
-<div class="line"><a name="l03718"></a><span class="lineno"> 3718</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03719"></a><span class="lineno"> 3719</span> }</div>
-<div class="line"><a name="l03720"></a><span class="lineno"> 3720</span> </div>
-<div class="line"><a name="l03721"></a><span class="lineno"> 3721</span> <span class="comment">/* initialize the variables */</span></div>
-<div class="line"><a name="l03722"></a><span class="lineno"> 3722</span> n_reject = 0 ;</div>
-<div class="line"><a name="l03723"></a><span class="lineno"> 3723</span> n_fit = 0 ;</div>
-<div class="line"><a name="l03724"></a><span class="lineno"> 3724</span> </div>
-<div class="line"><a name="l03725"></a><span class="lineno"> 3725</span> <span class="comment">/* fit each found line by using a sinfo_gaussian function and </span></div>
-<div class="line"><a name="l03726"></a><span class="lineno"> 3726</span> <span class="comment"> determine the exact position */</span></div>
-<div class="line"><a name="l03727"></a><span class="lineno"> 3727</span> <span class="keywordflow">if</span> ( 0 > (n_fit = sinfo_new_fit_lines( image , par, fwhm, n_found_lines, </div>
-<div class="line"><a name="l03728"></a><span class="lineno"> 3728</span> row_clean, wavelength_clean,</div>
-<div class="line"><a name="l03729"></a><span class="lineno"> 3729</span> halfWidth, minAmplitude )) )</div>
-<div class="line"><a name="l03730"></a><span class="lineno"> 3730</span> {</div>
-<div class="line"><a name="l03731"></a><span class="lineno"> 3731</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" cannot fit the lines, error code of "</span></div>
-<div class="line"><a name="l03732"></a><span class="lineno"> 3732</span> <span class="stringliteral">"sinfo_fitLines: %d"</span>, n_fit) ;</div>
-<div class="line"><a name="l03733"></a><span class="lineno"> 3733</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03734"></a><span class="lineno"> 3734</span> }</div>
-<div class="line"><a name="l03735"></a><span class="lineno"> 3735</span> </div>
-<div class="line"><a name="l03736"></a><span class="lineno"> 3736</span> <span class="comment">/* first check for faked lines like bad pixels */</span></div>
-<div class="line"><a name="l03737"></a><span class="lineno"> 3737</span> <span class="keywordflow">if</span> ( -1 == sinfo_new_check_for_fake_lines (par, </div>
-<div class="line"><a name="l03738"></a><span class="lineno"> 3738</span> dispersion, </div>
-<div class="line"><a name="l03739"></a><span class="lineno"> 3739</span> wavelength_clean, </div>
-<div class="line"><a name="l03740"></a><span class="lineno"> 3740</span> row_clean, </div>
-<div class="line"><a name="l03741"></a><span class="lineno"> 3741</span> n_found_lines,</div>
-<div class="line"><a name="l03742"></a><span class="lineno"> 3742</span> ilx, </div>
-<div class="line"><a name="l03743"></a><span class="lineno"> 3743</span> pixel_tolerance) )</div>
-<div class="line"><a name="l03744"></a><span class="lineno"> 3744</span> {</div>
-<div class="line"><a name="l03745"></a><span class="lineno"> 3745</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" cannot fit the lines, error code of "</span></div>
-<div class="line"><a name="l03746"></a><span class="lineno"> 3746</span> <span class="stringliteral">" sinfo_fitLines: %d\n"</span>, n_fit) ;</div>
-<div class="line"><a name="l03747"></a><span class="lineno"> 3747</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03748"></a><span class="lineno"> 3748</span> }</div>
-<div class="line"><a name="l03749"></a><span class="lineno"> 3749</span> </div>
-<div class="line"><a name="l03750"></a><span class="lineno"> 3750</span> </div>
-<div class="line"><a name="l03751"></a><span class="lineno"> 3751</span> <span class="comment">/* allocate memory */</span></div>
-<div class="line"><a name="l03752"></a><span class="lineno"> 3752</span> <span class="keywordflow">if</span> (NULL==(acoefs = (<span class="keywordtype">float</span>*) cpl_calloc (n_a_fitcoefs, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>))) ||</div>
-<div class="line"><a name="l03753"></a><span class="lineno"> 3753</span> NULL==(dacoefs = (<span class="keywordtype">float</span>*) cpl_calloc (n_a_fitcoefs, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>))) ||</div>
-<div class="line"><a name="l03754"></a><span class="lineno"> 3754</span> NULL==(dabuf = (<span class="keywordtype">float</span>**) cpl_calloc (n_a_fitcoefs, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>*))) ||</div>
-<div class="line"><a name="l03755"></a><span class="lineno"> 3755</span> NULL==(chisq_cross = (<span class="keywordtype">float</span>*) cpl_calloc(n_slitlets, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>))) )</div>
-<div class="line"><a name="l03756"></a><span class="lineno"> 3756</span> {</div>
-<div class="line"><a name="l03757"></a><span class="lineno"> 3757</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" cannot allocate memory\n"</span>) ;</div>
-<div class="line"><a name="l03758"></a><span class="lineno"> 3758</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03759"></a><span class="lineno"> 3759</span> }</div>
-<div class="line"><a name="l03760"></a><span class="lineno"> 3760</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_a_fitcoefs ; i++ )</div>
-<div class="line"><a name="l03761"></a><span class="lineno"> 3761</span> {</div>
-<div class="line"><a name="l03762"></a><span class="lineno"> 3762</span> <span class="keywordflow">if</span> ( NULL == (dabuf[i] = (<span class="keywordtype">float</span>*) cpl_calloc(ilx, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>))) )</div>
-<div class="line"><a name="l03763"></a><span class="lineno"> 3763</span> {</div>
-<div class="line"><a name="l03764"></a><span class="lineno"> 3764</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">" cannot allocate memory\n"</span>) ;</div>
-<div class="line"><a name="l03765"></a><span class="lineno"> 3765</span> cpl_free ( acoefs ) ;</div>
-<div class="line"><a name="l03766"></a><span class="lineno"> 3766</span> cpl_free ( dacoefs ) ;</div>
-<div class="line"><a name="l03767"></a><span class="lineno"> 3767</span> cpl_free ( chisq_cross ) ;</div>
-<div class="line"><a name="l03768"></a><span class="lineno"> 3768</span> cpl_free(dabuf) ;</div>
-<div class="line"><a name="l03769"></a><span class="lineno"> 3769</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03770"></a><span class="lineno"> 3770</span> }</div>
-<div class="line"><a name="l03771"></a><span class="lineno"> 3771</span> }</div>
-<div class="line"><a name="l03772"></a><span class="lineno"> 3772</span> </div>
-<div class="line"><a name="l03773"></a><span class="lineno"> 3773</span> <span class="comment">/* fit wavelengths to the corresponding found positions for each column */</span></div>
-<div class="line"><a name="l03774"></a><span class="lineno"> 3774</span> k = 0 ;</div>
-<div class="line"><a name="l03775"></a><span class="lineno"> 3775</span> <span class="keywordflow">for</span> ( i = 0 ; i < ilx ; i++ )</div>
-<div class="line"><a name="l03776"></a><span class="lineno"> 3776</span> {</div>
-<div class="line"><a name="l03777"></a><span class="lineno"> 3777</span> zeroind = 0 ;</div>
-<div class="line"><a name="l03778"></a><span class="lineno"> 3778</span> <span class="keywordflow">if</span> ( FLT_MAX == (chisq_poly = sinfo_new_polyfit( par, i, </div>
-<div class="line"><a name="l03779"></a><span class="lineno"> 3779</span> n_found_lines[i], </div>
-<div class="line"><a name="l03780"></a><span class="lineno"> 3780</span> ily, dispersion,</div>
-<div class="line"><a name="l03781"></a><span class="lineno"> 3781</span> max_residual, acoefs,</div>
-<div class="line"><a name="l03782"></a><span class="lineno"> 3782</span> dacoefs, &n_reject, </div>
-<div class="line"><a name="l03783"></a><span class="lineno"> 3783</span> n_a_fitcoefs)) )</div>
-<div class="line"><a name="l03784"></a><span class="lineno"> 3784</span> {</div>
-<div class="line"><a name="l03785"></a><span class="lineno"> 3785</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a> (<span class="stringliteral">" error in sinfo_polyfit in column: %d\n"</span>, i) ;</div>
-<div class="line"><a name="l03786"></a><span class="lineno"> 3786</span> <span class="keywordflow">for</span> ( j = 0 ; j < n_a_fitcoefs ; j++ )</div>
-<div class="line"><a name="l03787"></a><span class="lineno"> 3787</span> {</div>
-<div class="line"><a name="l03788"></a><span class="lineno"> 3788</span> acoefs[j] = ZERO ;</div>
-<div class="line"><a name="l03789"></a><span class="lineno"> 3789</span> dacoefs[j] = ZERO ;</div>
-<div class="line"><a name="l03790"></a><span class="lineno"> 3790</span> }</div>
-<div class="line"><a name="l03791"></a><span class="lineno"> 3791</span> }</div>
-<div class="line"><a name="l03792"></a><span class="lineno"> 3792</span> </div>
-<div class="line"><a name="l03793"></a><span class="lineno"> 3793</span> <span class="keywordflow">for</span> ( j = 0 ; j < n_a_fitcoefs ; j++ )</div>
-<div class="line"><a name="l03794"></a><span class="lineno"> 3794</span> {</div>
-<div class="line"><a name="l03795"></a><span class="lineno"> 3795</span> </div>
-<div class="line"><a name="l03796"></a><span class="lineno"> 3796</span> <span class="keywordflow">if</span> ( acoefs[0] <= 0. || acoefs[1] ==0. ||</div>
-<div class="line"><a name="l03797"></a><span class="lineno"> 3797</span> dacoefs[j] == 0. || isnan(acoefs[j]) )</div>
-<div class="line"><a name="l03798"></a><span class="lineno"> 3798</span> {</div>
-<div class="line"><a name="l03799"></a><span class="lineno"> 3799</span> zeroind = 1 ;</div>
-<div class="line"><a name="l03800"></a><span class="lineno"> 3800</span> }</div>
-<div class="line"><a name="l03801"></a><span class="lineno"> 3801</span> }</div>
-<div class="line"><a name="l03802"></a><span class="lineno"> 3802</span> <span class="keywordflow">for</span> ( j = 0 ; j < n_a_fitcoefs ; j++ )</div>
-<div class="line"><a name="l03803"></a><span class="lineno"> 3803</span> {</div>
-<div class="line"><a name="l03804"></a><span class="lineno"> 3804</span> <span class="keywordflow">if</span> ( zeroind == 0 )</div>
-<div class="line"><a name="l03805"></a><span class="lineno"> 3805</span> {</div>
-<div class="line"><a name="l03806"></a><span class="lineno"> 3806</span> abuf[j][i] = acoefs[j] ;</div>
-<div class="line"><a name="l03807"></a><span class="lineno"> 3807</span> dabuf[j][i] = dacoefs[j] ;</div>
-<div class="line"><a name="l03808"></a><span class="lineno"> 3808</span> }</div>
-<div class="line"><a name="l03809"></a><span class="lineno"> 3809</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03810"></a><span class="lineno"> 3810</span> {</div>
-<div class="line"><a name="l03811"></a><span class="lineno"> 3811</span> abuf[j][i] = ZERO ;</div>
-<div class="line"><a name="l03812"></a><span class="lineno"> 3812</span> dabuf[j][i] = ZERO ;</div>
-<div class="line"><a name="l03813"></a><span class="lineno"> 3813</span> }</div>
-<div class="line"><a name="l03814"></a><span class="lineno"> 3814</span> }</div>
-<div class="line"><a name="l03815"></a><span class="lineno"> 3815</span> }</div>
-<div class="line"><a name="l03816"></a><span class="lineno"> 3816</span> </div>
-<div class="line"><a name="l03817"></a><span class="lineno"> 3817</span> <span class="comment">/* allocate memory for the fitting coefficients */</span></div>
-<div class="line"><a name="l03818"></a><span class="lineno"> 3818</span> <span class="keywordflow">if</span> ( NULL == ( bco = sinfo_new_b_coeffs( n_slitlets, </div>
-<div class="line"><a name="l03819"></a><span class="lineno"> 3819</span> n_a_fitcoefs, n_b_fitcoefs)) )</div>
-<div class="line"><a name="l03820"></a><span class="lineno"> 3820</span> {</div>
-<div class="line"><a name="l03821"></a><span class="lineno"> 3821</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" cannot allocate memory for the bcoeffs\n"</span>) ;</div>
-<div class="line"><a name="l03822"></a><span class="lineno"> 3822</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_a_fitcoefs ; i++ )</div>
-<div class="line"><a name="l03823"></a><span class="lineno"> 3823</span> {</div>
-<div class="line"><a name="l03824"></a><span class="lineno"> 3824</span> cpl_free (dabuf[i]) ;</div>
-<div class="line"><a name="l03825"></a><span class="lineno"> 3825</span> }</div>
-<div class="line"><a name="l03826"></a><span class="lineno"> 3826</span> cpl_free (dabuf) ;</div>
-<div class="line"><a name="l03827"></a><span class="lineno"> 3827</span> cpl_free ( acoefs ) ;</div>
-<div class="line"><a name="l03828"></a><span class="lineno"> 3828</span> cpl_free ( dacoefs ) ;</div>
-<div class="line"><a name="l03829"></a><span class="lineno"> 3829</span> cpl_free ( chisq_cross ) ;</div>
-<div class="line"><a name="l03830"></a><span class="lineno"> 3830</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03831"></a><span class="lineno"> 3831</span> }</div>
-<div class="line"><a name="l03832"></a><span class="lineno"> 3832</span> </div>
-<div class="line"><a name="l03833"></a><span class="lineno"> 3833</span> <span class="comment">/* fit each acoefs across the slitlets to smooth the result */</span></div>
-<div class="line"><a name="l03834"></a><span class="lineno"> 3834</span> <span class="keywordflow">if</span> ( -1 == ( crossInd = sinfo_new_spred_coeffs_cross_slit_fit( ilx, abuf, </div>
-<div class="line"><a name="l03835"></a><span class="lineno"> 3835</span> dabuf,</div>
-<div class="line"><a name="l03836"></a><span class="lineno"> 3836</span> bco, sigmaFactor,</div>
-<div class="line"><a name="l03837"></a><span class="lineno"> 3837</span> dispersion, </div>
-<div class="line"><a name="l03838"></a><span class="lineno"> 3838</span> pixel_dist, </div>
-<div class="line"><a name="l03839"></a><span class="lineno"> 3839</span> chisq_cross,</div>
-<div class="line"><a name="l03840"></a><span class="lineno"> 3840</span> sinfo_slit_pos )) )</div>
-<div class="line"><a name="l03841"></a><span class="lineno"> 3841</span> {</div>
-<div class="line"><a name="l03842"></a><span class="lineno"> 3842</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" cannot carry out the fitting of "</span></div>
-<div class="line"><a name="l03843"></a><span class="lineno"> 3843</span> <span class="stringliteral">"coefficients across the columns\n"</span>) ;</div>
-<div class="line"><a name="l03844"></a><span class="lineno"> 3844</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_a_fitcoefs ; i++ )</div>
-<div class="line"><a name="l03845"></a><span class="lineno"> 3845</span> {</div>
-<div class="line"><a name="l03846"></a><span class="lineno"> 3846</span> cpl_free (dabuf[i]) ;</div>
-<div class="line"><a name="l03847"></a><span class="lineno"> 3847</span> }</div>
-<div class="line"><a name="l03848"></a><span class="lineno"> 3848</span> </div>
-<div class="line"><a name="l03849"></a><span class="lineno"> 3849</span> cpl_free (dabuf) ;</div>
-<div class="line"><a name="l03850"></a><span class="lineno"> 3850</span> cpl_free ( acoefs ) ;</div>
-<div class="line"><a name="l03851"></a><span class="lineno"> 3851</span> cpl_free ( dacoefs ) ;</div>
-<div class="line"><a name="l03852"></a><span class="lineno"> 3852</span> sinfo_new_destroy_b_coeffs(bco) ;</div>
-<div class="line"><a name="l03853"></a><span class="lineno"> 3853</span> cpl_free ( chisq_cross ) ;</div>
-<div class="line"><a name="l03854"></a><span class="lineno"> 3854</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03855"></a><span class="lineno"> 3855</span> }</div>
-<div class="line"><a name="l03856"></a><span class="lineno"> 3856</span> </div>
-<div class="line"><a name="l03857"></a><span class="lineno"> 3857</span> <span class="keywordflow">if</span> ( NULL == (wavemap = sinfo_new_wave_map_slit (abuf, n_a_fitcoefs, </div>
-<div class="line"><a name="l03858"></a><span class="lineno"> 3858</span> ily, ilx)))</div>
-<div class="line"><a name="l03859"></a><span class="lineno"> 3859</span> {</div>
-<div class="line"><a name="l03860"></a><span class="lineno"> 3860</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">" cannot carry out wavemap creation\n"</span>) ;</div>
-<div class="line"><a name="l03861"></a><span class="lineno"> 3861</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_a_fitcoefs ; i++ )</div>
-<div class="line"><a name="l03862"></a><span class="lineno"> 3862</span> {</div>
-<div class="line"><a name="l03863"></a><span class="lineno"> 3863</span> cpl_free (dabuf[i]) ;</div>
-<div class="line"><a name="l03864"></a><span class="lineno"> 3864</span> }</div>
-<div class="line"><a name="l03865"></a><span class="lineno"> 3865</span> </div>
-<div class="line"><a name="l03866"></a><span class="lineno"> 3866</span> cpl_free (dabuf) ;</div>
-<div class="line"><a name="l03867"></a><span class="lineno"> 3867</span> cpl_free ( acoefs ) ;</div>
-<div class="line"><a name="l03868"></a><span class="lineno"> 3868</span> cpl_free ( dacoefs ) ;</div>
-<div class="line"><a name="l03869"></a><span class="lineno"> 3869</span> sinfo_new_destroy_b_coeffs(bco) ;</div>
-<div class="line"><a name="l03870"></a><span class="lineno"> 3870</span> cpl_free ( chisq_cross ) ;</div>
-<div class="line"><a name="l03871"></a><span class="lineno"> 3871</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l03872"></a><span class="lineno"> 3872</span> }</div>
-<div class="line"><a name="l03873"></a><span class="lineno"> 3873</span> </div>
-<div class="line"><a name="l03874"></a><span class="lineno"> 3874</span> <span class="comment">/* free all allocated memory */</span></div>
-<div class="line"><a name="l03875"></a><span class="lineno"> 3875</span> <span class="keywordflow">for</span> ( i = 0 ; i < n_a_fitcoefs ; i++ )</div>
-<div class="line"><a name="l03876"></a><span class="lineno"> 3876</span> {</div>
-<div class="line"><a name="l03877"></a><span class="lineno"> 3877</span> cpl_free (dabuf[i]) ;</div>
-<div class="line"><a name="l03878"></a><span class="lineno"> 3878</span> }</div>
-<div class="line"><a name="l03879"></a><span class="lineno"> 3879</span> cpl_free (dabuf) ;</div>
-<div class="line"><a name="l03880"></a><span class="lineno"> 3880</span> cpl_free ( acoefs ) ;</div>
-<div class="line"><a name="l03881"></a><span class="lineno"> 3881</span> cpl_free ( dacoefs ) ;</div>
-<div class="line"><a name="l03882"></a><span class="lineno"> 3882</span> sinfo_new_destroy_b_coeffs(bco) ;</div>
-<div class="line"><a name="l03883"></a><span class="lineno"> 3883</span> cpl_free ( chisq_cross ) ;</div>
-<div class="line"><a name="l03884"></a><span class="lineno"> 3884</span> </div>
-<div class="line"><a name="l03885"></a><span class="lineno"> 3885</span> <span class="keywordflow">return</span> wavemap ;</div>
-<div class="line"><a name="l03886"></a><span class="lineno"> 3886</span> }</div>
-<div class="line"><a name="l03887"></a><span class="lineno"> 3887</span> </div>
-<div class="line"><a name="l03889"></a><span class="lineno"> 3889</span> <span class="comment">/*___oOo___*/</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__wavecal_8h_source.html b/html/sinfo__wavecal_8h_source.html
deleted file mode 100644
index 236314b..0000000
--- a/html/sinfo__wavecal_8h_source.html
+++ /dev/null
@@ -1,201 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_wavecal.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_wavecal.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SINFO_WAVECAL_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_WAVECAL_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">* E.S.O. - VLT project</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* "@(#) $Id: sinfo_wavecal.h,v 1.5 2007/06/06 07:10:46 amodigli Exp $"</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">*</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* who when what</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">* -------- -------- ----------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* schreib 13/07/00 created</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * sinfo_wavecal.h</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * routines needed for wavelength calibration</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *----------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * header files</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_spectrum_ops.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> * function prototypes</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> cpl_image * </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> sinfo_new_wave_map_slit ( <span class="keywordtype">float</span> ** acoefs,</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">int</span> n_acoefs,</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordtype">int</span> n_rows,</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">int</span> n_columns ) ;</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> cpl_image * </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> sinfo_new_wave_cal(cpl_image * image,</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> FitParams ** par ,</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">float</span> ** abuf,</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">int</span> n_slitlets,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keywordtype">int</span> ** row_clean,</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordtype">float</span> ** wavelength_clean,</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">int</span> * n_found_lines,</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">float</span> dispersion,</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">int</span> halfWidth,</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">float</span> minAmplitude,</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordtype">float</span> max_residual,</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">float</span> fwhm,</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">int</span> n_a_fitcoefs,</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">int</span> n_b_fitcoefs,</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">float</span> sigmaFactor,</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">float</span> pixel_dist,</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordtype">float</span> pixel_tolerance ) ;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> cpl_image * sinfo_new_spred_wave_cal(cpl_image * image,</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> FitParams ** par ,</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordtype">float</span> ** abuf,</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordtype">int</span> n_slitlets,</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keywordtype">int</span> ** row_clean,</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordtype">float</span> ** wavelength_clean,</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordtype">int</span> * n_found_lines,</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordtype">float</span> dispersion,</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordtype">int</span> halfWidth,</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordtype">float</span> minAmplitude,</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordtype">float</span> max_residual,</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keywordtype">float</span> fwhm,</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keywordtype">int</span> n_a_fitcoefs,</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keywordtype">int</span> n_b_fitcoefs,</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordtype">float</span> sigmaFactor,</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="keywordtype">float</span> pixel_dist,</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keywordtype">float</span> pixel_tolerance,</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordtype">float</span> **sinfo_slit_pos ) ;</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> sinfo_new_check_for_fake_lines ( FitParams ** par,</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keywordtype">float</span> dispersion,</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keywordtype">float</span> ** wavelength_clean,</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keywordtype">int</span> ** row_clean,</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keywordtype">int</span> * n_found_lines,</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keywordtype">int</span> n_columns,</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordtype">float</span> pixel_tolerance ) ;</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> cpl_image * </div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> sinfo_new_create_shifted_slit_wavemap (cpl_image * lineIm,</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordtype">float</span> ** coeffs,</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordtype">int</span> n_fitcoeffs,</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordtype">float</span> * wavelength,</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordtype">float</span> * intensity,</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keywordtype">int</span> n_lines,</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordtype">int</span> magFactor ) ;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> cpl_image * </div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> sinfo_new_create_shifted_slit_wavemap2 (cpl_image * lineIm,</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="keywordtype">float</span> ** coeffs,</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="keywordtype">int</span> n_fitcoeffs,</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="keywordtype">float</span> * wavelength,</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="keywordtype">float</span> * intensity,</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="keywordtype">int</span> n_lines,</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="keywordtype">int</span> magFactor,</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="keywordtype">float</span> dispersion,</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="keywordtype">float</span> pixel_dist ) ;</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> cpl_image * </div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> sinfo_new_create_shifted_slit_wavemap3 (cpl_image * lineIm,</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="keywordtype">float</span> ** coeffs,</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keywordtype">int</span> n_fitcoeffs,</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="keywordtype">float</span> * wavelength,</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="keywordtype">float</span> * intensity,</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keywordtype">int</span> n_lines,</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="keywordtype">int</span> magFactor ) ;</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> </div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="keywordtype">float</span> sinfo_new_check_line_positions ( cpl_image * lineIm,</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="keywordtype">float</span> ** coeffs,</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="keywordtype">int</span> n_fitcoeffs,</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="keywordtype">float</span> guess_disp1,</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> FitParams ** par );</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="keywordtype">float</span> </div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> sinfo_new_check_correlated_line_positions (cpl_image * lineIm,</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="keywordtype">float</span> ** coeffs,</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="keywordtype">int</span> n_fitcoeffs,</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="keywordtype">float</span> * wavelength,</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keywordtype">float</span> * intensity,</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="keywordtype">int</span> n_lines,</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordtype">float</span> fwhm,</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="keywordtype">float</span> width,</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="keywordtype">float</span> min_amplitude,</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="keywordtype">float</span> dispersion,</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> FitParams ** par ) ;</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="preprocessor">#endif </span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__wavecal__cfg_8c_source.html b/html/sinfo__wavecal__cfg_8c_source.html
deleted file mode 100644
index 23e87db..0000000
--- a/html/sinfo__wavecal__cfg_8c_source.html
+++ /dev/null
@@ -1,120 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_wavecal_cfg.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_wavecal_cfg.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> File name : sinfo_wavecal_cfg.c</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Created on : September 2001</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> Description : wavelength calibration configuration handling tools</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"></span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> *--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_wavecal_cfg.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> Function codes</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> Function : sinfo_wave_cfg_create()</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> In : void</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> Out : pointer to allocated base wave_config structure</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> Job : allocate memory for a wave_config struct</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> Notice : only the main (base) structure is allocated</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> wave_config * sinfo_wave_cfg_create(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> {</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordflow">return</span> cpl_calloc(1, <span class="keyword">sizeof</span>(wave_config));</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> }</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> Function : sinfo_wave_cfg_destroy()</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> In : wave_config to deallocate</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> Out : void</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> Job : deallocate all memory associated with a wave_config</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> Notice : </span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">void</span> sinfo_wave_cfg_destroy(wave_config * wc)</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> {</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keywordflow">if</span> (wc==NULL) return ;</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">/* Free main struct */</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> cpl_free(wc);</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> return ;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__wavecal__cfg_8h_source.html b/html/sinfo__wavecal__cfg_8h_source.html
deleted file mode 100644
index 94f1770..0000000
--- a/html/sinfo__wavecal__cfg_8h_source.html
+++ /dev/null
@@ -1,204 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_wavecal_cfg.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_wavecal_cfg.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_wavecal_cfg.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : September 2001</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : wavecal_ini definitions + handling prototypes</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifndef SINFO_WAVECAL_CFG_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_WAVECAL_CFG_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <stdlib.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> Defines</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> New types</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> Wavelength calibration blackboard container</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> This structure holds all information related to the wavelength calibration</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> routine. It is used as a container for the flux of ancillary data,</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> computed values, and algorithm status. Pixel flux is separated from</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> the blackboard.</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>wave_config {</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*-------General---------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">char</span> inFrame[FILE_NAME_SZ] ; <span class="comment">/* input emission line frame */</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">char</span> lineList[FILE_NAME_SZ] ; <span class="comment">/* input wavelength and intensity </span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> line list */</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">char</span> outName[FILE_NAME_SZ] ; <span class="comment">/* output name of resulting </span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> fits wavelength map */</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">char</span> drs_setup[FILE_NAME_SZ] ; <span class="comment">/* DRS setup table */</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">/*------ FindLines ------*/</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">/* indicates if the dispersion relation is already determined or not */</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordtype">int</span> calibIndicator ; </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/* estimated central wavelength of the image */</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">float</span> guessBeginWavelength ;</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">/* estimated linear dispersion of emission line frame */</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">float</span> guessDispersion1 ;</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">/* estimated square dispersion of emission line frame */</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">float</span> guessDispersion2 ;</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">/* minimal difference of mean and sinfo_median column intensity */</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">float</span> mindiff ;</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">/* half width of a box within which the line must sit */</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">int</span> halfWidth ;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">/* sigma of Gaussian of artificial model spectra */</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">float</span> sigma ; </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">/*------ WaveCalib ------*/</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">/* guess value for fwhm of emission lines */</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">float</span> fwhm ;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/* minimum amplitude of a line to be fitted */</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">float</span> minAmplitude ;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/* maximal residual value for a valid fit */</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">float</span> maxResidual ;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">/* # of polynomial coefficients used for the dispersion relation */</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">int</span> nrDispCoefficients ;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">/* # of polynomial coefficients used for the fit of </span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> the dispersion coefficients */</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keywordtype">int</span> nrCoefCoefficients ;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment">/* minimal factor of the standard deviation of the fit coefficients */</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">float</span> sigmaFactor ;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment">/* indicates if the parameterized dispersion relation coefficients </span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"> should be written into an ASCII file */</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">int</span> writeCoeffsInd ;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">/* indicates if the fit parameters should be written </span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> into an ASCII file */</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordtype">int</span> writeParInd ;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment">/* name of the ASCII file containing the fit parameters */</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">char</span> paramsList[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment">/* name of the ASCII file containing the coefficients </span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment"> of the parameterized dispersion relation */</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">char</span> coeffsName[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment">/* number of slitlets */</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">int</span> nslitlets ;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment">/* minimal pixel distance of slitlets in spectral direction */</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">int</span> pixeldist ;</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">/* allowed pixel position tolerance between estimated </span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment"> and fitted line position */</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">float</span> pixel_tolerance ;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">/*------ WaveMap ------*/</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment">/* indicator if wavelength map should be generated or not */</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keywordtype">int</span> wavemapInd ;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">/* magnifying factor for FFT */</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">int</span> magFactor ;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">/*------ FitSlits ------*/</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment">/* indicator if the fit of the slit edge positions is carried </span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"> through or not */</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">int</span> slitposIndicator ;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment">/* indicator if the fit model function is a Boltzmann </span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"> function or not */</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">int</span> fitBoltzIndicator ;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment">/* indicator if the fit model function is a simple edge </span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment"> function or not */</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">int</span> fitEdgeIndicator ;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">/* indicator if the fit guess position are user given or </span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment"> calculated automatically */</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordtype">int</span> estimateIndicator ;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment">/* pixel length of the row box within which the fit of the </span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment"> slitlet positions is carried out*/</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">int</span> boxLength ;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment">/* lower row position for the estimate fit */</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordtype">int</span> loPos ;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment">/* upper row position for the estimate fit */</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keywordtype">int</span> hiPos ;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment">/* float box half width in spectral direction */</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keywordtype">float</span> yBox ;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">/* maximal tolerable difference to the expected slitlet positions */</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordtype">float</span> diffTol ;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment">/* name of the ASCII file containing the slitlet edge positions */</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keywordtype">char</span> slitposName[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment">/* name of the ASCII file containing the estimated slitlet </span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment"> edge positions */</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">char</span> slitposGuessName[FILE_NAME_SZ] ;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordtype">int</span> qc_thresh_min;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordtype">int</span> qc_thresh_max;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> } wave_config ;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment"> Function prototypes</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> wave_config * </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> sinfo_wave_cfg_create(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> sinfo_wave_cfg_destroy(wave_config * jc);</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__wavecal__config_8c_source.html b/html/sinfo__wavecal__config_8c_source.html
deleted file mode 100644
index 00f1576..0000000
--- a/html/sinfo__wavecal__config_8c_source.html
+++ /dev/null
@@ -1,465 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_wavecal_config.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_wavecal_config.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_wavecal_config.c,v 1.6 2012/03/03 10:35:14 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2012/03/03 10:35:14 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.6 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Wavecal Frames Data Reduction Parameter Initialization *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sinfo_wavecal_config.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> sinfo_wavecal_config_add(cpl_parameterlist *list)</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> {</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> cpl_parameter *p;</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordflow">if</span> (!list) {</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> }</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.wavecal.slitpos_boostrap"</span>,</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="stringliteral">"Switch to get a new slitpos without a reference: "</span>,</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="stringliteral">"sinfoni.wavecal"</span>,</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> FALSE);</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"wcal-slitpos_bootstrap"</span>);</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> p = cpl_parameter_new_value("sinfoni.wavecal.mflat_frm_switch",</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> CPL_TYPE_BOOL,</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> "Switch for master lampflat input: ",</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> "sinfoni.wavecal",</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> TRUE);</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"></span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"></span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,"wcal-mflat_frm_switch");</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> cpl_parameterlist_append(list, p);</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/* Find Lines */</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">/* indicates if the dispersion relation is already determined or not */</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.wavecal.calib_indicator"</span>,</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="stringliteral">"Calib Indicator: "</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="stringliteral">"FALSE: if the dispersion relation is already "</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="stringliteral">"known, the routine can jump to the sinfo_waveMap "</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="stringliteral">"section "</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="stringliteral">"TRUE: if the dispersion relation "</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="stringliteral">"must first be determined"</span>,</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="stringliteral">"sinfoni.wavecal"</span>,</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> TRUE);</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"wcal-calib_indicator"</span>);</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment">/* minimal difference of mean and sinfo_median column intensity */</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.wavecal.min_diff"</span>,</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="stringliteral">"Minimum Of Difference: "</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="stringliteral">"minimum difference of mean and sinfo_median column "</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="stringliteral">"intensity to carry out the cross sinfo_correlation"</span>,</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="stringliteral">"sinfoni.wavecal"</span>,</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> 1.);</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"wcal-min_diff"</span>);</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment">/* half width of a box within which the line must sit */</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.wavecal.half_width"</span>,</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="stringliteral">"Half Width: "</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="stringliteral">"half width of a box within which the line "</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="stringliteral">"must be placed"</span>,</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="stringliteral">"sinfoni.wavecal"</span>,</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> 7);</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"wcal-hw"</span>);</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment">/* sigma of Gaussian of artificial model spectra */</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.wavecal.sigma"</span>,</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="stringliteral">"Sigma: sigma of Gaussian which is convolved "</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="stringliteral">"with the artificial spectrum generated using "</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="stringliteral">"the line list"</span>,</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="stringliteral">"sinfoni.wavecal"</span>,</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> 2.);</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"wcal-sigma"</span>);</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment">/* Wavelength Calibration */</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment">/* guess value for fwhm of emission lines */</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.wavecal.fwhm"</span>,</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="stringliteral">"FWHM: initial guess value for the fwhm of "</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="stringliteral">"the Gaussian used for the line fit"</span>,</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="stringliteral">"sinfoni.wavecal"</span>,</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> 2.83);</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"wcal-fwhm"</span>);</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment">/* minimum amplitude of a line to be fitted */</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.wavecal.min_amplitude"</span>,</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="stringliteral">"Minimum Of Amplitude: "</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="stringliteral">"of the Gaussian to do the fit"</span>,</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="stringliteral">"sinfoni.wavecal"</span>,</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> 5.);</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"wcal-min_amplitude"</span>);</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment">/* maximal residual value for a valid fit */</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.wavecal.max_residual"</span>,</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="stringliteral">"Maximum Residuals value: "</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="stringliteral">"beyond this value the fit is rejected"</span>,</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="stringliteral">"sinfoni.wavecal"</span>,</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> 0.5);</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"wcal-max_residual"</span>);</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment">/* # of polynomial coefficients used for the dispersion relation */</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.wavecal.n_a_coefficients"</span>,</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="stringliteral">"Number of A coefficients: number of "</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="stringliteral">"polynomial coefficients for the "</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="stringliteral">"dispersion relation"</span>,</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="stringliteral">"sinfoni.wavecal"</span>,</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> 4);</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"wcal-n_a_coeffs"</span>);</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment">/* # of polynomial coefficients used for the fit of </span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment"> the dispersion coefficients */</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.wavecal.n_b_coefficients"</span>,</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="stringliteral">"Number of B coefficients: "</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="stringliteral">"number of polynomial coefficients for the "</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="stringliteral">"polynomial fit of the dispersion coefficients"</span>,</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="stringliteral">"sinfoni.wavecal"</span>,</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> 2);</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"wcal-n_b_coeffs"</span>);</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment">/* minimal factor of the standard deviation of the fit coefficients */</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.wavecal.sigma_factor"</span>,</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="stringliteral">"Sigma Factor: "</span></div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="stringliteral">"Factor of the standard deviation of the "</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="stringliteral">"polynomial coefficients of the dispersion "</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="stringliteral">"relation beyond which the coefficients are "</span></div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="stringliteral">"not used for the fit"</span>,</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="stringliteral">"sinfoni.wavecal"</span>,</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> 1.5);</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"wcal-sigma_factor"</span>);</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment">/* indicates if the parameterized dispersion relation coefficients </span></div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment"> should be written into an ASCII file */</span></div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.wavecal.write_coeffs_ind"</span>,</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="stringliteral">"Write Coefficients Index: "</span></div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="stringliteral">"indicates if the coefficients should "</span></div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="stringliteral">"be written into a file or not"</span>,</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="stringliteral">"sinfoni.wavecal"</span>,</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> TRUE);</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"wcal-wcoeff_ind"</span>);</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="comment">/* indicates if the fit parameters should be written into an ASCII file */</span></div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.wavecal.write_par_ind"</span>,</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="stringliteral">"Write Parameter Index: "</span></div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="stringliteral">"indicates if the fit parameters should "</span></div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="stringliteral">"be written into a file or not "</span>,</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="stringliteral">"sinfoni.wavecal"</span>,</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> TRUE);</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"wcal-par_ind"</span>);</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="comment">/* dispersion relation */</span></div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="comment">/* minimal distance of the slitlets in spectral direction */</span></div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.wavecal.pixel_dist"</span>,</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="stringliteral">"Minimal Slitlets's Distance in spectral direction"</span>,</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="stringliteral">"sinfoni.wavecal"</span>,</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> 15);</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"wcal-pixel_dist"</span>);</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="comment">/* allowed pixel position tolerance between estimated and fitted line </span></div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="comment"> position</span></div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.wavecal.pixel_tol"</span>,</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="stringliteral">"Pixel Tolerance: allowed pixel position "</span></div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="stringliteral">"tolerance between estimated and fitted "</span></div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="stringliteral">"line position"</span>,</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="stringliteral">"sinfoni.wavecal"</span>,</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> 5.0);</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"wcal-pixel_tol"</span>);</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="comment">/* Wavelength Map */</span></div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="comment">/* indicator if wavelength map should be generated or not */</span></div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.wavecal.wave_map_ind"</span>,</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="stringliteral">"Wavelength Map Indicator: "</span></div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="stringliteral">"indicates if the wavelength calibration map "</span></div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="stringliteral">"should be generated (TRUE) or not (FALSE)"</span>,</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="stringliteral">"sinfoni.wavecal"</span>,</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> FALSE);</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"wcal-wave_map_ind"</span>);</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="comment">/* magnifying factor for FFT */</span></div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.wavecal.mag_factor"</span>,</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="stringliteral">"Magnificator Factor: "</span></div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="stringliteral">"magnifying factor for the number of pixels "</span></div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="stringliteral">"in the columns needed for FFT"</span>,</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="stringliteral">"sinfoni.wavecal"</span>,</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> 8);</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"wcal-mag_factor"</span>);</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="comment">/* Fits Slits */</span></div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="comment">/* indicator if the fit of the slit edge positions is carried through or not */</span></div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.wavecal.slit_pos_indicator"</span>,</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="stringliteral">"Slit Position Indicator: "</span></div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="stringliteral">"indicates if the fits of the slitlet "</span></div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="stringliteral">"edge positions should be carried "</span></div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="stringliteral">"through or not"</span>,</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="stringliteral">"sinfoni.wavecal"</span>,</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> TRUE);</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"wcal-slit_pos_ind"</span>);</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="comment">/* indicator if the fit model function is a Boltzmann function or not */</span></div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.wavecal.fit_boltz_indicator"</span>,</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> CPL_TYPE_BOOL ,</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="stringliteral">"Fit Boltzmann Indicator: "</span></div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="stringliteral">"indicates if the fits of the slitlet edge "</span></div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="stringliteral">"positions is carried trough by using a "</span></div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="stringliteral">"Boltzmann function as model function"</span>,</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="stringliteral">"sinfoni.wavecal"</span>,</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> TRUE);</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"wcal-fit_boltz_ind"</span>);</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> </div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="comment">/* indicator if the fit model function </span></div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="comment"> is a simple edge function or not */</span></div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.wavecal.fit_edge_indicator"</span>,</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="stringliteral">"Fit Edge Indicator: "</span></div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="stringliteral">"indicates if the fits of the slitlet edge "</span></div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="stringliteral">"positions is carried through by using a "</span></div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="stringliteral">"simple edge function as model function"</span>,</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="stringliteral">"sinfoni.wavecal"</span>,</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> FALSE);</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"wcal-fit_edge_ind"</span>);</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> </div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="comment">/* indicator if the fit guess position are </span></div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="comment"> user given or calculated automatically */</span></div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.wavecal.estimate_indicator"</span>,</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> CPL_TYPE_BOOL,</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="stringliteral">"Estimate Indicator: "</span></div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="stringliteral">"indicates if the fits of the slitlet edge "</span></div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="stringliteral">"positions is carried through by using a list "</span></div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="stringliteral">"of estimated guess positions in a file (TRUE)"</span></div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="stringliteral">"or if the initial positions are calculated "</span></div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="stringliteral">"automatically (FALSE). The estimation case "</span></div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="stringliteral">"is more stable"</span>,</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="stringliteral">"sinfoni.wavecal"</span>,</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> FALSE);</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> </div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"wcal-estimate_ind"</span>);</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> </div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="comment">/* pixel length of the row box within which the fit of the </span></div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="comment"> slitlet positions is carried out*/</span></div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.wavecal.box_length"</span>,</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="stringliteral">"Box Length: "</span></div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="stringliteral">"pixel length of the row box within "</span></div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="stringliteral">"which the fit is carried out"</span>,</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="stringliteral">"sinfoni.wavecal"</span>,</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> 32);</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"wcal-box_len"</span>);</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> </div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="comment">/* float box half width in spectral direction */</span></div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.wavecal.y_box"</span>,</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="stringliteral">"Y Box: half width of a small box in "</span></div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="stringliteral">"spectral direction within which the "</span></div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="stringliteral">"maximal intensity pixel is searched"</span>,</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="stringliteral">"sinfoni.wavecal"</span>,</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> 5.);</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"wcal-y_box"</span>);</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> </div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="comment">/* maximal tolerable difference to the expected slitlet positions */</span></div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.wavecal.diff_tol"</span>,</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> CPL_TYPE_DOUBLE,</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="stringliteral">"Difference Tolearance: "</span></div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="stringliteral">"maximal tolerable difference of the "</span></div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="stringliteral">"resulting fit positions of the slitlet "</span></div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="stringliteral">"edges with respect to the expected positions"</span>,</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="stringliteral">"sinfoni.wavecal"</span>,</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> 2.);</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> </div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"wcal-diff_toll"</span>);</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> </div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> </div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> </div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.wavecal.qc_thresh_min"</span>,</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="stringliteral">"qc_thresh_min"</span>,</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="stringliteral">"sinfoni.wavecal"</span>,</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> 0);</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> </div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"wcal-qc_thresh_min"</span>);</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> </div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> </div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.wavecal.qc_thresh_max"</span>,</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="stringliteral">"qc_thresh_max"</span>,</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="stringliteral">"sinfoni.wavecal"</span>,</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> 49000);</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> </div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"wcal-qc_thresh_max"</span>);</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> </div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> </div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="comment">/*Resampling */</span></div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="comment">/* number of coefficients for the polynomial interpolation */</span></div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> p = cpl_parameter_new_value(<span class="stringliteral">"sinfoni.wavecal.n_coeffs"</span>,</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> CPL_TYPE_INT,</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="stringliteral">"number of coefficients for the polynomial "</span></div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="stringliteral">"interpolation "</span>,</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="stringliteral">"sinfoni.wavecal"</span>,</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> 3);</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> </div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,<span class="stringliteral">"wcal-no_coeffs"</span>);</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> cpl_parameterlist_append(list, p);</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> </div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> </div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> </div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__wavecal__config_8h_source.html b/html/sinfo__wavecal__config_8h_source.html
deleted file mode 100644
index e60c21f..0000000
--- a/html/sinfo__wavecal__config_8h_source.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_wavecal_config.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_wavecal_config.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_wavecal_config.h,v 1.1 2006/10/20 08:06:33 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the CPL (Common Pipeline Library)</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Date: 2006/10/20 08:06:33 $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Revision: 1.1 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/****************************************************************</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Wavecal Frames Data Reduction Parameter Initialization *</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> ****************************************************************/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <cpl.h></span> <span class="comment">/* defines parlist structure */</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> sinfo_wavecal_config_add(cpl_parameterlist *list);</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__wavecal__ini_8h_source.html b/html/sinfo__wavecal__ini_8h_source.html
deleted file mode 100644
index 4043882..0000000
--- a/html/sinfo__wavecal__ini_8h_source.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_wavecal_ini.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_wavecal_ini.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> File name : sinfo_wavecal_ini.h</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> Author : Juergen Schreiber</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Created on : Sept 14, 2001</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Description : wavelength calibration ini file handling for SPIFFI</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#ifndef SINFO_WAVECAL_INI_H</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_WAVECAL_INI_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "sinfo_wavecal_cfg.h"</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> generateWave_ini_file(</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">char</span> * ini_name,</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">char</span> * name_i,</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">char</span> * name_o,</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">char</span> * name_c</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> );</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> wave_config * </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> parse_wave_ini_file(<span class="keywordtype">char</span> * ini_name) ;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__wavecal__ini__by__cpl_8c_source.html b/html/sinfo__wavecal__ini__by__cpl_8c_source.html
deleted file mode 100644
index 44b3056..0000000
--- a/html/sinfo__wavecal__ini__by__cpl_8c_source.html
+++ /dev/null
@@ -1,576 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_wavecal_ini_by_cpl.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_wavecal_ini_by_cpl.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"></span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_wavecal_ini_by_cpl.c</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : May 21, 2004</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : wavelength calibration cpl input handling for SPIFFI</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_wavecal_ini_by_cpl.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_raw_types.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_ref_types.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_hidden.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_utils.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> Functions private to this module</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> parse_section_frames ( wave_config *, cpl_parameterlist* cpl_cfg, cpl_frameset* sof,</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> cpl_frameset** raw, <span class="keywordtype">int</span>* status );</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> parse_section_findlines ( wave_config *, cpl_parameterlist* cpl_cfg );</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> parse_section_wavecalib ( wave_config *, cpl_parameterlist* cpl_cfg );</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> parse_section_wavemap ( wave_config *, cpl_parameterlist* cpl_cfg );</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> parse_section_qclog ( wave_config *, cpl_parameterlist* cpl_cfg );</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> parse_section_fitslits ( wave_config *, cpl_parameterlist* cpl_cfg );</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment">/* Removed generateWave_ini_file */</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment">/*-------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">/*--------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> wave_config *</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> sinfo_parse_cpl_input_wave ( cpl_parameterlist* cpl_cfg,</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> cpl_frameset* sof, cpl_frameset** raw )</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> {</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">int</span> status=0;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> wave_config * cfg= sinfo_wave_cfg_create();</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment"> * Perform sanity checks, fill up the structure with what was</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"> * found in the ini file</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> parse_section_findlines ( cfg, cpl_cfg );</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> parse_section_wavecalib ( cfg, cpl_cfg );</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> parse_section_wavemap ( cfg, cpl_cfg );</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> parse_section_fitslits ( cfg, cpl_cfg );</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> parse_section_qclog ( cfg, cpl_cfg );</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> parse_section_frames ( cfg, cpl_cfg, sof, raw, &status );</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordflow">if</span> ( status > 0 )</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> {</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> ( <span class="stringliteral">"parsing cpl input"</span> );</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> sinfo_wave_cfg_destroy ( cfg );</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> cfg = NULL ;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordflow">return</span> NULL ;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> }</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">return</span> cfg ;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> }</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment"> Functions: parse_section_xxx()</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment"> In : symbolic table read from ini file</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment"> Out : void</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment"> Job : update a wave_config structure from what can be</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment"> found in the ini file.</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment"> Notice : all of these functions update a status integer to</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment"> indicate if an error occurred, or leave it as it is if</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment"> everything went Ok.</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment"></span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment"> parse_section_general()</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment"> parse_section_findlines()</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment"> parse_section_wavecalib()</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment"> parse_section_wavemap()</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment"> parse_section_fitslits()</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment"></span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> parse_section_frames ( wave_config * cfg,cpl_parameterlist* cpl_cfg, cpl_frameset* sof,</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> cpl_frameset** raw, <span class="keywordtype">int</span>* status )</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> {</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> cpl_frame* frame = NULL;</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="keywordtype">char</span> spat_res[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keywordtype">char</span> lamp_status[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordtype">char</span> band[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordtype">int</span> ins_set=0;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordtype">int</span> nraw=0;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> cpl_parameter* p=NULL;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> cpl_table* drs_tab=NULL;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> wcal* w=sinfo_wcal_new();</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordtype">int</span> check=0;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> sinfo_extract_raw_frames_type ( sof,raw,PRO_WAVE_LAMP_STACKED );</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> nraw=cpl_frameset_get_size ( *raw );</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordflow">if</span> ( nraw==0 )</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> {</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> sinfo_extract_raw_frames_type ( sof,raw,PRO_WAVE_NS_STACKED );</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> }</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> nraw=cpl_frameset_get_size ( *raw );</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keywordflow">if</span> ( nraw==0 )</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> {</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> sinfo_extract_raw_frames_type ( sof,raw,PRO_WAVE_SLITPOS_STACKED );</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> }</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> nraw=cpl_frameset_get_size ( *raw );</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">if</span> ( nraw==0 )</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> {</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> sinfo_msg ( <span class="stringliteral">"Frame %s or %s or %s not found!"</span>,</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> PRO_WAVE_LAMP_STACKED,PRO_WAVE_NS_STACKED,PRO_WAVE_SLITPOS_STACKED );</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> ( *status ) ++;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> return ;</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> }</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> frame = cpl_frameset_get_frame ( *raw,0 );</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> sinfo_get_spatial_res ( frame,spat_res );</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keywordflow">switch</span> ( sinfo_frame_is_on ( frame ) )</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> {</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="keywordflow">case</span> 0:</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> strcpy ( lamp_status,<span class="stringliteral">"on"</span> );</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keywordflow">case</span> 1:</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> strcpy ( lamp_status,<span class="stringliteral">"off"</span> );</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keywordflow">case</span> -1:</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> strcpy ( lamp_status,<span class="stringliteral">"undefined"</span> );</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> strcpy ( lamp_status,<span class="stringliteral">"undefined"</span> );</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> }</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> sinfo_get_band ( frame,band );</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> sinfo_msg ( <span class="stringliteral">"Spatial resolution: %s lamp status: %s band: %s \n"</span>,</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> spat_res, lamp_status, band );</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> sinfo_get_ins_set ( band,&ins_set );</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="keywordflow">if</span> ( NULL != cpl_frameset_find ( sof,PRO_WAVE_LAMP_STACKED ) )</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> {</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> frame = cpl_frameset_find ( sof,PRO_WAVE_LAMP_STACKED );</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> strcpy ( cfg -> inFrame,cpl_frame_get_filename ( frame ) );</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> }</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( NULL != cpl_frameset_find ( sof,PRO_WAVE_NS_STACKED ) )</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> {</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> frame = cpl_frameset_find ( sof,PRO_WAVE_NS_STACKED );</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> strcpy ( cfg -> inFrame,cpl_frame_get_filename ( frame ) );</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> }</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( NULL != cpl_frameset_find ( sof,PRO_WAVE_SLITPOS_STACKED ) )</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> {</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> frame = cpl_frameset_find ( sof,PRO_WAVE_SLITPOS_STACKED );</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> strcpy ( cfg -> inFrame,cpl_frame_get_filename ( frame ) );</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> }</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> {</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> ( <span class="stringliteral">"Frame %s or %s not found! Exit!"</span>,</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> PRO_WAVE_LAMP_STACKED,PRO_WAVE_NS_STACKED );</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> ( *status ) ++;</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> }</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keywordflow">if</span> ( NULL != cpl_frameset_find ( sof,DRS_SETUP_WAVE ) )</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> {</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> frame = cpl_frameset_find ( sof,DRS_SETUP_WAVE );</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> strcpy ( cfg -> drs_setup,cpl_frame_get_filename ( frame ) );</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> drs_tab = cpl_table_load ( cfg->drs_setup,1,0 );</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> w->wstart=cpl_table_get_double ( drs_tab,<span class="stringliteral">"W_START"</span>,ins_set,&check );</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> w->wgdisp1=cpl_table_get_double ( drs_tab,<span class="stringliteral">"W_DISP1"</span>,ins_set,&check );</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> w->wgdisp2=cpl_table_get_double ( drs_tab,<span class="stringliteral">"W_DISP2"</span>,ins_set,&check );</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> w->hw=cpl_table_get_int ( drs_tab,<span class="stringliteral">"W_HW"</span>,ins_set,&check );</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> w->fwhm=cpl_table_get_double ( drs_tab,<span class="stringliteral">"W_FWHM"</span>,ins_set,&check );</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> w->min_amp=cpl_table_get_double ( drs_tab,<span class="stringliteral">"W_MIN_AMP"</span>,ins_set,&check );</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="comment"> w->min_dif=cpl_table_get_double(drs_tab,"W_MIN_DIF",ins_set,&check);</span></div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="comment"> w->na_coef=cpl_table_get_int(drs_tab,"W_NA_COEFF",ins_set,&check);</span></div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="comment"> w->nb_coef=cpl_table_get_int(drs_tab,"W_NB_COEFF",ins_set,&check);</span></div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="comment"> w->pixel_tol=cpl_table_get_double(drs_tab,"W_PIX_TOL",ins_set,&check);</span></div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="comment"> w->y_box=cpl_table_get_double(drs_tab,"W_Y_BOX",ins_set,&check);</span></div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> w->low_pos=cpl_table_get_int ( drs_tab,<span class="stringliteral">"W_LOW_POS"</span>,ins_set,&check );</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> w->hig_pos=cpl_table_get_int ( drs_tab,<span class="stringliteral">"W_HI_POS"</span>,ins_set,&check );</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> cfg -> guessBeginWavelength = w->wstart;</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> cfg -> guessDispersion1 = w->wgdisp1;</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> cfg -> guessDispersion2 = w->wgdisp2;</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> p = cpl_parameterlist_find ( cpl_cfg, <span class="stringliteral">"sinfoni.wavecal.half_width"</span> );</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="keywordflow">if</span> ( sinfo_parameter_get_default_flag ( p ) == 0 )</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> {</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="comment">/* cpl_msg_info(cpl_func, "param sinfoni.wavecal.half_width - using value from DRS [%i]", w->hw);*/</span></div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> cfg -> halfWidth = w->hw;</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> }</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> {</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="comment">/* cpl_msg_info(cpl_func, "param sinfoni.wavecal.half_width - using value from command line [%g]", cfg -> halfWidth); */</span></div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> }</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> p = cpl_parameterlist_find ( cpl_cfg, <span class="stringliteral">"sinfoni.wavecal.fwhm"</span> );</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="keywordflow">if</span> ( sinfo_parameter_get_default_flag ( p ) == 0 )</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> {</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> cfg -> fwhm = w->fwhm;</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="comment">/* cpl_msg_info(cpl_func, "param sinfoni.wavecal.fwhm - using value from DRS [%g]", cfg -> fwhm); */</span></div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> }</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> {</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="comment">/* cpl_msg_info(cpl_func, "param sinfoni.wavecal.fwhm - using value from command line [%g]", cfg -> fwhm); */</span></div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> }</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> p = cpl_parameterlist_find ( cpl_cfg, <span class="stringliteral">"sinfoni.wavecal.min_amplitude"</span> );</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keywordflow">if</span> ( sinfo_parameter_get_default_flag ( p ) == 0 )</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> {</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> cfg -> minAmplitude = w->min_amp;</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="comment">/* cpl_msg_info(cpl_func, "param sinfoni.wavecal.min_amplitude - using value from DRS [%g]", cfg -> minAmplitude); */</span></div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> }</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> {</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="comment">/* cpl_msg_info(cpl_func, "param sinfoni.wavecal.min_amplitude - using value from command line [%g]", cfg -> minAmplitude); */</span></div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> } </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="comment"> cfg -> mindiff = w->min_dif;</span></div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="comment"> cfg -> nrDispCoefficients = w->na_coef;</span></div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="comment"> cfg -> nrCoefCoefficients = w->nb_coef;</span></div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="comment"> cfg -> pixel_tolerance = w->pixel_tol;</span></div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="comment"> cfg -> yBox = w->y_box;</span></div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> cfg -> loPos = w->low_pos;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> cfg -> hiPos = w->hig_pos;</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="comment">/* cfg -> pixel_tolerance = w->pixel_tol; */</span></div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="comment"> sinfo_msg("cfg->guessBeginWavelength %g",cfg -> guessBeginWavelength);</span></div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="comment"> sinfo_msg("cfg->guessDispersion1 %g",cfg -> guessDispersion1);</span></div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="comment"> sinfo_msg("cfg->guessDispersion2 %g",cfg -> guessDispersion2);</span></div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="comment"> sinfo_msg("cfg->mindiff %g",cfg -> mindiff);</span></div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="comment"> sinfo_msg("cfg->halfWidth %d",cfg -> halfWidth);</span></div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="comment"> sinfo_msg("cfg->fwhm %g",cfg -> fwhm);</span></div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="comment"> sinfo_msg("cfg->minAmplitude %g",cfg -> minAmplitude);</span></div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="comment"> sinfo_msg("cfg->nrDispCoefficients %d",cfg -> nrDispCoefficients); </span></div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="comment"> sinfo_msg("cfg->nrCoefCoefficients %d",cfg -> nrCoefCoefficients);</span></div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="comment"> sinfo_msg("cfg->pixel_tolerance %g",cfg -> pixel_tolerance);</span></div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="comment"> sinfo_msg("cfg->loPos %d",cfg -> loPos);</span></div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="comment"> sinfo_msg("cfg->hiPos %d",cfg -> hiPos);</span></div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="comment"> sinfo_msg("cfg->yBox %f",cfg -> yBox);</span></div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> sinfo_wcal_delete ( w );</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> cpl_table_delete ( drs_tab );</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="keywordflow">if</span> ( -1 == sinfo_check_rec_status ( 0 ) )</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> {</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> ( *status ) ++;</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> }</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> }</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> {</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> ( <span class="stringliteral">"Frame %s not found! Exit!"</span>, DRS_SETUP_WAVE );</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> ( *status ) ++;</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> }</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="keywordflow">if</span> ( NULL != cpl_frameset_find ( sof,REF_LINE_OH ) )</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> {</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> frame = cpl_frameset_find ( sof,REF_LINE_OH );</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> strcpy ( cfg -> lineList,cpl_frame_get_filename ( frame ) );</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> }</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( NULL != cpl_frameset_find ( sof,REF_LINE_ARC ) )</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> {</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> frame = cpl_frameset_find ( sof,REF_LINE_ARC );</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> strcpy ( cfg -> lineList,cpl_frame_get_filename ( frame ) );</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> }</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> {</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> ( <span class="stringliteral">"Frame %s not found! Exit!"</span>, REF_LINE_ARC );</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> ( *status ) ++;</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> }</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> </div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="keywordflow">if</span> ( NULL != cpl_frameset_find ( sof,PRO_SLIT_POS_GUESS ) )</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> {</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> frame = cpl_frameset_find ( sof,PRO_SLIT_POS_GUESS );</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> strcpy ( cfg -> slitposGuessName,cpl_frame_get_filename ( frame ) );</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> }</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> {</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> sinfo_msg ( <span class="stringliteral">"Frame %s not found!"</span>, PRO_SLIT_POS_GUESS );</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> }</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="keywordflow">if</span> ( cfg -> writeParInd ==0 )</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> {</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="keywordflow">if</span> ( NULL != cpl_frameset_find ( sof,PRO_WAVE_PAR_LIST ) )</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> {</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> frame = cpl_frameset_find ( sof,PRO_WAVE_PAR_LIST );</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> strcpy ( cfg -> paramsList,cpl_frame_get_filename ( frame ) );</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> }</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> {</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> sinfo_msg ( <span class="stringliteral">"Frame %s not found!"</span>, PRO_WAVE_PAR_LIST );</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> ( *status ) ++;</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> return ;</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> }</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> }</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> {</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> </div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> strcpy ( cfg -> paramsList, WAVECAL_FIT_PARAMS_OUT_FILENAME );</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> sinfo_msg ( <span class="stringliteral">"cfg -> paramsList %s not given\n"</span>,cfg -> paramsList );</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> </div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> }</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> </div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="keywordflow">if</span> ( cfg -> calibIndicator == 0 )</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> {</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="keywordflow">if</span> ( NULL != cpl_frameset_find ( sof,PRO_WAVE_COEF_SLIT ) )</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> {</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> frame = cpl_frameset_find ( sof,PRO_WAVE_COEF_SLIT );</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> strcpy ( cfg -> coeffsName,cpl_frame_get_filename ( frame ) );</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> }</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> {</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> ( <span class="stringliteral">"Frame %s not found! Exit!"</span>, PRO_WAVE_COEF_SLIT );</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> ( *status ) ++;</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> }</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> }</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> {</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> </div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> strcpy ( cfg -> coeffsName, WAVECAL_COEFF_SLIT_OUT_FILENAME );</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> sinfo_msg ( <span class="stringliteral">"cfg -> coeffsName %s not given\n"</span>,cfg -> coeffsName );</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> </div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> }</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> </div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> strcpy ( cfg -> outName, WAVECAL_OUT_FILENAME );</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> strcpy ( cfg -> slitposName, WAVECAL_SLIT_POS_OUT_FILENAME );</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> </div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> }</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> </div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> </div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> parse_section_findlines ( wave_config * cfg,cpl_parameterlist* cpl_cfg )</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> {</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> </div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> </div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> p = cpl_parameterlist_find ( cpl_cfg, <span class="stringliteral">"sinfoni.wavecal.calib_indicator"</span> );</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> cfg -> calibIndicator = cpl_parameter_get_bool ( p );</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> </div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> p = cpl_parameterlist_find ( cpl_cfg, <span class="stringliteral">"sinfoni.wavecal.min_diff"</span> );</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> cfg -> mindiff = cpl_parameter_get_double ( p );</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> </div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> p = cpl_parameterlist_find ( cpl_cfg, <span class="stringliteral">"sinfoni.wavecal.half_width"</span> );</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> cfg -> halfWidth = cpl_parameter_get_int ( p );</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> </div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> p = cpl_parameterlist_find ( cpl_cfg, <span class="stringliteral">"sinfoni.wavecal.sigma"</span> );</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> cfg -> sigma = cpl_parameter_get_double ( p );</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> </div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> return ;</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> }</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> </div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> parse_section_wavecalib ( wave_config * cfg,cpl_parameterlist* cpl_cfg )</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> {</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> </div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> p = cpl_parameterlist_find ( cpl_cfg, <span class="stringliteral">"sinfoni.wavecal.fwhm"</span> );</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> cfg -> fwhm = cpl_parameter_get_double ( p );</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> </div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> p = cpl_parameterlist_find ( cpl_cfg, <span class="stringliteral">"sinfoni.wavecal.min_amplitude"</span> );</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> cfg -> minAmplitude = cpl_parameter_get_double ( p );</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> </div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> p = cpl_parameterlist_find ( cpl_cfg, <span class="stringliteral">"sinfoni.wavecal.max_residual"</span> );</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> cfg -> maxResidual = cpl_parameter_get_double ( p );</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> </div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> p = cpl_parameterlist_find ( cpl_cfg, <span class="stringliteral">"sinfoni.wavecal.n_a_coefficients"</span> );</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> cfg -> nrDispCoefficients = cpl_parameter_get_int ( p );</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> </div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> p = cpl_parameterlist_find ( cpl_cfg, <span class="stringliteral">"sinfoni.wavecal.n_b_coefficients"</span> );</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> cfg -> nrCoefCoefficients = cpl_parameter_get_int ( p );</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> </div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> p = cpl_parameterlist_find ( cpl_cfg, <span class="stringliteral">"sinfoni.wavecal.sigma_factor"</span> );</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> cfg -> sigmaFactor = cpl_parameter_get_double ( p );</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> </div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> p = cpl_parameterlist_find ( cpl_cfg, <span class="stringliteral">"sinfoni.wavecal.write_coeffs_ind"</span> );</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> cfg -> writeCoeffsInd = cpl_parameter_get_bool ( p );</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> </div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> p = cpl_parameterlist_find ( cpl_cfg, <span class="stringliteral">"sinfoni.wavecal.write_par_ind"</span> );</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> cfg -> writeParInd = cpl_parameter_get_bool ( p );</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> </div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> cfg -> nslitlets = NSLITLETS;</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> </div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> p = cpl_parameterlist_find ( cpl_cfg, <span class="stringliteral">"sinfoni.wavecal.pixel_dist"</span> );</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> cfg -> pixeldist = cpl_parameter_get_int ( p );</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> </div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> p = cpl_parameterlist_find ( cpl_cfg, <span class="stringliteral">"sinfoni.wavecal.pixel_tol"</span> );</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> cfg -> pixel_tolerance = cpl_parameter_get_double ( p );</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> </div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> }</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> </div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> parse_section_wavemap ( wave_config * cfg,cpl_parameterlist* cpl_cfg )</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> {</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> </div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> p = cpl_parameterlist_find ( cpl_cfg, <span class="stringliteral">"sinfoni.wavecal.wave_map_ind"</span> );</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> cfg -> wavemapInd = cpl_parameter_get_bool ( p );</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> </div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> p = cpl_parameterlist_find ( cpl_cfg, <span class="stringliteral">"sinfoni.wavecal.mag_factor"</span> );</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> cfg -> magFactor = cpl_parameter_get_int ( p );</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> </div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> </div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> }</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> </div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> parse_section_fitslits ( wave_config * cfg,cpl_parameterlist* cpl_cfg )</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> {</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> </div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> </div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> p = cpl_parameterlist_find ( cpl_cfg, <span class="stringliteral">"sinfoni.wavecal.slit_pos_indicator"</span> );</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> cfg -> slitposIndicator = cpl_parameter_get_bool ( p );</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> </div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> p = cpl_parameterlist_find ( cpl_cfg, <span class="stringliteral">"sinfoni.wavecal.fit_boltz_indicator"</span> );</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> cfg -> fitBoltzIndicator = cpl_parameter_get_bool ( p );</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> </div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> p = cpl_parameterlist_find ( cpl_cfg, <span class="stringliteral">"sinfoni.wavecal.fit_edge_indicator"</span> );</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> cfg -> fitEdgeIndicator = cpl_parameter_get_bool ( p );</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> </div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> p = cpl_parameterlist_find ( cpl_cfg, <span class="stringliteral">"sinfoni.wavecal.estimate_indicator"</span> );</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> cfg -> estimateIndicator = cpl_parameter_get_bool ( p );</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> </div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> cfg -> loPos = 750;</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> cfg -> hiPos = 1000;</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> </div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> p = cpl_parameterlist_find ( cpl_cfg, <span class="stringliteral">"sinfoni.wavecal.box_length"</span> );</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> cfg -> boxLength = cpl_parameter_get_int ( p );</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> </div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> p = cpl_parameterlist_find ( cpl_cfg, <span class="stringliteral">"sinfoni.wavecal.y_box"</span> );</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> cfg -> yBox = cpl_parameter_get_double ( p );</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> </div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> p = cpl_parameterlist_find ( cpl_cfg, <span class="stringliteral">"sinfoni.wavecal.diff_tol"</span> );</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> cfg -> diffTol = cpl_parameter_get_double ( p );</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> </div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> <span class="comment">/* input CDB</span></div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> <span class="comment"> p = cpl_parameterlist_find(cpl_cfg, "sinfoni.wavecal.slit_pos_guess_name");</span></div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> <span class="comment"> strcpy(cfg -> slitposGuessName, cpl_parameter_get_default_string(p));</span></div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> </div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> }</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> </div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> parse_section_qclog ( wave_config * cfg, cpl_parameterlist* cpl_cfg )</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> {</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> cpl_parameter* p;</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> </div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> p = cpl_parameterlist_find ( cpl_cfg, <span class="stringliteral">"sinfoni.wavecal.qc_thresh_min"</span> );</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> cfg -> qc_thresh_min = cpl_parameter_get_int ( p );</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> </div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> </div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> p = cpl_parameterlist_find ( cpl_cfg, <span class="stringliteral">"sinfoni.wavecal.qc_thresh_max"</span> );</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> cfg -> qc_thresh_max = cpl_parameter_get_int ( p );</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> </div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> </div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> }</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> </div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> sinfo_wavecal_free ( wave_config ** cfg )</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> {</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> <span class="keywordflow">if</span> ( *cfg != NULL )</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> {</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> sinfo_wave_cfg_destroy ( *cfg );</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> *cfg=NULL;</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> }</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> </div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> }</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> </div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__wavecal__ini__by__cpl_8h_source.html b/html/sinfo__wavecal__ini__by__cpl_8h_source.html
deleted file mode 100644
index a966e56..0000000
--- a/html/sinfo__wavecal__ini__by__cpl_8h_source.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_wavecal_ini_by_cpl.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_wavecal_ini_by_cpl.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of the ESO SINFONI Pipeline</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 2004,2005 European Southern Observatory</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> </span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> File name : sinfo_wavecal_ini_by_cpl.h</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> Author : Andrea Modigliani</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> Created on : May 21, 2004</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> Description : wavelength calibration cpl input handling for SPIFFI</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifndef SINFO_WAVECAL_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_WAVECAL_INI_BY_CPL_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "sinfo_wavecal_cfg.h"</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> Function prototypes </span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> wave_config * </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> sinfo_parse_cpl_input_wave(cpl_parameterlist * cpl_cfg, </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> cpl_frameset* sof, </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> cpl_frameset** raw) ;</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> sinfo_wavecal_free(wave_config ** cfg);</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__wcal__functions_8c_source.html b/html/sinfo__wcal__functions_8c_source.html
deleted file mode 100644
index 6d1c017..0000000
--- a/html/sinfo__wcal__functions_8c_source.html
+++ /dev/null
@@ -1,453 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_wcal_functions.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_wcal_functions.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_wcal_functions.c,v 1.10 2013/09/17 08:12:53 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2013/09/17 08:12:53 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.10 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span><span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_wcal_functions.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">/* struct qc_wcal qc_wcal_par; */</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> qc_wcal* sinfo_qc_wcal_new(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> { </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> qc_wcal * qc;</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> qc= cpl_malloc(<span class="keyword">sizeof</span>(qc_wcal));</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> qc->avg_on=0; </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> qc->std_on=0;</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> qc->avg_of=0; </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> qc->std_of=0;</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> qc->avg_di=0; </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> qc->std_di=0;</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> qc->max_on=0;</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> qc->max_of=0;</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> qc->max_di=0;</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> qc->nsat_on=0;</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> qc->noise_on=0;</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> qc->noise_of=0;</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> qc->flux_on=0;</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> qc->nsat=0;</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordflow">return</span> qc;</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> }</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">void</span> sinfo_qc_wcal_delete(qc_wcal** qc)</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> {</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> cpl_free(*qc);</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> *qc = NULL;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> }</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">int</span> sinfo_dumpTblToFitParams ( FitParams ** params, <span class="keywordtype">char</span> * filename )</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> {</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> cpl_table * fp =NULL;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">char</span>* col=NULL;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">int</span> i =0;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">int</span> j =0;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keywordtype">int</span> status=0;</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordflow">if</span> ( NULL == params )</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> {</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no fit parameters available!"</span>) ;</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> }</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordflow">if</span> ( NULL == filename )</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> {</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a> (<span class="stringliteral">"no filename available!"</span>) ;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> }</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> fp=cpl_table_load(filename,1,0);</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordflow">if</span>(cpl_error_get_code() != CPL_ERROR_NONE) {</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> sinfo_msg(<span class="stringliteral">"cannot load table %s"</span>,filename);</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"%s"</span>, (<span class="keywordtype">char</span>* ) cpl_error_get_message());</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> }</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> col = (<span class="keywordtype">char</span>*) cpl_calloc(MAX_NAME_SIZE,<span class="keyword">sizeof</span>(<span class="keywordtype">char</span>*));</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordflow">for</span> ( i = 0 ; i < params[0]->n_params ; i++ )</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> {</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> params[i]->n_params=cpl_table_get_int(fp,<span class="stringliteral">"n_params"</span>,i,&status);</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> params[i]->column =cpl_table_get_int(fp,<span class="stringliteral">"column"</span>,i,&status);</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> params[i]->line =cpl_table_get_int(fp,<span class="stringliteral">"line"</span>,i,&status);</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordflow">for</span> (j=0 ; j < 4; j++) {</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> snprintf(col,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d"</span>,<span class="stringliteral">"fpar"</span>,j);</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> params[i]->fit_par[j]=cpl_table_get_double(fp,col,i,&status);</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> snprintf(col,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%d"</span>,<span class="stringliteral">"dpar"</span>,j);</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> params[i]->derv_par[j]=cpl_table_get_double(fp,col,i,&status);</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> }</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> }</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> cpl_free(col);</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> cpl_table_delete(fp) ;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> }</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">int</span> sinfo_det_ncounts(cpl_frameset* raw, <span class="keywordtype">int</span> thresh_max, qc_wcal* qc)</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> {</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordtype">long</span> nraw=0;</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keywordtype">int</span> non=0;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordtype">int</span> noff=0;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordtype">int</span> nsat=0;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keywordtype">double</span> mean=0;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordtype">double</span> max=0;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">double</span> mjd_on=0;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordtype">double</span> mjd_of=0;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordtype">double</span> mjd_of_frm=0;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordtype">char</span> name[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordtype">char</span> filename[FILE_NAME_SZ];</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> cpl_vector* avg_on=NULL;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> cpl_vector* avg_of=NULL;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> cpl_vector* avg_di=NULL;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> cpl_vector* max_on=NULL;</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> cpl_vector* max_of=NULL;</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> cpl_vector* max_di=NULL;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> cpl_vector* vec_nsat=NULL;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> cpl_frame* frm=NULL;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> cpl_frame* frm_dup=NULL;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> cpl_frame* on_frm=NULL;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> cpl_frame* of_frm=NULL;</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> cpl_frame* tmp_of_frm=NULL;</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> cpl_image* dif_ima=NULL;</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> cpl_image* on_ima=NULL;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> cpl_image* of_ima=NULL;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> cpl_image* tmp_ima=NULL;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> cpl_frameset* on_set=NULL;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> cpl_frameset* of_set=NULL;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> on_set=cpl_frameset_new();</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> of_set=cpl_frameset_new();</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> nraw = cpl_frameset_get_size(raw);</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordflow">for</span> (i=0; i< nraw; i++) {</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> check_nomsg(frm = cpl_frameset_get_frame(raw,i));</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> check_nomsg(frm_dup = cpl_frame_duplicate(frm));</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keywordflow">if</span>(sinfo_frame_is_on(frm) == 1) {</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> cpl_frameset_insert(on_set,frm_dup);</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> non++;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> cpl_frameset_insert(of_set,frm_dup);</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> noff++;</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> }</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> }</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordflow">if</span> (non == noff) { </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> sinfo_msg(<span class="stringliteral">"Monitor counts: case Non==Noff"</span>);</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> avg_on = cpl_vector_new(non);</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> avg_of = cpl_vector_new(non);</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> avg_di = cpl_vector_new(non);</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> max_on = cpl_vector_new(non);</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> max_of = cpl_vector_new(non);</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> max_di = cpl_vector_new(non);</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> vec_nsat = cpl_vector_new(non);</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordflow">for</span> (i=0; i< non; i++) {</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> check_nomsg(on_frm = cpl_frameset_get_frame(on_set,i));</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> strcpy(name,cpl_frame_get_filename(on_frm));</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> check_nomsg(on_ima = cpl_image_load(name,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> check_nomsg(mean= cpl_image_get_mean(on_ima));</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> check_nomsg(cpl_vector_set(avg_on,i,mean));</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> check_nomsg(max= cpl_image_get_max(on_ima));</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> check_nomsg(cpl_vector_set(max_on,i,max));</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> check_nomsg(tmp_ima = cpl_image_duplicate(on_ima));</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> check_nomsg(cpl_image_threshold(tmp_ima,thresh_max,thresh_max,0,1));</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> check_nomsg(nsat=cpl_image_get_flux(tmp_ima));</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> check_nomsg(cpl_vector_set(vec_nsat,i,nsat));</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> check_nomsg(of_frm = cpl_frameset_get_frame(of_set,i));</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> strcpy(name,cpl_frame_get_filename(of_frm));</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> check_nomsg(of_ima = cpl_image_load(name,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> check_nomsg(mean= cpl_image_get_mean(of_ima));</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> check_nomsg(cpl_vector_set(avg_of,i,mean));</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> check_nomsg(max= cpl_image_get_max(of_ima));</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> check_nomsg(cpl_vector_set(max_of,i,max));</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> check_nomsg(dif_ima = cpl_image_subtract_create(on_ima,of_ima));</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> check_nomsg(mean= cpl_image_get_mean(dif_ima));</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> check_nomsg(cpl_vector_set(avg_di,i,mean));</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> check_nomsg(max= cpl_image_get_max(dif_ima));</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> check_nomsg(cpl_vector_set(max_di,i,max));</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> sinfo_free_image(&on_ima);</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> sinfo_free_image(&of_ima);</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> sinfo_free_image(&dif_ima);</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> sinfo_free_image(&tmp_ima);</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> }</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> check_nomsg(qc->avg_on=cpl_vector_get_mean(avg_on));</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> check_nomsg(qc->avg_of=cpl_vector_get_mean(avg_of));</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> check_nomsg(qc->avg_di=cpl_vector_get_mean(avg_di));</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> check_nomsg(qc->max_on=cpl_vector_get_max(max_on));</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> check_nomsg(qc->max_of=cpl_vector_get_max(max_of));</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> check_nomsg(qc->max_di=cpl_vector_get_max(max_di));</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> check_nomsg(qc->nsat=cpl_vector_get_mean(vec_nsat));</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="keywordflow">if</span> (non > 1) {</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> check_nomsg(qc->std_on=cpl_vector_get_stdev(avg_on));</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> check_nomsg(qc->std_of=cpl_vector_get_stdev(avg_of));</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> check_nomsg(qc->std_di=cpl_vector_get_stdev(avg_di));</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> }</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> sinfo_free_my_vector(&avg_on);</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> sinfo_free_my_vector(&avg_of);</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> sinfo_free_my_vector(&avg_di); </div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> sinfo_free_my_vector(&max_on);</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> sinfo_free_my_vector(&max_of);</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> sinfo_free_my_vector(&max_di);</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> sinfo_free_my_vector(&vec_nsat);</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( ((non ==0) | (noff == 0)) && (nraw > 0 ) ) {</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> sinfo_msg(<span class="stringliteral">"Monitor counts: case Nraw == 1"</span>);</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> check_nomsg(avg_di = cpl_vector_new(nraw));</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> check_nomsg(max_di = cpl_vector_new(nraw));</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> check_nomsg(vec_nsat = cpl_vector_new(nraw));</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="keywordflow">for</span> (i=0; i< nraw; i++) {</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> check_nomsg(frm = cpl_frameset_get_frame(raw,i));</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> strcpy(name,cpl_frame_get_filename(frm));</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> check_nomsg(dif_ima = cpl_image_load(name,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> check_nomsg(mean= cpl_image_get_mean(dif_ima));</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> check_nomsg(tmp_ima=cpl_image_duplicate(dif_ima));</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> sinfo_clean_nan(&tmp_ima);</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> check_nomsg(mean= cpl_image_get_mean(tmp_ima));</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> check_nomsg(cpl_vector_set(avg_di,i,mean));</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> check_nomsg(max= cpl_image_get_max(tmp_ima));</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> check_nomsg(cpl_vector_set(max_di,i,max));</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> check_nomsg(cpl_image_threshold(tmp_ima,thresh_max,thresh_max,0,1));</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> check_nomsg(nsat=cpl_image_get_flux(tmp_ima));</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> check_nomsg(cpl_vector_set(vec_nsat,i,nsat));</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> sinfo_free_image(&tmp_ima);</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> sinfo_free_image(&dif_ima);</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> </div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> }</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> qc->avg_di=cpl_vector_get_mean(avg_di);</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="keywordflow">if</span> (nraw > 1) {</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> check_nomsg(qc->std_di=cpl_vector_get_stdev(avg_di));</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> }</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> check_nomsg(qc->max_di=cpl_vector_get_max(max_di));</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> check_nomsg(qc->nsat=cpl_vector_get_mean(vec_nsat));</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> sinfo_free_my_vector(&avg_di);</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> sinfo_free_my_vector(&max_di);</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> sinfo_free_my_vector(&vec_nsat);</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> sinfo_msg(<span class="stringliteral">"Monitor counts: else case"</span>);</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> avg_on = cpl_vector_new(non);</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> avg_of = cpl_vector_new(non);</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> avg_di = cpl_vector_new(non);</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> max_on = cpl_vector_new(non);</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> max_of = cpl_vector_new(non);</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> max_di = cpl_vector_new(non);</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> </div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> vec_nsat = cpl_vector_new(non);</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> </div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="keywordflow">for</span> (i=0;i<non;i++) {</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> check_nomsg(on_frm=cpl_frameset_get_frame(on_set,i));</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> check_nomsg(mjd_on=sinfo_get_mjd_obs(on_frm));</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> check_nomsg(of_frm=cpl_frameset_get_frame(of_set,0));</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> check_nomsg(mjd_of=sinfo_get_mjd_obs(of_frm));</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> strcpy(filename,cpl_frame_get_filename(of_frm));</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="keywordflow">for</span> (j=1;j<noff;j++) {</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> check_nomsg(tmp_of_frm = cpl_frameset_get_frame(of_set,j));</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> check_nomsg(mjd_of_frm = sinfo_get_mjd_obs(tmp_of_frm));</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="keywordflow">if</span>(1000.*(mjd_of_frm-mjd_on)*(mjd_of_frm-mjd_on) <</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> 1000.*(mjd_of- mjd_on)*(mjd_of- mjd_on) ) {</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> mjd_of=mjd_of_frm;</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> of_frm=tmp_of_frm;</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> }</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> }</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> </div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> strcpy(filename,cpl_frame_get_filename(of_frm));</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> check_nomsg(of_ima = cpl_image_load(filename,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> check_nomsg(mean= cpl_image_get_mean(of_ima));</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> check_nomsg(cpl_vector_set(avg_of,i,mean));</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> check_nomsg(max= cpl_image_get_max(of_ima));</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> check_nomsg(cpl_vector_set(max_of,i,max));</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> strcpy(filename,cpl_frame_get_filename(on_frm));</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> check_nomsg(on_ima = cpl_image_load(filename,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> check_nomsg(mean= cpl_image_get_mean(on_ima)); </div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> check_nomsg(cpl_vector_set(avg_on,i,mean));</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> check_nomsg(max= cpl_image_get_mean(on_ima)); </div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> check_nomsg(cpl_vector_set(max_on,i,max));</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> </div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> check_nomsg(tmp_ima = cpl_image_duplicate(on_ima)); </div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> check_nomsg(cpl_image_threshold(tmp_ima,thresh_max,thresh_max,0,1));</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> check_nomsg(nsat=cpl_image_get_flux(tmp_ima));</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> check_nomsg(cpl_vector_set(vec_nsat,i,nsat));</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> check_nomsg(dif_ima = cpl_image_subtract_create(on_ima,of_ima));</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> check_nomsg(mean= cpl_image_get_mean(dif_ima));</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> check_nomsg(cpl_vector_set(avg_di,i,mean));</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> check_nomsg(max= cpl_image_get_max(dif_ima));</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> check_nomsg(cpl_vector_set(max_di,i,max));</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> </div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> sinfo_free_image(&on_ima);</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> sinfo_free_image(&of_ima);</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> sinfo_free_image(&dif_ima);</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> sinfo_free_image(&tmp_ima);</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> </div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> }</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> </div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> sinfo_free_my_vector(&avg_on);</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> sinfo_free_my_vector(&avg_of);</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> sinfo_free_my_vector(&avg_di);</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> sinfo_free_my_vector(&max_on);</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> sinfo_free_my_vector(&max_of);</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> sinfo_free_my_vector(&max_di);</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> sinfo_free_my_vector(&vec_nsat);</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> </div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> }</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="comment"> sinfo_msg("avg_on=%g std_on=%g ",qc->avg_on,qc_wcal.std_on);</span></div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="comment"> sinfo_msg("avg_of=%g std_of=%g ",qc->avg_of,qc_wcal.std_of);</span></div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="comment"> sinfo_msg("avg_di=%g std_di=%g ",qc->avg_di,qc_wcal.std_di);</span></div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="comment"> sinfo_msg("max_fl=%g nsat_on=%g ",qc->max_di,qc_wcal.nsat);</span></div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> cleanup:</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> </div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> sinfo_free_image(&on_ima);</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> sinfo_free_image(&of_ima);</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> sinfo_free_image(&dif_ima);</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> sinfo_free_image(&tmp_ima);</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> sinfo_free_my_vector(&avg_on);</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> sinfo_free_my_vector(&avg_of);</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> sinfo_free_my_vector(&avg_di);</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> </div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> sinfo_free_my_vector(&max_on);</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> sinfo_free_my_vector(&max_of);</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> sinfo_free_my_vector(&max_di);</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> </div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> sinfo_free_my_vector(&vec_nsat);</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> </div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> sinfo_free_frameset(&on_set);</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> sinfo_free_frameset(&of_set);</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> </div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> </div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> }</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> </div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> </div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfo__wcal__functions_8h_source.html b/html/sinfo__wcal__functions_8h_source.html
deleted file mode 100644
index b70ef83..0000000
--- a/html/sinfo__wcal__functions_8h_source.html
+++ /dev/null
@@ -1,115 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_wcal_functions.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfo_wcal_functions.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_wcal_functions.h,v 1.2 2006/10/22 14:12:28 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the SINFONI Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This proram is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2006/10/22 14:12:28 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.2 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifndef SINFO_WCAL_FUNCTIONS_H</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#define SINFO_WCAL_FUNCTIONS_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="keyword">struct </span>qc_wcal_ {</div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="keywordtype">double</span> avg_on; </div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="keywordtype">double</span> std_on;</div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="keywordtype">double</span> avg_of; </div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="keywordtype">double</span> std_of;</div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keywordtype">double</span> avg_di; </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="keywordtype">double</span> std_di;</div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keywordtype">double</span> max_on;</div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="keywordtype">double</span> max_of;</div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keywordtype">double</span> max_di;</div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keywordtype">double</span> nsat_on;</div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keywordtype">double</span> noise_on;</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keywordtype">double</span> noise_of;</div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keywordtype">double</span> flux_on;</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keywordtype">double</span> nsat;</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> };</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>qc_wcal_ qc_wcal;</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/* extern struct qc_wcal qc_wcal_par; */</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include <cpl.h></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include <sinfo_globals.h></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include <sinfo_spiffi_types.h></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include <sinfo_wavecal_cfg.h></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">/* ---------------------------------------------------------------------- </span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> group of frames</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">---------------------------------------------------------------------- */</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">int</span> sinfo_dumpTblToFitParams ( FitParams ** params, <span class="keywordtype">char</span> * filename );</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">int</span> sinfo_det_ncounts(cpl_frameset* raw, <span class="keywordtype">int</span> thresh_max, qc_wcal* qc);</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> qc_wcal* sinfo_qc_wcal_new(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">void</span> sinfo_qc_wcal_delete(qc_wcal** qc);</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> CPL_END_DECLS</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfoni_2sinfo__utl__cube2ima_8c_source.html b/html/sinfoni_2sinfo__utl__cube2ima_8c_source.html
deleted file mode 100644
index 17f7005..0000000
--- a/html/sinfoni_2sinfo__utl__cube2ima_8c_source.html
+++ /dev/null
@@ -1,277 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_cube2ima.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfoni/sinfo_utl_cube2ima.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_cube2ima.c,v 1.8 2012/03/03 10:17:31 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the IIINSTRUMENT Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2012/03/03 10:17:31 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.8 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_new_cube_ops.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_utl_cube2ima.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_key_names.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">int</span> sinfo_utl_cube2ima(</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> cpl_parameterlist * parlist, </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> cpl_frameset * framelist)</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> {</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> cpl_parameter * param =NULL ;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * name_i =NULL;</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * name_o =NULL;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">double</span> ws=0 ;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">double</span> we=0 ;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">double</span> wc=0 ;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">double</span> wd=0 ;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">int</span> naxis3=0;</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">double</span> lams=0;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">double</span> lame=0;</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> cpl_frame * frm_cub=NULL ;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> cpl_propertylist * plist=NULL ;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> cpl_frame * product_frame=NULL;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> cpl_imagelist * cube=NULL;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> cpl_image * img=NULL;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment">/* HOW TO RETRIEVE INPUT PARAMETERS */</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment">/* --stropt */</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> name_o =<span class="stringliteral">"out_ima.fits"</span>;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">/* --doubleopt */</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> check_nomsg(param = cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2ima.ws"</span>));</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> check_nomsg(ws = cpl_parameter_get_double(param)) ;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment">/* --doubleopt */</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> check_nomsg(param = cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2ima.we"</span>));</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> check_nomsg(we = cpl_parameter_get_double(param)) ;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">/* Identify the RAW and CALIB frames in the input frameset */</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> check(sinfo_dfs_set_groups(framelist),</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="stringliteral">"Cannot identify RAW and CALIB frames"</span>);</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment">/* HOW TO ACCESS INPUT DATA */</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> check(frm_cub = cpl_frameset_find(framelist, SI_UTL_CUBE2IMA_CUBE),</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="stringliteral">"SOF does not have a file tagged as %s"</span>,SI_UTL_CUBE2IMA_CUBE);</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> check_nomsg(name_i = cpl_frame_get_filename(frm_cub));</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> plist=cpl_propertylist_load(name_i,0);</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> naxis3=sinfo_pfits_get_naxis3(plist);</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> wd=sinfo_pfits_get_cdelt3(plist);</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> wc=sinfo_pfits_get_crval3(plist);</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> lams=wc-naxis3*wd/2+wd;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> lame=lams+(naxis3-2)*wd;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> check_nomsg(param = cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2ima.ws"</span>));</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">if</span>(ws != cpl_parameter_get_default_double(param)) {</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordflow">if</span> (ws < lams) {</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"ws =%f too low set it to %f"</span>,ws,lams);</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> ws=lams;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> }</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ws >= lame) {</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"ws =%f too high set it to %f"</span>,ws,lams);</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> ws=lams;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> }</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> ws=lams;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> }</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> check_nomsg(param = cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2ima.we"</span>));</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordflow">if</span>(we != cpl_parameter_get_default_double(param)) {</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keywordflow">if</span> (we > lame) {</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"we =%f too low set it to %f"</span>,we,lame);</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> we=lame;</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> }</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (we <= lams) {</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"we =%f too low set it to %f"</span>,we,lame);</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> we=lame;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> }</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> we=lame;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> }</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> check(plist=cpl_propertylist_load(cpl_frame_get_filename(frm_cub),0),</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="stringliteral">"Cannot read the FITS header"</span>) ;</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment">/* recipe's algorithm */</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> check_nomsg(cube = cpl_imagelist_load((<span class="keywordtype">char</span>*)name_i,CPL_TYPE_FLOAT,0));</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordflow">if</span>(NULL==(img=sinfo_new_average_cube_to_image_between_waves(cube,wd,wc,</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> ws,we))) {</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Cannot average cube to image in wavelength "</span></div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="stringliteral">"range [%f,%f] um"</span>,ws,we) ;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> sinfo_free_imagelist(&cube);</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> sinfo_free_propertylist(&plist); </div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> }</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> sinfo_free_imagelist(&cube);</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment">/* HOW TO SAVE A PRODUCT ON DISK */</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="comment">/* Create product frame */</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> check_nomsg(product_frame = cpl_frame_new());</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> check_nomsg(cpl_frame_set_filename(product_frame, name_o)) ;</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> check_nomsg(cpl_frame_set_tag(product_frame, SI_UTL_CUBE2IMA_PROIMA)) ;</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> check_nomsg(cpl_frame_set_type(product_frame, CPL_FRAME_TYPE_IMAGE)) ;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> check_nomsg(cpl_frame_set_group(product_frame, CPL_FRAME_GROUP_PRODUCT)) ;</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> check(cpl_frame_set_level(product_frame, CPL_FRAME_LEVEL_FINAL), </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="stringliteral">"Error while initialising the product frame"</span>) ;</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment">/* Add DataFlow keywords */</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> check_nomsg(cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"^ESO PRO CATG"</span>,0));</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="preprocessor">#if defined CPL_VERSION_CODE && CPL_VERSION_CODE >= CPL_VERSION(4, 8, 0) </span></div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="preprocessor"></span> check(cpl_dfs_setup_product_header(plist, </div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> product_frame, </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> framelist, </div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> parlist,</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="stringliteral">"si_sinfo_utl_cube2ima"</span>, </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="stringliteral">"SINFONI"</span>, </div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> KEY_VALUE_HPRO_DID,NULL),</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="stringliteral">"Problem in the product DFS-compliance"</span>) ;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="preprocessor"></span> check(cpl_dfs_setup_product_header(plist, </div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> product_frame, </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> framelist, </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> parlist,</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="stringliteral">"si_sinfo_utl_cube2ima"</span>, </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="stringliteral">"SINFONI"</span>, </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> KEY_VALUE_HPRO_DID),</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="stringliteral">"Problem in the product DFS-compliance"</span>) ;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="preprocessor"></span> </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="comment">/* Save the file */</span></div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> check_nomsg(cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"^CTYPE3"</span>,0));</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> check_nomsg(cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"^CRPIX3"</span>,0));</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> check_nomsg(cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"^CRVAL3"</span>,0));</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> check_nomsg(cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"^CDELT3"</span>,0));</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> check_nomsg(cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"^CUNIT3"</span>,0));</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> check(cpl_image_save(img, </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> name_o, </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> CPL_BPP_IEEE_FLOAT, </div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> plist,</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> CPL_IO_DEFAULT),</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="stringliteral">"Could not save product"</span>);</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> check_nomsg(sinfo_free_propertylist(&plist)) ;</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="comment">/* Log the saved file in the input frameset */</span></div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> check_nomsg(cpl_frameset_insert(framelist, product_frame)) ;</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> check_nomsg(sinfo_free_image(&img)) ;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> cleanup:</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> sinfo_free_imagelist(&cube);</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> sinfo_free_propertylist(&plist); </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> sinfo_free_image(&img);</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordflow">if</span> (cpl_error_get_code()) </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfoni_2sinfo__utl__cube2spectrum_8c_source.html b/html/sinfoni_2sinfo__utl__cube2spectrum_8c_source.html
deleted file mode 100644
index 30bbcbc..0000000
--- a/html/sinfoni_2sinfo__utl__cube2spectrum_8c_source.html
+++ /dev/null
@@ -1,520 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_cube2spectrum.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfoni/sinfo_utl_cube2spectrum.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_cube2spectrum.c,v 1.11 2012/03/03 10:17:31 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the IIINSTRUMENT Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2012/03/03 10:17:31 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.11 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_utl_cube2spectrum.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_functions.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_spectrum_ops.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_key_names.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_pro_save.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_utilities_scired.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_globals.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> sinfo_change_header(<span class="keyword">const</span> <span class="keywordtype">char</span> * name);</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> Function implementation</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> sinfo_change_header(<span class="keyword">const</span> <span class="keywordtype">char</span> * name) {</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">int</span> cenpix=0;</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">double</span> cenLambda=0;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keywordtype">double</span> dispersion=0;</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> cpl_propertylist* plist=NULL;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> plist=cpl_propertylist_load(name,0);</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> cenpix = sinfo_pfits_get_crpix3(plist);</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> cenLambda = sinfo_pfits_get_crval3(plist);</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> dispersion = sinfo_pfits_get_cdelt3(plist);</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> check(cpl_propertylist_set_string(plist,<span class="stringliteral">"CTYPE2"</span>,<span class="stringliteral">"WAVE"</span>),<span class="stringliteral">"Setting CTYPE2"</span>);</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> check_nomsg(cpl_propertylist_set_comment(plist,<span class="stringliteral">"CTYPE2"</span>,</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="stringliteral">"wavelength axis in microns"</span>));</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> check(cpl_propertylist_set_double(plist,<span class="stringliteral">"CRPIX2"</span>,(<span class="keywordtype">double</span>)cenpix),</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="stringliteral">"Setting CRPIX2"</span>);</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> check_nomsg(cpl_propertylist_set_comment(plist,<span class="stringliteral">"CRPIX2"</span>,<span class="stringliteral">"Reference pixel"</span>));</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> check(cpl_propertylist_set_double(plist,<span class="stringliteral">"CRVAL2"</span>,cenLambda),</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="stringliteral">"Setting CRVAL2"</span>);</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> check_nomsg(cpl_propertylist_set_comment(plist,<span class="stringliteral">"CRVAL2"</span>,</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="stringliteral">"central wavelength"</span>));</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> check(cpl_propertylist_set_double(plist,<span class="stringliteral">"CDELT2"</span>,dispersion),</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="stringliteral">"Setting CDELT2"</span>);</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> check_nomsg(cpl_propertylist_set_comment(plist,<span class="stringliteral">"CDELT2"</span>,</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="stringliteral">"microns per pixel"</span>));</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> check(cpl_propertylist_set_string(plist,<span class="stringliteral">"CUNIT2"</span>,<span class="stringliteral">"um"</span>),<span class="stringliteral">"Setting CUNIT2"</span>); </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> check_nomsg(cpl_propertylist_set_comment(plist,<span class="stringliteral">"CUNIT2"</span>,<span class="stringliteral">"spectral unit"</span>)); </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> check(cpl_propertylist_set_string(plist,<span class="stringliteral">"CTYPE1"</span>,<span class="stringliteral">"ONESPEC"</span>),</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="stringliteral">"Setting CTYPE1"</span>);</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> check_nomsg(cpl_propertylist_set_comment(plist,<span class="stringliteral">"CTYPE1"</span>,</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="stringliteral">"one spectrum in y-direction"</span>));</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordflow">if</span>(cpl_propertylist_has(plist,<span class="stringliteral">"CRPIX1"</span>)==1) {</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> check(cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"CRPIX1"</span>,0),<span class="stringliteral">"Erasing CRPIX1"</span>);</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> }</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordflow">if</span>(cpl_propertylist_has(plist,<span class="stringliteral">"CRVAL1"</span>)==1) {</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> check(cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"CRVAL1"</span>,0),<span class="stringliteral">"Erasing CRVAL1"</span>);</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> }</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordflow">if</span>(cpl_propertylist_has(plist,<span class="stringliteral">"CDELT1"</span>)==1) {</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> check(cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"CDELT1"</span>,0),<span class="stringliteral">"Erasing CDELT1"</span>);</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> }</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordflow">if</span>(cpl_propertylist_has(plist,<span class="stringliteral">"CUNIT1"</span>)==1) {</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> check(cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"CUNIT1"</span>,0),<span class="stringliteral">"Erasing CUNIT1"</span>);</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> }</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordflow">if</span>(cpl_propertylist_has(plist,<span class="stringliteral">"CTYPE3"</span>)==1) {</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> check(cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"CTYPE3"</span>,0),<span class="stringliteral">"Erasing CTYPE3"</span>);</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> }</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">if</span>(cpl_propertylist_has(plist,<span class="stringliteral">"CRPIX3"</span>)==1) {</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> check(cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"CRPIX3"</span>,0),<span class="stringliteral">"Erasing CRPIX3"</span>);</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> }</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordflow">if</span>(cpl_propertylist_has(plist,<span class="stringliteral">"CRVAL3"</span>)==1) {</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> check(cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"CRVAL3"</span>,0),<span class="stringliteral">"Erasing CRVAL3"</span>);</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> }</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordflow">if</span>(cpl_propertylist_has(plist,<span class="stringliteral">"CDELT3"</span>)==1) {</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> check(cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"CDELT3"</span>,0),<span class="stringliteral">"Erasing CDELT3"</span>);</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> }</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordflow">if</span>(cpl_propertylist_has(plist,<span class="stringliteral">"CUNIT3"</span>)==1) {</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> check(cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"CUNIT3"</span>,0),<span class="stringliteral">"Erasing CUNIT3"</span>);</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> }</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordflow">if</span>(cpl_propertylist_has(plist,<span class="stringliteral">"CD1_1"</span>)==1) {</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> check(cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"CD1_1"</span>,0),<span class="stringliteral">"Erasing CD1_1"</span>);</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> }</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keywordflow">if</span>(cpl_propertylist_has(plist,<span class="stringliteral">"CD1_2"</span>)==1) {</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> check(cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"CD1_2"</span>,0),<span class="stringliteral">"Erasing CD1_2"</span>);</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> }</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">if</span>(cpl_propertylist_has(plist,<span class="stringliteral">"CD2_1"</span>)==1) {</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> check(cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"CD2_1"</span>,0),<span class="stringliteral">"Erasing CD2_1"</span>);</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> }</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordflow">if</span>(cpl_propertylist_has(plist,<span class="stringliteral">"CD2_2"</span>)==1) {</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> check(cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"CD2_2"</span>,0),<span class="stringliteral">"Erasing CD2_2"</span>);</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> }</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> cleanup:</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordflow">if</span> (cpl_error_get_code()) </div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> }</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keywordtype">int</span> sinfo_utl_cube2spectrum(</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> cpl_parameterlist * parlist, </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> cpl_frameset * framelist,</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* tag)</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> {</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> cpl_parameter * param =NULL;</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * operation =NULL;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * aperture =NULL;</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keywordtype">char</span> name_i [MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordtype">int</span> llx=0;</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordtype">int</span> urx=0;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordtype">int</span> lly=0;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keywordtype">int</span> ury=0;</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keywordtype">int</span> lo_rej=0;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keywordtype">int</span> hi_rej=0;</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keywordtype">int</span> centerx=0;</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keywordtype">int</span> centery=0;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="keywordtype">int</span> radius=0;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keywordtype">int</span> clx=0;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keywordtype">int</span> cly=0;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="keywordtype">double</span> disp=0;</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keywordtype">double</span> cpix=0;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keywordtype">double</span> clam=0;</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> cpl_frame * frm_cub=NULL;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keywordtype">char</span> ima_o[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keywordtype">char</span> tbl_o[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keywordtype">char</span> tag_i[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keywordtype">char</span> tag_o[MAX_NAME_SIZE];</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> cpl_propertylist * plist =NULL;</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> cpl_image * image =NULL;</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> cpl_frame * product_frame=NULL;</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> cpl_image * im_spec=NULL;</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> cpl_table * tbl_spec=NULL;</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> cpl_image * img=NULL;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> cpl_imagelist * cube=NULL;</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> Vector * spec=NULL;</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment">/*fits_header* head=NULL; */</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="comment">/* HOW TO RETRIEVE INPUT PARAMETERS */</span></div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="comment">/* --stropt */</span></div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> check_nomsg(param=cpl_parameterlist_find(parlist, </div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum.op"</span>));</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> check_nomsg(operation=cpl_parameter_get_string(param));</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="comment">/* --stropt */</span></div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> check_nomsg(param=cpl_parameterlist_find(parlist, </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum.ap"</span>));</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> check_nomsg(aperture=cpl_parameter_get_string(param));</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="comment">/* --stropt */</span></div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordflow">if</span> (tag == NULL) {</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> strcpy(ima_o,<span class="stringliteral">"out_spec_ima.fits"</span>);</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> strcpy(tbl_o,<span class="stringliteral">"out_spec_tbl.fits"</span>);</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> strcpy(tag_i,SI_UTL_CUBE2SPECTRUM_CUBE);</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> strcpy(tag_o,SI_UTL_CUBE2SPECTRUM_PROIMA);</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> snprintf(ima_o,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%s"</span>,tag,<span class="stringliteral">"_spec_ima.fits"</span>);</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> snprintf(tbl_o,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%s"</span>,tag,<span class="stringliteral">"_spec_tbl.fits"</span>);</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> snprintf(tag_o,MAX_NAME_SIZE-1,<span class="stringliteral">"%s%s"</span>,tag,<span class="stringliteral">"_SPCT"</span>);</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> strcpy(tag_i, tag);</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> }</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="comment">/* --intopt */</span></div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum.llx"</span>));</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> check_nomsg(llx=cpl_parameter_get_int(param));</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="comment">/* --intopt */</span></div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum.lly"</span>));</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> check_nomsg(lly=cpl_parameter_get_int(param));</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="comment">/* --intopt */</span></div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum.urx"</span>));</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> check_nomsg(urx=cpl_parameter_get_int(param));</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="comment">/* --intopt */</span></div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum.ury"</span>));</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> check_nomsg(ury=cpl_parameter_get_int(param));</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment">/* --intopt */</span></div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum.lo_rej"</span>));</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> check_nomsg(lo_rej=cpl_parameter_get_int(param));</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="comment">/* --intopt */</span></div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum.hi_rej"</span>));</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> check_nomsg(hi_rej=cpl_parameter_get_int(param));</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="comment">/* --intopt */</span></div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum.centerx"</span>));</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> check_nomsg(centerx=cpl_parameter_get_int(param));</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="comment">/* --intopt */</span></div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum.centery"</span>));</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> check_nomsg(centery=cpl_parameter_get_int(param));</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="comment">/* --intopt */</span></div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> check_nomsg(param=cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube2spectrum.radius"</span>));</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> check_nomsg(radius=cpl_parameter_get_int(param));</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="comment">/* Identify the RAW and CALIB frames in the input frameset */</span></div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="keywordflow">if</span> (sinfo_dfs_set_groups(framelist)) {</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>( <span class="stringliteral">"Cannot identify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> }</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="comment">/* HOW TO ACCESS INPUT DATA */</span></div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> cknull(frm_cub=cpl_frameset_find(framelist,tag_i),</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="stringliteral">"SOF does not have a file tagged as %s"</span>,tag_i);</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="comment">/* Now performing the data reduction */</span></div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="comment">/* Let's generate one image for the example */</span></div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> check_nomsg(strcpy(name_i,cpl_frame_get_filename(frm_cub)));</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> check_nomsg(cube = cpl_imagelist_load((<span class="keywordtype">char</span>*)name_i,CPL_TYPE_FLOAT,0));</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> check_nomsg(img=cpl_imagelist_get(cube,0));</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> check_nomsg(clx=cpl_image_get_size_x(img));</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> check_nomsg(cly=cpl_image_get_size_y(img));</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> check(plist=cpl_propertylist_load(name_i,0),</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="stringliteral">"Cannot read the FITS header"</span>) ;</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> cpix = (double) sinfo_pfits_get_crpix3(plist);</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> clam = (double) sinfo_pfits_get_crval3(plist);</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> disp = (double) sinfo_pfits_get_cdelt3(plist);</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="keywordflow">if</span>(strcmp(aperture,<span class="stringliteral">"rectangle"</span>) ==0) {</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="keywordflow">if</span> (llx<0) {</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"llx=%d too low set it to 0"</span>,llx);</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> llx=0;</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> } </div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="keywordflow">if</span> (lly<0) {</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"lly=%d too low set it to 0"</span>,lly);</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> lly=0;</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> } </div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="keywordflow">if</span> (urx>clx-1) {</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"urx=%d too large set it to %d"</span>,urx,clx-1);</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> urx=clx-1;</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> } </div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="keywordflow">if</span> (ury>cly-1) {</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <a class="code" href="group__sinfo__msg.html#ga885dfc1c23dbdf3ea2051b42341a52a6" title="Print an warning message.">sinfo_msg_warning</a>(<span class="stringliteral">"ury=%d too large set it to %d"</span>,ury,cly-1);</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> ury=cly-1;</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> } </div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="keywordflow">if</span>(llx>=urx) {</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"llx>=urx!"</span>);</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> }</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="keywordflow">if</span>(lly>=ury) {</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"lly>=ury!"</span>);</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> }</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> </div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> } </div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="keywordflow">if</span>(strcmp(aperture,<span class="stringliteral">"circle"</span>) ==0) {</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="keywordflow">if</span>((centerx-radius) < 0) {</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"It is not possible to set centerx-radius<0."</span>);</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> }</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="keywordflow">if</span>((centery-radius) < 0) {</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"It is not possible to set centery-radius<0."</span>);</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> }</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="keywordflow">if</span>((centerx+radius) >= clx) {</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"It is not possible to set centerx+radius >= cube x sixe"</span>);</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> }</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> </div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keywordflow">if</span>((centery+radius) >= cly) {</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"It is not possible to set centery+radius >= cube y size."</span>);</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> }</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="keywordflow">if</span>((radius) < 0) {</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"It is not possible to set radius<0."</span>);</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> }</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> }</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> </div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="keywordflow">if</span>(strcmp(operation,<span class="stringliteral">"average"</span>) ==0) {</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="keywordflow">if</span> (strcmp(aperture,<span class="stringliteral">"rectangle"</span>) ==0) {</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> spec = sinfo_new_mean_rectangle_of_cube_spectra(cube,llx,lly,urx,ury);</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(aperture,<span class="stringliteral">"circle"</span>)==0) {</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> spec = sinfo_new_mean_circle_of_cube_spectra(cube,centerx,</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> centery,radius);</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Aperture not supported"</span>);</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> sinfo_msg(<span class="stringliteral">"Supported apertures are only:"</span>);</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> sinfo_msg(<span class="stringliteral">"rectangle, circle:"</span>);</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> }</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(operation,<span class="stringliteral">"clean_mean"</span>) ==0) {</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="keywordflow">if</span> (strcmp(aperture,<span class="stringliteral">"rectangle"</span>) == 0) {</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> spec = sinfo_new_clean_mean_rectangle_of_cube_spectra(cube,llx,lly,</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> urx,ury,</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> lo_rej,hi_rej);</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(aperture,<span class="stringliteral">"circle"</span>)==0) {</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> spec = sinfo_new_clean_mean_circle_of_cube_spectra(cube,centerx,</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> centery,radius,</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> lo_rej,hi_rej); </div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Aperture not supported"</span>);</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> sinfo_msg(<span class="stringliteral">"Supported apertures are only:"</span>);</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> sinfo_msg(<span class="stringliteral">"rectangle, circle:"</span>);</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> }</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(operation,<span class="stringliteral">"median"</span>) ==0) {</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="keywordflow">if</span> (strcmp(aperture,<span class="stringliteral">"rectangle"</span>)==0) {</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> spec = sinfo_new_median_rectangle_of_cube_spectra(cube,llx,lly,</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> urx,ury);</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(aperture,<span class="stringliteral">"circle"</span>)==0) {</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> spec = sinfo_new_median_circle_of_cube_spectra(cube,centerx,</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> centery,radius);</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Aperture not supported"</span>);</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> sinfo_msg(<span class="stringliteral">"Supported apertures are only:"</span>);</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> sinfo_msg(<span class="stringliteral">"rectangle, circle:"</span>);</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> }</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(operation,<span class="stringliteral">"sum"</span>) ==0) {</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="keywordflow">if</span> (strcmp(aperture,<span class="stringliteral">"rectangle"</span>)==0) {</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> spec = sinfo_new_sum_rectangle_of_cube_spectra(cube,llx,lly,urx,ury);</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(aperture,<span class="stringliteral">"circle"</span>)==0) {</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> spec = sinfo_new_sum_circle_of_cube_spectra(cube,centerx,</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> centery,radius);</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Aperture not supported"</span>);</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> sinfo_msg(<span class="stringliteral">"Supported apertures are only:"</span>);</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> sinfo_msg(<span class="stringliteral">"rectangle, circle:"</span>);</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> }</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(operation,<span class="stringliteral">"extract"</span>) == 0) {</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="keywordflow">if</span> (strcmp(aperture,<span class="stringliteral">"rectangle"</span>)==0) {</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> spec = sinfo_new_median_rectangle_of_cube_spectra(cube,llx,lly,</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> urx,ury); </div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(aperture,<span class="stringliteral">"circle"</span>)==0) {</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> spec = sinfo_new_median_circle_of_cube_spectra(cube,centerx,</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> centery,radius);</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Aperture not supported"</span>);</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> sinfo_msg(<span class="stringliteral">"Supported apertures are only:"</span>);</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> sinfo_msg(<span class="stringliteral">"rectangle, circle:"</span>);</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> }</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Operation not supported"</span>);</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> sinfo_msg(<span class="stringliteral">"Supported operations are only:"</span>);</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> sinfo_msg(<span class="stringliteral">"average, clean_mean, median, sum, extract :"</span>);</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> }</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> im_spec = sinfo_new_vector_to_image(spec);</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="comment">/* head = sinfo_fits_read_header((char*)name_i); */</span></div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> sinfo_msg(<span class="stringliteral">"name_i=%s"</span>,name_i);</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> ck0_nomsg(sinfo_change_header(name_i));</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> </div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="comment">/* HOW TO SAVE A PRODUCT ON DISK */</span></div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="comment">/* Set the file name */</span></div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> </div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="comment">/* Create product frame */</span></div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> ck0(sinfo_pro_save_ima(im_spec,framelist,framelist,ima_o,</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> tag_o,NULL,cpl_func,parlist),<span class="stringliteral">"failed to save ima"</span>);</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> </div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> </div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> sinfo_new_set_wcs_spectrum (im_spec,ima_o,clam, disp, cpix);</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> </div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> sinfo_stectrum_ima2table(im_spec,ima_o,&tbl_spec);</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> ck0(sinfo_pro_save_tbl(tbl_spec,framelist,framelist,tbl_o,</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> tag_o,NULL,cpl_func,parlist),</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="stringliteral">"failed to save spectrum"</span>);</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> cleanup:</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> sinfo_free_frame(&product_frame) ;</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> sinfo_free_image(&image) ;</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> sinfo_free_imagelist(&cube);</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> sinfo_free_image(&im_spec);</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="comment">/* This generate seg fault</span></div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="comment"> if(spec != NULL) sinfo_free_svector(&spec);</span></div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> sinfo_free_table(&tbl_spec);</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="comment">/*if(head != NULL) sinfo_fits_header_destroy(head); */</span></div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> </div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="keywordflow">if</span> (cpl_error_get_code()) </div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> </div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> </div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfoni_2sinfo__utl__cube__arith_8c_source.html b/html/sinfoni_2sinfo__utl__cube__arith_8c_source.html
deleted file mode 100644
index b19c126..0000000
--- a/html/sinfoni_2sinfo__utl__cube__arith_8c_source.html
+++ /dev/null
@@ -1,364 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_cube_arith.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfoni/sinfo_utl_cube_arith.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_cube_arith.c,v 1.14 2012/03/03 10:17:31 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the IIINSTRUMENT Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2012/03/03 10:17:31 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.14 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span><span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_utl_cube_arith.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <sinfo_spectrum_ops.h></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <sinfo_new_cube_ops.h></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_key_names.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_pro_types.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <sinfo_error.h></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <sinfo_utilities.h></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <sinfo_utils_wrappers.h></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">int</span> sinfo_utl_cube_arith(</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> cpl_parameterlist * parlist, </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> cpl_frameset * framelist)</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> {</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> cpl_parameter * param =NULL;</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * operation =NULL;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * name_c =NULL;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * name_s =NULL;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * name_o =NULL;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * name_d =<span class="stringliteral">"start"</span>;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">/* double temp=0 ; */</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keywordtype">double</span> value=0 ;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">double</span> def_value=0 ;</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> cpl_parameter * p=NULL;</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> cpl_frame * frm_cube=NULL ;</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> cpl_frame * frm_spct=NULL ;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> cpl_propertylist * plist=NULL ;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> cpl_image * image=NULL ;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> cpl_frame * product_frame=NULL;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> cpl_imagelist * cub_ims=NULL;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> cpl_imagelist * cube_i=NULL;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> cpl_imagelist * cube_o=NULL;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> cpl_imagelist * cube_d=NULL;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> cpl_image * std_star=NULL;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> Vector * bb=NULL;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> Vector* spectrum=NULL;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> cpl_vector* vec=NULL;</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">/* Identify the RAW and CALIB frames in the input frameset */</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> check(sinfo_dfs_set_groups(framelist),</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="stringliteral">"Cannot identify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment">/* HOW TO RETRIEVE INPUT PARAMETERS */</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment">/* --stropt */</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> check_nomsg(param = cpl_parameterlist_find(parlist, </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube_arith.op"</span>));</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> check_nomsg(operation = cpl_parameter_get_string(param));</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> name_o = <span class="stringliteral">"out_cube.fits"</span>;</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment">/* --doubleopt */</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> check_nomsg(param = cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube_arith.value"</span>));</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> check_nomsg(value = cpl_parameter_get_double(param));</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment">/* HOW TO ACCESS INPUT DATA */</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> check(frm_cube = cpl_frameset_find(framelist, SI_UTL_CUBE_ARITH_CUBE),</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="stringliteral">"SOF does not have a file tagged as %s"</span>,SI_UTL_CUBE_ARITH_CUBE);</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> check_nomsg(name_c = cpl_frame_get_filename(frm_cube));</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> check_nomsg(p = cpl_parameterlist_find(parlist, </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube_arith.value"</span>));</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> check_nomsg(def_value = cpl_parameter_get_default_double(p));</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">if</span> (value == def_value) {</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordflow">if</span> ((frm_spct = cpl_frameset_find(framelist, </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> SI_UTL_CUBE_ARITH_SPECTRUM))==NULL) {</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> sinfo_msg( <span class="stringliteral">"SOF does not have a file tagged as %s"</span>,</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> SI_UTL_CUBE_ARITH_SPECTRUM);</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> cpl_error_reset();</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> sinfo_msg( <span class="stringliteral">"SOF contains a file tagged as %s"</span>,</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> SI_UTL_CUBE_ARITH_SPECTRUM);</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> name_s = cpl_frame_get_filename(frm_spct);</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> name_d = <span class="stringliteral">"spectrum"</span>;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> }</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> }</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keywordflow">if</span> (value == def_value) {</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordflow">if</span> ((frm_spct = cpl_frameset_find(framelist, PRO_SPECTRUM))!=NULL) {</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> sinfo_msg( <span class="stringliteral">"SOF contains a file tagged as %s"</span>,PRO_SPECTRUM);</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> name_s = cpl_frame_get_filename(frm_spct);</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> name_d = <span class="stringliteral">"spectrum"</span>;</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((frm_spct = cpl_frameset_find(framelist, PRO_IMA))!=NULL) {</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> sinfo_msg( <span class="stringliteral">"SOF contains a file tagged as %s"</span>,PRO_IMA);</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> name_s = cpl_frame_get_filename(frm_spct);</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> name_d = <span class="stringliteral">"image"</span>;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> sinfo_msg( <span class="stringliteral">"SOF does not contains a file tagged as %s nor as %s"</span>,</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> PRO_SPECTRUM,PRO_IMA);</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> sinfo_msg( <span class="stringliteral">"Assume operation by a constant"</span>);</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> cpl_error_reset();</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> }</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> }</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> check(plist=cpl_propertylist_load(cpl_frame_get_filename(frm_cube),0),</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="stringliteral">"Cannot read the FITS header"</span>) ;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment">/* Now performing the data reduction */</span></div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment">/* Let's generate one image for the example */</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> check_nomsg(cube_i= cpl_imagelist_load((<span class="keywordtype">char</span>*)name_c,CPL_TYPE_FLOAT,0));</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordflow">if</span> (value == def_value) {</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> sinfo_msg(<span class="stringliteral">"value equal to default"</span>);</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordflow">if</span>( strcmp(name_d,<span class="stringliteral">"spectrum"</span>) == 0 ) {</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> sinfo_msg(<span class="stringliteral">"Operation by spectrum"</span>);</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> sinfo_msg(<span class="stringliteral">"loading spectrum image file %s"</span>,name_s);</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> check_nomsg(std_star=cpl_image_load((<span class="keywordtype">char</span>*)name_s,CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment">//check_nomsg(std_star=sinfo_vector_to_image(vec,CPL_TYPE_FLOAT));</span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> check_nomsg(spectrum = sinfo_new_image_to_vector(std_star));</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordflow">if</span> (strcmp(operation,<span class="stringliteral">"/"</span>) == 0) {</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> cube_o = sinfo_new_div_cube_by_spectrum (cube_i, spectrum);</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(operation,<span class="stringliteral">"-"</span>) == 0) {</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> cube_o = sinfo_new_sub_spectrum_from_cube(cube_i, spectrum);</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(operation,<span class="stringliteral">"+"</span>) == 0) {</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> cube_o = sinfo_new_add_spectrum_to_cube(cube_i, spectrum);</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(operation,<span class="stringliteral">"*"</span>) == 0) {</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> cube_o = sinfo_new_mul_spectrum_to_cube(cube_i, spectrum);</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment"> } else if (strcmp(operation,"calib") == 0) {</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment"> bb = sinfo_new_blackbody_spectrum ((char*)name_s, temp); </span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment"> cube_d = sinfo_new_div_cube_by_Spectrum (cube_i, spectrum);</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment"> cube_o = sinfo_new_mul_spectrum_to_cube(cube_d, bb); </span></div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"operation %s not supported"</span>,operation);</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> sinfo_msg(<span class="stringliteral">"If an input spectrum is given and no value is set"</span>);</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> sinfo_msg(<span class="stringliteral">"operations supported are: `/`,`-`,`+`,'*'"</span>);</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> }</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keywordflow">if</span> (strcmp(operation,<span class="stringliteral">"calib"</span>) == 0) {</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> }</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( strcmp(name_d,<span class="stringliteral">"image"</span>) == 0) {</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> sinfo_msg(<span class="stringliteral">"Operation by image"</span>);</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> check_nomsg(std_star=cpl_image_load ((<span class="keywordtype">char</span>*)name_s,</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> CPL_TYPE_FLOAT,0,0));</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keywordflow">if</span>(strcmp(operation,<span class="stringliteral">"+"</span>) == 0) {</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> cknull(cube_o = sinfo_new_add_image_to_cube(cube_i,std_star),</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="stringliteral">"operation %s failed"</span>,operation);</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(operation,<span class="stringliteral">"-"</span>) == 0) {</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> cknull(cube_o = sinfo_new_sub_image_from_cube(cube_i,std_star),</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="stringliteral">"operation %s failed"</span>,operation);</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(operation,<span class="stringliteral">"*"</span>) == 0) {</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> cknull(cube_o = sinfo_new_mul_image_to_cube(cube_i,std_star),</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="stringliteral">"operation %s failed"</span>,operation);</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(operation,<span class="stringliteral">"/"</span>) == 0) {</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> cknull(cube_o = sinfo_new_div_cube_by_image(cube_i,std_star),</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="stringliteral">"operation %s failed"</span>,operation);</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"operation %s not supported"</span>,operation);</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> sinfo_msg(<span class="stringliteral">"If an input image is set"</span>);</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> sinfo_msg(<span class="stringliteral">"operations supported are: `-`, `+`, `*`, `/`"</span>);</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> }</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> sinfo_msg(<span class="stringliteral">"Operation %s by constant"</span>,operation);</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> check_nomsg(cube_o = cpl_imagelist_duplicate(cube_i));</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keywordflow">if</span>(strcmp(operation,<span class="stringliteral">"+"</span>) == 0) {</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> check(cpl_imagelist_add_scalar(cube_o,value),</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="stringliteral">"operation %s failed"</span>,operation);</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(operation,<span class="stringliteral">"-"</span>) == 0) {</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> check(cpl_imagelist_subtract_scalar(cube_o,value),</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="stringliteral">"operation %s failed"</span>,operation);</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(operation,<span class="stringliteral">"*"</span>) == 0) {</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> check(cpl_imagelist_multiply_scalar(cube_o,value),</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="stringliteral">"operation %s failed"</span>,operation);</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(operation,<span class="stringliteral">"/"</span>) == 0) {</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> check(cpl_imagelist_divide_scalar(cube_o,value),</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="stringliteral">"operation %s failed"</span>,operation);</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"operation %s not supported"</span>,operation);</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> sinfo_msg(<span class="stringliteral">"If an input value is set"</span>);</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> sinfo_msg(<span class="stringliteral">"operations supported are: `-`, `+`, `*`, `/`"</span>);</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> }</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> } <span class="comment">/* env case op by constant && value == default */</span></div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> sinfo_msg(<span class="stringliteral">"Operation %s by constant"</span>,operation);</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> check_nomsg(cube_o = cpl_imagelist_duplicate(cube_i));</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="keywordflow">if</span>(strcmp(operation,<span class="stringliteral">"+"</span>) == 0) {</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> check(cpl_imagelist_add_scalar(cube_o,value),</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="stringliteral">"operation %s failed"</span>,operation);</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(operation,<span class="stringliteral">"-"</span>) == 0) {</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> check(cpl_imagelist_subtract_scalar(cube_o,value),</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="stringliteral">"operation %s failed"</span>,operation);</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(operation,<span class="stringliteral">"*"</span>) == 0) {</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> check(cpl_imagelist_multiply_scalar(cube_o,value),</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="stringliteral">"operation %s failed"</span>,operation);</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(operation,<span class="stringliteral">"/"</span>) == 0) {</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> check(cpl_imagelist_divide_scalar(cube_o,value),</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="stringliteral">"operation %s failed"</span>,operation);</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"operation %s not supported"</span>,operation);</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> sinfo_msg(<span class="stringliteral">"If an input value is set"</span>);</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> sinfo_msg(<span class="stringliteral">"operations supported are: `-`, `+`, `*`, `/`"</span>);</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> }</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> }</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="comment">/* HOW TO SAVE A PRODUCT ON DISK */</span></div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="comment">/* Set the file name */</span></div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="comment">/* Create product frame */</span></div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> check_nomsg(product_frame = cpl_frame_new());</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> check_nomsg(cpl_frame_set_filename(product_frame, name_o)) ;</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> check_nomsg(cpl_frame_set_tag(product_frame, SI_UTL_CUBE_ARITH_PROCUBE)) ;</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> check_nomsg(cpl_frame_set_type(product_frame, CPL_FRAME_TYPE_IMAGE)) ;</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> check_nomsg(cpl_frame_set_group(product_frame, CPL_FRAME_GROUP_PRODUCT)) ;</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> check(cpl_frame_set_level(product_frame, CPL_FRAME_LEVEL_FINAL),</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="stringliteral">"Error while initialising the product frame"</span>) ;</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="comment">/* Add DataFlow keywords */</span></div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> check_nomsg(cpl_propertylist_erase_regexp(plist, <span class="stringliteral">"^ESO PRO CATG"</span>,0));</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="preprocessor">#if defined CPL_VERSION_CODE && CPL_VERSION_CODE >= CPL_VERSION(4, 8, 0) </span></div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="preprocessor"></span> check(cpl_dfs_setup_product_header(plist, product_frame, framelist, </div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> parlist,</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="stringliteral">"si_sinfo_utl_cube_arith"</span>, </div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="stringliteral">"SINFONI"</span>, KEY_VALUE_HPRO_DID,NULL),</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="stringliteral">"Problem in the product DFS-compliance"</span>) ;</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="preprocessor"></span> check(cpl_dfs_setup_product_header(plist, product_frame, framelist, </div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> parlist,</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="stringliteral">"si_sinfo_utl_cube_arith"</span>, </div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="stringliteral">"SINFONI"</span>, KEY_VALUE_HPRO_DID),</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="stringliteral">"Problem in the product DFS-compliance"</span>) ;</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="comment">/* Save the file */</span></div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> check(cpl_imagelist_save(cube_o, name_o, CPL_BPP_IEEE_FLOAT, plist,</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> CPL_IO_DEFAULT),</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="stringliteral">"Could not save product"</span>);</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="comment">/* Log the saved file in the input frameset */</span></div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> check_nomsg(cpl_frameset_insert(framelist, product_frame)) ;</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> </div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> cleanup:</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> sinfoni_free_vector(&vec);</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> sinfo_free_svector(&spectrum);</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> sinfo_free_svector(&bb);</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> sinfo_free_imagelist(&cube_d);</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> sinfo_free_imagelist(&cube_i);</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> sinfo_free_imagelist(&cube_o);</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="comment">//If I free the next image I get core dump!</span></div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="comment">//sinfo_free_image(&std_star);</span></div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> sinfo_free_image(&image);</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> sinfo_free_imagelist(&cub_ims);</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="keywordflow">if</span> (cpl_error_get_code()) </div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfoni_2sinfo__utl__cube__combine_8c_source.html b/html/sinfoni_2sinfo__utl__cube__combine_8c_source.html
deleted file mode 100644
index 94ff1a0..0000000
--- a/html/sinfoni_2sinfo__utl__cube__combine_8c_source.html
+++ /dev/null
@@ -1,412 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_cube_combine.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfoni/sinfo_utl_cube_combine.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_cube_combine.c,v 1.20 2012/03/03 10:17:31 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the IIINSTRUMENT Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2012/03/03 10:17:31 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.20 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "sinfo_utl_cube_combine.h"</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_utilities.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_utilities_scired.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <stdio.h></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_key_names.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_pro_save.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">int</span> sinfo_utl_cube_combine(</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> cpl_parameterlist * parlist, </div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> cpl_frameset * framelist)</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> {</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> cpl_parameter * param=NULL ;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * name_o=NULL ;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * name_i=NULL ;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * name_m=NULL ;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> cpl_propertylist * plist=NULL ;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> cpl_image * image=NULL ;</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> cpl_frame * product_frame=NULL;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> cpl_frame * prod_frm=NULL;</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> cpl_frame * frame=NULL;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordtype">int</span> z=0;</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">int</span> z_min=0;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">int</span> z_max=0;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">int</span> z_siz=0;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordtype">int</span> z_stp=100;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordtype">int</span> xsize=0;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">int</span> ysize=0;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">int</span> scales_sky=0;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">int</span> i=0;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordtype">int</span> j=0;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">int</span> n=0;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">int</span> size_x=0;</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">int</span> size_y=0;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> cpl_image* j_img=NULL;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> cpl_image* m_img=NULL;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> cpl_imagelist ** cube_object=NULL;</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> cpl_imagelist * cube_jitter=NULL;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> cpl_imagelist * cube_mask=NULL;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keyword">const</span> <span class="keywordtype">char</span>** files=NULL;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keywordtype">int</span> nframes=0;</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">double</span> * times=NULL;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">float</span> * offsetx=NULL;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">float</span> * offsety=NULL;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">float</span> ref_offx=0;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordtype">float</span> ref_offy=0;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">float</span> tmpoffx=0;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">float</span> tmpoffy=0;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">double</span> kappa=2;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">int</span> ks_clip=0;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">int</span> min_size_x=9999;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordtype">int</span> min_size_y=9999;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name=NULL;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> FILE* file_list=NULL;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordtype">int</span> cnt=0;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordtype">int</span> onp=0;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment">/* HOW TO RETRIEVE INPUT PARAMETERS */</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment">/* --stropt */</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> check_nomsg(param = cpl_parameterlist_find(parlist, </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube_combine.ks_clip"</span>));</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> check_nomsg(ks_clip = cpl_parameter_get_bool(param));</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> check_nomsg(param = cpl_parameterlist_find(parlist, </div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube_combine.scale_sky"</span>));</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> check_nomsg(scales_sky = cpl_parameter_get_bool(param));</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> check_nomsg(param = cpl_parameterlist_find(parlist, </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube_combine.kappa"</span>));</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> check_nomsg(kappa = cpl_parameter_get_double(param));</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> check_nomsg(param = cpl_parameterlist_find(parlist, </div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube_combine.name_i"</span>));</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> check_nomsg(name_i = cpl_parameter_get_string(param));</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> check_nomsg(param = cpl_parameterlist_find(parlist, </div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube_combine.name_o"</span>));</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> check_nomsg(name_o = cpl_parameter_get_string(param));</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment">/* --doubleopt */</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> check_nomsg(param = cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube_combine.xsize"</span>));</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> check_nomsg(xsize = cpl_parameter_get_int(param));</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> check_nomsg(param = cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="stringliteral">"sinfoni.sinfo_utl_cube_combine.ysize"</span>));</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> check_nomsg(ysize = cpl_parameter_get_int(param));</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment">/* Identify the RAW and CALIB frames in the input frameset */</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> check(sinfo_dfs_set_groups(framelist),</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="stringliteral">"Cannot identify RAW and CALIB frames"</span>) ;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment">/* HOW TO ACCESS INPUT DATA */</span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> n=cpl_frameset_get_size(framelist);</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordflow">if</span>(n<1) {</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"Empty input frame list!"</span>);</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordflow">goto</span> cleanup ;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> }</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordflow">for</span> (i=0;i<n;i++) {</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> frame=cpl_frameset_get_frame(framelist,i);</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> cpl_frame_set_group(frame,CPL_FRAME_GROUP_RAW);</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> }</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment">/* Now performing the data reduction */</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment">/* Let's generate one image for the example */</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">if</span> ( NULL == (file_list = fopen (name_i, <span class="stringliteral">"r"</span> ) ) )</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> { </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot open %s\n"</span>, name_i) ;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">goto</span> cleanup ;</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> }</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> cnt = 0 ;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordflow">while</span> ( fscanf( file_list, <span class="stringliteral">"%f %f"</span>,&tmpoffx, &tmpoffy) != EOF )</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> {</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> cnt ++ ;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> }</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> fclose(file_list);</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> nframes= cnt ;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> cknull(times = (<span class="keywordtype">double</span>*) cpl_calloc (nframes, <span class="keyword">sizeof</span> (<span class="keywordtype">double</span>)), </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="stringliteral">" could not allocate memory!"</span>) ;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> cknull(offsetx = (<span class="keywordtype">float</span>*) cpl_calloc (nframes, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)),</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="stringliteral">" could not allocate memory!"</span>) ;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> cknull(offsety = (<span class="keywordtype">float</span>*) cpl_calloc (nframes, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)),</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="stringliteral">" could not allocate memory!"</span>) ;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> files = (<span class="keyword">const</span> <span class="keywordtype">char</span>**) cpl_calloc(MAX_NAME_SIZE,<span class="keyword">sizeof</span>(<span class="keyword">const</span> <span class="keywordtype">char</span>*));</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keywordflow">if</span> ( NULL == (file_list = fopen (name_i, <span class="stringliteral">"r"</span> ) ) )</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> {</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"cannot open %s\n"</span>, name_i) ;</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> }</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> cnt=0; </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keywordflow">while</span> ( fscanf( file_list, <span class="stringliteral">"%f %f"</span>,&tmpoffx,&tmpoffy ) != EOF ) {</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> frame=cpl_frameset_get_frame(framelist,cnt);</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> files[cnt]= cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> times[cnt]=sinfo_pfits_get_exptime(files[cnt]);</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> offsetx[cnt]=tmpoffx;</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> offsety[cnt]=tmpoffy;</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> plist=cpl_propertylist_load(files[cnt],0);</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> size_x=sinfo_pfits_get_naxis1(plist);</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> size_y=sinfo_pfits_get_naxis2(plist);</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keywordflow">if</span>(size_x < min_size_x) min_size_x=size_x;</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordflow">if</span>(size_y < min_size_y) min_size_y=size_y;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> cnt ++ ;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> }</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> sinfo_msg(<span class="stringliteral">"Min input cube size x=%d y=%d"</span>,min_size_x,min_size_y);</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> nframes=cnt;</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> fclose(file_list);</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> ck0(sinfo_auto_size_cube(offsetx,offsety,nframes,</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> &ref_offx,&ref_offy,&size_x,&size_y),</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="stringliteral">"Error resizing cube"</span>);</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> sinfo_msg(<span class="stringliteral">"output ima size=%dx%d"</span>,size_x,size_y); </div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> cknull(cube_object = cpl_calloc(nframes,<span class="keyword">sizeof</span>(cpl_imagelist*)),</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="stringliteral">"could not allocate memory"</span>) ;</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keywordflow">for</span> (i=0;i<nframes;i++) {</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> frame=cpl_frameset_get_frame(framelist,i);</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> name=cpl_frame_get_filename(frame);</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> check_nomsg(cube_object[i]=cpl_imagelist_load(name,CPL_TYPE_FLOAT,0));</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> ck0(sinfo_new_assign_offset2(i,name,offsetx,offsety,</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> ref_offx,ref_offy),</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="stringliteral">"Error assigning offsets"</span>);</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> }</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> onp = cpl_imagelist_get_size(cube_object[0]);</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> check(cube_jitter = cpl_imagelist_new(),<span class="stringliteral">"allocating new data cube object"</span>);</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> check(cube_mask = cpl_imagelist_new(),<span class="stringliteral">"allocating new data cube mask"</span>);</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> check(plist=cpl_propertylist_load(files[0],0),</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="stringliteral">"Cannot read the FITS header"</span>) ;</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="keywordflow">if</span>(scales_sky == 1) {</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> sinfo_msg(<span class="stringliteral">"Subtract spatial sinfo_median to each cube plane"</span>);</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keywordflow">for</span>(n=0;n<nframes;n++) {</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> sinfo_msg(<span class="stringliteral">"process cube %d\n"</span>,n);</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> sinfo_new_sinfoni_correct_median_it(&(cube_object[n]));</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> }</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> }</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="keywordflow">for</span>(z=0;z<onp;z+=z_stp) {</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> z_siz=(z_stp < (onp-z)) ? z_stp : (onp-z);</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> z_min=z;</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> z_max=z_min+z_siz;</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> sinfo_msg(<span class="stringliteral">"Coadding cubes: range [%4.4d,%4.4d) of 0-%d\n"</span>,</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> z_min,z_max,onp);</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keywordflow">for</span>(j=z_min;j<z_max;j++) {</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> check_nomsg(j_img=cpl_image_new(size_x,size_y,CPL_TYPE_FLOAT));</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> check_nomsg(cpl_imagelist_set(cube_jitter,j_img,j));</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> check_nomsg(m_img = cpl_image_new(size_x,size_y,CPL_TYPE_FLOAT));</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> check_nomsg(cpl_imagelist_set(cube_mask,m_img,j));</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> }</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="keywordflow">if</span>(ks_clip == 1){</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> sinfo_new_combine_jittered_cubes_thomas_range(cube_object,</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> cube_jitter,</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> cube_mask,</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> nframes,</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> offsetx,offsety,</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> times,</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> (<span class="keywordtype">char</span>*) <span class="stringliteral">"tanh"</span>,</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> z_min,</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> z_max,</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> kappa);</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> sinfo_new_combine_jittered_cubes_range(cube_object, </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> cube_jitter,</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> cube_mask,</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> nframes,</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> offsetx,</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> offsety,</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> times,</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> (<span class="keywordtype">char</span>*) <span class="stringliteral">"tanh"</span>,</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> z_min,</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> z_max) ;</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> }</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> }</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> sinfo_new_convert_0_to_ZERO_for_cubes(cube_jitter) ; </div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> name_m=<span class="stringliteral">"out_cube_mask.fits"</span>;</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="comment">/* HOW TO SAVE A PRODUCT ON DISK */</span></div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="comment">/* Create product frame */</span></div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> check_nomsg(product_frame = cpl_frame_new());</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> check_nomsg(cpl_frame_set_filename(product_frame, name_o)) ;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> check_nomsg(cpl_frame_set_tag(product_frame, SI_UTL_CUBE_COMBINE_PROCUBE));</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> check_nomsg(cpl_frame_set_type(product_frame, CPL_FRAME_TYPE_IMAGE)) ;</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> check_nomsg(cpl_frame_set_group(product_frame, CPL_FRAME_GROUP_PRODUCT)) ;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> check_nomsg(cpl_frame_set_level(product_frame, CPL_FRAME_LEVEL_FINAL)) ;</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> </div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="comment">/* Add DataFlow keywords */</span></div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="preprocessor">#if defined CPL_VERSION_CODE && CPL_VERSION_CODE >= CPL_VERSION(4, 8, 0) </span></div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="preprocessor"></span> check(cpl_dfs_setup_product_header(plist, product_frame, </div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> framelist, parlist,</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="stringliteral">"sinfo_utl_cube_combine"</span>, </div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="stringliteral">"SINFONI"</span>, KEY_VALUE_HPRO_DID,NULL),</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="stringliteral">"Problem in the product DFS-compliance"</span>) ;</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="preprocessor"></span> check(cpl_dfs_setup_product_header(plist, product_frame, </div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> framelist, parlist,</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="stringliteral">"sinfo_utl_cube_combine"</span>,</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="stringliteral">"SINFONI"</span>, KEY_VALUE_HPRO_DID),</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="stringliteral">"Problem in the product DFS-compliance"</span>) ;</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="preprocessor">#endif </span></div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="preprocessor"></span> check(cpl_imagelist_save(cube_jitter, name_o, CPL_BPP_IEEE_FLOAT, plist,</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> CPL_IO_DEFAULT),<span class="stringliteral">"Could not save product"</span>);</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> check_nomsg(cpl_frameset_insert(framelist, product_frame));</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> </div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> </div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> check_nomsg(prod_frm = cpl_frame_new());</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> check_nomsg(cpl_frame_set_filename(prod_frm, name_m)) ;</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> check_nomsg(cpl_frame_set_tag(prod_frm, SI_UTL_CUBE_COMBINE_PROMASK)) ;</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> check_nomsg(cpl_frame_set_type(prod_frm, CPL_FRAME_TYPE_IMAGE)) ;</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> check_nomsg(cpl_frame_set_group(prod_frm, CPL_FRAME_GROUP_PRODUCT)) ;</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> check_nomsg(cpl_frame_set_level(prod_frm, CPL_FRAME_LEVEL_FINAL)) ;</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> </div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> check(cpl_imagelist_save(cube_mask, name_m, CPL_BPP_IEEE_FLOAT, plist,</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> CPL_IO_DEFAULT),<span class="stringliteral">"Could not save product"</span>);</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> check_nomsg(cpl_frameset_insert(framelist, prod_frm));</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> </div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> cleanup:</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> sinfo_free_imagelist(&cube_jitter) ;</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> sinfo_free_image(&image) ;</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> sinfo_free_imagelist(&cube_mask) ;</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> </div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="keywordflow">if</span>(cube_object != NULL) {</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="keywordflow">for</span> (i=0;i< nframes;i++){</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> sinfo_free_imagelist(&(cube_object[i])); </div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> }</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> sinfo_free_array_imagelist(&cube_object);</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> }</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keywordflow">if</span>(files != NULL) {</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> cpl_free(files);</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> files=NULL;</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> }</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> sinfo_free_double(×);</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> sinfo_free_float(&offsetx);</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> sinfo_free_float(&offsety);</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="keywordflow">if</span> (cpl_error_get_code()) {</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> }</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="keywordflow">else</span> { </div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> }</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfoni_2sinfo__utl__spectrum__divide__by__blackbody_8c_source.html b/html/sinfoni_2sinfo__utl__spectrum__divide__by__blackbody_8c_source.html
deleted file mode 100644
index 104be03..0000000
--- a/html/sinfoni_2sinfo__utl__spectrum__divide__by__blackbody_8c_source.html
+++ /dev/null
@@ -1,193 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_spectrum_divide_by_blackbody.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfoni/sinfo_utl_spectrum_divide_by_blackbody.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_spectrum_divide_by_blackbody.c,v 1.8 2012/03/03 10:17:31 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the IIINSTRUMENT Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2012/03/03 10:17:31 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.8 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span><span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "sinfo_utl_spectrum_divide_by_blackbody.h"</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <sinfo_spectrum_ops.h></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_key_names.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">/*----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> ----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">int</span> sinfo_utl_spectrum_divide_by_blackbody(</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> cpl_parameterlist * parlist, </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> cpl_frameset * framelist)</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> {</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> cpl_parameter * param =NULL;</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * name_i =NULL;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * name_o =NULL;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">double</span> temp=0 ;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> cpl_frame * frm_spct=NULL ;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> cpl_propertylist * plist=NULL ;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> cpl_frame * product_frame=NULL;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> cpl_image * bb_img=NULL;</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> cpl_image * image_o=NULL;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> cpl_image * image_i=NULL;</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> Vector* bb=NULL;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">/* double * ker=NULL; */</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">/* HOW TO RETRIEVE INPUT PARAMETERS */</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment">/* --stropt */</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> name_o = <span class="stringliteral">"out_ima.fits"</span>;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment">/* --doubleopt */</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> check_nomsg(param = cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="stringliteral">"sinfoni.sinfo_utl_spectrum_divide_by_blackbody.temperature"</span>));</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> check_nomsg(temp = cpl_parameter_get_double(param));</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">/* HOW TO ACCESS INPUT DATA */</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> check(frm_spct = cpl_frameset_find(framelist, </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> SI_UTL_SPECTRUM_DIVIDE_BY_BLACKBODY_SPECTRUM),</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="stringliteral">"SOF does not have a file tagged as %s"</span>,</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> SI_UTL_SPECTRUM_DIVIDE_BY_BLACKBODY_SPECTRUM);</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> check(plist=cpl_propertylist_load(cpl_frame_get_filename(frm_spct), </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> 0),<span class="stringliteral">"Cannot read the FITS header"</span>) ;</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment">/* Now performing the data reduction */</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">/* Let's generate one image for the example */</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> check_nomsg(name_i = cpl_frame_get_filename(frm_spct));</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> check_nomsg(image_i= cpl_image_load((<span class="keywordtype">char</span>*)name_i, CPL_TYPE_FLOAT,0,0)); </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> cknull_nomsg(bb= sinfo_new_blackbody_spectrum ((<span class="keywordtype">char</span>*)name_i, temp));</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> cknull_nomsg(bb_img = sinfo_new_vector_to_image(bb));</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> cknull_nomsg(image_o = sinfo_new_div_image_by_spectrum (image_i,bb_img));</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment">/* HOW TO SAVE A PRODUCT ON DISK */</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment">/* Set the file name */</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">/* Create product frame */</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> check_nomsg(product_frame = cpl_frame_new());</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> check_nomsg(cpl_frame_set_filename(product_frame, name_o)) ;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> check_nomsg(cpl_frame_set_tag(product_frame, </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> SI_UTL_SPECTRUM_DIVIDE_BY_BLACKBODY_PROSPECTRUM));</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> check_nomsg(cpl_frame_set_type(product_frame, CPL_FRAME_TYPE_IMAGE));</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> check_nomsg(cpl_frame_set_group(product_frame, CPL_FRAME_GROUP_PRODUCT));</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> check_nomsg(cpl_frame_set_level(product_frame, CPL_FRAME_LEVEL_FINAL));</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment">/* Add DataFlow keywords */</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment"> check(cpl_dfs_setup_product_header(plist, product_frame, </span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment"> framelist, parlist,</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment"> "sinfo_utl_spectrum_divide_by_blackbody", "SINFONI", </span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment"> KEY_VALUE_HPRO_DID),"Problem in the product DFS-compliance") ;</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment">/* Save the file */</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> check(cpl_image_save(image_o, name_o, CPL_BPP_IEEE_FLOAT, plist,</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> CPL_IO_DEFAULT),<span class="stringliteral">"Could not save product"</span>);</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment">/* Log the saved file in the input frameset */</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> check_nomsg(cpl_frameset_insert(framelist, product_frame));</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> cleanup:</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> sinfo_free_propertylist(&plist) ;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> sinfo_free_image(&image_i);</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> sinfo_free_image(&image_o);</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> sinfo_free_image(&bb_img);</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment">/* Return */</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">if</span> (cpl_error_get_code()) </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/sinfoni_2sinfo__utl__spectrum__wavelength__shift_8c_source.html b/html/sinfoni_2sinfo__utl__spectrum__wavelength__shift_8c_source.html
deleted file mode 100644
index 1c54181..0000000
--- a/html/sinfoni_2sinfo__utl__spectrum__wavelength__shift_8c_source.html
+++ /dev/null
@@ -1,221 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>SINFONI Pipeline Reference Manual: sinfo_utl_spectrum_wavelength_shift.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">SINFONI Pipeline Reference Manual
- <span id="projectnumber">2.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_5817a01c6dda84cccc27ae90d5d981a9.html">sinfoni</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">sinfoni/sinfo_utl_spectrum_wavelength_shift.c</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: sinfo_utl_spectrum_wavelength_shift.c,v 1.8 2012/03/03 10:17:31 amodigli Exp $</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the IIINSTRUMENT Pipeline</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 2002,2003 European Southern Observatory</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * (at your option) any later version.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * GNU General Public License for more details.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * $Author: amodigli $</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * $Date: 2012/03/03 10:17:31 $</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * $Revision: 1.8 $</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * $Name: sinfo-2_4_0 $</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor"># include <config.h></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> Includes</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <string.h></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "sinfo_utl_spectrum_wavelength_shift.h"</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "sinfo_spectrum_ops.h"</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "sinfo_shift_images.h"</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "sinfo_key_names.h"</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "sinfo_error.h"</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "sinfo_utils_wrappers.h"</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "sinfo_msg.h"</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> Functions prototypes</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> Static variables</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">/*-----------------------------------------------------------------------------</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> Functions code</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> -----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">int</span> sinfo_utl_spectrum_wavelength_shift(</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> cpl_parameterlist * parlist, </div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> cpl_frameset * framelist)</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> {</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> cpl_parameter * param =NULL;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * method =NULL;</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * name_i =NULL;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * name_o =NULL;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">double</span> shift=0 ;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> cpl_frame * frm_spct=NULL ;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> cpl_propertylist * plist=NULL ;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> cpl_frame * product_frame=NULL;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> cpl_image * image_o=NULL;</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> cpl_image * image_i=NULL;</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> cpl_image * image_s=NULL;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">double</span>* sub_shift=NULL;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">/* double * ker=NULL; */</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment">/* HOW TO RETRIEVE INPUT PARAMETERS */</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment">/* --stropt */</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> name_o = <span class="stringliteral">"out_ima.fits"</span>;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment">/* --doubleopt */</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> check_nomsg(param = cpl_parameterlist_find(parlist, </div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="stringliteral">"sinfoni.sinfo_utl_spectrum_arith.method"</span>));</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> check_nomsg(method = cpl_parameter_get_string(param));</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> check_nomsg(param = cpl_parameterlist_find(parlist,</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="stringliteral">"sinfoni.sinfo_utl_spectrum_wavelength_shift.shift"</span>));</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> check_nomsg(shift = cpl_parameter_get_double(param));</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">/* HOW TO ACCESS INPUT DATA */</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> check(frm_spct = cpl_frameset_find(framelist, </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> SI_UTL_SPECTRUM_WAVELENGTH_SHIFT_SPECTRUM),</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="stringliteral">"SOF does not have a file tagged as %s"</span>,</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> SI_UTL_SPECTRUM_WAVELENGTH_SHIFT_SPECTRUM);</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> check(plist=cpl_propertylist_load(cpl_frame_get_filename(frm_spct), </div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> 0),<span class="stringliteral">"Cannot read the FITS header"</span>) ;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment">/* Now performing the data reduction */</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">/* Let's generate one image for the example */</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> check_nomsg(name_i = cpl_frame_get_filename(frm_spct));</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> check_nomsg(image_i= cpl_image_load ((<span class="keywordtype">char</span>*)name_i,CPL_TYPE_FLOAT,0,0)); </div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> sub_shift = sinfo_new_doublearray(1);</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> sinfo_new_doublearray_set_value(sub_shift, 0., 0);</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> cknull(image_s = sinfo_new_shift_image_in_spec (image_i, shift, sub_shift),</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="stringliteral">"error in sinfo_new_shift_image_in_spec()"</span>);</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> shift = sinfo_new_doublearray_get_value(sub_shift, 0);</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">if</span> (strcmp(method,<span class="stringliteral">"S"</span>)==0) {</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> cknull(image_o = sinfo_new_fine_shift_image_in_spec_cubic_spline (</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> image_s, shift ),</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="stringliteral">"error in fine_shift_image_in_spec_cubic_spline()"</span>);</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(method,<span class="stringliteral">"P"</span>)==0) {</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> cknull(image_o = sinfo_new_fine_shift_image_in_spec_poly(</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> image_s,shift,2),</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="stringliteral">"error in sinfo_fineShiftImageInSpecPoly()"</span>);</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment"> } else if (strcmp (method, "T")==0) {</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment"> ker = sinfo_new_generate_interpolation_kernel("tanh");</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment"> cknull(image_o = sinfo_new_shift_image ( image_s, 0, shift, ker ),</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment"> "error in sinfo_new_fine_shift_image_in_spec_poly()");</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment">/* sinfo_new_destroy_doublearray(ker); */</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <a class="code" href="group__sinfo__msg.html#ga207c781e45c0904f20faa13fdf08c789" title="Print an error message.">sinfo_msg_error</a>(<span class="stringliteral">"wrong method %s"</span>,method);</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordflow">goto</span> cleanup;</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> }</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment">/* HOW TO SAVE A PRODUCT ON DISK */</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment">/* Set the file name */</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment">/* Create product frame */</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> check_nomsg(product_frame = cpl_frame_new());</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> check_nomsg(cpl_frame_set_filename(product_frame, name_o)) ;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> check_nomsg(cpl_frame_set_tag(product_frame, </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> SI_UTL_SPECTRUM_WAVELENGTH_SHIFT_PROSPECTRUM)) ;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> check_nomsg(cpl_frame_set_type(product_frame, CPL_FRAME_TYPE_IMAGE));</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> check_nomsg(cpl_frame_set_group(product_frame, CPL_FRAME_GROUP_PRODUCT)) ;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> check_nomsg(cpl_frame_set_level(product_frame, CPL_FRAME_LEVEL_FINAL)) ;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment">/* Add DataFlow keywords */</span></div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment">/*</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment"> check(cpl_dfs_setup_product_header(plist, product_frame, </span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment"> framelist, parlist,</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment"> "si_sinfo_utl_spectrum_wavelength_shift", </span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment"> "SINFONI", KEY_VALUE_HPRO_DID),</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment"> "Problem in the product DFS-compliance") ;</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment">/* Save the file */</span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> check(cpl_image_save(image_o, name_o, CPL_BPP_IEEE_FLOAT, plist,</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> CPL_IO_DEFAULT),<span class="stringliteral">"Could not save product"</span>);</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> check_nomsg(cpl_frameset_insert(framelist, product_frame));</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> cleanup:</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> sinfo_free_image(&image_i);</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> sinfo_free_image(&image_o);</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> sinfo_free_image(&image_s);</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keywordflow">if</span>(sub_shift != NULL) sinfo_new_destroy_doublearray(sub_shift);</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> sinfo_free_propertylist(&plist);</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">if</span> (cpl_error_get_code()) </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="keywordflow">return</span> -1 ;</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">return</span> 0 ;</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> }</div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.1.1
-</small></address>
-</body>
-</html>
diff --git a/html/tab_a.png b/html/tab_a.png
deleted file mode 100644
index 3b725c4..0000000
Binary files a/html/tab_a.png and /dev/null differ
diff --git a/html/tab_b.png b/html/tab_b.png
deleted file mode 100644
index 258c141..0000000
Binary files a/html/tab_b.png and /dev/null differ
diff --git a/html/tab_h.png b/html/tab_h.png
deleted file mode 100644
index 4ca9102..0000000
Binary files a/html/tab_h.png and /dev/null differ
diff --git a/html/tab_s.png b/html/tab_s.png
deleted file mode 100644
index ab478c9..0000000
Binary files a/html/tab_s.png and /dev/null differ
diff --git a/html/tabs.css b/html/tabs.css
deleted file mode 100644
index 2192056..0000000
--- a/html/tabs.css
+++ /dev/null
@@ -1,59 +0,0 @@
-.tabs, .tabs2, .tabs3 {
- background-image: url('tab_b.png');
- width: 100%;
- z-index: 101;
- font-size: 13px;
-}
-
-.tabs2 {
- font-size: 10px;
-}
-.tabs3 {
- font-size: 9px;
-}
-
-.tablist {
- margin: 0;
- padding: 0;
- display: table;
-}
-
-.tablist li {
- float: left;
- display: table-cell;
- background-image: url('tab_b.png');
- line-height: 36px;
- list-style: none;
-}
-
-.tablist a {
- display: block;
- padding: 0 20px;
- font-weight: bold;
- background-image:url('tab_s.png');
- background-repeat:no-repeat;
- background-position:right;
- color: #283A5D;
- text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
- text-decoration: none;
- outline: none;
-}
-
-.tabs3 .tablist a {
- padding: 0 10px;
-}
-
-.tablist a:hover {
- background-image: url('tab_h.png');
- background-repeat:repeat-x;
- color: #fff;
- text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
- text-decoration: none;
-}
-
-.tablist li.current a {
- background-image: url('tab_a.png');
- background-repeat:repeat-x;
- color: #fff;
- text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
-}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/cpl-plugin-sinfo.git
More information about the debian-science-commits
mailing list